From 59d3bab0f6006c023c75caa231c256867d411210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20L=C3=BCssing?= Date: Sat, 17 Jun 2023 02:49:31 +0200 Subject: [PATCH] a/bindings: Add WinMR system buttons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Linus Lüssing Signed-off-by: Jakob Bornecrantz --- src/xrt/auxiliary/bindings/bindings.json | 81 +++++++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/src/xrt/auxiliary/bindings/bindings.json b/src/xrt/auxiliary/bindings/bindings.json index 64c9873a5..b339dfe81 100644 --- a/src/xrt/auxiliary/bindings/bindings.json +++ b/src/xrt/auxiliary/bindings/bindings.json @@ -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": { "title": "Ext Hand Interaction", "type": "tracked_controller", @@ -351,7 +414,11 @@ "type": "tracked_controller", "steamvr_controllertype": "holographic_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": [ "/user/hand/left", "/user/hand/right" @@ -941,7 +1008,11 @@ "type": "tracked_controller", "monado_device": "XRT_DEVICE_HP_REVERB_G2_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": [ "/user/hand/left", "/user/hand/right" @@ -1052,7 +1123,11 @@ "type": "tracked_controller", "monado_device": "XRT_DEVICE_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": [ "/user/hand/left", "/user/hand/right"