orvix (iron man - type computer control using hand gestures) devlog #2
gestures 3 to 9, tests 22 to 115, 5 new modules, 3 real bugs fixed, 2 on-screen cocoa bits (radial wheel + cursor dwell ring).
last time orvix could move, click, drag and scroll. this round i brainstormed a big list of gestures, cut it down, and shipped six new ones:
- grab needs a real fist now. leapd calls it a grab way too early, so now it also checks which fingers are still out. strictness is a menu setting.
- draw a circle to open a radial menu. eight slices (mission control, maximize, app switcher, undo, copy, paste, screenshot, close), point and pinch to fire. they run normal keyboard shortcuts, and a see-through wheel draws on screen and follows your hand.
- two hands pinch and pull apart/together to zoom.
- fist + twist your wrist like a knob for volume.
- hold the cursor still to left click, 1.5s, with a ring that fills as it counts down.
- both palms out like a stop sign pauses everything.
- thumbs up to hit return.
all six toggle from the menu bar. same architecture as before: the gesture logic is pure modules with no leap or mac code so it tests unplugged, and gui and cli still share one run_live().
three bugs that were actually broken:
- circle detector did the angle math around a shifting center, so a full circle only read ~185 degrees. rewrote it to measure
total spin across the whole path. - the overlay never drew because it called a cocoa method that doesnt exist, and my own try/except swallowed the crash quietly.
fixed it and made failures log loud. - a started_at or now zero bug that killed the dwell timer when the clock started at exactly 0.
cant test the hardware path so i faked leap frames through the real run_live with a recording mouse to confirm the wiring.
tuning by feel: circle-to-open was too easy so its 400 degrees now (a full loop plus), the wheel is pinch-only, and dwell click
sits at 1.5s.
still rough: fist-twist volume and grab-scroll shahells to osascript, two-hand tracking is iffy onthe old leap, and #1s open items (bad two-point calibration, dry run read at start, untested gui calibration) are still there.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.