Wire native OpenVR voice-typing POC with safe review and grip controls

This commit is contained in:
baketnk committed 2026-09-24 11:45:05 -04:00
1 parent 73dc4fda06
commit d60d8d2f5d
21 files changed
+1929 -29

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
{
"default_bindings": [
{ "controller_type": "frame_controller", "binding_url": "bindings_frame_controller.json" },
{ "controller_type": "knuckles", "binding_url": "bindings_knuckles.json" }
],
"action_sets": [
{ "name": "/actions/frameyap", "usage": "single" }
],
"actions": [
{ "name": "/actions/frameyap/in/left_grip", "type": "boolean" },
{ "name": "/actions/frameyap/in/right_grip", "type": "boolean" },
{ "name": "/actions/frameyap/in/ptt", "type": "boolean" },
{ "name": "/actions/frameyap/in/cancel", "type": "boolean" },
{ "name": "/actions/frameyap/in/insert", "type": "boolean" },
{ "name": "/actions/frameyap/in/enter", "type": "boolean" }
],
"localization": [{
"language_tag": "en_US",
"/actions/frameyap": "FrameYap controls",
"/actions/frameyap/in/left_grip": "Double tap left grip: Enter (enabled only)",
"/actions/frameyap/in/right_grip": "Tap right grip briefly, then squeeze and hold to record; release to finish",
"/actions/frameyap/in/ptt": "Hold to record",
"/actions/frameyap/in/cancel": "Cancel recording or discard",
"/actions/frameyap/in/insert": "Insert reviewed text",
"/actions/frameyap/in/enter": "Explicit Enter"
}]
}
+19
View File
@@ -0,0 +1,19 @@
{
"source": "builtin",
"applications": [
{
"app_key": "local.frameyap.overlay",
"launch_type": "binary",
"binary_path_linux": "@ABSOLUTE_INSTALLED_FRAMEYAP_EXECUTABLE@",
"binary_path_linux_arm": "@ABSOLUTE_INSTALLED_FRAMEYAP_EXECUTABLE@",
"action_manifest_path": "@ABSOLUTE_INSTALLED_ACTIONS_JSON@",
"is_dashboard_overlay": true,
"strings": {
"en_us": {
"name": "FrameYap",
"description": "Local voice typing overlay"
}
}
}
]
}
+21
View File
@@ -0,0 +1,21 @@
{
"controller_type": "frame_controller",
"description": "Right grip: tap then hold to dictate. Left grip: double tap Enter. Remap other actions in SteamVR.",
"name": "FrameYap Steam Frame grips",
"bindings": {
"/actions/frameyap": {
"sources": [
{
"path": "/user/hand/left/input/grip",
"mode": "button",
"inputs": { "click": { "output": "/actions/frameyap/in/left_grip" } }
},
{
"path": "/user/hand/right/input/grip",
"mode": "button",
"inputs": { "click": { "output": "/actions/frameyap/in/right_grip" } }
}
]
}
}
}
+21
View File
@@ -0,0 +1,21 @@
{
"controller_type": "knuckles",
"description": "Example Index controller grip taps; other actions require user rebinding",
"name": "FrameYap sample grip bindings",
"bindings": {
"/actions/frameyap": {
"sources": [
{
"path": "/user/hand/left/input/grip",
"mode": "button",
"inputs": { "click": { "output": "/actions/frameyap/in/left_grip" } }
},
{
"path": "/user/hand/right/input/grip",
"mode": "button",
"inputs": { "click": { "output": "/actions/frameyap/in/right_grip" } }
}
]
}
}
}