Source code for wpilib.buttons.button
# validated: 2015-12-22 DS 6d854af shared/java/edu/wpi/first/wpilibj/buttons/Button.java
#----------------------------------------------------------------------------
# Copyright (c) FIRST 2008-2012. All Rights Reserved.
# Open Source Software - may be modified and shared by FRC teams. The code
# must be accompanied by the FIRST BSD license file in the root directory of
# the project.
#----------------------------------------------------------------------------
from .trigger import Trigger
__all__ = ["Button"]
[docs]class Button(Trigger):
"""This class provides an easy way to link commands to OI inputs.
It is very easy to link a button to a command. For instance, you could
link the trigger button of a joystick to a "score" command.
This class represents a subclass of :class:`.Trigger` that is specifically aimed at
buttons on an operator interface as a common use case of the more
generalized Trigger objects. This is a simple wrapper around Trigger with
the method names renamed to fit the Button object use.
"""
[docs] def whenPressed(self, command):
"""Starts the given command whenever the button is newly pressed.
:param command: the command to start
"""
self.whenActive(command)
[docs] def whileHeld(self, command):
"""Constantly starts the given command while the button is held.
:meth:`.Command.start` will be called repeatedly while the button is
held, and will be canceled when the button is released.
:param command: the command to start
"""
self.whileActive(command)
[docs] def whenReleased(self, command):
"""Starts the command when the button is released.
:param command: the command to start
"""
self.whenInactive(command)
[docs] def toggleWhenPressed(self, command):
"""Toggles the command whenever the button is pressed (on then off
then on).
:param command:
"""
self.toggleWhenActive(command)
[docs] def cancelWhenPressed(self, command):
"""Cancel the command when the button is pressed.
:param command:
"""
self.cancelWhenActive(command)