From: Roderick Colenbrander <roderick.colenbrander@xxxxxxxx> Hi, I am pleased to share a new Linux driver for the PlayStation 5 'DualSense' game controller. The driver supports the DualSense in both Bluetooth and USB modes. Most controller features are supported including LEDs, Touchpad, Motion Sensors and Rumble. DualSense supported is implemented in a new 'hid-playstation' driver, which will be used for peripherals by 'Sony Interactive Entertainment' (PlayStation). Hid-sony will be used for devices for the larger Sony Group. We intend to migrate existing devices over time gradually to hid-playstation. We do not want to cause any regressions and maintain quality. As such moving forward, unit tests are important and we started by providing these through 'hid-tools' including DualSense. The Linux driver exposes DualSense functionality as a 'compositive device' similar to DualShock 4 in hid-sony, spanning multiple frameworks. First, it exposes 3 evdev nodes for respectively the 'gamepad', 'touchpad' and 'motion sensors'. The FF framework is used to provide basic rumble features. The leds-class is used to implement the Player indicator LEDs below the DualSense's touchpad, while the new 'leds-class-multicolor' is used for the lightbars next to the touchpad. Not yet supported are new unique features introduced by the DualSense such as Adaptive Triggers and the VCM based Haptics. These features require a large amount of data and complex data structures. It is not clear how to expose these. The current Evdev and FF frameworks are too limiting. We hope to have a dialog on how to expose these over time in a generic way. Enjoy the new DualSense driver and let us know if you have any questions or feedback. Thanks, Roderick Colenbrander Sony Interactive Entertainment, LLC Roderick Colenbrander (13): HID: playstation: initial DualSense USB support. HID: playstation: use DualSense MAC address as unique identifier. HID: playstation: add DualSense battery support. HID: playstation: add DualSense touchpad support. HID: playstation: add DualSense accelerometer and gyroscope support. HID: playstation: track devices in list. HID: playstation: add DualSense Bluetooth support. HID: playstation: add DualSense classic rumble support. HID: playstation: add DualSense lightbar support HID: playstation: add microphone mute support for DualSense. HID: playstation: add DualSense player LEDs support. HID: playstation: DualSense set LEDs to default player id. HID: playstation: report DualSense hardware and firmware version. drivers/hid/Kconfig | 20 + drivers/hid/Makefile | 1 + drivers/hid/hid-ids.h | 1 + drivers/hid/hid-playstation.c | 1416 +++++++++++++++++++++++++++++++++ drivers/hid/hid-quirks.c | 4 + 5 files changed, 1442 insertions(+) create mode 100644 drivers/hid/hid-playstation.c -- 2.26.2