Provided by: evremap_0.0~git20240617.cc618e8-4_amd64 

NAME
evremap - keyboard input remapper for Linux/Wayland systems
DESCRIPTION
evremap works by grabbing exclusive access to an input device and maintaining a model of the keys that are pressed. It then applies your remapping configuration to produce the effective set of pressed keys and emits appropriate changes to a virtual output device. Because evremap targets the evdev layer of libinput, its remapping is effective system-wide: in Wayland, X11 and the linux console. evtest(1) can be used to identify keycodes of an input device. USAGE: evremap remap config-file --delay <delay> evremap list-devices evremap list-keys evremap debug-events FLAGS: -d, --delay <delay> Startup delay in second -h, --help Prints help information -V, --version Prints version information SUBCOMMANDS: help Prints this message or the help of the given subcommand(s) list-devices Rather than running the remapper, list currently available devices. This is helpful to check their names when setting up the initial configuration list-keys Show a list of possible KEY_XXX values debug-events Listen to events and print them out to facilitate learning which keys/buttons have which labels for your device(s) remap Load a remapper config and run the remapper. This usually requires running as root to obtain exclusive access to the input devices
FILE
/etc/evremap.conf Mapping configuration file
Sample Configuration
# The name of the device to remap. # Run `sudo evremap list-devices` to see the devices available # on your system. device_name = "AT Translated Set 2 keyboard" # If you have multiple devices with the same name, you can optionally # specify the `phys` value that is printed by the `list-devices` subcommand # phys = "usb-0000:07:00.3-2.1.1/input0" # Configure CAPSLOCK as a Dual Role key. # Holding it produces LEFTCTRL, but tapping it # will produce ESC. # Both `tap` and `hold` can expand to multiple output keys. [[dual_role]] input = "KEY_CAPSLOCK" hold = ["KEY_LEFTCTRL"] tap = ["KEY_ESC"] # This config snippet is useful if your keyboard has an arrow # cluster, but doesn't have page up, page down, home or end # keys. Here we're configuring ALT+arrow to map to those functions. [[remap]] input = ["KEY_LEFTALT", "KEY_UP"] output = ["KEY_PAGEUP"] [[remap]] input = ["KEY_LEFTALT", "KEY_DOWN"] output = ["KEY_PAGEDOWN"] [[remap]] input = ["KEY_LEFTALT", "KEY_LEFT"] output = ["KEY_HOME"] [[remap]] input = ["KEY_LEFTALT", "KEY_RIGHT"] output = ["KEY_END"] # When applying remapping configuration, ordering is important: # Dual Role entries are always processed first Remap entries are applied in # the order that they appear in your configuration file # Here's an example where ordering is important: on the PixelBook Go keyboard, the # function key row has alternate functions on the keycaps. It is natural to want # the mute button to mute by default, but to emit the F8 key when holding alt. We # can express that with the following configuration: [[remap]] input = ["KEY_LEFTALT", "KEY_F8"] # When our `input` is matched, our list of `output` is prevented from # matching as the `input` of subsequent rules. output = ["KEY_F8"] [[remap]] input = ["KEY_F8"] output = ["KEY_MUTE"]
SEE ALSO
evtest(1)
AUTHOR
This man page was written by Yifei Zhan <yifei@zhan.science> using README.md from https://github.com/wez/evremap This program was written by Wez Furlong evremap 0.1.0 May 2024 EVREMAP(1)