Go to file
2020-11-25 00:23:34 +01:00
bin full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 2020-11-25 00:23:34 +01:00
data talks to the daemon 2020-11-22 21:04:09 +01:00
keymapper full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 2020-11-25 00:23:34 +01:00
tests full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 2020-11-25 00:23:34 +01:00
.gitignore .idea to gitignore 2020-11-08 21:40:23 +01:00
.pylintrc pylint 9.70 2020-11-22 21:41:29 +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 update readme 2020-11-22 22:08:21 +01:00
setup.py pylint 9.70 2020-11-22 21:41:29 +01:00

Key Mapper

Tool to change the mapping of your input device buttons.

Running

First, install the package:

git clone https://github.com/sezanzeb/key-mapper.git
cd key-mapper
sudo python3 setup.py install

To keep injecting the mapping after closing the window, the daemon needs to be running:

sudo key-mapper-service -d

To open the UI to modify the mappings, use:

sudo key-mapper-gtk -d

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
  • ask for administrator permissions using polkit
  • make sure it works on wayland
  • add to the AUR, provide .deb and .appimage files
  • support timed macros, maybe using some sort of syntax