Struct sdl2::joystick::Joystick

source ·
pub struct Joystick { /* private fields */ }
Expand description

Wrapper around the SDL_Joystick object

Implementations§

source§

impl Joystick

source

pub fn subsystem(&self) -> &JoystickSubsystem

source

pub fn name(&self) -> String

Return the name of the joystick or an empty string if no name is found.

source

pub fn attached(&self) -> bool

Return true if the joystick has been opened and currently connected.

source

pub fn instance_id(&self) -> i32

source

pub fn guid(&self) -> Guid

Retrieve the joystick’s GUID

source

pub fn power_level(&self) -> Result<PowerLevel, IntegerOrSdlError>

Retrieve the battery level of this joystick

source

pub fn num_axes(&self) -> u32

Retrieve the number of axes for this joystick

source

pub fn axis(&self, axis: u32) -> Result<i16, IntegerOrSdlError>

Gets the position of the given axis.

The function will fail if the joystick doesn’t have the provided axis.

source

pub fn num_buttons(&self) -> u32

Retrieve the number of buttons for this joystick

source

pub fn button(&self, button: u32) -> Result<bool, IntegerOrSdlError>

Return Ok(true) if button is pressed.

The function will fail if the joystick doesn’t have the provided button.

source

pub fn num_balls(&self) -> u32

Retrieve the number of balls for this joystick

source

pub fn ball(&self, ball: u32) -> Result<(i32, i32), IntegerOrSdlError>

Return a pair (dx, dy) containing the difference in axis position since the last poll

source

pub fn num_hats(&self) -> u32

Retrieve the number of balls for this joystick

source

pub fn hat(&self, hat: u32) -> Result<HatState, IntegerOrSdlError>

Return the position of hat for this joystick

source

pub fn set_rumble( &mut self, low_frequency_rumble: u16, high_frequency_rumble: u16, duration_ms: u32, ) -> Result<(), IntegerOrSdlError>

Set the rumble motors to their specified intensities, if supported. Automatically resets back to zero after duration_ms milliseconds have passed.

§Notes

The value range for the intensities is 0 to 0xFFFF.

Do not use std::u32::MAX or similar for duration_ms if you want the rumble effect to keep playing for a long time, as this results in the effect ending immediately after starting due to an overflow. Use some smaller, “huge enough” number instead.

Trait Implementations§

source§

impl Drop for Joystick

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.