mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
HID: handle joysticks with large number of buttons
Current HID code doesn't properly handle HID joysticks which have larger number of buttons than what fits into current range reserved for BTN_JOYSTICK. One such joystick reported to not work properly is Saitek X52 Pro Flight System. We can't extend the range to fit more buttons in, because of backwards compatibility reasons. Therefore this patch introduces a new BTN_TRIGGER_HAPPY range, and uses these to map the buttons which are over BTN_JOYSTICK limit. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> [for the input.h part] Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
92688c0c3c
commit
cf2f765f18
2 changed files with 48 additions and 1 deletions
|
@ -198,7 +198,12 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
|
|||
switch (field->application) {
|
||||
case HID_GD_MOUSE:
|
||||
case HID_GD_POINTER: code += 0x110; break;
|
||||
case HID_GD_JOYSTICK: code += 0x120; break;
|
||||
case HID_GD_JOYSTICK:
|
||||
if (code <= 0xf)
|
||||
code += BTN_JOYSTICK;
|
||||
else
|
||||
code += BTN_TRIGGER_HAPPY;
|
||||
break;
|
||||
case HID_GD_GAMEPAD: code += 0x130; break;
|
||||
default:
|
||||
switch (field->physical) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue