mirror of https://gitee.com/openkylin/linux.git
f5308d1b83
The PowerA gamepad initialization quirk worked with the PowerA
wired gamepad I had around (0x24c6:0x543a), but a user reported [0]
that it didn't work for him, even though our gamepads shared the
same vendor and product IDs.
When I initially implemented the PowerA quirk, I wanted to avoid
actually triggering the rumble action during init. My tests showed
that my gamepad would work correctly even if it received a rumble
of 0 intensity, so that's what I went with.
Unfortunately, this apparently isn't true for all models (perhaps
a firmware difference?). This non-working gamepad seems to require
the real magic rumble packet that the Microsoft driver sends, which
actually vibrates the gamepad. To counteract this effect, I still
send the old zero-rumble PowerA quirk packet which cancels the
rumble effect before the motors can spin up enough to vibrate.
[0]: https://github.com/paroj/xpad/issues/48#issuecomment-313904867
Reported-by: Kyle Beauchamp <kyleabeauchamp@gmail.com>
Tested-by: Kyle Beauchamp <kyleabeauchamp@gmail.com>
Fixes:
|
||
---|---|---|
.. | ||
iforce | ||
Kconfig | ||
Makefile | ||
a3d.c | ||
adi.c | ||
amijoy.c | ||
analog.c | ||
as5011.c | ||
cobra.c | ||
db9.c | ||
gamecon.c | ||
gf2k.c | ||
grip.c | ||
grip_mp.c | ||
guillemot.c | ||
interact.c | ||
joydump.c | ||
magellan.c | ||
maplecontrol.c | ||
psxpad-spi.c | ||
sidewinder.c | ||
spaceball.c | ||
spaceorb.c | ||
stinger.c | ||
tmdc.c | ||
turbografx.c | ||
twidjoy.c | ||
walkera0701.c | ||
warrior.c | ||
xpad.c | ||
zhenhua.c |