mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-18 08:00:36 +02:00
The dashboard, the Steam menu, Steam's keyboard and other apps' overlays now
take a poke or a pinch on the content as a click, and a pinch on the border,
like a card or at a corner moves or resizes a floating one. The edge and
corner glows show there too.
OpenVR gives no transform or size for dashboard panels, so ft-screens casts a
7x7 cone of rays from the eyes past each index tip and fits each panel to the
hits' texture coordinates (steampanels.cpp). Near input treats the fitted
panels as foreign: no fist grabs, two-hand stretch, throws, flicks, pushes,
rewinds or two-finger scroll.
ft-screens can't click those panels, so it drives the helper's laser with
"touch" lines (hover, press, move, up, grab, end). A move or resize first
hovers inside the edge and presses the grab bar or resize margin only once a
floating panel's window controls show under it; otherwise the log says why.
The helper keeps its overlay list while hands are allowed and sends it to
ft-screens ("steamvr ...").
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
717 B
Bash
Executable File
11 lines
717 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Near hand input and the hand matte, offline (screens/tests/handinput_test.cpp): the unit tests,
|
|
# then each publish dump given (ft-handreplay --publish-dump: recorded hands as ft-hands
|
|
# published them) against panels placed around the hands.
|
|
# scripts/test-handinput.sh [DUMP...]
|
|
set -euo pipefail
|
|
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
|
dumps=$(printf ' %q' "$@")
|
|
"$root/scripts/frame.sh" -C screens "mkdir -p build && g++ -std=c++17 -O2 -Wall -Wextra -Wno-unused-parameter -Werror \
|
|
tests/handinput_test.cpp handcut.cpp handinput.cpp palmmenu.cpp grabthat.cpp steampanels.cpp -o build/handinput-test && build/handinput-test${dumps:+ && build/handinput-test --replay$dumps}"
|