mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 06:00:22 +02:00
VR keyboard: cleanup of the controller bridge, gesture input and docs
- gesture-input.js: drop the unused mode getter and release(). - relay.mjs: both sides have a binding; no condition. - hub.js: the frame cadence is documented once (bridge-patch.js); errors listed. - docs: the bridge's idle cost and "one word at a time" stated once; twoHanded's README row points to the docs; rewrapped lines.
This commit is contained in:
1 parent
605e42ffa1
commit
2442527514
6 files changed
+16
-19
No files matched your search
@@ -3,17 +3,16 @@
|
||||
// extraArgs (like lib/hooks.js): installs window.__sfuiControllers unless an
|
||||
// equal or newer VERSION is there (a newer one takes over the subscribers)
|
||||
// and evaluates to it. relay.mjs calls frame(f) with bridge-patch.js's
|
||||
// frames and lost() when the SteamVR side goes away.
|
||||
// frames (cadence there) and lost() when the SteamVR side goes away.
|
||||
// subscribe(fn) -> unsubscribe fn(frame) per frame, fn(null) when lost
|
||||
// last the last frame (null: none / lost)
|
||||
// demand(ms) full rate for the next ms (0: end), e.g.
|
||||
// during a laser press; via the relay's
|
||||
// CDP binding __sfuiCtlIn
|
||||
// errors { count, last } of throwing subscribers
|
||||
// Each frame's hand points (tip, ray) get the keyboard page's px: x, y
|
||||
// (CSS px of the keyboard popup) and onKeyboard (inside the page), if the
|
||||
// keyboard popup exists. Frames come at up to ~90 Hz while a hand's tip is
|
||||
// within 10 cm of the keyboard or its trigger is pulled, else every 1 s, and
|
||||
// only while SteamVR shows the keyboard (then one with keyboard null).
|
||||
// keyboard popup exists.
|
||||
(() => {
|
||||
const VERSION = 2;
|
||||
const G = globalThis;
|
||||
|
||||
@@ -56,7 +56,7 @@ async function connect(side) {
|
||||
const closed = new Promise((res) => { ws.onclose = res; });
|
||||
// No Runtime.enable: bindings work without it, and it would stream the
|
||||
// page's console and context events here.
|
||||
if (cfg.binding) send('Runtime.addBinding', { name: cfg.binding });
|
||||
send('Runtime.addBinding', { name: cfg.binding });
|
||||
live[side] = (expression) => send('Runtime.evaluate', { expression });
|
||||
console.log(`${side}: connected`);
|
||||
await closed;
|
||||
|
||||
Reference in new issue
Block a user