Repository navigation
Port upstream #313, #314, #311 and the #270 left-pad mouse - #22
Merged
Merged
Conversation
Port of upstream safijari#314. Mouse, consumer and keyboard reports share one endpoint, so sending them directly under ready() dropped every report after the first in a poll cycle and lost key edges while the cursor moved; they now go through usbTxHid. Pure Lizard also lands id9=1 once per connect, so a controller a previous session left at id9=0 gets its trackpad ticks back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Port of upstream safijari#313. A weak link fades for seconds and the controller drops the session if polls stop, so the quiet back-off now starts at 2.5 s instead of 300 ms; only an announced power-off (F2) still backs off at 300 ms. A slot that replied within the last 300 ms gets one retransmit of a lost poll when the cycle has room for it (not after an empty ACK). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Port of upstream safijari#311 into the panel modules. Reads the controller bonds off a Valve puck over WebHID (the 0xA3 bond read on feature report 2) and writes them into free OpenPuck slots with the 0x0D/0x0E import commands, so those controllers connect with no re-pairing. The read pairings are held in localStorage, so it works with one USB port; the section sits above the panel while no OpenPuck is connected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From upstream safijari#270's final revision. The left trackpad can now drive the cursor with the same glide model as the right pad; each pad integrates on its own and both add into the one cursor. It is source 4 rather than upstream's 3, since our right stick already holds 3, so saved maps and backups keep their meaning. Left-pad scroll is unchanged and can be bound alongside it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Ports the upstream PRs merged on 2026-10-13 that the fork didn't already have. A straight merge of
upstream/mainconflicts in 14 files, and most of those PRs are already here in another form, so each one is ported on its own.Ported
c6afd6e: Lizard sends its mouse, consumer and keyboard reports throughusbTxHid. They share one endpoint, so sending directly underready()dropped every report after the first in a poll cycle and lost key edges while the cursor moved. Pure Lizard also writes id9=1 once per connect, so a controller that a previous session left at id9=0 gets its trackpad ticks back.0e4b912: A fading slot keeps full-rate polling for 2.5 s instead of 300 ms. Only an announced power-off (F2) still backs off at 300 ms. A slot that replied within the last 300 ms gets one retransmit of a lost poll if the cycle has room; this differs from upstream in that it's skipped after an empty ACK.826dced: "Clone from an official puck" in Backup & clone, ported into the panel modules. It reads a Valve puck's bonds over WebHID and writes them into free slots with the existing 0x0D/0x0E commands. Storage access is wrapped in try/catch.e5319a9: the left trackpad as a Lizard mouse-move source. It's source 4, not upstream's 3, because our right stick already uses 3, so saved maps and backups keep their meaning.Skipped
Testing
make check,make buildand all host tests pass.tests/lizard_sticknow has ausb_tx.hstand-in and left/right-pad mouse cases.🤖 Generated with Claude Code