Skip to content

Commit

Permalink
feat(main): disable hands/controllers args
Browse files Browse the repository at this point in the history
  • Loading branch information
technobaboo committed Jul 24, 2024
1 parent de10a71 commit 796ee1a
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 6 deletions.
14 changes: 13 additions & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@ struct CliArgs {
#[clap(short, long, action)]
flatscreen: bool,

/// If monado insists on emulating them, set this flag...we want the raw input
#[clap(long)]
disable_controllers: bool,
/// If monado insists on emulating , set this flag...we want the raw input
#[clap(long)]
disable_hands: bool,

/// Run Stardust XR as an overlay with given priority
#[clap(id = "PRIORITY", short = 'o', long = "overlay", action)]
overlay_priority: Option<u32>,
Expand Down Expand Up @@ -216,7 +223,12 @@ fn stereokit_loop(
sk_ready_notifier.notify_waiters();
info!("Stardust ready!");

let mut objects = ServerObjects::new(dbus_connection.clone(), &sk);
let mut objects = ServerObjects::new(
dbus_connection.clone(),
&sk,
args.disable_controllers,
args.disable_hands,
);

let mut last_frame_delta = Duration::ZERO;
let mut sleep_duration = Duration::ZERO;
Expand Down
23 changes: 18 additions & 5 deletions src/objects/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,16 @@ pub struct ServerObjects {
hmd: (Arc<Spatial>, ObjectHandle<SpatialRef>),
play_space: Option<(Arc<Spatial>, ObjectHandle<SpatialRef>)>,
inputs: Inputs,
disable_controllers: bool,
disable_hands: bool,
}
impl ServerObjects {
pub fn new(connection: Connection, sk: &Sk) -> ServerObjects {
pub fn new(
connection: Connection,
sk: &Sk,
disable_controllers: bool,
disable_hands: bool,
) -> ServerObjects {
let hmd = SpatialRef::create(&connection, "/org/stardustxr/HMD");

let play_space = (World::has_bounds()
Expand Down Expand Up @@ -100,6 +107,8 @@ impl ServerObjects {
hmd,
play_space,
inputs,
disable_controllers,
disable_hands,
}
}

Expand Down Expand Up @@ -149,10 +158,14 @@ impl ServerObjects {
hand_right,
eye_pointer,
} => {
controller_left.update(token);
controller_right.update(token);
hand_left.update(sk, token);
hand_right.update(sk, token);
if !self.disable_controllers {
controller_left.update(token);
controller_right.update(token);
}
if !self.disable_hands {
hand_left.update(sk, token);
hand_right.update(sk, token);
}
if let Some(eye_pointer) = eye_pointer {
eye_pointer.update();
}
Expand Down

0 comments on commit 796ee1a

Please sign in to comment.