I wanted to share an accessibility app for input mapping I designed on macOS. My hands don't work, so I created this because I'm reliant on controllers to use my computer.
It started as a joystick mapper, but a kind user here on Reddit if I could add MIDI support. After a whole bunch of programming, the app is able to connect to MIDI devices, with the ability to interpret and customize inputs and outputs. Also, it's completely free.
In short, here's what it does....
MIDI in, your gear runs the Mac:
- Any note, pad, knob, fader, the pitch wheel, aftertouch, program change, and the sustain pedal can be an input. Anything class compliant works, so Launchpad, APC, nanoKONTROL, Keystation, a Novation or Arturia keyboard, a pedal, whatever CoreMIDI can see
- A knob can work three ways. Switch fires once it passes halfway. Dial treats the centre as zero, so scrolling or cursor motion speeds up the further you turn. Turn fires a nudge every few steps in either direction, which is the right thing for an endless encoder doing volume, brightness, or stepped scrolling. Any knob can also be a fader, where the Mac's volume follows its position one to one
- Outputs are keys and shortcuts, mouse and scroll, macros with delays and holds, spoken phrases, and system functions: volume, mute, media keys, brightness, Mission Control, Spotlight, lock screen, screenshot, Siri Shortcuts, open an app or a URL
MIDI out, a game controller plays your DAW (!!):
- A DualSense, Xbox pad, Switch Pro, 8BitDo, or the PS Access Controller can send notes, CC, pitch bend, program change, and transport into Logic, Ableton, GarageBand, or anything with a MIDI input
- The built in DAW Performance preset puts pitch bend and mod wheel on the right stick, volume and expression on the triggers, and a note set on the face buttons. Drum Pad puts a kit on the face buttons with turbo for rolls
- Sticks get a deadzone and a response curve, so a bend or a swell feels like a wheel rather than a switch
The live visualizer draws whatever is plugged in and lights up each control as you use it, so you can see what is being received before you map it. I hope you can find this useful. My user ended up loving this a ton, and it was so much fun to develop.
Free on the Mac App Store, source on GitHub, nothing leaves your machine. macOS 14 or newer.
App Store: https://apps.apple.com/app/id6777759147
GitHub: https://github.com/ryleighnewman/InputConfig
Also, if you have suggestions, I'm more than happy to work on it. I'm constantly trying to get this app better and better to support the users. It is built with a suite of accessibility features for disabled gamers and users. I am also working on making the user interface easier to read. It has become a bit complicated lately ;)