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: 81093c9848a7 ("Input: xpad - support some quirky Xbox One pads") Cc: stable@vger.kernel.org # v4.12 Signed-off-by: Cameron Gutman <aicommander@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
||
|---|---|---|
| .. | ||
| iforce | ||
| a3d.c | ||
| adi.c | ||
| amijoy.c | ||
| analog.c | ||
| as5011.c | ||
| cobra.c | ||
| db9.c | ||
| gamecon.c | ||
| gf2k.c | ||
| grip_mp.c | ||
| grip.c | ||
| guillemot.c | ||
| interact.c | ||
| joydump.c | ||
| Kconfig | ||
| magellan.c | ||
| Makefile | ||
| 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 | ||