Fix Zwift Click v2 buttons not routed (Steer Left/Right and others never fire) - #4860
Merged
Conversation
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.
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
zwift_clickv2 connection path (two paired "Zwift Click" BLE devices, e.g. manufacturer types 10/11) only wired up theplus/minus(gear shift) signals fromAbstractZapDevice.leftLeft,leftRight,rightA,rightZ, paddles, ride shift/power buttons, etc.) were correctly parsed from the raw BLE frames but never connected to anything — unlike thezwift_playbranch, which wires the full set to bothbluetooth::zwiftPlay*slots and toMyWhooshLink.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.zwift_playwiring into thezwift_clickv2 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
zwift_clickenabled and MyWhoosh Link enabled with left/right buttons mapped to Steer Left/Right🤖 Generated with Claude Code