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 7e70b00e5b full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 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 full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 4 years ago
tests full path to the daemon for loading presets, some TODOs, .json file extension, nested mapping in .json config 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