NAP
keyboard.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 #include <cstdint>
8 #include <utility/dllexport.h>
9 #include <nap/numeric.h>
10 
11 namespace nap
12 {
16  enum class EKeyCode : int
17  {
18  KEY_UNKNOWN = -1,
19  KEY_RETURN,
20  KEY_ESCAPE,
22  KEY_TAB,
23  KEY_SPACE,
26  KEY_HASH,
28  KEY_DOLLAR,
30  KEY_QUOTE,
34  KEY_PLUS,
35  KEY_COMMA,
36  KEY_MINUS,
37  KEY_PERIOD,
38  KEY_SLASH,
39  KEY_0,
40  KEY_1,
41  KEY_2,
42  KEY_3,
43  KEY_4,
44  KEY_5,
45  KEY_6,
46  KEY_7,
47  KEY_8,
48  KEY_9,
49  KEY_COLON,
51  KEY_LESS,
52  KEY_EQUALS,
55  KEY_AT,
59  KEY_CARET,
62  KEY_a,
63  KEY_b,
64  KEY_c,
65  KEY_d,
66  KEY_e,
67  KEY_f,
68  KEY_g,
69  KEY_h,
70  KEY_i,
71  KEY_j,
72  KEY_k,
73  KEY_l,
74  KEY_m,
75  KEY_n,
76  KEY_o,
77  KEY_p,
78  KEY_q,
79  KEY_r,
80  KEY_s,
81  KEY_t,
82  KEY_u,
83  KEY_v,
84  KEY_w,
85  KEY_x,
86  KEY_y,
87  KEY_z,
89  KEY_F1,
90  KEY_F2,
91  KEY_F3,
92  KEY_F4,
93  KEY_F5,
94  KEY_F6,
95  KEY_F7,
96  KEY_F8,
97  KEY_F9,
98  KEY_F10,
99  KEY_F11,
100  KEY_F12,
103  KEY_PAUSE,
104  KEY_INSERT,
105  KEY_HOME,
106  KEY_PAGEUP,
107  KEY_DELETE,
108  KEY_END,
109  KEY_PAGEDOWN,
110  KEY_RIGHT,
111  KEY_LEFT,
112  KEY_DOWN,
113  KEY_UP,
117  KEY_KP_MINUS,
118  KEY_KP_PLUS,
119  KEY_KP_ENTER,
120  KEY_KP_1,
121  KEY_KP_2,
122  KEY_KP_3,
123  KEY_KP_4,
124  KEY_KP_5,
125  KEY_KP_6,
126  KEY_KP_7,
127  KEY_KP_8,
128  KEY_KP_9,
129  KEY_KP_0,
132  KEY_POWER,
134  KEY_F13,
135  KEY_F14,
136  KEY_F15,
137  KEY_F16,
138  KEY_F17,
139  KEY_F18,
140  KEY_F19,
141  KEY_F20,
142  KEY_F21,
143  KEY_F22,
144  KEY_F23,
145  KEY_F24,
146  KEY_EXECUTE,
147  KEY_HELP,
148  KEY_MENU,
149  KEY_SELECT,
150  KEY_STOP,
151  KEY_AGAIN,
152  KEY_UNDO,
153  KEY_CUT,
154  KEY_COPY,
155  KEY_PASTE,
156  KEY_FIND,
157  KEY_MUTE,
158  KEY_VOLUMEUP,
160  KEY_KP_COMMA,
162  KEY_ALTERASE,
163  KEY_SYSREQ,
164  KEY_CANCEL,
165  KEY_CLEAR,
166  KEY_PRIOR,
167  KEY_RETURN2,
169  KEY_OUT,
170  KEY_OPER,
172  KEY_CRSEL,
173  KEY_EXSEL,
174  KEY_KP_00,
175  KEY_KP_000,
184  KEY_KP_TAB,
186  KEY_KP_A,
187  KEY_KP_B,
188  KEY_KP_C,
189  KEY_KP_D,
190  KEY_KP_E,
191  KEY_KP_F,
192  KEY_KP_XOR,
193  KEY_KP_POWER,
195  KEY_KP_LESS,
201  KEY_KP_COLON,
202  KEY_KP_HASH,
203  KEY_KP_SPACE,
204  KEY_KP_AT,
214  KEY_KP_CLEAR,
217  KEY_KP_OCTAL,
220  KEY_LCTRL,
221  KEY_LSHIFT,
222  KEY_LALT,
223  KEY_LGUI,
224  KEY_RCTRL,
225  KEY_RSHIFT,
226  KEY_RALT,
227  KEY_RGUI,
228  KEY_MODE,
235  KEY_WWW,
236  KEY_MAIL,
238  KEY_COMPUTER,
240  KEY_AC_HOME,
241  KEY_AC_BACK,
243  KEY_AC_STOP,
252  KEY_EJECT,
253  KEY_SLEEP
254  };
255 }
nap::EKeyCode::KEY_END
@ KEY_END
nap::EKeyCode::KEY_LEFTBRACKET
@ KEY_LEFTBRACKET
nap::EKeyCode::KEY_UNDO
@ KEY_UNDO
nap::EKeyCode::KEY_SPACE
@ KEY_SPACE
nap::EKeyCode::KEY_KP_6
@ KEY_KP_6
nap::EKeyCode::KEY_VOLUMEUP
@ KEY_VOLUMEUP
nap::EKeyCode::KEY_WWW
@ KEY_WWW
nap::EKeyCode::KEY_STOP
@ KEY_STOP
nap::EKeyCode::KEY_VOLUMEDOWN
@ KEY_VOLUMEDOWN
nap::EKeyCode::KEY_F19
@ KEY_F19
nap::EKeyCode
EKeyCode
Definition: keyboard.h:16
nap::EKeyCode::KEY_KP_GREATER
@ KEY_KP_GREATER
nap::EKeyCode::KEY_F3
@ KEY_F3
nap::EKeyCode::KEY_COMPUTER
@ KEY_COMPUTER
nap::EKeyCode::KEY_KP_5
@ KEY_KP_5
nap::EKeyCode::KEY_LEFT
@ KEY_LEFT
nap::EKeyCode::KEY_FIND
@ KEY_FIND
nap::EKeyCode::KEY_KP_EQUALSAS400
@ KEY_KP_EQUALSAS400
nap::EKeyCode::KEY_KP_MEMSTORE
@ KEY_KP_MEMSTORE
nap::EKeyCode::KEY_DOLLAR
@ KEY_DOLLAR
nap::EKeyCode::KEY_UNDERSCORE
@ KEY_UNDERSCORE
nap::EKeyCode::KEY_HOME
@ KEY_HOME
nap::EKeyCode::KEY_UNKNOWN
@ KEY_UNKNOWN
nap::EKeyCode::KEY_GREATER
@ KEY_GREATER
nap::EKeyCode::KEY_MEDIASELECT
@ KEY_MEDIASELECT
nap::EKeyCode::KEY_AC_HOME
@ KEY_AC_HOME
nap::EKeyCode::KEY_F23
@ KEY_F23
nap::EKeyCode::KEY_SLEEP
@ KEY_SLEEP
nap::EKeyCode::KEY_KP_7
@ KEY_KP_7
nap::EKeyCode::KEY_PLUS
@ KEY_PLUS
nap::EKeyCode::KEY_F24
@ KEY_F24
nap::EKeyCode::KEY_KP_PERIOD
@ KEY_KP_PERIOD
nap::EKeyCode::KEY_KP_MEMMULTIPLY
@ KEY_KP_MEMMULTIPLY
nap::EKeyCode::KEY_POWER
@ KEY_POWER
nap::EKeyCode::KEY_w
@ KEY_w
nap::EKeyCode::KEY_KP_MEMSUBTRACT
@ KEY_KP_MEMSUBTRACT
nap::EKeyCode::KEY_RIGHTBRACKET
@ KEY_RIGHTBRACKET
nap::EKeyCode::KEY_RIGHTPAREN
@ KEY_RIGHTPAREN
nap::EKeyCode::KEY_BACKSPACE
@ KEY_BACKSPACE
nap::EKeyCode::KEY_DECIMALSEPARATOR
@ KEY_DECIMALSEPARATOR
nap::EKeyCode::KEY_o
@ KEY_o
nap::EKeyCode::KEY_KP_MULTIPLY
@ KEY_KP_MULTIPLY
nap::EKeyCode::KEY_DELETE
@ KEY_DELETE
nap::EKeyCode::KEY_KP_AMPERSAND
@ KEY_KP_AMPERSAND
nap::EKeyCode::KEY_KP_DBLVERTICALBAR
@ KEY_KP_DBLVERTICALBAR
nap::EKeyCode::KEY_KP_BINARY
@ KEY_KP_BINARY
nap::EKeyCode::KEY_PASTE
@ KEY_PASTE
nap::EKeyCode::KEY_KP_HASH
@ KEY_KP_HASH
nap::EKeyCode::KEY_RALT
@ KEY_RALT
nap::EKeyCode::KEY_KP_8
@ KEY_KP_8
nap::EKeyCode::KEY_F10
@ KEY_F10
nap::EKeyCode::KEY_ESCAPE
@ KEY_ESCAPE
nap::EKeyCode::KEY_KP_MEMRECALL
@ KEY_KP_MEMRECALL
nap::EKeyCode::KEY_KP_LEFTBRACE
@ KEY_KP_LEFTBRACE
nap::EKeyCode::KEY_PRINTSCREEN
@ KEY_PRINTSCREEN
nap::EKeyCode::KEY_PRIOR
@ KEY_PRIOR
nap::EKeyCode::KEY_RCTRL
@ KEY_RCTRL
nap::EKeyCode::KEY_F1
@ KEY_F1
nap::EKeyCode::KEY_KP_DECIMAL
@ KEY_KP_DECIMAL
nap::EKeyCode::KEY_COPY
@ KEY_COPY
nap::EKeyCode::KEY_OPER
@ KEY_OPER
nap::EKeyCode::KEY_EXCLAIM
@ KEY_EXCLAIM
nap::EKeyCode::KEY_PAGEDOWN
@ KEY_PAGEDOWN
nap::EKeyCode::KEY_BACKSLASH
@ KEY_BACKSLASH
nap::EKeyCode::KEY_KP_B
@ KEY_KP_B
nap::EKeyCode::KEY_KP_000
@ KEY_KP_000
nap::EKeyCode::KEY_KP_RIGHTPAREN
@ KEY_KP_RIGHTPAREN
nap::EKeyCode::KEY_SELECT
@ KEY_SELECT
nap::EKeyCode::KEY_F20
@ KEY_F20
nap::EKeyCode::KEY_KP_3
@ KEY_KP_3
nap::EKeyCode::KEY_KP_EXCLAM
@ KEY_KP_EXCLAM
nap::EKeyCode::KEY_BRIGHTNESSDOWN
@ KEY_BRIGHTNESSDOWN
nap::EKeyCode::KEY_9
@ KEY_9
nap::EKeyCode::KEY_KP_OCTAL
@ KEY_KP_OCTAL
nap::EKeyCode::KEY_KP_0
@ KEY_KP_0
nap::EKeyCode::KEY_F21
@ KEY_F21
nap::EKeyCode::KEY_KP_CLEARENTRY
@ KEY_KP_CLEARENTRY
nap::EKeyCode::KEY_KP_XOR
@ KEY_KP_XOR
nap::EKeyCode::KEY_CANCEL
@ KEY_CANCEL
nap::EKeyCode::KEY_SYSREQ
@ KEY_SYSREQ
nap::EKeyCode::KEY_CARET
@ KEY_CARET
nap::EKeyCode::KEY_CALCULATOR
@ KEY_CALCULATOR
nap::EKeyCode::KEY_CAPSLOCK
@ KEY_CAPSLOCK
nap::EKeyCode::KEY_AT
@ KEY_AT
nap::EKeyCode::KEY_BACKQUOTE
@ KEY_BACKQUOTE
nap::EKeyCode::KEY_QUOTEDBL
@ KEY_QUOTEDBL
nap::EKeyCode::KEY_AC_FORWARD
@ KEY_AC_FORWARD
nap::EKeyCode::KEY_7
@ KEY_7
nap::EKeyCode::KEY_MINUS
@ KEY_MINUS
nap::EKeyCode::KEY_KP_4
@ KEY_KP_4
nap::EKeyCode::KEY_a
@ KEY_a
nap::EKeyCode::KEY_CRSEL
@ KEY_CRSEL
nap::EKeyCode::KEY_COMMA
@ KEY_COMMA
nap::EKeyCode::KEY_OUT
@ KEY_OUT
nap::EKeyCode::KEY_KP_MEMADD
@ KEY_KP_MEMADD
nap::EKeyCode::KEY_m
@ KEY_m
nap::EKeyCode::KEY_l
@ KEY_l
nap::EKeyCode::KEY_F15
@ KEY_F15
nap::EKeyCode::KEY_TAB
@ KEY_TAB
nap::EKeyCode::KEY_k
@ KEY_k
nap::EKeyCode::KEY_KP_00
@ KEY_KP_00
nap::EKeyCode::KEY_QUOTE
@ KEY_QUOTE
nap::EKeyCode::KEY_EXSEL
@ KEY_EXSEL
nap::EKeyCode::KEY_t
@ KEY_t
nap::EKeyCode::KEY_THOUSANDSSEPARATOR
@ KEY_THOUSANDSSEPARATOR
nap::EKeyCode::KEY_COLON
@ KEY_COLON
nap::EKeyCode::KEY_AC_STOP
@ KEY_AC_STOP
nap::EKeyCode::KEY_KBDILLUMDOWN
@ KEY_KBDILLUMDOWN
nap::EKeyCode::KEY_EJECT
@ KEY_EJECT
nap::EKeyCode::KEY_KP_DBLAMPERSAND
@ KEY_KP_DBLAMPERSAND
nap::EKeyCode::KEY_NUMLOCKCLEAR
@ KEY_NUMLOCKCLEAR
nap::EKeyCode::KEY_p
@ KEY_p
nap::EKeyCode::KEY_UP
@ KEY_UP
nap::EKeyCode::KEY_i
@ KEY_i
nap::EKeyCode::KEY_KP_AT
@ KEY_KP_AT
nap::EKeyCode::KEY_DOWN
@ KEY_DOWN
nap::EKeyCode::KEY_z
@ KEY_z
nap::EKeyCode::KEY_AC_SEARCH
@ KEY_AC_SEARCH
nap::EKeyCode::KEY_F12
@ KEY_F12
nap::EKeyCode::KEY_KP_HEXADECIMAL
@ KEY_KP_HEXADECIMAL
nap::EKeyCode::KEY_AUDIOPLAY
@ KEY_AUDIOPLAY
nap::EKeyCode::KEY_DISPLAYSWITCH
@ KEY_DISPLAYSWITCH
nap::EKeyCode::KEY_MAIL
@ KEY_MAIL
nap::EKeyCode::KEY_AMPERSAND
@ KEY_AMPERSAND
nap::EKeyCode::KEY_5
@ KEY_5
nap::EKeyCode::KEY_AC_BACK
@ KEY_AC_BACK
nap::EKeyCode::KEY_LSHIFT
@ KEY_LSHIFT
nap::EKeyCode::KEY_F14
@ KEY_F14
nap::EKeyCode::KEY_u
@ KEY_u
nap::EKeyCode::KEY_KP_F
@ KEY_KP_F
nap::EKeyCode::KEY_F17
@ KEY_F17
nap::EKeyCode::KEY_BRIGHTNESSUP
@ KEY_BRIGHTNESSUP
nap::EKeyCode::KEY_KP_DIVIDE
@ KEY_KP_DIVIDE
nap::EKeyCode::KEY_KP_E
@ KEY_KP_E
nap::EKeyCode::KEY_KP_TAB
@ KEY_KP_TAB
nap::EKeyCode::KEY_LESS
@ KEY_LESS
nap::EKeyCode::KEY_KP_LEFTPAREN
@ KEY_KP_LEFTPAREN
nap::EKeyCode::KEY_RSHIFT
@ KEY_RSHIFT
nap::EKeyCode::KEY_KP_MINUS
@ KEY_KP_MINUS
nap::EKeyCode::KEY_0
@ KEY_0
nap::EKeyCode::KEY_8
@ KEY_8
nap::EKeyCode::KEY_LGUI
@ KEY_LGUI
nap::EKeyCode::KEY_KP_SPACE
@ KEY_KP_SPACE
nap::EKeyCode::KEY_F18
@ KEY_F18
nap::EKeyCode::KEY_SLASH
@ KEY_SLASH
nap::EKeyCode::KEY_KP_C
@ KEY_KP_C
nap::EKeyCode::KEY_6
@ KEY_6
nap::EKeyCode::KEY_c
@ KEY_c
nap::EKeyCode::KEY_KP_ENTER
@ KEY_KP_ENTER
nap::EKeyCode::KEY_RIGHT
@ KEY_RIGHT
nap::EKeyCode::KEY_2
@ KEY_2
nap::EKeyCode::KEY_F9
@ KEY_F9
nap::EKeyCode::KEY_PERCENT
@ KEY_PERCENT
nap::EKeyCode::KEY_g
@ KEY_g
nap::EKeyCode::KEY_r
@ KEY_r
nap::EKeyCode::KEY_KP_MEMDIVIDE
@ KEY_KP_MEMDIVIDE
nap::EKeyCode::KEY_f
@ KEY_f
nap::EKeyCode::KEY_d
@ KEY_d
nap::EKeyCode::KEY_s
@ KEY_s
nap::EKeyCode::KEY_KP_POWER
@ KEY_KP_POWER
nap::EKeyCode::KEY_AGAIN
@ KEY_AGAIN
nap::EKeyCode::KEY_AUDIONEXT
@ KEY_AUDIONEXT
nap::EKeyCode::KEY_KP_COLON
@ KEY_KP_COLON
nap::EKeyCode::KEY_v
@ KEY_v
nap::EKeyCode::KEY_AUDIOMUTE
@ KEY_AUDIOMUTE
nap::EKeyCode::KEY_RETURN
@ KEY_RETURN
nap::EKeyCode::KEY_n
@ KEY_n
nap::EKeyCode::KEY_HELP
@ KEY_HELP
nap::EKeyCode::KEY_CLEAR
@ KEY_CLEAR
nap::EKeyCode::KEY_APPLICATION
@ KEY_APPLICATION
nap::EKeyCode::KEY_SEPARATOR
@ KEY_SEPARATOR
nap
Definition: templateapp.h:17
nap::EKeyCode::KEY_KP_BACKSPACE
@ KEY_KP_BACKSPACE
nap::EKeyCode::KEY_HASH
@ KEY_HASH
nap::EKeyCode::KEY_KP_A
@ KEY_KP_A
nap::EKeyCode::KEY_KP_EQUALS
@ KEY_KP_EQUALS
nap::EKeyCode::KEY_b
@ KEY_b
nap::EKeyCode::KEY_4
@ KEY_4
nap::EKeyCode::KEY_AUDIOSTOP
@ KEY_AUDIOSTOP
nap::EKeyCode::KEY_CURRENCYSUBUNIT
@ KEY_CURRENCYSUBUNIT
nap::EKeyCode::KEY_KP_RIGHTBRACE
@ KEY_KP_RIGHTBRACE
nap::EKeyCode::KEY_LEFTPAREN
@ KEY_LEFTPAREN
nap::EKeyCode::KEY_EXECUTE
@ KEY_EXECUTE
nap::EKeyCode::KEY_MENU
@ KEY_MENU
nap::EKeyCode::KEY_SEMICOLON
@ KEY_SEMICOLON
nap::EKeyCode::KEY_F13
@ KEY_F13
nap::EKeyCode::KEY_F8
@ KEY_F8
nap::EKeyCode::KEY_1
@ KEY_1
nap::EKeyCode::KEY_QUESTION
@ KEY_QUESTION
nap::EKeyCode::KEY_MODE
@ KEY_MODE
nap::EKeyCode::KEY_KP_1
@ KEY_KP_1
nap::EKeyCode::KEY_KP_COMMA
@ KEY_KP_COMMA
nap::EKeyCode::KEY_KBDILLUMTOGGLE
@ KEY_KBDILLUMTOGGLE
nap::EKeyCode::KEY_y
@ KEY_y
nap::EKeyCode::KEY_F22
@ KEY_F22
nap::EKeyCode::KEY_AC_REFRESH
@ KEY_AC_REFRESH
nap::EKeyCode::KEY_CUT
@ KEY_CUT
nap::EKeyCode::KEY_F4
@ KEY_F4
nap::EKeyCode::KEY_KP_MEMCLEAR
@ KEY_KP_MEMCLEAR
nap::EKeyCode::KEY_INSERT
@ KEY_INSERT
nap::EKeyCode::KEY_ASTERISK
@ KEY_ASTERISK
nap::EKeyCode::KEY_SCROLLLOCK
@ KEY_SCROLLLOCK
nap::EKeyCode::KEY_e
@ KEY_e
nap::EKeyCode::KEY_KP_D
@ KEY_KP_D
nap::EKeyCode::KEY_PERIOD
@ KEY_PERIOD
nap::EKeyCode::KEY_KP_CLEAR
@ KEY_KP_CLEAR
nap::EKeyCode::KEY_F2
@ KEY_F2
nap::EKeyCode::KEY_AUDIOPREV
@ KEY_AUDIOPREV
nap::EKeyCode::KEY_x
@ KEY_x
nap::EKeyCode::KEY_KP_PERCENT
@ KEY_KP_PERCENT
nap::EKeyCode::KEY_KP_VERTICALBAR
@ KEY_KP_VERTICALBAR
nap::EKeyCode::KEY_ALTERASE
@ KEY_ALTERASE
nap::EKeyCode::KEY_LALT
@ KEY_LALT
nap::EKeyCode::KEY_KP_2
@ KEY_KP_2
nap::EKeyCode::KEY_F7
@ KEY_F7
nap::EKeyCode::KEY_CLEARAGAIN
@ KEY_CLEARAGAIN
nap::EKeyCode::KEY_F5
@ KEY_F5
nap::EKeyCode::KEY_EQUALS
@ KEY_EQUALS
nap::EKeyCode::KEY_h
@ KEY_h
nap::EKeyCode::KEY_AC_BOOKMARKS
@ KEY_AC_BOOKMARKS
nap::EKeyCode::KEY_CURRENCYUNIT
@ KEY_CURRENCYUNIT
nap::EKeyCode::KEY_j
@ KEY_j
nap::EKeyCode::KEY_3
@ KEY_3
nap::EKeyCode::KEY_LCTRL
@ KEY_LCTRL
nap::EKeyCode::KEY_KP_LESS
@ KEY_KP_LESS
nap::EKeyCode::KEY_KP_PLUS
@ KEY_KP_PLUS
nap::EKeyCode::KEY_KP_PLUSMINUS
@ KEY_KP_PLUSMINUS
nap::EKeyCode::KEY_F11
@ KEY_F11
nap::EKeyCode::KEY_PAUSE
@ KEY_PAUSE
nap::EKeyCode::KEY_RETURN2
@ KEY_RETURN2
nap::EKeyCode::KEY_MUTE
@ KEY_MUTE
nap::EKeyCode::KEY_F6
@ KEY_F6
nap::EKeyCode::KEY_KP_9
@ KEY_KP_9
nap::EKeyCode::KEY_RGUI
@ KEY_RGUI
nap::EKeyCode::KEY_F16
@ KEY_F16
nap::EKeyCode::KEY_KBDILLUMUP
@ KEY_KBDILLUMUP
nap::EKeyCode::KEY_q
@ KEY_q
nap::EKeyCode::KEY_PAGEUP
@ KEY_PAGEUP