Skip to content

Commit

Permalink
Add option to invert right stick to example.
Browse files Browse the repository at this point in the history
  • Loading branch information
zduny committed Feb 25, 2023
1 parent 1dd19fc commit a08a6cd
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions examples/gamepad-and-mouse-server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,21 @@ struct Args {
#[arg(long)]
invert_y: bool,

/// Invert gamepad X-axis.
/// Invert gamepad left stick X-axis.
#[arg(long)]
invert_gamepad_x: bool,

/// Invert gamepad Y-axis.
/// Invert gamepad left stick Y-axis.
#[arg(long)]
invert_gamepad_y: bool,

/// Invert gamepad right stick X-axis.
#[arg(long)]
invert_gamepad_right_x: bool,

/// Invert gamepad right stick Y-axis.
#[arg(long)]
invert_gamepad_right_y: bool,
}

fn main() {
Expand Down Expand Up @@ -73,6 +81,8 @@ fn main() {
let inverter_y = inverter(args.invert_y);
let gamepad_inverter_x = inverter(args.invert_gamepad_x);
let gamepad_inverter_y = inverter(args.invert_gamepad_y);
let gamepad_inverter_right_x = inverter(args.invert_gamepad_right_x);
let gamepad_inverter_right_y = inverter(args.invert_gamepad_right_y);

let mut gilrs = Gilrs::new().unwrap();
let mut mouse_manager = RawInputManager::new().unwrap();
Expand Down Expand Up @@ -134,8 +144,12 @@ fn main() {
left_stick_y: to_stick_value(
gamepad.value(Axis::LeftStickY) * gamepad_inverter_y,
),
right_stick_x: to_stick_value(gamepad.value(Axis::RightStickX)),
right_stick_y: to_stick_value(gamepad.value(Axis::RightStickY)),
right_stick_x: to_stick_value(
gamepad.value(Axis::RightStickX) * gamepad_inverter_right_x,
),
right_stick_y: to_stick_value(
gamepad.value(Axis::RightStickY) * gamepad_inverter_right_y,
),
analog_d_pad_left: analog_button_value(Button::DPadLeft),
analog_d_pad_down: analog_button_value(Button::DPadDown),
analog_d_pad_right: analog_button_value(Button::DPadRight),
Expand Down

0 comments on commit a08a6cd

Please sign in to comment.