There was a time when “hardcore” PC gamers would look down on the idea of using a gamepad to play PC games. The mouse and keyboard reigned supreme, especially in the golden age of first person shooters.

The truth is that joysticks and gamepads have a rich and storied history on the PC, with genres such as racing and flight simulation virtually requiring it to be playable.

The problem is that, for a very long time, gamepads on PC were not really standardized. Without a solid idea of what players would be using, many developers simply didn’t bother developing gamepad support for their titles.

Now, largely thanks to console ports, the Xbox controller has become the de facto standard for PC gaming too. Better yet, since so many games are also developed for the Xbox, it’s easy for developers to simply include the control scheme.

The end result is that if you hook up an Xbox controller to a modern Windows PC, modern games will seamlessly switch over, even changing the in-game UI to reflect gamepad controls. This is the best of time for those of us who love to game with a gamepad on PC, especially from a couch.

However, there are thousands of older PC games that only support a keyboard and mouse. Which leaves us with a bit of an issue. Luckily JoyToKey provides an affordable solution.

How To Use JoyToKey

JoyToKey is a small application sold for a few dollars that takes gamepad input and converts it to mouse and keyboard output. It is fully customizable for each game and will open up all sorts of games to couch play.

The first thing you need to do is download the software, which you can do on the JoyToKey downloads page. This download is shareware with a fixed trial period. You can purchase a permanent license key from JoyToKey.

The file will be in the for of a Zip archive. Unzip JoyToKey and run JoyToKey.exe.

This is the main window of the software, all the action starts here. In the left section of the window you’ll see profiles. You can have a profile for each game. Here we are going to create one for a real classic – ID software’s Quake.

While Quake actually does have native joystick support, we’ve found it a little hit and miss, so a more reliable solution needs to be found. Let’s get started, shall we?

First, simply click Create and name the profile. Then click OK.

Now select the profile by clicking on it. You will see in the right pane there are two “joystick tabs”. Since we have a single gamepad connected, we are only going to use Joystick 1. In this pane you’ll see a list of inputs under Buttons.

Sticks one and two are the left and right analogue sticks. The “POV” inputs are the D-pad directions. The buttons are listed in number order, which makes it hard to figure out which number goes with which button. Luckily, if you press any button on the controller the corresponding control lights up in yellow.

To assign a keyboard control simply double-click the control in the right-hand pane. This box should pop up.

This is the configuration for the left stick pushed to the left. In Quake, the “A” button strafes left. So we type “A” into the first box under Keyboard emulation. If we wanted a combo of buttons, you can add up to four in total. Click OK to close this window.

OK, so you can repeat that process for every keyboard key you want to assign. However, the version of Quake we are using here lets you look around with the mouse. So how are we going to assign mouse movement or buttons?

Let’s assign Right Stick Up to emulate vertical mouse movement. Double-click on Stick 2 Up. Then click on the Mouse tab.

As you can see, here is a graphical representation of mouse movement. We want the computer to think that we are moving the mouse up when pushing the right stick forward. To do this, set the vertical cursor movement to 100 as pictured above.

The numbers represent the speed of movement, so you may have to tweak it until the in-game movement has the right amount of sensitivity. Click OK when finished.

Now we just repeat this process for every button relevant to our game. Just remember that Joy2Key has to be running and the correct profile selected for it to work.

Now that we have our profile set up for Quake, we can get down to some old-school fragging.

Of course, you can’t tell from the picture, but it works perfectly, playing a mid-90s games using a 2018 gamepad – it’s awesome. Enjoy!