Not enough ratings
Emulating Controller with Keyboard Guide
By aquatorrent
This guide will help you to emulate controller with keyboard.
   
Award
Favorite
Favorited
Unfavorite
Introduction
There are some games that require you to have a controller to unlock multiplayer achievements even though I don't have one so I ended up looking for a way to get them with keyboard instead. This should also work with mouse if you want to switch controller input to a keyboard and a mouse, but I'll only cover it for keyboard here.
Requirements
You need to download these files.
  • UCR[github.com] (download the latest version of UCR_vxxx.zip file)
  • Interception[github.com] (download the latest version of Interception.zip file)
  • ViGEm[github.com] (download the latest version of ViGEmBus_Setup_xxx.exe file)
Installing Interception
The installation steps are already written in Core_Interception[github.com] page, but I'll repeat it here and made some changes in case you're not familiar with some of the setup.
  1. Unzip the Interception.zip file to a folder of your choice
  2. Copy the location of the "command line installer" folder that is located inside your extracted Interception.zip file.
    In my case, I extracted it in downloads so here is my location: C:\Users\<username>\Downloads\Interception\command line installer
  3. Open a command prompt as administrator (press Windows + R, type cmd, and then press Ctrl + Shift + Enter instead of Enter to bring up the command prompt)
  4. Go to the location in step 2 through command prompt.
    Type "cd " (without quotes), paste the location in the second step (in my case, it should be "cd C:\Users\<username>\Downloads\Interception\command line installer" without quotes), and then press enter.
  5. Type "install-interception.exe /install" (without quotes) and press enter.
  6. You should see Interception successfully installed. You must reboot for it to take effect.
  7. Reboot

You can check whether it's installed properly or not after you open UCR later.
Installing ViGEm
Simply run the installer and let it do the hard work for you.
Mapping the Controller with UCR
Setting Up
You just need to extract the UCR file you downloaded to use it so I don't make a separate section for installation. Open UCR.exe that is in your extracted folder and you should see something like this.



Create a new profile by clicking on the plus icon.



A new window should pop up. Name your profile. In this case I named it "controller 1". The input is the source of the input that will be mapped to the output. Since I'll map a keyboard to a ViGEm Xbox 360 controller, I choose my keyboard as the input and ViGEm Xbox 360 controller 1 as an output. If you don't see your keyboard anywhere, it means that you haven't installed Interception properly.

The names of the keyboard and mouse might be confusing though since Interception lists both of your keyboard and mouse at the same time. If you're not sure, just tick all four. Press Create button when you're done.

You'll switch to Edit profile window with a lot of plugins. Since you'll only map keyboard to a controller, you'll only need Button to Button plugin. You need to map the buttons one by one so get ready.

Button to Button


Press the plus icon in the Button to Button plugin and name your mapping (1). In this case, I'll name it "left" since I want to make a map for left button first.

Press "Click to bind" button in the input (2) and assign it to your left button on your keyboard. In this case, I'll map it to J button since I don't want to mix it with WASD or arrow keys.

Press the three dots button in the output (3), select Buttons or DPad based on what you want to map it to. Since I'm gonna map it for the left button, I choose DPad > Left.

That should be all for the left button. Now, do the same thing for the other buttons.

Activating the Profile


When you're done, press the disk button to save (1) and press the play button (2) to run it. You should hear a USB sound plugged in if you succeed.
Afterwords
Well, that took a while to finish. Initially, I tried vJoy. I even wrote most of the steps with screenshots when I did it. I was so frustated when it didn't work and kept on looking for a way for it to work with it. Most UCR tutorials also use the AutoHotKey version instead of the .NET and I kept on wanting to make it work with the .NET one. It turns out to be simpler than the AutoHotKey one so I'm not complaining.

I originally made this guide for my own in case I need to do this again in the future. I did the trick once to complete Relic Hunters Zero achievements, but I already installed a bunch of stuffs when that happen, so I ended up holding back the guide and tried to do a second try. That takes a long time. I already installed Pressure for my second try, but I keep on slacking off until now.

Well, there you have it. You can use this guide if you have the same trouble as me, or simply just buy an actual controller to save the trouble.
References
Emulating a Controller with a Keyboard[bitbucket.org]
Core_Interception[github.com]
Core_ViGEm[github.com]
AmazonBasics Wired Keyboard, Keyboard only (1-Pack)[www.amazon.com], for the keyboard image