Support System Button in Knuckles Bindings#315
Conversation
Modify the `profiles::knuckles` module to allow binding of actions to `system/touch` & `system/click` for both hands. No transformation is necessary as the path mapping is identical between the OpenXR spec & SteamVR. Note that OpenXR runtimes _may_ choose to ignore bindings to the system buttons.
| "input/b", | ||
| "input/trigger", | ||
| "input/thumbstick", | ||
| "input/system", |
There was a problem hiding this comment.
click & touch for both hands as per openxr spec: https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#_valve_index_controller_profile
and as in steamvr drivers:
// driver/.../index_controller_profile.json
"input_source" :
{
"/input/system" : {
"type" : "button",
"click" : true,
"touch" : true,
"binding_image_point" : [ 34,45 ],
"order" : 1
},
// ...With Moss 2 binding file as an example:
{
"inputs" : {
"click" : {
"output" : "/actions/main/in/ui_menu"
}
},
"mode" : "button",
"path" : "/user/hand/left/input/system"
},
| @@ -1,273 +1,297 @@ | |||
| { | |||
| "bindings": { | |||
There was a problem hiding this comment.
ugh... I can add back the tabs if desired...
(forgot to turn nvim autoformat of json off)
|
The spec says that system buttons may not be available for application use. In practice what this means is that depending on what runtime it's running under, suggesting bindings using the system button may actually error out with |
Ah good to know, the spec says it "must" accept it but is free to ignore it so figured it wouldn't cause any problems:
aight thanks, will poke around to see where we're doing this & if the error can be handled cleanly. |
Modify the
profiles::knucklesmodule to allow binding of actions tosystem/touch&system/clickfor both hands. No transformation is necessary as the path mapping is identical between the OpenXR spec & SteamVR.Note that OpenXR runtimes may choose to ignore bindings to the system buttons.