X-Git-Url: https://diplodocus.org/git/xorg-xinput/blobdiff_plain/632ef53adf1e18509dfa2a1ae820910aa0a88545..7d930a42e6c294ecaaf42585e37b8dc24be8a805:/src/list.c?ds=sidebyside diff --git a/src/list.c b/src/list.c index 52ffba5..0abde7a 100644 --- a/src/list.c +++ b/src/list.c @@ -161,7 +161,16 @@ print_classes_xi2(Display* display, XIAnyClassInfo **classes, case XIButtonClass: { XIButtonClassInfo *b = (XIButtonClassInfo*)classes[i]; + char *name; 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)) @@ -179,12 +188,17 @@ print_classes_xi2(Display* display, XIAnyClassInfo **classes, 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\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"); + if (v->mode == Absolute) + printf("\t\t Current value: %f\n", v->value); + XFree(name); } break; }