Quick Links

Many PC and Mac games treat the keyboard as a first-class citizen and have poor support for game controllers. You can remap your controller buttons to keyboard key presses to get around this limitation.

You'll lose some analog input---for example, the joysticks will just function as arrow keys that are on or off without the usual range of sensitivity---but for some games, that's not a huge issue.

If you're just looking to play Steam games with a controller, Steam already has great built-in tools for remapping controllers in its Big Picture Mode and will be a much easier solution than anything else listed here. For use system-wide or in non-Steam games, you'll need a third party application.

Related: How to Remap Xbox, PlayStation, and Other Controller Buttons in Steam

Connect Your Controller

This step is obvious, but with so many kinds of controllers on the market, it can be a challenge to get them working correctly, especially on macOS. We have a comprehensive guide for most mainstream controllers that you can reference if you're having issues, but most current-gen controllers will be plug and play on Windows and macOS. Last-gen and earlier controllers may need custom drivers and a bit of setup.

Related: How to Connect Any Console Game Controller to a Windows PC or Mac

You can make sure the controller is connected by opening up the "Devices" tab in Window's settings. Head to Settings > Devices > Bluetooth & Other Devices and look under "Other Devices."

On macOS, you can usually find USB controllers in the "System Information" app, under "USB." Bluetooth controllers should show up in the Bluetooth menu in the top menubar.

Windows (And Linux) Setup - AntiMicro

There are a couple of good commercial options out there, most notably reWASD, but AntiMicro is free, open source, and does its job just as well. It also works on Linux as well.

Download the latest release from Github (or the portable version if you don't want to install it) and open it up.

So long as your controller is connected, you'll see this screen laying out all the sticks and buttons. You can click any of these to set a mapping to any keyboard key, or the mouse. If you press the buttons on your controller, it should light up the button in AntiMicro, so you won't have to worry about figuring out which one "Button 14" is.

Mapping a joystick to WASD or arrow keys turn it from an analog input to a digital one, which can be less responsive, but you can configure the dead zones and other settings by clicking on the "L Stick" button in the middle.

The joysticks also work well when mapped to the mouse, which brings back some analog control. That's good for any games requiring first-person aiming.

There are a few advanced options in the settings, like macro support and profile switching. But, out of the box, AntiMicro works well for simply remapping a controller to keyboard keys.

MacOS Setup - Enjoyable

For macOS, Enjoyable is a great alternative to AntiMicro that's even simpler to use. Just run the app, press a button on your controller, then press a key on your keyboard, and repeat for each button you want to map. After that's done, press the run button (it looks like a ">") in the top right corner, and it should be good to go. It doesn't have any presence on your Mac's menubar, so you must have the window open while you want to use your controller.

Enjoyable supports multiple profiles, switching profiles with buttons, and moving the mouse. The joysticks can be a bit glitchy to map, as it tends to switch between multiple axes. But, with some trial and error, it should work fine.