- 23 Jan, 2023 6 commits
-
-
Moses Turner authored
-
Christoph Haag authored
The last enum index was used to determine the size of the inputs array. The "clever" solution of aliasing enum values saved a minor amount of space when allocating the xrt_device, while still allowing to dynamically assign any input profile. It also has drawbacks of being confusing and making it impossible to validate that inputs from the correct xrt_input_name is requested. Therefore just get rid of it, the minor space savings is not worth it. fixes 2be4cbf4
-
Add an optional switch -s or --steamvr to steamvr_profiles.py, which enables a different naming scheme for the "controller_type" field in the generated SteamVR profile json files. If the switch is provided and an interaction profile in bindings.json provides the optional new property "steamvr_controllertype", that property will be used for the "controller_type" field of the written out .json, instead of the regular auto-generated name. This allows to generate json files which use controller_type names normally used by SteamVR, so Monado provided controllers are mapped to the same OpenXR interaction profiles that SteamVR would normally map them to. E.g., the standard controller_type for Oculus touch controllers used by SteamVR is "oculus_touch" instead of Monado's "monado_oculus_touch_controller". That in turn allows OpenXR clients to use the SteamVR/OpenXR runtime to access controllers provided by Monado's SteamVR driver plugin. Without such compatible json files, only standard OpenVR clients can use controllers exposed by Monado's SteamVR driver by default, but not OpenXR clients. Tested with an Oculus Rift CV-1, and shown to now enable OpenXR clients to make full use of the Oculus touch controllers. The mappings for controllers other than Oculus Touch are derived from SteamVR log output, but not actually tested due to lack of suitable hw. Per discussion for the merge request, we enable this '-s' flag by default in the make file for SteamVR style naming scheme. Signed-off-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
When using the Monado SteamVR driver plugin together with an Oculus Rift CV-1 and Oculus touch controllers, the grip / squeeze sensors (e.g., /user/hand/left/input/squeeze/value) and the thumbsticks did not work. This because SteamVR expects those controls to be exposed under a different path than what one would use for OpenXR, e.g., OpenXR /input/squeeze --> SteamVR /input/grip and OpenXR /input/thumbstick --> SteamVR /input/joystick The same is true for some other controller types. To fix this, add some new code for input subpath substitution, to perform this remapping, depending on binding type: For type "trigger": Substitute squeeze with grip For type "joystick": Substitute thumbstick with joystick For rare controller types where this would be the wrong thing to do, e.g., Valve Index (for type "joystick", needs the path to remain "thumbstick" as before), and for special cases not covered, we add a new optional parameter 'steamvr_path' which can be used in bindings.json to handle such mismatches in path flexibly to allow a dedicated path name for SteamVR, overriding the regular "OpenXR style" input path or auto-substituted path is if the parameter is omitted. This makes the Oculus Rift CV-1 touch controllers fully work under SteamVR. I haven't tested this with other controllers, as I only have Oculus controllers for testing atm. But after reading about the HTC Vive controllers, i did add a "steamvr_path" override for /input/menu -> /input/application_menu. Cfe. https://github.com/ValveSoftware/openvr/wiki/IVRDriverInput-Overview Also, a minor typo fix in steamvr_profiles.py as a bonus. Signed-off-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
Use INPUT_INDICES_LAST instead of 0 for checking if control_mapping[i] is unassigned for index i, ie. for skipping input. As 0 is a valid mapping assignment defined in "enum input_indices", this lead to dead input for SIMPLE_SELECT_CLICK and OCULUS_TOUCH_X_CLICK, both assigned to 0. This commit makes the Oculus Rift CV-1 left touch controllers X-Button work in Monado OpenXR native and SteamVR via. Monado driver plugin. Signed-off-by:
Mario Kleiner <mario.kleiner.de@gmail.com>
-
Jakob Bornecrantz authored
-
- 22 Jan, 2023 1 commit
-
-
Christoph Haag authored
fixes 2be4cbf4
-
- 21 Jan, 2023 2 commits
-
-
-
Before this, we read out of bounds at the bottom of the display. Unsure why nothing but Valgrind caught it.
-
- 19 Jan, 2023 2 commits
-
-
- 18 Jan, 2023 1 commit
-
-
Moses Turner authored
-
- 15 Jan, 2023 2 commits
-
-
Co-authored-by:
Jakob Bornecrantz <jakob@collabora.com>
-
Jakob Bornecrantz authored
-
- 10 Jan, 2023 1 commit
-
-
- 08 Jan, 2023 1 commit
-
-
Christoph Haag authored
Fixes assert in debug mode.
-
- 02 Jan, 2023 1 commit
-
-
Mateo de Mayo authored
-
- 01 Jan, 2023 1 commit
-
-
- 31 Dec, 2022 1 commit
-
-
Moses Turner authored
-
- 29 Dec, 2022 1 commit
-
-
Goodbye, sweet prince. This was my first attempt at the "optimizer" piece of our optical hand tracking, and it *did work* dammit! It just wasn't anywhere near as flexible or efficient as Levenberg-Marquardt. It's worse in every way to the `kine_lm` optimizer, and getting hard to maintain, so we're getting rid of it. Gone, but never forgotten.
-
- 22 Dec, 2022 1 commit
-
-
Jakob Bornecrantz authored
-
- 21 Dec, 2022 4 commits
-
-
GitOrigin-RevId: b97aa657a706d3ba4a9a6ccca7043c9d6fe41cba
-
Jakob Bornecrantz authored
-
Ryan Pavlik authored
-
Jakob Bornecrantz authored
-
- 20 Dec, 2022 4 commits
-
-
Ryan Pavlik authored
GitOrigin-RevId: d348621ca93571343a56862df7de4ff3bc9b5667
-
Ryan Pavlik authored
-
Ryan Pavlik authored
GitOrigin-RevId: 1ee679ca2ef753a528db5ba6801e1067b40481b8
-
Jakob Bornecrantz authored
-
- 19 Dec, 2022 3 commits
-
-
-
Jakob Bornecrantz authored
-
Jakob Bornecrantz authored
-
- 14 Dec, 2022 1 commit
-
-
Jakob Bornecrantz authored
-
- 12 Dec, 2022 1 commit
-
-
Malek authored
-
- 09 Dec, 2022 1 commit
-
-
- 08 Dec, 2022 5 commits
-
-
-
-
Jakob Bornecrantz authored
-
Jakob Bornecrantz authored
-
Jakob Bornecrantz authored
-