Currently long and short, same as before. No functional changes, preparation
for further formats.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
Tested-by: Dirk Wallenstein <halsmit@t-online.de>
#include "xinput.h"
#include <string.h>
#include "xinput.h"
#include <string.h>
+enum print_format {
+ FORMAT_SHORT,
+ FORMAT_LONG
+};
+
+
-print_info(Display* dpy, XDeviceInfo *info, Bool shortformat)
+print_info(Display* dpy, XDeviceInfo *info, enum print_format format)
{
int i,j;
XAnyClassPtr any;
{
int i,j;
XAnyClassPtr any;
+ if (format == FORMAT_SHORT)
return;
if(info->type != None)
return;
if(info->type != None)
}
static int list_xi1(Display *display,
}
static int list_xi1(Display *display,
+ enum print_format format)
{
XDeviceInfo *info;
int loop;
{
XDeviceInfo *info;
int loop;
info = XListInputDevices(display, &num_devices);
for(loop=0; loop<num_devices; loop++) {
info = XListInputDevices(display, &num_devices);
for(loop=0; loop<num_devices; loop++) {
- print_info(display, info+loop, shortformat);
+ print_info(display, info+loop, format);
-print_info_xi2(Display* display, XIDeviceInfo *dev, Bool shortformat)
+print_info_xi2(Display* display, XIDeviceInfo *dev, enum print_format format)
{
printf("%-40s\tid=%d\t[", dev->name, dev->deviceid);
switch(dev->use)
{
printf("%-40s\tid=%d\t[", dev->name, dev->deviceid);
switch(dev->use)
+ if (format == FORMAT_SHORT)
return;
if (!dev->enabled)
return;
if (!dev->enabled)
static int
list_xi2(Display *display,
static int
list_xi2(Display *display,
+ enum print_format format)
{
int major = XI_2_Major,
minor = XI_2_Minor;
{
int major = XI_2_Major,
minor = XI_2_Minor;
- print_info_xi2(display, dev, shortformat);
+ print_info_xi2(display, dev, format);
for (j = 0; j < ndevices; j++)
{
XIDeviceInfo* sd = &info[j];
for (j = 0; j < ndevices; j++)
{
XIDeviceInfo* sd = &info[j];
(sd->attachment == dev->deviceid))
{
printf("%s ↳ ", dev->use == XIMasterPointer ? "⎜" : " ");
(sd->attachment == dev->deviceid))
{
printf("%s ↳ ", dev->use == XIMasterPointer ? "⎜" : " ");
- print_info_xi2(display, sd, shortformat);
+ print_info_xi2(display, sd, format);
if (dev->use == XIFloatingSlave)
{
printf("∼ ");
if (dev->use == XIFloatingSlave)
{
printf("∼ ");
- print_info_xi2(display, dev, shortformat);
+ print_info_xi2(display, dev, format);
char *name,
char *desc)
{
char *name,
char *desc)
{
- int shortformat = (argc >= 1 && strcmp(argv[0], "--short") == 0);
- int longformat = (argc >= 1 && strcmp(argv[0], "--long") == 0);
- int arg_dev = shortformat || longformat;
+ enum print_format format = FORMAT_SHORT;
+ int arg_dev = 0;
+
+ if (argc >= 1)
+ {
+ if (strcmp(argv[0], "--short") == 0)
+ format = FORMAT_SHORT;
+ else if (strcmp(argv[0], "--long") == 0)
+ format = FORMAT_LONG;
+ arg_dev++;
+ }
fprintf(stderr, "unable to find device %s\n", argv[arg_dev]);
return EXIT_FAILURE;
} else {
fprintf(stderr, "unable to find device %s\n", argv[arg_dev]);
return EXIT_FAILURE;
} else {
- print_info_xi2(display, info, shortformat);
+ print_info_xi2(display, info, format);
return EXIT_SUCCESS;
}
} else
return EXIT_SUCCESS;
}
} else
fprintf(stderr, "unable to find device %s\n", argv[arg_dev]);
return EXIT_FAILURE;
} else {
fprintf(stderr, "unable to find device %s\n", argv[arg_dev]);
return EXIT_FAILURE;
} else {
- print_info(display, info, shortformat);
+ print_info(display, info, format);
return EXIT_SUCCESS;
}
}
} else {
#ifdef HAVE_XI2
if (xinput_version(display) == XI_2_Major)
return EXIT_SUCCESS;
}
}
} else {
#ifdef HAVE_XI2
if (xinput_version(display) == XI_2_Major)
- return list_xi2(display, !longformat);
+ return list_xi2(display, format);
- return list_xi1(display, !longformat);
+ return list_xi1(display, format);