bool dxKeyState( int iScanCode );
    Intention:  return true if the specified key is pressed, else return false

int dxScanCode( void );
    Intention:  return the scancode of currently pressed key

int dxKeyPressed( void );
    Intention:  return the scancode if a key is pressed and released

bool dxUpKey( void );
bool dxDownKey( void );
bool dxLeftKey( void );
bool dxRightKey( void );
bool dxLeftControlKey( void );
bool dxLeftShiftKey( void );
bool dxLeftAltKey( void );
bool dxRightControlKey( void );
bool dxRightShiftKey( void );
bool dxRightAltKey( void );
bool dxReturnKey( void );
bool dxEscapeKey( void );
bool dxSpaceKey( void );
    Intention:  return true if the specified key is pressed

void dxShowMouse( bool bShow );
    Intention:  show or hide the mouse pointer on screen

void dxChangeMouse( int iCursor );
    Intention:  change the cursor of the mouse pointer
    Remark:     iCursor = 0, 1, 2, 3 for arrow, hourglass, appstarting, hand.
                Others should be readily available from resource

void dxPositionMouse( int iX, int iY );
    Intention:  change the position of the mouse pointer

int dxMouseX( void );
int dxMouseY( void );
int dxMouseZ( void );
int dxMouseMoveX( void );
int dxMouseMoveY( void );
int dxMouseMoveZ( void );
    Intention:  get the current/relative X/Y/Z value of the mouse pointer

int dxMouseClick( void );
    Intention:  return the value of mouse button if pressed (1=left,2=right,3=middle)

int dxMouseClicked( void );
    Intention:  return the clicked mouse button if it is pressed and released

int dxWaitKeyDown( void );
int dxWaitKeyUp( void );
int dxWaitMouseDown( void );
int dxWaitMouseUp( void );
    Intention:  pause the program until a key/mouse is pressed down (or released up)
    Return:     pressed key/mouse
