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
