Message ID | 20240410-bpf_sources-v1-1-a8bf16033ef8@kernel.org |
---|---|
State | Accepted |
Commit | 65ad580a14e875c2d8c027cf1a2ca03b849ff843 |
Headers | show |
Series | [01/18] HID: do not assume HAT Switch logical max < 8 | expand |
diff --git a/include/linux/hid.h b/include/linux/hid.h index b12cb1c8e682..8e06d89698e6 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -474,9 +474,9 @@ struct hid_usage { __s8 wheel_factor; /* 120/resolution_multiplier */ __u16 code; /* input driver code */ __u8 type; /* input driver type */ - __s8 hat_min; /* hat switch fun */ - __s8 hat_max; /* ditto */ - __s8 hat_dir; /* ditto */ + __s16 hat_min; /* hat switch fun */ + __s16 hat_max; /* ditto */ + __s16 hat_dir; /* ditto */ __s16 wheel_accumulated; /* hi-res wheel */ };
Turns out that the code can handle a greater range, but the data stored can not. This is problematic on the Raptor Mach 2 joystick which logical max is 239. The kernel interprets it as `-15` and thus ignores the Hat Switch handling. Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/issues/17 Signed-off-by: Benjamin Tissoires <bentiss@kernel.org> --- include/linux/hid.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)