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 c31c77bf9c Update README.md 4 years ago
DEBIAN debian package 4 years ago
bin macro parser 4 years ago
data fixed icons in ubuntu 4 years ago
keymapper daemon reloads the config on apply 4 years ago
readme updated badges 4 years ago
scripts deb packaging seems to work now 4 years ago
tests more tests 4 years ago
.gitignore deb packaging seems to work now 4 years ago
.pylintrc pylint 9.70 4 years ago
HISTORY.md update HISTORY.md 4 years ago
LICENSE outlined some stuff 4 years ago
MANIFEST.in more work on distribution 4 years ago
README.md Update README.md 4 years ago
setup.py setup.py dependencies 4 years ago

README.md

Key Mapper

A tool to change and program the mapping of your input device buttons.

Ubuntu/DebianManjaro/ArchGit/pip


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, 2
  • r(3, k(a).w(500)) a, a, a with 500ms pause
  • m(Control_L, k(a).k(x)) CTRL + a, CTRL + x

Documentation:

  • r repeats the execution of the second parameter
  • w waits in milliseconds
  • k writes a single keystroke
  • m 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

After your installation, independent of the method, you should add yourself to the input and plugdev groups so that you can read keycodes from them. You have to start the application via sudo otherwise.

sudo usermod -a -G plugdev,input $USER
# log out and back in or restart, the two groups should be visible with:
groups
Git/pip
sudo pip install git+https://github.com/sezanzeb/key-mapper.git
Manjaro/Arch
pacaur -S key-mapper-git
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

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