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.
|
4 years ago | |
---|---|---|
DEBIAN | 4 years ago | |
bin | 4 years ago | |
data | 4 years ago | |
keymapper | 4 years ago | |
readme | 4 years ago | |
scripts | 4 years ago | |
tests | 4 years ago | |
.gitignore | 4 years ago | |
.pylintrc | 4 years ago | |
HISTORY.md | 4 years ago | |
LICENSE | 4 years ago | |
MANIFEST.in | 4 years ago | |
README.md | 4 years ago | |
setup.py | 4 years ago |
README.md
Key Mapper
A tool to change and program the mapping of your input device buttons.
Ubuntu/Debian • Manjaro/Arch • Git
Usage
To open the UI to modify the mappings, look into your applications menu
and search for 'Key Mapper' in settings. You can also start it via
key-mapper-gtk
. It works with both Wayland and X11.
If stuff doesn't work, check the output of key-mapper-gtk -d
and feel free
to open up an issue here.
Macros
It is possible to write timed macros into the center column:
k(1).k(2)
1, 2r(3, k(a).w(500))
a, a, a with 500ms pausem(Control_L, k(a).k(x))
CTRL + a, CTRL + x
Documentation:
r
repeats the execution of the second parameterw
waits in millisecondsk
writes a single keystrokem
holds a modifier while executing the second parameter.
executes two actions behind each other
For a list of supported keystrokes and their names, check the output of
xmodmap -pke
Installation
Ubuntu/Debian
wget https://github.com/sezanzeb/key-mapper/releases/download/0.1.0/python3-key-mapper_0.1.0-1_all.deb
sudo dpkg -i python3-key-mapper_0.1.0-1_all.deb
sudo usermod -a -G plugdev,input $USER
# log out and back in or restart,
# the two groups should be visible with:
groups
Manjaro/Arch
pacaur -S key-mapper-git
Git
git clone https://github.com/sezanzeb/key-mapper.git
sudo pip install key-mapper
sudo usermod -a -G plugdev,input $USER
# log out and back in or restart,
# the two groups should be visible with:
groups
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
- support timed macros, maybe using some sort of syntax
- add to the AUR, provide .deb file
- automatically load presets when devices get plugged in after login
Tests
pylint keymapper --extension-pkg-whitelist=evdev
sudo pip install . && python3 tests/test.py