diff options
Diffstat (limited to 'gfx/vr/service/binding')
-rw-r--r-- | gfx/vr/service/binding/OpenVRCosmosBinding.h | 204 | ||||
-rw-r--r-- | gfx/vr/service/binding/OpenVRKnucklesBinding.h | 300 | ||||
-rw-r--r-- | gfx/vr/service/binding/OpenVRViveBinding.h | 174 | ||||
-rw-r--r-- | gfx/vr/service/binding/OpenVRWMRBinding.h | 192 |
4 files changed, 870 insertions, 0 deletions
diff --git a/gfx/vr/service/binding/OpenVRCosmosBinding.h b/gfx/vr/service/binding/OpenVRCosmosBinding.h new file mode 100644 index 0000000000..97980bb087 --- /dev/null +++ b/gfx/vr/service/binding/OpenVRCosmosBinding.h @@ -0,0 +1,204 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GFX_VR_BLINDING_OPENVRCOSMOSBINDING_H +#define GFX_VR_BLINDING_OPENVRCOSMOSBINDING_H + +namespace mozilla { +namespace gfx { + +struct OpenVRCosmosBinding { + const char* binding = + // clang-format off + "{\n" + " \"version\" : \"0.1\", \n" + " \"controller_type\" : \"vive_cosmos_controller\", \n" + " \"description\" : \"Bindings for Firefox OpenVR for the Vive Cosmos controller\", \n" + " \"name\" : \"Firefox bindings for Vive Cosmos Controller\", \n" + " \"bindings\" : { \n" + " \"/actions/firefox\" : { \n" + " \"poses\" : [ \n" + " { \n" + " \"output\" : \"/actions/firefox/in/LHand_pose\", \n" + " \"path\" : \"/user/hand/left/pose/raw\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/in/RHand_pose\", \n" + " \"path\" : \"/user/hand/right/pose/raw\" \n" + " }\n" + " ],\n" + " \"haptics\" : [ \n" + " {\n" + " \"output\" : \"/actions/firefox/out/LHand_haptic\", \n" + " \"path\" : \"/user/hand/left/output/haptic\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/out/RHand_haptic\", \n" + " \"path\" : \"/user/hand/right/output/haptic\" \n" + " }\n" + " ],\n" + " \"sources\" : [ \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_a_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/x\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_a_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/a\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_b_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/y\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_b_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/b\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/left/input/joystick\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/right/input/joystick\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_bumper_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/bumper\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_bumper_pressed\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/bumper\" \n" + " } \n" + " ]\n" + " }\n" + " }\n" + "}"; + // clang-format on +}; + +} // namespace gfx +} // namespace mozilla + +#endif // GFX_VR_BLINDING_OPENVRCOSMOSBINDING_H diff --git a/gfx/vr/service/binding/OpenVRKnucklesBinding.h b/gfx/vr/service/binding/OpenVRKnucklesBinding.h new file mode 100644 index 0000000000..508e5f64c7 --- /dev/null +++ b/gfx/vr/service/binding/OpenVRKnucklesBinding.h @@ -0,0 +1,300 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GFX_VR_BLINDING_OPENVRKNUCKLESBINDING_H +#define GFX_VR_BLINDING_OPENVRKNUCKLESBINDING_H + +namespace mozilla { +namespace gfx { + +struct OpenVRKnucklesBinding { + const char* binding = + // clang-format off + "{\n" + " \"version\" : \"0.1\", \n" + " \"controller_type\" : \"knuckles\", \n" + " \"description\" : \"Bindings for Firefox OpenVR for the Knuckles controller\", \n" + " \"name\" : \"Firefox bindings for Knuckles Controller\", \n" + " \"bindings\" : { \n" + " \"/actions/firefox\" : { \n" + " \"poses\" : [ \n" + " { \n" + " \"output\" : \"/actions/firefox/in/LHand_pose\", \n" + " \"path\" : \"/user/hand/left/pose/raw\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/in/RHand_pose\", \n" + " \"path\" : \"/user/hand/right/pose/raw\" \n" + " }\n" + " ],\n" + " \"haptics\" : [ \n" + " {\n" + " \"output\" : \"/actions/firefox/out/LHand_haptic\", \n" + " \"path\" : \"/user/hand/left/output/haptic\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/out/RHand_haptic\", \n" + " \"path\" : \"/user/hand/right/output/haptic\" \n" + " }\n" + " ],\n" + " \"sources\" : [ \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/left/input/trackpad\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/right/input/trackpad\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_a_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_a_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/a\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_a_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_a_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/a\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_b_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_b_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/b\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_b_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_b_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/b\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/left/input/thumbstick\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/right/input/thumbstick\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_finger_index_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/finger/index\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_finger_index_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/finger/index\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_finger_middle_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/finger/middle\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_finger_middle_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/finger/middle\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_finger_ring_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/finger/ring\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_finger_ring_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/finger/ring\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_finger_pinky_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/finger/pinky\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_finger_pinky_value\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/finger/pinky\" \n" + " } \n" + " ]\n" + " }\n" + " }\n" + "}"; + // clang-format on +}; + +} // namespace gfx +} // namespace mozilla + +#endif // GFX_VR_BLINDING_OPENVRKNUCKLESBINDING_H diff --git a/gfx/vr/service/binding/OpenVRViveBinding.h b/gfx/vr/service/binding/OpenVRViveBinding.h new file mode 100644 index 0000000000..c3fb7fd6e1 --- /dev/null +++ b/gfx/vr/service/binding/OpenVRViveBinding.h @@ -0,0 +1,174 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GFX_VR_BLINDING_OPENVRVIVEBINDING_H +#define GFX_VR_BLINDING_OPENVRVIVEBINDING_H + +namespace mozilla { +namespace gfx { + +struct OpenVRViveBinding { + const char* binding = + // clang-format off + "{\n" + " \"version\" : \"0.1\", \n" + " \"controller_type\" : \"vive_controller\", \n" + " \"description\" : \"Bindings for Firefox OpenVR for the Vive controller\", \n" + " \"name\" : \"Firefox bindings for Vive Controller\", \n" + " \"bindings\" : { \n" + " \"/actions/firefox\" : { \n" + " \"poses\" : [ \n" + " { \n" + " \"output\" : \"/actions/firefox/in/LHand_pose\", \n" + " \"path\" : \"/user/hand/left/pose/raw\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/in/RHand_pose\", \n" + " \"path\" : \"/user/hand/right/pose/raw\" \n" + " }\n" + " ],\n" + " \"haptics\" : [ \n" + " {\n" + " \"output\" : \"/actions/firefox/out/LHand_haptic\", \n" + " \"path\" : \"/user/hand/left/output/haptic\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/out/RHand_haptic\", \n" + " \"path\" : \"/user/hand/right/output/haptic\" \n" + " }\n" + " ],\n" + " \"sources\" : [ \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/left/input/trackpad\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/right/input/trackpad\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_menu_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_menu_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/application_menu\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_menu_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_menu_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/application_menu\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/system\" \n" + " } \n" + " ]\n" + " }\n" + " }\n" + "}"; + // clang-format on +}; + +} // namespace gfx +} // namespace mozilla + +#endif // GFX_VR_BLINDING_OPENVRVIVEBINDING_H diff --git a/gfx/vr/service/binding/OpenVRWMRBinding.h b/gfx/vr/service/binding/OpenVRWMRBinding.h new file mode 100644 index 0000000000..09d1529b86 --- /dev/null +++ b/gfx/vr/service/binding/OpenVRWMRBinding.h @@ -0,0 +1,192 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef GFX_VR_BLINDING_OPENVRWMRBINDING_H +#define GFX_VR_BLINDING_OPENVRWMRBINDING_H + +namespace mozilla { +namespace gfx { + +struct OpenVRWMRBinding { + const char* binding = + // clang-format off + "{\n" + " \"version\" : \"0.1\", \n" + " \"controller_type\" : \"holographic_controller\", \n" + " \"description\" : \"Bindings for Firefox OpenVR for the Windows Mixed Reality controller\", \n" + " \"name\" : \"Firefox bindings for Windows Mixed Reality Controller\", \n" + " \"bindings\" : { \n" + " \"/actions/firefox\" : { \n" + " \"poses\" : [ \n" + " { \n" + " \"output\" : \"/actions/firefox/in/LHand_pose\", \n" + " \"path\" : \"/user/hand/left/pose/raw\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/in/RHand_pose\", \n" + " \"path\" : \"/user/hand/right/pose/raw\" \n" + " }\n" + " ],\n" + " \"haptics\" : [ \n" + " {\n" + " \"output\" : \"/actions/firefox/out/LHand_haptic\", \n" + " \"path\" : \"/user/hand/left/output/haptic\" \n" + " },\n" + " { \n" + " \"output\" : \"/actions/firefox/out/RHand_haptic\", \n" + " \"path\" : \"/user/hand/right/output/haptic\" \n" + " }\n" + " ],\n" + " \"sources\" : [ \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/left/input/trackpad\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_analog\" \n" + " }, \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trackpad_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"trackpad\", \n" + " \"path\" : \"/user/hand/right/input/trackpad\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/left/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"pull\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_trigger_value\" \n" + " } \n" + " },\n" + " \"mode\" : \"trigger\", \n" + " \"path\" : \"/user/hand/right/input/trigger\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_grip_touched\" \n" + " } \n" + " }, \n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/grip\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_menu_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_menu_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/application_menu\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_menu_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_menu_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/application_menu\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/left/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"click\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_pressed\" \n" + " }, \n" + " \"touch\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_system_touched\" \n" + " } \n" + " },\n" + " \"mode\" : \"button\", \n" + " \"path\" : \"/user/hand/right/input/system\" \n" + " }, \n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/LHand_thumbstick_analog\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/left/input/joystick\" \n" + " },\n" + " {\n" + " \"inputs\" : { \n" + " \"position\" : { \n" + " \"output\" : \"/actions/firefox/in/RHand_thumbstick_analog\" \n" + " } \n" + " }, \n" + " \"mode\" : \"joystick\", \n" + " \"path\" : \"/user/hand/right/input/joystick\" \n" + " } \n" + " ]\n" + " }\n" + " }\n" + "}"; + // clang-format on +}; + +} // namespace gfx +} // namespace mozilla + +#endif // GFX_VR_BLINDING_OPENVRWMRBINDING_H |