]> diplodocus.org Git - xorg-xinput/blobdiff - src/test_xi2.c
xinput 1.5.2
[xorg-xinput] / src / test_xi2.c
index 53d984f04b9bd2919226b04e86e8656b7cb6c34a..9ddb2912340a95def1aa73888ce0d2b185df7817 100644 (file)
@@ -153,7 +153,7 @@ static void print_enterleave(XILeaveEvent* event)
     char *mode, *detail;
     int i;
 
-    printf("    device: %d\n", event->deviceid);
+    printf("    device: %d (%d)\n", event->deviceid, event->sourceid);
     printf("    windows: root 0x%lx event 0x%lx child 0x%ld\n",
             event->root, event->event, event->child);
     switch(event->mode)
@@ -258,6 +258,35 @@ test_sync_grab(Display *display, Window win)
     printf("Done\n");
 }
 
+static const char* type_to_name(int evtype)
+{
+    const char *name;
+
+    switch(evtype) {
+        case XI_DeviceChanged:    name = "DeviceChanged";       break;
+        case XI_KeyPress:         name = "KeyPress";            break;
+        case XI_KeyRelease:       name = "KeyRelease";          break;
+        case XI_ButtonPress:      name = "ButtonPress";         break;
+        case XI_ButtonRelease:    name = "ButtonRelease";       break;
+        case XI_Motion:           name = "Motion";              break;
+        case XI_Enter:            name = "Enter";               break;
+        case XI_Leave:            name = "Leave";               break;
+        case XI_FocusIn:          name = "FocusIn";             break;
+        case XI_FocusOut:         name = "FocusOut";            break;
+        case XI_HierarchyChanged: name = "HierarchyChanged";    break;
+        case XI_PropertyEvent:    name = "PropertyEvent";       break;
+        case XI_RawKeyPress:      name = "RawKeyPress";         break;
+        case XI_RawKeyRelease:    name = "RawKeyRelease";       break;
+        case XI_RawButtonPress:   name = "RawButtonPress";      break;
+        case XI_RawButtonRelease: name = "RawButtonRelease";    break;
+        case XI_RawMotion:        name = "RawMotion";           break;
+        default:
+                                  name = "unknown event type"; break;
+    }
+    return name;
+}
+
+
 int
 test_xi2(Display       *display,
          int   argc,
@@ -341,7 +370,7 @@ test_xi2(Display    *display,
             cookie->type == GenericEvent &&
             cookie->extension == xi_opcode)
         {
-            printf("EVENT type %d\n", cookie->evtype);
+            printf("EVENT type %d (%s)\n", cookie->evtype, type_to_name(cookie->evtype));
             switch (cookie->evtype)
             {
                 case XI_DeviceChanged: