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