Steamdeck Windows Controller Driver

A windows usermode controller driver for the steam deck internal controller.

View the Project on GitHub mKenfenheuer/steam-deck-windows-usermode-driver

Profiles allow you to set specific input mappings on a per game basis when a matching executable is found. Default Profile is used when no match is found.

Profile Settings

Disable Lizard Mode

Lizard mode allows the Steam Deck Controller to fall back to its lizard brain (mouse and keyboard emulation). When this mode is not marked as disabled the right trackpad is used for mouse movement, the right trigger is the left mouse button, and the dpad emulates the up, down, left, and right arrow keys of the keyboard. Place a checkmark in the box to disable Lizard Mode (disabling can prevent double input in games that use the dpad).

Axis Mappings

Axis mappings allow you to assign control to any Steam Deck hardware button with an axis to any Xbox controller axis button.

Hardware Button

The physical button on the Steam Deck that you would like to assign virtual input to.

Emulated Axis

The virtual axis you would like emulated for the hardware button.

Activation Button

Assigns another button that must be pressed to activate the emulation.

Inverted

Select inverted if you would like the inputs reversed (left is right, up is down, etc.) - useful if game does not support inversion natively.

Steam Deck Hardware Buttons with Axis:

Steam Deck Axis Buttons

Xbox Controller Buttons with Axis:

Xbox Controller Axis Buttons

Button Mappings

Button mappings allow you to assign the function of a Steam Deck button to any Xbox Controller button.

Steam Deck Hardware Buttons

Xbox Controller Buttons

Keyboard Mappings

Coming in version v0.2.5

Adding a Profile

  1. Click the + Add Profile button in the lower-left corner of the SWICD window while on the Profiles page.
  2. Navigate to the executable for the game that you’d like to make a profile for, select it, and then press Open.
  3. The Executable name will show up under Profiles on the left menu. Press the name of the executable on that menu and select the options you’d like to be loaded when that executable is launched.