hkKeyboard.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:5k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /* 
  2.  * 
  3.  * Confidential Information of Telekinesys Research Limited (t/a Havok). Not for disclosure or distribution without Havok's
  4.  * prior written consent. This software contains code, techniques and know-how which is confidential and proprietary to Havok.
  5.  * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2009 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
  6.  * 
  7.  */
  8. #ifndef HK_VISUALIZE_VIRTUAL_KEYBOARD
  9. #define HK_VISUALIZE_VIRTUAL_KEYBOARD
  10. enum hkKeyboardCommand // for serialization
  11. {
  12. HK_VIRTUAL_KEYBOARD_DUMP = 0xA0
  13. };
  14. typedef unsigned char HK_KEYBOARD_VKEY;
  15. #define HK_VKEY_BACK           0x08
  16. #define HK_VKEY_TAB            0x09
  17. #define HK_VKEY_RETURN         0x0D
  18. #define HK_VKEY_SHIFT          0x10
  19. #define HK_VKEY_CONTROL        0x11
  20. #define HK_VKEY_CAPITAL        0x14
  21. #define HK_VKEY_ESCAPE         0x1B
  22. #define HK_VKEY_SPACE          0x20
  23. #define HK_VKEY_END            0x23
  24. #define HK_VKEY_HOME           0x24
  25. #define HK_VKEY_LEFT           0x25
  26. #define HK_VKEY_UP             0x26
  27. #define HK_VKEY_RIGHT          0x27
  28. #define HK_VKEY_DOWN           0x28
  29. #define HK_VKEY_INSERT         0x2D
  30. #define HK_VKEY_DELETE         0x2E
  31. /* HK_VKEY_0 thru HK_VKEY_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
  32. /* HK_VKEY_A thru HK_VKEY_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
  33. #define HK_VKEY_LWIN           0x5B
  34. #define HK_VKEY_RWIN           0x5C
  35. #define HK_VKEY_APPS           0x5D
  36. #define HK_VKEY_NUMPAD0        0x60
  37. #define HK_VKEY_NUMPAD1        0x61
  38. #define HK_VKEY_NUMPAD2        0x62
  39. #define HK_VKEY_NUMPAD3        0x63
  40. #define HK_VKEY_NUMPAD4        0x64
  41. #define HK_VKEY_NUMPAD5        0x65
  42. #define HK_VKEY_NUMPAD6        0x66
  43. #define HK_VKEY_NUMPAD7        0x67
  44. #define HK_VKEY_NUMPAD8        0x68
  45. #define HK_VKEY_NUMPAD9        0x69
  46. #define HK_VKEY_MULTIPLY       0x6A
  47. #define HK_VKEY_ADD            0x6B
  48. #define HK_VKEY_SEPARATOR      0x6C
  49. #define HK_VKEY_SUBTRACT       0x6D
  50. #define HK_VKEY_DECIMAL        0x6E
  51. #define HK_VKEY_DIVIDE         0x6F
  52. #define HK_VKEY_F1             0x70
  53. #define HK_VKEY_F2             0x71
  54. #define HK_VKEY_F3             0x72
  55. #define HK_VKEY_F4             0x73
  56. #define HK_VKEY_F5             0x74
  57. #define HK_VKEY_F6             0x75
  58. #define HK_VKEY_F7             0x76
  59. #define HK_VKEY_F8             0x77
  60. #define HK_VKEY_F9             0x78
  61. #define HK_VKEY_F10            0x79
  62. #define HK_VKEY_F11            0x7A
  63. #define HK_VKEY_F12            0x7B
  64. #define HK_VKEY_F13            0x7C
  65. #define HK_VKEY_F14            0x7D
  66. #define HK_VKEY_F15            0x7E
  67. #define HK_VKEY_F16            0x7F
  68. #define HK_VKEY_F17            0x80
  69. #define HK_VKEY_F18            0x81
  70. #define HK_VKEY_F19            0x82
  71. #define HK_VKEY_F20            0x83
  72. #define HK_VKEY_F21            0x84
  73. #define HK_VKEY_F22            0x85
  74. #define HK_VKEY_F23            0x86
  75. #define HK_VKEY_F24            0x87
  76. #define HK_VKEY_NUMLOCK        0x90
  77. #define HK_VKEY_SCROLL         0x91
  78. #define HK_VKEY_LSHIFT         0xA0
  79. #define HK_VKEY_RSHIFT         0xA1
  80. #define HK_VKEY_LCONTROL       0xA2
  81. #define HK_VKEY_RCONTROL       0xA3
  82. #define HK_VKEY_LMENU          0xA4
  83. #define HK_VKEY_RMENU          0xA5
  84. #define HK_KEYBOARD_NUM_VKEYS  0xFF // 255 possible virtual key values
  85. #define HK_KEYBOARD_NUM_CHARS  0xFF // 255 possible char values 
  86. /// A simple keyboard state wrapper for the visual debugger
  87. struct hkKeyboard
  88. {
  89. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_TOOLS, hkKeyboard );
  90. hkBool m_curVKeyState[HK_KEYBOARD_NUM_VKEYS];
  91. hkBool m_curCKeyState[HK_KEYBOARD_NUM_CHARS];
  92. hkBool m_prevVKeyState[HK_KEYBOARD_NUM_VKEYS];
  93. hkBool m_prevCKeyState[HK_KEYBOARD_NUM_CHARS];
  94. hkBool m_valid;
  95. };
  96. #endif // HK_VISUALIZE_VIRTUAL_KEYBOARD
  97. /*
  98. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  99. * Confidential Information of Havok.  (C) Copyright 1999-2009
  100. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  101. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  102. * rights, and intellectual property rights in the Havok software remain in
  103. * Havok and/or its suppliers.
  104. * Use of this software for evaluation purposes is subject to and indicates
  105. * acceptance of the End User licence Agreement for this product. A copy of
  106. * the license is included with this software and is also available at www.havok.com/tryhavok.
  107. */