A smart, flexible keymapper (fork/reboot of xkeysnail) for X11 written in Python. It's similar to xmodmap but allows far more flexible remappings.
- Free • Open Source
What is keyszer?
Keyszer is a smart key remapper for Linux (and X11) written in Python. It's similar to xmodmap but allows far more flexible remappings. Keyszer was forked from xkeysnail which no longer seems actively maintained. How does it work?
Keyszer works at quite a low-level. It grabs input directly from the kernel's evdev input devices ( /dev/input/event*) and then creates an emulated uinput device to inject those inputs back into the kernel. During this process the input stream is transformed on the fly as necessary to remap keys.
Upgrading from xkeysnail
Some small configuration changes will be needed. A few command line arguments have changed. For xkeysnail 0.4.0 see UPGRADING_FROM_XKEYSNAIL.md. For xkeysnail (Kinto variety) see USING_WITH_KINTO.md and Using with Kinto v1.2-13.
Low-level library usage (evdev and uinput) allows remapping to work from the console all the way into X11. High-level and incredibly flexible remapping mechanisms: per-application keybindings - bindings that change depending on the active X11 application or window multiple stroke keybindings - Ctrl+x Ctrl+c could map to Ctrl+q very flexible output - Ctrl-s could type out :save, and then hit enter stateful key combos - build Emacs style combos with shift/mark multipurpose bindings - a regular key can become a modifier when held arbitrary functions - a key combo can run custom Python function
- 45 Stars
- 9 Forks
- 44 Open Issues
Comments and Reviews Post a comment/review