add steam frame default bindings

This commit is contained in:
galister 2026-07-02 16:42:49 +09:00
parent b074983a70
commit e93bbdba7b
2 changed files with 64 additions and 4 deletions

View File

@ -72,9 +72,14 @@ pub(super) fn init_xr() -> Result<(xr::Instance, xr::SystemId), anyhow::Error> {
log::warn!("Missing XR_KHR_composition_layer_color_scale_bias extension.");
}
let xr_mndx_system_buttons = b"XR_MNDX_system_buttons".to_vec();
if available_extensions.other.contains(&xr_mndx_system_buttons) {
enabled_extensions.other.push(xr_mndx_system_buttons);
let xr_extension = b"XR_MNDX_system_buttons".to_vec();
if available_extensions.other.contains(&xr_extension) {
enabled_extensions.other.push(xr_extension);
}
let xr_extension = b"XR_VALVE_frame_controller_interaction".to_vec();
if available_extensions.other.contains(&xr_extension) {
enabled_extensions.other.push(xr_extension);
}
//#[cfg(not(debug_assertions))]

View File

@ -191,6 +191,61 @@
}
},
// Steam Frame Controller
{
profile: "/interaction_profiles/valve/frame_controller_valve",
pose: {
left: "/user/hand/left/input/aim/pose",
right: "/user/hand/right/input/aim/pose"
},
click: {
left: "/user/hand/left/input/trigger/click",
right: "/user/hand/right/input/trigger/click"
},
grab: {
left: "/user/hand/left/input/squeeze/click",
right: "/user/hand/right/input/squeeze/click"
},
alt_click: { },
show_hide: {
left: "/user/hand/left/input/view/click"
},
toggle_dashboard: {
right: "/user/hand/right/input/menu/click"
},
space_drag: {
left: "/user/hand/left/input/system/click"
},
space_rotate: {
right: "/user/hand/right/input/system/click",
double_click: true
},
space_reset: {
left: "/user/hand/left/input/system/click",
double_click: true
},
click_modifier_right: {
left: "/user/hand/left/input/dpad_right/touch",
right: "/user/hand/right/input/x/touch"
},
click_modifier_middle: {
left: "/user/hand/left/input/dpad_left/touch",
right: "/user/hand/right/input/b/touch"
},
move_mouse: {
left: "/user/hand/left/input/trigger/touch",
right: "/user/hand/right/input/trigger/touch"
},
scroll: {
left: "/user/hand/left/input/thumbstick/y",
right: "/user/hand/right/input/thumbstick/y"
},
haptic: {
left: "/user/hand/left/output/haptic",
right: "/user/hand/right/output/haptic"
}
},
// Vive controller
{
profile: "/interaction_profiles/htc/vive_controller",
@ -360,7 +415,7 @@
},
show_hide: {
left: "/user/hand/left/input/secondary/click",
"double_click": true
double_click: true
},
click_modifier_right: {
left: "/user/hand/left/input/secondary/click",