Merge lp:~mir-team/mir/unify-pointer-button into lp:mir
| Status: | Superseded |
|---|---|
| Proposed branch: | lp:~mir-team/mir/unify-pointer-button |
| Merge into: | lp:mir |
| Prerequisite: | lp:~mir-team/mir/remaining-nsec-removal |
| Diff against target: |
2677 lines (+854/-963) 40 files modified
3rd_party/android-input/android/frameworks/base/services/input/InputDispatcher.cpp (+11/-11) include/client/mir/events/event_builders.h (+1/-2) include/client/mir_toolkit/events/input/pointer_event.h (+15/-5) src/client/events/event_builders.cpp (+19/-30) src/client/input/android/android_input_lexicon.cpp (+1/-1) src/client/input/android/event_conversion_helpers.cpp (+34/-0) src/client/input/input_event.cpp (+11/-5) src/client/symbols.map (+3/-0) src/include/common/mir/events/event_private.h (+1/-9) src/include/common/mir/input/android/event_conversion_helpers.h (+3/-1) src/server/input/android/android_input_dispatcher.cpp (+1/-1) src/server/input/android/input_sender.cpp (+1/-1) src/server/input/android/input_translator.cpp (+1/-1) src/server/input/default_configuration.cpp (+2/-0) src/server/input/default_input_device_hub.cpp (+16/-1) src/server/input/default_input_device_hub.h (+4/-0) tests/acceptance-tests/test_client_input.cpp (+510/-69) tests/acceptance-tests/test_surface_modifications.cpp (+2/-4) tests/acceptance-tests/test_surface_placement.cpp (+1/-1) tests/acceptance-tests/throwback/CMakeLists.txt (+0/-1) tests/acceptance-tests/throwback/test_client_input.cpp (+0/-704) tests/acceptance-tests/throwback/test_custom_input_targeter.cpp (+0/-1) tests/include/mir_test/event_matchers.h (+28/-27) tests/include/mir_test_framework/input_testing_server_configuration.h (+0/-22) tests/include/mir_test_framework/placement_applying_shell.h (+59/-0) tests/integration-tests/input/CMakeLists.txt (+1/-4) tests/integration-tests/input/android/CMakeLists.txt (+0/-9) tests/integration-tests/input/test_cursor_listener.cpp (+17/-10) tests/mir_test_framework/CMakeLists.txt (+1/-0) tests/mir_test_framework/fake_input_device_impl.cpp (+3/-3) tests/mir_test_framework/fake_input_device_impl.h (+1/-3) tests/mir_test_framework/input_testing_server_options.cpp (+0/-17) tests/mir_test_framework/placement_applying_shell.cpp (+59/-0) tests/unit-tests/input/android/test_android_input_dispatcher.cpp (+5/-4) tests/unit-tests/input/android/test_android_input_lexicon.cpp (+2/-5) tests/unit-tests/input/android/test_input_translator.cpp (+2/-3) tests/unit-tests/input/test_default_input_device_hub.cpp (+28/-1) tests/unit-tests/input/test_event_builders.cpp (+2/-4) tests/unit-tests/input/test_input_event.cpp (+8/-2) tests/unit-tests/scene/test_abstract_shell.cpp (+1/-1) |
| To merge this branch: | bzr merge lp:~mir-team/mir/unify-pointer-button |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Alan Griffiths | Needs Fixing on 2015-05-13 | ||
| Alexandros Frantzis (community) | 2015-05-05 | Approve on 2015-05-13 | |
| Daniel van Vugt | Needs Fixing on 2015-05-13 | ||
| PS Jenkins bot | continuous-integration | Approve on 2015-05-12 | |
| Andreas Pokorny (community) | Approve on 2015-05-12 | ||
| Kevin DuBois (community) | Needs Information on 2015-05-11 | ||
|
Review via email:
|
|||
This proposal has been superseded by a proposal from 2015-05-14.
Commit Message
Unify the pointer button enums. The new style event buttons are not using a mask so as to allow for extensibility so there is some churn in the change of the internal representation.
Description of the Change
Unify the pointer button enums. The new style event buttons are not using a mask so as to allow for extensibility so there is some churn in the change of the internal representation.
This branch is part of the event cleaning pipeline:
Pluck-low-
Unify-event-
Unify-keyboard-
Remaining-
unify-pointer-
https:/
- 2544. By Kevin DuBois on 2015-05-06
-
scene, compositor: move the nbuffers option closer to the creation of the BufferStream instead of the surface (moves the nbuffers option from SurfaceAllocator to the BufferStreamFac
tory).
.Approved by Alan Griffiths, Robert Carr, Alexandros Frantzis, PS Jenkins bot.
- 2545. By Robert Carr on 2015-05-07
-
Removed unused event MirKey and MirMotion event members. Next up: Enum unification.
This branch is part of the event cleaning pipeline:
Pluck-low-
hanging- event-fruit: Remove unused event members.
Unify-event-modifiers: Consolidate modifier enums (https:/ /code.launchpad .net/~mir- team/mir/ unify-event- modifiers/ +merge/ 258218)
Unify-keyboard-actions: Consolidate keyboard action enums and key repeat representation (https:/ /code.launchpad .net/~mir- team/mir/ unify-keyboard- actions/ +merge/ 258288)
Remaining-nsec-removal: Remove usage of nsecs_t in event_private.h https:/ /code.launchpad .net/~mir- team/mir/ remaining- nsec-removal/ +merge/ 258292
unify-pointer-button: Consolidate pointer button enums
https://code.launchpad .net/~mir- team/mir/ unify-pointer- button. Approved by Alan Griffiths, Alexandros Frantzis, PS Jenkins bot.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2548
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2546. By Robert Carr on 2015-05-07
-
Remove the legacy event modifier enum.
.
Approved by Alexandros Frantzis, Kevin DuBois, PS Jenkins bot.
- 2547. By Andreas Pokorny on 2015-05-07
-
Adds pointer and touch event handling to fake input devices.
Approved by PS Jenkins bot, Alexandros Frantzis, Alan Griffiths, Robert Carr.
| Alexandros Frantzis (afrantzis) wrote : | # |
> The new style event buttons are not using a mask so as to allow for extensibility so there
> is some churn in the change of the internal representation.
How is having a mask reduce extensibility? Do you mean running out of bits?
190+ bool button_
This will break if we add a new member to the enum (although we will probably catch the issue at compile time). In any case, it's best to introduce a mir_pointer_
Needs info/fixing
- 2548. By Chris Halse Rogers on 2015-05-07
-
Drop unnecessary locking in SessionMediator
The SessionMedaitor is associated 1-1 with a socket connection. Our socket code is not reentrant - a single socket will only be read from by a single thread at any given time - so there's no need to lock anything in SessionMediator.
Approved by Alexandros Frantzis, Robert Carr, Kevin DuBois, Alan Griffiths, PS Jenkins bot.
- 2549. By Chris Halse Rogers on 2015-05-07
-
Rework thread-safety of ActionQueue.
Instead protecting against data races by throwing an exception (and likely killing the process), detect when we've lost a race and don't attempt to process the event.
This slightly changes the ActionQueue semantics - actions can now be potentially processed in parallel, and each call to dispatch() processes a single action, rather than draining the queue.
Approved by Alan Griffiths, Alexandros Frantzis, PS Jenkins bot.
- 2550. By Alexandros Frantzis on 2015-05-07
-
tests: Refactor DisplayServerMa
inLoopEvents to remove duplicate code. Approved by Alan Griffiths, PS Jenkins bot.
| Robert Carr (robertcarr) wrote : | # |
Added mir_pointer_
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2549
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 2551. By Daniel van Vugt on 2015-05-07
-
Bump MIR_VERSION to 0.14.0.
Approved by Kevin DuBois, Alexandros Frantzis, PS Jenkins bot.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2550
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 2552. By Daniel van Vugt on 2015-05-07
-
Drop explicit build dependency on g++-4.9 (LP: #1452320)
This just reverts r1760. Fixes: https:/
/bugs.launchpad .net/bugs/ 1452320. Approved by PS Jenkins bot, Alan Griffiths, Kevin DuBois, Alexandros Frantzis.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2551
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2553. By Alexandros Frantzis on 2015-05-08
-
server: Accept connections only after all subsystems have been initialized (LP: #1451844). Fixes: https:/
/bugs.launchpad .net/bugs/ 1451844. Approved by Alan Griffiths, Kevin DuBois, PS Jenkins bot.
- 2554. By Andreas Pokorny on 2015-05-08
-
Map to motion hover hover based on pointer button status, and map to motion_
action_ {up,down} when only one touch status update is attached to a touch event
.Approved by PS Jenkins bot, Alexandros Frantzis, Kevin DuBois, Robert Carr.
- 2555. By Daniel van Vugt on 2015-05-08
-
Use more consistent component strings (just the default ones) in the
default log messages seen on server startup. This not only looks nicer
but also clarifies which messages in unity8.log are from Mir.
.Approved by PS Jenkins bot, Alberto Aguirre, Kevin DuBois, Alexandros Frantzis.
- 2556. By Kevin DuBois on 2015-05-08
-
change mf::Surface to not inherit from mf::BufferStream. Have mc::BufferStream inherit from mf::BufferStream to consolidate alike interfaces and have buffer-arranging responsibilities concentrated in BufferQueue and BufferStreamSur
faces (instead of BufferQueue, BufferStreamSur faces, and BasicSurface). Approved by PS Jenkins bot, Robert Carr, Alexandros Frantzis, Alan Griffiths.
- 2557. By Daniel van Vugt on 2015-05-08
-
Correct outdated spelling MIR_LOGGING_
COMPONENT_ FALLBACK which was
completely ignored.Approved by Alexandros Frantzis, Kevin DuBois, PS Jenkins bot.
- 2558. By Daniel van Vugt on 2015-05-08
-
Backport the new unit test `bypass_
buffer_ is_held_ for_full_ frame'
from its previous home in a now defunct branch.Approved by Alan Griffiths, Alexandros Frantzis, PS Jenkins bot.
- 2559. By Kevin DuBois on 2015-05-08
-
scene: change the way that BufferStreams and Surfaces are created so that ApplicationSession can assign the BufferStream that is assigned to the Surface an ID. Makes SurfaceCoordina
tor::add_ surface( ) /only/ add a surface (before it was creating and adding a surface), and expose a way for servers to create a bufferstream or a surface. Approved by PS Jenkins bot, Alan Griffiths, Alberto Aguirre, Alexandros Frantzis, Robert Carr.
- 2560. By Alan Griffiths on 2015-05-08
-
Enable alternative window managers in proving server.
Approved by PS Jenkins bot, Alexandros Frantzis, Alberto Aguirre, Kevin DuBois.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2553
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2561. By Kevin DuBois on 2015-05-11
-
BufferStream: remove the drop_client_
requests as an interface function, preferring to call this on destruction of BufferStreamSur faces. Currently, BasicSurface has the responsibility to call drop_client_
requests( ) on its destruction. Reduce the number of BufferStream interface functions by calling this when BufferStreamSur faces is destroyed. Approved by Chris Halse Rogers, PS Jenkins bot, Alan Griffiths, Alexandros Frantzis, Alberto Aguirre.
| Alan Griffiths (alan-griffiths) wrote : | # |
Seems self-consistent.
But I'm a little concerned that other APIs treat buttons as bitmasks (e.g. "143+ android_state |= AMOTION_
- 2562. By Robert Carr on 2015-05-11
-
me::WindowManag
er::handle separate . Approved by Daniel van Vugt, PS Jenkins bot, Alexandros Frantzis, Kevin DuBois.
- 2563. By Alan Griffiths on 2015-05-11
-
examples: repaint the titlebar to give an indicate the (in)active status of a surface.
Approved by Kevin DuBois, PS Jenkins bot.
- 2564. By Robert Carr on 2015-05-11
-
Port playground window manager to event 2.0.
Approved by Alan Griffiths, PS Jenkins bot, Alexandros Frantzis, Kevin DuBois.
| Robert Carr (robertcarr) wrote : | # |
I've thought through my concerns that related to nto storing buttons as a flag. Primarly I was worried about exotic devices and allocating button indices for them and potentially running out of flag values. I suppose if anything though such devices would not be pointers and only available throuhg the raw input API so I'm not concerned. Updated branch to use flag...required more client ABI break :)
| Kevin DuBois (kdub) wrote : | # |
nonblocking comment:
The bitmask seems okay for now, plenty of unused bits left.
needs-info
77+ mev.button_
Since this appears private now, could we have something more like:
mev.button_
It took a bit of reading of the struct to figure out what was going on in the present form.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2556
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2565. By Daniel van Vugt on 2015-05-12
-
mesa::DisplayBuffer - Improve code reuse and simplify. This makes the
logic easier to follow and harder to break.
.Approved by Robert Carr, Alexandros Frantzis, Alan Griffiths, Kevin DuBois, PS Jenkins bot.
- 2566. By Kevin DuBois on 2015-05-12
-
update server abi to 32.
Approved by Daniel van Vugt, PS Jenkins bot, Alexandros Frantzis, Alan Griffiths.
| Andreas Pokorny (andreas-pokorny) wrote : | # |
ok looks good apart from the merge conflict
- 2567. By Alexandros Frantzis on 2015-05-12
-
guides: Allow the initializer list style that we predominantly use in the code base.
Approved by Chris Halse Rogers, Robert Carr, Cemil Azizoglu, PS Jenkins bot, Kevin DuBois.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2558
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2568. By Robert Carr on 2015-05-12
-
Unify keyboard action enums.
The removed mir_key_
action_ multiple corresponds to a kind of "textual" event which we do not support (as input methods go via another channel). repeat_count is unified in to mir_keyboard_
action_ repeat. Approved by PS Jenkins bot, Andreas Pokorny, Alan Griffiths, Alexandros Frantzis, Kevin DuBois.
- 2569. By Robert Carr on 2015-05-13
-
Eliminate remaining usage of nsecs_t type in event_private.h.
Approved by PS Jenkins bot, Robert Carr, Alexandros Frantzis, Kevin DuBois.
| Daniel van Vugt (vanvugt) wrote : | # |
(0) MirPointerButton: Definitely a client ABI break now, so we must remember to bump to libmirclient9 ASAP (Alan is working on it but blocked by CI annoyances).
(1) I guess this isn't well tested yet because there's a logic error (should be "&="):
365 - buttons.
366 + buttons |= ~button;
| Alexandros Frantzis (afrantzis) wrote : | # |
Besides Daniel's "Needs Fixing", looks good.
Nit:
239-
Why remove the line?
| Alan Griffiths (alan-griffiths) wrote : | # |
Agree with Daniel about test coverage and Alexandros about whitespace.
- 2570. By Daniel van Vugt on 2015-05-13
-
Fix opacity controls to correctly respond to Alt+mousewheel again.
In r2564 they were accidentally changed to only respond to the scroll
wheel when a button was also held down (LP: #1454518)
. Fixes: https://bugs.launchpad .net/bugs/ 1454518. Approved by Alan Griffiths, Alexandros Frantzis, PS Jenkins bot.
- 2571. By Kevin DuBois on 2015-05-13
-
propose a set of interface cleanups following up on the surface-
has-a-bufferstr eam branch
* remove SurfacelessBufferStream, as BufferStreamSur faces suffices.
* remove mc::BufferStream functions that were redundant with others (and not used)
** acquire_client_ buffer/ release_ client_ buffer (server uses swap_buffers())
** get_stream_pixel_format (interface had another pf accessor). Approved by PS Jenkins bot, Alan Griffiths, Robert Carr.
- 2572. By Alan Griffiths on 2015-05-14
-
shell, examples: Fix the select_
active_ surface( ) implementation(s) in msh::CanonicalW indowManagerPol icy and me::CanonicalWi ndowManagerPoli cyCopy (fixes lp:1454128). Fixes: https:/ /bugs.launchpad .net/bugs/ 1454128. Approved by Daniel van Vugt, Kevin DuBois, Alexandros Frantzis, PS Jenkins bot.
- 2573. By Kevin DuBois on 2015-05-14
-
scene: restructure ApplicationSession internally so that all BufferStreams are accessed through the ApplicationSess
ion::streams mapping. Also, this changes the stored type from mf::BufferStream to the wider mc::BufferStream provided by the factory. Approved by PS Jenkins bot, Alberto Aguirre.
- 2574. By Robert Carr on 2015-05-18
- 2575. By Robert Carr on 2015-05-18
-
Revert inputdispatcher changes
- 2576. By Robert Carr on 2015-05-20
-
Merge trunk

FAILED: Continuous integration, rev:2545 jenkins. qa.ubuntu. com/job/ mir-ci/ 3724/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/2323 jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/2322/ console jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/2271/ console jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1721/console jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 2271/console
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/3724/ rebuild
http://