Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: joydev - allow binding to button-only devices

Dance pads don't have an axis, so allow this kind of controllers
to be used via legacy joystick interface.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

authored by

Christoph Fritz and committed by
Dmitry Torokhov
26a6931b e938fbfd

+18
+18
drivers/input/joydev.c
··· 929 929 .evbit = { BIT_MASK(EV_ABS) }, 930 930 .absbit = { BIT_MASK(ABS_THROTTLE) }, 931 931 }, 932 + { 933 + .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 934 + INPUT_DEVICE_ID_MATCH_KEYBIT, 935 + .evbit = { BIT_MASK(EV_KEY) }, 936 + .keybit = {[BIT_WORD(BTN_JOYSTICK)] = BIT_MASK(BTN_JOYSTICK) }, 937 + }, 938 + { 939 + .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 940 + INPUT_DEVICE_ID_MATCH_KEYBIT, 941 + .evbit = { BIT_MASK(EV_KEY) }, 942 + .keybit = { [BIT_WORD(BTN_GAMEPAD)] = BIT_MASK(BTN_GAMEPAD) }, 943 + }, 944 + { 945 + .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 946 + INPUT_DEVICE_ID_MATCH_KEYBIT, 947 + .evbit = { BIT_MASK(EV_KEY) }, 948 + .keybit = { [BIT_WORD(BTN_TRIGGER_HAPPY)] = BIT_MASK(BTN_TRIGGER_HAPPY) }, 949 + }, 932 950 { } /* Terminating entry */ 933 951 }; 934 952