src/main/java/frc/robot/util/StreamDeckButton.java
/**
   * Starts the given command when the button is first pressed, and cancels it when it is released,
   * but does not start it again if it ends or is otherwise interrupted.
   *
   * @param command       the command to start
   * @param interruptible whether the command is interruptible
   * @return this button, so calls can be chained
   */
Starts the given command when the button is first pressed, and cancels it when it is released,
but does not start it again if it ends or is otherwise interrupted.

@param command       the command to start
@param interruptible whether the command is interruptible
@return this button, so calls can be chained
Starts the given command when the button is first pressed and cancels it when it is released but does not start it again if it ends or is otherwise interrupted . @param command the command to start @param interruptible whether the command is interruptible @return this button so calls can be chained
public StreamDeckButton whenHeld(final Command command, boolean interruptible) {
    whileActiveOnce(command, interruptible);
    currentCommand = command;
    return this;
  }
public StreamDeckButton whenHeld ( final Command command , boolean interruptible ) { whileActiveOnce ( command , interruptible ) ; currentCommand = command ; return this ; }
Starts the given command when the button is first pressed, and cancels it when it is released,
 but does not start it again if it ends or is otherwise interrupted.
Starts the given command when the button is first pressed and cancels it when it is released but does not start it again if it ends or is otherwise interrupted .