feat: implement cyborg joystick bulk write, global timings, and enhanced CLI mapping feedback

This commit is contained in:
Aodhan Collins
2026-02-22 19:43:26 +00:00
parent 18f84a538a
commit d66947ff07
8 changed files with 275 additions and 407 deletions

12
TODO.md
View File

@@ -1,18 +1,18 @@
# Azeron Cyborg Linux Support - Remaining Tasks
## Protocol Implementation
- [ ] **Joystick Bulk Write (`0x26EC`)**: Implement `azeron_protocol_set_stick_config` using the new bulk write format.
- [x] **Joystick Bulk Write (`0x26EC`)**: Implement `azeron_protocol_set_stick_config` using the new bulk write format.
- Map mode byte (index 3).
- Map stick angle (index 8).
- Map deadzone/sensitivity.
- [ ] **Global Timings (`0x2000`)**: Implement a function to set Long Press and Double Click delays.
- [ ] **Verify Read Configuration**: Confirm if `0x26FB` works for Cyborg or if a new read command is required (Heartbeat showed `0x12EA/EB` pairs).
- [x] **Global Timings (`0x2000`)**: Implement a function to set Long Press and Double Click delays.
- [x] **Verify Read Configuration**: Confirm if `0x26FB` works for Cyborg or if a new read command is required (Heartbeat showed `0x12EA/EB` pairs).
- [ ] **Surgical Button Persistence**: Verify if `0x204B` (Commit) is sufficient for all surgical updates or if `0x26ED` is needed.
## CLI Enhancements
- [ ] **Joystick Commands**: Add `set-stick-mode` and `set-stick-angle`.
- [ ] **Timing Commands**: Add `set-delays --long <ms> --double <ms>`.
- [ ] **Action Feedback**: Update `show-mappings` to display all three actions (Single, Long, Double) per button.
- [x] **Joystick Commands**: Add `set-stick-mode` and `set-stick-angle`.
- [x] **Timing Commands**: Add `set-delays --long <ms> --double <ms>`.
- [x] **Action Feedback**: Update `show-mappings` to display all three actions (Single, Long, Double) per button.
## Testing & Validation
- [ ] **Linux Verification**: Test all surgical updates (`0x20F6/F8/4A`) using `libusb` on Linux.