WPILibC++ 2024.3.2
frc2::CommandXboxController Class Reference

A version of XboxController with Trigger factories for command-based. More...

#include <frc2/command/button/CommandXboxController.h>

Inheritance diagram for frc2::CommandXboxController:
frc::XboxController frc::GenericHID

Public Member Functions

Trigger Button (int button, frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around this button's digital signal. More...
 
Trigger LeftBumper (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the left bumper's digital signal. More...
 
Trigger RightBumper (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the right bumper's digital signal. More...
 
Trigger LeftStick (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the left stick's digital signal. More...
 
Trigger RightStick (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the right stick's digital signal. More...
 
Trigger A (frc::EventLoop *loop=CommandScheduler::GetInstance().GetDefaultButtonLoop()) const
 Constructs an event instance around the A button's digital signal. More...
 
Trigger B (frc::EventLoop *loop=CommandScheduler::GetInstance().GetDefaultButtonLoop()) const
 Constructs an event instance around the B button's digital signal. More...
 
Trigger X (frc::EventLoop *loop=CommandScheduler::GetInstance().GetDefaultButtonLoop()) const
 Constructs an event instance around the X button's digital signal. More...
 
Trigger Y (frc::EventLoop *loop=CommandScheduler::GetInstance().GetDefaultButtonLoop()) const
 Constructs an event instance around the Y button's digital signal. More...
 
Trigger Back (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the back button's digital signal. More...
 
Trigger Start (frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs an event instance around the start button's digital signal. More...
 
Trigger LeftTrigger (double threshold=0.5, frc::EventLoop *loop=CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const
 Constructs a Trigger instance around the axis value of the left trigger. More...
 
Trigger RightTrigger (double threshold=0.5, frc::EventLoop *loop=CommandScheduler::GetInstance().GetDefaultButtonLoop()) const
 Constructs a Trigger instance around the axis value of the right trigger. More...
 
- Public Member Functions inherited from frc::XboxController
 XboxController (int port)
 Construct an instance of an Xbox controller. More...
 
 ~XboxController () override=default
 
 XboxController (XboxController &&)=default
 
XboxControlleroperator= (XboxController &&)=default
 
double GetLeftX () const
 Get the X axis value of left side of the controller. More...
 
double GetRightX () const
 Get the X axis value of right side of the controller. More...
 
double GetLeftY () const
 Get the Y axis value of left side of the controller. More...
 
double GetRightY () const
 Get the Y axis value of right side of the controller. More...
 
double GetLeftTriggerAxis () const
 Get the left trigger (LT) axis value of the controller. More...
 
double GetRightTriggerAxis () const
 Get the right trigger (RT) axis value of the controller. More...
 
bool GetLeftBumper () const
 Read the value of the left bumper (LB) button on the controller. More...
 
bool GetRightBumper () const
 Read the value of the right bumper (RB) button on the controller. More...
 
bool GetLeftBumperPressed ()
 Whether the left bumper (LB) was pressed since the last check. More...
 
bool GetRightBumperPressed ()
 Whether the right bumper (RB) was pressed since the last check. More...
 
bool GetLeftBumperReleased ()
 Whether the left bumper (LB) was released since the last check. More...
 
bool GetRightBumperReleased ()
 Whether the right bumper (RB) was released since the last check. More...
 
BooleanEvent LeftBumper (EventLoop *loop) const
 Constructs an event instance around the left bumper's digital signal. More...
 
BooleanEvent RightBumper (EventLoop *loop) const
 Constructs an event instance around the right bumper's digital signal. More...
 
bool GetLeftStickButton () const
 Read the value of the left stick button (LSB) on the controller. More...
 
bool GetRightStickButton () const
 Read the value of the right stick button (RSB) on the controller. More...
 
bool GetLeftStickButtonPressed ()
 Whether the left stick button (LSB) was pressed since the last check. More...
 
bool GetRightStickButtonPressed ()
 Whether the right stick button (RSB) was pressed since the last check. More...
 
bool GetLeftStickButtonReleased ()
 Whether the left stick button (LSB) was released since the last check. More...
 
bool GetRightStickButtonReleased ()
 Whether the right stick button (RSB) was released since the last check. More...
 
BooleanEvent LeftStick (EventLoop *loop) const
 Constructs an event instance around the left stick's digital signal. More...
 
BooleanEvent RightStick (EventLoop *loop) const
 Constructs an event instance around the right stick's digital signal. More...
 
bool GetAButton () const
 Read the value of the A button on the controller. More...
 
bool GetAButtonPressed ()
 Whether the A button was pressed since the last check. More...
 
bool GetAButtonReleased ()
 Whether the A button was released since the last check. More...
 
BooleanEvent A (EventLoop *loop) const
 Constructs an event instance around the A button's digital signal. More...
 
bool GetBButton () const
 Read the value of the B button on the controller. More...
 
bool GetBButtonPressed ()
 Whether the B button was pressed since the last check. More...
 
bool GetBButtonReleased ()
 Whether the B button was released since the last check. More...
 
BooleanEvent B (EventLoop *loop) const
 Constructs an event instance around the B button's digital signal. More...
 
bool GetXButton () const
 Read the value of the X button on the controller. More...
 
bool GetXButtonPressed ()
 Whether the X button was pressed since the last check. More...
 
bool GetXButtonReleased ()
 Whether the X button was released since the last check. More...
 
BooleanEvent X (EventLoop *loop) const
 Constructs an event instance around the X button's digital signal. More...
 
bool GetYButton () const
 Read the value of the Y button on the controller. More...
 
bool GetYButtonPressed ()
 Whether the Y button was pressed since the last check. More...
 
bool GetYButtonReleased ()
 Whether the Y button was released since the last check. More...
 
BooleanEvent Y (EventLoop *loop) const
 Constructs an event instance around the Y button's digital signal. More...
 
bool GetBackButton () const
 Read the value of the back button on the controller. More...
 
bool GetBackButtonPressed ()
 Whether the back button was pressed since the last check. More...
 
bool GetBackButtonReleased ()
 Whether the back button was released since the last check. More...
 
BooleanEvent Back (EventLoop *loop) const
 Constructs an event instance around the back button's digital signal. More...
 
bool GetStartButton () const
 Read the value of the start button on the controller. More...
 
bool GetStartButtonPressed ()
 Whether the start button was pressed since the last check. More...
 
bool GetStartButtonReleased ()
 Whether the start button was released since the last check. More...
 
BooleanEvent Start (EventLoop *loop) const
 Constructs an event instance around the start button's digital signal. More...
 
BooleanEvent LeftTrigger (double threshold, EventLoop *loop) const
 Constructs an event instance around the axis value of the left trigger. More...
 
BooleanEvent LeftTrigger (EventLoop *loop) const
 Constructs an event instance around the axis value of the left trigger. More...
 
BooleanEvent RightTrigger (double threshold, EventLoop *loop) const
 Constructs an event instance around the axis value of the right trigger. More...
 
BooleanEvent RightTrigger (EventLoop *loop) const
 Constructs an event instance around the axis value of the right trigger. More...
 
- Public Member Functions inherited from frc::GenericHID
 GenericHID (int port)
 
virtual ~GenericHID ()=default
 
 GenericHID (GenericHID &&)=default
 
GenericHIDoperator= (GenericHID &&)=default
 
bool GetRawButton (int button) const
 Get the button value (starting at button 1). More...
 
bool GetRawButtonPressed (int button)
 Whether the button was pressed since the last check. More...
 
bool GetRawButtonReleased (int button)
 Whether the button was released since the last check. More...
 
BooleanEvent Button (int button, EventLoop *loop) const
 Constructs an event instance around this button's digital signal. More...
 
double GetRawAxis (int axis) const
 Get the value of the axis. More...
 
int GetPOV (int pov=0) const
 Get the angle in degrees of a POV on the HID. More...
 
BooleanEvent POV (int angle, EventLoop *loop) const
 Constructs a BooleanEvent instance based around this angle of a POV on the HID. More...
 
BooleanEvent POV (int pov, int angle, EventLoop *loop) const
 Constructs a BooleanEvent instance based around this angle of a POV on the HID. More...
 
BooleanEvent POVUp (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 0 degree angle (up) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVUpRight (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 45 degree angle (right up) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVRight (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 90 degree angle (right) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVDownRight (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 135 degree angle (right down) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVDown (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 180 degree angle (down) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVDownLeft (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 225 degree angle (down left) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVLeft (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 270 degree angle (left) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVUpLeft (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the 315 degree angle (left up) of the default (index 0) POV on the HID. More...
 
BooleanEvent POVCenter (EventLoop *loop) const
 Constructs a BooleanEvent instance based around the center (not pressed) of the default (index 0) POV on the HID. More...
 
BooleanEvent AxisLessThan (int axis, double threshold, EventLoop *loop) const
 Constructs an event instance that is true when the axis value is less than threshold. More...
 
BooleanEvent AxisGreaterThan (int axis, double threshold, EventLoop *loop) const
 Constructs an event instance that is true when the axis value is greater than threshold. More...
 
int GetAxisCount () const
 Get the number of axes for the HID. More...
 
int GetPOVCount () const
 Get the number of POVs for the HID. More...
 
int GetButtonCount () const
 Get the number of buttons for the HID. More...
 
bool IsConnected () const
 Get if the HID is connected. More...
 
GenericHID::HIDType GetType () const
 Get the type of the HID. More...
 
std::string GetName () const
 Get the name of the HID. More...
 
int GetAxisType (int axis) const
 Get the axis type of a joystick axis. More...
 
int GetPort () const
 Get the port number of the HID. More...
 
void SetOutput (int outputNumber, bool value)
 Set a single HID output value for the HID. More...
 
void SetOutputs (int value)
 Set all output values for the HID. More...
 
void SetRumble (RumbleType type, double value)
 Set the rumble output for the HID. More...
 

Additional Inherited Members

- Public Types inherited from frc::GenericHID
enum  RumbleType { kLeftRumble , kRightRumble , kBothRumble }
 Represents a rumble output on the Joystick. More...
 
enum  HIDType {
  kUnknown = -1 , kXInputUnknown = 0 , kXInputGamepad = 1 , kXInputWheel = 2 ,
  kXInputArcadeStick = 3 , kXInputFlightStick = 4 , kXInputDancePad = 5 , kXInputGuitar = 6 ,
  kXInputGuitar2 = 7 , kXInputDrumKit = 8 , kXInputGuitar3 = 11 , kXInputArcadePad = 19 ,
  kHIDJoystick = 20 , kHIDGamepad = 21 , kHIDDriving = 22 , kHIDFlight = 23 ,
  kHID1stPerson = 24
}
 USB HID interface type. More...
 

Detailed Description

A version of XboxController with Trigger factories for command-based.

See also
XboxController

Member Function Documentation

◆ A()

Trigger frc2::CommandXboxController::A ( frc::EventLoop loop = CommandScheduler::GetInstance().GetDefaultButtonLoop()) const

Constructs an event instance around the A button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the A button's digital signal attached to the given loop.

◆ B()

Trigger frc2::CommandXboxController::B ( frc::EventLoop loop = CommandScheduler::GetInstance().GetDefaultButtonLoop()) const

Constructs an event instance around the B button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the B button's digital signal attached to the given loop.

◆ Back()

Trigger frc2::CommandXboxController::Back ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the back button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the back button's digital signal attached to the given loop.

◆ Button()

Trigger frc2::CommandXboxController::Button ( int  button,
frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop() 
) const

Constructs an event instance around this button's digital signal.

Parameters
buttonthe button index
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the button's digital signal attached to the given loop.

◆ LeftBumper()

Trigger frc2::CommandXboxController::LeftBumper ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the left bumper's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the left bumper's digital signal attached to the given loop.

◆ LeftStick()

Trigger frc2::CommandXboxController::LeftStick ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the left stick's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the left stick's digital signal attached to the given loop.

◆ LeftTrigger()

Trigger frc2::CommandXboxController::LeftTrigger ( double  threshold = 0.5,
frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop() 
) const

Constructs a Trigger instance around the axis value of the left trigger.

The returned Trigger will be true when the axis value is greater than threshold.

Parameters
thresholdthe minimum axis value for the returned Trigger to be true. This value should be in the range [0, 1] where 0 is the unpressed state of the axis. Defaults to 0.5.
loopthe event loop instance to attach the Trigger to. Defaults to the CommandScheduler's default loop.
Returns
a Trigger instance that is true when the left trigger's axis exceeds the provided threshold, attached to the given loop

◆ RightBumper()

Trigger frc2::CommandXboxController::RightBumper ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the right bumper's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the right bumper's digital signal attached to the given loop.

◆ RightStick()

Trigger frc2::CommandXboxController::RightStick ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the right stick's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the right stick's digital signal attached to the given loop.

◆ RightTrigger()

Trigger frc2::CommandXboxController::RightTrigger ( double  threshold = 0.5,
frc::EventLoop loop = CommandScheduler::GetInstance().GetDefaultButtonLoop() 
) const

Constructs a Trigger instance around the axis value of the right trigger.

The returned Trigger will be true when the axis value is greater than threshold.

Parameters
thresholdthe minimum axis value for the returned Trigger to be true. This value should be in the range [0, 1] where 0 is the unpressed state of the axis. Defaults to 0.5.
loopthe event loop instance to attach the Trigger to. Defaults to the CommandScheduler's default loop.
Returns
a Trigger instance that is true when the right trigger's axis exceeds the provided threshold, attached to the given loop

◆ Start()

Trigger frc2::CommandXboxController::Start ( frc::EventLoop loop = CommandScheduler::GetInstance() .GetDefaultButtonLoop()) const

Constructs an event instance around the start button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the start button's digital signal attached to the given loop.

◆ X()

Trigger frc2::CommandXboxController::X ( frc::EventLoop loop = CommandScheduler::GetInstance().GetDefaultButtonLoop()) const

Constructs an event instance around the X button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the X button's digital signal attached to the given loop.

◆ Y()

Trigger frc2::CommandXboxController::Y ( frc::EventLoop loop = CommandScheduler::GetInstance().GetDefaultButtonLoop()) const

Constructs an event instance around the Y button's digital signal.

Parameters
loopthe event loop instance to attach the event to. Defaults to the CommandScheduler's default loop.
Returns
an event instance representing the Y button's digital signal attached to the given loop.

The documentation for this class was generated from the following file: