edu.stanford.hci.r3.actions.types
Class RobotAction

java.lang.Object
  extended by edu.stanford.hci.r3.actions.types.RobotAction
All Implemented Interfaces:
R3Action

public class RobotAction
extends java.lang.Object
implements R3Action

Makes the machine run low level keyboard and mouse actions.

TODO: Implement higher level calls, like drag from x1,y1 to x2,y2. Which ends up being a mouse down at x1,y1, mouseMove, and mouseUp at x2,y2.

This software is distributed under the BSD License.


Nested Class Summary
static class RobotAction.MouseWheelDirection
          multiply by these to set a direction
static class RobotAction.RobotCommand
          Embodies a robot method and its arguments.
static class RobotAction.RobotMethod
          Different things you can ask a robot to do.
 
Constructor Summary
RobotAction()
           
 
Method Summary
 void createScreenCapture(java.awt.Rectangle screenRect, java.io.File destFile)
           
 void delay(int ms)
           
 int getNumCommands()
           
 void getPixelColor(int x, int y)
           
 void invoke()
          Run through our command list and invoke each command.
 void keyPress(int keycode)
           
 void keyRelease(int keycode)
           
 void keyType(int keycode)
           
 void mouseMove(int x, int y)
          Queue up a mouseMove.
 void mousePress(int buttons)
          InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK
 void mouseRelease(int buttons)
           
 void mouseWheel(int wheelAmt, RobotAction.MouseWheelDirection direction)
           
 void setAutoDelay(int ms)
           
 void setAutoWaitForIdle(boolean isOn)
           
 void setScreenDevice(int requestedDevice)
           
 void typeString(java.lang.String text)
           
 void waitForIdle()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.stanford.hci.r3.actions.R3Action
toString
 

Constructor Detail

RobotAction

public RobotAction()
Method Detail

createScreenCapture

public void createScreenCapture(java.awt.Rectangle screenRect,
                                java.io.File destFile)
Parameters:
screenRect -

delay

public void delay(int ms)
Parameters:
ms -

getNumCommands

public int getNumCommands()
Returns:

getPixelColor

public void getPixelColor(int x,
                          int y)
Parameters:
x -
y -

invoke

public void invoke()
Run through our command list and invoke each command.

Specified by:
invoke in interface R3Action
See Also:
R3Action.invoke()

keyPress

public void keyPress(int keycode)
Parameters:
keycode - e.g, KeyEvent.VK_A, or KeyEvent.VK_SHIFT

keyRelease

public void keyRelease(int keycode)
Parameters:
keycode -

keyType

public void keyType(int keycode)
Parameters:
keycode - e.g, KeyEvent.VK_A, or KeyEvent.VK_SHIFT

mouseMove

public void mouseMove(int x,
                      int y)
Queue up a mouseMove.

Parameters:
x -
y -

mousePress

public void mousePress(int buttons)
InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK

Parameters:
buttons -

mouseRelease

public void mouseRelease(int buttons)
Parameters:
buttons -

mouseWheel

public void mouseWheel(int wheelAmt,
                       RobotAction.MouseWheelDirection direction)
Parameters:
wheelAmt -
direction -

setAutoDelay

public void setAutoDelay(int ms)
Parameters:
ms -

setAutoWaitForIdle

public void setAutoWaitForIdle(boolean isOn)
Parameters:
isOn -

setScreenDevice

public void setScreenDevice(int requestedDevice)
Parameters:
requestedDevice -

typeString

public void typeString(java.lang.String text)
Parameters:
text -

waitForIdle

public void waitForIdle()

Copyright 2006 Stanford University