Key Mapper
Version: 1.2.1 Web: https://github.com/ sezanzeb/key-mapper
Years ago, Linux reached a high level of hardware compatibility with most peripheral devices, including keyboards and mice. Most input devices will just work out of the box when connected to a Linux machine (a brave statement! – Ed). However, many people require more fine-grain control and extra features, such as the ability to assign custom actions or keys to auxiliary buttons on these devices.
In LXF211 we reviewed Piper, a program for controlling the extra buttons on a gaming mouse. Yet even though it was good, the range of supported device was limited. This time we’re highlighting Key Mapper, a more versatile input device manager. This application can help you reassign any button of the keyboard to input a custom character, or carry out an action. Key Mapper also supports a range of other peripherals including gamepads, graphic tablets, touchpads, digital cameras and even sleep buttons on your laptop or PC. In general, if your device is properly detected by the Linux kernel and later by the Evdev/libinput driver in X11 and Wayland, respectively, it’ll also work with Key Mapper.
The application consists of a Systemd service and a GTK-based graphical element with an easy-to-use interface. Choose a device from the drop-down list and then create a custom binding on the right-hand side of the window. In the Mapping field, type the first letter of the action to see the available matches and then choose the one that meets your requirements. Create as many mappings as you like, copy them and then save them under a named presets. Easy!
Some cool things can be done with the help of Key Mapper, such as creating a scrolling feature out of an ancient three-buttons mouse: just bind the middle click to the ‘wheel(down, 1)’ action. Alternatively, generate specific symbols (unavailable from the main keyboard area) using extra keys. Don’t forget to explore the examples section in the Key Mapper documentation for even more cool ideas to boost your productivity.