diff --git a/common/src/main/java/org/vivecraft/client_vr/provider/openxr/XRBindings.java b/common/src/main/java/org/vivecraft/client_vr/provider/openxr/XRBindings.java index 76ce8a5f6..a4126362e 100644 --- a/common/src/main/java/org/vivecraft/client_vr/provider/openxr/XRBindings.java +++ b/common/src/main/java/org/vivecraft/client_vr/provider/openxr/XRBindings.java @@ -22,6 +22,7 @@ public static HashSet supportedHeadsets() { set.add("/interaction_profiles/oculus/touch_controller"); set.add("/interaction_profiles/htc/vive_controller"); set.add("/interaction_profiles/valve/index_controller"); + set.add("/interaction_profiles/microsoft/motion_controller"); return set; } @@ -233,6 +234,47 @@ private static HashSet> indexBindings() { return set; } + private static HashSet> wmrBindings() { + HashSet> set = new HashSet<>(); + + set.add(new MutablePair<>("/actions/global/in/vivecraft.key.ingameMenuButton", "/user/hand/left/input/menu/click")); + set.add(new MutablePair<>("/actions/global/in/key.inventory", "/user/hand/left/input/trackpad/click")); + + set.add(new MutablePair<>("/actions/gui/in/vivecraft.key.guiShift", "/user/hand/left/input/squeeze/click")); + set.add(new MutablePair<>("/actions/gui/in/vivecraft.key.guiMiddleClick", "/user/hand/right/input/squeeze/click")); + set.add(new MutablePair<>("/actions/gui/in/vivecraft.key.guiLeftClick", "/user/hand/right/input/trigger/value")); + set.add(new MutablePair<>("/actions/gui/in/vivecraft.key.guiRightClick", "/user/hand/right/input/trackpad/click")); + set.add(new MutablePair<>("/actions/gui/in/vivecraft.key.guiScrollAxis", "/user/hand/right/input/thumbstick/y")); + + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.hotbarPrev", "/user/hand/left/input/squeeze/click")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.hotbarNext", "/user/hand/right/input/squeeze/click")); + set.add(new MutablePair<>("/actions/ingame/in/key.attack", "/user/hand/right/input/trigger/value")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.teleport", "/user/hand/left/input/trigger/value")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.radialMenu", "/user/hand/right/input/menu/click")); + set.add(new MutablePair<>("/actions/ingame/in/key.use", "/user/hand/right/input/trackpad/click")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.teleportFallback", "/user/hand/left/input/trigger/value")); + set.add(new MutablePair<>("/actions/ingame/in/key.jump", "/user/hand/right/input/thumbstick/click")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.freeMoveStrafe", "/user/hand/left/input/thumbstick")); + set.add(new MutablePair<>("/actions/ingame/in/key.sneak", "/user/hand/left/input/thumbstick/click")); + set.add(new MutablePair<>("/actions/ingame/in/vivecraft.key.rotateAxis", "/user/hand/right/input/thumbstick")); + + set.add(new MutablePair<>("/actions/keyboard/in/vivecraft.key.keyboardShift", "/user/hand/left/input/squeeze/click")); + set.add(new MutablePair<>("/actions/keyboard/in/vivecraft.key.keyboardShift", "/user/hand/right/input/squeeze/click")); + set.add(new MutablePair<>("/actions/keyboard/in/vivecraft.key.keyboardClick", "/user/hand/left/input/trigger/value")); + set.add(new MutablePair<>("/actions/keyboard/in/vivecraft.key.keyboardClick", "/user/hand/right/input/trigger/value")); + + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.vrInteract", "/user/hand/left/input/squeeze/click")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.vrInteract", "/user/hand/right/input/squeeze/click")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.vrInteract", "/user/hand/left/input/trigger/value")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.vrInteract", "/user/hand/right/input/trigger/value")); + + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.climbeyGrab", "/user/hand/left/input/squeeze/click")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.climbeyGrab", "/user/hand/right/input/squeeze/click")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.climbeyGrab", "/user/hand/left/input/trigger/value")); + set.add(new MutablePair<>("/actions/contextual/in/vivecraft.key.climbeyGrab", "/user/hand/right/input/trigger/value")); + return set; + } + private static HashSet> defaultBindings() { HashSet> set = new HashSet<>(); @@ -273,6 +315,9 @@ public static HashSet> getBinding(String Headset){ "/interaction_profiles/bytedance/pico_neo3_controller" -> { return picoBindings(); } + case "/interaction_profiles/microsoft/motion_controller" -> { + return wmrBindings(); + } default -> { return defaultBindings(); }