keyszer

Transforms input from kernel's evdev devices and injects remapped input back into the kernel for flexible key remapping across applications and the console.

Made by joshgoebel

  • Linux

  • xwindows

  • uinput

  • emacs-keybindings

What is keyszer?

Keyszer is a powerful key remapping application for Linux and X11 systems, written in Python. It is a fork and reboot of the previously popular xkeysnail project, which is no longer actively maintained. Keyszer provides a flexible and highly customizable way to remap keyboard inputs, allowing users to tailor their computing experience to their specific needs

Highlights

  • Low-level library usage: Keyszer interacts directly with the kernel's evdev input devices, providing remapping capabilities from the console all the way into the X11 environment
  • Per-application keybindings: Keyszer allows users to define different keybindings that change depending on the active X11 application or window
  • Multi-stroke keybindings: Users can create complex keybindings, such as Ctrl+x Ctrl+c mapping to Ctrl+q, enabling advanced functionality
  • Flexible output: Keyszer can be configured to perform complex actions, such as typing out ":save" and then hitting Enter with a single keybinding
  • Stateful key combos: Keyszer supports the creation of Emacs-style key combinations that incorporate shift and mark functionality
  • Multipurpose bindings: A regular key can be mapped to become a modifier when held, allowing for even more customization
  • Arbitrary functions: Keyszer allows users to run custom Python functions in response to specific key combinations.

Platforms

  • Linux

Languages

  • English

Features

    • Keyboard Shortcuts