I've been going over the possible ways to deal with button mapping,
and I've come to the conclusion that driver and libwacom need to be
modified in tandem. I can work around most of the problems in the
driver (see 
https://github.com/jigpu/xf86-input-wacom/tree/fix/sane-button-numbering
for my work-in-progress), but there are two that can't be handled by
the driver alone: button ordering and ambiguous physical location.

Button ordering is the problem that buttons aren't necessarily in the
order you expect them to be in. An obvious example of this is the
Intuos4: button 'A' is the modeswitch button and physically located
between buttons 'E' and 'F'. We could try to change the kernel driver
to work around this, but the change wouldn't be backwards-compatible
-- buttons would suddenly become renumbered without apparent reason. I
think it'd be better if libwacom provided a way for clients to get the
tablet geometry and use that to discover the A-Z identifier associated
with specific buttons. Blindly using the A-Z identifier without first
querying geometry is asking for trouble given the many different ways
we layout our buttons.

Ambiguous physical location is the problem that we have a few tablets
(e.g. Graphire4, Bamboo Fun) for which the driver doesn't have enough
information to accurately deduce which BTN_* events should be
associated with the pad. This occurs when the tablet has both pad and
puck tools, but no "generic" buttons. In this case its known that some
of the "mouse" buttons must be associated with the pad, but unknown
which ones in particular. Again, this might be fixable in the kernel
driver, but would break the button's semantics. I think a better idea
might be to link the Xorg driver against libwacom and then teach
libwacom about the difference between "generic" and "mouse" buttons.
The driver could then get a definitive list of mouse buttons that
belong on the pad device, allowing it to build an appropriate table.

Thoughts? Opinions? Flames?

Jason

---
Day xee-nee-svsh duu-'ushtlh-ts'it;
nuu-wee-ya' duu-xan' 'vm-nvshtlh-ts'it.
Huu-chan xuu naa~-gha.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to