mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 04:04:09 +02:00
Hands: the headset button as Next, clearer push steps
The headset's right-side click button (KEY_SELECT on gpio-keys, read without a grab) now works the session: Next while a step waits, pause during a hold, resume while paused. With no mouse connected the hints lead with it. The push sections say plainly to push straight out from the headset and pull back, with a side-view picture of the head, the headset and the arrow, and the bar's ends read "At your chest" and "Arm out". The bar labels are sent as one field, so labels with spaces no longer split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
35196e2955
commit
79eb251d6c
12 files changed
+558
-53
No files matched your search
@@ -8,8 +8,8 @@ A Kirigami (QML) app with a Python backend. It runs in the dev container:
|
||||
free space) and what will happen. Start hands it to the session runner (session.py).
|
||||
- Session: the runner's live status with the step's pose picture and where-to diagram, Next,
|
||||
Pause/Resume, Redo, Skip section and Stop (Space: Next, P, R, S and Esc while the window has
|
||||
focus). The prompts appear in the headset. Each step waits for Next unless "Advance by
|
||||
itself" was ticked.
|
||||
focus; the button on the headset's right side is Next, pause and resume). The prompts appear
|
||||
in the headset. Each step waits for Next unless "Advance by itself" was ticked.
|
||||
- Review: sessions, their takes, and a viewer for one frame set at a time, where ranges,
|
||||
takes and sessions can be deleted (takes.py).
|
||||
- Export: compress what's kept into exports/<session>/ at nice 19 (takes.py), with a warning
|
||||
@@ -212,7 +212,7 @@ class Backend(QObject):
|
||||
def __init__(self, store, session_options=None, hub_dry_run=False):
|
||||
super().__init__()
|
||||
self.store = store
|
||||
self._session_options = session_options or {} # test hooks for Session: dry_run, speed, poses_dir
|
||||
self._session_options = session_options or {} # Session options: dry_run, speed, poses_dir (tests), button
|
||||
self._hub_dry_run = hub_dry_run
|
||||
self._login = {"state": "dry" if hub_dry_run else "unknown"}
|
||||
self._login_busy = False
|
||||
@@ -923,6 +923,8 @@ def main():
|
||||
help="test: sessions start no processes and print the panel's commands")
|
||||
ap.add_argument("--speed", type=float, default=1.0, help="test, with --dry-run: run sessions this much faster")
|
||||
ap.add_argument("--poses", help="test: the pose pictures' folder (default hands/rec/poses)")
|
||||
ap.add_argument("--no-headset-button", action="store_true",
|
||||
help="sessions don't read the headset's button (Next, pause, resume)")
|
||||
ap.add_argument("--hub-dry-run", action="store_true",
|
||||
help="test: Upload checks the export and says what it would send, with no network calls")
|
||||
a, qt_args = ap.parse_known_args()
|
||||
@@ -939,6 +941,8 @@ def main():
|
||||
options = {"dry_run": True, "speed": a.speed} if a.dry_run else {}
|
||||
if a.poses:
|
||||
options["poses_dir"] = a.poses
|
||||
if a.no_headset_button:
|
||||
options["button"] = False
|
||||
backend = Backend(store, options, hub_dry_run=a.hub_dry_run)
|
||||
app.aboutToQuit.connect(backend.shutdown)
|
||||
engine.rootContext().setContextProperty("backend", backend)
|
||||
|
||||
Reference in new issue
Block a user