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_BUTTON_A", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_A)),
199 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_B", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_B)),
200 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_X", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_X)),
201 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_Y", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_Y)),
202 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_L1", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_L1)),
203 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_R1", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_R1)),
204 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_L2", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_L2)),
205 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_R2", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_R2)),
206 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_SELECT", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_SELECT)),
207 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_START", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_START)),
208 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_MODE", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_MODE)),
209 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_THUMBL", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_THUMBL)),
210 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTON_THUMBR", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTON_THUMBR)),
211 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SLEEP", GetNapiInt32(env, KeyEvent::KEYCODE_SLEEP)),
212 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZENKAKU_HANKAKU", GetNapiInt32(env, KeyEvent::KEYCODE_ZENKAKU_HANKAKU)),
213 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_102ND", GetNapiInt32(env, KeyEvent::KEYCODE_102ND)),
214 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RO", GetNapiInt32(env, KeyEvent::KEYCODE_RO)),
215 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KATAKANA", GetNapiInt32(env, KeyEvent::KEYCODE_KATAKANA)),
216 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HIRAGANA", GetNapiInt32(env, KeyEvent::KEYCODE_HIRAGANA)),
217 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HENKAN", GetNapiInt32(env, KeyEvent::KEYCODE_HENKAN)),
218 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KATAKANA_HIRAGANA",
219 GetNapiInt32(env, KeyEvent::KEYCODE_KATAKANA_HIRAGANA)),
220 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MUHENKAN", GetNapiInt32(env, KeyEvent::KEYCODE_MUHENKAN)),
221 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_LINEFEED", GetNapiInt32(env, KeyEvent::KEYCODE_LINEFEED)),
222 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MACRO", GetNapiInt32(env, KeyEvent::KEYCODE_MACRO)),
223 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NUMPAD_PLUSMINUS",
224 GetNapiInt32(env, KeyEvent::KEYCODE_NUMPAD_PLUSMINUS)),
225 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCALE", GetNapiInt32(env, KeyEvent::KEYCODE_SCALE)),
226 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HANGUEL", GetNapiInt32(env, KeyEvent::KEYCODE_HANGUEL)),
227 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HANJA", GetNapiInt32(env, KeyEvent::KEYCODE_HANJA)),
228 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_YEN", GetNapiInt32(env, KeyEvent::KEYCODE_YEN)),
229 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_STOP", GetNapiInt32(env, KeyEvent::KEYCODE_STOP)),
230 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_AGAIN", GetNapiInt32(env, KeyEvent::KEYCODE_AGAIN)),
231 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROPS", GetNapiInt32(env, KeyEvent::KEYCODE_PROPS)),
232 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_UNDO", GetNapiInt32(env, KeyEvent::KEYCODE_UNDO)),
233 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COPY", GetNapiInt32(env, KeyEvent::KEYCODE_COPY)),
234 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_OPEN", GetNapiInt32(env, KeyEvent::KEYCODE_OPEN)),
235 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PASTE", GetNapiInt32(env, KeyEvent::KEYCODE_PASTE)),
236 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FIND", GetNapiInt32(env, KeyEvent::KEYCODE_FIND)),
237 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CUT", GetNapiInt32(env, KeyEvent::KEYCODE_CUT)),
238 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HELP", GetNapiInt32(env, KeyEvent::KEYCODE_HELP)),
239 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALC", GetNapiInt32(env, KeyEvent::KEYCODE_CALC)),
240 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FILE", GetNapiInt32(env, KeyEvent::KEYCODE_FILE)),
241 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BOOKMARKS", GetNapiInt32(env, KeyEvent::KEYCODE_BOOKMARKS)),
242 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_NEXT)),
243 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAYPAUSE", GetNapiInt32(env, KeyEvent::KEYCODE_PLAYPAUSE)),
244 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PREVIOUS", GetNapiInt32(env, KeyEvent::KEYCODE_PREVIOUS)),
245 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_STOPCD", GetNapiInt32(env, KeyEvent::KEYCODE_STOPCD)),
246 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONFIG", GetNapiInt32(env, KeyEvent::KEYCODE_CONFIG)),
247 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REFRESH", GetNapiInt32(env, KeyEvent::KEYCODE_REFRESH)),
248 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EXIT", GetNapiInt32(env, KeyEvent::KEYCODE_EXIT)),
249 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EDIT", GetNapiInt32(env, KeyEvent::KEYCODE_EDIT)),
250 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCROLLUP", GetNapiInt32(env, KeyEvent::KEYCODE_SCROLLUP)),
251 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCROLLDOWN", GetNapiInt32(env, KeyEvent::KEYCODE_SCROLLDOWN)),
252 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEW", GetNapiInt32(env, KeyEvent::KEYCODE_NEW)),
253 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REDO", GetNapiInt32(env, KeyEvent::KEYCODE_REDO)),
254 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CLOSE", GetNapiInt32(env, KeyEvent::KEYCODE_CLOSE)),
255 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAY", GetNapiInt32(env, KeyEvent::KEYCODE_PLAY)),
256 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BASSBOOST", GetNapiInt32(env, KeyEvent::KEYCODE_BASSBOOST)),
257 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PRINT", GetNapiInt32(env, KeyEvent::KEYCODE_PRINT)),
258 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHAT", GetNapiInt32(env, KeyEvent::KEYCODE_CHAT)),
259 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FINANCE", GetNapiInt32(env, KeyEvent::KEYCODE_FINANCE)),
260 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CANCEL", GetNapiInt32(env, KeyEvent::KEYCODE_CANCEL)),
261 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_TOGGLE", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_TOGGLE)),
262 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_DOWN", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_DOWN)),
263 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDILLUM_UP", GetNapiInt32(env, KeyEvent::KEYCODE_KBDILLUM_UP)),
264 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SEND", GetNapiInt32(env, KeyEvent::KEYCODE_SEND)),
265 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_REPLY", GetNapiInt32(env, KeyEvent::KEYCODE_REPLY)),
266 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FORWARDMAIL", GetNapiInt32(env, KeyEvent::KEYCODE_FORWARDMAIL)),
267 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SAVE", GetNapiInt32(env, KeyEvent::KEYCODE_SAVE)),
268 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DOCUMENTS", GetNapiInt32(env, KeyEvent::KEYCODE_DOCUMENTS)),
269 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO_NEXT)),
270 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO_PREV", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO_PREV)),
271 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_CYCLE",
272 GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_CYCLE)),
273 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_ZERO", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_ZERO)),
274 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DISPLAY_OFF", GetNapiInt32(env, KeyEvent::KEYCODE_DISPLAY_OFF)),
275 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_MISC", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_MISC)),
276 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GOTO", GetNapiInt32(env, KeyEvent::KEYCODE_GOTO)),
277 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_INFO", GetNapiInt32(env, KeyEvent::KEYCODE_INFO)),
278 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROGRAM", GetNapiInt32(env, KeyEvent::KEYCODE_PROGRAM)),
279 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PVR", GetNapiInt32(env, KeyEvent::KEYCODE_PVR)),
280 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SUBTITLE", GetNapiInt32(env, KeyEvent::KEYCODE_SUBTITLE)),
281 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FULL_SCREEN", GetNapiInt32(env, KeyEvent::KEYCODE_FULL_SCREEN)),
282 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KEYBOARD", GetNapiInt32(env, KeyEvent::KEYCODE_KEYBOARD)),
283 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ASPECT_RATIO", GetNapiInt32(env, KeyEvent::KEYCODE_ASPECT_RATIO)),
284 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PC", GetNapiInt32(env, KeyEvent::KEYCODE_PC)),
285 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TV", GetNapiInt32(env, KeyEvent::KEYCODE_TV)),
286 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TV2", GetNapiInt32(env, KeyEvent::KEYCODE_TV2)),
287 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VCR", GetNapiInt32(env, KeyEvent::KEYCODE_VCR)),
288 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VCR2", GetNapiInt32(env, KeyEvent::KEYCODE_VCR2)),
289 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SAT", GetNapiInt32(env, KeyEvent::KEYCODE_SAT)),
290 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CD", GetNapiInt32(env, KeyEvent::KEYCODE_CD)),
291 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TAPE", GetNapiInt32(env, KeyEvent::KEYCODE_TAPE)),
292 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TUNER", GetNapiInt32(env, KeyEvent::KEYCODE_TUNER)),
293 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PLAYER", GetNapiInt32(env, KeyEvent::KEYCODE_PLAYER)),
294 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DVD", GetNapiInt32(env, KeyEvent::KEYCODE_DVD)),
295 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_AUDIO", GetNapiInt32(env, KeyEvent::KEYCODE_AUDIO)),
296 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEO", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEO)),
297 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEMO", GetNapiInt32(env, KeyEvent::KEYCODE_MEMO)),
298 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALENDAR", GetNapiInt32(env, KeyEvent::KEYCODE_CALENDAR)),
299 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RED", GetNapiInt32(env, KeyEvent::KEYCODE_RED)),
300 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GREEN", GetNapiInt32(env, KeyEvent::KEYCODE_GREEN)),
301 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_YELLOW", GetNapiInt32(env, KeyEvent::KEYCODE_YELLOW)),
302 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BLUE", GetNapiInt32(env, KeyEvent::KEYCODE_BLUE)),
303 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNELUP", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNELUP)),
304 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNELDOWN", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNELDOWN)),
305 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_LAST", GetNapiInt32(env, KeyEvent::KEYCODE_LAST)),
306 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RESTART", GetNapiInt32(env, KeyEvent::KEYCODE_RESTART)),
307 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SLOW", GetNapiInt32(env, KeyEvent::KEYCODE_SLOW)),
308 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHUFFLE", GetNapiInt32(env, KeyEvent::KEYCODE_SHUFFLE)),
309 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VIDEOPHONE", GetNapiInt32(env, KeyEvent::KEYCODE_VIDEOPHONE)),
310 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GAMES", GetNapiInt32(env, KeyEvent::KEYCODE_GAMES)),
311 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMIN", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMIN)),
312 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMOUT", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMOUT)),
313 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ZOOMRESET", GetNapiInt32(env, KeyEvent::KEYCODE_ZOOMRESET)),
314 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WORDPROCESSOR", GetNapiInt32(env, KeyEvent::KEYCODE_WORDPROCESSOR)),
315 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EDITOR", GetNapiInt32(env, KeyEvent::KEYCODE_EDITOR)),
316 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPREADSHEET", GetNapiInt32(env, KeyEvent::KEYCODE_SPREADSHEET)),
317 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_GRAPHICSEDITOR", GetNapiInt32(env, KeyEvent::KEYCODE_GRAPHICSEDITOR)),
318 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PRESENTATION", GetNapiInt32(env, KeyEvent::KEYCODE_PRESENTATION)),
319 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DATABASE", GetNapiInt32(env, KeyEvent::KEYCODE_DATABASE)),
320 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_NEWS", GetNapiInt32(env, KeyEvent::KEYCODE_NEWS)),
321 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_VOICEMAIL", GetNapiInt32(env, KeyEvent::KEYCODE_VOICEMAIL)),
322 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ADDRESSBOOK", GetNapiInt32(env, KeyEvent::KEYCODE_ADDRESSBOOK)),
323 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MESSENGER", GetNapiInt32(env, KeyEvent::KEYCODE_MESSENGER)),
324 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_TOGGLE",
325 GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_TOGGLE)),
326 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPELLCHECK", GetNapiInt32(env, KeyEvent::KEYCODE_SPELLCHECK)),
327 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COFFEE", GetNapiInt32(env, KeyEvent::KEYCODE_COFFEE)),
328 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MEDIA_REPEAT", GetNapiInt32(env, KeyEvent::KEYCODE_MEDIA_REPEAT)),
329 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_IMAGES", GetNapiInt32(env, KeyEvent::KEYCODE_IMAGES)),
330 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BUTTONCONFIG", GetNapiInt32(env, KeyEvent::KEYCODE_BUTTONCONFIG)),
331 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_TASKMANAGER", GetNapiInt32(env, KeyEvent::KEYCODE_TASKMANAGER)),
332 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_JOURNAL", GetNapiInt32(env, KeyEvent::KEYCODE_JOURNAL)),
333 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONTROLPANEL", GetNapiInt32(env, KeyEvent::KEYCODE_CONTROLPANEL)),
334 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_APPSELECT", GetNapiInt32(env, KeyEvent::KEYCODE_APPSELECT)),
335 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCREENSAVER", GetNapiInt32(env, KeyEvent::KEYCODE_SCREENSAVER)),
336 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ASSISTANT", GetNapiInt32(env, KeyEvent::KEYCODE_ASSISTANT)),
337 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBD_LAYOUT_NEXT", GetNapiInt32(env, KeyEvent::KEYCODE_KBD_LAYOUT_NEXT)),
338 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_MIN", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_MIN)),
339 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BRIGHTNESS_MAX", GetNapiInt32(env, KeyEvent::KEYCODE_BRIGHTNESS_MAX)),
340 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_PREV",
341 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_PREV)),
342 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_NEXT",
343 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_NEXT)),
344 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_PREVGROUP",
345 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_PREVGROUP)),
346 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_NEXTGROUP",
347 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_NEXTGROUP)),
348 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_ACCEPT",
349 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_ACCEPT)),
350 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_KBDINPUTASSIST_CANCEL",
351 GetNapiInt32(env, KeyEvent::KEYCODE_KBDINPUTASSIST_CANCEL)),
352 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_FRONT", GetNapiInt32(env, KeyEvent::KEYCODE_FRONT)),
353 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SETUP", GetNapiInt32(env, KeyEvent::KEYCODE_SETUP)),
354 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WAKEUP", GetNapiInt32(env, KeyEvent::KEYCODE_WAKEUP)),
355 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SENDFILE", GetNapiInt32(env, KeyEvent::KEYCODE_SENDFILE)),
356 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DELETEFILE", GetNapiInt32(env, KeyEvent::KEYCODE_DELETEFILE)),
357 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_XFER", GetNapiInt32(env, KeyEvent::KEYCODE_XFER)),
358 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG1", GetNapiInt32(env, KeyEvent::KEYCODE_PROG1)),
359 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG2", GetNapiInt32(env, KeyEvent::KEYCODE_PROG2)),
360 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MSDOS", GetNapiInt32(env, KeyEvent::KEYCODE_MSDOS)),
361 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SCREENLOCK", GetNapiInt32(env, KeyEvent::KEYCODE_SCREENLOCK)),
362 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DIRECTION_ROTATE_DISPLAY",
363 GetNapiInt32(env, KeyEvent::KEYCODE_DIRECTION_ROTATE_DISPLAY)),
364 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CYCLEWINDOWS", GetNapiInt32(env, KeyEvent::KEYCODE_CYCLEWINDOWS)),
365 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_COMPUTER", GetNapiInt32(env, KeyEvent::KEYCODE_COMPUTER)),
366 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_EJECTCLOSECD", GetNapiInt32(env, KeyEvent::KEYCODE_EJECTCLOSECD)),
367 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ISO", GetNapiInt32(env, KeyEvent::KEYCODE_ISO)),
368 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_MOVE", GetNapiInt32(env, KeyEvent::KEYCODE_MOVE)),
369 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F13", GetNapiInt32(env, KeyEvent::KEYCODE_F13)),
370 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F14", GetNapiInt32(env, KeyEvent::KEYCODE_F14)),
371 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F15", GetNapiInt32(env, KeyEvent::KEYCODE_F15)),
372 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F16", GetNapiInt32(env, KeyEvent::KEYCODE_F16)),
373 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F17", GetNapiInt32(env, KeyEvent::KEYCODE_F17)),
374 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F18", GetNapiInt32(env, KeyEvent::KEYCODE_F18)),
375 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F19", GetNapiInt32(env, KeyEvent::KEYCODE_F19)),
376 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F20", GetNapiInt32(env, KeyEvent::KEYCODE_F20)),
377 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F21", GetNapiInt32(env, KeyEvent::KEYCODE_F21)),
378 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F22", GetNapiInt32(env, KeyEvent::KEYCODE_F22)),
379 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F23", GetNapiInt32(env, KeyEvent::KEYCODE_F23)),
380 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_F24", GetNapiInt32(env, KeyEvent::KEYCODE_F24)),
381 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG3", GetNapiInt32(env, KeyEvent::KEYCODE_PROG3)),
382 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_PROG4", GetNapiInt32(env, KeyEvent::KEYCODE_PROG4)),
383 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DASHBOARD", GetNapiInt32(env, KeyEvent::KEYCODE_DASHBOARD)),
384 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SUSPEND", GetNapiInt32(env, KeyEvent::KEYCODE_SUSPEND)),
385 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_HP", GetNapiInt32(env, KeyEvent::KEYCODE_HP)),
386 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SOUND", GetNapiInt32(env, KeyEvent::KEYCODE_SOUND)),
387 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_QUESTION", GetNapiInt32(env, KeyEvent::KEYCODE_QUESTION)),
388 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CONNECT", GetNapiInt32(env, KeyEvent::KEYCODE_CONNECT)),
389 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SPORT", GetNapiInt32(env, KeyEvent::KEYCODE_SPORT)),
390 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SHOP", GetNapiInt32(env, KeyEvent::KEYCODE_SHOP)),
391 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_ALTERASE", GetNapiInt32(env, KeyEvent::KEYCODE_ALTERASE)),
392 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_SWITCHVIDEOMODE", GetNapiInt32(env, KeyEvent::KEYCODE_SWITCHVIDEOMODE)),
393 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BATTERY", GetNapiInt32(env, KeyEvent::KEYCODE_BATTERY)),
394 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BLUETOOTH", GetNapiInt32(env, KeyEvent::KEYCODE_BLUETOOTH)),
395 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WLAN", GetNapiInt32(env, KeyEvent::KEYCODE_WLAN)),
396 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_UWB", GetNapiInt32(env, KeyEvent::KEYCODE_UWB)),
397 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_WWAN_WIMAX", GetNapiInt32(env, KeyEvent::KEYCODE_WWAN_WIMAX)),
398 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_RFKILL", GetNapiInt32(env, KeyEvent::KEYCODE_RFKILL)),
399 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CHANNEL", GetNapiInt32(env, KeyEvent::KEYCODE_CHANNEL)),
400 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_0", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_0)),
401 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_1", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_1)),
402 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_2", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_2)),
403 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_3", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_3)),
404 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_4", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_4)),
405 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_5", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_5)),
406 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_6", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_6)),
407 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_7", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_7)),
408 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_8", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_8)),
409 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_BTN_9", GetNapiInt32(env, KeyEvent::KEYCODE_BTN_9)),
410 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALL_NOTIFICATION_CENTER",
411 GetNapiInt32(env, KeyEvent::KEYCODE_CALL_NOTIFICATION_CENTER)),
412 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_CALL_CONTROL_CENTER",
413 GetNapiInt32(env, KeyEvent::KEYCODE_CALL_CONTROL_CENTER)),
414 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DAGGER_CLICK", GetNapiInt32(env, KeyEvent::KEYCODE_DAGGER_CLICK)),
415 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DAGGER_DOUBLE_CLICK",
416 GetNapiInt32(env, KeyEvent::KEYCODE_DAGGER_DOUBLE_CLICK)),
417 DECLARE_NAPI_STATIC_PROPERTY("KEYCODE_DAGGER_LONG_PRESS",
418 GetNapiInt32(env, KeyEvent::KEYCODE_DAGGER_LONG_PRESS)),
419 };
420
421 napi_value result = nullptr;
422 CHKRP(napi_define_class(env, "KeyCode", NAPI_AUTO_LENGTH, EnumClassConstructor, nullptr,
423 sizeof(desc) / sizeof(*desc), desc, &result), DEFINE_CLASS);
424 CHKRP(napi_set_named_property(env, exports, "KeyCode", result), SET_NAMED_PROPERTY);
425 return exports;
426 }
427 } // namespace MMI
428 } // namespace OHOS