@@ -196,6 +196,8 @@ namespace RuntimePatches {
196
196
197
197
namespace VirtualKeys {
198
198
constexpr Input::Keys::InputKey VirtualKeyToInputKey (uint32_t key_id);
199
+
200
+ constexpr uint32_t InputKeyToVirtualKey (Input::Keys::InputKey input_key);
199
201
}
200
202
}
201
203
@@ -303,4 +305,107 @@ constexpr Input::Keys::InputKey RuntimePatches::VirtualKeys::VirtualKeyToInputKe
303
305
}
304
306
}
305
307
308
+ constexpr uint32_t RuntimePatches::VirtualKeys::InputKeyToVirtualKey (Input::Keys::InputKey input_key) {
309
+ switch (input_key) {
310
+ #if defined(USE_MOUSE) && defined(SUPPORT_MOUSE)
311
+ case Input::Keys::MOUSE_LEFT: return 0x1 ;
312
+ case Input::Keys::MOUSE_RIGHT: return 0x2 ;
313
+ case Input::Keys::MOUSE_MIDDLE: return 0x4 ;
314
+ case Input::Keys::MOUSE_XBUTTON1: return 0x5 ;
315
+ case Input::Keys::MOUSE_XBUTTON2: return 0x6 ;
316
+ #endif
317
+ case Input::Keys::BACKSPACE: return 0x8 ;
318
+ case Input::Keys::TAB: return 0x9 ;
319
+ case Input::Keys::RETURN: return 0xD ;
320
+ case Input::Keys::SHIFT: return 0x10 ;
321
+ case Input::Keys::CTRL: return 0x11 ;
322
+ case Input::Keys::ALT: return 0x12 ;
323
+ case Input::Keys::PAUSE: return 0x13 ;
324
+ case Input::Keys::CAPS_LOCK: return 0x14 ;
325
+ case Input::Keys::ESCAPE: return 0x1B ;
326
+ case Input::Keys::SPACE: return 0x20 ;
327
+ case Input::Keys::PGUP: return 0x21 ;
328
+ case Input::Keys::PGDN: return 0x22 ;
329
+ case Input::Keys::ENDS: return 0x23 ;
330
+ case Input::Keys::HOME: return 0x24 ;
331
+ case Input::Keys::LEFT: return 0x25 ;
332
+ case Input::Keys::UP: return 0x26 ;
333
+ case Input::Keys::RIGHT: return 0x27 ;
334
+ case Input::Keys::DOWN: return 0x28 ;
335
+ case Input::Keys::INSERT: return 0x2D ;
336
+ case Input::Keys::DEL: return 0x2E ;
337
+ case Input::Keys::N0: return 0x30 ;
338
+ case Input::Keys::N1: return 0x31 ;
339
+ case Input::Keys::N2: return 0x32 ;
340
+ case Input::Keys::N3: return 0x33 ;
341
+ case Input::Keys::N4: return 0x34 ;
342
+ case Input::Keys::N5: return 0x35 ;
343
+ case Input::Keys::N6: return 0x36 ;
344
+ case Input::Keys::N7: return 0x37 ;
345
+ case Input::Keys::N8: return 0x38 ;
346
+ case Input::Keys::N9: return 0x39 ;
347
+ case Input::Keys::A: return 0x41 ;
348
+ case Input::Keys::B: return 0x42 ;
349
+ case Input::Keys::C: return 0x43 ;
350
+ case Input::Keys::D: return 0x44 ;
351
+ case Input::Keys::E: return 0x45 ;
352
+ case Input::Keys::F: return 0x46 ;
353
+ case Input::Keys::G: return 0x47 ;
354
+ case Input::Keys::H: return 0x48 ;
355
+ case Input::Keys::I: return 0x49 ;
356
+ case Input::Keys::J: return 0x4A ;
357
+ case Input::Keys::K: return 0x4B ;
358
+ case Input::Keys::L: return 0x4C ;
359
+ case Input::Keys::M: return 0x4D ;
360
+ case Input::Keys::N: return 0x4E ;
361
+ case Input::Keys::O: return 0x4F ;
362
+ case Input::Keys::P: return 0x50 ;
363
+ case Input::Keys::Q: return 0x51 ;
364
+ case Input::Keys::R: return 0x52 ;
365
+ case Input::Keys::S: return 0x53 ;
366
+ case Input::Keys::T: return 0x54 ;
367
+ case Input::Keys::U: return 0x55 ;
368
+ case Input::Keys::V: return 0x56 ;
369
+ case Input::Keys::W: return 0x57 ;
370
+ case Input::Keys::X: return 0x58 ;
371
+ case Input::Keys::Y: return 0x59 ;
372
+ case Input::Keys::Z: return 0x5A ;
373
+ case Input::Keys::KP0: return 0x60 ;
374
+ case Input::Keys::KP1: return 0x61 ;
375
+ case Input::Keys::KP2: return 0x62 ;
376
+ case Input::Keys::KP3: return 0x63 ;
377
+ case Input::Keys::KP4: return 0x64 ;
378
+ case Input::Keys::KP5: return 0x65 ;
379
+ case Input::Keys::KP6: return 0x66 ;
380
+ case Input::Keys::KP7: return 0x67 ;
381
+ case Input::Keys::KP8: return 0x68 ;
382
+ case Input::Keys::KP9: return 0x69 ;
383
+ case Input::Keys::KP_MULTIPLY: return 0x6A ;
384
+ case Input::Keys::KP_ADD: return 0x6B ;
385
+ case Input::Keys::KP_SUBTRACT: return 0x6D ;
386
+ case Input::Keys::KP_PERIOD: return 0x6E ;
387
+ case Input::Keys::KP_DIVIDE: return 0x6F ;
388
+ case Input::Keys::F1: return 0x70 ;
389
+ case Input::Keys::F2: return 0x71 ;
390
+ case Input::Keys::F3: return 0x72 ;
391
+ case Input::Keys::F4: return 0x73 ;
392
+ case Input::Keys::F5: return 0x74 ;
393
+ case Input::Keys::F6: return 0x75 ;
394
+ case Input::Keys::F7: return 0x76 ;
395
+ case Input::Keys::F8: return 0x77 ;
396
+ case Input::Keys::F9: return 0x78 ;
397
+ case Input::Keys::F10: return 0x79 ;
398
+ case Input::Keys::F11: return 0x7A ;
399
+ case Input::Keys::F12: return 0x7B ;
400
+ case Input::Keys::NUM_LOCK: return 0x90 ;
401
+ case Input::Keys::SCROLL_LOCK: return 0x91 ;
402
+ case Input::Keys::LSHIFT: return 0xA0 ;
403
+ case Input::Keys::RSHIFT: return 0xA1 ;
404
+ case Input::Keys::LCTRL: return 0xA2 ;
405
+ case Input::Keys::RCTRL: return 0xA3 ;
406
+
407
+ default : return 0 ;
408
+ }
409
+ }
410
+
306
411
#endif
0 commit comments