Bastien Nocera said the following on 06/06/2012 03:02 PM:
> On Tue, 2012-06-05 at 15:09 +0200, Olivier Fourdan wrote:
>> The libwacom API does not provide any way for client applications to
>> get the buttons order as this may differ from the actual button
>> definition.
>>
>> For example, the Bamboo Fun Pen&Touch tablet maps buttons from top to
>> bottom (with pad on the left) as A, D, C, B instead of A, B, C, D as
>> expected, thus breaking the logic used to number the buttons in client
>> apps such as GNOME Wacom settings panel.
> Not only does this require system level applications like
> gnome-settings-daemon and gnome-control-center to have code to
> specifically handle it, it will also break enumeration for the users
> (shouldn't button A be before button B which would be before button C?).

That's precisely the goal, enumeration does not work now for all devices.

As for gnome-settings-daemon and gnome-control-center, well yes, they 
would need some code to take advantage of the possible different 
order, that's the purpose, but they would work without needing 
changing as well.

> This should be fixed in the driver. libwacom is a place to define things
> that drivers cannot, not to work around hardware differences like this.
>
> Big NAK.

It's not just to work around an issue with the Bamboo tablet. Let's 
say you want to create some sort of a graphical representation of all 
the buttons (to show what button does what, in an OSD window for example).

Let's take for example a Intuos 5 M. It has, from top to bottom 4 
buttons, then the touch ring with its modeswitch, then 4 more buttons.

Definition gives:

[Buttons]
Left=A;B;C;D;E;F;G;H;I

Ring=A
RingNumModes=4

If button A is before button B, then that means that touchring button 
is first, while it's not, it's in the middle

With the proposed patch, the definition would then be:

[Buttons]
Left=B;C;D;E;A;F;G;H;I

Ring=A
RingNumModes=4

That would allow a program to list the buttons in their actual 
physical order.

The tablet definition for the Cintiq 21UX2 already has something like 
this:

Left=B;C;D;E;A;F;G;H;I

But this cannot be used unless we give access to the order, somehow 
(granted, this might be an accident, as most definition do not care 
about orders, but knowing how buttons are ordered on the device would 
be a plus).

Cheers,
Olivier.

-- 
əɔıʌəp əɯos ɥʇıʍ əɹəɥʍəɯos ɯoɹɟ ʇuəs


------------------------------------------------------------------------------
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
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to