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 3180f8d86a daemon wont create a config file anymore 4 years ago
bin full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 4 years ago
data talks to the daemon 4 years ago
keymapper daemon wont create a config file anymore 4 years ago
tests daemon wont create a config file anymore 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 update readme 4 years ago
setup.py pylint 9.70 4 years ago

README.md

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