mirror of
https://gitlab.freedesktop.org/libevdev/libevdev.git
synced 2025-12-20 10:20:11 +01:00
tools: add a helper tool to list all currently known codes
A non-installed tool to make it easy to check if newly added codes are indeed supported correctly. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
fdba5a41dd
commit
d03f9b6616
3 changed files with 56 additions and 1 deletions
|
|
@ -109,6 +109,11 @@ executable('libevdev-events',
|
|||
include_directories: [includes_include],
|
||||
dependencies: dep_libevdev,
|
||||
install: false)
|
||||
executable('libevdev-list-codes',
|
||||
sources: ['tools/libevdev-list-codes.c'],
|
||||
include_directories: [includes_include],
|
||||
dependencies: dep_libevdev,
|
||||
install: false)
|
||||
executable('touchpad-edge-detector',
|
||||
sources: ['tools/touchpad-edge-detector.c'],
|
||||
include_directories: [includes_include],
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
noinst_PROGRAMS = libevdev-events
|
||||
noinst_PROGRAMS = libevdev-events libevdev-list-codes
|
||||
bin_PROGRAMS = \
|
||||
touchpad-edge-detector \
|
||||
mouse-dpi-tool \
|
||||
|
|
@ -10,6 +10,9 @@ libevdev_ldadd = $(top_builddir)/libevdev/libevdev.la
|
|||
libevdev_events_SOURCES = libevdev-events.c
|
||||
libevdev_events_LDADD = $(libevdev_ldadd)
|
||||
|
||||
libevdev_list_codes_SOURCES = libevdev-list-codes.c
|
||||
libevdev_list_codes_LDADD = $(libevdev_ldadd)
|
||||
|
||||
touchpad_edge_detector_SOURCES = touchpad-edge-detector.c
|
||||
touchpad_edge_detector_LDADD = $(libevdev_ldadd)
|
||||
|
||||
|
|
|
|||
47
tools/libevdev-list-codes.c
Normal file
47
tools/libevdev-list-codes.c
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// SPDX-License-Identifier: MIT
|
||||
/*
|
||||
* Copyright © 2021 Red Hat, Inc.
|
||||
*/
|
||||
|
||||
/* Lists all event types and codes currently known by libevdev. */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <linux/input.h>
|
||||
#include "libevdev/libevdev.h"
|
||||
|
||||
static void
|
||||
list_event_codes(unsigned int type, unsigned int max)
|
||||
{
|
||||
const char *typestr = libevdev_event_type_get_name(type);
|
||||
|
||||
if (!typestr)
|
||||
return;
|
||||
|
||||
printf("- %s:\n", typestr);
|
||||
|
||||
for (unsigned int code = 0; code <= max; code++) {
|
||||
const char *str = libevdev_event_code_get_name(type, code);
|
||||
|
||||
if (!str)
|
||||
continue;
|
||||
|
||||
printf(" %d: %s\n", code, str);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
printf("codes:\n");
|
||||
for (unsigned int type = 0; type <= EV_MAX; type++) {
|
||||
int max = libevdev_event_type_get_max(type);
|
||||
if (max == -1)
|
||||
continue;
|
||||
|
||||
list_event_codes(type, (unsigned int)max);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue