X-Git-Url: https://diplodocus.org/git/xorg-xinput/blobdiff_plain/c0178d2afef586f58f42508a9b8bd78e4e6e0cb8..06447732750a022a44476f8929568f0b11bfc6e9:/src/list.c?ds=sidebyside diff --git a/src/list.c b/src/list.c index 79c2aa4..9ef3d61 100644 --- a/src/list.c +++ b/src/list.c @@ -1,6 +1,6 @@ /* * Copyright 1996 by Frederic Lepied, France. - * + * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that @@ -9,8 +9,8 @@ * advertising or publicity pertaining to distribution of the software without * specific, written prior permission. Frederic Lepied makes no * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * + * is provided "as is" without express or implied warranty. + * * FREDERIC LEPIED DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL FREDERIC LEPIED BE LIABLE FOR ANY SPECIAL, INDIRECT OR @@ -22,9 +22,10 @@ */ #include "xinput.h" +#include static void -print_info(XDeviceInfo *info) +print_info(XDeviceInfo *info, Bool shortformat) { int i,j; XAnyClassPtr any; @@ -57,6 +58,9 @@ print_info(XDeviceInfo *info) } printf("]\n"); + if (shortformat) + return; + if (info->num_classes > 0) { any = (XAnyClassPtr) (info->inputclassinfo); for (i=0; inum_classes; i++) { @@ -75,7 +79,7 @@ print_info(XDeviceInfo *info) case ValuatorClass: v = (XValuatorInfoPtr) any; - a = (XAxisInfoPtr) ((char *) v + + a = (XAxisInfoPtr) ((char *) v + sizeof (XValuatorInfo)); printf("\tNum_axes is %d\n", v->num_axes); printf("\tMode is %s\n", (v->mode == Absolute) ? "Absolute" : "Relative"); @@ -87,7 +91,7 @@ print_info(XDeviceInfo *info) printf ("\t\tResolution is %d\n", a->resolution); } break; - + default: printf ("unknown class\n"); } @@ -105,26 +109,29 @@ list(Display *display, { XDeviceInfo *info; int loop; + int shortformat = False; - if (argc == 0) { + shortformat = (argc == 1 && strcmp(argv[0], "--short") == 0); + + if (argc == 0 || shortformat) { int num_devices; - + info = XListInputDevices(display, &num_devices); - + for(loop=0; loop