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 d67a03479d updated badges 4 years ago
DEBIAN debian package 4 years ago
bin macro parser 4 years ago
data fixed icons in ubuntu 4 years ago
keymapper made it work on an old ubuntu laptop 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


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

Ubuntu/Debian
sudo dpkg -i $(wget TODO)
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