From 4d79a59b2028cd3692520f1d339c141ef76d1f3a Mon Sep 17 00:00:00 2001 From: Nova Date: Sun, 30 Apr 2023 18:28:40 -0400 Subject: [PATCH] fix(objects/hand): hand enabled when controller not --- src/main.rs | 6 ++---- src/objects/input/sk_hand.rs | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 72aba23..d1f089a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -149,10 +149,8 @@ fn main() -> Result<()> { .flatten(); if hands.is_none() { - // unsafe { - // stereokit::sys::input_hand_visible(stereokit::sys::handed__handed_left, false as i32); - // stereokit::sys::input_hand_visible(stereokit::sys::handed__handed_right, false as i32); - // } + sk.input_hand_visible(Handed::Left, false); + sk.input_hand_visible(Handed::Right, false); } let (event_stop_tx, event_stop_rx) = oneshot::channel::<()>(); diff --git a/src/objects/input/sk_hand.rs b/src/objects/input/sk_hand.rs index b1fa253..3708137 100644 --- a/src/objects/input/sk_hand.rs +++ b/src/objects/input/sk_hand.rs @@ -52,7 +52,7 @@ impl SkHand { let sk_hand = sk.input_hand(self.handed); if let InputType::Hand(hand) = &mut *self.input.specialization.lock() { let controller = sk.input_controller(self.handed); - *self.input.enabled.lock() = controller.tracked.contains(ButtonState::ACTIVE) + *self.input.enabled.lock() = controller.tracked.contains(ButtonState::INACTIVE) && sk_hand.tracked_state.contains(ButtonState::ACTIVE); if *self.input.enabled.lock() { hand.base.thumb.tip = convert_joint(sk_hand.fingers[0][4]);