From ea705612e108e63d6e9bb6852a6717e382dab2ab Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 4 Jun 2013 09:31:46 +1000 Subject: [PATCH] Merge libevdev-print and libevdev-events into one binary Signed-off-by: Peter Hutterer --- test/Makefile.am | 5 +- test/libevdev-events.c | 84 +++++++++++++++++++++++ test/libevdev-print.c | 148 ----------------------------------------- 3 files changed, 85 insertions(+), 152 deletions(-) delete mode 100644 test/libevdev-print.c diff --git a/test/Makefile.am b/test/Makefile.am index 173e4bb..500720e 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,11 +1,8 @@ -noinst_PROGRAMS = libevdev-print libevdev-events +noinst_PROGRAMS = libevdev-events AM_CPPFLAGS = -I$(top_srcdir)/libevdev libevdev_ldadd = $(top_builddir)/libevdev/libevdev.la -libevdev_print_SOURCES = libevdev-print.c event-names.h -libevdev_print_LDADD = $(libevdev_ldadd) - libevdev_events_SOURCES = libevdev-events.c event-names.h libevdev_events_LDADD = $(libevdev_ldadd) diff --git a/test/libevdev-events.c b/test/libevdev-events.c index 8a673a6..a781de9 100644 --- a/test/libevdev-events.c +++ b/test/libevdev-events.c @@ -34,6 +34,79 @@ #include "libevdev.h" #include "event-names.h" +static void +print_abs_bits(struct libevdev *dev, int axis) +{ + const struct input_absinfo *abs; + + if (!libevdev_has_event_code(dev, EV_ABS, axis)) + return; + + abs = libevdev_get_abs_info(dev, axis); + + printf(" Value %6d\n", abs->value); + printf(" Min %6d\n", abs->minimum); + printf(" Max %6d\n", abs->maximum); + if (abs->fuzz) + printf(" Fuzz %6d\n", abs->fuzz); + if (abs->flat) + printf(" Flat %6d\n", abs->flat); + if (abs->resolution) + printf(" Resolution %6d\n", abs->resolution); +} + +static void +print_code_bits(struct libevdev *dev, unsigned int type, unsigned int max) +{ + unsigned int i; + for (i = 0; i <= max; i++) { + if (!libevdev_has_event_code(dev, type, i)) + continue; + + printf(" Event code %i (%s)\n", i, event_get_code_name(type, i)); + if (type == EV_ABS) + print_abs_bits(dev, i); + } +} + +static void +print_bits(struct libevdev *dev) +{ + unsigned int i; + printf("Supported events:\n"); + + for (i = 0; i <= EV_MAX; i++) { + if (libevdev_has_event_type(dev, i)) + printf(" Event type %d (%s)\n", i, event_get_type_name(i)); + switch(i) { + case EV_KEY: + print_code_bits(dev, EV_KEY, KEY_MAX); + break; + case EV_REL: + print_code_bits(dev, EV_REL, REL_MAX); + break; + case EV_ABS: + print_code_bits(dev, EV_ABS, ABS_MAX); + break; + case EV_LED: + print_code_bits(dev, EV_LED, LED_MAX); + break; + } + } +} + +static void +print_props(struct libevdev *dev) +{ + unsigned int i; + printf("Properties:\n"); + + for (i = 0; i <= INPUT_PROP_MAX; i++) { + if (libevdev_has_property(dev, i)) + printf(" Property type %d (%s)\n", i, input_prop_map[i]); + } +} + int print_event(struct input_event *ev) { if (ev->type == EV_SYN) @@ -84,6 +157,17 @@ main(int argc, char **argv) goto out; } + printf("Input device ID: bus %#x vendor %#x product %#x\n", + libevdev_get_bustype(dev), + libevdev_get_vendor_id(dev), + libevdev_get_product_id(dev)); + printf("Evdev version: %x\n", libevdev_get_driver_version(dev)); + printf("Input device name: \"%s\"\n", libevdev_get_name(dev)); + printf("Phys location: %s\n", libevdev_get_phys(dev)); + printf("Uniq identifier: %s\n", libevdev_get_uniq(dev)); + print_bits(dev); + print_props(dev); + do { struct input_event ev; rc = libevdev_next_event(dev, 0, &ev); diff --git a/test/libevdev-print.c b/test/libevdev-print.c deleted file mode 100644 index e6ecee0..0000000 --- a/test/libevdev-print.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright © 2013 Red Hat, Inc. - * - * 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 copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of the copyright holders not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. The copyright holders make no representations - * about the suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "libevdev.h" -#include "event-names.h" - -static void -print_abs_bits(struct libevdev *dev, int axis) -{ - const struct input_absinfo *abs; - - if (!libevdev_has_event_code(dev, EV_ABS, axis)) - return; - - abs = libevdev_get_abs_info(dev, axis); - - printf(" Value %6d\n", abs->value); - printf(" Min %6d\n", abs->minimum); - printf(" Max %6d\n", abs->maximum); - if (abs->fuzz) - printf(" Fuzz %6d\n", abs->fuzz); - if (abs->flat) - printf(" Flat %6d\n", abs->flat); - if (abs->resolution) - printf(" Resolution %6d\n", abs->resolution); -} - -static void -print_code_bits(struct libevdev *dev, unsigned int type, unsigned int max) -{ - unsigned int i; - for (i = 0; i <= max; i++) { - if (!libevdev_has_event_code(dev, type, i)) - continue; - - printf(" Event code %i (%s)\n", i, event_get_code_name(type, i)); - if (type == EV_ABS) - print_abs_bits(dev, i); - } -} - -static void -print_bits(struct libevdev *dev) -{ - unsigned int i; - printf("Supported events:\n"); - - for (i = 0; i <= EV_MAX; i++) { - if (libevdev_has_event_type(dev, i)) - printf(" Event type %d (%s)\n", i, event_get_type_name(i)); - switch(i) { - case EV_KEY: - print_code_bits(dev, EV_KEY, KEY_MAX); - break; - case EV_REL: - print_code_bits(dev, EV_REL, REL_MAX); - break; - case EV_ABS: - print_code_bits(dev, EV_ABS, ABS_MAX); - break; - case EV_LED: - print_code_bits(dev, EV_LED, LED_MAX); - break; - } - } -} - -static void -print_props(struct libevdev *dev) -{ - unsigned int i; - printf("Properties:\n"); - - for (i = 0; i <= INPUT_PROP_MAX; i++) { - if (libevdev_has_property(dev, i)) - printf(" Property type %d (%s)\n", i, input_prop_map[i]); - } -} - -int -main(int argc, char **argv) -{ - struct libevdev *dev; - const char *file; - int fd; - int rc; - - - if (argc < 2) - return 1; - - file = argv[1]; - fd = open(file, O_RDONLY | O_NONBLOCK); - if (fd < 0) { - perror("Failed to open device"); - return 1; - } - - rc = libevdev_new_from_fd(fd, &dev); - if (rc < 0) { - fprintf(stderr, "Failed to init libevdev (%s)\n", strerror(-rc)); - return 1; - } - - printf("Input device ID: bus %#x vendor %#x product %#x\n", - libevdev_get_bustype(dev), - libevdev_get_vendor_id(dev), - libevdev_get_product_id(dev)); - printf("Evdev version: %x\n", libevdev_get_driver_version(dev)); - printf("Input device name: \"%s\"\n", libevdev_get_name(dev)); - printf("Phys location: %s\n", libevdev_get_phys(dev)); - printf("Uniq identifier: %s\n", libevdev_get_uniq(dev)); - print_bits(dev); - print_props(dev); - - libevdev_free(dev); - - return 0; -}