1 /* 2 * Copyright 2011-2012 Arx Libertatis Team (see the AUTHORS file) 3 * 4 * This file is part of Arx Libertatis. 5 * 6 * Arx Libertatis is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * Arx Libertatis is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with Arx Libertatis. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef ARX_INPUT_KEYBOARD_H 21 #define ARX_INPUT_KEYBOARD_H 22 23 class Keyboard { 24 25 public: 26 27 //! Key enumeration. 28 enum Key { 29 30 KeyBase = 0, 31 32 Key_0 = KeyBase, 33 Key_1, 34 Key_2, 35 Key_3, 36 Key_4, 37 Key_5, 38 Key_6, 39 Key_7, 40 Key_8, 41 Key_9, 42 43 Key_A, 44 Key_B, 45 Key_C, 46 Key_D, 47 Key_E, 48 Key_F, 49 Key_G, 50 Key_H, 51 Key_I, 52 Key_J, 53 Key_K, 54 Key_L, 55 Key_M, 56 Key_N, 57 Key_O, 58 Key_P, 59 Key_Q, 60 Key_R, 61 Key_S, 62 Key_T, 63 Key_U, 64 Key_V, 65 Key_W, 66 Key_X, 67 Key_Y, 68 Key_Z, 69 70 Key_F1, 71 Key_F2, 72 Key_F3, 73 Key_F4, 74 Key_F5, 75 Key_F6, 76 Key_F7, 77 Key_F8, 78 Key_F9, 79 Key_F10, 80 Key_F11, 81 Key_F12, 82 Key_F13, 83 Key_F14, 84 Key_F15, 85 86 Key_UpArrow, 87 Key_DownArrow, 88 Key_LeftArrow, 89 Key_RightArrow, 90 91 Key_Home, 92 Key_End, 93 Key_PageUp, 94 Key_PageDown, 95 Key_Insert, 96 Key_Delete, 97 98 Key_Escape, 99 100 Key_NumLock, 101 Key_NumPad0, 102 Key_NumPad1, 103 Key_NumPad2, 104 Key_NumPad3, 105 Key_NumPad4, 106 Key_NumPad5, 107 Key_NumPad6, 108 Key_NumPad7, 109 Key_NumPad8, 110 Key_NumPad9, 111 Key_NumPadEnter, 112 Key_NumSubtract, // (-) on numeric keypad 113 Key_NumAdd, // (+) on numeric keypad 114 Key_NumMultiply, // (*) on numeric keypad 115 Key_NumDivide, // (/) on numeric keypad 116 Key_NumPoint, // PERIOD (decimal point) on numeric keypad 117 118 Key_LeftBracket, // Left square bracket [ 119 Key_LeftCtrl, // Left CTRL 120 Key_LeftAlt, // Left ALT 121 Key_LeftShift, // Left SHIFT 122 Key_LeftWin, // Left Windows logo key 123 124 Key_RightBracket, // Right square bracket ] 125 Key_RightCtrl, // Right CTRL 126 Key_RightAlt, // Right ALT 127 Key_RightShift, // Right SHIFT 128 Key_RightWin, // Right Windows logo key 129 130 Key_PrintScreen, 131 Key_ScrollLock, 132 Key_Pause, 133 134 Key_Spacebar, 135 Key_Backspace, 136 Key_Enter, // ENTER on main keyboard 137 Key_Tab, 138 139 Key_Apps, // Application key 140 Key_CapsLock, 141 142 Key_Slash, // (/) On main keyboard 143 Key_Backslash, // (\) 144 Key_Comma, // (,) 145 Key_Semicolon, // (;) 146 Key_Period, // (.) On main keyboard 147 Key_Grave, // (`) Grave accent 148 Key_Apostrophe, // (') 149 Key_Minus, // (-) On main keyboard 150 Key_Equals, // (=) On main keyboard 151 152 KeyMax, 153 KeyCount = KeyMax - KeyBase 154 }; 155 }; 156 157 #endif // ARX_INPUT_KEYBOARD_H 158