openxr: separate release threshold for grab, click, altclick

This commit is contained in:
galister
2024-03-21 21:47:08 +01:00
parent 0b813aeb10
commit 9fe9832a8d
2 changed files with 30 additions and 3 deletions

View File

@@ -131,19 +131,31 @@ impl OpenXrHand {
pointer.pose = Affine3A::from_rotation_translation(quat, pos);
}
let click_sensitivity = if pointer.before.click {
session.config.xr_click_sensitivity_release
} else {
session.config.xr_click_sensitivity
};
pointer.now.click = self
.source
.action_click
.state(&xr.session, xr::Path::NULL)?
.current_state
> session.config.xr_click_sensitivity;
> click_sensitivity;
let grab_sensitivity = if pointer.before.grab {
session.config.xr_grab_sensitivity_release
} else {
session.config.xr_grab_sensitivity
};
pointer.now.grab = self
.source
.action_grab
.state(&xr.session, xr::Path::NULL)?
.current_state
> session.config.xr_grab_sensitivity;
> grab_sensitivity;
pointer.now.scroll = self
.source
@@ -151,12 +163,18 @@ impl OpenXrHand {
.state(&xr.session, xr::Path::NULL)?
.current_state;
let alt_click_sensitivity = if pointer.before.alt_click {
session.config.xr_alt_click_sensitivity_release
} else {
session.config.xr_alt_click_sensitivity
};
pointer.now.alt_click = self
.source
.action_alt_click
.state(&xr.session, xr::Path::NULL)?
.current_state
> session.config.xr_alt_click_sensitivity;
> alt_click_sensitivity;
pointer.now.show_hide = self
.source

View File

@@ -126,6 +126,15 @@ pub struct GeneralConfig {
#[serde(default = "def_point7")]
pub xr_alt_click_sensitivity: f32,
#[serde(default = "def_half")]
pub xr_grab_sensitivity_release: f32,
#[serde(default = "def_half")]
pub xr_click_sensitivity_release: f32,
#[serde(default = "def_half")]
pub xr_alt_click_sensitivity_release: f32,
}
impl GeneralConfig {