Platform_Input_KeyboardDevice.h
Go to the documentation of this file.00001 00016 #ifndef __Platform_Input_KeyboardDevice_H__ 00017 #define __Platform_Input_KeyboardDevice_H__ 00018 00019 // Includes 00020 00021 // Forward declares 00022 00023 // Platform_Input_KeyboardDevice 00024 class Platform_Input_KeyboardDevice 00025 { 00026 public: 00030 virtual ~Platform_Input_KeyboardDevice() { }; 00031 00032 00033 // Forward declare 00034 enum KeyCode; 00035 00036 00043 virtual bool IsKeyDown( 00044 KeyCode keyCode 00045 ) const = 0; 00046 00047 00058 virtual bool IsCharDown( 00059 char ascii 00060 ) const = 0; 00061 00062 00063 virtual void ClearBufferedCharacters() const = 0; 00064 00065 virtual int GetBufferedCharacterCount() const = 0; 00066 00067 virtual char GetBufferedCharacter( 00068 int index 00069 ) const = 0; 00070 00078 enum KeyCode 00079 { 00080 KEY_INVALID = 0x00, 00081 00082 // 01-02 Undefined 00083 00084 KEY_CANCEL = 0x03, 00085 00086 // 05-07 Undefined 00087 00088 KEY_BACK = 0x08, 00089 KEY_TAB = 0x09, 00090 00091 // 0A-0B Undefined 00092 00093 KEY_CLEAR = 0x0C, 00094 KEY_RETURN = 0x0D, 00095 00096 // 0E-0F Undefined 00097 00098 KEY_SHIFT = 0x10, 00099 KEY_CONTROL = 0x11, 00100 KEY_MENU = 0x12, 00101 KEY_CAPITAL = 0x14, 00102 00103 // 15-19 Reserved for Kanji systems 00104 // 1A Undefined 00105 00106 KEY_ESCAPE = 0x1B, 00107 00108 // 1C-1F Reserved for Kanji systems 00109 00110 KEY_SPACE = 0x20, 00111 KEY_PRIOR = 0x21, 00112 KEY_NEXT = 0x22, 00113 KEY_END = 0x23, 00114 KEY_HOME = 0x24, 00115 KEY_LEFT = 0x25, 00116 KEY_UP = 0x26, 00117 KEY_RIGHT = 0x27, 00118 KEY_DOWN = 0x28, 00119 KEY_SELECT = 0x29, 00120 00121 // 2A Original equipment manufacturer (OEM) specific 00122 00123 KEY_EXEC = 0x2B, 00124 KEY_SNAPSHOT= 0x2C, 00125 KEY_HELP = 0x2F, 00126 KEY_0 = 0x30, 00127 KEY_1 = 0x31, 00128 KEY_2 = 0x32, 00129 KEY_3 = 0x33, 00130 KEY_4 = 0x34, 00131 KEY_5 = 0x35, 00132 KEY_6 = 0x36, 00133 KEY_7 = 0x37, 00134 KEY_8 = 0x38, 00135 KEY_9 = 0x39, 00136 00137 // 3A-40 Undefined 00138 00139 KEY_A = 0x41, 00140 KEY_B = 0x42, 00141 KEY_C = 0x43, 00142 KEY_D = 0x44, 00143 KEY_E = 0x45, 00144 KEY_F = 0x46, 00145 KEY_G = 0x47, 00146 KEY_H = 0x48, 00147 KEY_I = 0x49, 00148 KEY_J = 0x4A, 00149 KEY_K = 0x4B, 00150 KEY_L = 0x4C, 00151 KEY_M = 0x4D, 00152 KEY_N = 0x4E, 00153 KEY_O = 0x4F, 00154 KEY_P = 0x50, 00155 KEY_Q = 0x51, 00156 KEY_R = 0x52, 00157 KEY_S = 0x53, 00158 KEY_T = 0x54, 00159 KEY_U = 0x55, 00160 KEY_V = 0x56, 00161 KEY_W = 0x57, 00162 KEY_X = 0x58, 00163 KEY_Y = 0x59, 00164 KEY_Z = 0x5A, 00165 00166 // 5B-5F Undefined 00167 00168 KEY_LWIN = 0x5B, 00169 KEY_RWIN = 0x5C, 00170 KEY_APPS = 0x5D, 00171 00172 KEY_NUMPAD0 = 0x60, 00173 KEY_NUMPAD1 = 0x61, 00174 KEY_NUMPAD2 = 0x62, 00175 KEY_NUMPAD3 = 0x63, 00176 KEY_NUMPAD4 = 0x64, 00177 KEY_NUMPAD5 = 0x65, 00178 KEY_NUMPAD6 = 0x66, 00179 KEY_NUMPAD7 = 0x67, 00180 KEY_NUMPAD8 = 0x68, 00181 KEY_NUMPAD9 = 0x69, 00182 KEY_MULTIPLY= 0x6A, 00183 KEY_ADD = 0x6B, 00184 KEY_SEPARATOR=0x6C, 00185 KEY_SUBTRACT= 0x6D, 00186 KEY_DECIMAL = 0x6E, 00187 KEY_DIVIDE = 0x6F, 00188 00189 KEY_F1 = 0x70, 00190 KEY_F2 = 0x71, 00191 KEY_F3 = 0x72, 00192 KEY_F4 = 0x73, 00193 KEY_F5 = 0x74, 00194 KEY_F6 = 0x75, 00195 KEY_F7 = 0x76, 00196 KEY_F8 = 0x77, 00197 KEY_F9 = 0x78, 00198 KEY_F10 = 0x79, 00199 KEY_F11 = 0x7A, 00200 KEY_F12 = 0x7B, 00201 00202 // 88-8F Unassigned 00203 // 92-B9 Unassigned 00204 00205 KEY_LSHIFT = 0xA0, 00206 KEY_RSHIFT = 0xA1, 00207 KEY_LCONTROL= 0xA2, 00208 KEY_RCONTROL= 0xA3, 00209 KEY_LMENU = 0xA4, 00210 KEY_RMENU = 0xA5, 00211 00212 // BA-C0 OEM-specific 00213 // C1-DA Unassigned 00214 // DB-E4 OEM-specific 00215 // E5 Unassigned 00216 // E6 OEM-specific 00217 // E7-E8 Unassigned 00218 // E9-F5 OEM-specific 00219 00220 KEY_ATTN = 0xF6, 00221 KEY_CRSEL = 0xF7, 00222 KEY_EXSEL = 0xF8, 00223 KEY_EREOF = 0xF9, 00224 KEY_PLAY = 0xFA, 00225 KEY_ZOOM = 0xFB, 00226 KEY_NONAME = 0xFC, 00227 KEY_PA1 = 0xFD, 00228 00229 // FE OEM-clear 00230 00231 KEYCODE_COUNT = 0xFF 00232 }; 00233 }; 00234 00235 #endif /* __Platform_Input_KeyboardDevice_H__ */
Reproduction/republishing of any material on this site without permission is strictly prohibited.
