diff options
-rw-r--r-- | man/xinput.man | 5 | ||||
-rw-r--r-- | src/list.c | 13 | ||||
-rw-r--r-- | src/xinput.c | 2 |
3 files changed, 17 insertions, 3 deletions
diff --git a/man/xinput.man b/man/xinput.man index 035becc..9d7e9a7 100644 --- a/man/xinput.man +++ b/man/xinput.man @@ -17,7 +17,7 @@ of the program and the version supported by the server. This option does not require a device name. .PP .TP 8 -.B --list [--short || --long || --name-only] [\fIdevice\fP] +.B --list [--short || --long || --name-only || --id-only] [\fIdevice\fP] If no argument is given list all the input devices. If an argument is given, show all the features of \fIdevice\fP. If --long is provided, the output includes detailed information about the @@ -26,6 +26,9 @@ device names and some minimal information is listed. If --name-only is provided, the output is limited to the device names. One device name is listed per line. Note that the order the devices are listed is undefined. +If --id-only is provided, the output is limited to the device IDs. One +device ID is listed per line. Note that the order the devices are listed is +undefined. .PP .TP 8 .B --get-feedbacks \fIdevice\fP @@ -27,7 +27,8 @@ enum print_format { FORMAT_SHORT, FORMAT_LONG, - FORMAT_NAME + FORMAT_NAME, + FORMAT_ID, }; @@ -45,6 +46,10 @@ print_info(Display* dpy, XDeviceInfo *info, enum print_format format) { printf("%s\n", info->name); return; + } else if (format == FORMAT_ID) + { + printf("%ld\n", info->id); + return; } printf("\"%s\"\tid=%ld\t[", info->name, info->id); @@ -203,6 +208,10 @@ print_info_xi2(Display* display, XIDeviceInfo *dev, enum print_format format) { printf("%s\n", dev->name); return; + } else if (format == FORMAT_ID) + { + printf("%d\n", dev->deviceid); + return; } printf("%-40s\tid=%d\t[", dev->name, dev->deviceid); @@ -317,6 +326,8 @@ list(Display *display, format = FORMAT_LONG; else if (strcmp(argv[0], "--name-only") == 0) format = FORMAT_NAME; + else if (strcmp(argv[0], "--id-only") == 0) + format = FORMAT_ID; arg_dev++; } diff --git a/src/xinput.c b/src/xinput.c index 86c163e..a20f856 100644 --- a/src/xinput.c +++ b/src/xinput.c @@ -68,7 +68,7 @@ static entry drivers[] = set_mode }, {"list", - "[--short || --long || --name-only] [<device name>...]", + "[--short || --long || --name-only || --id-only] [<device name>...]", list }, {"query-state", |