mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 14:00:10 +02:00
Gaze first: test results; treadmill from the start, muted compositor binding
From the first headset tests (docs/gaze-first.md, "Test results"): - SteamVR gives the treadmill path only to a device that hints it when it's added, so the driver hints a role that's no hand from Activate (a hand still only while shown). With it, our device held the dashboard laser with no hand role. The helper doesn't release the pointer for having no hand role when POINTER_ROLE is treadmill. - The helper's global action sets can't mute the compositor (SteamVR reports them inactive while the laser mouse has focus), but selecting pointer/bindings/vrcompositor_frame_controller_gazefirst.json (the stock binding without its trigger and bumper laser entries) through vrserver's /input/selectconfig.action does. - input/vrws.py follows devices that connect later. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bd06207db9
commit
87a63932c0
5 files changed
+506
-13
No files matched your search
@@ -1353,8 +1353,9 @@ int main() {
|
||||
if (debug) std::fflush(stdout);
|
||||
}
|
||||
|
||||
// Didn't get the hand role (a held controller keeps it): release, back off.
|
||||
if (active && tnow - wokeAt > std::chrono::seconds(1) && ours != vr::k_unTrackedDeviceIndexInvalid &&
|
||||
// Didn't get the hand role (a held controller keeps it): release, back off. Treadmill is
|
||||
// no hand, and SteamVR reports no role for it (it's /user/treadmill): nothing to lose.
|
||||
if (active && role != "treadmill" && tnow - wokeAt > std::chrono::seconds(1) && ours != vr::k_unTrackedDeviceIndexInvalid &&
|
||||
sys->GetControllerRoleForTrackedDeviceIndex(ours) == vr::TrackedControllerRole_Invalid) {
|
||||
active = false;
|
||||
claimPending = claimHeld = false;
|
||||
|
||||
Reference in new issue
Block a user