Questions

How to turn a HID device into a MIDI controller on a Mac

InputConfig, a free Mac app, reads HID devices and sends MIDI from them. Buttons play notes, send Program Changes or start and stop a transport. Axes, such as a stick, a throttle, a wheel or a pedal, send a Control Change or pitch bend that follows their position. Music apps see the result as a MIDI input named InputConfig.

I make InputConfig. The list of devices it reads is below, with the ones it cannot.

On this page: 9 sections
  1. Steps
  2. Set it up
  3. Know which devices it reads
  4. Match the control to the message
  5. Check what the Mac reads first
  6. Know what cannot be read
  7. Know the older HID to MIDI tools
  8. The short version
  9. Questions

Steps

  1. Connect the device and open InputConfig.
  2. Add a row, press Scan, and press the button or move the axis.
  3. Choose a MIDI output for the row: Note, CC, Pitch Bend, Program Change or Transport.
  4. Enable the InputConfig input in the music app and arm a track.

Set it up

  • You: Connect the device. In InputConfig, add a row, press Scan, and press the button or move the axis. Then choose a MIDI output for the row.
  • InputConfig: Names the control, and sends the message through its own MIDI port whenever the preset is active.
  • Check: The music app's MIDI indicator flickers when you press the button.

Scan works out what the control is, so you never need to know its HID number. MIDI output covers every kind of message a row can send.

Download InputConfig on the Mac App StoreInputConfig is free on the Mac App Store. macOS 14 or later, no account, no tracking, open source.

Know which devices it reads

  • With no setup. PlayStation, Xbox, Switch and MFi controllers, which macOS already knows.
  • As raw HID devices. Most generic USB gamepads, flight sticks, racing wheels and their pedals, arcade sticks and leverless controllers in their PC or DirectInput mode, and 8BitDo pads in X and D modes.
  • Switch interfaces. Assistive switch boxes and sip and puff devices, in the mode that sends joystick buttons.
  • Keyboards and mice. Any key or mouse button can be the input of a row. A key that sends MIDI still types, so use keys that type nothing, such as F13 to F19.

If the Live Visualizer shows a control moving, that control can send MIDI. Controllers InputConfig reads has the full list.

Match the control to the message

HID controlMIDI message that suits it
Button, trigger switch, arcade buttonA note, held for as long as the button is
Stick axis, throttle, twist, wheelControl Change or pitch bend that follows the position
Pedal with travel, such as a racing pedalControl Change, such as CC 11 for expression
Foot switch or assistive switchA note, a Program Change, or Start and Stop
Hat switch or D-padFour notes, or transport

A throttle that stays where you leave it makes a better fader than a stick that springs back. The MIDI CC list names the controller numbers instruments expect.

Check what the Mac reads first

  1. Open the joystick test in a browser, or InputConfig's Live Visualizer.
  2. Press each button and move each axis.
  3. Note which ones show up. Those are the ones you can bind.
  4. If nothing shows, try the device's other mode: DInput, PC or Switch.

A control the Mac cannot see is a control no app can map.

Know what cannot be read

  • XInput-only devices. Wired Xbox 360 pads and many XInput-only sticks and wheels cannot be read on a Mac. Switch the device to DInput or PC mode if it has one.
  • Devices that talk only to their own software. Gaming mouse DPI and profile buttons are handled inside the mouse.
  • Force feedback. It is not driven on wheels and flight sticks.

When a device has a mode switch, the PC or DInput position is the one a Mac can read.

Know the older HID to MIDI tools

Two older Mac tools did this job and still come up in searches. MidiHID's code was archived in 2017. ControllerMate's last version supports macOS Mojave at most. I checked both in September 2026. Neither older tool is kept up for current macOS. ControllerMate alternative for Mac goes through what still runs.

The short version

  • Scan. Press the button or move the axis.
  • Send. Note, CC, Pitch Bend, Program Change or Transport.
  • Listen. Enable the InputConfig input in the music app.

Any HID control the Mac can see can become a MIDI control.

Questions

What does HID to MIDI mean?

Turning input from a Human Interface Device, such as a game controller, joystick, pedal or keyboard, into MIDI messages a music app understands.

Is there free HID to MIDI software for Mac?

Yes. InputConfig is free on the Mac App Store. It reads game controllers and most other HID gamepads, sticks and wheels, and sends notes, Control Change, pitch bend, Program Change and transport.

Can a racing wheel or its pedals send MIDI?

Yes, if the Mac reads the wheel. Its axes act like sticks, so the wheel and each pedal can send a Control Change that follows their position.

Can a flight stick throttle be a MIDI fader?

Yes. Bind the throttle axis to a Control Change. It stays where you leave it, which suits volume or a filter.

Can a USB foot pedal send MIDI on a Mac?

Yes, when it reaches the Mac as a joystick button or as a key. Set it to send F13 to F19 or a joystick button in its own software, so a press does not also type a letter.

Does MidiHID still work?

Its code was archived in 2017, so it is no longer maintained.

Download InputConfig on the Mac App StoreFree. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.

Updated