a/bindings: Add WinMR system buttons

Currently there does not seem to be a way to access the SteamVR
dashboard with the Reverb G2 (controllers).

This adds a binding that allows to use the system/home button to
open the SteamVR dashboard.

Remark: In the OpenXR 1.0 spec there is no binding for
/input/system in XR_EXT_hp_mixed_reality_controller. However on Windows
this button would supposedly allow to (indirectly?) access the
SteamVR dashboard. (Which I can't confirm myself, as I don't have
access to a Windows OS right now.) To properly support system buttons in
OpenXR introduce XR_MNDX_system_buttons.

Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
This commit is contained in:
Linus Lüssing 2023-06-17 02:49:31 +02:00 committed by Jakob Bornecrantz
parent 2c74c30aa2
commit 59d3bab0f6

View file

@ -51,6 +51,69 @@
} }
}, },
"/virtual_profiles/mndx/winmr_system_button": {
"title": "WinMR system button",
"type": "tracked_controller",
"monado_device": "XRT_DEVICE_WMR_CONTROLLER",
"extension": "XR_MNDX_system_buttons",
"subaction_paths": [
"/user/hand/left",
"/user/hand/right"
],
"subpaths": {
"/input/system": {
"type": "button",
"localized_name": "System",
"components": ["click"],
"monado_bindings": {
"click": "XRT_INPUT_WMR_HOME_CLICK"
}
}
}
},
"/virtual_profiles/mndx/samsung_odyssey_system_button": {
"title": "Samsung Odyssey system button",
"type": "tracked_controller",
"monado_device": "XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER",
"extension": "XR_MNDX_system_buttons",
"subaction_paths": [
"/user/hand/left",
"/user/hand/right"
],
"subpaths": {
"/input/system": {
"type": "button",
"localized_name": "System",
"components": ["click"],
"monado_bindings": {
"click": "XRT_INPUT_ODYSSEY_CONTROLLER_HOME_CLICK"
}
}
}
},
"/virtual_profiles/mndx/hp_reverb_g2_system_button": {
"title": "HP Reverb G2 system button",
"type": "tracked_controller",
"monado_device": "XRT_DEVICE_HP_REVERB_G2_CONTROLLER",
"extension": "XR_MNDX_system_buttons",
"subaction_paths": [
"/user/hand/left",
"/user/hand/right"
],
"subpaths": {
"/input/system": {
"type": "button",
"localized_name": "System",
"components": ["click"],
"monado_bindings": {
"click": "XRT_INPUT_G2_CONTROLLER_HOME_CLICK"
}
}
}
},
"/interaction_profiles/ext/hand_interaction_ext": { "/interaction_profiles/ext/hand_interaction_ext": {
"title": "Ext Hand Interaction", "title": "Ext Hand Interaction",
"type": "tracked_controller", "type": "tracked_controller",
@ -351,7 +414,11 @@
"type": "tracked_controller", "type": "tracked_controller",
"steamvr_controllertype": "holographic_controller", "steamvr_controllertype": "holographic_controller",
"monado_device": "XRT_DEVICE_WMR_CONTROLLER", "monado_device": "XRT_DEVICE_WMR_CONTROLLER",
"extended_by": ["ext/palm_pose", "ext/hand_interaction_poses"], "extended_by": [
"ext/palm_pose",
"ext/hand_interaction_poses",
"mndx/winmr_system_button"
],
"subaction_paths": [ "subaction_paths": [
"/user/hand/left", "/user/hand/left",
"/user/hand/right" "/user/hand/right"
@ -941,7 +1008,11 @@
"type": "tracked_controller", "type": "tracked_controller",
"monado_device": "XRT_DEVICE_HP_REVERB_G2_CONTROLLER", "monado_device": "XRT_DEVICE_HP_REVERB_G2_CONTROLLER",
"extension": "XR_EXT_hp_mixed_reality_controller", "extension": "XR_EXT_hp_mixed_reality_controller",
"extended_by": ["ext/palm_pose", "ext/hand_interaction_poses"], "extended_by": [
"ext/palm_pose",
"ext/hand_interaction_poses",
"mndx/hp_reverb_g2_system_button"
],
"subaction_paths": [ "subaction_paths": [
"/user/hand/left", "/user/hand/left",
"/user/hand/right" "/user/hand/right"
@ -1052,7 +1123,11 @@
"type": "tracked_controller", "type": "tracked_controller",
"monado_device": "XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER", "monado_device": "XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER",
"extension": "XR_EXT_samsung_odyssey_controller", "extension": "XR_EXT_samsung_odyssey_controller",
"extended_by": ["ext/palm_pose", "ext/hand_interaction_poses"], "extended_by": [
"ext/palm_pose",
"ext/hand_interaction_poses",
"mndx/samsung_odyssey_system_button"
],
"subaction_paths": [ "subaction_paths": [
"/user/hand/left", "/user/hand/left",
"/user/hand/right" "/user/hand/right"