Go to file
2020-11-26 23:40:59 +01:00
bin access via groups instead of root services with interfaces that are open to everyone 2020-11-25 23:36:03 +01:00
data margin 2020-11-26 23:40:59 +01:00
keymapper code coverage 2020-11-26 22:19:30 +01:00
tests pylint badge 2020-11-26 23:34:52 +01:00
.gitignore gitignore tmp png 2020-11-26 21:37:36 +01:00
.pylintrc pylint 9.70 2020-11-22 21:41:29 +01:00
badges.sh pylint badge 2020-11-26 23:34:52 +01:00
HELP.md update HELP.md 2020-11-22 21:55:03 +01:00
LICENSE outlined some stuff 2020-10-26 23:45:55 +01:00
README.md pylint badge 2020-11-26 23:34:52 +01:00
setup.py access via groups instead of root services with interfaces that are open to everyone 2020-11-25 23:36:03 +01:00

Key Mapper

pylint coverage

Tool to change the mapping of your input device buttons.

Running

Installation:

git clone https://github.com/sezanzeb/key-mapper.git
cd key-mapper
sudo python3 setup.py install
usermod -a -G input $USER
usermod -a -G plugdev $USER

To keep injecting the mapping after closing the window, the daemon needs to be running. If it doesn't already after logging in, you can use:

key-mapper-service

To open the UI to modify the mappings, use:

key-mapper-gtk

You can also start it via your applications menu.

Dependencies

Depending on how those packages are called in your distro:

python3-distutils-extra python3-evdev python3-dbus

It works with both Wayland and X11.

Tests

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

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
  • automatically load presets when devices get plugged in after login
  • make sure it works on wayland
  • add to the AUR, provide .deb and .appimage files
  • support timed macros, maybe using some sort of syntax