//## begin module%1.4%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.4%.codegen_version

//## begin module%3D86D4470262.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3D86D4470262.cm

//## begin module%3D86D4470262.cp preserve=no
//## end module%3D86D4470262.cp

//## Module: Keyboard%3D86D4470262; Pseudo Package specification
//## Source file: C:\Program Files\Rational\Rose\C++\source\Keyboard.h

#ifndef Keyboard_h
#define Keyboard_h 1

//## begin module%3D86D4470262.additionalIncludes preserve=no
//## end module%3D86D4470262.additionalIncludes

//## begin module%3D86D4470262.includes preserve=yes
//## end module%3D86D4470262.includes

//## begin module%3D86D4470262.additionalDeclarations preserve=yes
//## end module%3D86D4470262.additionalDeclarations


//## begin Keyboard%3D86D4470262.preface preserve=yes
//## end Keyboard%3D86D4470262.preface

//## Class: Keyboard%3D86D4470262
//	/**
//	This class provides methods to read from the robot
//	keyboard.
//	@author Jia L. Du
//	 */
//## Category: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n



class Keyboard 
{
  //## begin Keyboard%3D86D4470262.initialDeclarations preserve=yes
  //## end Keyboard%3D86D4470262.initialDeclarations

  public:
    //## Constructors (generated)
      Keyboard();


    //## Other Operations (specified)
      //## Operation: waitFor%3D92911B0294
      //	/**
      //	Waits for the given key
      //	@param key Keyboard.KEY1 or Keyboard.KEY2 or
      //	Keyboard.KEY3 or Keyboard.KEY4
      //	 */
      void waitFor (int key);

      //## Operation: getKey%3D9291270212
      //	/**
      //	Waits for a keypress and returns keycode
      //	@return Keyboard.KEY1 or Keyboard.KEY2 or Keyboard.KEY3
      //	or Keyboard.KEY4
      //	 */
      int getKey ();

      //## Operation: readKey%3D92913803DE
      //	/**
      //	Reads keycode and returns it. Does NOT wait
      //	@return Keyboard.KEY1 or Keyboard.KEY2 or Keyboard.KEY3
      //	or Keyboard.KEY4 or 0 if no key was pressed
      //	 */
      int readKey ();

    // Data Members for Class Attributes

      //## Attribute: KEY_1%3D9AA04C01FE
      //	/**
      //	Value to identify key 1 of the keyboard
      //	 */
      //## begin Keyboard::KEY_1%3D9AA04C01FE.attr preserve=no  public: static int {UC} KEY1
      static const int KEY_1;
      //## end Keyboard::KEY_1%3D9AA04C01FE.attr

      //## Attribute: KEY_2%3D9AA06F03AC
      //	/**
      //	Value to identify key 2 of the keyboard
      //	 */
      //## begin Keyboard::KEY_2%3D9AA06F03AC.attr preserve=no  public: static int {UC} KEY2
      static const int KEY_2;
      //## end Keyboard::KEY_2%3D9AA06F03AC.attr

      //## Attribute: KEY_3%3D9AA0700064
      //	/**
      //	Value to identify key 3 of the keyboard
      //	 */
      //## begin Keyboard::KEY_3%3D9AA0700064.attr preserve=no  public: static int {UC} KEY3
      static const int KEY_3;
      //## end Keyboard::KEY_3%3D9AA0700064.attr

      //## Attribute: KEY_4%3D9AA070010E
      //	/**
      //	Value to identify key 4 of the keyboard
      //	 */
      //## begin Keyboard::KEY_4%3D9AA070010E.attr preserve=no  public: static int {UC} KEY4
      static const int KEY_4;
      //## end Keyboard::KEY_4%3D9AA070010E.attr

    // Additional Public Declarations
      //## begin Keyboard%3D86D4470262.public preserve=yes
      //## end Keyboard%3D86D4470262.public

  protected:
    // Additional Protected Declarations
      //## begin Keyboard%3D86D4470262.protected preserve=yes
      //## end Keyboard%3D86D4470262.protected

  private:
    // Additional Private Declarations
      //## begin Keyboard%3D86D4470262.private preserve=yes
      //## end Keyboard%3D86D4470262.private

  private: //## implementation
    // Additional Implementation Declarations
      //## begin Keyboard%3D86D4470262.implementation preserve=yes
      //## end Keyboard%3D86D4470262.implementation

};

//## begin Keyboard%3D86D4470262.postscript preserve=yes
//## end Keyboard%3D86D4470262.postscript

// Class Keyboard 

//## begin module%3D86D4470262.epilog preserve=yes
//## end module%3D86D4470262.epilog


#endif

