feat(controls): hold remote buttons on Core 2.17+ - #278
wizzomafizzo wants to merge 1 commit into
Conversation
Core 2.17.0 keeps keys held across WebSocket requests with {press:key}
and {release:key}. The Controls remote pad now sends a press when a
pointer goes down and a release when the last pointer on that button
lifts, so held buttons auto-repeat on the host and several buttons can
be held at once.
- Track held keys per pointer and send presses, releases and taps
through one queue so Core receives them in order. Releases wait at
least 40ms after their press, matching Core's tap duration.
- Release everything when the modal closes, the pad unmounts, the page
is hidden or the hook unmounts, and forget held keys without sending
releases after a failed request or a dropped socket, since Core has
already released them.
- Fall back to taps for the connection when Core rejects held input on
a platform that cannot hold keys, and keep that rejection out of
error reporting.
- Capture each pointer on its button, keep keyboard and screen reader
activation as taps, and stop pad presses from scrolling, zooming,
selecting text or opening long-press menus.
- Gate the behaviour behind Core 2.17.0. Older Cores and the Keyboard
tab keep sending taps.
- Add a 1.14.0 What's New item.
|
Warning Review limit reachedNext included review available in 58 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (18)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
@coderabbitai review |
|
{press:key}when a pointer goes down and{release:key}when the last pointer on that button lifts. Held buttons auto-repeat on the host, and several buttons can be held at once.heldInput). Older Cores and the Keyboard tab keep sending taps. Holding Shift-modified keys needs Core support, tracked in fix(input): support Shift-modified characters and modifier combos in press/release zaparoo-core#1499.