Steam

Steam

Not enough ratings
Mouse and Keyboard to XB1 gamepad remapping guide
By Krunjey
This is a guide for remapping KB/M to XB1 gamepad controls. This should be good for games that only works with XB1 gamepads, and should be good for a few years until the next MS console.

This should be a better method for playing games that uses gamepads as it should be using the native XB1 driver from MS (when compared to my other guide that uses vJoy and UCR). I know vJoy/UCR should be able to control the XB1 driver, but I didn't get that to work so I'm using this instead. However, this method requires less stuff to be opened at the same time, as it effectively combines a few thing together.

I've also tried things like x360ce with GPDSCK, and I find that not only does it also required opening a bunch of stuff at once, but it is more prone to generating stuck keys as well (since it has to go through a few more things comparatively, but maybe I'm using it incorrectly). This guide should provide a clean and simple alternative.
   
Award
Favorite
Favorited
Unfavorite
Prerequisite
Virtual Controller
https://sourceforge.net/projects/vjoy-controller/

Microsoft Xbox One Controller Driver for Windows 64-bit (not sure if there is x32)
https://www.techspot.com/drivers/driver/file/information/17648/ (because MS removed the official link)

NET Framework 2.0

vJoy (should not be required, but get it if there is a problem)
http://vjoystick.sourceforge.net/site/index.php/download-a-install/download
Configuration - Device
Open Virtual Controller, then click Options (do not click Run yet).

In Options->IO Devices->Input, verify mouse and keyboard are enabled (can use default values for them).

In Options->IO Devices->Output, verify vXbox is enabled. Check Virtual Bus status is Install. Set device to vXbox 1 and verify status is Plug In. Also check Auto Plug In under the device.


Verify in Device List under Options that mouse and keyboard are listed in Input and vXbox 1 is listed in Output.

Open Game Controllers in Windows (use WinKey search), there should be a Xbox controller when Virtual Controller is opened.


Return back to the main window of Virtual Controller, click Run. If everything is setup correctly, the status change from red to green. Click Stop when not using it for a game.
Configuration - Controls (Keyboard)
In Virtual Controller, click Controls. It should open the Bind Manager.

Let's set up keyboard to buttons first as that is easier, and should provide info for later steps.

In Virtual Controller, its seems that gamepad buttons need to be set for press and release individually, as opposed to UCR that handles it for you. Its not a bad implementation, as there are games that requires holding multiple buttons, but it means that there will be some trivial but repetitive amount of work.

To bind a key, create two separate entries for a given output key for press and release state. The software has a predefined list of keys for inputs and outputs for each selected device, so no guesswork is required.

A normal setup should be similar to this.


Select any input and output button you want. Most normal face buttons should be usable this way.

If you want to set triggers to keys, you will need to set the correct pressed and release state differently as they are axis and not buttons.
You will also need to specify what the neutral state is. Normally the default is 50, with 0 and 100 being max negative value and max positive value. For sticks this could mean up or down, left or right. But for triggers, especially being mapped to digital keys, this feature is not necessary as only on/off should be enough. Open the two keys again and open Axis Settings, set Neutral Position to 0.
Configuration - Controls (Mouse)
In Virtual Controller, click Controls. Open the Bind Manager.

For mouse configuration, I will simply state the straight forward remapping method; Virtual Controller has other options you can try, but they did not perform as I wanted and I didn't use any of them. You can experiment if you want.

To set the mouse to stick axis, we need a positive, negative, and release (neutral) value. Like the trigger values, we can set 0 and 100 as max negative and max positive . However, since direction is involved you will need to check the stick is moving in the way you wanted in game, so change as needed. A neutral value is also required to correspond to when the stick is not used (ie. stick in center position).

A normal setup should be similar to this.

We don't need to change Axis Setting->Neutral Position as we do want a neutral position.

If you want to change the sensitivity, use other values within 0-100 (ie. 25,75) instead for negative and positive controls (or maybe change sensitivity in Axis Setting, its up to you).

Setup X and Y axis for left and right stick separately. With this control, you should be able to go up,down,left,right, and stop as normal. Experiment with the options as you want, but have some reasonable expectation if comparing to mouse controls implemented natively by good developers (but then again this is most likely used for games that don't have mouse support in the first place).
Usage
Open Virtual Controller and click Run before opening the game, check game has detected the new controls.

After closing game, click Stop in Virtual Controller and exit it.

Also check that Virtual Controller is not set to auto start if you wish.

After editing controls and exiting, you will be promoted to auto-saved the control list. You can also manually save the control list if you want, and therefore be able to try out different sets of controls without overriding any of them.

IMPORTANT NOTE:
If a game requires multiple buttons, make sure to use all remapped key or none at all. Game may not register if a mapped and unmapped key is used simultaneously (it will be the same as pressing on gamepad and keyboard at the same time).
Credits
VIRTUAL / virtualhost for creating Virtual Controller.