Draft: tablet: add support for scrolling, relative dials and bustype
Note: Very much a draft because I don't have a working implementation yet so expect this to change a bit but #180 (comment 2302858) motivated me to push this so it's not just on my box.
This adds three new features to the tablet protocol:
- support for bustype to complement vid/pid, see #180 (comment 2302858)
- support for relative dials, see also libinput/libinput!967 (merged)
- support for scroll events
The last one is the controversial (and difficult) one. We cannot currently send scroll events for tablet, it has to be implemented by the client (and it usually isn't, because, well, it's complicated). Pan-scrolling and ring-scrolling in particular has been part of tablet interactions for ages, so missing out on that is less than ideal. A compositor can route this through wl_pointer
but the focus of a tablet and of the pointer are to separate entities in Wayland so there's all sorts of issues with that.
Arguably we should also switch to move the tablet protocol to stable, though that's a fair bit of search and replace for very little technical benefit...