diff --git a/dash-frontend/assets/bindings.json.lz4 b/dash-frontend/assets/bindings.json.lz4 index d76de600..2bc2e742 100644 Binary files a/dash-frontend/assets/bindings.json.lz4 and b/dash-frontend/assets/bindings.json.lz4 differ diff --git a/dash-frontend/update-bindings-json.sh b/dash-frontend/update-bindings-json.sh index 2c3058e8..edb2ea49 100755 --- a/dash-frontend/update-bindings-json.sh +++ b/dash-frontend/update-bindings-json.sh @@ -7,12 +7,10 @@ readonly ALLOWED_PROFILES="$( /interaction_profiles/htc/vive_controller /interaction_profiles/htc/vive_cosmos_controller /interaction_profiles/htc/vive_focus3_controller -/interaction_profiles/khr/generic_controller /interaction_profiles/khr/simple_controller /interaction_profiles/ml/ml2_controller /interaction_profiles/microsoft/motion_controller /interaction_profiles/mndx/flipvr -/interaction_profiles/mndx/hydra /interaction_profiles/mndx/pssense_controller_mndx /interaction_profiles/oculus/touch_controller /interaction_profiles/oppo/mr_controller_oppo diff --git a/wlx-common/src/openxr_actions.rs b/wlx-common/src/openxr_actions.rs index f8611797..f3326889 100644 --- a/wlx-common/src/openxr_actions.rs +++ b/wlx-common/src/openxr_actions.rs @@ -13,30 +13,50 @@ pub enum OneOrMany { #[derive(Debug, Default, Clone, Serialize, Deserialize)] pub struct OpenXrInputAction { + #[serde(skip_serializing_if = "Option::is_none")] pub left: Option>, + #[serde(skip_serializing_if = "Option::is_none")] pub right: Option>, + #[serde(skip_serializing_if = "Option::is_none")] pub handsfree: Option>, + #[serde(skip_serializing_if = "Option::is_none")] pub threshold: Option<[f32; 2]>, + #[serde(skip_serializing_if = "Option::is_none")] pub double_click: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub triple_click: Option, } #[derive(Debug, Default, Clone, Serialize, Deserialize)] pub struct OpenXrInputProfile { pub profile: String, + #[serde(skip_serializing_if = "Option::is_none")] pub pose: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub click: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub grab: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub alt_click: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub show_hide: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub toggle_dashboard: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub space_drag: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub space_rotate: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub space_reset: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub click_modifier_right: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub click_modifier_middle: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub move_mouse: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub scroll: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub haptic: Option, }