1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "js_key_code.h"
17
18 #include "key_event.h"
19 #include "mmi_log.h"
20 #include "napi_constants.h"
21 #include "util_napi.h"
22
23 #undef MMI_LOG_TAG
24 #define MMI_LOG_TAG "JsKeyCode"
25
26 namespace OHOS {
27 namespace MMI {
GetNapiInt32(napi_env env,int32_t code)28 napi_value JsKeyCode::GetNapiInt32(napi_env env, int32_t code)
29 {
30 CALL_DEBUG_ENTER;
31 napi_value keyCode = nullptr;
32 CHKRP(napi_create_int32(env, code, &keyCode), CREATE_INT32);
33 return keyCode;
34 }
35
EnumClassConstructor(napi_env env,napi_callback_info info)36 napi_value JsKeyCode::EnumClassConstructor(napi_env env, napi_callback_info info)
37 {
38 CALL_DEBUG_ENTER;
39 size_t argc = 0;
40 napi_value args[1] = { 0 };
41 napi_value ret = nullptr;
42 void *data = nullptr;
43 CHKRP(napi_get_cb_info(env, info, &argc, args, &ret, &data), GET_CB_INFO);
44 return ret;
45 }
46
Export(napi_env env,napi_value exports)47 napi_value JsKeyCode::Export(napi_env env, napi_value exports)
48 {
49 CALL_DEBUG_ENTER;
50 napi_property_descriptor desc[] = {
51 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FN", GetNapiInt32(env, KeyEvent::KEYCODE_FN)),
52 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_UNKNOWN", GetNapiInt32(env, KeyEvent::KEYCODE_UNKNOWN)),
53 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HOME", GetNapiInt32(env, KeyEvent::KEYCODE_HOME)),
54 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BACK", GetNapiInt32(env, KeyEvent::KEYCODE_BACK)),
55 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SEARCH", GetNapiInt32(env, KeyEvent::KEYCODE_SEARCH)),
56 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_PLAY_PAUSE", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_PLAY_PAUSE)),
57 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_STOP", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_STOP)),
58 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_NEXT)),
59 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_PREVIOUS", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_PREVIOUS)),
60 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_REWIND", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_REWIND)),
61 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_FAST_FORWARD",
62 GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_FAST_FORWARD)),
63 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VOLUME_UP", GetNapiInt32(env, KeyEvent::KEYCODE_VOLUME_UP)),
64 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VOLUME_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_VOLUME_DOWN)),
65 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_POWER", GetNapiInt32(env, KeyEvent::KEYCODE_POWER)),
66 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CAMERA", GetNapiInt32(env, KeyEvent::KEYCODE_CAMERA)),
67 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VOLUME_MUTE", GetNapiInt32(env, KeyEvent::KEYCODE_VOLUME_MUTE)),
68 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MUTE", GetNapiInt32(env, KeyEvent::KEYCODE_MUTE)),
69 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_UP", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_UP)),
70 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_DOWN)),
71 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_0", GetNapiInt32(env, KeyEvent::KEYCODE_0)),
72 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_1", GetNapiInt32(env, KeyEvent::KEYCODE_1)),
73 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_2", GetNapiInt32(env, KeyEvent::KEYCODE_2)),
74 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_3", GetNapiInt32(env, KeyEvent::KEYCODE_3)),
75 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_4", GetNapiInt32(env, KeyEvent::KEYCODE_4)),
76 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_5", GetNapiInt32(env, KeyEvent::KEYCODE_5)),
77 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_6", GetNapiInt32(env, KeyEvent::KEYCODE_6)),
78 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_7", GetNapiInt32(env, KeyEvent::KEYCODE_7)),
79 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_8", GetNapiInt32(env, KeyEvent::KEYCODE_8)),
80 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_9", GetNapiInt32(env, KeyEvent::KEYCODE_9)),
81 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_STAR", GetNapiInt32(env, KeyEvent::KEYCODE_STAR)),
82 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_POUND", GetNapiInt32(env, KeyEvent::KEYCODE_POUND)),
83 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DPAD_UP", GetNapiInt32(env, KeyEvent::KEYCODE_DPAD_UP)),
84 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DPAD_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_DPAD_DOWN)),
85 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DPAD_LEFT", GetNapiInt32(env, KeyEvent::KEYCODE_DPAD_LEFT)),
86 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DPAD_RIGHT", GetNapiInt32(env, KeyEvent::KEYCODE_DPAD_RIGHT)),
87 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DPAD_CENTER", GetNapiInt32(env, KeyEvent::KEYCODE_DPAD_CENTER)),
88 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_A", GetNapiInt32(env, KeyEvent::KEYCODE_A)),
89 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_B", GetNapiInt32(env, KeyEvent::KEYCODE_B)),
90 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_C", GetNapiInt32(env, KeyEvent::KEYCODE_C)),
91 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_D", GetNapiInt32(env, KeyEvent::KEYCODE_D)),
92 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_E", GetNapiInt32(env, KeyEvent::KEYCODE_E)),
93 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F", GetNapiInt32(env, KeyEvent::KEYCODE_F)),
94 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_G", GetNapiInt32(env, KeyEvent::KEYCODE_G)),
95 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_H", GetNapiInt32(env, KeyEvent::KEYCODE_H)),
96 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_I", GetNapiInt32(env, KeyEvent::KEYCODE_I)),
97 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_J", GetNapiInt32(env, KeyEvent::KEYCODE_J)),
98 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_K", GetNapiInt32(env, KeyEvent::KEYCODE_K)),
99 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_L", GetNapiInt32(env, KeyEvent::KEYCODE_L)),
100 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_M", GetNapiInt32(env, KeyEvent::KEYCODE_M)),
101 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_N", GetNapiInt32(env, KeyEvent::KEYCODE_N)),
102 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_O", GetNapiInt32(env, KeyEvent::KEYCODE_O)),
103 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_P", GetNapiInt32(env, KeyEvent::KEYCODE_P)),
104 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_Q", GetNapiInt32(env, KeyEvent::KEYCODE_Q)),
105 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_R", GetNapiInt32(env, KeyEvent::KEYCODE_R)),
106 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_S", GetNapiInt32(env, KeyEvent::KEYCODE_S)),
107 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_T", GetNapiInt32(env, KeyEvent::KEYCODE_T)),
108 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_U", GetNapiInt32(env, KeyEvent::KEYCODE_U)),
109 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_V", GetNapiInt32(env, KeyEvent::KEYCODE_V)),
110 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_W", GetNapiInt32(env, KeyEvent::KEYCODE_W)),
111 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_X", GetNapiInt32(env, KeyEvent::KEYCODE_X)),
112 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_Y", GetNapiInt32(env, KeyEvent::KEYCODE_Y)),
113 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_Z", GetNapiInt32(env, KeyEvent::KEYCODE_Z)),
114 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COMMA", GetNapiInt32(env, KeyEvent::KEYCODE_COMMA)),
115 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PERIOD", GetNapiInt32(env, KeyEvent::KEYCODE_PERIOD)),
116 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ALT_LEFT", GetNapiInt32(env, KeyEvent::KEYCODE_ALT_LEFT)),
117 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ALT_RIGHT", GetNapiInt32(env, KeyEvent::KEYCODE_ALT_RIGHT)),
118 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHIFT_LEFT", GetNapiInt32(env, KeyEvent::KEYCODE_SHIFT_LEFT)),
119 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHIFT_RIGHT", GetNapiInt32(env, KeyEvent::KEYCODE_SHIFT_RIGHT)),
120 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TAB", GetNapiInt32(env, KeyEvent::KEYCODE_TAB)),
121 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPACE", GetNapiInt32(env, KeyEvent::KEYCODE_SPACE)),
122 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SYM", GetNapiInt32(env, KeyEvent::KEYCODE_SYM)),
123 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EXPLORER", GetNapiInt32(env, KeyEvent::KEYCODE_EXPLORER)),
124 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ENVELOPE", GetNapiInt32(env, KeyEvent::KEYCODE_ENVELOPE)),
125 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ENTER", GetNapiInt32(env, KeyEvent::KEYCODE_ENTER)),
126 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DEL", GetNapiInt32(env, KeyEvent::KEYCODE_DEL)),
127 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GRAVE", GetNapiInt32(env, KeyEvent::KEYCODE_GRAVE)),
128 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MINUS", GetNapiInt32(env, KeyEvent::KEYCODE_MINUS)),
129 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EQUALS", GetNapiInt32(env, KeyEvent::KEYCODE_EQUALS)),
130 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_LEFT_BRACKET", GetNapiInt32(env, KeyEvent::KEYCODE_LEFT_BRACKET)),
131 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RIGHT_BRACKET", GetNapiInt32(env, KeyEvent::KEYCODE_RIGHT_BRACKET)),
132 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BACKSLASH", GetNapiInt32(env, KeyEvent::KEYCODE_BACKSLASH)),
133 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SEMICOLON", GetNapiInt32(env, KeyEvent::KEYCODE_SEMICOLON)),
134 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_APOSTROPHE", GetNapiInt32(env, KeyEvent::KEYCODE_APOSTROPHE)),
135 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SLASH", GetNapiInt32(env, KeyEvent::KEYCODE_SLASH)),
136 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_AT", GetNapiInt32(env, KeyEvent::KEYCODE_AT)),
137 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLUS", GetNapiInt32(env, KeyEvent::KEYCODE_PLUS)),
138 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MENU", GetNapiInt32(env, KeyEvent::KEYCODE_MENU)),
139 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PAGE_UP", GetNapiInt32(env, KeyEvent::KEYCODE_PAGE_UP)),
140 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PAGE_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_PAGE_DOWN)),
141 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ESCAPE", GetNapiInt32(env, KeyEvent::KEYCODE_ESCAPE)),
142 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FORWARD_DEL", GetNapiInt32(env, KeyEvent::KEYCODE_FORWARD_DEL)),
143 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CTRL_LEFT", GetNapiInt32(env, KeyEvent::KEYCODE_CTRL_LEFT)),
144 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CTRL_RIGHT", GetNapiInt32(env, KeyEvent::KEYCODE_CTRL_RIGHT)),
145 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CAPS_LOCK", GetNapiInt32(env, KeyEvent::KEYCODE_CAPS_LOCK)),
146 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCROLL_LOCK", GetNapiInt32(env, KeyEvent::KEYCODE_SCROLL_LOCK)),
147 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_META_LEFT", GetNapiInt32(env, KeyEvent::KEYCODE_META_LEFT)),
148 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_META_RIGHT", GetNapiInt32(env, KeyEvent::KEYCODE_META_RIGHT)),
149 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FUNCTION", GetNapiInt32(env, KeyEvent::KEYCODE_FUNCTION)),
150 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SYSRQ", GetNapiInt32(env, KeyEvent::KEYCODE_SYSRQ)),
151 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BREAK", GetNapiInt32(env, KeyEvent::KEYCODE_BREAK)),
152 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MOVE_HOME", GetNapiInt32(env, KeyEvent::KEYCODE_MOVE_HOME)),
153 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MOVE_END", GetNapiInt32(env, KeyEvent::KEYCODE_MOVE_END)),
154 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_INSERT", GetNapiInt32(env, KeyEvent::KEYCODE_INSERT)),
155 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FORWARD", GetNapiInt32(env, KeyEvent::KEYCODE_FORWARD)),
156 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_PLAY", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_PLAY)),
157 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_PAUSE", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_PAUSE)),
158 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_CLOSE", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_CLOSE)),
159 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_EJECT", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_EJECT)),
160 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_RECORD", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_RECORD)),
161 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F1", GetNapiInt32(env, KeyEvent::KEYCODE_F1)),
162 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F2", GetNapiInt32(env, KeyEvent::KEYCODE_F2)),
163 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F3", GetNapiInt32(env, KeyEvent::KEYCODE_F3)),
164 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F4", GetNapiInt32(env, KeyEvent::KEYCODE_F4)),
165 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F5", GetNapiInt32(env, KeyEvent::KEYCODE_F5)),
166 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F6", GetNapiInt32(env, KeyEvent::KEYCODE_F6)),
167 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F7", GetNapiInt32(env, KeyEvent::KEYCODE_F7)),
168 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F8", GetNapiInt32(env, KeyEvent::KEYCODE_F8)),
169 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F9", GetNapiInt32(env, KeyEvent::KEYCODE_F9)),
170 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F10", GetNapiInt32(env, KeyEvent::KEYCODE_F10)),
171 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F11", GetNapiInt32(env, KeyEvent::KEYCODE_F11)),
172 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F12", GetNapiInt32(env, KeyEvent::KEYCODE_F12)),
173 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUM_LOCK", GetNapiInt32(env, KeyEvent::KEYCODE_NUM_LOCK)),
174 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_0", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_0)),
175 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_1", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_1)),
176 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_2", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_2)),
177 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_3", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_3)),
178 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_4", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_4)),
179 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_5", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_5)),
180 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_6", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_6)),
181 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_7", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_7)),
182 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_8", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_8)),
183 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_9", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_9)),
184 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_DIVIDE", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_DIVIDE)),
185 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_MULTIPLY", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_MULTIPLY)),
186 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_SUBTRACT", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_SUBTRACT)),
187 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_ADD", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_ADD)),
188 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_DOT", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_DOT)),
189 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_COMMA", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_COMMA)),
190 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_ENTER", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_ENTER)),
191 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_EQUALS", GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_EQUALS)),
192 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_LEFT_PAREN",
193 GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_LEFT_PAREN)),
194 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_RIGHT_PAREN",
195 GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_RIGHT_PAREN)),
196 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIRTUAL_MULTITASK",
197 GetNapiInt32(env, KeyEvent::KEYCODE_VIRTUAL_MULTITASK)),
198 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SLEEP", GetNapiInt32(env, KeyEvent::KEYCODE_SLEEP)),
199 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZENKAKU_HANKAKU", GetNapiInt32(env, KeyEvent::KEYCODE_ZENKAKU_HANKAKU)),
200 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_102ND", GetNapiInt32(env, KeyEvent::KEYCODE_102ND)),
201 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RO", GetNapiInt32(env, KeyEvent::KEYCODE_RO)),
202 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KATAKANA", GetNapiInt32(env, KeyEvent::KEYCODE_KATAKANA)),
203 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HIRAGANA", GetNapiInt32(env, KeyEvent::KEYCODE_HIRAGANA)),
204 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HENKAN", GetNapiInt32(env, KeyEvent::KEYCODE_HENKAN)),
205 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KATAKANA_HIRAGANA",
206 GetNapiInt32(env, KeyEvent::KEYCODE_KATAKANA_HIRAGANA)),
207 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MUHENKAN", GetNapiInt32(env, KeyEvent::KEYCODE_MUHENKAN)),
208 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_LINEFEED", GetNapiInt32(env, KeyEvent::KEYCODE_LINEFEED)),
209 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MACRO", GetNapiInt32(env, KeyEvent::KEYCODE_MACRO)),
210 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_PLUSMINUS",
211 GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_PLUSMINUS)),
212 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCALE", GetNapiInt32(env, KeyEvent::KEYCODE_SCALE)),
213 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HANGUEL", GetNapiInt32(env, KeyEvent::KEYCODE_HANGUEL)),
214 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HANJA", GetNapiInt32(env, KeyEvent::KEYCODE_HANJA)),
215 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_YEN", GetNapiInt32(env, KeyEvent::KEYCODE_YEN)),
216 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_STOP", GetNapiInt32(env, KeyEvent::KEYCODE_STOP)),
217 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_AGAIN", GetNapiInt32(env, KeyEvent::KEYCODE_AGAIN)),
218 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROPS", GetNapiInt32(env, KeyEvent::KEYCODE_PROPS)),
219 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_UNDO", GetNapiInt32(env, KeyEvent::KEYCODE_UNDO)),
220 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COPY", GetNapiInt32(env, KeyEvent::KEYCODE_COPY)),
221 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_OPEN", GetNapiInt32(env, KeyEvent::KEYCODE_OPEN)),
222 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PASTE", GetNapiInt32(env, KeyEvent::KEYCODE_PASTE)),
223 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FIND", GetNapiInt32(env, KeyEvent::KEYCODE_FIND)),
224 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CUT", GetNapiInt32(env, KeyEvent::KEYCODE_CUT)),
225 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HELP", GetNapiInt32(env, KeyEvent::KEYCODE_HELP)),
226 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALC", GetNapiInt32(env, KeyEvent::KEYCODE_CALC)),
227 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FILE", GetNapiInt32(env, KeyEvent::KEYCODE_FILE)),
228 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BOOKMARKS", GetNapiInt32(env, KeyEvent::KEYCODE_BOOKMARKS)),
229 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_NEXT)),
230 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAYPAUSE", GetNapiInt32(env, KeyEvent::KEYCODE_PLAYPAUSE)),
231 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PREVIOUS", GetNapiInt32(env, KeyEvent::KEYCODE_PREVIOUS)),
232 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_STOPCD", GetNapiInt32(env, KeyEvent::KEYCODE_STOPCD)),
233 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONFIG", GetNapiInt32(env, KeyEvent::KEYCODE_CONFIG)),
234 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REFRESH", GetNapiInt32(env, KeyEvent::KEYCODE_REFRESH)),
235 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EXIT", GetNapiInt32(env, KeyEvent::KEYCODE_EXIT)),
236 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EDIT", GetNapiInt32(env, KeyEvent::KEYCODE_EDIT)),
237 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCROLLUP", GetNapiInt32(env, KeyEvent::KEYCODE_SCROLLUP)),
238 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCROLLDOWN", GetNapiInt32(env, KeyEvent::KEYCODE_SCROLLDOWN)),
239 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEW", GetNapiInt32(env, KeyEvent::KEYCODE_NEW)),
240 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REDO", GetNapiInt32(env, KeyEvent::KEYCODE_REDO)),
241 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CLOSE", GetNapiInt32(env, KeyEvent::KEYCODE_CLOSE)),
242 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAY", GetNapiInt32(env, KeyEvent::KEYCODE_PLAY)),
243 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BASSBOOST", GetNapiInt32(env, KeyEvent::KEYCODE_BASSBOOST)),
244 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PRINT", GetNapiInt32(env, KeyEvent::KEYCODE_PRINT)),
245 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHAT", GetNapiInt32(env, KeyEvent::KEYCODE_CHAT)),
246 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FINANCE", GetNapiInt32(env, KeyEvent::KEYCODE_FINANCE)),
247 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CANCEL", GetNapiInt32(env, KeyEvent::KEYCODE_CANCEL)),
248 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_TOGGLE", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_TOGGLE)),
249 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_DOWN)),
250 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_UP", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_UP)),
251 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SEND", GetNapiInt32(env, KeyEvent::KEYCODE_SEND)),
252 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REPLY", GetNapiInt32(env, KeyEvent::KEYCODE_REPLY)),
253 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FORWARDMAIL", GetNapiInt32(env, KeyEvent::KEYCODE_FORWARDMAIL)),
254 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SAVE", GetNapiInt32(env, KeyEvent::KEYCODE_SAVE)),
255 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DOCUMENTS", GetNapiInt32(env, KeyEvent::KEYCODE_DOCUMENTS)),
256 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO_NEXT)),
257 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO_PREV", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO_PREV)),
258 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_CYCLE",
259 GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_CYCLE)),
260 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_ZERO", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_ZERO)),
261 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DISPLAY_OFF", GetNapiInt32(env, KeyEvent::KEYCODE_DISPLAY_OFF)),
262 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_MISC", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_MISC)),
263 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GOTO", GetNapiInt32(env, KeyEvent::KEYCODE_GOTO)),
264 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_INFO", GetNapiInt32(env, KeyEvent::KEYCODE_INFO)),
265 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROGRAM", GetNapiInt32(env, KeyEvent::KEYCODE_PROGRAM)),
266 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PVR", GetNapiInt32(env, KeyEvent::KEYCODE_PVR)),
267 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SUBTITLE", GetNapiInt32(env, KeyEvent::KEYCODE_SUBTITLE)),
268 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FULL_SCREEN", GetNapiInt32(env, KeyEvent::KEYCODE_FULL_SCREEN)),
269 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KEYBOARD", GetNapiInt32(env, KeyEvent::KEYCODE_KEYBOARD)),
270 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ASPECT_RATIO", GetNapiInt32(env, KeyEvent::KEYCODE_ASPECT_RATIO)),
271 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PC", GetNapiInt32(env, KeyEvent::KEYCODE_PC)),
272 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TV", GetNapiInt32(env, KeyEvent::KEYCODE_TV)),
273 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TV2", GetNapiInt32(env, KeyEvent::KEYCODE_TV2)),
274 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VCR", GetNapiInt32(env, KeyEvent::KEYCODE_VCR)),
275 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VCR2", GetNapiInt32(env, KeyEvent::KEYCODE_VCR2)),
276 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SAT", GetNapiInt32(env, KeyEvent::KEYCODE_SAT)),
277 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CD", GetNapiInt32(env, KeyEvent::KEYCODE_CD)),
278 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TAPE", GetNapiInt32(env, KeyEvent::KEYCODE_TAPE)),
279 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TUNER", GetNapiInt32(env, KeyEvent::KEYCODE_TUNER)),
280 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAYER", GetNapiInt32(env, KeyEvent::KEYCODE_PLAYER)),
281 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DVD", GetNapiInt32(env, KeyEvent::KEYCODE_DVD)),
282 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_AUDIO", GetNapiInt32(env, KeyEvent::KEYCODE_AUDIO)),
283 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO)),
284 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEMO", GetNapiInt32(env, KeyEvent::KEYCODE_MEMO)),
285 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALENDAR", GetNapiInt32(env, KeyEvent::KEYCODE_CALENDAR)),
286 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RED", GetNapiInt32(env, KeyEvent::KEYCODE_RED)),
287 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GREEN", GetNapiInt32(env, KeyEvent::KEYCODE_GREEN)),
288 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_YELLOW", GetNapiInt32(env, KeyEvent::KEYCODE_YELLOW)),
289 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BLUE", GetNapiInt32(env, KeyEvent::KEYCODE_BLUE)),
290 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNELUP", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNELUP)),
291 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNELDOWN", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNELDOWN)),
292 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_LAST", GetNapiInt32(env, KeyEvent::KEYCODE_LAST)),
293 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RESTART", GetNapiInt32(env, KeyEvent::KEYCODE_RESTART)),
294 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SLOW", GetNapiInt32(env, KeyEvent::KEYCODE_SLOW)),
295 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHUFFLE", GetNapiInt32(env, KeyEvent::KEYCODE_SHUFFLE)),
296 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEOPHONE", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEOPHONE)),
297 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GAMES", GetNapiInt32(env, KeyEvent::KEYCODE_GAMES)),
298 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMIN", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMIN)),
299 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMOUT", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMOUT)),
300 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMRESET", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMRESET)),
301 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WORDPROCESSOR", GetNapiInt32(env, KeyEvent::KEYCODE_WORDPROCESSOR)),
302 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EDITOR", GetNapiInt32(env, KeyEvent::KEYCODE_EDITOR)),
303 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPREADSHEET", GetNapiInt32(env, KeyEvent::KEYCODE_SPREADSHEET)),
304 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GRAPHICSEDITOR", GetNapiInt32(env, KeyEvent::KEYCODE_GRAPHICSEDITOR)),
305 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PRESENTATION", GetNapiInt32(env, KeyEvent::KEYCODE_PRESENTATION)),
306 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DATABASE", GetNapiInt32(env, KeyEvent::KEYCODE_DATABASE)),
307 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEWS", GetNapiInt32(env, KeyEvent::KEYCODE_NEWS)),
308 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VOICEMAIL", GetNapiInt32(env, KeyEvent::KEYCODE_VOICEMAIL)),
309 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ADDRESSBOOK", GetNapiInt32(env, KeyEvent::KEYCODE_ADDRESSBOOK)),
310 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MESSENGER", GetNapiInt32(env, KeyEvent::KEYCODE_MESSENGER)),
311 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_TOGGLE",
312 GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_TOGGLE)),
313 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPELLCHECK", GetNapiInt32(env, KeyEvent::KEYCODE_SPELLCHECK)),
314 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COFFEE", GetNapiInt32(env, KeyEvent::KEYCODE_COFFEE)),
315 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_REPEAT", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_REPEAT)),
316 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_IMAGES", GetNapiInt32(env, KeyEvent::KEYCODE_IMAGES)),
317 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTONCONFIG", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTONCONFIG)),
318 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TASKMANAGER", GetNapiInt32(env, KeyEvent::KEYCODE_TASKMANAGER)),
319 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_JOURNAL", GetNapiInt32(env, KeyEvent::KEYCODE_JOURNAL)),
320 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONTROLPANEL", GetNapiInt32(env, KeyEvent::KEYCODE_CONTROLPANEL)),
321 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_APPSELECT", GetNapiInt32(env, KeyEvent::KEYCODE_APPSELECT)),
322 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCREENSAVER", GetNapiInt32(env, KeyEvent::KEYCODE_SCREENSAVER)),
323 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ASSISTANT", GetNapiInt32(env, KeyEvent::KEYCODE_ASSISTANT)),
324 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBD_LAYOUT_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_KBD_LAYOUT_NEXT)),
325 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_MIN", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_MIN)),
326 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_MAX", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_MAX)),
327 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_PREV",
328 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_PREV)),
329 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_NEXT",
330 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_NEXT)),
331 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_PREVGROUP",
332 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_PREVGROUP)),
333 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_NEXTGROUP",
334 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_NEXTGROUP)),
335 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_ACCEPT",
336 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_ACCEPT)),
337 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_CANCEL",
338 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_CANCEL)),
339 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FRONT", GetNapiInt32(env, KeyEvent::KEYCODE_FRONT)),
340 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SETUP", GetNapiInt32(env, KeyEvent::KEYCODE_SETUP)),
341 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WAKEUP", GetNapiInt32(env, KeyEvent::KEYCODE_WAKEUP)),
342 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SENDFILE", GetNapiInt32(env, KeyEvent::KEYCODE_SENDFILE)),
343 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DELETEFILE", GetNapiInt32(env, KeyEvent::KEYCODE_DELETEFILE)),
344 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_XFER", GetNapiInt32(env, KeyEvent::KEYCODE_XFER)),
345 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG1", GetNapiInt32(env, KeyEvent::KEYCODE_PROG1)),
346 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG2", GetNapiInt32(env, KeyEvent::KEYCODE_PROG2)),
347 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MSDOS", GetNapiInt32(env, KeyEvent::KEYCODE_MSDOS)),
348 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCREENLOCK", GetNapiInt32(env, KeyEvent::KEYCODE_SCREENLOCK)),
349 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DIRECTION_ROTATE_DISPLAY",
350 GetNapiInt32(env, KeyEvent::KEYCODE_DIRECTION_ROTATE_DISPLAY)),
351 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CYCLEWINDOWS", GetNapiInt32(env, KeyEvent::KEYCODE_CYCLEWINDOWS)),
352 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COMPUTER", GetNapiInt32(env, KeyEvent::KEYCODE_COMPUTER)),
353 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EJECTCLOSECD", GetNapiInt32(env, KeyEvent::KEYCODE_EJECTCLOSECD)),
354 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ISO", GetNapiInt32(env, KeyEvent::KEYCODE_ISO)),
355 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MOVE", GetNapiInt32(env, KeyEvent::KEYCODE_MOVE)),
356 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F13", GetNapiInt32(env, KeyEvent::KEYCODE_F13)),
357 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F14", GetNapiInt32(env, KeyEvent::KEYCODE_F14)),
358 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F15", GetNapiInt32(env, KeyEvent::KEYCODE_F15)),
359 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F16", GetNapiInt32(env, KeyEvent::KEYCODE_F16)),
360 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F17", GetNapiInt32(env, KeyEvent::KEYCODE_F17)),
361 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F18", GetNapiInt32(env, KeyEvent::KEYCODE_F18)),
362 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F19", GetNapiInt32(env, KeyEvent::KEYCODE_F19)),
363 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F20", GetNapiInt32(env, KeyEvent::KEYCODE_F20)),
364 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F21", GetNapiInt32(env, KeyEvent::KEYCODE_F21)),
365 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F22", GetNapiInt32(env, KeyEvent::KEYCODE_F22)),
366 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F23", GetNapiInt32(env, KeyEvent::KEYCODE_F23)),
367 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F24", GetNapiInt32(env, KeyEvent::KEYCODE_F24)),
368 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG3", GetNapiInt32(env, KeyEvent::KEYCODE_PROG3)),
369 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG4", GetNapiInt32(env, KeyEvent::KEYCODE_PROG4)),
370 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DASHBOARD", GetNapiInt32(env, KeyEvent::KEYCODE_DASHBOARD)),
371 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SUSPEND", GetNapiInt32(env, KeyEvent::KEYCODE_SUSPEND)),
372 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HP", GetNapiInt32(env, KeyEvent::KEYCODE_HP)),
373 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SOUND", GetNapiInt32(env, KeyEvent::KEYCODE_SOUND)),
374 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_QUESTION", GetNapiInt32(env, KeyEvent::KEYCODE_QUESTION)),
375 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONNECT", GetNapiInt32(env, KeyEvent::KEYCODE_CONNECT)),
376 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPORT", GetNapiInt32(env, KeyEvent::KEYCODE_SPORT)),
377 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHOP", GetNapiInt32(env, KeyEvent::KEYCODE_SHOP)),
378 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ALTERASE", GetNapiInt32(env, KeyEvent::KEYCODE_ALTERASE)),
379 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SWITCHVIDEOMODE", GetNapiInt32(env, KeyEvent::KEYCODE_SWITCHVIDEOMODE)),
380 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BATTERY", GetNapiInt32(env, KeyEvent::KEYCODE_BATTERY)),
381 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BLUETOOTH", GetNapiInt32(env, KeyEvent::KEYCODE_BLUETOOTH)),
382 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WLAN", GetNapiInt32(env, KeyEvent::KEYCODE_WLAN)),
383 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_UWB", GetNapiInt32(env, KeyEvent::KEYCODE_UWB)),
384 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WWAN_WIMAX", GetNapiInt32(env, KeyEvent::KEYCODE_WWAN_WIMAX)),
385 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RFKILL", GetNapiInt32(env, KeyEvent::KEYCODE_RFKILL)),
386 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNEL", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNEL)),
387 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_0", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_0)),
388 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_1", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_1)),
389 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_2", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_2)),
390 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_3", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_3)),
391 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_4", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_4)),
392 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_5", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_5)),
393 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_6", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_6)),
394 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_7", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_7)),
395 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_8", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_8)),
396 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_9", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_9)),
397 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALL_NOTIFICATION_CENTER",
398 GetNapiInt32(env, KeyEvent::KEYCODE_CALL_NOTIFICATION_CENTER)),
399 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALL_CONTROL_CENTER",
400 GetNapiInt32(env, KeyEvent::KEYCODE_CALL_CONTROL_CENTER)),
401 };
402
403 napi_value result = nullptr;
404 CHKRP(napi_define_class(env, "KeyCode", NAPI_AUTO_LENGTH, EnumClassConstructor, nullptr,
405 sizeof(desc) / sizeof(*desc), desc, &result), DEFINE_CLASS);
406 CHKRP(napi_set_named_property(env, exports, "KeyCode", result), SET_NAMED_PROPERTY);
407 return exports;
408 }
409 } // namespace MMI
410 } // namespace OHOS