#ifndef __OOL_XKEYBEVENT_H__
#define __OOL_XKEYBEVENT_H__

/*===========================================================================*/
/* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
/*===========================================================================*/
/*                              class: XKeyboardEvent                        */
/*                       derived from: XEvent                                */
/*                        last update: 12/96                                 */
/*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
/*===========================================================================*/

#include "xevent.h"

#ifdef OOL_FOR_OS2X86
	#define XKC_KEYUP	KC_KEYUP
	#define XKC_PREVDOWN	KC_PREVDOWN
	#define XKC_LONEKEY	KC_LONEKEY
	#define XKC_SHIFT	KC_SHIFT
	#define XKC_ALT	KC_ALT
	#define XKC_CTRL	KC_CTRL
#endif


class _export_ XKeyboardEvent: public XEvent
{
      friend MRESULT HandleDefault( XWindow * w, ULONG msg, MPARAM mp1, MPARAM mp2, BOOL& handled);
   private:
      SHORT virtualKey;
      SHORT scanCode;
      XKeyboardEvent( SHORT key, SHORT vKey, SHORT scan): XEvent( key ) { virtualKey = vKey; scanCode = scan;}
   public:
      SHORT GetVirtualKey( void ) { return virtualKey; }
      SHORT GetScanCode(void) {return scanCode;}
};


#endif
