Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "nsIDOMUIEvent.idl"
8 [scriptable, builtinclass, uuid(d2b3e35f-8627-4732-a92d-cda54c8f8054)]
9 interface nsIDOMKeyEvent : nsIDOMUIEvent
10 {
11 const unsigned long DOM_VK_CANCEL = 0x03;
12 const unsigned long DOM_VK_HELP = 0x06;
13 const unsigned long DOM_VK_BACK_SPACE = 0x08;
14 const unsigned long DOM_VK_TAB = 0x09;
15 const unsigned long DOM_VK_CLEAR = 0x0C;
16 const unsigned long DOM_VK_RETURN = 0x0D;
17 // DOM_VK_ENTER has been never used for representing native key events.
18 // Therefore, it's removed for preventing developers being confused.
19 // const unsigned long DOM_VK_ENTER = 0x0E;
20 const unsigned long DOM_VK_SHIFT = 0x10;
21 const unsigned long DOM_VK_CONTROL = 0x11;
22 const unsigned long DOM_VK_ALT = 0x12;
23 const unsigned long DOM_VK_PAUSE = 0x13;
24 const unsigned long DOM_VK_CAPS_LOCK = 0x14;
25 const unsigned long DOM_VK_KANA = 0x15;
26 const unsigned long DOM_VK_HANGUL = 0x15;
27 const unsigned long DOM_VK_EISU = 0x16; // Japanese Mac keyboard only
28 const unsigned long DOM_VK_JUNJA = 0x17;
29 const unsigned long DOM_VK_FINAL = 0x18;
30 const unsigned long DOM_VK_HANJA = 0x19;
31 const unsigned long DOM_VK_KANJI = 0x19;
32 const unsigned long DOM_VK_ESCAPE = 0x1B;
33 const unsigned long DOM_VK_CONVERT = 0x1C;
34 const unsigned long DOM_VK_NONCONVERT = 0x1D;
35 const unsigned long DOM_VK_ACCEPT = 0x1E;
36 const unsigned long DOM_VK_MODECHANGE = 0x1F;
37 const unsigned long DOM_VK_SPACE = 0x20;
38 const unsigned long DOM_VK_PAGE_UP = 0x21;
39 const unsigned long DOM_VK_PAGE_DOWN = 0x22;
40 const unsigned long DOM_VK_END = 0x23;
41 const unsigned long DOM_VK_HOME = 0x24;
42 const unsigned long DOM_VK_LEFT = 0x25;
43 const unsigned long DOM_VK_UP = 0x26;
44 const unsigned long DOM_VK_RIGHT = 0x27;
45 const unsigned long DOM_VK_DOWN = 0x28;
46 const unsigned long DOM_VK_SELECT = 0x29;
47 const unsigned long DOM_VK_PRINT = 0x2A;
48 const unsigned long DOM_VK_EXECUTE = 0x2B;
49 const unsigned long DOM_VK_PRINTSCREEN = 0x2C;
50 const unsigned long DOM_VK_INSERT = 0x2D;
51 const unsigned long DOM_VK_DELETE = 0x2E;
53 // DOM_VK_0 - DOM_VK_9 match their ascii values
54 const unsigned long DOM_VK_0 = 0x30;
55 const unsigned long DOM_VK_1 = 0x31;
56 const unsigned long DOM_VK_2 = 0x32;
57 const unsigned long DOM_VK_3 = 0x33;
58 const unsigned long DOM_VK_4 = 0x34;
59 const unsigned long DOM_VK_5 = 0x35;
60 const unsigned long DOM_VK_6 = 0x36;
61 const unsigned long DOM_VK_7 = 0x37;
62 const unsigned long DOM_VK_8 = 0x38;
63 const unsigned long DOM_VK_9 = 0x39;
65 const unsigned long DOM_VK_COLON = 0x3A;
66 const unsigned long DOM_VK_SEMICOLON = 0x3B;
67 const unsigned long DOM_VK_LESS_THAN = 0x3C;
68 const unsigned long DOM_VK_EQUALS = 0x3D;
69 const unsigned long DOM_VK_GREATER_THAN = 0x3E;
70 const unsigned long DOM_VK_QUESTION_MARK = 0x3F;
71 const unsigned long DOM_VK_AT = 0x40;
73 // DOM_VK_A - DOM_VK_Z match their ascii values
74 const unsigned long DOM_VK_A = 0x41;
75 const unsigned long DOM_VK_B = 0x42;
76 const unsigned long DOM_VK_C = 0x43;
77 const unsigned long DOM_VK_D = 0x44;
78 const unsigned long DOM_VK_E = 0x45;
79 const unsigned long DOM_VK_F = 0x46;
80 const unsigned long DOM_VK_G = 0x47;
81 const unsigned long DOM_VK_H = 0x48;
82 const unsigned long DOM_VK_I = 0x49;
83 const unsigned long DOM_VK_J = 0x4A;
84 const unsigned long DOM_VK_K = 0x4B;
85 const unsigned long DOM_VK_L = 0x4C;
86 const unsigned long DOM_VK_M = 0x4D;
87 const unsigned long DOM_VK_N = 0x4E;
88 const unsigned long DOM_VK_O = 0x4F;
89 const unsigned long DOM_VK_P = 0x50;
90 const unsigned long DOM_VK_Q = 0x51;
91 const unsigned long DOM_VK_R = 0x52;
92 const unsigned long DOM_VK_S = 0x53;
93 const unsigned long DOM_VK_T = 0x54;
94 const unsigned long DOM_VK_U = 0x55;
95 const unsigned long DOM_VK_V = 0x56;
96 const unsigned long DOM_VK_W = 0x57;
97 const unsigned long DOM_VK_X = 0x58;
98 const unsigned long DOM_VK_Y = 0x59;
99 const unsigned long DOM_VK_Z = 0x5A;
101 const unsigned long DOM_VK_WIN = 0x5B;
102 const unsigned long DOM_VK_CONTEXT_MENU = 0x5D;
103 const unsigned long DOM_VK_SLEEP = 0x5F;
105 // Numpad keys
106 const unsigned long DOM_VK_NUMPAD0 = 0x60;
107 const unsigned long DOM_VK_NUMPAD1 = 0x61;
108 const unsigned long DOM_VK_NUMPAD2 = 0x62;
109 const unsigned long DOM_VK_NUMPAD3 = 0x63;
110 const unsigned long DOM_VK_NUMPAD4 = 0x64;
111 const unsigned long DOM_VK_NUMPAD5 = 0x65;
112 const unsigned long DOM_VK_NUMPAD6 = 0x66;
113 const unsigned long DOM_VK_NUMPAD7 = 0x67;
114 const unsigned long DOM_VK_NUMPAD8 = 0x68;
115 const unsigned long DOM_VK_NUMPAD9 = 0x69;
116 const unsigned long DOM_VK_MULTIPLY = 0x6A;
117 const unsigned long DOM_VK_ADD = 0x6B;
118 const unsigned long DOM_VK_SEPARATOR = 0x6C;
119 const unsigned long DOM_VK_SUBTRACT = 0x6D;
120 const unsigned long DOM_VK_DECIMAL = 0x6E;
121 const unsigned long DOM_VK_DIVIDE = 0x6F;
123 const unsigned long DOM_VK_F1 = 0x70;
124 const unsigned long DOM_VK_F2 = 0x71;
125 const unsigned long DOM_VK_F3 = 0x72;
126 const unsigned long DOM_VK_F4 = 0x73;
127 const unsigned long DOM_VK_F5 = 0x74;
128 const unsigned long DOM_VK_F6 = 0x75;
129 const unsigned long DOM_VK_F7 = 0x76;
130 const unsigned long DOM_VK_F8 = 0x77;
131 const unsigned long DOM_VK_F9 = 0x78;
132 const unsigned long DOM_VK_F10 = 0x79;
133 const unsigned long DOM_VK_F11 = 0x7A;
134 const unsigned long DOM_VK_F12 = 0x7B;
135 const unsigned long DOM_VK_F13 = 0x7C;
136 const unsigned long DOM_VK_F14 = 0x7D;
137 const unsigned long DOM_VK_F15 = 0x7E;
138 const unsigned long DOM_VK_F16 = 0x7F;
139 const unsigned long DOM_VK_F17 = 0x80;
140 const unsigned long DOM_VK_F18 = 0x81;
141 const unsigned long DOM_VK_F19 = 0x82;
142 const unsigned long DOM_VK_F20 = 0x83;
143 const unsigned long DOM_VK_F21 = 0x84;
144 const unsigned long DOM_VK_F22 = 0x85;
145 const unsigned long DOM_VK_F23 = 0x86;
146 const unsigned long DOM_VK_F24 = 0x87;
148 const unsigned long DOM_VK_NUM_LOCK = 0x90;
149 const unsigned long DOM_VK_SCROLL_LOCK = 0x91;
151 // OEM specific virtual keyCode of Windows should pass through DOM keyCode
152 // for compatibility with the other web browsers on Windows.
153 const unsigned long DOM_VK_WIN_OEM_FJ_JISHO = 0x92;
154 const unsigned long DOM_VK_WIN_OEM_FJ_MASSHOU = 0x93;
155 const unsigned long DOM_VK_WIN_OEM_FJ_TOUROKU = 0x94;
156 const unsigned long DOM_VK_WIN_OEM_FJ_LOYA = 0x95;
157 const unsigned long DOM_VK_WIN_OEM_FJ_ROYA = 0x96;
159 const unsigned long DOM_VK_CIRCUMFLEX = 0xA0;
160 const unsigned long DOM_VK_EXCLAMATION = 0xA1;
161 const unsigned long DOM_VK_DOUBLE_QUOTE = 0xA2;
162 const unsigned long DOM_VK_HASH = 0xA3;
163 const unsigned long DOM_VK_DOLLAR = 0xA4;
164 const unsigned long DOM_VK_PERCENT = 0xA5;
165 const unsigned long DOM_VK_AMPERSAND = 0xA6;
166 const unsigned long DOM_VK_UNDERSCORE = 0xA7;
167 const unsigned long DOM_VK_OPEN_PAREN = 0xA8;
168 const unsigned long DOM_VK_CLOSE_PAREN = 0xA9;
169 const unsigned long DOM_VK_ASTERISK = 0xAA;
170 const unsigned long DOM_VK_PLUS = 0xAB;
171 const unsigned long DOM_VK_PIPE = 0xAC;
172 const unsigned long DOM_VK_HYPHEN_MINUS = 0xAD;
174 const unsigned long DOM_VK_OPEN_CURLY_BRACKET = 0xAE;
175 const unsigned long DOM_VK_CLOSE_CURLY_BRACKET = 0xAF;
177 const unsigned long DOM_VK_TILDE = 0xB0;
179 const unsigned long DOM_VK_VOLUME_MUTE = 0xB5;
180 const unsigned long DOM_VK_VOLUME_DOWN = 0xB6;
181 const unsigned long DOM_VK_VOLUME_UP = 0xB7;
183 const unsigned long DOM_VK_COMMA = 0xBC;
184 const unsigned long DOM_VK_PERIOD = 0xBE;
185 const unsigned long DOM_VK_SLASH = 0xBF;
186 const unsigned long DOM_VK_BACK_QUOTE = 0xC0;
187 const unsigned long DOM_VK_OPEN_BRACKET = 0xDB; // square bracket
188 const unsigned long DOM_VK_BACK_SLASH = 0xDC;
189 const unsigned long DOM_VK_CLOSE_BRACKET = 0xDD; // square bracket
190 const unsigned long DOM_VK_QUOTE = 0xDE; // Apostrophe
192 const unsigned long DOM_VK_META = 0xE0;
193 const unsigned long DOM_VK_ALTGR = 0xE1;
195 // OEM specific virtual keyCode of Windows should pass through DOM keyCode
196 // for compatibility with the other web browsers on Windows.
197 const unsigned long DOM_VK_WIN_ICO_HELP = 0xE3;
198 const unsigned long DOM_VK_WIN_ICO_00 = 0xE4;
199 const unsigned long DOM_VK_WIN_ICO_CLEAR = 0xE6;
200 const unsigned long DOM_VK_WIN_OEM_RESET = 0xE9;
201 const unsigned long DOM_VK_WIN_OEM_JUMP = 0xEA;
202 const unsigned long DOM_VK_WIN_OEM_PA1 = 0xEB;
203 const unsigned long DOM_VK_WIN_OEM_PA2 = 0xEC;
204 const unsigned long DOM_VK_WIN_OEM_PA3 = 0xED;
205 const unsigned long DOM_VK_WIN_OEM_WSCTRL = 0xEE;
206 const unsigned long DOM_VK_WIN_OEM_CUSEL = 0xEF;
207 const unsigned long DOM_VK_WIN_OEM_ATTN = 0xF0;
208 const unsigned long DOM_VK_WIN_OEM_FINISH = 0xF1;
209 const unsigned long DOM_VK_WIN_OEM_COPY = 0xF2;
210 const unsigned long DOM_VK_WIN_OEM_AUTO = 0xF3;
211 const unsigned long DOM_VK_WIN_OEM_ENLW = 0xF4;
212 const unsigned long DOM_VK_WIN_OEM_BACKTAB = 0xF5;
214 // Following keys are not used on most keyboards. However, for compatibility
215 // with other browsers on Windows, we should define them.
216 const unsigned long DOM_VK_ATTN = 0xF6;
217 const unsigned long DOM_VK_CRSEL = 0xF7;
218 const unsigned long DOM_VK_EXSEL = 0xF8;
219 const unsigned long DOM_VK_EREOF = 0xF9;
220 const unsigned long DOM_VK_PLAY = 0xFA;
221 const unsigned long DOM_VK_ZOOM = 0xFB;
222 const unsigned long DOM_VK_PA1 = 0xFD;
224 // OEM specific virtual keyCode of Windows should pass through DOM keyCode
225 // for compatibility with the other web browsers on Windows.
226 const unsigned long DOM_VK_WIN_OEM_CLEAR = 0xFE;
228 readonly attribute unsigned long charCode;
229 readonly attribute unsigned long keyCode;
231 readonly attribute boolean altKey;
232 readonly attribute boolean ctrlKey;
233 readonly attribute boolean shiftKey;
234 readonly attribute boolean metaKey;
236 void initKeyEvent(in DOMString typeArg,
237 in boolean canBubbleArg,
238 in boolean cancelableArg,
239 in nsIDOMWindow viewArg,
240 in boolean ctrlKeyArg,
241 in boolean altKeyArg,
242 in boolean shiftKeyArg,
243 in boolean metaKeyArg,
244 in unsigned long keyCodeArg,
245 in unsigned long charCodeArg);
247 bool getModifierState(in DOMString keyArg);
249 const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00;
250 const unsigned long DOM_KEY_LOCATION_LEFT = 0x01;
251 const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02;
252 const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03;
253 const unsigned long DOM_KEY_LOCATION_MOBILE = 0x04;
254 const unsigned long DOM_KEY_LOCATION_JOYSTICK = 0x05;
256 readonly attribute unsigned long location;
257 readonly attribute boolean repeat;
259 readonly attribute DOMString key;
260 };