# XI2.1 support
PKG_CHECK_MODULES(XI21, [xi >= 1.4.99.1] [inputproto >= 2.0.99.1],
AC_DEFINE(HAVE_XI21, 1, [XI2.1 available]));
+# XI2.2 support
+PKG_CHECK_MODULES(XI22, [xi >= 1.5.99.1] [inputproto >= 2.1.99.1],
+ AC_DEFINE(HAVE_XI22, 1, [XI2.2 available]));
AC_OUTPUT([Makefile
src/Makefile
printf("\n");
}
break;
+#endif
+#if HAVE_XI22
+ case XITouchClass:
+ {
+ XITouchClassInfo *t = (XITouchClassInfo*)classes[i];
+
+ printf("XITouchClass\n");
+ printf("\t\tTouch mode: %s\n",
+ (t->mode == XIDirectTouch) ? "direct" : "dependent");
+ printf("\t\tMax number of touches: %d\n", t->num_touches);
+ }
#endif
}
}
case XI_RawButtonPress: name = "RawButtonPress"; break;
case XI_RawButtonRelease: name = "RawButtonRelease"; break;
case XI_RawMotion: name = "RawMotion"; break;
+ case XI_TouchBegin: name = "TouchBegin"; break;
+ case XI_TouchUpdate: name = "TouchUpdate"; break;
+ case XI_TouchEnd: name = "TouchEnd"; break;
+ case XI_RawTouchBegin: name = "RawTouchBegin"; break;
+ case XI_RawTouchUpdate: name = "RawTouchUpdate"; break;
+ case XI_RawTouchEnd: name = "RawTouchEnd"; break;
default:
name = "unknown event type"; break;
}
XISetMask(mask.mask, XI_Leave);
XISetMask(mask.mask, XI_FocusIn);
XISetMask(mask.mask, XI_FocusOut);
+#ifdef HAVE_XI22
+ XISetMask(mask.mask, XI_TouchBegin);
+ XISetMask(mask.mask, XI_TouchUpdate);
+ XISetMask(mask.mask, XI_TouchEnd);
+#endif
if (mask.deviceid == XIAllDevices)
XISetMask(mask.mask, XI_HierarchyChanged);
XISetMask(mask.mask, XI_PropertyEvent);
XISetMask(mask.mask, XI_RawButtonPress);
XISetMask(mask.mask, XI_RawButtonRelease);
XISetMask(mask.mask, XI_RawMotion);
+#ifdef HAVE_XI22
+ XISetMask(mask.mask, XI_RawTouchBegin);
+ XISetMask(mask.mask, XI_RawTouchUpdate);
+ XISetMask(mask.mask, XI_RawTouchEnd);
+#endif
XISelectEvents(display, DefaultRootWindow(display), &mask, 1);
free(mask.mask);