User-mode driver, mapper and GTK3 based GUI for Steam Controller, DS4 and many other controllers.
- Allows to setup, configure and use the Steam Controller without ever launching Steam
- Connect multiple controllers at the same time
- Supports profiles switchable in GUI or with controller button
- Stick, Pads and Gyroscope input
- Haptic Feedback and in-game Rumble support
- OSD, Menus, On-Screen Keyboard for desktop and in games.
- Automatic profile switching based on active window.
- Macros, button cycling, rapid fire, modeshift, mouse regions, …
- Emulates Xbox360 controller, mouse, trackball and keyboard.
Based on Standalone Steam Controller Driver by Ynsta.
You can check out the ways to donate on my website, or just go straight to my Ko-Fi.
Donation links for kozec, who is the original developer, can be found on the old upstream repository.
Linux:
- Arch Linux: Found in AUR/sc-controller and AUR/sc-controller-git
- Ubuntu (22.04-jammy, 24.04-noble): Packaged as AppImage in GitHub releases, which may also run fine on other operating systems - jammy image is currently the most compatible one
- Gentoo: Packaged as game-util/sc-controller
- Void Linux: Packaged as sc-controller - Run
xbps-install -S sc-controller
in a terminal, points to archived Ryochan7's fork at the time of writing - Others: You can attempt to use one of the AppImages (try all, AppImages built on older distributions tend to work better), or a package meant for your parent distribution if applicable. Flatpak is planned.
Windows:
- It should be possible to get it running as per the wiki, but this is untested and might be broken, report a bug if so
- Python 3.9+
- GTK 3.24+
- PyGObject
- python-gi-cairo and gir1.2-rsvg-2.0 on Debian-based distributions (included in PyGObject elsewhere)
- setuptools
- python-evdev
- python-pylibacl
- python-vdf
- python-libusb1
- python-ioctl-opt
- gtk-layer-shell
Download and extract latest release.zip releases without .git directory are currently broken - tracked in #50- Clone the repository
git clone https://github.com/C0rn3j/sc-controller.git
and navigate into it:cd sc-controller
python3 -m build --wheel
python3 -m installer --destdir="./build" dist/*.whl
- Run the app via:
SCC_SHARED="${PWD}" PYTHONPATH="./build/usr/lib/python3.12/site-packages" PATH="${PWD}/build/usr/bin:${PATH}" ./build/usr/bin/sc-controller
A test build with Docker can be created using the following way:
docker build -o build-output --build-arg BASE_CODENAME=noble .
Download and extract latest release.zip releases without .git directory are currently broken - tracked in #50- Clone the repository
git clone https://github.com/C0rn3j/sc-controller.git
and navigate into it:cd sc-controller
- Optionally checkout a branch or a tag, like
python3
(default) orv0.4.9.8.8
- Execute
./run.sh
, this automatically builds the project into a venv called.env
, activates it and runs sc-controller, which in turn runs scc-daemon if one does not run already - If you are debugging an issue, running
./run.sh daemon
first will launch the daemon in debug mode, allowing you to launch sc-controller in another terminal with./run.sh