]> diplodocus.org Git - xorg-xinput/commitdiff
Use XI 1.5 property events.
authorPeter Hutterer <peter.hutterer@redhat.com>
Fri, 15 Aug 2008 05:58:55 +0000 (15:28 +0930)
committerPeter Hutterer <peter.hutterer@redhat.com>
Fri, 15 Aug 2008 05:58:55 +0000 (15:28 +0930)
src/property.c

index 0e7d43799a1b3de25f9a63dee87d1ba34c49eb71..0e620350268211225e96e324d414efc6734c359c 100644 (file)
@@ -259,6 +259,8 @@ int watch_props(Display *dpy, int argc, char** argv, char* n, char *desc)
     XEvent      ev;
     XDevicePropertyNotifyEvent *dpev;
     char        *name;
+    int         type_prop;
+    XEventClass cls_prop;
 
     if (list_props(dpy, argc, argv, n, desc) != EXIT_SUCCESS)
         return EXIT_FAILURE;
@@ -277,17 +279,17 @@ int watch_props(Display *dpy, int argc, char** argv, char* n, char *desc)
         return EXIT_FAILURE;
     }
 
-    XiSelectEvent(dpy, DefaultRootWindow(dpy), NULL,
-                  XI_DevicePropertyNotifyMask);
+    DevicePropertyNotify(dev, type_prop, cls_prop);
+    XSelectExtensionEvent(dpy, DefaultRootWindow(dpy), &cls_prop, 1);
 
     while(1)
     {
         XNextEvent(dpy, &ev);
 
         dpev = (XDevicePropertyNotifyEvent*)&ev;
-        if (dpev->type != GenericEvent &&
-            dpev->type != XI_DevicePropertyNotify)
+        if (dpev->type != type_prop)
             continue;
+
         name = XGetAtomName(dpy, dpev->atom);
         printf("Property '%s' changed.\n", name);
         print_property(dpy, dev, dpev->atom);