Map Buttons, Knobs and Sliders of your Midi Controller to Different Functions. With GUI. Developed for Linux (x11 & wayland) and a Behringer X Touch Mini, but most features are also working on Windows/MacOS and with other Midi Controllers.
Give your midicontroller the ability to:
- emulate key presses or combos
- wayland: use e.g. ydotool console command
- write text
- wayland: use e.g. ydotool console command
- run console commands
- control your audio (currently only for linux)
- mute/unmute/toggle your input/output devices or even specific applications
- increase/decrease/set volume of your input/output devices or even specific applications
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
- update fyne (versions higher than 2.4.1 are throwing errors)
- check why systray icon is missing after fyne has been updated
- build midi2key-ng 1.1.0 executables (cross compiling didn't work anymore using the script)
- warn if key is already assigend
- reorder rows
- multiple profiles
- hotkeys to start/stop listening
- implement soundboard functionality using beep
- add mouse emulation functionalities
- add optional textbox with log output
- add code comments
- export / import Key Mapping
- improve design, layout etc.
- test other midi controllers
- add Windows Audio Control
- add MacOS Audio Control
sudo apt install libx11-dev xorg-dev libxtst-dev
sudo apt-get install libasound2-dev
- currently there are no usable golang libraries to emulate e.g. keypresses on wayland. However as a workaround it's possible to use commandline tools like ydotool:
fyne
https://fyne.io/
gomidi
https://gitlab.com/gomidi/midi/
https://pkg.go.dev/gitlab.com/gomidi/midi/v2
robot-go https://github.com/go-vgo/robotgo