Descriptionozone: Interpret absolute events for graphics tablets
This change adds a TabletEventConverterEvdev that handles absolute evdev events
generated by graphics tablets (like a Wacom.) It maps absolute co-ordinate from
the input range into the screen that currently has the cursor, thus providing
multiple desktop support.
In order to handle the absolute position relative to the current screen a new
API call (GetCursorDisplayBounds) is added to EvdevCursorDelegate and its
implementation in DriCursor to provide the bounds of the curren display.
MoveCursorTo is also overloaded to add a version that reuses the existing
cursor window.
TEST=On link_freon with a Wacom graphics tablet behaves as per X11, stylus
mapped to active screen where cursor is present, tap emulates left mouse
button, stylus button emulates right mouse click. All other input devices
(keyboard, touchpad, touchscreen and mouse) all function as expected. New tests
added to event_unittests.
BUG=432547
Committed: https://crrev.com/d5e789eaa18748652ffb4211a73485fb59d2d886
Cr-Commit-Position: refs/heads/master@{#305013}
Patch Set 1 #Patch Set 2 : Add unit test #Patch Set 3 : Rebased #Patch Set 4 : Fix signedness issue in test #Patch Set 5 : Add a GetCursorDisplayBounds() method #Patch Set 6 : Add missing initialisers for class members on TabletEventConverterEvdev #Messages
Total messages: 11 (2 generated)
|