X-Git-Url: https://diplodocus.org/git/xorg-xinput/blobdiff_plain/a783c19f94e6fed28aeaf0550558cd0b63402b9c..8659d4f88c805e764d671ae50dc110f742727dd7:/src/list.c diff --git a/src/list.c b/src/list.c index 24edc70..05f58f5 100644 --- a/src/list.c +++ b/src/list.c @@ -193,19 +193,19 @@ print_info_xi2(Display* display, XIDeviceInfo *dev, Bool shortformat) printf("%-40s\tid=%d\t[", dev->name, dev->deviceid); switch(dev->use) { - case MasterPointer: + case XIMasterPointer: printf("master pointer (%d)]\n", dev->attachment); break; - case MasterKeyboard: + case XIMasterKeyboard: printf("master keyboard (%d)]\n", dev->attachment); break; - case SlavePointer: + case XISlavePointer: printf("slave pointer (%d)]\n", dev->attachment); break; - case SlaveKeyboard: + case XISlaveKeyboard: printf("slave keyboard (%d)]\n", dev->attachment); break; - case FloatingSlave: + case XIFloatingSlave: printf("floating slave]\n"); break; } @@ -242,15 +242,14 @@ list_xi2(Display *display, return EXIT_FAILURE; } - info = XIQueryDevice(display, AllDevices, &ndevices); - dev = info; + info = XIQueryDevice(display, XIAllDevices, &ndevices); for(i = 0; i < ndevices; i++) { dev = &info[i]; - if (dev->use == MasterPointer || dev->use == MasterKeyboard) + if (dev->use == XIMasterPointer || dev->use == XIMasterKeyboard) { - if (dev->use == MasterPointer) + if (dev->use == XIMasterPointer) printf("⎡ "); else printf("⎣ "); @@ -260,16 +259,26 @@ list_xi2(Display *display, { XIDeviceInfo* sd = &info[j]; - if ((sd->use == SlavePointer || sd->use == SlaveKeyboard) && + if ((sd->use == XISlavePointer || sd->use == XISlaveKeyboard) && (sd->attachment == dev->deviceid)) { - printf("%s ↳ ", dev->use == MasterPointer ? "⎜" : " "); + printf("%s ↳ ", dev->use == XIMasterPointer ? "⎜" : " "); print_info_xi2(display, sd, shortformat); } } } } + for (i = 0; i < ndevices; i++) + { + dev = &info[i]; + if (dev->use == XIFloatingSlave) + { + printf("∼ "); + print_info_xi2(display, dev, shortformat); + } + } + XIFreeDeviceInfo(info); return EXIT_SUCCESS;