This page lists software that you can use to reconfigure input events from keyboards, mice and other hardware. Also it briefly describes how to configure them.
Wayland's security model prevents programs other than the compositor from grabbing raw keyboard input. Some compositors support remapping keys (for example,through ), but many do not. Utilities work around this by grabbing the keyboard before the compositor, and passing modified keyboard input through to it.
evremap ( AUR) — A keyboard input remapper for Linux/Wayland systems. This tool can do remap in a following way: remap the
CapsLock key so that it produces
Ctrl when held, but
Esc if tapped and remap
n keys to
m keys. E.g.:
evdevremapkeys ( AUR) — A daemon to remap key events on linux input devices. This tool can remap keyboard and mouse events. It can map to repeated actions (for example, do double click) and can generate them while button is pressed (for example, generate wheel up events while holding back button).
It is also possible to remap combo to combo, but this is not yet merged, and is available in pronobis fork. See here.
evsieve ( AUR) — A low-level utility that can read events from Linux event devices (evdev) and write them to virtual event devices (uinput), performing simple manipulations on the events along the way. Works on Wayland. Evsieve is particularly intended to be used in conjunction with the evdev-passthrough functionality of Qemu.
kbct ( AUR) — Keyboard Customization Tool for Linux. Despite its name, also supports mouse events. This tool allows you to map an event (keyboard or mouse button) to another event. You can define multiple "layers" — lists of maps depending of which modifier you press with an input key. Unfortunately, currently the kbct does not allow you to generate multi-button event. See .
After installation, edit
/etc/kbct/config.yml as required, then start
keyd ( AUR) — A key remapping daemon for Linux using a flexible system-wide daemon which remaps keys using kernel level input primitives (evdev, uinput). Keyd works in both graphical environments, like X11 and Wayland, and the Linux virtual console. Read the project's README for more information about how keyd compared to similar software.
Input Remapper AUR — A utility that provides a GUI and a CLI to configure remappings. Works with both X and Wayland.
- IMWheel — A tool for X11 that can remap mouse wheel events depending on pressed modifier and individually per application.
- Mouse buttons#User tools — A list of hardware-dependent utilities to configure mouse buttons.
- wayland-mouse-mapper — A small script for mapping mouse buttons to keystrokes on Wayland.
- evmapy — An evdev event mapper written in Python. Not in AUR yet.
- python-evdev — A utility that allows you to read and write input events on Linux. An event can be a key or button press, a mouse movement or a tap on a touchscreen.
- evtest ( ) — utility that can show you the button names when you press them, which can help when configuring remap utilities.
- wev ( AUR) — utility to view input events in wayland, similar to xev.
evsieve --input /dev/input/event* --print you can see all events that are emitted on your computer.
Another approach of testing keyboard buttons is with online websites. Most of such testers cannot distinguish between left and right modifiers. One example that can is: https://stendec.io/yakt/.