Map buttons

Key Mapper

As someone who uses an older MacBook Pro with Linux natively installed, it's imperative that Apple's special Control and Option keys are mapped to work with Linux effectively. This is a rather arcane two-step process, first because you run the ancient xv command to divine the raw keycodes for those keys, and second because you enter those keycodes into an equally ancient xmodmap file to map those raw keycodes into key presses. As the x in both tools suggest, this process is unlikely to work with Wayland. Key Mapper is a Python application with a modern GTK+ front end that does all this easily and adds the ability to map buttons and keys from almost any input device. This is the clever part, because input devices can include joysticks and controllers, as well as keyboards, which you select from the device drop-down at the top of the window. With a device selected, you use the key pane on the right to press the input you want mapped before selecting from a drop-down list what you want it mapped to. This list is absolutely huge and includes all the XF86 shortcuts, as well as triggers, special keys, and touchpad controls.

If you're mapping a games controller, you can map its joysticks to mouse movement, the mousewheel, buttons, or a single joystick, complete with mouse speed. This is brilliant if you're building a Linux arcade machine, for example and want the joystick to control the mouse cursor while at the same time mapping some of the buttons to launch the games you want. This entire configuration can be saved as a preset for easy recall, and you can have as many presets as you need. Presets are useful if you want to step away from the computer, for example, and control it remotely, or if you switch keyboards between an Apple keyboard on the road and a more conventional keyboard when you're home. A background daemon is also installed and activated by default, and this takes care of the changing configuration, as well as making any necessary changes when you reboot. It works perfectly.

Project Website

One of the best things about Key Mapper is that it will work with Wayland, giving you a migration path from Xorg mappings to the brave new world.

macOS shortcuts

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Spotify Comes to Linux

    Streaming music service comes to penguin users. Sorta.

  • FOSSPicks

    This month Graham reviews Bela, Quickemu, GPU-Viewer, Maestral, Termux and AnLinux, Space Cadet, and more!

  • FOSSPicks

    This month Graham looks at Mixx, elfcat, Plover, and more!

  • Waxing Lyrical

    Whether you listen to music on Spotify or a classic audio player like Rhythmbox, Lollypop, or Audacious, a tool named Lyrics-in-terminal will let you read the lyrics for the track you are currently playing.

  • Podcasts

    If you use Linux, you already have most of the tools you need to get in the podcast game. Just plan carefully and take it a step at a time.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More