mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
a0979923d7
For devices not specifically listed in xpad.c, xpad->dpad_mapping is initially set to MAP_DPAD_UNKNOWN. In xpad_probe() it gets changed to either MAP_DPAD_TO_BUTTONS or MAP_DPAD_TO_AXES, depending on the module parameter dpad_to_buttons. However, MAP_DPAD_UNKNOWN is defined as -1, while the field is u8. This results in actual value of 255, causing the MAP_DPAD_UNKNOWN check in xpad_probe() to fail. Fix that by defining MAP_DPAD_UNKNOWN as 2 instead. Also, setting module parameter dpad_to_buttons to 1 should obviously map dpad to buttons, while the default behaviour (0) should be to map dpad to axes. However, dpad_to_buttons is directly assigned to xpad->dpad_mapping, and as MAP_DPAD_TO_BUTTONS is 0, the actual behaviour is reversed. Fix that by negating dpad_to_buttons in assignment. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> |
||
---|---|---|
.. | ||
iforce | ||
a3d.c | ||
adi.c | ||
amijoy.c | ||
analog.c | ||
cobra.c | ||
db9.c | ||
gamecon.c | ||
gf2k.c | ||
grip_mp.c | ||
grip.c | ||
guillemot.c | ||
interact.c | ||
joydump.c | ||
Kconfig | ||
magellan.c | ||
Makefile | ||
sidewinder.c | ||
spaceball.c | ||
spaceorb.c | ||
stinger.c | ||
tmdc.c | ||
turbografx.c | ||
twidjoy.c | ||
warrior.c | ||
xpad.c |