126{
127 unsigned int keyCode = 0x00;
128
129
130
131 if (strlen(key) == 1) keyCode = key[0];
132
133 else if (!_stricmp(key, "Space") || !_stricmp(key, "Spacebar")) keyCode = VK_SPACE;
134
135 else if (!_stricmp(key, "Plus")) keyCode = VK_OEM_PLUS;
136 else if (!_stricmp(key, "Comma")) keyCode = VK_OEM_COMMA;
137 else if (!_stricmp(key, "Minus")) keyCode = VK_OEM_MINUS;
138 else if (!_stricmp(key, "Period")) keyCode = VK_OEM_PERIOD;
139
140 else if (!_stricmp(key, "OEM1")) keyCode = VK_OEM_1;
141 else if (!_stricmp(key, "OEM2")) keyCode = VK_OEM_2;
142 else if (!_stricmp(key, "OEM3")) keyCode = VK_OEM_3;
143 else if (!_stricmp(key, "OEM4")) keyCode = VK_OEM_4;
144 else if (!_stricmp(key, "OEM5")) keyCode = VK_OEM_5;
145 else if (!_stricmp(key, "OEM6")) keyCode = VK_OEM_6;
146 else if (!_stricmp(key, "OEM7")) keyCode = VK_OEM_7;
147 else if (!_stricmp(key, "OEM8")) keyCode = VK_OEM_8;
148 else if (!_stricmp(key, "OEM102")) keyCode = VK_OEM_102;
149
150 else if (!_stricmp(key, "Enter")) keyCode = VK_RETURN;
151 else if (!_stricmp(key, "Num0")) keyCode = VK_NUMPAD0;
152 else if (!_stricmp(key, "Num1")) keyCode = VK_NUMPAD1;
153 else if (!_stricmp(key, "Num2")) keyCode = VK_NUMPAD2;
154 else if (!_stricmp(key, "Num3")) keyCode = VK_NUMPAD3;
155 else if (!_stricmp(key, "Num4")) keyCode = VK_NUMPAD4;
156 else if (!_stricmp(key, "Num5")) keyCode = VK_NUMPAD5;
157 else if (!_stricmp(key, "Num6")) keyCode = VK_NUMPAD6;
158 else if (!_stricmp(key, "Num7")) keyCode = VK_NUMPAD7;
159 else if (!_stricmp(key, "Num8")) keyCode = VK_NUMPAD8;
160 else if (!_stricmp(key, "Num9")) keyCode = VK_NUMPAD9;
161 else if (!_stricmp(key, "Mul")) keyCode = VK_MULTIPLY;
162 else if (!_stricmp(key, "Div")) keyCode = VK_DIVIDE;
163 else if (!_stricmp(key, "Add")) keyCode = VK_ADD;
164 else if (!_stricmp(key, "Sub")) keyCode = VK_SUBTRACT;
165 else if (!_stricmp(key, "Dec")) keyCode = VK_DECIMAL;
166
167 else if (!_stricmp(key, "F1")) keyCode = VK_F1;
168 else if (!_stricmp(key, "F2")) keyCode = VK_F2;
169 else if (!_stricmp(key, "F3")) keyCode = VK_F3;
170 else if (!_stricmp(key, "F4")) keyCode = VK_F4;
171 else if (!_stricmp(key, "F5")) keyCode = VK_F5;
172 else if (!_stricmp(key, "F6")) keyCode = VK_F6;
173 else if (!_stricmp(key, "F7")) keyCode = VK_F7;
174 else if (!_stricmp(key, "F8")) keyCode = VK_F8;
175 else if (!_stricmp(key, "F9")) keyCode = VK_F9;
176 else if (!_stricmp(key, "F10")) keyCode = VK_F10;
177 else if (!_stricmp(key, "F11")) keyCode = VK_F11;
178 else if (!_stricmp(key, "F12")) keyCode = VK_F12;
179 else if (!_stricmp(key, "F13")) keyCode = VK_F13;
180 else if (!_stricmp(key, "F14")) keyCode = VK_F14;
181 else if (!_stricmp(key, "F15")) keyCode = VK_F15;
182 else if (!_stricmp(key, "F16")) keyCode = VK_F16;
183 else if (!_stricmp(key, "F17")) keyCode = VK_F17;
184 else if (!_stricmp(key, "F18")) keyCode = VK_F18;
185 else if (!_stricmp(key, "F19")) keyCode = VK_F19;
186 else if (!_stricmp(key, "F20")) keyCode = VK_F20;
187 else if (!_stricmp(key, "F21")) keyCode = VK_F21;
188 else if (!_stricmp(key, "F22")) keyCode = VK_F22;
189 else if (!_stricmp(key, "F23")) keyCode = VK_F23;
190 else if (!_stricmp(key, "F24")) keyCode = VK_F24;
191
192 else if (!_stricmp(key, "Left")) keyCode = VK_LEFT;
193 else if (!_stricmp(key, "Right")) keyCode = VK_RIGHT;
194 else if (!_stricmp(key, "Down")) keyCode = VK_DOWN;
195 else if (!_stricmp(key, "Up")) keyCode = VK_UP;
196
197 else if (!_stricmp(key, "Insert")) keyCode = VK_INSERT;
198 else if (!_stricmp(key, "Delete")) keyCode = VK_DELETE;
199 else if (!_stricmp(key, "Home")) keyCode = VK_HOME;
200 else if (!_stricmp(key, "End")) keyCode = VK_END;
201 else if (!_stricmp(key, "PageUp")) keyCode = VK_PRIOR;
202 else if (!_stricmp(key, "PageDown")) keyCode = VK_NEXT;
203
204 else if (!_stricmp(key, "PrtScn")) keyCode = VK_SNAPSHOT;
205 else if (!_stricmp(key, "Pause")) keyCode = VK_PAUSE;
206 else if (!_stricmp(key, "Esc") || !_stricmp(key, "Escape")) keyCode = VK_ESCAPE;
207 else if (!_stricmp(key, "Tab")) keyCode = VK_TAB;
208 else if (!_stricmp(key, "Backspace")) keyCode = VK_BACK;
209 else if (!_stricmp(key, "Apps") || !_stricmp(key, "Menu")) keyCode = VK_APPS;
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253 else return false;
254
255
256
258
264 hotkey->
mods |= MOD_NOREPEAT;
265
266 hotkey->
key = keyCode;
267 hotkey->
cmd = _strdup(cmd);
268 hotkey->
args = _strdup(args);
270
271
272 char atomname[64];
273 sprintf(atomname, "BBHotkey%d", id);
274 hotkey->
ID = GlobalAddAtom(atomname);
276 {
277
278 delete hotkey;
279
280 if (reportErrors)
281 {
282 char msg[256];
283 sprintf(msg, "Error adding atom for hotkey %s %s !", mods, key);
285 }
286 return false;
287 }
288
289
290
291
293 {
294
295 GlobalDeleteAtom(hotkey->
ID);
296 delete hotkey;
297
298 if (reportErrors)
299 {
300 char msg[256];
301 sprintf(msg, "Error registering hotkey %s %s !", mods, key);
303 }
304
305 return false;
306 }
307 else
308 {
309
310 id++;
312
313 return true;
314 }
315}
bool IsInString(LPCSTR inputString, LPCSTR searchString)
Definition BBApi.cpp:2519
#define CONSOLE_ERROR_MESSAGE
Definition BBApi.h:300
struct hotkeyItem hotkeyItem
unsigned int key
Definition Hotkeys.h:42
LPSTR cmd
Definition Hotkeys.h:43
DWORD mods
Definition Hotkeys.h:41
unsigned short ID
Definition Hotkeys.h:40
LPSTR keyAsString
Definition Hotkeys.h:45
LPSTR args
Definition Hotkeys.h:44