The last state of the experiment, kept on this branch only:
- input/gazefirst.py, input/steamui.py: the relay reading the controllers from
vrserver's web socket, switching the compositor binding, and driving the Steam
UI filter (whose block now expires unless renewed).
- The helper's trigger and bumper holds (steered by the controller's position),
the laser keeper, and the click gate that waits for the laser.
- pointer/probe/focustest (overlay flag 1 << 4, as an input client too),
vrsetting (SteamVR settings through vrserver), lasertest --reclaim.
Every press and release Steam sees takes SteamVR out of laser mode, and taking
the laser back breaks clicks and drags. See docs/gaze-controllers.md on
experimental.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs/gaze-first.md is the plan agreed on 2026-09-30: with gaze on and no
game, the gaze drives the 3D pointer everywhere, either trigger clicks
where you look (tap, precision by hand movement, hold to drag), and the
controllers keep everything but their lasers.
For its four tests:
- The driver takes "role treadmill", and its compositor bindings repeat
the right hand's under /user/treadmill. They're additive, so nothing
changes while the device is a hand. POINTER_ROLE accepts treadmill.
- pointer/probe/lasertest follows who has the dashboard laser and the
controllers' roles, and with --snapback takes the laser back.
- input/vrws.py reads vrserver's web socket with the standard library
(the host's Python has no websockets module) and prints component
changes and update rates. Checked: it connects, and lists the
controllers' bumper, thumbstick axes, and Steam button, and the
headset's /proximity, which flickers off for 0.3-0.5 s while worn.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Several KDE Plasma screens floating in SteamVR, each a real monitor of any
resolution and shape, shown by our own compositor (ft-screens), with a
layout, wrist pinning, and visibility modes; a Bluetooth mouse that drives
all of SteamVR as a room-anchored 3D pointer (input relay, ft-pointer
helper, ft_pointer SteamVR driver); two settings apps; and Bluetooth LE
fixes. Installs on the headset with ./install.sh.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>