int maj = 2,
min = 0;
-#if HAVE_XI21
- min = 1;
-#elif HAVE_XI22
+#if HAVE_XI22
min = 2;
+#elif HAVE_XI21
+ min = 1;
#endif
forced_version = getenv("XINPUT_XI2_VERSION");
return found;
}
-#ifdef HAVE_XI2
+#if HAVE_XI2
Bool is_pointer(int use)
{
return use == XIMasterPointer || use == XISlavePointer;
}
}
+static Bool
+is_xwayland(Display *dpy)
+{
+ XDeviceInfo *devices;
+ int n;
+ Bool is_xwayland = False;
+
+ devices = XListInputDevices(dpy, &n);
+ while (n-- > 0) {
+ if (strncmp(devices[n].name, "xwayland-", 9) == 0) {
+ is_xwayland = True;
+ break;
+ }
+ }
+
+ XFreeDeviceList(devices);
+
+ return is_xwayland;
+}
+
int
main(int argc, char * argv[])
{
goto out;
}
+ if (is_xwayland(display))
+ fprintf(stderr, "WARNING: running xinput against an Xwayland server. See the xinput man page for details.\n");
+
while(driver->func_name) {
if (strcmp(driver->func_name, func) == 0) {
int r = (*driver->func)(display, argc-2, argv+2,