Steam Controller
The Steam Controller (2015) is a game controller developed by Valve. It features two trackpads (in place of thumbsticks) with haptic feedback and sixteen buttons. The Steam controller (2015) is designed not only for games supporting traditional controllers, but also for games that support keyboard and mouse.
Installation
Kernel
The Steam Controller (2015) is fully supported by Linux via the Steam client, however it does require USB and user level driver (CONFIG_INPUT_UINPUT) support.
Device Drivers ---> Input device support ---> [*] Generic input layer (needed for keyboard, mouse,...) [*] Miscellaneous devices ---> <*> User level driver support
To have kernel support for the Steam controller (2015) (which makes it possible to use the Steam controller (2015) when not running the Steam client), enable the driver support in the kernel (CONFIG_HID_STEAM). Steam Controller (2015) support was added in kernel version 4.3 and above.
Device Drivers ---> HID support ---> Special HID drivers ---> <*> Steam Controller support
Permissions
systemd
If Steam was installed manually and systemd/elogind are being used, create the following udev rules file:
/etc/udev/rules.d/99-steam-controller-perms.rules# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
# Steam Controller (2015) udev write access
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", TAG+="udev-acl"
# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"
# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"
The above udev rules file will grant access to the Steam Controller (2015) by automatically setting an ACL entry for the logged-in user.
If Steam was installed from anyc's Steam external repository, a udev rules file that supports systemd/elogind should already be installed with the >=steam-launcher-1.0.0.51-r1 ebuild.
If systemd/elogind are being used, set the USE variable to
acl to have the ACL entry set for the logged-in user.Next, reload the udev rules files and trigger a device event for the new rule:
root #udevadm control --reload
root #udevadm trigger
Once the udev rules files are reloaded, the user using the Steam Controller (2015) will need to log out/in for the correct permissions to be set.
Manual udev
If Steam was installed manually or from an external repository, and systemd/elogind are not being used, create the following udev rules file:
/etc/udev/rules.d/99-steam-controller-perms.rules# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
# Steam Controller (2015) udev write access
KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"
# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"
The above udev rules file will grant access to the Steam Controller (2015)for users in the input group:
root #gpasswd -a <user> inputUsage
Pairing
B+Steam puts the controller into Bluetooth Low Energy mode, whereas A+Steam puts the controller into wireless mode (requires the WiFi dongle).[1]
Press the Steam+Y key to enter pairing mode. Once paired successfully, the Steam button will glow white.
See the Bluetooth article for more information on pairing.
steam input
for full usage of both controllers steam input is required. in order to use steam input it must be enabled in the steam settings, you must also launch your software threw steam which works natively for steam games but you will have to add your other software as a non steam game. in order for steam input to properly work games must be launched as a x11 window or within a shared gamescope session for both the game and steam. running software inside gamescope is desirable as it allows for wayland functionality such as HDR and better fractional scaling. to achieve this you must either run steam in a separate tty via gamescope (same as the steam deck's "gaming mode") or while nested with a command like.
user $gamescope -f -W 3840 -H 2160 --hdr-enabled --hdr-debug-force-support -- steam --steamosSee also
- Sony DualShock — describes the use of Sony DualShock 3 / Sixaxis, DualShock 4, and DualSense PlayStation controllers via USB and Bluetooth.