mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 05:00:08 +02:00
Gaze: idle while the gaze isn't used
The gaze service ran ft-gaze and our own eye tracker all the time: with gaze mode off, ft-eyes still took about 60% of a core, and ft-eyegrab, ft-gaze and ft-gazed 3 to 4% each. Now ft-gaze and our tracker run only while gaze mode is on and someone wears the headset, while a check or the calibration is open or asked for, or under a "wake" lease, which the Gaze page of Frametop Input Settings renews while it's open. 30 s after the last use they stop, and the frame grabber idles with our tracker. - The pointer helper answers "gaze ? headset" with worn|away (SteamVR's activity level for the headset); an older helper answers it as before, and the service then goes by gaze mode alone. - A quick check, calibration, or fit check asked for while idle wakes the tracker and opens once it sends; the automatic calibration waits quietly while it starts. - Status has "awake" and "idle" (why), and the Gaze page shows it. - gaze/test/idle-test.py runs the service with a fake helper and ft-gaze, offline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8aaf7db05a
commit
5b08e43a5d
9 files changed
+307
-21
No files matched your search
+10
-1
@@ -969,6 +969,14 @@ Kirigami.ApplicationWindow {
|
||||
title: "Gaze"
|
||||
header: DriverWarning {}
|
||||
property var status: backend.gazeStatus
|
||||
// The gaze service idles while the gaze isn't used; open, this page keeps it going.
|
||||
Timer {
|
||||
running: true
|
||||
repeat: true
|
||||
interval: 10000
|
||||
triggeredOnStart: true
|
||||
onTriggered: backend.keepGazeAwake()
|
||||
}
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
text: "Quick check"
|
||||
@@ -1202,7 +1210,8 @@ Kirigami.ApplicationWindow {
|
||||
Controls.Label {
|
||||
Kirigami.FormData.label: "Service:"
|
||||
text: backend.gazeServiceRunning
|
||||
? (gpage.status.ft_gaze ? "running" : "running, eye tracker reader restarting")
|
||||
? (gpage.status.awake === false ? "idle: " + gpage.status.idle + " (it starts when the gaze is used)"
|
||||
: gpage.status.ft_gaze ? "running" : "running, eye tracker reader starting")
|
||||
: backend.gazeServiceInstalled ? "not running (frametop-gaze.service, starts with SteamVR)"
|
||||
: "not installed: run gaze/run.sh install in the Frametop folder, in a terminal"
|
||||
color: backend.gazeServiceRunning ? Kirigami.Theme.textColor : Kirigami.Theme.negativeTextColor
|
||||
|
||||
Reference in new issue
Block a user