home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / AutoPC / apcsdk10.exe / data1.cab / Emulation_Include_Files / keybd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-13  |  3.3 KB  |  117 lines

  1. //      Copyright (c) 1995 Microsoft Corporation
  2.  
  3. #ifndef __KEYBD_H__
  4. #define __KEYBD_H__
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10.  
  11. typedef UINT32  KEY_STATE_FLAGS;
  12.  
  13. #define KeyStateToggledFlag            0x0001    //    Key is toggled.
  14. #define KeyStateGetAsyncDownFlag    0x0002    //    Key went down since last GetAsyncKey call.
  15. #define KeyStateReserved4            0x0004
  16. #define KeyStateReserved8            0x0008
  17. #define KeyStateReserved10            0x0010
  18. #define KeyStateReserved20            0x0020
  19. #define KeyStatePrevDownFlag        0x0040    //    Key was previously down.
  20. #define KeyStateDownFlag            0x0080    //    Key is currently down.
  21.  
  22. #define KeyStateKeyEventFlag        0x80000000    //    Internal
  23. #define KeyShiftAnyCtrlFlag            0x40000000  //  L or R control is down.
  24. #define KeyShiftAnyShiftFlag        0x20000000  //  L or R shift is down.
  25. #define KeyShiftAnyAltFlag            0x10000000  //  L or R alt is down.
  26. #define KeyShiftCapitalFlag            0x08000000  //  VK_CAPITAL is toggled.
  27. #define KeyShiftLeftCtrlFlag        0x04000000  //  L control is down.
  28. #define KeyShiftLeftShiftFlag        0x02000000  //  L shift is down.
  29. #define KeyShiftLeftAltFlag            0x01000000  //  L alt is down.
  30. #define KeyShiftLeftWinFlag            0x00800000  //  L Win key is down.
  31. #define KeyShiftRightCtrlFlag        0x00400000  //  R control is down.
  32. #define KeyShiftRightShiftFlag        0x00200000  //  R shift is down.
  33. #define KeyShiftRightAltFlag        0x00100000  //  R alt is down.
  34. #define KeyShiftRightWinFlag        0x00080000  //  R Win key is down.
  35. #define KeyShiftReserved40000        0x00040000  //  Reserved.
  36. #define KeyShiftDeadFlag            0x00020000  //  Corresponding char is dead char.
  37. #define KeyShiftNoCharacterFlag        0x00010000  //  No corresponding char.
  38.  
  39. #define    KeyShiftLanguageFlag1        0x00008000  //  Use for language specific shifts.
  40. #define KeyShiftKeybdEventFlag        0x00004000    //    Not for external use.
  41.  
  42. #define KeyShiftUseVKNullFlag        0x00002000  //  Not for external use.
  43. #define KeyShiftReserved1000        0x00001000  //  Reserved.
  44. #define KeyShiftReserved800            0x00000800  //  Reserved.
  45. #define KeyShiftReserved400            0x00000400  //  Reserved.
  46. #define KeyShiftReserved200            0x00000200  //  Reserved.
  47. #define KeyShiftReserved100            0x00000100  //  Reserved.
  48.  
  49. // Japanese keyboard
  50. #define    KeyShiftKanaFlag            KeyShiftLanguageFlag1  //  Kana lock is toggled.
  51.  
  52.  
  53. #define KeyStateIsDown(Flags)           (Flags&KeyStateDownFlag)
  54. #define KeyStateIsPrevDown(Flags)       (Flags&KeyStatePrevDownFlag)
  55. #define KeyStateIsToggled(Flags)        (Flags&KeyStateToggledFlag)
  56. #define KeyStateIsDownTransition(Flags) ( KeyStateIsDown(Flags) && !KeyStateIsPrevDown(Flags) )
  57.  
  58.  
  59. #define COUNT_VKEYS     256
  60.  
  61.  
  62. typedef UINT8   KEY_STATE[COUNT_VKEYS];
  63.  
  64.  
  65.  
  66.  
  67. //
  68. // KeyboardDriverGetDeviceInfo query capability definitions
  69. //
  70.  
  71. #define KBDI_VKEY_TO_UNICODE_INFO_ID    0
  72.  
  73.  
  74. struct KBDI_VKEY_TO_UNICODE_INFO
  75.     {
  76.     UINT32  cbToUnicodeState;
  77.     UINT32  cMaxToUnicodeCharacters;
  78.     };
  79.  
  80.  
  81. #define KBDI_AUTOREPEAT_INFO_ID    1
  82.  
  83.  
  84.  
  85. struct KBDI_AUTOREPEAT_INFO
  86.     {
  87.     INT32    CurrentInitialDelay;
  88.     INT32    CurrentRepeatRate;
  89.     INT32    cInitialDelaysSelectable;
  90.     INT32    cRepeatRatesSelectable;
  91.     };
  92.  
  93.  
  94. #define KBDI_AUTOREPEAT_SELECTIONS_INFO_ID    2
  95.  
  96. // INTERNATIONAL
  97. #define KBDI_KEYBOARD_STATUS_ID 3
  98.  
  99.  
  100. #define KBDI_KEYBOARD_PRESENT    0x0001    
  101. #define KBDI_KEYBOARD_ENABLED    0x0002
  102. #define KBDI_KEYBOARD_ENTER_ESC    0x0004
  103. #define KBDI_KEYBOARD_ALPHA_NUM    0x0008
  104.  
  105.  
  106. // INTERNATIONAL
  107.  
  108. #ifdef __cplusplus
  109. }
  110. #endif
  111.  
  112.  
  113.  
  114. #endif
  115.  
  116.  
  117.