MidiHotkey

🚀 Live Demo 🚀 Use an AKAI MPK Mini (keyboard keys and drum pads) as macOS hotkeys.

Start with open Chrome. Screenshot and Finder actions are already available to bind next.

Setup

python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Plug in the MPK Mini. See commands, options, and actions:

python -m midi_hotkey help

List devices:

python -m midi_hotkey devices

Bind a pad to Chrome

python -m midi_hotkey learn --action open_chrome

Press the pad or key you want. The note/channel is saved in config.json.

Run

Foreground (Terminal stays open):

python -m midi_hotkey run

Background, with an easy start/stop:

python -m midi_hotkey start
python -m midi_hotkey status
python -m midi_hotkey stop

Start automatically at login:

python -m midi_hotkey install-login

Create a double-click app in this project folder (Finder will open on it). Copies also go to ~/Applications and /Applications when possible — drag that to the Dock:

python -m midi_hotkey install-app

Or double-click scripts/Start MidiHotkey.command.

Press a bound pad — the mapped app should come to the front (or launch).

See current bindings and which actions are still unbound:

python -m midi_hotkey list

To see raw MIDI note numbers without firing actions:

python -m midi_hotkey watch

Available actions

Action What it does
open_chrome Opens Google Chrome
open_finder Opens Finder
open_cursor Opens Cursor
open_cursor_launcher Opens the CursorLauncher PWA (/Applications/CursorLauncher.app)
open_local_player Opens the Local Player PWA
take_screenshot Interactive screenshot to clipboard (screencapture -i -c)

macOS may prompt for Input Monitoring or Accessibility the first time MIDI or screenshot tools run. Allow the Terminal (or whatever app launched the script).

Preview

Project screenshot