Librekontrol is a programmable controller editor for GNU/Linux. You use Librekontrol to (re-)define the events that occur when you interact with a controller: keyboards, gamepads, music controllers, etc.

Download Librekontrol

In fact, music controllers are a primary focus of Librekontrol. As such, it also provides access to hardware features defined through ALSA (Advanced Linux Sound Architecture), typically LEDs on the device. Librekontrol can also create software MIDI ports through ALSA for any configured controller.

Rather than simply offering a basic configuration system, Librekontrol is fully programmable through Guile, a dialect of the programming language Scheme.

This means that the sky is the limit with what you can do with Librekontrol: conveniently map the buttons on your device to keyboard shortcuts configured in a program, compose complex keyboard macros, or use your gamepad as a MIDI controller.



Development occurs at Gitlab. Please report all bugs and feature requests there.

Contributions to Librekontrol are most welcome. In addition to fixing bugs or improving performance, please consider contributing new device definitions and example configurations. Of course, new functionality such as new event callback functions would be great.


Librekontrol is Free Software available under the GNU General Public License version 3 or later. There is NO WARRANTY, to the extent permitted by law.