Thanks for the quick response.

I tried the patch. It does not appear to solve the issue. I
tried the same test case as before:

$ xsetwacom --set "Wacom Intuos3 6x8 pad" "StripLeftUp" "key +g -g"
$ xsetwacom --get "Wacom Intuos3 6x8 pad" "StripLeftUp"
key +g -g 
$ xsetwacom --set "Wacom Intuos3 6x8 pad" "Button" "1" "key +h -h"
$ xsetwacom --get "Wacom Intuos3 6x8 pad" "StripLeftUp"
key +h -h 
StripLeftUp outputs "g" after this (which is correct), but xsetwacom
--get output is still wrong.

Regards,
T Hall

On Wed, 14 Mar 2012 12:36:06 -0700
Jason Gerecke <killert...@gmail.com> wrote:

> The names of action atoms are currently created without regard to
> the property they will be stored in. This results in both e.g.
> button 1 and StripLeftUp using atoms with the name "Wacom button
> action 1". When setting either button 1 or StripLeftUp, we ask
> the server for an atom named "Wacom button action 1" and in both
> cases receive the *same* atom. This means button 1 is nothing
> more than an alias for StripLeft up (and similarly for the other
> actions which share the same name).
> 
> This patch uses the name of the property the action will be stored
> in as the prefix to prevent this aliasing from occuring.
> 
> Signed-off-by: Jason Gerecke <killert...@gmail.com>
> ---
>  tools/xsetwacom.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c
> index 2c546b1..7cf0d05 100644
> --- a/tools/xsetwacom.c
> +++ b/tools/xsetwacom.c
> @@ -1264,7 +1264,7 @@ static void special_map_property(Display *dpy,
> XDevice *dev, Atom btnact_prop, i if (!prop)
>               {
>                       char buff[64];
> -                     sprintf(buff, "Wacom button action %d",
> (offset + 1));
> +                     sprintf(buff, "%s action %d",
> XGetAtomName(dpy, btnact_prop), (offset + 1)); prop =
> XInternAtom(dpy, buff, False); btnact_data[offset] = prop;
>               }


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to