Package edu.wpi.first.wpilibj
Class XboxController
java.lang.Object
edu.wpi.first.wpilibj.GenericHID
edu.wpi.first.wpilibj.XboxController
- All Implemented Interfaces:
Sendable
Handle input from Xbox controllers connected to the Driver Station.
This class handles Xbox input that comes from the Driver Station. Each time a value is requested the most recent value is returned. There is a single class instance for each controller and the mapping of ports to hardware buttons depends on the code in the Driver Station.
Only first party controllers from Microsoft are guaranteed to have the correct mapping, and only through the official NI DS. Sim is not guaranteed to have the same mapping, as well as any 3rd party controllers.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Represents an axis on an XboxController.static enum
Represents a digital button on a XboxController.Nested classes/interfaces inherited from class edu.wpi.first.wpilibj.GenericHID
GenericHID.HIDType, GenericHID.RumbleType
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionConstructs an event instance around the A button's digital signal.Constructs an event instance around the B button's digital signal.Constructs an event instance around the back button's digital signal.boolean
Read the value of the A button on the controller.boolean
Whether the A button was pressed since the last check.boolean
Whether the A button was released since the last check.boolean
Read the value of the back button on the controller.boolean
Whether the back button was pressed since the last check.boolean
Whether the back button was released since the last check.boolean
Read the value of the B button on the controller.boolean
Whether the B button was pressed since the last check.boolean
Whether the B button was released since the last check.boolean
Deprecated, for removal: This API element is subject to removal in a future version.boolean
Read the value of the left bumper button on the controller.boolean
Whether the left bumper button was pressed since the last check.boolean
Whether the left bumper button was released since the last check.boolean
Deprecated, for removal: This API element is subject to removal in a future version.UsegetLeftBumperButtonPressed()
instead.boolean
Deprecated, for removal: This API element is subject to removal in a future version.UsegetLeftBumperButtonReleased()
instead.boolean
Read the value of the left stick button on the controller.boolean
Whether the left stick button was pressed since the last check.boolean
Whether the left stick button was released since the last check.double
Get the left trigger axis value of the controller.double
getLeftX()
Get the X axis value of left side of the controller.double
getLeftY()
Get the Y axis value of left side of the controller.boolean
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButton()
instead.boolean
Read the value of the right bumper button on the controller.boolean
Whether the right bumper button was pressed since the last check.boolean
Whether the right bumper button was released since the last check.boolean
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButtonPressed()
instead.boolean
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButtonReleased()
instead.boolean
Read the value of the right stick button on the controller.boolean
Whether the right stick button was pressed since the last check.boolean
Whether the right stick button was released since the last check.double
Get the right trigger axis value of the controller.double
Get the X axis value of right side of the controller.double
Get the Y axis value of right side of the controller.boolean
Read the value of the start button on the controller.boolean
Whether the start button was pressed since the last check.boolean
Whether the start button was released since the last check.boolean
Read the value of the X button on the controller.boolean
Whether the X button was pressed since the last check.boolean
Whether the X button was released since the last check.boolean
Read the value of the Y button on the controller.boolean
Whether the Y button was pressed since the last check.boolean
Whether the Y button was released since the last check.void
initSendable
(SendableBuilder builder) Initializes thisSendable
object.leftBumper
(EventLoop loop) Constructs an event instance around the left bumper button's digital signal.Constructs an event instance around the left stick button's digital signal.leftTrigger
(double threshold, EventLoop loop) Constructs an event instance around the axis value of the left trigger.leftTrigger
(EventLoop loop) Constructs an event instance around the axis value of the left trigger.rightBumper
(EventLoop loop) Constructs an event instance around the right bumper button's digital signal.rightStick
(EventLoop loop) Constructs an event instance around the right stick button's digital signal.rightTrigger
(double threshold, EventLoop loop) Constructs an event instance around the axis value of the right trigger.rightTrigger
(EventLoop loop) Constructs an event instance around the axis value of the right trigger.Constructs an event instance around the start button's digital signal.Constructs an event instance around the X button's digital signal.Constructs an event instance around the Y button's digital signal.Methods inherited from class edu.wpi.first.wpilibj.GenericHID
axisGreaterThan, axisLessThan, button, getAxisCount, getAxisType, getButtonCount, getName, getPort, getPOV, getPOV, getPOVCount, getRawAxis, getRawButton, getRawButtonPressed, getRawButtonReleased, getType, isConnected, pov, pov, povCenter, povDown, povDownLeft, povDownRight, povLeft, povRight, povUp, povUpLeft, povUpRight, setOutput, setOutputs, setRumble
-
Constructor Details
-
XboxController
Construct an instance of a controller.- Parameters:
port
- The port index on the Driver Station that the controller is plugged into (0-5).
-
-
Method Details
-
getLeftX
Get the X axis value of left side of the controller.- Returns:
- The axis value.
-
getRightX
Get the X axis value of right side of the controller.- Returns:
- The axis value.
-
getLeftY
Get the Y axis value of left side of the controller.- Returns:
- The axis value.
-
getRightY
Get the Y axis value of right side of the controller.- Returns:
- The axis value.
-
getLeftTriggerAxis
Get the left trigger axis value of the controller. Note that this axis is bound to the range of [0, 1] as opposed to the usual [-1, 1].- Returns:
- The axis value.
-
leftTrigger
Constructs an event instance around the axis value of the left trigger. The returned trigger will be true when the axis value is greater thanthreshold
.- Parameters:
threshold
- the minimum axis value for the returnedBooleanEvent
to be true. This value should be in the range [0, 1] where 0 is the unpressed state of the axis.loop
- the event loop instance to attach the event to.- Returns:
- an event instance that is true when the left trigger's axis exceeds the provided threshold, attached to the given event loop
-
leftTrigger
Constructs an event instance around the axis value of the left trigger. The returned trigger will be true when the axis value is greater than 0.5.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance that is true when the left trigger's axis exceeds the provided threshold, attached to the given event loop
-
getRightTriggerAxis
Get the right trigger axis value of the controller. Note that this axis is bound to the range of [0, 1] as opposed to the usual [-1, 1].- Returns:
- The axis value.
-
rightTrigger
Constructs an event instance around the axis value of the right trigger. The returned trigger will be true when the axis value is greater thanthreshold
.- Parameters:
threshold
- the minimum axis value for the returnedBooleanEvent
to be true. This value should be in the range [0, 1] where 0 is the unpressed state of the axis.loop
- the event loop instance to attach the event to.- Returns:
- an event instance that is true when the right trigger's axis exceeds the provided threshold, attached to the given event loop
-
rightTrigger
Constructs an event instance around the axis value of the right trigger. The returned trigger will be true when the axis value is greater than 0.5.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance that is true when the right trigger's axis exceeds the provided threshold, attached to the given event loop
-
getAButton
Read the value of the A button on the controller.- Returns:
- The state of the button.
-
getAButtonPressed
Whether the A button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getAButtonReleased
Whether the A button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
a
Constructs an event instance around the A button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the A button's digital signal attached to the given loop.
-
getBButton
Read the value of the B button on the controller.- Returns:
- The state of the button.
-
getBButtonPressed
Whether the B button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getBButtonReleased
Whether the B button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
b
Constructs an event instance around the B button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the B button's digital signal attached to the given loop.
-
getXButton
Read the value of the X button on the controller.- Returns:
- The state of the button.
-
getXButtonPressed
Whether the X button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getXButtonReleased
Whether the X button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
x
Constructs an event instance around the X button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the X button's digital signal attached to the given loop.
-
getYButton
Read the value of the Y button on the controller.- Returns:
- The state of the button.
-
getYButtonPressed
Whether the Y button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getYButtonReleased
Whether the Y button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
y
Constructs an event instance around the Y button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the Y button's digital signal attached to the given loop.
-
getLeftBumperButton
Read the value of the left bumper button on the controller.- Returns:
- The state of the button.
-
getLeftBumperButtonPressed
Whether the left bumper button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getLeftBumperButtonReleased
Whether the left bumper button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
leftBumper
Constructs an event instance around the left bumper button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the left bumper button's digital signal attached to the given loop.
-
getRightBumperButton
Read the value of the right bumper button on the controller.- Returns:
- The state of the button.
-
getRightBumperButtonPressed
Whether the right bumper button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getRightBumperButtonReleased
Whether the right bumper button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
rightBumper
Constructs an event instance around the right bumper button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the right bumper button's digital signal attached to the given loop.
-
getBackButton
Read the value of the back button on the controller.- Returns:
- The state of the button.
-
getBackButtonPressed
Whether the back button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getBackButtonReleased
Whether the back button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
back
Constructs an event instance around the back button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the back button's digital signal attached to the given loop.
-
getStartButton
Read the value of the start button on the controller.- Returns:
- The state of the button.
-
getStartButtonPressed
Whether the start button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getStartButtonReleased
Whether the start button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
start
Constructs an event instance around the start button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the start button's digital signal attached to the given loop.
-
getLeftStickButton
Read the value of the left stick button on the controller.- Returns:
- The state of the button.
-
getLeftStickButtonPressed
Whether the left stick button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getLeftStickButtonReleased
Whether the left stick button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
leftStick
Constructs an event instance around the left stick button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the left stick button's digital signal attached to the given loop.
-
getRightStickButton
Read the value of the right stick button on the controller.- Returns:
- The state of the button.
-
getRightStickButtonPressed
Whether the right stick button was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getRightStickButtonReleased
Whether the right stick button was released since the last check.- Returns:
- Whether the button was released since the last check.
-
rightStick
Constructs an event instance around the right stick button's digital signal.- Parameters:
loop
- the event loop instance to attach the event to.- Returns:
- an event instance representing the right stick button's digital signal attached to the given loop.
-
getLeftBumper
Deprecated, for removal: This API element is subject to removal in a future version.UsegetLeftBumperButton()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Read the value of the left bumper (LB) button on the controller.- Returns:
- The state of the button.
-
getRightBumper
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButton()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Read the value of the right bumper (RB) button on the controller.- Returns:
- The state of the button.
-
getLeftBumperPressed
Deprecated, for removal: This API element is subject to removal in a future version.UsegetLeftBumperButtonPressed()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Whether the left bumper (LB) was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getRightBumperPressed
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButtonPressed()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Whether the right bumper (RB) was pressed since the last check.- Returns:
- Whether the button was pressed since the last check.
-
getLeftBumperReleased
Deprecated, for removal: This API element is subject to removal in a future version.UsegetLeftBumperButtonReleased()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Whether the left bumper (LB) was released since the last check.- Returns:
- Whether the button was released since the last check.
-
getRightBumperReleased
Deprecated, for removal: This API element is subject to removal in a future version.UsegetRightBumperButtonReleased()
instead. This function is deprecated for removal to make function names consistent to allow the HID classes to be automatically generated.Whether the right bumper (RB) was released since the last check.- Returns:
- Whether the button was released since the last check.
-
initSendable
Description copied from interface:Sendable
Initializes thisSendable
object.- Specified by:
initSendable
in interfaceSendable
- Parameters:
builder
- sendable builder
-
getLeftBumperButton()
instead.