Class ArrowKeySensor

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
    Direct Known Subclasses:
    ArrowKeyProbe

    public class ArrowKeySensor
    extends TypedAtomicActor
    Detect when the user presses or releases an arrow key and produce an integer on the corresponding output.

    When this actor is preinitialized, it pops up a new JFrame window on the desktop, usually in the upper left hand corner of the screen. When this JFrame has the focus (such as when it has been clicked on) it is capable of sensing keystrokes.

    This actor senses only the four non-numeric-pad arrow-key keystrokes. This actor responds to key releases as well as key presses. Upon each key press, the integer 1 is broadcast from the corresponding output. Upon each key release, the integer 0 is output.

    This actor contains a private inner class which generated the JFrame. The frame sets up call-backs which react to the keystrokes. When called, these call the director's fireAt() method with the current time as argument. This causes the director to call fire() on the actor with the first valid time equal to the current time or later. The actor then broadcasts tokens from one or both outputs depending on which keystroke(s) have occurred since the actor was last fired. On key pressed a one will be send, on key release a zero will be send.

    Since:
    Ptolemy II 2.0
    Version:
    $Id$
    Author:
    Winthrop Williams, Contributor: Bert Rodiers
    Pt.AcceptedRating:
    Red (winthrop)
    Pt.ProposedRating:
    Red (winthrop)
    • Field Detail

      • upArrow

        public TypedIOPort upArrow
        Output port, which has type IntToken.
      • leftArrow

        public TypedIOPort leftArrow
        Output port, which has type IntToken.
      • rightArrow

        public TypedIOPort rightArrow
        Output port, which has type IntToken.
      • downArrow

        public TypedIOPort downArrow
        Output port, which has type IntToken.
      • _downKeyPressed

        protected boolean _downKeyPressed
        A flag indicating if the down arrow key has been pressed since the last firing of the actor. Pressed and Released are are not allowed to both be true for the same key (Though both may be false). The most recent action (press or release) takes precedence.
      • _downKeyReleased

        protected boolean _downKeyReleased
        A flag indicating if the down arrow key has been released since the last firing of the actor.
      • _leftKeyPressed

        protected boolean _leftKeyPressed
        A flag indicating if the left arrow key has been released since the last firing of the actor.
      • _leftKeyReleased

        protected boolean _leftKeyReleased
        A flag indicating if the left arrow key has been released since the last firing of the actor.
      • _rightKeyPressed

        protected boolean _rightKeyPressed
        A flag indicating if the right arrow key has been pressed since the last firing of the actor.
      • _rightKeyReleased

        protected boolean _rightKeyReleased
        A flag indicating if the right arrow key has been released since the last firing of the actor.
      • _upKeyPressed

        protected boolean _upKeyPressed
        A flag indicating if the up arrow key has been pressed since the last firing of the actor.
      • _upKeyReleased

        protected boolean _upKeyReleased
        A flag indicating if the up arrow key has been released since the last firing of the actor.