Go to file
2020-11-29 20:26:37 +01:00
bin macro parser 2020-11-28 17:49:32 +01:00
data fixed icons in ubuntu 2020-11-29 17:47:23 +01:00
DEBIAN debian package 2020-11-29 13:30:16 +01:00
keymapper made it work on an old ubuntu laptop 2020-11-29 20:18:00 +01:00
readme updated badges 2020-11-29 20:26:37 +01:00
scripts deb packaging seems to work now 2020-11-29 17:32:31 +01:00
tests more tests 2020-11-29 16:21:34 +01:00
.gitignore deb packaging seems to work now 2020-11-29 17:32:31 +01:00
.pylintrc pylint 9.70 2020-11-22 21:41:29 +01:00
HISTORY.md update HISTORY.md 2020-11-29 12:49:22 +01:00
LICENSE outlined some stuff 2020-10-26 23:45:55 +01:00
MANIFEST.in more work on distribution 2020-11-29 13:55:37 +01:00
README.md Update README.md 2020-11-29 18:54:15 +01:00
setup.py setup.py dependencies 2020-11-29 14:20:32 +01:00

Key Mapper

A tool to change and program the mapping of your input device buttons.

Ubuntu/DebianManjaro/ArchGit


Usage

To open the UI to modify the mappings, look into your applications menu and search for 'Key Mapper' in settings. You can also start it via key-mapper-gtk. It works with both Wayland and X11.

If stuff doesn't work, check the output of key-mapper-gtk -d and feel free to open up an issue here.

Macros

It is possible to write timed macros into the center column:

  • k(1).k(2) 1, 2
  • r(3, k(a).w(500)) a, a, a with 500ms pause
  • m(Control_L, k(a).k(x)) CTRL + a, CTRL + x

Documentation:

  • r repeats the execution of the second parameter
  • w waits in milliseconds
  • k writes a single keystroke
  • m holds a modifier while executing the second parameter
  • . executes two actions behind each other

For a list of supported keystrokes and their names, check the output of xmodmap -pke

Installation

Ubuntu/Debian
sudo dpkg -i $(wget TODO)
sudo usermod -a -G plugdev,input $USER
# log out and back in or restart,
# the two groups should be visible with:
groups
Manjaro/Arch
pacaur -S key-mapper-git
Git
git clone https://github.com/sezanzeb/key-mapper.git
sudo pip install key-mapper
sudo usermod -a -G plugdev,input $USER
# log out and back in or restart,
# the two groups should be visible with:
groups

Roadmap

  • show a dropdown to select valid devices
  • creating presets per device
  • renaming presets
  • show a mapping table
  • make that list extend itself automatically
  • read keycodes with evdev
  • inject the mapping
  • keep the system defaults for unmapped buttons
  • button to stop mapping and using system defaults
  • highlight changes and alert before discarding unsaved changes
  • automatically load presets on login for plugged in devices
  • make sure it works on wayland
  • support timed macros, maybe using some sort of syntax
  • add to the AUR, provide .deb file
  • automatically load presets when devices get plugged in after login

Tests

pylint keymapper --extension-pkg-whitelist=evdev
sudo pip install . && python3 tests/test.py