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-10-31 18:25:30 +00:00
|
|
|
GUI tool to map input buttons to e.g. change the macro keys of a mouse or any keyboard to something
|
2020-10-26 22:45:22 +00:00
|
|
|
different. It should not be device specific, any input device supported by Linux plug and play will likely
|
|
|
|
work.
|
|
|
|
|
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-01 19:19:50 +00:00
|
|
|
# Dependencies
|
|
|
|
|
2020-11-02 18:47:31 +00:00
|
|
|
No idea which one are relevant at the moment
|
|
|
|
|
|
|
|
`evtest`, `libinput`, `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-10-31 19:19:46 +00:00
|
|
|
- [x] creating presets per device
|
2020-11-02 23:43:43 +00:00
|
|
|
- [x] renaming presets
|
2020-11-04 00:54:22 +00:00
|
|
|
- [ ] show a list for mappings `[keycode, current key for that keycode -> target]`
|
|
|
|
- [ ] make that list extend itself automatically
|
|
|
|
- [ ] read keycodes with something like xev
|
2020-11-02 23:43:43 +00:00
|
|
|
- [x] generate a file for /usr/share/X11/xkb/symbols/ for each preset, (symlink to home .config/?)
|
2020-11-02 20:58:15 +00:00
|
|
|
- [x] load that file with `setxkbmap`
|
|
|
|
- [ ] automatically load the preset (on startup?, udev on mouse connect?)
|