707 lines
24 KiB
Python
707 lines
24 KiB
Python
import wpilib
|
|
|
|
|
|
class PlayStationController:
|
|
CORRECT_FOR_DEADBAND: bool
|
|
DEADBAND: float
|
|
PORT: int
|
|
VERSION: int = 4
|
|
|
|
def execute(self) -> None:
|
|
pass
|
|
|
|
def setup(self) -> None:
|
|
"""
|
|
Setup the PlayStation controller.
|
|
This method is called once when the robot is initialized.
|
|
"""
|
|
if self.VERSION == 5:
|
|
self.this_controller = wpilib.PS5Controller(self.PORT)
|
|
else:
|
|
self.this_controller = wpilib.PS4Controller(self.PORT)
|
|
|
|
self.button_was_pressed = {
|
|
"Cross": False,
|
|
"Circle": False,
|
|
"Square": False,
|
|
"Triangle": False,
|
|
"DPad_Up": False,
|
|
"DPad_Down": False,
|
|
"DPad_Left": False,
|
|
"DPad_Right": False,
|
|
"L1": False,
|
|
"R1": False,
|
|
"L2": False,
|
|
"R2": False,
|
|
"Options": False,
|
|
"Share": False,
|
|
}
|
|
self.button_is_pressed = {
|
|
"Cross": False,
|
|
"Circle": False,
|
|
"Square": False,
|
|
"Triangle": False,
|
|
"DPad_Up": False,
|
|
"DPad_Down": False,
|
|
"DPad_Left": False,
|
|
"DPad_Right": False,
|
|
"L1": False,
|
|
"R1": False,
|
|
"L2": False,
|
|
"R2": False,
|
|
"Options": False,
|
|
"Share": False,
|
|
}
|
|
|
|
def _button_pressed(self, button_name: str, pressed: bool) -> bool:
|
|
"""
|
|
Generic method to check if a button is pressed.
|
|
:param button_name: The name of the button to check.
|
|
:param pressed: The current state of the button (True if pressed, False otherwise).
|
|
"""
|
|
if pressed:
|
|
self.button_is_pressed[button_name] = True
|
|
else:
|
|
if self.button_is_pressed[button_name]:
|
|
self.button_was_pressed[button_name] = True
|
|
self.button_is_pressed[button_name] = False
|
|
return pressed
|
|
|
|
def _button_was_pressed(self, button_name: str) -> bool:
|
|
"""
|
|
Generic method to check if a button was pressed since the last check.
|
|
:param button_name: The name of the button to check.
|
|
:return: True if the button was pressed since the last check, False otherwise.
|
|
"""
|
|
if self.button_was_pressed[button_name]:
|
|
self.button_was_pressed[button_name] = False
|
|
return True
|
|
return False
|
|
|
|
def _corrected_joystick_value(self, raw_value: float) -> float:
|
|
"""
|
|
Apply deadband correction to a joystick value.
|
|
:param raw_value: The raw joystick value.
|
|
:return: The corrected joystick value.
|
|
"""
|
|
if self.CORRECT_FOR_DEADBAND:
|
|
if abs(raw_value) < self.DEADBAND:
|
|
return 0.0
|
|
return (raw_value / abs(raw_value)) * (
|
|
(abs(raw_value) - self.DEADBAND) / (1 - self.DEADBAND)
|
|
)
|
|
return raw_value
|
|
|
|
def capture_button_presses(self) -> None:
|
|
"""
|
|
Capture the current state of all buttons to track presses.
|
|
This method should be called at the end of each control loop iteration.
|
|
"""
|
|
self.cross_button_pressed()
|
|
self.circle_button_pressed()
|
|
self.square_button_pressed()
|
|
self.triangle_button_pressed()
|
|
self.dpad_up_pressed()
|
|
self.dpad_down_pressed()
|
|
self.dpad_left_pressed()
|
|
self.dpad_right_pressed()
|
|
self.l1_button_pressed()
|
|
self.r1_button_pressed()
|
|
self.l2_button_pressed()
|
|
self.r2_button_pressed()
|
|
self.options_button_pressed()
|
|
self.share_button_pressed()
|
|
|
|
def get_joysticks(self) -> tuple[float, float, float, float]:
|
|
"""
|
|
Get the joystick values from the Xbox controller.
|
|
|
|
:return: A tuple containing the left joystick x, left joystick y, right joystick x, and right joystick y values.
|
|
"""
|
|
return (
|
|
self._corrected_joystick_value(self.this_controller.getLeftX()),
|
|
self._corrected_joystick_value(self.this_controller.getLeftY()),
|
|
self._corrected_joystick_value(self.this_controller.getRightX()),
|
|
self._corrected_joystick_value(self.this_controller.getRightY()),
|
|
)
|
|
|
|
def cross_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Croiss button is pressed.
|
|
|
|
:return: True if the Cross button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Cross", self.this_controller.getCrossButton())
|
|
|
|
def cross_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Cross button was pressed since the last check.
|
|
|
|
:return: True if the Cross button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Cross")
|
|
|
|
def circle_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Circle button is pressed.
|
|
|
|
:return: True if the Circle button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Circle", self.this_controller.getCircleButton())
|
|
|
|
def circle_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Circle button was pressed since the last check.
|
|
|
|
:return: True if the Circle button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Circle")
|
|
|
|
def square_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Square button is pressed.
|
|
|
|
:return: True if the Square button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Square", self.this_controller.getSquareButton())
|
|
|
|
def square_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Square button was pressed since the last check.
|
|
|
|
:return: True if the Square button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Square")
|
|
|
|
def triangle_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Triangle button is pressed.
|
|
|
|
:return: True if the Triangle button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed(
|
|
"Triangle", self.this_controller.getTriangleButton()
|
|
)
|
|
|
|
def triangle_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Triangle button was pressed since the last check.
|
|
|
|
:return: True if the Triangle button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Triangle")
|
|
|
|
def dpad_up_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed up.
|
|
|
|
:return: True if the D-pad is pressed up, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Up", self.this_controller.getPOV() == 0)
|
|
|
|
def dpad_up_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed up since the last check.
|
|
|
|
:return: True if the the D-pad was pressed up since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Up")
|
|
|
|
def dpad_down_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed down.
|
|
|
|
:return: True if the D-pad is pressed down, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Down", self.this_controller.getPOV() == 180)
|
|
|
|
def dpad_down_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed down since the last check.
|
|
|
|
:return: True if the the D-pad was pressed down since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Down")
|
|
|
|
def dpad_left_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed left.
|
|
|
|
:return: True if the D-pad is pressed left, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Left", self.this_controller.getPOV() == 270)
|
|
|
|
def dpad_left_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed left since the last check.
|
|
|
|
:return: True if the the D-pad was pressed left since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Left")
|
|
|
|
def dpad_right_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed right.
|
|
|
|
:return: True if the D-pad is pressed right, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Right", self.this_controller.getPOV() == 90)
|
|
|
|
def dpad_right_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed right since the last check.
|
|
|
|
:return: True if the the D-pad was pressed right since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Right")
|
|
|
|
def r1_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the R1 button is pressed.
|
|
|
|
:return: True if the R1 button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("R1", self.this_controller.getR1Button())
|
|
|
|
def r1_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the R1 button was pressed since the last check.
|
|
|
|
:return: True if the R1 button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("R1")
|
|
|
|
def r2_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the R2 button is pressed.
|
|
|
|
:return: True if the R2 button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("R2", self.this_controller.getR2Button())
|
|
|
|
def r2_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the R2 button was pressed since the last check.
|
|
|
|
:return: True if the R2 button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("R2")
|
|
|
|
def l1_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the L1 button is pressed.
|
|
|
|
:return: True if the L1 button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("L1", self.this_controller.getL1Button())
|
|
|
|
def l1_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the L1 button was pressed since the last check.
|
|
|
|
:return: True if the L1 button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("L1")
|
|
|
|
def l2_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the L2 button is pressed.
|
|
|
|
:return: True if the L2 button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("L2", self.this_controller.getL2Button())
|
|
|
|
def l2_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the L2 button was pressed since the last check.
|
|
|
|
:return: True if the L2 button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("L2")
|
|
|
|
def options_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Options button is pressed.
|
|
|
|
:return: True if the Options button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Options", self.this_controller.getOptionsButton())
|
|
|
|
def options_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Options button was pressed since the last check.
|
|
|
|
:return: True if the Options button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Options")
|
|
|
|
def share_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Share button is pressed.
|
|
|
|
:return: True if the Share button is pressed, False otherwise.
|
|
"""
|
|
if self.VERSION == 4:
|
|
return self._button_pressed("Share", self.this_controller.getShareButton())
|
|
else:
|
|
return self._button_pressed("Share", False)
|
|
|
|
def share_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Share button was pressed since the last check.
|
|
|
|
:return: True if the Share button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Share")
|
|
|
|
|
|
class XboxController:
|
|
CORRECT_FOR_DEADBAND: bool
|
|
DEADBAND: float
|
|
PORT: int
|
|
|
|
def execute(self) -> None:
|
|
pass
|
|
|
|
def setup(self) -> None:
|
|
"""
|
|
Setup the Xbox controller.
|
|
This method is called once when the robot is initialized.
|
|
"""
|
|
self.this_controller = wpilib.XboxController(self.PORT)
|
|
self.button_was_pressed = {
|
|
"A": False,
|
|
"B": False,
|
|
"X": False,
|
|
"Y": False,
|
|
"DPad_Up": False,
|
|
"DPad_Down": False,
|
|
"DPad_Left": False,
|
|
"DPad_Right": False,
|
|
"Left_Bumper": False,
|
|
"Right_Bumper": False,
|
|
"Left_Trigger": False,
|
|
"Right_Trigger": False,
|
|
"Start": False,
|
|
"Back": False,
|
|
}
|
|
self.button_is_pressed = {
|
|
"A": False,
|
|
"B": False,
|
|
"X": False,
|
|
"Y": False,
|
|
"DPad_Up": False,
|
|
"DPad_Down": False,
|
|
"DPad_Left": False,
|
|
"DPad_Right": False,
|
|
"Left_Bumper": False,
|
|
"Right_Bumper": False,
|
|
"Left_Trigger": False,
|
|
"Right_Trigger": False,
|
|
"Start": False,
|
|
"Back": False,
|
|
}
|
|
|
|
def _button_pressed(self, button_name: str, pressed: bool) -> bool:
|
|
"""
|
|
Generic method to check if a button is pressed.
|
|
:param button_name: The name of the button to check.
|
|
:param pressed: The current state of the button (True if pressed, False otherwise).
|
|
"""
|
|
if pressed:
|
|
self.button_is_pressed[button_name] = True
|
|
else:
|
|
if self.button_is_pressed[button_name]:
|
|
self.button_was_pressed[button_name] = True
|
|
self.button_is_pressed[button_name] = False
|
|
return pressed
|
|
|
|
def _button_was_pressed(self, button_name: str) -> bool:
|
|
"""
|
|
Generic method to check if a button was pressed since the last check.
|
|
:param button_name: The name of the button to check.
|
|
:return: True if the button was pressed since the last check, False otherwise.
|
|
"""
|
|
if self.button_was_pressed[button_name]:
|
|
self.button_was_pressed[button_name] = False
|
|
return True
|
|
return False
|
|
|
|
def _corrected_joystick_value(self, raw_value: float) -> float:
|
|
"""
|
|
Apply deadband correction to a joystick value.
|
|
:param raw_value: The raw joystick value.
|
|
:return: The corrected joystick value.
|
|
"""
|
|
if self.CORRECT_FOR_DEADBAND:
|
|
if abs(raw_value) < self.DEADBAND:
|
|
return 0.0
|
|
return (raw_value / abs(raw_value)) * (
|
|
(abs(raw_value) - self.DEADBAND) / (1 - self.DEADBAND)
|
|
)
|
|
return raw_value
|
|
|
|
def capture_button_presses(self) -> None:
|
|
"""
|
|
Capture the current state of all buttons to track presses.
|
|
This method should be called at the end of each control loop iteration.
|
|
"""
|
|
self.a_button_pressed()
|
|
self.b_button_pressed()
|
|
self.x_button_pressed()
|
|
self.y_button_pressed()
|
|
self.dpad_up_pressed()
|
|
self.dpad_down_pressed()
|
|
self.dpad_left_pressed()
|
|
self.dpad_right_pressed()
|
|
self.left_bumper_pressed()
|
|
self.right_bumper_pressed()
|
|
self.left_trigger_pressed()
|
|
self.right_trigger_pressed()
|
|
self.start_button_pressed()
|
|
self.back_button_pressed()
|
|
|
|
def get_joysticks(self) -> tuple[float, float, float, float]:
|
|
"""
|
|
Get the joystick values from the Xbox controller.
|
|
|
|
:return: A tuple containing the left joystick x, left joystick y, right joystick x, and right joystick y values.
|
|
"""
|
|
return (
|
|
self._corrected_joystick_value(self.this_controller.getLeftX()),
|
|
self._corrected_joystick_value(self.this_controller.getLeftY()),
|
|
self._corrected_joystick_value(self.this_controller.getRightX()),
|
|
self._corrected_joystick_value(self.this_controller.getRightY()),
|
|
)
|
|
|
|
def a_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the A button is pressed.
|
|
|
|
:return: True if the A button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("A", self.this_controller.getAButton())
|
|
|
|
def a_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the A button was pressed since the last check.
|
|
|
|
:return: True if the A button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("A")
|
|
|
|
def b_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the B button is pressed.
|
|
:return: True if the B button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("B", self.this_controller.getBButton())
|
|
|
|
def b_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the B button was pressed since the last check.
|
|
|
|
:return: True if the B button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("B")
|
|
|
|
def x_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the X button is pressed.
|
|
|
|
:return: True if the X button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("X", self.this_controller.getXButton())
|
|
|
|
def x_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the X button was pressed since the last check.
|
|
|
|
:return: True if the X button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("X")
|
|
|
|
def y_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the Y button is pressed.
|
|
|
|
:return: True if the Y button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Y", self.this_controller.getYButton())
|
|
|
|
def y_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the Y button was pressed since the last check.
|
|
|
|
:return: True if the Y button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Y")
|
|
|
|
def dpad_up_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed up.
|
|
|
|
:return: True if the D-pad is pressed up, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Up", self.this_controller.getPOV() == 0)
|
|
|
|
def dpad_up_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed up since the last check.
|
|
|
|
:return: True if the the D-pad was pressed up since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Up")
|
|
|
|
def dpad_down_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed down.
|
|
|
|
:return: True if the D-pad is pressed down, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Down", self.this_controller.getPOV() == 180)
|
|
|
|
def dpad_down_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed down since the last check.
|
|
|
|
:return: True if the the D-pad was pressed down since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Down")
|
|
|
|
def dpad_left_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed left.
|
|
|
|
:return: True if the D-pad is pressed left, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Left", self.this_controller.getPOV() == 270)
|
|
|
|
def dpad_left_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed left since the last check.
|
|
|
|
:return: True if the the D-pad was pressed left since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Left")
|
|
|
|
def dpad_right_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad is pressed right.
|
|
|
|
:return: True if the D-pad is pressed right, False otherwise.
|
|
"""
|
|
return self._button_pressed("DPad_Right", self.this_controller.getPOV() == 90)
|
|
|
|
def dpad_right_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the D-pad was pressed right since the last check.
|
|
|
|
:return: True if the the D-pad was pressed right since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("DPad_Right")
|
|
|
|
def left_bumper_pressed(self) -> bool:
|
|
"""
|
|
Check if the left bumper is pressed.
|
|
|
|
:return: True if the left bumper is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Left_Bumper", self.this_controller.getLeftBumper())
|
|
|
|
def left_bumper_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the left bumper was pressed since the last check.
|
|
|
|
:return: True if the left bumper was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Left_Bumper")
|
|
|
|
def right_bumper_pressed(self) -> bool:
|
|
"""
|
|
Check if the right bumper is pressed.
|
|
|
|
:return: True if the right bumper is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed(
|
|
"Right_Bumper", self.this_controller.getRightBumper()
|
|
)
|
|
|
|
def right_bumper_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the right bumper was pressed since the last check.
|
|
|
|
:return: True if the right bumper was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Right_Bumper")
|
|
|
|
def left_trigger_pressed(self) -> float:
|
|
"""
|
|
Get the value of the left trigger.
|
|
|
|
:return: The value of the left trigger, ranging from 0.0 to 1.0.
|
|
"""
|
|
self._button_pressed(
|
|
"Left_Trigger", self.this_controller.getLeftTriggerAxis() >= 0.5
|
|
)
|
|
return self.this_controller.getLeftTriggerAxis()
|
|
|
|
def left_trigger_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the left trigger was pressed since the last check.
|
|
|
|
:return: True if the left trigger was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Left_Trigger")
|
|
|
|
def right_trigger_pressed(self) -> float:
|
|
"""
|
|
Get the value of the right trigger.
|
|
|
|
:return: The value of the right trigger, ranging from 0.0 to 1.0.
|
|
"""
|
|
self._button_pressed(
|
|
"Right_Trigger", self.this_controller.getRightTriggerAxis() >= 0.5
|
|
)
|
|
return self.this_controller.getRightTriggerAxis()
|
|
|
|
def right_trigger_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the right trigger was pressed since the last check.
|
|
|
|
:return: True if the right trigger was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Right_Trigger")
|
|
|
|
def start_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the start button is pressed.
|
|
|
|
:return: True if the start button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Start", self.this_controller.getStartButton())
|
|
|
|
def start_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the start button was pressed since the last check.
|
|
|
|
:return: True if the start button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Start")
|
|
|
|
def back_button_pressed(self) -> bool:
|
|
"""
|
|
Check if the back button is pressed.
|
|
|
|
:return: True if the back button is pressed, False otherwise.
|
|
"""
|
|
return self._button_pressed("Back", self.this_controller.getBackButton())
|
|
|
|
def back_button_was_pressed(self) -> bool:
|
|
"""
|
|
Check if the back button was pressed since the last check.
|
|
|
|
:return: True if the back button was pressed since the last check, False otherwise.
|
|
"""
|
|
return self._button_was_pressed("Back")
|