2020-10-31 13:02:59 +00:00
|
|
|
# Key Mapper
|
2020-10-26 22:45:22 +00:00
|
|
|
|
2020-11-04 00:54:22 +00:00
|
|
|
**Almost done**
|
2020-10-31 23:53:41 +00:00
|
|
|
|
2020-11-15 11:15:58 +00:00
|
|
|
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
|
2020-11-16 12:01:42 +00:00
|
|
|
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.
|
2020-10-26 22:45:22 +00:00
|
|
|
|
2020-10-31 18:21:17 +00:00
|
|
|
<p align="center">
|
|
|
|
<img src="data/screenshot.png"/>
|
|
|
|
</p>
|
|
|
|
|
2020-11-01 20:32:06 +00:00
|
|
|
# Running
|
|
|
|
|
2020-11-02 19:55:17 +00:00
|
|
|
```bash
|
2020-11-01 20:32:06 +00:00
|
|
|
sudo python3 setup.py install && sudo key-mapper-gtk -d
|
|
|
|
```
|
|
|
|
|
2020-11-15 11:15:58 +00:00
|
|
|
You can also start it via your applications menu.
|
2020-11-01 19:19:50 +00:00
|
|
|
|
2020-11-15 11:15:58 +00:00
|
|
|
# Dependencies
|
2020-11-02 18:47:31 +00:00
|
|
|
|
2020-11-15 11:15:58 +00:00
|
|
|
`python-evdev`
|
2020-11-01 20:32:06 +00:00
|
|
|
|
|
|
|
# Tests
|
|
|
|
|
2020-11-02 19:55:17 +00:00
|
|
|
```bash
|
2020-11-08 17:51:35 +00:00
|
|
|
sudo python3 setup.py install && python3 tests/test.py
|
2020-11-01 20:32:06 +00:00
|
|
|
```
|
2020-11-01 19:19:50 +00:00
|
|
|
|
2020-10-31 18:22:50 +00:00
|
|
|
# Roadmap
|
2020-10-26 22:45:22 +00:00
|
|
|
|
2020-10-31 16:02:17 +00:00
|
|
|
- [x] show a dropdown to select an arbitrary device from `xinput list`
|
2020-11-17 22:49:17 +00:00
|
|
|
- [ ] creating presets per device
|
|
|
|
- [ ] renaming presets
|
2020-11-08 17:52:09 +00:00
|
|
|
- [x] show a list for mappings `[keycode -> target]`
|
2020-11-10 22:35:31 +00:00
|
|
|
- [x] read keycodes with evdev
|
2020-11-15 11:15:58 +00:00
|
|
|
- [x] make that list extend itself automatically
|
|
|
|
- [x] load that file with `setxkbmap` on button press
|
2020-11-10 22:21:19 +00:00
|
|
|
- [x] keep the system defaults for unmapped buttons
|
2020-11-17 22:49:17 +00:00
|
|
|
- [ ] button to stop mapping and using system defaults
|
2020-11-15 00:35:35 +00:00
|
|
|
- [x] highlight changes and alert before discarding unsaved changes
|
2020-11-15 14:47:16 +00:00
|
|
|
- [ ] automatically load the preset when the mouse connects
|
2020-11-15 17:55:16 +00:00
|
|
|
- [x] ask for administrator permissions using polkit
|
2020-11-08 20:39:31 +00:00
|
|
|
- [ ] make it work on wayland
|
|
|
|
- [ ] add to the AUR, provide .deb and .appimage files
|
2020-11-18 12:22:04 +00:00
|
|
|
|
|
|
|
Before you consider contributing to the evtest injection and xkb mechanics,
|
|
|
|
I need you to understand the stuff in HELP.md
|