Skip to content

Fix Zwift Click v2 buttons not routed (Steer Left/Right and others never fire) - #4860

Merged
cagnulein merged 1 commit into
masterfrom
fix/zwift-click-button-routing
Jul 29, 2026
Merged

Fix Zwift Click v2 buttons not routed (Steer Left/Right and others never fire)#4860
cagnulein merged 1 commit into
masterfrom
fix/zwift-click-button-routing

Conversation

@cagnulein

Copy link
Copy Markdown
Owner

Summary

  • The zwift_click v2 connection path (two paired "Zwift Click" BLE devices, e.g. manufacturer types 10/11) only wired up the plus/minus (gear shift) signals from AbstractZapDevice.
  • All other button events (leftLeft, leftRight, rightA, rightZ, paddles, ride shift/power buttons, etc.) were correctly parsed from the raw BLE frames but never connected to anything — unlike the zwift_play branch, which wires the full set to both bluetooth::zwiftPlay* slots and to MyWhooshLink.
  • Confirmed via a user debug log: raw frames for these buttons arrived repeatedly (e.g. 23 08 fb ff ff ff 0f, 23 08 fe ff ff ff 0f), but no corresponding action (like a MyWhoosh Link "Steer Left/Right" mapping) was ever triggered, because the signals had no listeners on this code path.
  • This change mirrors the existing zwift_play wiring into the zwift_click v2 branch, so custom button mappings (Steer Left/Right, Camera Angle, U-Turn, Emote, etc. via MyWhoosh Link) work the same way for Zwift Click v2 as they already do for Zwift Play/Ride.

Test plan

  • Connect two Zwift Click v2 devices with zwift_click enabled and MyWhoosh Link enabled with left/right buttons mapped to Steer Left/Right
  • Verify pressing those buttons now triggers the MyWhoosh Link steer action (previously no-op)
  • Verify gear shifting (plus/minus) still works as before

🤖 Generated with Claude Code

The zwift_click v2 branch only wired the plus/minus (gear) signals,
so all other button presses (left/right, A/Y/B/Z, paddles, ride
shift/power buttons) were parsed but silently dropped, unlike the
zwift_play branch which connects all of them. This meant custom
button mappings (e.g. Steer Left/Right via MyWhoosh Link) never
fired for Zwift Click v2 devices even though the raw BLE frames
carried the button state correctly.
@cagnulein

Copy link
Copy Markdown
Owner Author

#4717

@cagnulein cagnulein modified the milestones: 2.19, 2.21 Jul 29, 2026
@cagnulein
cagnulein merged commit 592c28e into master Jul 29, 2026
25 of 27 checks passed
@cagnulein
cagnulein deleted the fix/zwift-click-button-routing branch July 29, 2026 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant