Enum gamepads::Button

source ·
pub enum Button {
Show 17 variants ActionDown, ActionRight, ActionLeft, ActionUp, FrontLeftUpper, FrontRightUpper, FrontLeftLower, FrontRightLower, LeftCenterCluster, RightCenterCluster, LeftStick, RightStick, DPadUp, DPadDown, DPadLeft, DPadRight, Mode,
}
Expand description

A button on a gamepad.

Check for the current state of button presses on a gamepad using one of:

Different platforms call the buttons different things, see the below pictures for an overview, as well as the individual button documentations for a comparison.

Playstation

Playstation gamepad layout

Switch

Switch gamepad layout

Xbox

Xbox gamepad layout

W3C Gamepad API standard gamepad layout:

Visual representation of a Standard Gamepad layout

Variants§

§

ActionDown

Lowermost button in right cluster

  • Playstation: X/Cross button
  • Switch: B button
  • Xbox: A button
  • Gamepad API: buttons[0] / Bottom button in right cluster
§

ActionRight

Rightmost button in right cluster

  • Gamepad API: buttons[1] / Right button in right cluster
  • Playstation: O/Circle button
  • Switch: A
  • Xbox: B
§

ActionLeft

Leftmost button in right cluster

  • Gamepad API: buttons[2] / Left button in right cluster
  • Playstation: /Square
  • Switch: Y
  • Xbox: X
§

ActionUp

Topmost button in right cluster

  • Gamepad API: buttons[3] / Top button in right cluster
  • Playstation: /Triangle
  • Switch: X
  • Xbox: Y
§

FrontLeftUpper

Top left front button

  • Gamepad API: buttons[4] / Top left front button
  • Playstation: L1
  • Switch: L
  • Xbox: LB (Left Bumper)
§

FrontRightUpper

Top right front button

  • Gamepad API: buttons[5] / Top right front button
  • Playstation: R1
  • Switch: R
  • Xbox: RB (Right Bumper)
§

FrontLeftLower

Bottom left front button

  • Gamepad API: buttons[6] / Bottom left front button
  • Playstation: L2
  • Switch: ZL
  • Xbox: LT (Left Trigger)
§

FrontRightLower

Bottom right front button

  • Gamepad API: buttons[7] / Bottom right front button
  • Playstation: R2
  • Switch: ZR
  • Xbox: RT (Right Trigger)
§

LeftCenterCluster

Left button in center cluster - select/back

  • Gamepad API: buttons[8] / Left button in center cluster
  • Playstation: SELECT
  • Switch: Capture
  • Xbox: RT (Right Trigger)
§

RightCenterCluster

Right button in center cluster - start/forward.

  • Gamepad API: buttons[9] / Right button in center cluster
  • Playstation: Start
  • Switch: Home
  • Xbox: Start
§

LeftStick

Left stick pressed button.

§

RightStick

Right stick pressed button.

§

DPadUp

D-pad up button.

§

DPadDown

D-pad down button.

§

DPadLeft

D-pad left button.

§

DPadRight

D-pad right button.

§

Mode

Mode button.

  • Gamepad API: buttons[16] / Center button in center cluster

Implementations§

source§

impl Button

source

pub fn all() -> impl Iterator<Item = Self>

Trait Implementations§

source§

impl Clone for Button

source§

fn clone(&self) -> Button

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Button

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Button

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Button

source§

fn cmp(&self, other: &Button) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Button> for Button

source§

fn eq(&self, other: &Button) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<Button> for Button

source§

fn partial_cmp(&self, other: &Button) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for Button

source§

impl Eq for Button

source§

impl StructuralEq for Button

source§

impl StructuralPartialEq for Button

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.