[PATCH 00/13] HID: new driver for PS5 'DualSense' controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux