diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2024-06-13 10:31:37 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2024-11-05 12:10:48 +1000 |
commit | 0b28eeea5ab911e30ce9d93df47f8f2776bdf167 (patch) | |
tree | f96ca0c82435da51be61abd3fea33c803d1f7a4c /test/test-switch.c | |
parent | cf5b7bee01adf3877f7d9acb0888343eec30d2f9 (diff) |
tablet: implement support for area configuration for external tablets
For external tablets like the Intuos series we now expose the area
rectangle configuration and the (minimum) implementation required to
make this work.
Because an area configuration may apply late and tablet events usually
get scaled by the compositor we need to store the current axis extents
in each event. This is to behave correctly in this events sequence:
1. tool proximity in
2. caller changes config, config is pending
3. tool moves, generates events
4. tool goes out of prox, new config applies
5. caller processes motion events from step 3
If the caller in step five uses any of the get_x_transformed calls these
need to be scaled relative to the original area, not the one set in
step 2.
The current implementation merely clips into the area so moving a stylus
outside the area will be equivalent to moving it along the respective
edge of the area. It's not a true dead zone yet.
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1013>
Diffstat (limited to 'test/test-switch.c')
0 files changed, 0 insertions, 0 deletions