The Parsec app enables gamepad input to be passed from client to host using our virtual USB driver. If your friends or guests prefer to use a gamepad, it should work out of the box, but some additional customization may be necessary depending on the gamepad type and/or player preference. In the Windows version of the Parsec app, you can choose to have your virtual controller emulated as an Xbox controller or as a DS4 controller.
Table of contents
Using a gamepad
Change input mapping
Adjust gamepad emulation settings on host
Rearrange controller order
DualShock 4 touchpad support
Disable controller to keyboard and mouse conversion
Emulating a controller with a keyboard
Known issues
Using a gamepad
Checking Parsec recognizes the gamepad
Before connecting, you can check that your controller is recognized by Parsec with these steps:
- Plug in or connect the gamepad on the client computer
- Open the Parsec settings by clicking the 'Settings' cog
- Click the 'Gamepad' tab
- Select the specific controller you want to test in the dropdown menu
- Press buttons on your controller and check that the 'State' section updates accordingly
If you do not see your controller in the list, see our section for "Parsec can't see the controller on the guest" on our troubleshooting page for controller issues.
How to use a gamepad on the host computer
- Plug in or connect the gamepad on the client computer
- Connect to a computer on Parsec, via the Computers tab
- Press one of the face buttons on the controller(s) you want to use to add it to the host computer
- The host computer should play an USB plug-in sound, indicating that the controller has been added
- Start a game and play! (depending on the game, you may need to enable co-op or configure the game)
If your controller does not work correctly, see our troubleshooting page for controller issues.
Change input mapping
If your controller seems to be mapped wrong, the main thing you should do is confirm where your buttons are are mapped to, and adjust mappings if necessary. If things are mapped properly on the client, the rest is up to the game on the host. You should ensure the game on the host isn't mapped incorrectly either, in that case.
- Open the Parsec settings by clicking the 'Settings' cog
- Click the 'Gamepad' tab
- Select the specific controller you want to remap in the dropdown menu
- Click 'Map' on the button you want to remap
- Ensure 'State' for relevant button says 'Do something...'
- Press the button, or move the joystick, to map the physical button to the input option
Adjust gamepad emulation settings on host
Parsec allows clients to use any controller of their choice, but when they connect to a host computer, the host will convert it to a specific controller type. For most people, Parsec’s default option to emulate a Xbox 360 controller will work just fine, and will work perfectly well with the majority of games.
However, if you’re looking for specific features available in Sony Playstation controllers, such as touchpad and motion support, compatibility with Playstation Remote Play, and others, you can select different controllers:
Emulated controller | Supported features | Host requirements | Client requirements |
---|---|---|---|
Xbox 360 (default) | All buttons, vibration | No special requirements | No special requirements |
Sony Dualshock 4 | All buttons, vibration, touchpad | For using touchpad: Parsec Virtual USB Driver 0.1.1.0 or newer, or, ViGEm 1.17+ | For using touchpad: An official Dualshock 4 controller on a Windows or macOS client |
Sony Dualsense | All buttons, touchpad, haptics, adaptive trigger, motion | Parsec Virtual USB Driver 0.2.5.0 or newer | For all features: An official Sony Dualsense controller plugged with a USB cable on a Windows client |
You can alter the emulated controller in your host computer’s Parsec settings. The Parsec Virtual USB Driver is downloadable from the same location.
- Open the Parsec settings by clicking the 'Settings' cog
- Click the 'Host' tab
- Install the latest Virtual USB Driver by clicking the link in the 'Parsec Virtual USB Gamepads' setting
- To use our legacy controller emulation method you can use ViGEmBus instead, maintained by Benjamin Höglinger (nefarius). The driver and library are under an BSD 3-Clause Licence and can be manually downloaded from ViGEm's GitHub
- Ensure 'Enabled' is selected in the 'Parsec Virtual USB Gamepads' setting
- Select the type of controller the host computer should emulate when a client is connected with a gamepad
- Scroll to the top of the settings page and click 'Restart' to apply changes
Rearrange gamepad order
Rearranging the controller order can be useful in various scenarios, such as when your game only lets one person control at a time and you want to take turns with someone else. While Parsec itself does not have an easy feature that lets you change the controller position, you can still do it with either method below. You should do these on the computer that is hosting the game.
Method 1: Use the game or emulator settings
Most emulators have flexible enough settings that allow you to change who is in control of which slot in the emulated console. Some games may also let you do it, although that is rarer. Check your game or emulator settings.
Method 2: Disconnect and reconnect in order
You can turn off all guest and host controllers, then reconnect them in the order you want them to be in, such that the game recognizes controllers in a different order.
The host should unplug or turn off their own controller, and right-click Parsec in the taskbar and click "Reset gamepad" to disconnect the controllers of all the guests who are connected.
To reconnect, plug or turn on the host controller, and press buttons on the guest controllers in the order you want the controllers to be in. Once done, you should have a different controller order.
Method 3: Steam Input
You can start a game inside Steam's Big Picture Mode, and use the in-game big picture overlay to change the position, or configure a button combo on your controller to do it.
After starting a game inside Big Picture, you can use the guide button (xbox or playstation icon in your controller) to bring up the overlay, and in Controller Options > Rearrange Controller Order, you can tweak the order.
If you want to set a button combo in your controller to more quickly switch the position, you can make it so that pressing the guide button along with something else swaps your controller into a given position.
To configure it, get out of the game and go back to the main Big Picture menu. Click the Settings icon > Base Configurations > Steam Button Chord. Select something like button X, click the icon that has a controller and two users, and select the player that your controller will be swapped to when you press the guide button along with the button you chose. Once done, open a game inside Big Picture to use it.
You'll probably want at least two different buttons, for example, Guide button + X set to swap your controller to player 1, and Guide button + B set to swap your controller to player 2.
DualShock 4 touchpad support
Guests on Windows and macOS can use both the Dualshock 4 and DualSense controller's touchpad. touchpad input will be passed onto the host as a DualShock 4 controller, for games and programs that use it. To use the DualShock 4 touchpad, we recommend using the latest version of the Parsec virtual USB driver. Alternatively you can use the 1.17.333 ViGEm driver, or newer. If you decide to use the ViGEm driver, check which version you have by following the steps below:
- Open Device Manager
- Expand the "System devices" section
- Check if you see "Nefarius Virtual Gamepad Emulation Bus". If you see that specific name, you already have the newest driver and you should be able to use the touchpad
If you don't have the newest version, either reinstall Parsec or run the latest ViGEm installer found on GitHub, then restart the computer.
To use the touchpad with the new drivers, change your host's 'Virtual Gamepad Type' to DualShock 4 following the steps outlined in adjust gamepad emulation settings on host. Don't forget to restart the Parsec application after making the change.
Disable controller to keyboard and mouse conversion
In Steam, there is a setting that converts controllers to a mouse/keyboard. You should disable this if you are hosting. If this Steam setting is enabled, Steam will always convert your friends controller to a mouse on the desktop and in non-Steam games.
- Open the Big Picture Mode on Steam
- Click the 'Settings' cog
- Go to the 'Controller Settings'
- Disable 'Xbox Configuration Support'
It's also possible to disable desktop mode on its own if you want the Xbox support. For that, instead go to Controller Settings > Base Configurations > Desktop Mode > Browse Configs > Disabled.
Emulating a controller with a keyboard
This is a tutorial on using UCR, which emulates an xbox controller and uses your keyboard as input. This is useful in cases where multiple people only have a keyboard to play games with, and the game does not let you use a different set of keys for each player. It can also be useful if the host can't or doesn't want to give you actual keyboard permissions. UCR can take a while to set up, so if possible, use a controller instead.
Installing UCR
You will want to setup UCR on the guest's computer, instead of the host. This will allow the host to use their mouse and keyboard as normal, while the guest uses the emulated controller.
- Download UCR and Interception, and unzip both
- Go to Interception's folder > command line installer
- Hold shift and right-click install-interception.exe, then click Copy as path
- Open command prompt as administrator
- Paste the path, type " /install" (with the space), and press enter
- You should see a success message. If you don't, you might have done something wrong. You can get a general idea of how a correctly entered command looks like below, although the path you copied may look different
- Restart your computer
Creating a profile
- Open UCR from its folder
- Click the plus icon next to Profiles
- On Input Devices, select a keyboard (starting with K:) from Core_Interception. If you see multiple keyboards, you can choose one and if things don't work later on, re-create a profile with another keyboard selected
- On Output Devices, select ViGEm Xbox 360 Controller 1. If you don't see ViGEm, install it from GitHub, then restart your PC
- Name the profile anything you want and hit Create
Configuring the profile
Once you create the profile, double-click it in the list to start configuring which keys on the keyboard will trigger a button on the controller. The following is what you do for each button:
- Choose a plugin on the left (each plugin is explained further below this article)
- Name your plugin anything you want and hit Accept
- On the right side, click the blue buttons to choose your key and controller button
- Repeat for every button in the controller
In the example above, I set my keyboard key "L" to trigger the face button "A" in the controller. There are three plugins you can choose, and each of them are for a specific set of buttons on the controller. Click a section below to learn more about each.
Use it for normal buttons (A, B, Start, Dpad, etc.). There's nothing special to this, just click the blue buttons to select what key on your keyboard and button on the controller it is.
Use for the left trigger (LT) and right trigger (RT). Map as normal, but set Axis on Release to -100. If you forget to set this to -100, you may find your triggers are permanently activated when in-game.
Use for the left stick (LX, LY) and right stick (RX, RY). You'll be mapping two keys at once for each axis, such as W and S for up and down.
To make sure the directions aren't inverted, you need to map in this specific order:
- LX (left stick, horizontal): map the right key first, then left
- LY (left stick, vertical): up then down
- RX (right stick, horizontal): right then left
- RY (right stick, vertical): up then down
The example below maps the left stick to WASD.
Activating and troubleshooting
To activate the mapping, select the profile and hit the play button to activate. You can then test if the controller works as expected with gamepad-tester.com.
Other considerations
- The mapped keys won't prevent your keyboard from typing as normal, unless you follow this tutorial to enable blocking
- If you notice extra key presses being added or the mouse being triggered, it's likely because of Steam
- If the UCR controller isn't detected by the host, the host should look into the article on controller issues
- If people are still controlling the same player in the game, check this article on issues with controlling the same player. If at least one person (such as the host) is still using the real mouse and keyboard instead of UCR, you may need that person to also use UCR to avoid this, depending on how the game was programmed
Known issues
Controller has some stuck inputs while playing
Xbox One S bluetooth controllers are known to get triggers and other buttons stuck sometimes, specifically when they vibrate. To fix this, update the controller's firmware to something above version 4 using the Xbox Accessories app.
General tips for Windows users
Most popular controllers work just fine, such as genuine Dualshock 4, Dualsense, Switch Pro, Joycon, and Xbox controllers. Gamecube controllers will work with a Mayflash adapter set to PC mode.
If the controller is showing but can't be remapped properly, or it is generally behaving weirdly, consider searching for a program to convert it to Xinput, the xbox controller API.
macOS support
If you're using an xbox controller with the 360Controller driver (for macOS Catalina or older), go to its preferences in System Preferences and turn on "Pretend to be an Xbox 360 Controller" in the advanced tab.
macOS by default supports official Bluetooth Xbox One, PS4, Xbox One Series S/X, PS5 and Made For Apple controllers only. If you've tried your Bluetooth controller and it doesn't work with macOS, but it is an official first party controller as mentioned above, Apple recommends upgrading to the latest version of macOS.
Issues with Dualshock 3 on Linux and Dualsense on Android
We're currently aware of an issue with the d-pad on Dualshock 3 controllers on Linux, and general broken mapping with Dualsense controllers on Android. There's no workaround for those issues at this time.
Issues with haptic feedback when using a Dualsense controller
If your client device's system language is not english, it's possible the haptic feedback feature won't work on Parsec. It is however possible to work around this issue while a fix isn't implemented:
- Press Windows + R
- Type
mmsys.cpl
- Press enter
- Find the wireless controller speakers in the list and double-click it
- Change the name field to
Speakers
- Click OK to apply changes
- Restart your Parsec client by right-clicking the small icon in the taskbar and selecting 'Restart'
Triggers on Android
Some controllers may require additional remapping in the Parsec settings for the triggers to work. If your triggers don't work, please use the steps further above in this page to map your triggers. In addition, some controllers will only work with digital triggers (on/off) instead of analog (0-255). There's no workaround for the analog issue at this time.