Linux Kernel joystick max button number limitation is 80

Today latest Linux kernel stable version is 5.7.8.

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

We are selling USB joystick device QMCP737C for flight simulator, which is nothing but common USB HID joystick. it has physical 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 button, but we have 104 buttons.

I did a lots 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 continues 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 not align with char? integer? the answer is no

so may I ask to expand KEY_MAX to such as 0x4ff?

I did a quick test on Ubuntu, all 104 buttons are showing up

then a patch is submitted to kernel driver input group
https://patchwork.kernel.org/patch/11655815/

Ubuntu运行X-Plane 11.50b3 vulkan图形加速

今天测试的Linux发行版是

Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic

我们看一下X-Plane 11.50b3 vulkan

Nvidia驱动版本号是440

Ubuntu Linux的帧数真不比windows 10差

ZIBO的波音737-800的3.39包已经是完整包

今天ZIBO放出的Boeing B737-800X 3.39已经是个完整包。这里是他的安装步骤

Installation:

1/ Delete old release (backup folder before delete)
2/ Copy folder “B737-800X” to folder “XPLANE11/Aircraft/“
3/ Download and install latest TerrainRadar plugin by DrGluck
4/ Download and install latest AviTab plugin by Folko
5/ Enjoy

我们可以看见,已经不需要复制X-Plane 11自带的波音737,这说明ZIBO和LR X-Plane已经达成协议,ZIBO可以任意修改X-Plane 11自带的波音737,并且可以再次发布给其他人。

换成人话就是ZIBO得到了X-Plane官方的大力支持