summaryrefslogtreecommitdiff
path: root/drivers/hid
diff options
context:
space:
mode:
authorThomas Kuehne <thomas.kuehne@gmx.li>2024-04-13 15:23:30 +0300
committerJiri Kosina <jkosina@suse.com>2024-05-07 00:16:41 +0300
commit132ea824930d485ab82c1635cb4b0b38db95eb80 (patch)
tree2ffbbab377a3b319894cb24e4a009b8513299ebd /drivers/hid
parent815234a4e7ebd3fdcdd25224bd92db63b77849b2 (diff)
downloadlinux-132ea824930d485ab82c1635cb4b0b38db95eb80.tar.xz
HID: hid-debug: more informative output for EV_KEY
Currently hid-debug's hid_resolv_event prints questions marks for all entries without explicit mapping information. This makes debugging unnecessarily complicated as multiple different keys may simply result in the same uninformative output. Some common event codes are deliberately not defined in input-event-codes.h. For example the 16th gamepad key. Instead, print the hexadecimal codes for all events without symbolic names. Signed-off-by: Thomas Kuehne <thomas.kuehne@gmx.li> Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-debug.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
index a62e71a5ccef..28b458fc6972 100644
--- a/drivers/hid/hid-debug.c
+++ b/drivers/hid/hid-debug.c
@@ -3582,8 +3582,15 @@ static const char **names[EV_MAX + 1] = {
static void hid_resolv_event(__u8 type, __u16 code, struct seq_file *f)
{
- seq_printf(f, "%s.%s", events[type] ? events[type] : "?",
- names[type] ? (names[type][code] ? names[type][code] : "?") : "?");
+ if (events[type])
+ seq_printf(f, "%s.", events[type]);
+ else
+ seq_printf(f, "%02x.", type);
+
+ if (names[type] && names[type][code])
+ seq_printf(f, "%s", names[type][code]);
+ else
+ seq_printf(f, "%04x", code);
}
static void hid_dump_input_mapping(struct hid_device *hid, struct seq_file *f)