added some help on debugging device support in development.md

This commit is contained in:
sezanzeb 2021-02-17 00:03:45 +01:00
parent 95915e2090
commit b4a2ae4308

View File

@ -123,6 +123,41 @@ just need to be commited.
Communication to the service always happens via `key-mapper-control`
## Unsupported Devices
Either open up an issue or debug it yourself and make a pull request.
You will need to work with the devices capabilities. You can get those using
```
sudo evtest
```
**It tries or doesn't try to map ABS_X/ABS_Y**
Is the device a gamepad? Does the GUI show joystick configurations?
- if yes, no: adjust `is_gamepad` to loosen up the constraints
- if no, yes: adjust `is_gamepad` to tighten up the constraints
Try to do it in such a way that other devices won't break. Also see
readme/capabilities.md
**It won't offer mapping a button**
Modify `should_map_event_as_btn`
**The cursor won't move anymore**
Can be difficult. Depending on capabilities the display server might not
treat events as cursor movements anymore. e.g. mice with EV_ABS capabilities
won't move the cursor. Or key-mapper removed the EV_ABS capabilities.
Or due to weird stuff a new capability appears out of nowhere (ABS_VOLUME).
At some point this won't be a problem anymore when key-mapper creates a new
device for all injected keys for non-keyboards, as well as for generated
EV_REL events for gamepads.
Modify `_modify_capabilities` to get it to work.
## Resources
- [Guidelines for device capabilities](https://www.kernel.org/doc/Documentation/input/event-codes.txt)