I just acked a similar patch from Peter because his addition of nitems looked needed and I didn't have time to think in depth about earlier patch that caused issue.
- if (unset_prop) + if (unset_prop || nitems > 0) XChangeDeviceProperty(dpy, dev, prop, XA_INTEGER, 32, PropModeReplace, (unsigned char*)data, nitems); After see'ing yours, I'm thinking maybe yours is right approach although I still not time to think much on it. When you want to unset_prop, its a different function call to delete the property (if I recall correctly). So XChangeDeviceProperty() should be based on !unset_prop. Peter, hope you have time to investigate. I kindly withdraw my ack on other patch and let you and Jason figure it out. Chris On Fri, Mar 11, 2011 at 6:02 PM, Jason Gerecke <killert...@gmail.com> wrote: > I just noticed I was unable to map button presses to keys and after > some investigation (yay git bisect!) found the following commit > caused the bug: > > 22bc3028effbdc79d426c0b3dcf586734d4c7532 > > It appears the original comment accompaning the argc check was wrong. > The original 'if' statement was "if (argc > 0)" which would imply > XChangeDeviceProperty was to be called if we were *setting* a property, > not *unsetting*. > > This patch should probably be checked more thoroughly since I haven't > actually tried to figure out how this function works. At first glance, > it seems like the first "nitems" hunk of > a6b9416148e5423c5a0c2632d88dbee5589615 > was actually on the right track... > > 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 3435389..1d7265d 100644 > --- a/tools/xsetwacom.c > +++ b/tools/xsetwacom.c > @@ -1194,7 +1194,7 @@ static void special_map_property(Display *dpy, XDevice > *dev, Atom btnact_prop, i > fprintf(stderr, "Cannot parse keyword '%s'\n", > words[i]); > } > > - if (unset_prop) > + if (!unset_prop) > XChangeDeviceProperty(dpy, dev, prop, XA_INTEGER, 32, > PropModeReplace, > (unsigned char*)data, nitems); > -- > 1.7.1 > > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Linuxwacom-devel mailing list > Linuxwacom-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel > ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel