GUI to Map Buttons, Knobs and Sliders of your Midi Controller to Different Functions. Developed for Linux (Gnome Wayland & Pop!_OS x11) and a Behringer X Touch Mini; however it should work for other Midi Controller and Distros, too!
Give your midicontroller the ability to:
- emulate key presses, mouse clicks/movements
- Look here for possible input emulations
- write text
- run console commands
- soundboard
- play audio files (e.g. wav, flac, ogg) as microphone input
- new source soundboard_mic combines the default microphone with a new audio sink soundboard_router by utilizing pactl
- run
paplay --list-file-formats
to list all available formats
- control your audio
- input/output devices, applications, focused application (x11 and only wayland if Gnome)
- increase/decrease/set volume
- mute/unmute/toggle
Download a precompiled binary from the latest Release.
The repository can be fetched and installed using Go.
go install -v github.com/m10x/midi2key-ng@latest
- Install DoTool for input emulation
git clone https://git.sr.ht/\~geb/dotool
sudo apt install scdoc
cd dotool && ./build.sh && sudo ./build.sh install
sudo udevadm control --reload && sudo udevadm trigger
- restart OS
echo write test | dotool
to check if dotool works
apt install xprop xdotool
for audio control of focused application
- Install Gnome Extension Window Calls Extended to control audio of focused application
- implement checks if required commandline tools are available
- export (aka Backup) / import Key Mapping
- sort table https://fynelabs.com/2023/10/05/user-data-sorting-with-a-fyne-table-widget/
- soundfile picker
- spam actions if key keeps getting pressed (hold)
- multiple profiles
- hotkeys to start/stop listening
- error output in gui
- add code comments
- improve design, layout etc.
- test other midi controllers
fyne
https://fyne.io/
gomidi
https://gitlab.com/gomidi/midi/
https://pkg.go.dev/gitlab.com/gomidi/midi/v2
dotool
https://sr.ht/~geb/dotool/