XButtonInfoPtr b;
XValuatorInfoPtr v;
XAxisInfoPtr a;
-#if HAVE_XI2
- XAttachInfoPtr att;
-#endif
printf("\"%s\"\tid=%ld\t[", info->name, info->id);
printf ("\t\tResolution is %d\n", a->resolution);
}
break;
-#if HAVE_XI2
- case AttachClass:
- att = (XAttachInfoPtr)any;
- printf("\tAttached to %d\n", att->attached);
- break;
-#endif
default:
printf ("unknown class\n");
}
if (argc == 0 || shortformat || daemon) {
int num_devices;
- XEvent ev;
-
-#if HAVE_XI2
- if (daemon)
- {
- XiSelectEvent(display, DefaultRootWindow(display), NULL,
- XI_DeviceHierarchyChangedMask |
- XI_DeviceClassesChangedMask);
- }
-#endif
do {
info = XListInputDevices(display, &num_devices);
for(loop=0; loop<num_devices; loop++) {
print_info(info+loop, shortformat);
}
-
-#if HAVE_XI2
- /* just wait for the next generic event to come along */
- while (daemon && !XNextEvent(display, &ev))
- {
- if (ev.type == GenericEvent)
- {
- XGenericEvent* gev = (XGenericEvent*)&ev;
- /* we just assume that extension is IReqCode, pretty save
- since we don't register for other events. */
- if (gev->evtype == XI_DeviceHierarchyChangedNotify)
- {
- printf("Hierarchy change.\n");
- } else if (gev->evtype == XI_DeviceClassesChangedNotify)
- {
- printf("Device classes changed.\n");
- free(((XDeviceClassesChangedEvent*)&ev)->inputclassinfo);
- }
- break;
- }
- }
-#endif
} while(daemon);
} else {
int ret = EXIT_SUCCESS;
XExtensionVersion *version;
Bool present;
-#if HAVE_XI2
- version = XQueryInputVersion(display, XI_2_Major, XI_2_Minor);
-#else
version = XGetExtensionVersion(display, INAME);
-#endif
if (version && (version != (XExtensionVersion*) NoSuchExtension)) {
present = version->present;