Questions
How to map a joystick to keyboard keys on a Mac
Yes, a Mac can turn a joystick into keyboard keys. Nothing in macOS does it, but a mapper can: I make InputConfig, which is free and open source, and it reads both kinds of joystick. The thumbsticks on a PlayStation, Xbox, Switch or 8BitDo pad, and plain USB joysticks, flight sticks, HOTAS throttles and arcade sticks. Each direction, button and hat becomes a row, and each row sends whatever key you pick: WASD, the arrow keys, Space, a shortcut, or mouse movement.
Stick to WASD or the arrow keys, step by step
- Connect the controller or joystick over USB or Bluetooth. No driver is needed for current pads or for USB joysticks, which macOS reads as standard HID devices.
- Open InputConfig and allow Accessibility access when macOS asks. That is what lets it send keys to other apps.
- Create a preset. On a new row, click Scan and push the stick up. The row fills in with that direction.
- For the output, choose Keyboard Key and pick W. Repeat for down (S), left (A) and right (D).
- Click Activate. Open a text editor and push the stick: W, A, S and D appear, and a diagonal holds two at once.
The key goes down once the stick passes the row's deadzone, 25 percent of the way out by default, and comes up when the stick returns. Raise the deadzone on a worn stick so it does not press keys at rest.
InputConfig is free on the Mac App Store. macOS 14 or later, no account, no tracking, open source.
Stick to the mouse instead, or both
A stick can move the pointer instead of pressing keys: choose Mouse Motion for each direction, and the push depth sets the speed. Most keyboard-and-mouse games want both at once, WASD on the left stick and mouse look on the right, which is what the built-in FPS (Xbox) preset does. For desktop use, see using a controller as a mouse.
Arcade sticks
An arcade stick is a lever and a set of buttons, and the Mac sees it as a controller. Depending on the stick, the lever reports as a D-pad or as the left stick; many have a switch on the case that changes which. Either way, Scan each direction and each button, and map them to the keys the game uses. Fighting games that read keyboards, emulators with keyboard hotkeys and browser games all work this way.
Flight sticks and HOTAS
Flight simulators such as X-Plane read joysticks directly, so set the stick up in the sim first; you do not need a mapper for axes the sim already understands. InputConfig helps with the rest: buttons and hat switches the sim will not take, or a space game that only reads the keyboard. A throttle is an axis, so it can press a key once it passes a set point. Force feedback is not driven. Connecting a joystick to a Mac covers what macOS does with each kind.
The older joystick-to-keyboard apps
- Enjoyable: free and open source; its last release was 1.2 in October 2014. What still works.
- Joystick Mapper: $4.99, last updated in November 2019. Compared here.
- JoyToKey: Windows only, with no Mac version. The Mac equivalent.
- AntiMicroX: no macOS build. Details.
I make one of the alternatives, so weigh that. The full comparison lists every Mac option, paid and free, including the ones that are not mine.
Questions
Can I map a joystick to keyboard keys on a Mac for free?
Yes. InputConfig is free on the Mac App Store and open source, with no account, subscription or locked features. It needs macOS 14 or later.
Do I need a driver for a USB joystick on a Mac?
Usually not. macOS reads USB joysticks, flight sticks and arcade sticks as standard HID devices. A wired Xbox 360 controller is the common exception: macOS does not support it.
Can one stick send WASD while the other moves the mouse?
Yes. That is the usual layout for keyboard-and-mouse games, and the FPS presets are built that way.
Can I use my keyboard as a joystick instead?
Not with InputConfig. It turns controllers into keys and mouse movement, not keys into a virtual controller.
Related
Free. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.