SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
SDL3pp_keycode.h
1#ifndef SDL3PP_KEYCODE_H_
2#define SDL3PP_KEYCODE_H_
3
4#include <SDL3/SDL_keycode.h>
5#include "SDL3pp_scancode.h"
6#include "SDL3pp_stdinc.h"
7
8namespace SDL {
9
29using Keymod = Uint16;
30
31// To remove clash with old names:
32#undef KMOD_ALT
33#undef KMOD_CAPS
34#undef KMOD_CTRL
35#undef KMOD_GUI
36#undef KMOD_LALT
37#undef KMOD_LCTRL
38#undef KMOD_LGUI
39#undef KMOD_LSHIFT
40#undef KMOD_MODE
41#undef KMOD_NONE
42#undef KMOD_NUM
43#undef KMOD_RALT
44#undef KMOD_RCTRL
45#undef KMOD_RGUI
46#undef KMOD_RSHIFT
47#undef KMOD_SCROLL
48#undef KMOD_SHIFT
49
53constexpr Keymod KMOD_NONE = SDL_KMOD_NONE;
54
58constexpr Keymod KMOD_LSHIFT = SDL_KMOD_LSHIFT;
59
63constexpr Keymod KMOD_RSHIFT = SDL_KMOD_RSHIFT;
64
68constexpr Keymod KMOD_LEVEL5 = SDL_KMOD_LEVEL5;
69
73constexpr Keymod KMOD_LCTRL = SDL_KMOD_LCTRL;
74
78constexpr Keymod KMOD_RCTRL = SDL_KMOD_RCTRL;
79
83constexpr Keymod KMOD_LALT = SDL_KMOD_LALT;
84
88constexpr Keymod KMOD_RALT = SDL_KMOD_RALT;
89
93constexpr Keymod KMOD_LGUI = SDL_KMOD_LGUI;
94
98constexpr Keymod KMOD_RGUI = SDL_KMOD_RGUI;
99
103constexpr Keymod KMOD_NUM = SDL_KMOD_NUM;
104
108constexpr Keymod KMOD_CAPS = SDL_KMOD_CAPS;
109
113constexpr Keymod KMOD_MODE = SDL_KMOD_MODE;
114
118constexpr Keymod KMOD_SCROLL = SDL_KMOD_SCROLL;
119
123constexpr Keymod KMOD_CTRL = SDL_KMOD_CTRL;
124
128constexpr Keymod KMOD_SHIFT = SDL_KMOD_SHIFT;
129
133constexpr Keymod KMOD_ALT = SDL_KMOD_ALT;
134
138constexpr Keymod KMOD_GUI = SDL_KMOD_GUI;
139
157{
158 SDL_Keycode m_keycode;
159
160public:
166 constexpr Keycode(SDL_Keycode keycode = {})
167 : m_keycode(keycode)
168 {
169 }
170
174 constexpr auto operator<=>(const Keycode& other) const = default;
175
179 constexpr auto operator<=>(SDL_Keycode keycode) const
180 {
181 return operator<=>(Keycode(keycode));
182 }
183
184 // Convert from scancode
185 explicit Keycode(Scancode scancode,
186 Keymod modstate = 0,
187 bool key_event = false);
188
189 // Create from key name
190 explicit Keycode(StringParam name);
191
197 constexpr operator SDL_Keycode() const { return m_keycode; }
198
204 constexpr explicit operator bool() const { return m_keycode != SDLK_UNKNOWN; }
205
207 constexpr bool IsExtended() const { return m_keycode & SDLK_EXTENDED_MASK; }
208
210 constexpr bool IsScancode() const { return m_keycode & SDLK_SCANCODE_MASK; }
211
212 Scancode GetScancode(Keymod* modstate) const;
213
214 // Get name.
215 const char* GetName() const;
216};
217
218constexpr SDL_Keycode KEYCODE_EXTENDED_MASK =
219 SDLK_EXTENDED_MASK;
220
221constexpr SDL_Keycode KEYCODE_SCANCODE_MASK =
222 SDLK_SCANCODE_MASK;
223
231{
232 return SDL_SCANCODE_TO_KEYCODE(x);
233}
234
235constexpr SDL_Keycode KEYCODE_UNKNOWN = SDLK_UNKNOWN;
236
237constexpr SDL_Keycode KEYCODE_RETURN = SDLK_RETURN;
238
239constexpr SDL_Keycode KEYCODE_ESCAPE = SDLK_ESCAPE;
240
241constexpr SDL_Keycode KEYCODE_BACKSPACE = SDLK_BACKSPACE;
242
243constexpr SDL_Keycode KEYCODE_TAB = SDLK_TAB;
244
245constexpr SDL_Keycode KEYCODE_SPACE = SDLK_SPACE;
246
247constexpr SDL_Keycode KEYCODE_EXCLAIM = SDLK_EXCLAIM;
248
249constexpr SDL_Keycode KEYCODE_DBLAPOSTROPHE = SDLK_DBLAPOSTROPHE;
250
251constexpr SDL_Keycode KEYCODE_HASH = SDLK_HASH;
252
253constexpr SDL_Keycode KEYCODE_DOLLAR = SDLK_DOLLAR;
254
255constexpr SDL_Keycode KEYCODE_PERCENT = SDLK_PERCENT;
256
257constexpr SDL_Keycode KEYCODE_AMPERSAND = SDLK_AMPERSAND;
258
259constexpr SDL_Keycode KEYCODE_APOSTROPHE = SDLK_APOSTROPHE;
260
261constexpr SDL_Keycode KEYCODE_LEFTPAREN = SDLK_LEFTPAREN;
262
263constexpr SDL_Keycode KEYCODE_RIGHTPAREN = SDLK_RIGHTPAREN;
264
265constexpr SDL_Keycode KEYCODE_ASTERISK = SDLK_ASTERISK;
266
267constexpr SDL_Keycode KEYCODE_PLUS = SDLK_PLUS;
268
269constexpr SDL_Keycode KEYCODE_COMMA = SDLK_COMMA;
270
271constexpr SDL_Keycode KEYCODE_MINUS = SDLK_MINUS;
272
273constexpr SDL_Keycode KEYCODE_PERIOD = SDLK_PERIOD;
274
275constexpr SDL_Keycode KEYCODE_SLASH = SDLK_SLASH;
276
277constexpr SDL_Keycode KEYCODE_0 = SDLK_0;
278
279constexpr SDL_Keycode KEYCODE_1 = SDLK_1;
280
281constexpr SDL_Keycode KEYCODE_2 = SDLK_2;
282
283constexpr SDL_Keycode KEYCODE_3 = SDLK_3;
284
285constexpr SDL_Keycode KEYCODE_4 = SDLK_4;
286
287constexpr SDL_Keycode KEYCODE_5 = SDLK_5;
288
289constexpr SDL_Keycode KEYCODE_6 = SDLK_6;
290
291constexpr SDL_Keycode KEYCODE_7 = SDLK_7;
292
293constexpr SDL_Keycode KEYCODE_8 = SDLK_8;
294
295constexpr SDL_Keycode KEYCODE_9 = SDLK_9;
296
297constexpr SDL_Keycode KEYCODE_COLON = SDLK_COLON;
298
299constexpr SDL_Keycode KEYCODE_SEMICOLON = SDLK_SEMICOLON;
300
301constexpr SDL_Keycode KEYCODE_LESS = SDLK_LESS;
302
303constexpr SDL_Keycode KEYCODE_EQUALS = SDLK_EQUALS;
304
305constexpr SDL_Keycode KEYCODE_GREATER = SDLK_GREATER;
306
307constexpr SDL_Keycode KEYCODE_QUESTION = SDLK_QUESTION;
308
309constexpr SDL_Keycode KEYCODE_AT = SDLK_AT;
310
311constexpr SDL_Keycode KEYCODE_LEFTBRACKET = SDLK_LEFTBRACKET;
312
313constexpr SDL_Keycode KEYCODE_BACKSLASH = SDLK_BACKSLASH;
314
315constexpr SDL_Keycode KEYCODE_RIGHTBRACKET = SDLK_RIGHTBRACKET;
316
317constexpr SDL_Keycode KEYCODE_CARET = SDLK_CARET;
318
319constexpr SDL_Keycode KEYCODE_UNDERSCORE = SDLK_UNDERSCORE;
320
321constexpr SDL_Keycode KEYCODE_GRAVE = SDLK_GRAVE;
322
323constexpr SDL_Keycode KEYCODE_A = SDLK_A;
324
325constexpr SDL_Keycode KEYCODE_B = SDLK_B;
326
327constexpr SDL_Keycode KEYCODE_C = SDLK_C;
328
329constexpr SDL_Keycode KEYCODE_D = SDLK_D;
330
331constexpr SDL_Keycode KEYCODE_E = SDLK_E;
332
333constexpr SDL_Keycode KEYCODE_F = SDLK_F;
334
335constexpr SDL_Keycode KEYCODE_G = SDLK_G;
336
337constexpr SDL_Keycode KEYCODE_H = SDLK_H;
338
339constexpr SDL_Keycode KEYCODE_I = SDLK_I;
340
341constexpr SDL_Keycode KEYCODE_J = SDLK_J;
342
343constexpr SDL_Keycode KEYCODE_K = SDLK_K;
344
345constexpr SDL_Keycode KEYCODE_L = SDLK_L;
346
347constexpr SDL_Keycode KEYCODE_M = SDLK_M;
348
349constexpr SDL_Keycode KEYCODE_N = SDLK_N;
350
351constexpr SDL_Keycode KEYCODE_O = SDLK_O;
352
353constexpr SDL_Keycode KEYCODE_P = SDLK_P;
354
355constexpr SDL_Keycode KEYCODE_Q = SDLK_Q;
356
357constexpr SDL_Keycode KEYCODE_R = SDLK_R;
358
359constexpr SDL_Keycode KEYCODE_S = SDLK_S;
360
361constexpr SDL_Keycode KEYCODE_T = SDLK_T;
362
363constexpr SDL_Keycode KEYCODE_U = SDLK_U;
364
365constexpr SDL_Keycode KEYCODE_V = SDLK_V;
366
367constexpr SDL_Keycode KEYCODE_W = SDLK_W;
368
369constexpr SDL_Keycode KEYCODE_X = SDLK_X;
370
371constexpr SDL_Keycode KEYCODE_Y = SDLK_Y;
372
373constexpr SDL_Keycode KEYCODE_Z = SDLK_Z;
374
375constexpr SDL_Keycode KEYCODE_LEFTBRACE = SDLK_LEFTBRACE;
376
377constexpr SDL_Keycode KEYCODE_PIPE = SDLK_PIPE;
378
379constexpr SDL_Keycode KEYCODE_RIGHTBRACE = SDLK_RIGHTBRACE;
380
381constexpr SDL_Keycode KEYCODE_TILDE = SDLK_TILDE;
382
383constexpr SDL_Keycode KEYCODE_DELETE = SDLK_DELETE;
384
385constexpr SDL_Keycode KEYCODE_PLUSMINUS = SDLK_PLUSMINUS;
386
387constexpr SDL_Keycode KEYCODE_CAPSLOCK =
388 SDLK_CAPSLOCK;
389
390constexpr SDL_Keycode KEYCODE_F1 = SDLK_F1;
391
392constexpr SDL_Keycode KEYCODE_F2 = SDLK_F2;
393
394constexpr SDL_Keycode KEYCODE_F3 = SDLK_F3;
395
396constexpr SDL_Keycode KEYCODE_F4 = SDLK_F4;
397
398constexpr SDL_Keycode KEYCODE_F5 = SDLK_F5;
399
400constexpr SDL_Keycode KEYCODE_F6 = SDLK_F6;
401
402constexpr SDL_Keycode KEYCODE_F7 = SDLK_F7;
403
404constexpr SDL_Keycode KEYCODE_F8 = SDLK_F8;
405
406constexpr SDL_Keycode KEYCODE_F9 = SDLK_F9;
407
408constexpr SDL_Keycode KEYCODE_F10 =
409 SDLK_F10;
410
411constexpr SDL_Keycode KEYCODE_F11 =
412 SDLK_F11;
413
414constexpr SDL_Keycode KEYCODE_F12 =
415 SDLK_F12;
416
417constexpr SDL_Keycode KEYCODE_PRINTSCREEN =
418 SDLK_PRINTSCREEN;
419
420constexpr SDL_Keycode KEYCODE_SCROLLLOCK =
421 SDLK_SCROLLLOCK;
422
423constexpr SDL_Keycode KEYCODE_PAUSE =
424 SDLK_PAUSE;
425
426constexpr SDL_Keycode KEYCODE_INSERT =
427 SDLK_INSERT;
428
429constexpr SDL_Keycode KEYCODE_HOME =
430 SDLK_HOME;
431
432constexpr SDL_Keycode KEYCODE_PAGEUP =
433 SDLK_PAGEUP;
434
435constexpr SDL_Keycode KEYCODE_END =
436 SDLK_END;
437
438constexpr SDL_Keycode KEYCODE_PAGEDOWN =
439 SDLK_PAGEDOWN;
440
441constexpr SDL_Keycode KEYCODE_RIGHT =
442 SDLK_RIGHT;
443
444constexpr SDL_Keycode KEYCODE_LEFT =
445 SDLK_LEFT;
446
447constexpr SDL_Keycode KEYCODE_DOWN =
448 SDLK_DOWN;
449
450constexpr SDL_Keycode KEYCODE_UP = SDLK_UP;
451
452constexpr SDL_Keycode KEYCODE_NUMLOCKCLEAR =
453 SDLK_NUMLOCKCLEAR;
454
455constexpr SDL_Keycode KEYCODE_KP_DIVIDE =
456 SDLK_KP_DIVIDE;
457
458constexpr SDL_Keycode KEYCODE_KP_MULTIPLY =
459 SDLK_KP_MULTIPLY;
460
461constexpr SDL_Keycode KEYCODE_KP_MINUS =
462 SDLK_KP_MINUS;
463
464constexpr SDL_Keycode KEYCODE_KP_PLUS =
465 SDLK_KP_PLUS;
466
467constexpr SDL_Keycode KEYCODE_KP_ENTER =
468 SDLK_KP_ENTER;
469
470constexpr SDL_Keycode KEYCODE_KP_1 =
471 SDLK_KP_1;
472
473constexpr SDL_Keycode KEYCODE_KP_2 =
474 SDLK_KP_2;
475
476constexpr SDL_Keycode KEYCODE_KP_3 =
477 SDLK_KP_3;
478
479constexpr SDL_Keycode KEYCODE_KP_4 =
480 SDLK_KP_4;
481
482constexpr SDL_Keycode KEYCODE_KP_5 =
483 SDLK_KP_5;
484
485constexpr SDL_Keycode KEYCODE_KP_6 =
486 SDLK_KP_6;
487
488constexpr SDL_Keycode KEYCODE_KP_7 =
489 SDLK_KP_7;
490
491constexpr SDL_Keycode KEYCODE_KP_8 =
492 SDLK_KP_8;
493
494constexpr SDL_Keycode KEYCODE_KP_9 =
495 SDLK_KP_9;
496
497constexpr SDL_Keycode KEYCODE_KP_0 =
498 SDLK_KP_0;
499
500constexpr SDL_Keycode KEYCODE_KP_PERIOD =
501 SDLK_KP_PERIOD;
502
503constexpr SDL_Keycode KEYCODE_APPLICATION =
504 SDLK_APPLICATION;
505
506constexpr SDL_Keycode KEYCODE_POWER =
507 SDLK_POWER;
508
509constexpr SDL_Keycode KEYCODE_KP_EQUALS =
510 SDLK_KP_EQUALS;
511
512constexpr SDL_Keycode KEYCODE_F13 =
513 SDLK_F13;
514
515constexpr SDL_Keycode KEYCODE_F14 =
516 SDLK_F14;
517
518constexpr SDL_Keycode KEYCODE_F15 =
519 SDLK_F15;
520
521constexpr SDL_Keycode KEYCODE_F16 =
522 SDLK_F16;
523
524constexpr SDL_Keycode KEYCODE_F17 =
525 SDLK_F17;
526
527constexpr SDL_Keycode KEYCODE_F18 =
528 SDLK_F18;
529
530constexpr SDL_Keycode KEYCODE_F19 =
531 SDLK_F19;
532
533constexpr SDL_Keycode KEYCODE_F20 =
534 SDLK_F20;
535
536constexpr SDL_Keycode KEYCODE_F21 =
537 SDLK_F21;
538
539constexpr SDL_Keycode KEYCODE_F22 =
540 SDLK_F22;
541
542constexpr SDL_Keycode KEYCODE_F23 =
543 SDLK_F23;
544
545constexpr SDL_Keycode KEYCODE_F24 =
546 SDLK_F24;
547
548constexpr SDL_Keycode KEYCODE_EXECUTE =
549 SDLK_EXECUTE;
550
551constexpr SDL_Keycode KEYCODE_HELP =
552 SDLK_HELP;
553
554constexpr SDL_Keycode KEYCODE_MENU =
555 SDLK_MENU;
556
557constexpr SDL_Keycode KEYCODE_SELECT =
558 SDLK_SELECT;
559
560constexpr SDL_Keycode KEYCODE_STOP =
561 SDLK_STOP;
562
563constexpr SDL_Keycode KEYCODE_AGAIN =
564 SDLK_AGAIN;
565
566constexpr SDL_Keycode KEYCODE_UNDO =
567 SDLK_UNDO;
568
569constexpr SDL_Keycode KEYCODE_CUT =
570 SDLK_CUT;
571
572constexpr SDL_Keycode KEYCODE_COPY =
573 SDLK_COPY;
574
575constexpr SDL_Keycode KEYCODE_PASTE =
576 SDLK_PASTE;
577
578constexpr SDL_Keycode KEYCODE_FIND =
579 SDLK_FIND;
580
581constexpr SDL_Keycode KEYCODE_MUTE =
582 SDLK_MUTE;
583
584constexpr SDL_Keycode KEYCODE_VOLUMEUP =
585 SDLK_VOLUMEUP;
586
587constexpr SDL_Keycode KEYCODE_VOLUMEDOWN =
588 SDLK_VOLUMEDOWN;
589
590constexpr SDL_Keycode KEYCODE_KP_COMMA =
591 SDLK_KP_COMMA;
592
593constexpr SDL_Keycode KEYCODE_KP_EQUALSAS400 =
594 SDLK_KP_EQUALSAS400;
595
596constexpr SDL_Keycode KEYCODE_ALTERASE =
597 SDLK_ALTERASE;
598
599constexpr SDL_Keycode KEYCODE_SYSREQ =
600 SDLK_SYSREQ;
601
602constexpr SDL_Keycode KEYCODE_CANCEL =
603 SDLK_CANCEL;
604
605constexpr SDL_Keycode KEYCODE_CLEAR =
606 SDLK_CLEAR;
607
608constexpr SDL_Keycode KEYCODE_PRIOR =
609 SDLK_PRIOR;
610
611constexpr SDL_Keycode KEYCODE_RETURN2 =
612 SDLK_RETURN2;
613
614constexpr SDL_Keycode KEYCODE_SEPARATOR =
615 SDLK_SEPARATOR;
616
617constexpr SDL_Keycode KEYCODE_OUT =
618 SDLK_OUT;
619
620constexpr SDL_Keycode KEYCODE_OPER =
621 SDLK_OPER;
622
623constexpr SDL_Keycode KEYCODE_CLEARAGAIN =
624 SDLK_CLEARAGAIN;
625
626constexpr SDL_Keycode KEYCODE_CRSEL =
627 SDLK_CRSEL;
628
629constexpr SDL_Keycode KEYCODE_EXSEL =
630 SDLK_EXSEL;
631
632constexpr SDL_Keycode KEYCODE_KP_00 =
633 SDLK_KP_00;
634
635constexpr SDL_Keycode KEYCODE_KP_000 =
636 SDLK_KP_000;
637
638constexpr SDL_Keycode KEYCODE_THOUSANDSSEPARATOR =
639 SDLK_THOUSANDSSEPARATOR;
640
641constexpr SDL_Keycode KEYCODE_DECIMALSEPARATOR =
642 SDLK_DECIMALSEPARATOR;
643
644constexpr SDL_Keycode KEYCODE_CURRENCYUNIT =
645 SDLK_CURRENCYUNIT;
646
647constexpr SDL_Keycode KEYCODE_CURRENCYSUBUNIT =
648 SDLK_CURRENCYSUBUNIT;
649
650constexpr SDL_Keycode KEYCODE_KP_LEFTPAREN =
651 SDLK_KP_LEFTPAREN;
652
653constexpr SDL_Keycode KEYCODE_KP_RIGHTPAREN =
654 SDLK_KP_RIGHTPAREN;
655
656constexpr SDL_Keycode KEYCODE_KP_LEFTBRACE =
657 SDLK_KP_LEFTBRACE;
658
659constexpr SDL_Keycode KEYCODE_KP_RIGHTBRACE =
660 SDLK_KP_RIGHTBRACE;
661
662constexpr SDL_Keycode KEYCODE_KP_TAB =
663 SDLK_KP_TAB;
664
665constexpr SDL_Keycode KEYCODE_KP_BACKSPACE =
666 SDLK_KP_BACKSPACE;
667
668constexpr SDL_Keycode KEYCODE_KP_A =
669 SDLK_KP_A;
670
671constexpr SDL_Keycode KEYCODE_KP_B =
672 SDLK_KP_B;
673
674constexpr SDL_Keycode KEYCODE_KP_C =
675 SDLK_KP_C;
676
677constexpr SDL_Keycode KEYCODE_KP_D =
678 SDLK_KP_D;
679
680constexpr SDL_Keycode KEYCODE_KP_E =
681 SDLK_KP_E;
682
683constexpr SDL_Keycode KEYCODE_KP_F =
684 SDLK_KP_F;
685
686constexpr SDL_Keycode KEYCODE_KP_XOR =
687 SDLK_KP_XOR;
688
689constexpr SDL_Keycode KEYCODE_KP_POWER =
690 SDLK_KP_POWER;
691
692constexpr SDL_Keycode KEYCODE_KP_PERCENT =
693 SDLK_KP_PERCENT;
694
695constexpr SDL_Keycode KEYCODE_KP_LESS =
696 SDLK_KP_LESS;
697
698constexpr SDL_Keycode KEYCODE_KP_GREATER =
699 SDLK_KP_GREATER;
700
701constexpr SDL_Keycode KEYCODE_KP_AMPERSAND =
702 SDLK_KP_AMPERSAND;
703
704constexpr SDL_Keycode KEYCODE_KP_DBLAMPERSAND =
705 SDLK_KP_DBLAMPERSAND;
706
707constexpr SDL_Keycode KEYCODE_KP_VERTICALBAR =
708 SDLK_KP_VERTICALBAR;
709
710constexpr SDL_Keycode KEYCODE_KP_DBLVERTICALBAR =
711 SDLK_KP_DBLVERTICALBAR;
712
713constexpr SDL_Keycode KEYCODE_KP_COLON =
714 SDLK_KP_COLON;
715
716constexpr SDL_Keycode KEYCODE_KP_HASH =
717 SDLK_KP_HASH;
718
719constexpr SDL_Keycode KEYCODE_KP_SPACE =
720 SDLK_KP_SPACE;
721
722constexpr SDL_Keycode KEYCODE_KP_AT =
723 SDLK_KP_AT;
724
725constexpr SDL_Keycode KEYCODE_KP_EXCLAM =
726 SDLK_KP_EXCLAM;
727
728constexpr SDL_Keycode KEYCODE_KP_MEMSTORE =
729 SDLK_KP_MEMSTORE;
730
731constexpr SDL_Keycode KEYCODE_KP_MEMRECALL =
732 SDLK_KP_MEMRECALL;
733
734constexpr SDL_Keycode KEYCODE_KP_MEMCLEAR =
735 SDLK_KP_MEMCLEAR;
736
737constexpr SDL_Keycode KEYCODE_KP_MEMADD =
738 SDLK_KP_MEMADD;
739
740constexpr SDL_Keycode KEYCODE_KP_MEMSUBTRACT =
741 SDLK_KP_MEMSUBTRACT;
742
743constexpr SDL_Keycode KEYCODE_KP_MEMMULTIPLY =
744 SDLK_KP_MEMMULTIPLY;
745
746constexpr SDL_Keycode KEYCODE_KP_MEMDIVIDE =
747 SDLK_KP_MEMDIVIDE;
748
749constexpr SDL_Keycode KEYCODE_KP_PLUSMINUS =
750 SDLK_KP_PLUSMINUS;
751
752constexpr SDL_Keycode KEYCODE_KP_CLEAR =
753 SDLK_KP_CLEAR;
754
755constexpr SDL_Keycode KEYCODE_KP_CLEARENTRY =
756 SDLK_KP_CLEARENTRY;
757
758constexpr SDL_Keycode KEYCODE_KP_BINARY =
759 SDLK_KP_BINARY;
760
761constexpr SDL_Keycode KEYCODE_KP_OCTAL =
762 SDLK_KP_OCTAL;
763
764constexpr SDL_Keycode KEYCODE_KP_DECIMAL =
765 SDLK_KP_DECIMAL;
766
767constexpr SDL_Keycode KEYCODE_KP_HEXADECIMAL =
768 SDLK_KP_HEXADECIMAL;
769
770constexpr SDL_Keycode KEYCODE_LCTRL =
771 SDLK_LCTRL;
772
773constexpr SDL_Keycode KEYCODE_LSHIFT =
774 SDLK_LSHIFT;
775
776constexpr SDL_Keycode KEYCODE_LALT =
777 SDLK_LALT;
778
779constexpr SDL_Keycode KEYCODE_LGUI =
780 SDLK_LGUI;
781
782constexpr SDL_Keycode KEYCODE_RCTRL =
783 SDLK_RCTRL;
784
785constexpr SDL_Keycode KEYCODE_RSHIFT =
786 SDLK_RSHIFT;
787
788constexpr SDL_Keycode KEYCODE_RALT =
789 SDLK_RALT;
790
791constexpr SDL_Keycode KEYCODE_RGUI =
792 SDLK_RGUI;
793
794constexpr SDL_Keycode KEYCODE_MODE =
795 SDLK_MODE;
796
797constexpr SDL_Keycode KEYCODE_SLEEP =
798 SDLK_SLEEP;
799
800constexpr SDL_Keycode KEYCODE_WAKE =
801 SDLK_WAKE;
802
803constexpr SDL_Keycode KEYCODE_CHANNEL_INCREMENT =
804 SDLK_CHANNEL_INCREMENT;
805
806constexpr SDL_Keycode KEYCODE_CHANNEL_DECREMENT =
807 SDLK_CHANNEL_DECREMENT;
808
809constexpr SDL_Keycode KEYCODE_MEDIA_PLAY =
810 SDLK_MEDIA_PLAY;
811
812constexpr SDL_Keycode KEYCODE_MEDIA_PAUSE =
813 SDLK_MEDIA_PAUSE;
814
815constexpr SDL_Keycode KEYCODE_MEDIA_RECORD =
816 SDLK_MEDIA_RECORD;
817
818constexpr SDL_Keycode KEYCODE_MEDIA_FAST_FORWARD =
819 SDLK_MEDIA_FAST_FORWARD;
820
821constexpr SDL_Keycode KEYCODE_MEDIA_REWIND =
822 SDLK_MEDIA_REWIND;
823
824constexpr SDL_Keycode KEYCODE_MEDIA_NEXT_TRACK =
825 SDLK_MEDIA_NEXT_TRACK;
826
827constexpr SDL_Keycode KEYCODE_MEDIA_PREVIOUS_TRACK =
828 SDLK_MEDIA_PREVIOUS_TRACK;
829
830constexpr SDL_Keycode KEYCODE_MEDIA_STOP =
831 SDLK_MEDIA_STOP;
832
833constexpr SDL_Keycode KEYCODE_MEDIA_EJECT =
834 SDLK_MEDIA_EJECT;
835
836constexpr SDL_Keycode KEYCODE_MEDIA_PLAY_PAUSE =
837 SDLK_MEDIA_PLAY_PAUSE;
838
839constexpr SDL_Keycode KEYCODE_MEDIA_SELECT =
840 SDLK_MEDIA_SELECT;
841
842constexpr SDL_Keycode KEYCODE_AC_NEW =
843 SDLK_AC_NEW;
844
845constexpr SDL_Keycode KEYCODE_AC_OPEN =
846 SDLK_AC_OPEN;
847
848constexpr SDL_Keycode KEYCODE_AC_CLOSE =
849 SDLK_AC_CLOSE;
850
851constexpr SDL_Keycode KEYCODE_AC_EXIT =
852 SDLK_AC_EXIT;
853
854constexpr SDL_Keycode KEYCODE_AC_SAVE =
855 SDLK_AC_SAVE;
856
857constexpr SDL_Keycode KEYCODE_AC_PRINT =
858 SDLK_AC_PRINT;
859
860constexpr SDL_Keycode KEYCODE_AC_PROPERTIES =
861 SDLK_AC_PROPERTIES;
862
863constexpr SDL_Keycode KEYCODE_AC_SEARCH =
864 SDLK_AC_SEARCH;
865
866constexpr SDL_Keycode KEYCODE_AC_HOME =
867 SDLK_AC_HOME;
868
869constexpr SDL_Keycode KEYCODE_AC_BACK =
870 SDLK_AC_BACK;
871
872constexpr SDL_Keycode KEYCODE_AC_FORWARD =
873 SDLK_AC_FORWARD;
874
875constexpr SDL_Keycode KEYCODE_AC_STOP =
876 SDLK_AC_STOP;
877
878constexpr SDL_Keycode KEYCODE_AC_REFRESH =
879 SDLK_AC_REFRESH;
880
881constexpr SDL_Keycode KEYCODE_AC_BOOKMARKS =
882 SDLK_AC_BOOKMARKS;
883
884constexpr SDL_Keycode KEYCODE_SOFTLEFT =
885 SDLK_SOFTLEFT;
886
887constexpr SDL_Keycode KEYCODE_SOFTRIGHT =
888 SDLK_SOFTRIGHT;
889
890constexpr SDL_Keycode KEYCODE_CALL =
891 SDLK_CALL;
892
893constexpr SDL_Keycode KEYCODE_ENDCALL =
894 SDLK_ENDCALL;
895
896constexpr SDL_Keycode KEYCODE_LEFT_TAB =
897 SDLK_LEFT_TAB;
898
899constexpr SDL_Keycode KEYCODE_LEVEL5_SHIFT =
900 SDLK_LEVEL5_SHIFT;
901
902constexpr SDL_Keycode KEYCODE_MULTI_KEY_COMPOSE =
903 SDLK_MULTI_KEY_COMPOSE;
904
905constexpr SDL_Keycode KEYCODE_LMETA = SDLK_LMETA;
906
907constexpr SDL_Keycode KEYCODE_RMETA = SDLK_RMETA;
908
909constexpr SDL_Keycode KEYCODE_LHYPER = SDLK_LHYPER;
910
911constexpr SDL_Keycode KEYCODE_RHYPER =
912 SDLK_RHYPER;
913
915} // namespace SDL
916
917#endif /* SDL3PP_KEYCODE_H_ */
The SDL virtual key representation.
Definition SDL3pp_keycode.h:157
constexpr bool IsScancode() const
Has Scancode flag.
Definition SDL3pp_keycode.h:210
constexpr auto operator<=>(SDL_Keycode keycode) const
Compares with the underlying type.
Definition SDL3pp_keycode.h:179
constexpr Keycode(SDL_Keycode keycode={})
Wraps Keycode.
Definition SDL3pp_keycode.h:166
constexpr bool IsExtended() const
Has Extended flag.
Definition SDL3pp_keycode.h:207
constexpr auto operator<=>(const Keycode &other) const =default
Default comparison operator.
The SDL keyboard scancode representation.
Definition SDL3pp_scancode.h:41
Helpers to use C++ strings parameters.
Definition SDL3pp_strings.h:43
const char * GetName() const
Get a human-readable name for a key.
Definition SDL3pp_keyboard.h:344
Scancode GetScancode(Keymod *modstate) const
Get the scancode corresponding to the given key code according to the current keyboard layout.
Definition SDL3pp_keyboard.h:255
constexpr SDL_Keycode KEYCODE_RCTRL
ScancodeToKeycode(SCANCODE_RCTRL)
Definition SDL3pp_keycode.h:782
constexpr SDL_Keycode KEYCODE_WAKE
ScancodeToKeycode(SCANCODE_WAKE)
Definition SDL3pp_keycode.h:800
constexpr SDL_Keycode KEYCODE_SCANCODE_MASK
SCANCODE_MASK.
Definition SDL3pp_keycode.h:221
constexpr SDL_Keycode KEYCODE_PAUSE
ScancodeToKeycode(SCANCODE_PAUSE)
Definition SDL3pp_keycode.h:423
constexpr SDL_Keycode KEYCODE_MEDIA_EJECT
ScancodeToKeycode(SCANCODE_MEDIA_EJECT)
Definition SDL3pp_keycode.h:833
constexpr SDL_Keycode KEYCODE_MEDIA_RECORD
ScancodeToKeycode(SCANCODE_MEDIA_RECORD)
Definition SDL3pp_keycode.h:815
constexpr SDL_Keycode KEYCODE_KP_DBLVERTICALBAR
ScancodeToKeycode(SCANCODE_KP_DBLVERTICALBAR)
Definition SDL3pp_keycode.h:710
constexpr SDL_Keycode KEYCODE_CURRENCYSUBUNIT
ScancodeToKeycode(SCANCODE_CURRENCYSUBUNIT)
Definition SDL3pp_keycode.h:647
constexpr SDL_Keycode KEYCODE_CARET
'^'
Definition SDL3pp_keycode.h:317
constexpr SDL_Keycode KEYCODE_5
'5'
Definition SDL3pp_keycode.h:287
constexpr SDL_Keycode KEYCODE_KP_PERCENT
ScancodeToKeycode(SCANCODE_KP_PERCENT)
Definition SDL3pp_keycode.h:692
constexpr SDL_Keycode KEYCODE_KP_BACKSPACE
ScancodeToKeycode(SCANCODE_KP_BACKSPACE)
Definition SDL3pp_keycode.h:665
constexpr SDL_Keycode KEYCODE_6
'6'
Definition SDL3pp_keycode.h:289
constexpr SDL_Keycode KEYCODE_V
'v'
Definition SDL3pp_keycode.h:365
constexpr Keymod KMOD_NUM
the Num Lock key (may be located on an extended keypad) is down.
Definition SDL3pp_keycode.h:103
constexpr SDL_Keycode KEYCODE_LESS
'<'
Definition SDL3pp_keycode.h:301
constexpr SDL_Keycode KEYCODE_SEMICOLON
';'
Definition SDL3pp_keycode.h:299
constexpr SDL_Keycode KEYCODE_0
'0'
Definition SDL3pp_keycode.h:277
constexpr SDL_Keycode KEYCODE_NUMLOCKCLEAR
ScancodeToKeycode(SCANCODE_NUMLOCKCLEAR)
Definition SDL3pp_keycode.h:452
constexpr SDL_Keycode KEYCODE_PRINTSCREEN
ScancodeToKeycode(SCANCODE_PRINTSCREEN)
Definition SDL3pp_keycode.h:417
constexpr SDL_Keycode KEYCODE_KP_VERTICALBAR
ScancodeToKeycode(SCANCODE_KP_VERTICALBAR)
Definition SDL3pp_keycode.h:707
constexpr SDL_Keycode KEYCODE_KP_0
ScancodeToKeycode(SCANCODE_KP_0)
Definition SDL3pp_keycode.h:497
constexpr SDL_Keycode KEYCODE_G
'g'
Definition SDL3pp_keycode.h:335
constexpr SDL_Keycode KEYCODE_SLASH
'/'
Definition SDL3pp_keycode.h:275
constexpr SDL_Keycode KEYCODE_KP_MEMDIVIDE
ScancodeToKeycode(SCANCODE_KP_MEMDIVIDE)
Definition SDL3pp_keycode.h:746
constexpr SDL_Keycode KEYCODE_RALT
ScancodeToKeycode(SCANCODE_RALT)
Definition SDL3pp_keycode.h:788
constexpr SDL_Keycode KEYCODE_PLUS
'+'
Definition SDL3pp_keycode.h:267
constexpr Keymod KMOD_MODE
the !AltGr key is down.
Definition SDL3pp_keycode.h:113
constexpr SDL_Keycode KEYCODE_CRSEL
ScancodeToKeycode(SCANCODE_CRSEL)
Definition SDL3pp_keycode.h:626
constexpr SDL_Keycode KEYCODE_D
'd'
Definition SDL3pp_keycode.h:329
constexpr SDL_Keycode KEYCODE_UP
ScancodeToKeycode(SCANCODE_UP)
Definition SDL3pp_keycode.h:450
constexpr SDL_Keycode KEYCODE_LGUI
ScancodeToKeycode(SCANCODE_LGUI)
Definition SDL3pp_keycode.h:779
constexpr Keymod KMOD_RSHIFT
the right Shift key is down.
Definition SDL3pp_keycode.h:63
constexpr SDL_Keycode KEYCODE_CAPSLOCK
ScancodeToKeycode(SCANCODE_CAPSLOCK)
Definition SDL3pp_keycode.h:387
constexpr SDL_Keycode KEYCODE_ASTERISK
'*'
Definition SDL3pp_keycode.h:265
constexpr SDL_Keycode KEYCODE_EXSEL
ScancodeToKeycode(SCANCODE_EXSEL)
Definition SDL3pp_keycode.h:629
constexpr Keymod KMOD_LALT
the left Alt key is down.
Definition SDL3pp_keycode.h:83
constexpr SDL_Keycode KEYCODE_KP_000
ScancodeToKeycode(SCANCODE_KP_000)
Definition SDL3pp_keycode.h:635
constexpr SDL_Keycode KEYCODE_KP_7
ScancodeToKeycode(SCANCODE_KP_7)
Definition SDL3pp_keycode.h:488
constexpr SDL_Keycode KEYCODE_W
'w'
Definition SDL3pp_keycode.h:367
constexpr Keycode ScancodeToKeycode(Scancode x)
Transform scancode to keycode.
Definition SDL3pp_keycode.h:230
constexpr SDL_Keycode KEYCODE_SPACE
' '
Definition SDL3pp_keycode.h:245
constexpr SDL_Keycode KEYCODE_F19
ScancodeToKeycode(SCANCODE_F19)
Definition SDL3pp_keycode.h:530
constexpr SDL_Keycode KEYCODE_PRIOR
ScancodeToKeycode(SCANCODE_PRIOR)
Definition SDL3pp_keycode.h:608
constexpr SDL_Keycode KEYCODE_AC_REFRESH
ScancodeToKeycode(SCANCODE_AC_REFRESH)
Definition SDL3pp_keycode.h:878
constexpr SDL_Keycode KEYCODE_RSHIFT
ScancodeToKeycode(SCANCODE_RSHIFT)
Definition SDL3pp_keycode.h:785
constexpr SDL_Keycode KEYCODE_POWER
ScancodeToKeycode(SCANCODE_POWER)
Definition SDL3pp_keycode.h:506
constexpr SDL_Keycode KEYCODE_PERIOD
'.'
Definition SDL3pp_keycode.h:273
constexpr SDL_Keycode KEYCODE_F7
ScancodeToKeycode(SCANCODE_F7)
Definition SDL3pp_keycode.h:402
constexpr SDL_Keycode KEYCODE_MEDIA_REWIND
ScancodeToKeycode(SCANCODE_MEDIA_REWIND)
Definition SDL3pp_keycode.h:821
constexpr SDL_Keycode KEYCODE_F5
ScancodeToKeycode(SCANCODE_F5)
Definition SDL3pp_keycode.h:398
constexpr SDL_Keycode KEYCODE_KP_POWER
ScancodeToKeycode(SCANCODE_KP_POWER)
Definition SDL3pp_keycode.h:689
Uint16 Keymod
Valid key modifiers (possibly OR'd together).
Definition SDL3pp_keycode.h:29
constexpr Keymod KMOD_NONE
no modifier is applicable.
Definition SDL3pp_keycode.h:53
constexpr SDL_Keycode KEYCODE_MULTI_KEY_COMPOSE
Extended key Multi-key Compose.
Definition SDL3pp_keycode.h:902
constexpr SDL_Keycode KEYCODE_ESCAPE
'\x1B'
Definition SDL3pp_keycode.h:239
constexpr SDL_Keycode KEYCODE_MEDIA_STOP
ScancodeToKeycode(SCANCODE_MEDIA_STOP)
Definition SDL3pp_keycode.h:830
constexpr SDL_Keycode KEYCODE_RIGHTBRACKET
']'
Definition SDL3pp_keycode.h:315
constexpr SDL_Keycode KEYCODE_ALTERASE
ScancodeToKeycode(SCANCODE_ALTERASE)
Definition SDL3pp_keycode.h:596
constexpr SDL_Keycode KEYCODE_KP_AT
ScancodeToKeycode(SCANCODE_KP_AT)
Definition SDL3pp_keycode.h:722
constexpr SDL_Keycode KEYCODE_OUT
ScancodeToKeycode(SCANCODE_OUT)
Definition SDL3pp_keycode.h:617
constexpr SDL_Keycode KEYCODE_LEFTBRACKET
'['
Definition SDL3pp_keycode.h:311
constexpr SDL_Keycode KEYCODE_CANCEL
ScancodeToKeycode(SCANCODE_CANCEL)
Definition SDL3pp_keycode.h:602
constexpr SDL_Keycode KEYCODE_SOFTRIGHT
ScancodeToKeycode(SCANCODE_SOFTRIGHT)
Definition SDL3pp_keycode.h:887
constexpr SDL_Keycode KEYCODE_F21
ScancodeToKeycode(SCANCODE_F21)
Definition SDL3pp_keycode.h:536
constexpr Keymod KMOD_SCROLL
the Scroll Lock key is down.
Definition SDL3pp_keycode.h:118
constexpr SDL_Keycode KEYCODE_AC_FORWARD
ScancodeToKeycode(SCANCODE_AC_FORWARD)
Definition SDL3pp_keycode.h:872
constexpr SDL_Keycode KEYCODE_F24
ScancodeToKeycode(SCANCODE_F24)
Definition SDL3pp_keycode.h:545
constexpr SDL_Keycode KEYCODE_MEDIA_FAST_FORWARD
ScancodeToKeycode(SCANCODE_MEDIA_FAST_FORWARD)
Definition SDL3pp_keycode.h:818
constexpr Keymod KMOD_RCTRL
the right Ctrl (Control) key is down.
Definition SDL3pp_keycode.h:78
constexpr SDL_Keycode KEYCODE_SYSREQ
ScancodeToKeycode(SCANCODE_SYSREQ)
Definition SDL3pp_keycode.h:599
constexpr SDL_Keycode KEYCODE_KP_1
ScancodeToKeycode(SCANCODE_KP_1)
Definition SDL3pp_keycode.h:470
constexpr SDL_Keycode KEYCODE_KP_MEMMULTIPLY
ScancodeToKeycode(SCANCODE_KP_MEMMULTIPLY)
Definition SDL3pp_keycode.h:743
constexpr SDL_Keycode KEYCODE_AC_PROPERTIES
ScancodeToKeycode(SCANCODE_AC_PROPERTIES)
Definition SDL3pp_keycode.h:860
constexpr SDL_Keycode KEYCODE_PAGEUP
ScancodeToKeycode(SCANCODE_PAGEUP)
Definition SDL3pp_keycode.h:432
constexpr SDL_Keycode KEYCODE_LEFTBRACE
'{'
Definition SDL3pp_keycode.h:375
constexpr SDL_Keycode KEYCODE_C
'c'
Definition SDL3pp_keycode.h:327
constexpr SDL_Keycode KEYCODE_3
'3'
Definition SDL3pp_keycode.h:283
constexpr SDL_Keycode KEYCODE_RHYPER
Extended key Right Hyper.
Definition SDL3pp_keycode.h:911
constexpr SDL_Keycode KEYCODE_KP_ENTER
ScancodeToKeycode(SCANCODE_KP_ENTER)
Definition SDL3pp_keycode.h:467
constexpr SDL_Keycode KEYCODE_8
'8'
Definition SDL3pp_keycode.h:293
constexpr SDL_Keycode KEYCODE_DOWN
ScancodeToKeycode(SCANCODE_DOWN)
Definition SDL3pp_keycode.h:447
constexpr SDL_Keycode KEYCODE_KP_DECIMAL
ScancodeToKeycode(SCANCODE_KP_DECIMAL)
Definition SDL3pp_keycode.h:764
constexpr SDL_Keycode KEYCODE_MEDIA_PLAY_PAUSE
ScancodeToKeycode(SCANCODE_MEDIA_PLAY_PAUSE)
Definition SDL3pp_keycode.h:836
constexpr SDL_Keycode KEYCODE_F2
ScancodeToKeycode(SCANCODE_F2)
Definition SDL3pp_keycode.h:392
constexpr SDL_Keycode KEYCODE_EQUALS
'='
Definition SDL3pp_keycode.h:303
constexpr SDL_Keycode KEYCODE_CUT
ScancodeToKeycode(SCANCODE_CUT)
Definition SDL3pp_keycode.h:569
constexpr SDL_Keycode KEYCODE_UNDERSCORE
'_'
Definition SDL3pp_keycode.h:319
constexpr SDL_Keycode KEYCODE_KP_MEMADD
ScancodeToKeycode(SCANCODE_KP_MEMADD)
Definition SDL3pp_keycode.h:737
constexpr SDL_Keycode KEYCODE_F14
ScancodeToKeycode(SCANCODE_F14)
Definition SDL3pp_keycode.h:515
constexpr SDL_Keycode KEYCODE_KP_RIGHTPAREN
ScancodeToKeycode(SCANCODE_KP_RIGHTPAREN)
Definition SDL3pp_keycode.h:653
constexpr SDL_Keycode KEYCODE_SCROLLLOCK
ScancodeToKeycode(SCANCODE_SCROLLLOCK)
Definition SDL3pp_keycode.h:420
constexpr SDL_Keycode KEYCODE_DOLLAR
'$'
Definition SDL3pp_keycode.h:253
constexpr SDL_Keycode KEYCODE_F22
ScancodeToKeycode(SCANCODE_F22)
Definition SDL3pp_keycode.h:539
constexpr SDL_Keycode KEYCODE_F
'f'
Definition SDL3pp_keycode.h:333
constexpr SDL_Keycode KEYCODE_HELP
ScancodeToKeycode(SCANCODE_HELP)
Definition SDL3pp_keycode.h:551
constexpr SDL_Keycode KEYCODE_MEDIA_PAUSE
ScancodeToKeycode(SCANCODE_MEDIA_PAUSE)
Definition SDL3pp_keycode.h:812
constexpr SDL_Keycode KEYCODE_KP_BINARY
ScancodeToKeycode(SCANCODE_KP_BINARY)
Definition SDL3pp_keycode.h:758
constexpr SDL_Keycode KEYCODE_MEDIA_PLAY
ScancodeToKeycode(SCANCODE_MEDIA_PLAY)
Definition SDL3pp_keycode.h:809
constexpr SDL_Keycode KEYCODE_KP_EXCLAM
ScancodeToKeycode(SCANCODE_KP_EXCLAM)
Definition SDL3pp_keycode.h:725
constexpr SDL_Keycode KEYCODE_U
'u'
Definition SDL3pp_keycode.h:363
constexpr SDL_Keycode KEYCODE_L
'l'
Definition SDL3pp_keycode.h:345
constexpr SDL_Keycode KEYCODE_F23
ScancodeToKeycode(SCANCODE_F23)
Definition SDL3pp_keycode.h:542
constexpr SDL_Keycode KEYCODE_KP_RIGHTBRACE
ScancodeToKeycode(SCANCODE_KP_RIGHTBRACE)
Definition SDL3pp_keycode.h:659
constexpr SDL_Keycode KEYCODE_LEFT_TAB
Extended key Left Tab.
Definition SDL3pp_keycode.h:896
constexpr SDL_Keycode KEYCODE_F16
ScancodeToKeycode(SCANCODE_F16)
Definition SDL3pp_keycode.h:521
constexpr SDL_Keycode KEYCODE_SELECT
ScancodeToKeycode(SCANCODE_SELECT)
Definition SDL3pp_keycode.h:557
constexpr SDL_Keycode KEYCODE_F8
ScancodeToKeycode(SCANCODE_F8)
Definition SDL3pp_keycode.h:404
constexpr SDL_Keycode KEYCODE_CHANNEL_DECREMENT
ScancodeToKeycode(SCANCODE_CHANNEL_DECREMENT)
Definition SDL3pp_keycode.h:806
constexpr SDL_Keycode KEYCODE_1
'1'
Definition SDL3pp_keycode.h:279
constexpr SDL_Keycode KEYCODE_HASH
'#'
Definition SDL3pp_keycode.h:251
constexpr SDL_Keycode KEYCODE_J
'j'
Definition SDL3pp_keycode.h:341
constexpr SDL_Keycode KEYCODE_AMPERSAND
'&'
Definition SDL3pp_keycode.h:257
constexpr SDL_Keycode KEYCODE_KP_A
ScancodeToKeycode(SCANCODE_KP_A)
Definition SDL3pp_keycode.h:668
constexpr SDL_Keycode KEYCODE_BACKSLASH
'\'
Definition SDL3pp_keycode.h:313
constexpr SDL_Keycode KEYCODE_PAGEDOWN
ScancodeToKeycode(SCANCODE_PAGEDOWN)
Definition SDL3pp_keycode.h:438
constexpr SDL_Keycode KEYCODE_KP_MEMSUBTRACT
ScancodeToKeycode(SCANCODE_KP_MEMSUBTRACT)
Definition SDL3pp_keycode.h:740
constexpr SDL_Keycode KEYCODE_UNDO
ScancodeToKeycode(SCANCODE_UNDO)
Definition SDL3pp_keycode.h:566
constexpr Keymod KMOD_GUI
Any GUI key is down.
Definition SDL3pp_keycode.h:138
constexpr SDL_Keycode KEYCODE_MUTE
ScancodeToKeycode(SCANCODE_MUTE)
Definition SDL3pp_keycode.h:581
constexpr SDL_Keycode KEYCODE_QUESTION
'?'
Definition SDL3pp_keycode.h:307
constexpr SDL_Keycode KEYCODE_RIGHTPAREN
')'
Definition SDL3pp_keycode.h:263
constexpr SDL_Keycode KEYCODE_F17
ScancodeToKeycode(SCANCODE_F17)
Definition SDL3pp_keycode.h:524
constexpr SDL_Keycode KEYCODE_PASTE
ScancodeToKeycode(SCANCODE_PASTE)
Definition SDL3pp_keycode.h:575
constexpr SDL_Keycode KEYCODE_KP_LEFTPAREN
ScancodeToKeycode(SCANCODE_KP_LEFTPAREN)
Definition SDL3pp_keycode.h:650
constexpr SDL_Keycode KEYCODE_KP_AMPERSAND
ScancodeToKeycode(SCANCODE_KP_AMPERSAND)
Definition SDL3pp_keycode.h:701
constexpr SDL_Keycode KEYCODE_KP_EQUALS
ScancodeToKeycode(SCANCODE_KP_EQUALS)
Definition SDL3pp_keycode.h:509
constexpr SDL_Keycode KEYCODE_KP_MEMCLEAR
ScancodeToKeycode(SCANCODE_KP_MEMCLEAR)
Definition SDL3pp_keycode.h:734
constexpr SDL_Keycode KEYCODE_PIPE
'|'
Definition SDL3pp_keycode.h:377
constexpr SDL_Keycode KEYCODE_APOSTROPHE
'\''
Definition SDL3pp_keycode.h:259
constexpr SDL_Keycode KEYCODE_F13
ScancodeToKeycode(SCANCODE_F13)
Definition SDL3pp_keycode.h:512
constexpr SDL_Keycode KEYCODE_DECIMALSEPARATOR
ScancodeToKeycode(SCANCODE_DECIMALSEPARATOR)
Definition SDL3pp_keycode.h:641
constexpr SDL_Keycode KEYCODE_KP_PLUS
ScancodeToKeycode(SCANCODE_KP_PLUS)
Definition SDL3pp_keycode.h:464
constexpr SDL_Keycode KEYCODE_KP_LESS
ScancodeToKeycode(SCANCODE_KP_LESS)
Definition SDL3pp_keycode.h:695
constexpr SDL_Keycode KEYCODE_GREATER
'>'
Definition SDL3pp_keycode.h:305
constexpr SDL_Keycode KEYCODE_LALT
ScancodeToKeycode(SCANCODE_LALT)
Definition SDL3pp_keycode.h:776
constexpr SDL_Keycode KEYCODE_LHYPER
Extended key Left Hyper.
Definition SDL3pp_keycode.h:909
constexpr SDL_Keycode KEYCODE_KP_B
ScancodeToKeycode(SCANCODE_KP_B)
Definition SDL3pp_keycode.h:671
constexpr Keymod KMOD_RGUI
the right GUI key (often the Windows key) is down.
Definition SDL3pp_keycode.h:98
constexpr SDL_Keycode KEYCODE_AC_CLOSE
ScancodeToKeycode(SCANCODE_AC_CLOSE)
Definition SDL3pp_keycode.h:848
constexpr SDL_Keycode KEYCODE_F15
ScancodeToKeycode(SCANCODE_F15)
Definition SDL3pp_keycode.h:518
constexpr SDL_Keycode KEYCODE_KP_8
ScancodeToKeycode(SCANCODE_KP_8)
Definition SDL3pp_keycode.h:491
constexpr SDL_Keycode KEYCODE_PLUSMINUS
'\xB1'
Definition SDL3pp_keycode.h:385
constexpr SDL_Keycode KEYCODE_COLON
':'
Definition SDL3pp_keycode.h:297
constexpr SDL_Keycode KEYCODE_GRAVE
'‘’
Definition SDL3pp_keycode.h:321
constexpr SDL_Keycode KEYCODE_EXECUTE
ScancodeToKeycode(SCANCODE_EXECUTE)
Definition SDL3pp_keycode.h:548
constexpr SDL_Keycode KEYCODE_COMMA
','
Definition SDL3pp_keycode.h:269
constexpr SDL_Keycode KEYCODE_SOFTLEFT
ScancodeToKeycode(SCANCODE_SOFTLEFT)
Definition SDL3pp_keycode.h:884
constexpr SDL_Keycode KEYCODE_Y
'y'
Definition SDL3pp_keycode.h:371
constexpr SDL_Keycode KEYCODE_F4
ScancodeToKeycode(SCANCODE_F4)
Definition SDL3pp_keycode.h:396
constexpr SDL_Keycode KEYCODE_F6
ScancodeToKeycode(SCANCODE_F6)
Definition SDL3pp_keycode.h:400
constexpr SDL_Keycode KEYCODE_HOME
ScancodeToKeycode(SCANCODE_HOME)
Definition SDL3pp_keycode.h:429
constexpr SDL_Keycode KEYCODE_FIND
ScancodeToKeycode(SCANCODE_FIND)
Definition SDL3pp_keycode.h:578
constexpr SDL_Keycode KEYCODE_END
ScancodeToKeycode(SCANCODE_END)
Definition SDL3pp_keycode.h:435
constexpr SDL_Keycode KEYCODE_KP_MEMSTORE
ScancodeToKeycode(SCANCODE_KP_MEMSTORE)
Definition SDL3pp_keycode.h:728
constexpr SDL_Keycode KEYCODE_I
'i'
Definition SDL3pp_keycode.h:339
constexpr SDL_Keycode KEYCODE_AC_PRINT
ScancodeToKeycode(SCANCODE_AC_PRINT)
Definition SDL3pp_keycode.h:857
constexpr SDL_Keycode KEYCODE_MINUS
'-'
Definition SDL3pp_keycode.h:271
constexpr SDL_Keycode KEYCODE_F20
ScancodeToKeycode(SCANCODE_F20)
Definition SDL3pp_keycode.h:533
constexpr SDL_Keycode KEYCODE_KP_GREATER
ScancodeToKeycode(SCANCODE_KP_GREATER)
Definition SDL3pp_keycode.h:698
constexpr SDL_Keycode KEYCODE_APPLICATION
ScancodeToKeycode(SCANCODE_APPLICATION)
Definition SDL3pp_keycode.h:503
constexpr SDL_Keycode KEYCODE_KP_5
ScancodeToKeycode(SCANCODE_KP_5)
Definition SDL3pp_keycode.h:482
constexpr SDL_Keycode KEYCODE_KP_CLEARENTRY
ScancodeToKeycode(SCANCODE_KP_CLEARENTRY)
Definition SDL3pp_keycode.h:755
constexpr SDL_Keycode KEYCODE_CLEAR
ScancodeToKeycode(SCANCODE_CLEAR)
Definition SDL3pp_keycode.h:605
constexpr SDL_Keycode KEYCODE_9
'9'
Definition SDL3pp_keycode.h:295
constexpr SDL_Keycode KEYCODE_BACKSPACE
'\b'
Definition SDL3pp_keycode.h:241
constexpr SDL_Keycode KEYCODE_X
'x'
Definition SDL3pp_keycode.h:369
constexpr SDL_Keycode KEYCODE_CHANNEL_INCREMENT
ScancodeToKeycode(SCANCODE_CHANNEL_INCREMENT)
Definition SDL3pp_keycode.h:803
constexpr Keymod KMOD_SHIFT
Any Shift key is down.
Definition SDL3pp_keycode.h:128
constexpr SDL_Keycode KEYCODE_7
'7'
Definition SDL3pp_keycode.h:291
constexpr SDL_Keycode KEYCODE_DBLAPOSTROPHE
'"'
Definition SDL3pp_keycode.h:249
constexpr SDL_Keycode KEYCODE_KP_2
ScancodeToKeycode(SCANCODE_KP_2)
Definition SDL3pp_keycode.h:473
constexpr SDL_Keycode KEYCODE_K
'k'
Definition SDL3pp_keycode.h:343
constexpr SDL_Keycode KEYCODE_AC_BOOKMARKS
ScancodeToKeycode(SCANCODE_AC_BOOKMARKS)
Definition SDL3pp_keycode.h:881
constexpr SDL_Keycode KEYCODE_F12
ScancodeToKeycode(SCANCODE_F12)
Definition SDL3pp_keycode.h:414
constexpr SDL_Keycode KEYCODE_P
'p'
Definition SDL3pp_keycode.h:353
constexpr SDL_Keycode KEYCODE_KP_HASH
ScancodeToKeycode(SCANCODE_KP_HASH)
Definition SDL3pp_keycode.h:716
constexpr SDL_Keycode KEYCODE_LCTRL
ScancodeToKeycode(SCANCODE_LCTRL)
Definition SDL3pp_keycode.h:770
constexpr SDL_Keycode KEYCODE_KP_MULTIPLY
ScancodeToKeycode(SCANCODE_KP_MULTIPLY)
Definition SDL3pp_keycode.h:458
constexpr SDL_Keycode KEYCODE_AT
'@'
Definition SDL3pp_keycode.h:309
constexpr SDL_Keycode KEYCODE_B
'b'
Definition SDL3pp_keycode.h:325
constexpr SDL_Keycode KEYCODE_KP_D
ScancodeToKeycode(SCANCODE_KP_D)
Definition SDL3pp_keycode.h:677
constexpr SDL_Keycode KEYCODE_INSERT
ScancodeToKeycode(SCANCODE_INSERT)
Definition SDL3pp_keycode.h:426
constexpr SDL_Keycode KEYCODE_LEFT
ScancodeToKeycode(SCANCODE_LEFT)
Definition SDL3pp_keycode.h:444
constexpr SDL_Keycode KEYCODE_M
'm'
Definition SDL3pp_keycode.h:347
constexpr SDL_Keycode KEYCODE_KP_4
ScancodeToKeycode(SCANCODE_KP_4)
Definition SDL3pp_keycode.h:479
constexpr SDL_Keycode KEYCODE_RETURN
'\r'
Definition SDL3pp_keycode.h:237
constexpr SDL_Keycode KEYCODE_KP_00
ScancodeToKeycode(SCANCODE_KP_00)
Definition SDL3pp_keycode.h:632
constexpr SDL_Keycode KEYCODE_SEPARATOR
ScancodeToKeycode(SCANCODE_SEPARATOR)
Definition SDL3pp_keycode.h:614
constexpr SDL_Keycode KEYCODE_KP_LEFTBRACE
ScancodeToKeycode(SCANCODE_KP_LEFTBRACE)
Definition SDL3pp_keycode.h:656
constexpr Keymod KMOD_LGUI
the left GUI key (often the Windows key) is down.
Definition SDL3pp_keycode.h:93
constexpr SDL_Keycode KEYCODE_KP_TAB
ScancodeToKeycode(SCANCODE_KP_TAB)
Definition SDL3pp_keycode.h:662
constexpr SDL_Keycode KEYCODE_F9
ScancodeToKeycode(SCANCODE_F9)
Definition SDL3pp_keycode.h:406
constexpr SDL_Keycode KEYCODE_AC_OPEN
ScancodeToKeycode(SCANCODE_AC_OPEN)
Definition SDL3pp_keycode.h:845
constexpr SDL_Keycode KEYCODE_F11
ScancodeToKeycode(SCANCODE_F11)
Definition SDL3pp_keycode.h:411
constexpr SDL_Keycode KEYCODE_R
'r'
Definition SDL3pp_keycode.h:357
constexpr SDL_Keycode KEYCODE_RGUI
ScancodeToKeycode(SCANCODE_RGUI)
Definition SDL3pp_keycode.h:791
constexpr SDL_Keycode KEYCODE_T
't'
Definition SDL3pp_keycode.h:361
constexpr SDL_Keycode KEYCODE_2
'2'
Definition SDL3pp_keycode.h:281
constexpr Keymod KMOD_CTRL
Any Ctrl key is down.
Definition SDL3pp_keycode.h:123
constexpr Keymod KMOD_ALT
Any Alt key is down.
Definition SDL3pp_keycode.h:133
constexpr SDL_Keycode KEYCODE_AC_EXIT
ScancodeToKeycode(SCANCODE_AC_EXIT)
Definition SDL3pp_keycode.h:851
constexpr Keymod KMOD_LSHIFT
the left Shift key is down.
Definition SDL3pp_keycode.h:58
constexpr SDL_Keycode KEYCODE_TILDE
'~'
Definition SDL3pp_keycode.h:381
constexpr SDL_Keycode KEYCODE_AGAIN
ScancodeToKeycode(SCANCODE_AGAIN)
Definition SDL3pp_keycode.h:563
constexpr SDL_Keycode KEYCODE_MEDIA_SELECT
ScancodeToKeycode(SCANCODE_MEDIA_SELECT)
Definition SDL3pp_keycode.h:839
constexpr SDL_Keycode KEYCODE_CLEARAGAIN
ScancodeToKeycode(SCANCODE_CLEARAGAIN)
Definition SDL3pp_keycode.h:623
constexpr SDL_Keycode KEYCODE_O
'o'
Definition SDL3pp_keycode.h:351
constexpr SDL_Keycode KEYCODE_KP_SPACE
ScancodeToKeycode(SCANCODE_KP_SPACE)
Definition SDL3pp_keycode.h:719
constexpr SDL_Keycode KEYCODE_Q
'q'
Definition SDL3pp_keycode.h:355
constexpr SDL_Keycode KEYCODE_F3
ScancodeToKeycode(SCANCODE_F3)
Definition SDL3pp_keycode.h:394
constexpr SDL_Keycode KEYCODE_AC_NEW
ScancodeToKeycode(SCANCODE_AC_NEW)
Definition SDL3pp_keycode.h:842
constexpr SDL_Keycode KEYCODE_CALL
ScancodeToKeycode(SCANCODE_CALL)
Definition SDL3pp_keycode.h:890
constexpr SDL_Keycode KEYCODE_N
'n'
Definition SDL3pp_keycode.h:349
constexpr SDL_Keycode KEYCODE_A
'a'
Definition SDL3pp_keycode.h:323
constexpr SDL_Keycode KEYCODE_AC_SEARCH
ScancodeToKeycode(SCANCODE_AC_SEARCH)
Definition SDL3pp_keycode.h:863
constexpr SDL_Keycode KEYCODE_CURRENCYUNIT
ScancodeToKeycode(SCANCODE_CURRENCYUNIT)
Definition SDL3pp_keycode.h:644
constexpr SDL_Keycode KEYCODE_KP_DBLAMPERSAND
ScancodeToKeycode(SCANCODE_KP_DBLAMPERSAND)
Definition SDL3pp_keycode.h:704
constexpr SDL_Keycode KEYCODE_KP_PERIOD
ScancodeToKeycode(SCANCODE_KP_PERIOD)
Definition SDL3pp_keycode.h:500
constexpr Keymod KMOD_LEVEL5
the Level 5 Shift key is down.
Definition SDL3pp_keycode.h:68
constexpr SDL_Keycode KEYCODE_H
'h'
Definition SDL3pp_keycode.h:337
constexpr SDL_Keycode KEYCODE_KP_DIVIDE
ScancodeToKeycode(SCANCODE_KP_DIVIDE)
Definition SDL3pp_keycode.h:455
constexpr SDL_Keycode KEYCODE_THOUSANDSSEPARATOR
ScancodeToKeycode(SCANCODE_THOUSANDSSEPARATOR)
Definition SDL3pp_keycode.h:638
constexpr SDL_Keycode KEYCODE_MENU
ScancodeToKeycode(SCANCODE_MENU)
Definition SDL3pp_keycode.h:554
constexpr SDL_Keycode KEYCODE_F18
ScancodeToKeycode(SCANCODE_F18)
Definition SDL3pp_keycode.h:527
constexpr SDL_Keycode KEYCODE_F1
ScancodeToKeycode(SCANCODE_F1)
Definition SDL3pp_keycode.h:390
constexpr SDL_Keycode KEYCODE_S
's'
Definition SDL3pp_keycode.h:359
constexpr SDL_Keycode KEYCODE_AC_HOME
ScancodeToKeycode(SCANCODE_AC_HOME)
Definition SDL3pp_keycode.h:866
constexpr SDL_Keycode KEYCODE_RETURN2
ScancodeToKeycode(SCANCODE_RETURN2)
Definition SDL3pp_keycode.h:611
constexpr SDL_Keycode KEYCODE_DELETE
'\x7F'
Definition SDL3pp_keycode.h:383
constexpr SDL_Keycode KEYCODE_EXTENDED_MASK
EXTENDED_MASK.
Definition SDL3pp_keycode.h:218
constexpr SDL_Keycode KEYCODE_OPER
ScancodeToKeycode(SCANCODE_OPER)
Definition SDL3pp_keycode.h:620
constexpr SDL_Keycode KEYCODE_LMETA
Extended key Left Meta.
Definition SDL3pp_keycode.h:905
constexpr SDL_Keycode KEYCODE_KP_COLON
ScancodeToKeycode(SCANCODE_KP_COLON)
Definition SDL3pp_keycode.h:713
constexpr SDL_Keycode KEYCODE_AC_SAVE
ScancodeToKeycode(SCANCODE_AC_SAVE)
Definition SDL3pp_keycode.h:854
constexpr SDL_Keycode KEYCODE_KP_HEXADECIMAL
ScancodeToKeycode(SCANCODE_KP_HEXADECIMAL)
Definition SDL3pp_keycode.h:767
constexpr SDL_Keycode KEYCODE_KP_MEMRECALL
ScancodeToKeycode(SCANCODE_KP_MEMRECALL)
Definition SDL3pp_keycode.h:731
constexpr SDL_Keycode KEYCODE_KP_3
ScancodeToKeycode(SCANCODE_KP_3)
Definition SDL3pp_keycode.h:476
constexpr SDL_Keycode KEYCODE_F10
ScancodeToKeycode(SCANCODE_F10)
Definition SDL3pp_keycode.h:408
constexpr SDL_Keycode KEYCODE_KP_MINUS
ScancodeToKeycode(SCANCODE_KP_MINUS)
Definition SDL3pp_keycode.h:461
constexpr Keymod KMOD_RALT
the right Alt key is down.
Definition SDL3pp_keycode.h:88
constexpr SDL_Keycode KEYCODE_SLEEP
ScancodeToKeycode(SCANCODE_SLEEP)
Definition SDL3pp_keycode.h:797
constexpr SDL_Keycode KEYCODE_KP_COMMA
ScancodeToKeycode(SCANCODE_KP_COMMA)
Definition SDL3pp_keycode.h:590
constexpr SDL_Keycode KEYCODE_VOLUMEUP
ScancodeToKeycode(SCANCODE_VOLUMEUP)
Definition SDL3pp_keycode.h:584
constexpr SDL_Keycode KEYCODE_KP_9
ScancodeToKeycode(SCANCODE_KP_9)
Definition SDL3pp_keycode.h:494
constexpr SDL_Keycode KEYCODE_STOP
ScancodeToKeycode(SCANCODE_STOP)
Definition SDL3pp_keycode.h:560
constexpr SDL_Keycode KEYCODE_COPY
ScancodeToKeycode(SCANCODE_COPY)
Definition SDL3pp_keycode.h:572
constexpr SDL_Keycode KEYCODE_RIGHT
ScancodeToKeycode(SCANCODE_RIGHT)
Definition SDL3pp_keycode.h:441
constexpr SDL_Keycode KEYCODE_LEFTPAREN
'('
Definition SDL3pp_keycode.h:261
constexpr SDL_Keycode KEYCODE_LEVEL5_SHIFT
Extended key Level 5 Shift.
Definition SDL3pp_keycode.h:899
constexpr SDL_Keycode KEYCODE_UNKNOWN
0
Definition SDL3pp_keycode.h:235
constexpr SDL_Keycode KEYCODE_AC_BACK
ScancodeToKeycode(SCANCODE_AC_BACK)
Definition SDL3pp_keycode.h:869
constexpr SDL_Keycode KEYCODE_VOLUMEDOWN
ScancodeToKeycode(SCANCODE_VOLUMEDOWN)
Definition SDL3pp_keycode.h:587
constexpr SDL_Keycode KEYCODE_4
'4'
Definition SDL3pp_keycode.h:285
constexpr SDL_Keycode KEYCODE_PERCENT
''
Definition SDL3pp_keycode.h:255
constexpr SDL_Keycode KEYCODE_KP_F
ScancodeToKeycode(SCANCODE_KP_F)
Definition SDL3pp_keycode.h:683
constexpr SDL_Keycode KEYCODE_MODE
ScancodeToKeycode(SCANCODE_MODE)
Definition SDL3pp_keycode.h:794
constexpr SDL_Keycode KEYCODE_KP_PLUSMINUS
ScancodeToKeycode(SCANCODE_KP_PLUSMINUS)
Definition SDL3pp_keycode.h:749
constexpr SDL_Keycode KEYCODE_RIGHTBRACE
'}'
Definition SDL3pp_keycode.h:379
constexpr SDL_Keycode KEYCODE_MEDIA_NEXT_TRACK
ScancodeToKeycode(SCANCODE_MEDIA_NEXT_TRACK)
Definition SDL3pp_keycode.h:824
constexpr SDL_Keycode KEYCODE_KP_OCTAL
ScancodeToKeycode(SCANCODE_KP_OCTAL)
Definition SDL3pp_keycode.h:761
constexpr Keymod KMOD_CAPS
the Caps Lock key is down.
Definition SDL3pp_keycode.h:108
constexpr SDL_Keycode KEYCODE_MEDIA_PREVIOUS_TRACK
ScancodeToKeycode(SCANCODE_MEDIA_PREVIOUS_TRACK)
Definition SDL3pp_keycode.h:827
constexpr SDL_Keycode KEYCODE_KP_E
ScancodeToKeycode(SCANCODE_KP_E)
Definition SDL3pp_keycode.h:680
constexpr SDL_Keycode KEYCODE_AC_STOP
ScancodeToKeycode(SCANCODE_AC_STOP)
Definition SDL3pp_keycode.h:875
constexpr SDL_Keycode KEYCODE_KP_XOR
ScancodeToKeycode(SCANCODE_KP_XOR)
Definition SDL3pp_keycode.h:686
constexpr SDL_Keycode KEYCODE_KP_6
ScancodeToKeycode(SCANCODE_KP_6)
Definition SDL3pp_keycode.h:485
constexpr SDL_Keycode KEYCODE_KP_C
ScancodeToKeycode(SCANCODE_KP_C)
Definition SDL3pp_keycode.h:674
constexpr SDL_Keycode KEYCODE_E
'e'
Definition SDL3pp_keycode.h:331
constexpr SDL_Keycode KEYCODE_RMETA
Extended key Right Meta.
Definition SDL3pp_keycode.h:907
constexpr SDL_Keycode KEYCODE_KP_EQUALSAS400
ScancodeToKeycode(SCANCODE_KP_EQUALSAS400)
Definition SDL3pp_keycode.h:593
constexpr SDL_Keycode KEYCODE_TAB
'\t'
Definition SDL3pp_keycode.h:243
constexpr SDL_Keycode KEYCODE_LSHIFT
ScancodeToKeycode(SCANCODE_LSHIFT)
Definition SDL3pp_keycode.h:773
constexpr SDL_Keycode KEYCODE_Z
'z'
Definition SDL3pp_keycode.h:373
constexpr SDL_Keycode KEYCODE_KP_CLEAR
ScancodeToKeycode(SCANCODE_KP_CLEAR)
Definition SDL3pp_keycode.h:752
constexpr SDL_Keycode KEYCODE_EXCLAIM
'!'
Definition SDL3pp_keycode.h:247
constexpr SDL_Keycode KEYCODE_ENDCALL
ScancodeToKeycode(SCANCODE_ENDCALL)
Definition SDL3pp_keycode.h:893
constexpr Keymod KMOD_LCTRL
the left Ctrl (Control) key is down.
Definition SDL3pp_keycode.h:73
the main namespace where all SDL3pp public functions and types live
Definition SDL3pp_assert.h:7