Fwd: Linux General Joystick Max buttons limitation 80

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Joystick Maintainer,

we found Linux kernel has max joystick buttons up to 80, no more

We are selling a USB joystick device QMCP737C for flight simulator,
which is nothing but a common USB joystick. it has 104 buttons

Product link
https://x-plane.vip/quickmade/qmcp737c/

it works good on Windows, Mac, but not on Linux.
Linux kernel exposes /dev/input/js0 max to 80 buttons, but we have 104 buttons.

I did a lot of google search, but nothing I got. then I have to look
at Kernel source, to find out where this number max 80 comes from

Eventually I found the final limitation

#define BTN_JOYSTICK 0x120

#define BTN_DEAD 0x12f

#define BTN_TRIGGER_HAPPY 0x2c0

#define KEY_MAX 0x2ff

include/uapi/linux/input-event-codes.h

according to function hidinput_configure_usage() in file drivers/hid/hid-input.c

the joystick button mapping is not a continuous space, general speak
the mapping space is from

BTN_JOYSTICK~BTN_DEAD
BTN_TRIGGER_HAPPY~KEY_MAX

and finally I got the max limitation is 80.

My question is why KEY_MAX is 0x2ff?  this number 0x2ff looks like it
does not align with char?integer? the answer is no

so may I ask to expand KEY_MAX to such as 0x4ff? or you need me to
submit patch for it, I am OK

Thank you



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux