Gaze mode: the mouse only corrects, and left-then-right right-clicks

POINTER_GAZE_MOUSE_MOVE=held, the default (the Gaze page's Mouse movement
switch, with why it's on): while the gaze has the pointer, moving the mouse
does nothing; it moves the pointer only while a button is held, as a
correction. A bumped or drifting mouse can't pull the pointer off what you're
looking at, and every mouse move is a correction, so lessons aren't polluted by
mouse moves to somewhere else. With the gaze stale for a second, in a game, or
with the headset off, the mouse moves the pointer as usual. "free" is the old
behaviour.

Pressing the right button while the left one's press is held back right-clicks
where the pointer is instead (correct with the left, then right-click); both
releases are then nothing. Meta+J then Meta+K stays a drag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
DeeJanuzandClaude Opus 5.5 committed 2026-10-01 10:56:33 -06:00
1 parent 8998fc1ddd
commit a2a5a4c98e
7 files changed
+77 -4

No files matched your search

+24
View File
@@ -890,6 +890,30 @@ Kirigami.ApplicationWindow {
}
}
}
Controls.Switch {
Kirigami.FormData.label: "Mouse movement:"
text: "Only while a button is held (recommended)"
checked: backend.gazeMouseHeld
onToggled: backend.setGazeMouseHeld(checked)
}
Controls.Label {
Layout.maximumWidth: Kirigami.Units.gridUnit * 30
wrapMode: Text.WordWrap
text: backend.gazeMouseHeld
? "Your eyes move the pointer, so moving the mouse on its own does nothing. To fix a click "
+ "that's a little off, press and hold the left button: the pointer stops where you're "
+ "looking. Move the mouse onto what you meant and let go to click there, or press the "
+ "right button instead to right-click there. It's on because a bumped or drifting mouse "
+ "can't pull the pointer away from where you're looking, and every mouse move is a real "
+ "correction, which the eye tracker learns from to get more accurate. If the eye "
+ "tracker stops (the headset is off, or it lost your eyes), the mouse moves the "
+ "pointer as usual."
: "The mouse moves the pointer any time, as without gaze; looking well away hands the "
+ "pointer back to your eyes. Mouse moves that weren't corrections can teach the eye "
+ "tracker the wrong thing, so it may get less accurate."
opacity: 0.7
font: Kirigami.Theme.smallFont
}
Controls.Switch {
Kirigami.FormData.label: "Gaze dot:"
text: "Always shown (off: only while the mouse moves it)"