Skip to content

About

Use the Nintendo Switch 2 Pro Controller on PC as an Xbox 360 or DualShock 4 controller — gyro, two-finger touchpad gestures, rumble, Steam priority. Windows & Linux.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Switch2Pad icon

Switch2Pad

Use your Nintendo Switch 2 Pro Controller on PC as an Xbox 360 or DualShock 4 controller — with gyro, touchpad gestures and rumble.

Latest release Downloads Windows Linux Stars License: MIT

English · Español · Português · Français · Deutsch · Italiano · 日本語 · 简体中文

Switch2Pad main window: live 3D controller, touchpad and gyro

Why Switch2Pad?

Windows and most games don't understand the Switch 2 Pro Controller over USB: it doesn't even send input until it receives a special initialization sequence. Switch2Pad talks to the controller directly and turns it into a virtual Xbox 360 or DualShock 4 that every game, emulator and launcher already supports.

  • 🎮 Xbox 360 or PS4 mode — switch at any time, even while playing.
  • 🌀 Gyro & accelerometer (PS4 mode) — motion aiming in games and emulators that support DS4 motion.
  • ✌️ Touchpad gestures, including two fingers — hold Capture and the sticks become fingers; D-pad for quick swipes; L3/R3 to click the left/right side of the pad.
  • 🎯 Gyro aiming in any game — move the mouse or the right stick by moving the controller, even in Xbox mode (always on, while holding a button, or toggle).
  • 🗂️ Per-game profiles that switch automatically with the game in the foreground.
  • ⌨️ C-button shortcuts (switch Xbox/PS4, pause gyro, rumble strength, change profile) without leaving the game.
  • 🔁 Turbo per button, rumble strength, stick response curves and axis inversion.
  • 📳 Rumble forwarded from the game to the controller.
  • 🧊 Live 3D controller that follows the real controller's gyro and lights up the buttons you press.
  • 🚫 Priority over Steam — one click stops Steam from grabbing and remapping the controller.
  • 🔧 Remap every button, A/B/X/Y by position or by letter, stick dead zone.
  • 🪟 Native Windows 11 look (Mica, light/dark, accent color), system tray and start with Windows.
  • 🌍 7 languages: English, Español, Português, Français, Deutsch, Italiano, 日本語.
  • 🐧 Windows and Linux.

Download

Platform File Notes
Windows 10/11 Switch2Pad.exe No installation. If ViGEmBus is missing, the app offers to install it.
Linux x86_64 Switch2Pad-<version>-linux-x86_64.tar.gz Extract and run ./install.sh (adds a menu entry and the udev rules).

Quick start

  1. Plug the Switch 2 Pro Controller in with a USB-C cable.
  2. Open Switch2Pad and pick Xbox 360 or PS4 · DualShock 4.
  3. Play. Closing the window keeps it running in the system tray.

Using Steam? Open the Steam tab and click Give Switch2Pad priority so Steam stops taking over the controller (Steam restarts by itself; a backup of its config is kept).

Screenshots

Touchpad gestures & background options Button remapping
Touchpad gestures Button remapping
Priority over Steam Light theme · Xbox mode
Steam priority Light theme
Gyro aiming Per-game profiles
Gyro aiming Per-game profiles
Translated UI (日本語) System tray
Japanese UI Tray menu

Touchpad gestures (PS4 mode)

Hold the button assigned to the touchpad (Capture by default) and:

Input Touchpad action
Right / left stick Finger 1 / finger 2 — move both for two-finger gestures (e.g. "MOVE CAR" in inFAMOUS Second Son)
D-pad Quick swipe in that direction (hold ZL or ZR for a two-finger swipe)
L3 / R3 Finger on the left / right side + click (both = two fingers + click)
Rotate the controller Drag one finger with the gyro (optional)
Short tap of the button Click

While the touchpad button is held, the sticks and D-pad are not sent to the game.

C-button shortcuts

Hold C (the Switch 2 chat button) and press:

Button Action
X Switch between Xbox 360 and PS4
Y Enable / pause gyro aiming
↑ / ↓ More / less rumble
L / R Previous / next profile

FAQ

Does it work with Bluetooth? Not yet — USB only.
Which mode should I use, Xbox or PS4? Xbox 360 works with almost every PC game. Use PS4 when you want gyro/motion or the touchpad (PS4 emulators such as shadPS4, games with DS4 support, Steam).
A game sees two controllers. Hide the physical controller with HidHide, or enable priority over Steam if the second one comes from Steam Input.
Does it need admin rights? It runs as a normal user. Only installing ViGEmBus (Windows) or the udev rules (Linux) asks for admin rights, once.
Which controllers are supported? Switch 2 Pro Controller (tested). NSO GameCube controller: experimental. Joy-Con 2: not yet.

Build from source

pip install -r requirements.txt pyinstaller
python -m PyInstaller switch2pad.spec      # Windows -> dist/Switch2Pad.exe
sh build_linux.sh                           # Linux   -> dist/Switch2Pad-<version>-linux-x86_64.tar.gz

Run without building: python -m switch2pad (or --cli for a console-only mode, --minimized to start in the tray). Settings are stored in %APPDATA%\Switch2Pad\config.json (Windows) or ~/.config/switch2pad/config.json (Linux).

How it works

The controller is initialized over its USB bulk interface (protocol based on SDL's SDL_hidapi_switch2.c), input reports are read from the HID interface and translated to a virtual controller: ViGEmBus on Windows, uinput on Linux (devices identical to the kernel's xpad / hid-playstation, so SDL, Steam and Proton recognize them). The 3D view is rendered with OpenGL from the author's own controller model (assets/pro_controller.npz, generated by tools/convert_model.py), with a software fallback.

Contributing

Issues, ideas, translations and pull requests are welcome — see CONTRIBUTING.md. If Switch2Pad helps you, a ⭐ star helps other people find it.


License

MIT © Tomás González. The 3D controller model was made by the author.

Switch2Pad is an independent project and is not affiliated with or endorsed by Nintendo, Sony, Microsoft or Valve. Nintendo Switch, DualShock, Xbox and Steam are trademarks of their respective owners.

About

Use the Nintendo Switch 2 Pro Controller on PC as an Xbox 360 or DualShock 4 controller — gyro, two-finger touchpad gestures, rumble, Steam priority. Windows & Linux.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages