linux/drivers/input/joystick
Christopher Crockett e23c69e332 Input: xpad - add support for XBOX One Elite paddles
An effort has been made to support every official model and firmware
version I could track down info on. The following controllers _should_
have working paddles with this PR:
- Xbox Elite (**untested**)
- Xbox Elite Series 2 on early firmwares (**untested**)
- Xbox Elite Series 2 on v4 firmwares (Tested v4.8.1908.0)
- Xbox Elite Series 2 on v5 pre-BLE firmwares (**untested**)
- Xbox Elite Series 2 on v5 post-BLE firmwares (Tested v5.13.3143.0)

This patch also introduces correct handling for the Elite 1 controller
and properly suppresses paddle inputs when using a custom profile slot.

Starting with firmware v5.11, certain inputs for the Elite 2 were moved
to an extra packet that is not enabled by default.

We must first manually enable this extra packet in order to correctly
process paddle input data with these later firmwares.

Signed-off-by: Christopher Crockett <chaorace@gmail.com>
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Link: https://lore.kernel.org/r/20220818154411.510308-5-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-09-06 11:45:27 -07:00
..
iforce Input: iforce - fix control-message timeout 2021-11-09 23:12:17 -08:00
a3d.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
adc-joystick.c Input: adc-joystick - add polled input device support 2022-08-17 12:32:51 -07:00
adi.c Input: adi - remove redundant variable z 2022-03-20 22:02:00 -07:00
amijoy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
analog.c Merge branch 'next' into for-linus 2021-11-11 21:58:54 -08:00
as5011.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cobra.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
db9.c Input: Use fallthrough pseudo-keyword 2020-07-07 11:25:54 -07:00
fsia6b.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gamecon.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gf2k.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
grip_mp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
grip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
guillemot.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
interact.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
joydump.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig Input: raspberrypi-ts - add missing HAS_IOMEM dependency 2022-05-31 14:10:03 -07:00
magellan.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Makefile Input: add Raspberry Pi Sense HAT joystick driver 2022-04-24 18:25:02 -07:00
maplecontrol.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
n64joy.c Input: n64joy - fix return value check in n64joy_probe() 2021-03-09 21:41:28 -08:00
psxpad-spi.c Input: psxpad-spi - switch to using polled mode of input devices 2019-10-29 17:13:36 -07:00
pxrc.c Input: pxrc - flatten probe code 2018-07-25 19:04:19 +00:00
qwiic-joystick.c Input: add SparkFun Qwiic Joystick driver 2021-06-18 21:28:20 -07:00
sensehat-joystick.c Input: sensehat-joystick - remove unnecessary error message 2022-06-28 22:50:48 -07:00
sidewinder.c Input: Fix fall-through warning for Clang 2021-07-06 16:26:17 -05:00
spaceball.c Input: spaceball - fix parsing of movement data packets 2021-12-30 21:09:29 -08:00
spaceorb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
stinger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 31 2019-05-24 17:27:10 +02:00
tmdc.c Input: tmdc - fix spelling mistake "Millenium" -> "Millennium" 2021-09-20 21:59:50 -07:00
turbografx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
twidjoy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
walkera0701.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
warrior.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 31 2019-05-24 17:27:10 +02:00
xpad.c Input: xpad - add support for XBOX One Elite paddles 2022-09-06 11:45:27 -07:00
zhenhua.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00