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 d02e3eaa13 final commit on sixth 4 years ago
bin still wont work. again. 4 years ago
data still wont work. again. 4 years ago
keymapper final commit on sixth 4 years ago
tests still wont work. again. 4 years ago
.gitignore .idea to gitignore 4 years ago
HELP.md final commit on sixth 4 years ago
LICENSE outlined some stuff 4 years ago
README.md not again 4 years ago
setup.py still wont work. again. 4 years ago

README.md

Key Mapper

Almost done

GUI tool to map input buttons to e.g. change the macro keys of a mouse or any keyboard to something different. It should not be device specific, any input device supported by Linux plug and play that reports keyboard events will likely work.

This unfortunately doesn't apply to left/middle/right clicks of mice, or the common back/forward thumb buttons, but the keypads of MMO mice seem to work. Changing single keys of keyboards also works.

Running

sudo python3 setup.py install && sudo key-mapper-gtk -d

You can also start it via your applications menu.

Dependencies

python-evdev

Tests

sudo python3 setup.py install && python3 tests/test.py

Roadmap

  • show a dropdown to select an arbitrary device from xinput list
  • creating presets per device
  • renaming presets
  • show a list for mappings [keycode -> target]
  • read keycodes with evdev
  • make that list extend itself automatically
  • load that file with setxkbmap on button press
  • 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 the preset when the mouse connects
  • ask for administrator permissions using polkit
  • make it work on wayland
  • add to the AUR, provide .deb and .appimage files

Before you consider contributing to the evtest injection and xkb mechanics, I need you to understand the stuff in HELP.md