tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

KeyEvent.webidl (12020B)


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