Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / dom / webidl / KeyEvent.webidl
bloba2230e104b2b48759f18446a1eee7efda0d0b276
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 file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/.
5  */
7 interface WindowProxy;
9 // http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/events.html#Events-KeyEvent
10 interface KeyEvent
12   const unsigned long DOM_VK_CANCEL         = 0x03;
13   const unsigned long DOM_VK_HELP           = 0x06;
14   const unsigned long DOM_VK_BACK_SPACE     = 0x08;
15   const unsigned long DOM_VK_TAB            = 0x09;
16   const unsigned long DOM_VK_CLEAR          = 0x0C;
17   const unsigned long DOM_VK_RETURN         = 0x0D;
18   // DOM_VK_ENTER has been never used for representing native key events.
19   // Therefore, it's removed for preventing developers being confused.
20   // const unsigned long DOM_VK_ENTER          = 0x0E;
21   const unsigned long DOM_VK_SHIFT          = 0x10;
22   const unsigned long DOM_VK_CONTROL        = 0x11;
23   const unsigned long DOM_VK_ALT            = 0x12;
24   const unsigned long DOM_VK_PAUSE          = 0x13;
25   const unsigned long DOM_VK_CAPS_LOCK      = 0x14;
26   const unsigned long DOM_VK_KANA           = 0x15;
27   const unsigned long DOM_VK_HANGUL         = 0x15;
28   const unsigned long DOM_VK_EISU           = 0x16; // Japanese Mac keyboard only
29   const unsigned long DOM_VK_JUNJA          = 0x17;
30   const unsigned long DOM_VK_FINAL          = 0x18;
31   const unsigned long DOM_VK_HANJA          = 0x19;
32   const unsigned long DOM_VK_KANJI          = 0x19;
33   const unsigned long DOM_VK_ESCAPE         = 0x1B;
34   const unsigned long DOM_VK_CONVERT        = 0x1C;
35   const unsigned long DOM_VK_NONCONVERT     = 0x1D;
36   const unsigned long DOM_VK_ACCEPT         = 0x1E;
37   const unsigned long DOM_VK_MODECHANGE     = 0x1F;
38   const unsigned long DOM_VK_SPACE          = 0x20;
39   const unsigned long DOM_VK_PAGE_UP        = 0x21;
40   const unsigned long DOM_VK_PAGE_DOWN      = 0x22;
41   const unsigned long DOM_VK_END            = 0x23;
42   const unsigned long DOM_VK_HOME           = 0x24;
43   const unsigned long DOM_VK_LEFT           = 0x25;
44   const unsigned long DOM_VK_UP             = 0x26;
45   const unsigned long DOM_VK_RIGHT          = 0x27;
46   const unsigned long DOM_VK_DOWN           = 0x28;
47   const unsigned long DOM_VK_SELECT         = 0x29;
48   const unsigned long DOM_VK_PRINT          = 0x2A;
49   const unsigned long DOM_VK_EXECUTE        = 0x2B;
50   const unsigned long DOM_VK_PRINTSCREEN    = 0x2C;
51   const unsigned long DOM_VK_INSERT         = 0x2D;
52   const unsigned long DOM_VK_DELETE         = 0x2E;
54   // DOM_VK_0 - DOM_VK_9 match their ascii values
55   const unsigned long DOM_VK_0              = 0x30;
56   const unsigned long DOM_VK_1              = 0x31;
57   const unsigned long DOM_VK_2              = 0x32;
58   const unsigned long DOM_VK_3              = 0x33;
59   const unsigned long DOM_VK_4              = 0x34;
60   const unsigned long DOM_VK_5              = 0x35;
61   const unsigned long DOM_VK_6              = 0x36;
62   const unsigned long DOM_VK_7              = 0x37;
63   const unsigned long DOM_VK_8              = 0x38;
64   const unsigned long DOM_VK_9              = 0x39;
66   const unsigned long DOM_VK_COLON          = 0x3A;
67   const unsigned long DOM_VK_SEMICOLON      = 0x3B;
68   const unsigned long DOM_VK_LESS_THAN      = 0x3C;
69   const unsigned long DOM_VK_EQUALS         = 0x3D;
70   const unsigned long DOM_VK_GREATER_THAN   = 0x3E;
71   const unsigned long DOM_VK_QUESTION_MARK  = 0x3F;
72   const unsigned long DOM_VK_AT             = 0x40;
74   // DOM_VK_A - DOM_VK_Z match their ascii values
75   const unsigned long DOM_VK_A              = 0x41;
76   const unsigned long DOM_VK_B              = 0x42;
77   const unsigned long DOM_VK_C              = 0x43;
78   const unsigned long DOM_VK_D              = 0x44;
79   const unsigned long DOM_VK_E              = 0x45;
80   const unsigned long DOM_VK_F              = 0x46;
81   const unsigned long DOM_VK_G              = 0x47;
82   const unsigned long DOM_VK_H              = 0x48;
83   const unsigned long DOM_VK_I              = 0x49;
84   const unsigned long DOM_VK_J              = 0x4A;
85   const unsigned long DOM_VK_K              = 0x4B;
86   const unsigned long DOM_VK_L              = 0x4C;
87   const unsigned long DOM_VK_M              = 0x4D;
88   const unsigned long DOM_VK_N              = 0x4E;
89   const unsigned long DOM_VK_O              = 0x4F;
90   const unsigned long DOM_VK_P              = 0x50;
91   const unsigned long DOM_VK_Q              = 0x51;
92   const unsigned long DOM_VK_R              = 0x52;
93   const unsigned long DOM_VK_S              = 0x53;
94   const unsigned long DOM_VK_T              = 0x54;
95   const unsigned long DOM_VK_U              = 0x55;
96   const unsigned long DOM_VK_V              = 0x56;
97   const unsigned long DOM_VK_W              = 0x57;
98   const unsigned long DOM_VK_X              = 0x58;
99   const unsigned long DOM_VK_Y              = 0x59;
100   const unsigned long DOM_VK_Z              = 0x5A;
102   const unsigned long DOM_VK_WIN            = 0x5B;
103   const unsigned long DOM_VK_CONTEXT_MENU   = 0x5D;
104   const unsigned long DOM_VK_SLEEP          = 0x5F;
106   // Numpad keys
107   const unsigned long DOM_VK_NUMPAD0        = 0x60;
108   const unsigned long DOM_VK_NUMPAD1        = 0x61;
109   const unsigned long DOM_VK_NUMPAD2        = 0x62;
110   const unsigned long DOM_VK_NUMPAD3        = 0x63;
111   const unsigned long DOM_VK_NUMPAD4        = 0x64;
112   const unsigned long DOM_VK_NUMPAD5        = 0x65;
113   const unsigned long DOM_VK_NUMPAD6        = 0x66;
114   const unsigned long DOM_VK_NUMPAD7        = 0x67;
115   const unsigned long DOM_VK_NUMPAD8        = 0x68;
116   const unsigned long DOM_VK_NUMPAD9        = 0x69;
117   const unsigned long DOM_VK_MULTIPLY       = 0x6A;
118   const unsigned long DOM_VK_ADD            = 0x6B;
119   const unsigned long DOM_VK_SEPARATOR      = 0x6C;
120   const unsigned long DOM_VK_SUBTRACT       = 0x6D;
121   const unsigned long DOM_VK_DECIMAL        = 0x6E;
122   const unsigned long DOM_VK_DIVIDE         = 0x6F;
124   const unsigned long DOM_VK_F1             = 0x70;
125   const unsigned long DOM_VK_F2             = 0x71;
126   const unsigned long DOM_VK_F3             = 0x72;
127   const unsigned long DOM_VK_F4             = 0x73;
128   const unsigned long DOM_VK_F5             = 0x74;
129   const unsigned long DOM_VK_F6             = 0x75;
130   const unsigned long DOM_VK_F7             = 0x76;
131   const unsigned long DOM_VK_F8             = 0x77;
132   const unsigned long DOM_VK_F9             = 0x78;
133   const unsigned long DOM_VK_F10            = 0x79;
134   const unsigned long DOM_VK_F11            = 0x7A;
135   const unsigned long DOM_VK_F12            = 0x7B;
136   const unsigned long DOM_VK_F13            = 0x7C;
137   const unsigned long DOM_VK_F14            = 0x7D;
138   const unsigned long DOM_VK_F15            = 0x7E;
139   const unsigned long DOM_VK_F16            = 0x7F;
140   const unsigned long DOM_VK_F17            = 0x80;
141   const unsigned long DOM_VK_F18            = 0x81;
142   const unsigned long DOM_VK_F19            = 0x82;
143   const unsigned long DOM_VK_F20            = 0x83;
144   const unsigned long DOM_VK_F21            = 0x84;
145   const unsigned long DOM_VK_F22            = 0x85;
146   const unsigned long DOM_VK_F23            = 0x86;
147   const unsigned long DOM_VK_F24            = 0x87;
149   const unsigned long DOM_VK_NUM_LOCK       = 0x90;
150   const unsigned long DOM_VK_SCROLL_LOCK    = 0x91;
152   // OEM specific virtual keyCode of Windows should pass through DOM keyCode
153   // for compatibility with the other web browsers on Windows.
154   const unsigned long DOM_VK_WIN_OEM_FJ_JISHO   = 0x92;
155   const unsigned long DOM_VK_WIN_OEM_FJ_MASSHOU = 0x93;
156   const unsigned long DOM_VK_WIN_OEM_FJ_TOUROKU = 0x94;
157   const unsigned long DOM_VK_WIN_OEM_FJ_LOYA    = 0x95;
158   const unsigned long DOM_VK_WIN_OEM_FJ_ROYA    = 0x96;
160   const unsigned long DOM_VK_CIRCUMFLEX     = 0xA0;
161   const unsigned long DOM_VK_EXCLAMATION    = 0xA1;
162   const unsigned long DOM_VK_DOUBLE_QUOTE   = 0xA2;
163   const unsigned long DOM_VK_HASH           = 0xA3;
164   const unsigned long DOM_VK_DOLLAR         = 0xA4;
165   const unsigned long DOM_VK_PERCENT        = 0xA5;
166   const unsigned long DOM_VK_AMPERSAND      = 0xA6;
167   const unsigned long DOM_VK_UNDERSCORE     = 0xA7;
168   const unsigned long DOM_VK_OPEN_PAREN     = 0xA8;
169   const unsigned long DOM_VK_CLOSE_PAREN    = 0xA9;
170   const unsigned long DOM_VK_ASTERISK       = 0xAA;
171   const unsigned long DOM_VK_PLUS           = 0xAB;
172   const unsigned long DOM_VK_PIPE           = 0xAC;
173   const unsigned long DOM_VK_HYPHEN_MINUS   = 0xAD;
175   const unsigned long DOM_VK_OPEN_CURLY_BRACKET  = 0xAE;
176   const unsigned long DOM_VK_CLOSE_CURLY_BRACKET = 0xAF;
178   const unsigned long DOM_VK_TILDE          = 0xB0;
180   const unsigned long DOM_VK_VOLUME_MUTE    = 0xB5;
181   const unsigned long DOM_VK_VOLUME_DOWN    = 0xB6;
182   const unsigned long DOM_VK_VOLUME_UP      = 0xB7;
184   const unsigned long DOM_VK_COMMA          = 0xBC;
185   const unsigned long DOM_VK_PERIOD         = 0xBE;
186   const unsigned long DOM_VK_SLASH          = 0xBF;
187   const unsigned long DOM_VK_BACK_QUOTE     = 0xC0;
188   const unsigned long DOM_VK_OPEN_BRACKET   = 0xDB; // square bracket
189   const unsigned long DOM_VK_BACK_SLASH     = 0xDC;
190   const unsigned long DOM_VK_CLOSE_BRACKET  = 0xDD; // square bracket
191   const unsigned long DOM_VK_QUOTE          = 0xDE; // Apostrophe
193   const unsigned long DOM_VK_META           = 0xE0;
194   const unsigned long DOM_VK_ALTGR          = 0xE1;
196   // OEM specific virtual keyCode of Windows should pass through DOM keyCode
197   // for compatibility with the other web browsers on Windows.
198   const unsigned long DOM_VK_WIN_ICO_HELP    = 0xE3;
199   const unsigned long DOM_VK_WIN_ICO_00      = 0xE4;
200   const unsigned long DOM_VK_WIN_ICO_CLEAR   = 0xE6;
201   const unsigned long DOM_VK_WIN_OEM_RESET   = 0xE9;
202   const unsigned long DOM_VK_WIN_OEM_JUMP    = 0xEA;
203   const unsigned long DOM_VK_WIN_OEM_PA1     = 0xEB;
204   const unsigned long DOM_VK_WIN_OEM_PA2     = 0xEC;
205   const unsigned long DOM_VK_WIN_OEM_PA3     = 0xED;
206   const unsigned long DOM_VK_WIN_OEM_WSCTRL  = 0xEE;
207   const unsigned long DOM_VK_WIN_OEM_CUSEL   = 0xEF;
208   const unsigned long DOM_VK_WIN_OEM_ATTN    = 0xF0;
209   const unsigned long DOM_VK_WIN_OEM_FINISH  = 0xF1;
210   const unsigned long DOM_VK_WIN_OEM_COPY    = 0xF2;
211   const unsigned long DOM_VK_WIN_OEM_AUTO    = 0xF3;
212   const unsigned long DOM_VK_WIN_OEM_ENLW    = 0xF4;
213   const unsigned long DOM_VK_WIN_OEM_BACKTAB = 0xF5;
215   // Following keys are not used on most keyboards.  However, for compatibility
216   // with other browsers on Windows, we should define them.
217   const unsigned long DOM_VK_ATTN           = 0xF6;
218   const unsigned long DOM_VK_CRSEL          = 0xF7;
219   const unsigned long DOM_VK_EXSEL          = 0xF8;
220   const unsigned long DOM_VK_EREOF          = 0xF9;
221   const unsigned long DOM_VK_PLAY           = 0xFA;
222   const unsigned long DOM_VK_ZOOM           = 0xFB;
223   const unsigned long DOM_VK_PA1            = 0xFD;
225   // OEM specific virtual keyCode of Windows should pass through DOM keyCode
226   // for compatibility with the other web browsers on Windows.
227   const unsigned long DOM_VK_WIN_OEM_CLEAR  = 0xFE;
229   [Throws]
230   void initKeyEvent(DOMString type,
231                     boolean canBubble,
232                     boolean cancelable,
233                     WindowProxy? view,
234                     boolean ctrlKey,
235                     boolean altKey,
236                     boolean shiftKey,
237                     boolean metaKey,
238                     unsigned long keyCode,
239                     unsigned long charCode);