]> diplodocus.org Git - xorg-xinput/blobdiff - src/list.c
Bump to 1.4.99.3
[xorg-xinput] / src / list.c
index abfd68c1bfd2df76524ddb98c9186f4793f22e9d..0abde7a8a04ea2dd18b46204dce7c4478c181e88 100644 (file)
@@ -150,7 +150,7 @@ void
 print_classes_xi2(Display* display, XIAnyClassInfo **classes,
                   int num_classes)
 {
 print_classes_xi2(Display* display, XIAnyClassInfo **classes,
                   int num_classes)
 {
-    int i;
+    int i, j;
 
     printf("\tReporting %d classes:\n", num_classes);
     for (i = 0; i < num_classes; i++)
 
     printf("\tReporting %d classes:\n", num_classes);
     for (i = 0; i < num_classes; i++)
@@ -161,7 +161,21 @@ print_classes_xi2(Display* display, XIAnyClassInfo **classes,
             case XIButtonClass:
                 {
                     XIButtonClassInfo *b = (XIButtonClassInfo*)classes[i];
             case XIButtonClass:
                 {
                     XIButtonClassInfo *b = (XIButtonClassInfo*)classes[i];
+                    char *name;
                     printf("\t\tButtons supported: %d\n", b->num_buttons);
                     printf("\t\tButtons supported: %d\n", b->num_buttons);
+                    printf("\t\tButton labels:");
+                    for (j = 0; j < b->num_buttons; j++)
+                    {
+                        name = (b->labels[j]) ? XGetAtomName(display, b->labels[j]) : NULL;
+                        printf(" %s", (name) ? name : "None");
+                        XFree(name);
+                    }
+                    printf("\n");
+                    printf("\t\tButton state:");
+                    for (j = 0; j < b->state.mask_len * 8; j++)
+                        if (XIMaskIsSet(b->state.mask, j))
+                            printf(" %d", j);
+                    printf("\n");
 
                 }
                 break;
 
                 }
                 break;
@@ -174,12 +188,17 @@ print_classes_xi2(Display* display, XIAnyClassInfo **classes,
             case XIValuatorClass:
                 {
                     XIValuatorClassInfo *v = (XIValuatorClassInfo*)classes[i];
             case XIValuatorClass:
                 {
                     XIValuatorClassInfo *v = (XIValuatorClassInfo*)classes[i];
+                    char *name = v->label ?  XGetAtomName(display, v->label) : NULL;
+
                     printf("\t\tDetail for Valuator %d:\n", v->number);
                     printf("\t\tDetail for Valuator %d:\n", v->number);
-                    printf("\t\t  Name: %s\n", XGetAtomName(display, v->name));
+                    printf("\t\t  Label: %s\n",  (name) ? name : "None");
                     printf("\t\t  Range: %f - %f\n", v->min, v->max);
                     printf("\t\t  Resolution: %d units/m\n", v->resolution);
                     printf("\t\t  Mode: %s\n", v->mode == Absolute ? "absolute" :
                             "relative");
                     printf("\t\t  Range: %f - %f\n", v->min, v->max);
                     printf("\t\t  Resolution: %d units/m\n", v->resolution);
                     printf("\t\t  Mode: %s\n", v->mode == Absolute ? "absolute" :
                             "relative");
+                    if (v->mode == Absolute)
+                        printf("\t\t  Current value: %f\n", v->value);
+                    XFree(name);
                 }
                 break;
         }
                 }
                 break;
         }