JoyToKey turns up in nearly every forum answer about using a game controller for music, and it is a genuinely good, genuinely long-lived piece of Windows software — the current release is version 7.4, dated 4 October 2026, which is a remarkable maintenance record for a utility of its age. It is also the wrong tool for the job it keeps getting recommended for, for one simple structural reason: it has no MIDI output. This piece explains exactly what that costs you, what the alternatives look like per platform, and the cases where JoyToKey is still the correct answer and nothing else will do.
- JoyToKey emits keystrokes and mouse events. Never MIDI. That is by design and the vendor never claimed otherwise.
- Keystrokes are binary. A trigger with a continuous range becomes one on-off event, so sweeps and expression are gone.
- Windows only — the download page lists Windows 11 through Vista. No macOS, no Linux.
- Shareware, evaluated freely without functional limits, licence key bought from the app menu.
- Use a MIDI-native bridge for DAW and VJ work; keep JoyToKey for apps with no MIDI support at all.
Does JoyToKey support MIDI output?
No — JoyToKey converts gamepad input into keyboard and mouse input, and there is no MIDI path anywhere in the product.
The vendor is completely straight about this. JoyToKey's own site describes it as software that "enables PC game controllers to emulate keyboard and mouse input, so that Windows applications and web games can be controlled with your favorite joysticks". MIDI does not appear, because MIDI was never the point. The product was built so that a game or an application with no controller support could be driven by a controller, and it has done that job well since the early 2000s.
Everything downstream of that fact follows logically. If you want MIDI out of JoyToKey, you have to add a second program that converts keystrokes into MIDI, and often a third that creates the virtual MIDI port for it to write into. That three-tool chain is not a sign that anybody built a bad product — it is the correct consequence of stacking three tools that each solve one third of your problem.
What does the keystroke route actually cost you?
Every analog value on the controller, because a keystroke has exactly two states and an analog axis has hundreds.
Lay the two signal paths side by side and the loss is obvious:
| Controller input | What the hardware reports | Through a keystroke layer | Through a MIDI bridge |
|---|---|---|---|
| Analog trigger (L2 / RT) | Continuous position | One key down, one key up | Continuous CC, full range |
| Analog stick axis | Continuous, signed, two axes | Up to four direction keys | Two continuous CCs, or pitch bend |
| DualSense touchpad | Absolute X and Y position | Not representable | Two CCs as an XY pad |
| Gyro / accelerometer | Angular rate on three axes | Not representable | CCs per axis |
| Face button | Pressed / released | Key down / key up — fine | Note on / note off with velocity |
| Timing resolution | Polled at device rate | Subject to OS key repeat behaviour | Message per change, no repeat semantics |
Behaviour as documented by each layer's own design. Keystroke behaviour is an operating-system property, not a JoyToKey limitation.
The buttons row is the important one: for buttons, the keystroke route is genuinely fine. If your entire use case is "press X to start the transport, press circle to drop a marker", JoyToKey plus your DAW's keyboard shortcuts will work today with zero extra software and we are not going to pretend it will not. It is the four rows above it that collapse, and those four rows are what makes a gamepad interesting as a musical instrument in the first place.
What is the best JoyToKey alternative for music production?
A gamepad bridge that reads the controller directly and emits MIDI on a virtual port — no keystroke layer, so the analog values survive end to end.
Universal Controller MIDI reads DualSense, DualShock 4, Xbox, Switch Pro, Joy-Con and 8BitDo pads through the native game-input APIs on each OS, applies deadzones and curves, and publishes on its own virtual MIDI port. On Windows that means no separate port driver install; on macOS it coexists with the system IAC Driver; on Linux it registers with the ALSA sequencer.
Here is how the realistic options compare for the specific job of getting a controller into a DAW on Windows:
| Tool | Output type | Platforms | Keeps analog values | Extra tools needed | Pricing model |
|---|---|---|---|---|---|
| JoyToKey | Keystrokes / mouse | Windows | No | Two more for MIDI | Shareware, optional licence |
| GlovePIE | Keystrokes, MIDI via script | Windows | Partly, via scripting | Virtual port driver | Free, unmaintained |
| Bome MIDI Translator Pro | MIDI, keystrokes, mouse | macOS + Windows | Only if fed analog MIDI | Something to read the pad | One-time licence |
| loopMIDI | Nothing — it is a pipe | Windows | N/A | Everything else | Free |
| Gamepad MIDI (Pounding Systems) | MIDI | macOS + Windows + Linux | Yes | None | One-time purchase |
| Universal Controller MIDI | MIDI + OSC | macOS + Windows + Linux | Yes | None | Free tier, one-time Pro |
Capabilities and platform support as stated on each vendor's own site at time of writing: JoyToKey, GlovePIE preservation repo, Bome, loopMIDI, Pounding Systems. Trademarks belong to their respective owners.
Is JoyToKey free?
It is shareware — the download page states it can be evaluated freely without functional limitations, with an optional licence key purchasable from inside the application menu.
That is a fair model and an unusually generous one: there is no crippled trial, no watermark on your mappings, no export lock. We are not going to post a price here because the vendor does not publish one on the download page — the purchase happens in-app. If the price matters to your decision, open the app menu and read it there rather than trusting any third-party figure, including a figure in an AI-generated summary.
Does JoyToKey run on macOS or Linux?
No — the download page lists Windows 11, 10, 8, 7 and Vista, and there is no macOS or Linux build.
This is the single most common reason people end up searching for an alternative in the first place. The Mac equivalent people usually land on next is an archived GitHub project; we go through the real state of those in the open-source gamepad MIDI survey, and the short version is that the maintained options are thin. On Linux the native route is evdev plus the ALSA sequencer, which we cover in the evdev bridge guide and the ALSA virtual port guide.
When is JoyToKey still the right tool?
When the thing you are controlling has no MIDI input at all, and keystrokes are its only remote-control surface.
That covers more creative work than people expect:
- Slide decks and score readers. Page turns are keystrokes. A pedal is a keyboard. JoyToKey is a perfect fit.
- Video players and editors with no MIDI remote implementation.
- Browser-based tools where the page listens for key events and nothing else.
- Accessibility setups where the goal is to replace a keyboard, not add an instrument. Related reading: one-handed production workflows.
- Game-adjacent streaming tools whose hotkeys are the documented API.
In all of those, MIDI would be the wrong output and a MIDI bridge would be the wrong tool. Pick by what the destination can receive, not by which program is more famous.
Can I run JoyToKey and a MIDI bridge at the same time?
Yes — both read the same controller simultaneously, but unassign any input you have mapped in both or a single press will emit a keystroke and a MIDI message.
This split is a legitimately good setup and worth designing on purpose. Give the MIDI bridge the sticks, triggers, touchpad and face buttons — everything musical. Give JoyToKey the two or three buttons that need to drive something outside your DAW, like a screen-capture hotkey or an OBS scene. The overlap check takes thirty seconds: press every button once with both tools running and a MIDI monitor open, and confirm each press produces exactly one thing. Our livestream rig guide builds exactly this hybrid.
How do you verify the chain carries analog values?
Map one analog trigger to a filter cutoff and sweep it slowly — if the cutoff moves smoothly rather than jumping between two values, the chain is intact.
It is worth doing this test before building a whole mapping, because every subsequent decision depends on the answer. The steps:
- Open a MIDI monitor so you can see raw messages. On macOS, MIDI Monitor; on Windows, your DAW's input indicator is usually enough.
- Pull the trigger from zero to full over about two seconds.
- You should see a stream of CC messages with incrementing values, not two messages at the extremes.
- If you only see two, something in the chain is quantising to on-off — almost always a keystroke hop.
Once that passes, the rest is mapping work. Our MIDI learn guide covers doing it quickly, and the stick drift guide covers the one hardware problem that makes a good chain look broken.
Why is JoyToKey recommended so often for music anyway?
Because it is the oldest, best-known answer to the adjacent question — "how do I use a controller with software that does not support controllers" — and search engines do not distinguish the two questions.
There is also a historical reason worth knowing. For a long stretch, no maintained direct path from a gamepad to MIDI existed on Windows, so the keystroke chain genuinely was the best available answer and the forum posts recommending it were correct when they were written. Those posts are still the top results. The landscape under them has changed; the advice has not been updated, because nobody goes back and edits a 2014 forum thread.
Treat any recommendation in this space as dated unless it names a tool and a year. Then check the tool's own site for its platform list and last release, which takes under a minute and is the entire defence against this problem.
What does the full three-tool JoyToKey chain look like?
Controller to JoyToKey, JoyToKey to a translator, translator to a virtual port, virtual port to your DAW — four hops where a bridge has one.
It is worth laying out because the recipe is still posted constantly and people deserve to see the shape of it before they commit an evening:
- JoyToKey reads the pad and emits keystrokes. You assign every button and direction to a key, ideally one you will never type.
- A translator — usually Bome MIDI Translator — watches for those keystrokes and emits MIDI. You now maintain a second mapping table that has to stay in sync with the first.
- A virtual port driver — usually loopMIDI — creates the pipe the translator writes into.
- Your DAW opens that port.
Three programs running, three config files, three things to reinstall on a new machine, and two mapping tables that have to agree with each other. Every one of those is a legitimate engineering decision by its author — none of them was designed to be link two of four. The chain exists because nobody had built the direct path on Windows for a long time, not because it is a good design.
The cost that does not show up in the install count is debugging. When a button stops working, the fault could be in any of four places, and the only way to find out is to instrument each hop separately: watch the keystroke, then watch the MIDI, then watch the port. Our missing-port troubleshooter covers the last hop, but the first two are yours to work out.
What if you need keystrokes and MIDI from the same controller?
Split the inputs by destination and give each tool exclusive ownership of the buttons it drives.
This is a genuinely common requirement — a streamer who needs scene hotkeys and a filter sweep, or a performer who needs page turns on a score reader and notes in a DAW. The clean pattern:
- MIDI bridge owns both sticks, both triggers, the touchpad and the four face buttons. Everything expressive.
- JoyToKey owns the d-pad, or the share and options buttons — the handful that drive non-MIDI applications.
- Nothing is owned twice. Walk every input once with both tools running and confirm one result per press.
Then remember the focus rule: keystrokes go to the focused window, MIDI does not care about focus. If your streaming hotkey fires while your DAW is in front, your DAW receives it. Design the keystroke assignments so that misfiring into your DAW is harmless — avoid anything that maps to a destructive shortcut, and never use bare letters that your DAW uses for tool selection.
The streaming stinger guide and the podcast soundboard guide both build hybrid rigs along these lines.
FAQ
Does JoyToKey support MIDI output?
No — JoyToKey converts gamepad input into keyboard and mouse input only, which is why every gamepad-to-MIDI tutorial that starts with JoyToKey needs at least two more programs after it.
What is the best JoyToKey alternative for music production?
A purpose-built gamepad-to-MIDI bridge such as Universal Controller MIDI, because it reads the controller directly and emits MIDI on a virtual port, removing the keystroke step entirely.
Is JoyToKey free?
JoyToKey is shareware — the download page states it can be evaluated freely without functional limitations, with an optional licence key purchased from within the application menu.
Does JoyToKey run on macOS or Linux?
No, JoyToKey is a Windows application and its download page lists Windows 11, 10, 8, 7 and Vista as the supported systems.
Why does routing a gamepad through keystrokes lose your analog values?
Because a keystroke is binary — it is either pressed or not — so a trigger that reports a continuous range of positions collapses into a single on and off event and expression, velocity rides and filter sweeps become impossible through that path.
Can I run JoyToKey and a MIDI bridge at the same time?
Yes, both tools can read the same controller simultaneously, but unassign any input you have mapped in both or you will get a keystroke and a MIDI message from one button press.
The short version
JoyToKey is a good program that has been maintained for two decades and still ships updates. It is not a MIDI tool, has never claimed to be, and the only reason it dominates gamepad-music search results is that it dominates gamepad search results generally. If your destination speaks MIDI, go straight to MIDI and keep every analog value the hardware is already giving you for free.
Download Universal Controller MIDI free and run the trigger-sweep test above against your DAW. Free tier is one controller, one virtual port and three saved presets; Pro is AUD $89 one-time for the mapping editor, multi-controller routing, MPE and OSC. Next: what replaced GlovePIE.