Go to file
2020-11-27 00:11:23 +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 tooltip for autoload 2020-11-26 23:57:31 +01:00
keymapper more config tests 2020-11-27 00:11:23 +01:00
tests more config tests 2020-11-27 00:11:23 +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 Merge branch 'main' of github.com:sezanzeb/key-mapper into main 2020-11-27 00:00:27 +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

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


Usage

To open the UI to modify the mappings, use:

key-mapper-gtk

You can also start it via your applications menu.

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

Git 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

Depending on how those packages are called in your distro, you need the following dependencies:

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