]> diplodocus.org Git - xorg-xinput/commitdiff
Add --enable/--disable support
authorPeter Hutterer <peter.hutterer@who-t.net>
Mon, 14 May 2012 07:27:55 +0000 (17:27 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 15 May 2012 00:59:32 +0000 (10:59 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
man/xinput.man
src/property.c
src/xinput.c
src/xinput.h

index f70fe8cccdeec060d0834a5d018487b22f925607..540308b60e74afdcdda118046e479b891f1b879d 100644 (file)
@@ -148,6 +148,16 @@ detected or RandR 1.2 or later is not available, a Xinerama output may be
 specified as "HEAD-N", with N being the Xinerama screen number. This option
 has no effect on relative devices.
 .PP
 specified as "HEAD-N", with N being the Xinerama screen number. This option
 has no effect on relative devices.
 .PP
+.TP 8
+.B --enable \fIdevice\fP
+Enable the \fIdevice\fP. This call is equivalent to
+.B xinput --set-prop device \fI"Device Enabled"\fP 1
+.PP
+.TP 8
+.B --disable \fIdevice\fP
+Disable the \fIdevice\fP. This call is equivalent to
+.B xinput --set-prop device \fI"Device Enabled"\fP 0
+.PP
 \fIdevice\fP can be the device name as a string or the XID of the
 device.
 .PP
 \fIdevice\fP can be the device name as a string or the XID of the
 device.
 .PP
index 3ab2cb0d7b5a9ed93f05ba707cdab6c741e0679d..14e43085dce29e1dc23f90079e9df7f03ce9162d 100644 (file)
@@ -824,3 +824,15 @@ int set_prop(Display *display, int argc, char *argv[], char *name,
 
     return do_set_prop(display, type, format, argc, argv, name, desc);
 }
 
     return do_set_prop(display, type, format, argc, argv, name, desc);
 }
+
+int disable(Display *display, int argc, char *argv[], char *name, char *desc)
+{
+    char *new_argv[3] = { argv[0], "Device Enabled", "0" };
+    return set_prop(display, 3, new_argv, name, desc);
+}
+
+int enable(Display *display, int argc, char *argv[], char *name, char *desc)
+{
+    char *new_argv[3] = { argv[0], "Device Enabled", "1" };
+    return set_prop(display, 3, new_argv, name, desc);
+}
index a1bb221a927662c9d9fd6a45094a3c3861f0c9bb..0f86720229667030c14d77134196a757d4905482 100644 (file)
@@ -137,6 +137,16 @@ static entry drivers[] =
       "<device> [--type=atom|float|int] [--format=8|16|32] <property> <val> [<val> ...]",
       set_prop
     },
       "<device> [--type=atom|float|int] [--format=8|16|32] <property> <val> [<val> ...]",
       set_prop
     },
+    {
+      "disable",
+      "<device>",
+      disable,
+    },
+    {
+      "enable",
+      "<device>",
+      enable,
+    },
     {NULL, NULL, NULL
     }
 };
     {NULL, NULL, NULL
     }
 };
index b420e61c5e9a1e7f62c004a72a1a2b5e9bb97812..c37e6e62551e1fdcd1b6c2bb298fb1d540ecf753 100644 (file)
@@ -69,6 +69,8 @@ int set_atom_prop( Display* display, int argc, char *argv[], char *prog_name, ch
 int watch_props( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 int delete_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 int set_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 int watch_props( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 int delete_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 int set_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
+int disable( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
+int enable( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 
 /* X Input 2.0 */
 int create_master( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);
 
 /* X Input 2.0 */
 int create_master( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc);