You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
sezanzeb 007703cabd rearranged the ui a bit 4 years ago
bin access via groups instead of root services with interfaces that are open to everyone 4 years ago
data rearranged the ui a bit 4 years ago
keymapper rearranged the ui a bit 4 years ago
tests access via groups instead of root services with interfaces that are open to everyone 4 years ago
.gitignore .idea to gitignore 4 years ago
.pylintrc pylint 9.70 4 years ago
HELP.md update HELP.md 4 years ago
LICENSE outlined some stuff 4 years ago
README.md access via groups instead of root services with interfaces that are open to everyone 4 years ago
setup.py access via groups instead of root services with interfaces that are open to everyone 4 years ago

README.md

Key Mapper

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:

sudo key-mapper-service

To open the UI to modify the mappings, use:

sudo 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