Skip to content

Commit 9ba9498

Browse files
endriftbentiss
authored andcommitted
HID: hid-steam: Add Steam Deck support
Add preliminary support for the Steam Deck's controller interface. Currently, this only supports the controller inputs and toggling lizard mode (Valve's name for a hardware kb/m emulation mode). It does not support any of the advanced features, such as the motion sensors or force-feedback. The Steam Deck also includes a heartbeat for lizard mode that switches it back on if no reports have been received within a few milliseconds. The official Steam client handles this by sending a handful of configuration reports every few ms, so we copy this behavior by sending configuration reports to disable the mouse and reset the digital mappings every 5ms. As this isn't needed for the older Steam Controller, this is only done on the Steam Deck. Signed-off-by: Vicki Pfau <[email protected]> Reviewed-by: Lyude Paul <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Benjamin Tissoires <[email protected]>
1 parent 7287904 commit 9ba9498

File tree

3 files changed

+306
-28
lines changed

3 files changed

+306
-28
lines changed

drivers/hid/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,10 +1018,10 @@ config HID_SPEEDLINK
10181018
Support for Speedlink Vicious and Divine Cezanne mouse.
10191019

10201020
config HID_STEAM
1021-
tristate "Steam Controller support"
1021+
tristate "Steam Controller/Deck support"
10221022
select POWER_SUPPLY
10231023
help
1024-
Say Y here if you have a Steam Controller if you want to use it
1024+
Say Y here if you have a Steam Controller or Deck if you want to use it
10251025
without running the Steam Client. It supports both the wired and
10261026
the wireless adaptor.
10271027

drivers/hid/hid-ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1182,6 +1182,7 @@
11821182
#define USB_VENDOR_ID_VALVE 0x28de
11831183
#define USB_DEVICE_ID_STEAM_CONTROLLER 0x1102
11841184
#define USB_DEVICE_ID_STEAM_CONTROLLER_WIRELESS 0x1142
1185+
#define USB_DEVICE_ID_STEAM_DECK 0x1205
11851186

11861187
#define USB_VENDOR_ID_STEELSERIES 0x1038
11871188
#define USB_DEVICE_ID_STEELSERIES_SRWS1 0x1410

0 commit comments

Comments
 (0)