00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KEYBOARD_KEY_H_
00026 #define KEYBOARD_KEY_H_
00027
00028 namespace Lamp{
00029
00030
00031
00032
00033
00034 class KeyboardKey{
00035 friend class LampInput;
00036 public:
00037
00038 static const int maxKeyCount = 256;
00039
00040
00041
00042 enum Key{
00043 keyEscape = 0x01,
00044 key1 = 0x02,
00045 key2 = 0x03,
00046 key3 = 0x04,
00047 key4 = 0x05,
00048 key5 = 0x06,
00049 key6 = 0x07,
00050 key7 = 0x08,
00051 key8 = 0x09,
00052 key9 = 0x0a,
00053 key0 = 0x0b,
00054 keyMinus = 0x0c,
00055 keyEquals = 0x0d,
00056 keyBackspace = 0x0e,
00057 keyTab = 0x0f,
00058 keyQ = 0x10,
00059 keyW = 0x11,
00060 keyE = 0x12,
00061 keyR = 0x13,
00062 keyT = 0x14,
00063 keyY = 0x15,
00064 keyU = 0x16,
00065 keyI = 0x17,
00066 keyO = 0x18,
00067 keyP = 0x19,
00068 keyLeftBracket = 0x1a,
00069 keyRightBracket = 0x1b,
00070 keyEnter = 0x1c,
00071 keyLeftControl = 0x1d,
00072 keyA = 0x1e,
00073 keyS = 0x1f,
00074 keyD = 0x20,
00075 keyF = 0x21,
00076 keyG = 0x22,
00077 keyH = 0x23,
00078 keyJ = 0x24,
00079 keyK = 0x25,
00080 keyL = 0x26,
00081 keySemicolon = 0x27,
00082 keyApostrophe = 0x28,
00083 keyGrave = 0x29,
00084 keyLeftShift = 0x2a,
00085 keyBackslash = 0x2b,
00086 keyZ = 0x2c,
00087 keyX = 0x2d,
00088 keyC = 0x2e,
00089 keyV = 0x2f,
00090 keyB = 0x30,
00091 keyN = 0x31,
00092 keyM = 0x32,
00093 keyComma = 0x33,
00094 keyPeriod = 0x34,
00095 keySlash = 0x35,
00096 keyRightShift = 0x36,
00097 keyNumPadMultiply = 0x37,
00098 keyLeftAlt = 0x38,
00099 keySpace = 0x39,
00100 keyCapsLock = 0x3a,
00101 keyF1 = 0x3b,
00102 keyF2 = 0x3c,
00103 keyF3 = 0x3d,
00104 keyF4 = 0x3e,
00105 keyF5 = 0x3f,
00106 keyF6 = 0x40,
00107 keyF7 = 0x41,
00108 keyF8 = 0x42,
00109 keyF9 = 0x43,
00110 keyF10 = 0x44,
00111 keyNumLock = 0x45,
00112 keyScroll = 0x46,
00113 keyNumPad7 = 0x47,
00114 keyNumPad8 = 0x48,
00115 keyNumPad9 = 0x49,
00116 keyNumPadSubtract = 0x4a,
00117 keyNumPad4 = 0x4b,
00118 keyNumPad5 = 0x4c,
00119 keyNumPad6 = 0x4d,
00120 keyNumPadAdd = 0x4e,
00121 keyNumPad1 = 0x4f,
00122 keyNumPad2 = 0x50,
00123 keyNumPad3 = 0x51,
00124 keyNumPad0 = 0x52,
00125 keyNumPadDecimal = 0x53,
00126
00127 keyLeftBackslash = 0x56,
00128 keyF11 = 0x57,
00129 keyF12 = 0x58,
00130
00131 keyF13 = 0x64,
00132 keyF14 = 0x65,
00133 keyF15 = 0x66,
00134
00135 keyKana = 0x70,
00136
00137 keyAbntC1 = 0x73,
00138
00139 keyConvert = 0x79,
00140
00141 keyNoConvert = 0x7b,
00142
00143 keyYen = 0x7d,
00144 keyNumPadAbntC2 = 0x7e,
00145
00146 keyNumPadEquals98 = 0x8d,
00147
00148 keyPrevTrack = 0x90,
00149 keyAtmark = 0x91,
00150 keyColon = 0x92,
00151 keyUnderLine98 = 0x93,
00152 keyKanji = 0x94,
00153 keyStop98 = 0x95,
00154 keyAx = 0x96,
00155 keyUnlabeled = 0x97,
00156
00157 keyNextTrack = 0x99,
00158
00159 keyNumPadEnter = 0x9c,
00160 keyRightControl = 0x9d,
00161
00162 keyMute = 0xa0,
00163 keyCalculator = 0xa1,
00164 keyPlayPause = 0xa2,
00165
00166 keyMediaStop = 0xa4,
00167
00168 keyVolumeDown = 0xae,
00169
00170 keyVolumeUp = 0xb0,
00171
00172 keyWebHome = 0xb2,
00173 keyNumPadComma = 0xb3,
00174
00175 keyNumPadDivide = 0xb5,
00176
00177 keyPrintScreen = 0xb7,
00178 keyRightAlt = 0xb8,
00179
00180 keyPause = 0xc5,
00181
00182 keyHome = 0xc7,
00183 keyUp = 0xc8,
00184 keyPageUp = 0xc9,
00185
00186 keyLeft = 0xcb,
00187
00188 keyRight = 0xcd,
00189
00190 keyEnd = 0xcf,
00191 keyDown = 0xd0,
00192 keyPageDown = 0xd1,
00193 keyInsert = 0xd2,
00194 keyDelete = 0xd3,
00195
00196 keyLeftWin = 0xdb,
00197 keyRightWin = 0xdc,
00198 keyApps = 0xdd,
00199 keyPower = 0xde,
00200 keySleep = 0xdf,
00201
00202 keyWake = 0xe3,
00203
00204 keyWebSearch = 0xe5,
00205 keyWebFavorites = 0xe6,
00206 keyWebRefresh = 0xe7,
00207 keyWebStop = 0xe8,
00208 keyWebForward = 0xe9,
00209 keyWebBack = 0xea,
00210 keyMyComputer = 0xeb,
00211 keyMail = 0xec,
00212 keyMediaSelect = 0xed,
00213 };
00214
00215
00216
00217
00218
00219
00220
00221 virtual String keyToString(Key key) const{
00222 Assert((key >= 0) && (key < maxKeyCount));
00223 return keyName_[key];
00224 }
00225
00226
00227
00228
00229
00230 KeyboardKey(){}
00231
00232
00233
00234
00235 virtual ~KeyboardKey(){}
00236
00237
00238 private:
00239
00240
00241
00242 static void initializeKeyString();
00243
00244
00245 static String keyName_[maxKeyCount];
00246
00247 static bool initialized_;
00248
00249 };
00250
00251
00252 }
00253 #endif // End of KEYBOARD_KEY_H_
00254
00255