/*
* Copyright 1996 by Frederic Lepied, France. <Frederic.Lepied@sugix.frmug.org>
- *
+ *
* 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
* 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
*/
#include "xinput.h"
+#include <string.h>
static void
-print_info(XDeviceInfo *info)
+print_info(XDeviceInfo *info, Bool shortformat)
{
int i,j;
XAnyClassPtr any;
}
printf("]\n");
+ if (shortformat)
+ return;
+
if (info->num_classes > 0) {
any = (XAnyClassPtr) (info->inputclassinfo);
for (i=0; i<info->num_classes; i++) {
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");
printf ("\t\tResolution is %d\n", a->resolution);
}
break;
-
+
default:
printf ("unknown class\n");
}
{
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<num_devices; loop++) {
- print_info(info+loop);
+ print_info(info+loop, shortformat);
}
} else {
int ret = EXIT_SUCCESS;
for(loop=0; loop<argc; loop++) {
info = find_device_info(display, argv[0], False);
-
+
if (!info) {
fprintf(stderr, "unable to find device %s\n", argv[0]);
ret = EXIT_FAILURE;
} else {
- print_info(info);
+ print_info(info, shortformat);
}
}
return ret;