Repository navigation
Conversation
Over Bluetooth a mapped side button sometimes sent its plain key to the game instead of the remapped action. - InputEdgeMatcher kept an edge for only 25 ms measured against the newest edge, so a tap callback that ran after the release was recorded found no press and passed the native key. Edges are now retained for one second and still match within 25 ms of the event's hardware timestamp. - CorrelatedEdges lets the tap wait up to 20 ms for an edge the HID thread has not recorded yet, for mapped controls while the mouse is connected. - The HID thread runs at user-interactive QoS. - A tap disabled by the system is logged, and ModifierTrace records waits and unmatched mapped-control events without the key. Tests: 12 new checks. Reported fixed by the user in a game over Bluetooth. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Brings in the PR Zer0codestuff#8 merge commit and the 2.7.0 release. AGENTS.md entries from both sides are kept. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The 20 ms wait added for leaking remapped keys stalled the blocking tap. It ran for every key matching a mapped button, including the real keyboard's, and under game load overran to 80 to 119 ms, which held up mouse movement and clicks in Rise of the Tomb Raider. The user's trace showed no wait that ever caught a late mouse edge, so the edge retention fix is what cured the leaks. - EventTapManager no longer waits for an HID edge. - CorrelatedEdges only locks the matcher shared by the HID thread and the tap. - Docs and tests updated. Reported working in the game by the user. Co-Authored-By: Claude Sonnet 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.
When playing games, the remapping sometimes fails and the original keypress is used instead.
So for example when button [2] on the side is assigned to [space], pressing it causes the game to receive [2] instead of the assigned [space]
This occurs on bluetooth as it is a software intercept remap.
This issue started occuring on almost every keypress, which made the bindings unusable, so I released a patch for it. tested it and confirmed the issue is fully resolved, you are good to merge.
(new PR as the original one had another bug that is now resolved)