Draft: tablet: add tablet tool scroll support #8058
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This aims at implementing #5854.
For tablets that don't have finger features and no wheels, sliders, etc., it can be annoying to scroll on applications that are not specifically designed for tablet use in minds, when you just want to use the tablet instead of the mouse for everyday life.
This is my first attempt at implementing tablet tool scroll, and a way to open the discussion for the tablet tool scroll API. Sorry if things are still in a draft state, I will edit things according to your comments.
This MR doesn't support (for now at least) scroll button lock. I don't know if this is something that I should try to add or not for now.
Related MRs:
Implementation explanations:
For now at least, don't treat the tablet tool scroll as a compositor shortcuts for example. As this is a non-discrete scroll, this would be difficult to implement window rotating with it for example.
I wasn't sure about the
seatop_down
/seatop_default
thing, so I basically handed up copying whathandle_tablet_tool_tip
did. Please tell me if this is wrong.Also, there is a specific point I'm struggling with about the
wlr_pointer_axis_event.pointer
element, I will create a comment below to expand on it.Pipeline is failing because of libinput API changes required to make tablet tool scroll work. I'm not sure about how to handle this from a CI point of view.