diff --git a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java index b080dd9058..a7c0ac7c21 100644 --- a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java +++ b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java @@ -205,6 +205,27 @@ public class CommandPS4Controller extends CommandGenericHID { return m_hid.cross(loop).castTo(Trigger::new); } + /** + * Constructs an event instance around the triangle button's digital signal. + * + * @return an event instance representing the triangle button's digital signal attached to the + * {@link CommandScheduler#getDefaultButtonLoop() default scheduler button loop}. + */ + public Trigger triangle() { + return triangle(CommandScheduler.getInstance().getDefaultButtonLoop()); + } + + /** + * Constructs an event instance around the triangle button's digital signal. + * + * @param loop the event loop instance to attach the event to. + * @return an event instance representing the triangle button's digital signal attached to the + * given loop. + */ + public Trigger triangle(EventLoop loop) { + return m_hid.triangle(loop).castTo(Trigger::new); + } + /** * Constructs an event instance around the circle button's digital signal. * diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PS4Controller.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PS4Controller.java index ad804450f0..c418e54f0f 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PS4Controller.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PS4Controller.java @@ -494,6 +494,17 @@ public class PS4Controller extends GenericHID { return getRawButtonReleased(Button.kTriangle.value); } + /** + * Constructs an event instance around the triangle button's digital signal. + * + * @param loop the event loop instance to attach the event to. + * @return an event instance representing the triangle button's digital signal attached to the + * given loop. + */ + public BooleanEvent triangle(EventLoop loop) { + return new BooleanEvent(loop, this::getTriangleButton); + } + /** * Read the value of the Circle button on the controller. *