summaryrefslogtreecommitdiffstats
path: root/src/newt/native/KeyEvent.h
blob: 0f7b1606b6da32bab4f64cb6828e3957f136fe51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
/**
 * Copyright 2011 JogAmp Community. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are
 * permitted provided that the following conditions are met:
 * 
 *    1. Redistributions of source code must retain the above copyright notice, this list of
 *       conditions and the following disclaimer.
 * 
 *    2. Redistributions in binary form must reproduce the above copyright notice, this list
 *       of conditions and the following disclaimer in the documentation and/or other materials
 *       provided with the distribution.
 * 
 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * The views and conclusions contained in the software and documentation are those of the
 * authors and should not be interpreted as representing official policies, either expressed
 * or implied, of JogAmp Community.
 */

#ifndef _KEY_EVENT_H_
#define _KEY_EVENT_H_

#define EVENT_KEY_PRESSED  300
#define EVENT_KEY_RELEASED 301
#define EVENT_KEY_TYPED 302

#define J_CHAR_UNDEFINED 0xFFFF;
#define J_VK_ENTER          '\n'
#define J_VK_BACK_SPACE     '\b'
#define J_VK_TAB            '\t'
#define J_VK_CANCEL         0x03
#define J_VK_CLEAR          0x0C
#define J_VK_SHIFT          0x10
#define J_VK_CONTROL        0x11
#define J_VK_ALT            0x12
#define J_VK_PAUSE          0x13
#define J_VK_CAPS_LOCK      0x14
#define J_VK_ESCAPE         0x1B
#define J_VK_SPACE          0x20
#define J_VK_PAGE_UP        0x21
#define J_VK_PAGE_DOWN      0x22
#define J_VK_END            0x23
#define J_VK_HOME           0x24
#define J_VK_LEFT           0x25
#define J_VK_UP             0x26
#define J_VK_RIGHT          0x27
#define J_VK_DOWN           0x28
#define J_VK_COMMA          0x2C
#define J_VK_MINUS          0x2D
#define J_VK_PERIOD         0x2E
#define J_VK_SLASH          0x2F
#define J_VK_0              0x30
#define J_VK_1              0x31
#define J_VK_2              0x32
#define J_VK_3              0x33
#define J_VK_4              0x34
#define J_VK_5              0x35
#define J_VK_6              0x36
#define J_VK_7              0x37
#define J_VK_8              0x38
#define J_VK_9              0x39
#define J_VK_SEMICOLON      0x3B
#define J_VK_EQUALS         0x3D
#define J_VK_A              0x41
#define J_VK_B              0x42
#define J_VK_C              0x43
#define J_VK_D              0x44
#define J_VK_E              0x45
#define J_VK_F              0x46
#define J_VK_G              0x47
#define J_VK_H              0x48
#define J_VK_I              0x49
#define J_VK_J              0x4A
#define J_VK_K              0x4B
#define J_VK_L              0x4C
#define J_VK_M              0x4D
#define J_VK_N              0x4E
#define J_VK_O              0x4F
#define J_VK_P              0x50
#define J_VK_Q              0x51
#define J_VK_R              0x52
#define J_VK_S              0x53
#define J_VK_T              0x54
#define J_VK_U              0x55
#define J_VK_V              0x56
#define J_VK_W              0x57
#define J_VK_X              0x58
#define J_VK_Y              0x59
#define J_VK_Z              0x5A
#define J_VK_OPEN_BRACKET   0x5B
#define J_VK_BACK_SLASH     0x5C
#define J_VK_CLOSE_BRACKET  0x5D
#define J_VK_NUMPAD0        0x60
#define J_VK_NUMPAD1        0x61
#define J_VK_NUMPAD2        0x62
#define J_VK_NUMPAD3        0x63
#define J_VK_NUMPAD4        0x64
#define J_VK_NUMPAD5        0x65
#define J_VK_NUMPAD6        0x66
#define J_VK_NUMPAD7        0x67
#define J_VK_NUMPAD8        0x68
#define J_VK_NUMPAD9        0x69
#define J_VK_MULTIPLY       0x6A
#define J_VK_ADD            0x6B
#define J_VK_SEPARATOR      0x6C
#define J_VK_SUBTRACT       0x6D
#define J_VK_DECIMAL        0x6E
#define J_VK_DIVIDE         0x6F
#define J_VK_DELETE         0x7F /* ASCII DEL */
#define J_VK_NUM_LOCK       0x90
#define J_VK_SCROLL_LOCK    0x91
#define J_VK_F1             0x70
#define J_VK_F2             0x71
#define J_VK_F3             0x72
#define J_VK_F4             0x73
#define J_VK_F5             0x74
#define J_VK_F6             0x75
#define J_VK_F7             0x76
#define J_VK_F8             0x77
#define J_VK_F9             0x78
#define J_VK_F10            0x79
#define J_VK_F11            0x7A
#define J_VK_F12            0x7B
#define J_VK_F13            0xF000
#define J_VK_F14            0xF001
#define J_VK_F15            0xF002
#define J_VK_F16            0xF003
#define J_VK_F17            0xF004
#define J_VK_F18            0xF005
#define J_VK_F19            0xF006
#define J_VK_F20            0xF007
#define J_VK_F21            0xF008
#define J_VK_F22            0xF009
#define J_VK_F23            0xF00A
#define J_VK_F24            0xF00B
#define J_VK_PRINTSCREEN    0x9A
#define J_VK_INSERT         0x9B
#define J_VK_HELP           0x9C
#define J_VK_META           0x9D
#define J_VK_BACK_QUOTE     0xC0
#define J_VK_QUOTE          0xDE
#define J_VK_KP_UP          0xE0
#define J_VK_KP_DOWN        0xE1
#define J_VK_KP_LEFT        0xE2
#define J_VK_KP_RIGHT       0xE3
#define J_VK_DEAD_GRAVE               0x80
#define J_VK_DEAD_ACUTE               0x81
#define J_VK_DEAD_CIRCUMFLEX          0x82
#define J_VK_DEAD_TILDE               0x83
#define J_VK_DEAD_MACRON              0x84
#define J_VK_DEAD_BREVE               0x85
#define J_VK_DEAD_ABOVEDOT            0x86
#define J_VK_DEAD_DIAERESIS           0x87
#define J_VK_DEAD_ABOVERING           0x88
#define J_VK_DEAD_DOUBLEACUTE         0x89
#define J_VK_DEAD_CARON               0x8a
#define J_VK_DEAD_CEDILLA             0x8b
#define J_VK_DEAD_OGONEK              0x8c
#define J_VK_DEAD_IOTA                0x8d
#define J_VK_DEAD_VOICED_SOUND        0x8e
#define J_VK_DEAD_SEMIVOICED_SOUND    0x8f
#define J_VK_AMPERSAND                0x96
#define J_VK_ASTERISK                 0x97
#define J_VK_QUOTEDBL                 0x98
#define J_VK_LESS                     0x99
#define J_VK_GREATER                  0xa0
#define J_VK_BRACELEFT                0xa1
#define J_VK_BRACERIGHT               0xa2
#define J_VK_AT                       0x0200
#define J_VK_COLON                    0x0201
#define J_VK_CIRCUMFLEX               0x0202
#define J_VK_DOLLAR                   0x0203
#define J_VK_EURO_SIGN                0x0204
#define J_VK_EXCLAMATION_MARK         0x0205
#define J_VK_INVERTED_EXCLAMATION_MARK 0x0206
#define J_VK_LEFT_PARENTHESIS         0x0207
#define J_VK_NUMBER_SIGN              0x0208
#define J_VK_PLUS                     0x0209
#define J_VK_RIGHT_PARENTHESIS        0x020A
#define J_VK_UNDERSCORE               0x020B
#define J_VK_WINDOWS                  0x020C
#define J_VK_CONTEXT_MENU             0x020D
#define J_VK_FINAL                    0x0018
#define J_VK_CONVERT                  0x001C
#define J_VK_NONCONVERT               0x001D
#define J_VK_ACCEPT                   0x001E
#define J_VK_MODECHANGE               0x001F
#define J_VK_KANA                     0x0015
#define J_VK_KANJI                    0x0019
#define J_VK_ALPHANUMERIC             0x00F0
#define J_VK_KATAKANA                 0x00F1
#define J_VK_HIRAGANA                 0x00F2
#define J_VK_FULL_WIDTH               0x00F3
#define J_VK_HALF_WIDTH               0x00F4
#define J_VK_ROMAN_CHARACTERS         0x00F5
#define J_VK_ALL_CANDIDATES           0x0100
#define J_VK_PREVIOUS_CANDIDATE       0x0101
#define J_VK_CODE_INPUT               0x0102
#define J_VK_JAPANESE_KATAKANA        0x0103
#define J_VK_JAPANESE_HIRAGANA        0x0104
#define J_VK_JAPANESE_ROMAN           0x0105
#define J_VK_KANA_LOCK                0x0106
#define J_VK_INPUT_METHOD_ON_OFF      0x0107
#define J_VK_CUT                      0xFFD1
#define J_VK_COPY                     0xFFCD
#define J_VK_PASTE                    0xFFCF
#define J_VK_UNDO                     0xFFCB
#define J_VK_AGAIN                    0xFFC9
#define J_VK_FIND                     0xFFD0
#define J_VK_PROPS                    0xFFCA
#define J_VK_STOP                     0xFFC8
#define J_VK_COMPOSE                  0xFF20
#define J_VK_ALT_GRAPH                0xFF7E
#define J_VK_BEGIN                    0xFF58
#define J_VK_UNDEFINED      0x0

#endif