]> diplodocus.org Git - xorg-xinput/commitdiff
Add support for XINPUT_XI2_VERSION environment variable to override version
authorPeter Hutterer <peter.hutterer@who-t.net>
Sun, 10 Mar 2013 05:25:38 +0000 (15:25 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 6 Jun 2013 04:27:38 +0000 (14:27 +1000)
By default, xinput announces whatever version it was built against. For
debugging it can be useful to set this version on-the-fly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/xinput.c

index 0f86720229667030c14d77134196a757d4905482..16a13df5a025f304373a90b63631810e743b6367 100644 (file)
@@ -202,6 +202,7 @@ xinput_version(Display      *display)
     /* Announce our supported version so the server treats us correctly. */
     if (vers >= XI_2_Major)
     {
+        const char *forced_version;
         int maj = 2,
             min = 0;
 
@@ -211,6 +212,16 @@ xinput_version(Display     *display)
         min = 2;
 #endif
 
+        forced_version = getenv("XINPUT_XI2_VERSION");
+        if (forced_version) {
+            if (sscanf(forced_version, "%d.%d", &maj, &min) != 2) {
+                fprintf(stderr, "Invalid format of XINPUT_XI2_VERSION "
+                                "environment variable. Need major.minor\n");
+                exit(1);
+            }
+            printf("Overriding XI2 version to: %d.%d\n", maj, min);
+        }
+
         XIQueryVersion(display, &maj, &min);
     }
 #endif