2020-12-19 15:09:24 +00:00
|
|
|
# Development
|
|
|
|
|
2020-12-19 15:15:05 +00:00
|
|
|
Contributions are very welcome, I will gladly review and discuss any merge
|
|
|
|
requests.
|
|
|
|
|
2020-12-19 15:09:24 +00:00
|
|
|
## Roadmap
|
|
|
|
|
|
|
|
- [x] show a dropdown to select valid devices
|
|
|
|
- [x] creating presets per device
|
|
|
|
- [x] renaming presets
|
|
|
|
- [x] show a mapping table
|
|
|
|
- [x] make that list extend itself automatically
|
|
|
|
- [x] read keycodes with evdev
|
|
|
|
- [x] inject the mapping
|
|
|
|
- [x] keep the system defaults for unmapped buttons
|
|
|
|
- [x] button to stop mapping and using system defaults
|
|
|
|
- [x] highlight changes and alert before discarding unsaved changes
|
|
|
|
- [x] automatically load presets on login for plugged in devices
|
|
|
|
- [x] make sure it works on wayland
|
|
|
|
- [x] support timed macros, maybe using some sort of syntax
|
|
|
|
- [x] add to the AUR, provide .deb file
|
|
|
|
- [x] basic support for gamepads as keyboard and mouse combi
|
|
|
|
- [x] executing a macro forever while holding down the key using `h`
|
|
|
|
- [x] mapping D-Pad directions as buttons
|
|
|
|
- [ ] support for non-GUI TTY environments
|
|
|
|
- [ ] mapping joystick directions as buttons
|
|
|
|
- [ ] configure joystick purpose via the GUI and store it in the preset
|
|
|
|
- [ ] automatically load presets when devices get plugged in after login (udev)
|
|
|
|
- [ ] mapping a combined button press to a key
|
|
|
|
- [ ] start the daemon in the input group to not require usermod somehow
|
|
|
|
- [ ] configure locale for preset to provide a different set of possible keys
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
|
|
|
```bash
|
|
|
|
pylint keymapper --extension-pkg-whitelist=evdev
|
|
|
|
sudo pip install . && coverage run tests/test.py
|
|
|
|
coverage combine && coverage report -m
|
|
|
|
```
|
|
|
|
|
|
|
|
To read events, `evtest` is very helpful. Add `-d` to `key-mapper-gtk`
|
2020-12-19 15:12:55 +00:00
|
|
|
to get debug output.
|
|
|
|
|
|
|
|
## Releasing
|
|
|
|
|
|
|
|
ssh/login into a ubuntu machine
|
|
|
|
|
|
|
|
```bash
|
|
|
|
./scripts/build.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
this will generate `key-mapper/deb_dist/python3-key-mapper_0.3.1-1_all.deb`
|
|
|
|
depending on the version configured in setup.py
|
|
|
|
|
|
|
|
## Badges
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo pip install git+https://github.com/jongracecox/anybadge
|
|
|
|
sudo pip install git+https://github.com/dbrgn/coverage-badge
|
|
|
|
./scripts/badges.sh
|
|
|
|
```
|
2020-12-19 15:14:01 +00:00
|
|
|
|
|
|
|
new badges, if needed, will be created in `readme/` and they
|
|
|
|
just need to be commited.
|