| 1 | /* |
| 2 | * noVNC: HTML5 VNC client |
| 3 | * Copyright (C) 2018 The noVNC Authors |
| 4 | * Licensed under MPL 2.0 or any later version (see LICENSE.txt) |
| 5 | */ |
| 6 | |
| 7 | /* |
| 8 | * Mapping between Microsoft® Windows® Virtual-Key codes and |
| 9 | * HTML key codes. |
| 10 | */ |
| 11 | |
| 12 | export default { |
| 13 | 0x08: 'Backspace', |
| 14 | 0x09: 'Tab', |
| 15 | 0x0a: 'NumpadClear', |
| 16 | 0x0d: 'Enter', |
| 17 | 0x10: 'ShiftLeft', |
| 18 | 0x11: 'ControlLeft', |
| 19 | 0x12: 'AltLeft', |
| 20 | 0x13: 'Pause', |
| 21 | 0x14: 'CapsLock', |
| 22 | 0x15: 'Lang1', |
| 23 | 0x19: 'Lang2', |
| 24 | 0x1b: 'Escape', |
| 25 | 0x1c: 'Convert', |
| 26 | 0x1d: 'NonConvert', |
| 27 | 0x20: 'Space', |
| 28 | 0x21: 'PageUp', |
| 29 | 0x22: 'PageDown', |
| 30 | 0x23: 'End', |
| 31 | 0x24: 'Home', |
| 32 | 0x25: 'ArrowLeft', |
| 33 | 0x26: 'ArrowUp', |
| 34 | 0x27: 'ArrowRight', |
| 35 | 0x28: 'ArrowDown', |
| 36 | 0x29: 'Select', |
| 37 | 0x2c: 'PrintScreen', |
| 38 | 0x2d: 'Insert', |
| 39 | 0x2e: 'Delete', |
| 40 | 0x2f: 'Help', |
| 41 | 0x30: 'Digit0', |
| 42 | 0x31: 'Digit1', |
| 43 | 0x32: 'Digit2', |
| 44 | 0x33: 'Digit3', |
| 45 | 0x34: 'Digit4', |
| 46 | 0x35: 'Digit5', |
| 47 | 0x36: 'Digit6', |
| 48 | 0x37: 'Digit7', |
| 49 | 0x38: 'Digit8', |
| 50 | 0x39: 'Digit9', |
| 51 | 0x5b: 'MetaLeft', |
| 52 | 0x5c: 'MetaRight', |
| 53 | 0x5d: 'ContextMenu', |
| 54 | 0x5f: 'Sleep', |
| 55 | 0x60: 'Numpad0', |
| 56 | 0x61: 'Numpad1', |
| 57 | 0x62: 'Numpad2', |
| 58 | 0x63: 'Numpad3', |
| 59 | 0x64: 'Numpad4', |
| 60 | 0x65: 'Numpad5', |
| 61 | 0x66: 'Numpad6', |
| 62 | 0x67: 'Numpad7', |
| 63 | 0x68: 'Numpad8', |
| 64 | 0x69: 'Numpad9', |
| 65 | 0x6a: 'NumpadMultiply', |
| 66 | 0x6b: 'NumpadAdd', |
| 67 | 0x6c: 'NumpadDecimal', |
| 68 | 0x6d: 'NumpadSubtract', |
| 69 | 0x6e: 'NumpadDecimal', // Duplicate, because buggy on Windows |
| 70 | 0x6f: 'NumpadDivide', |
| 71 | 0x70: 'F1', |
| 72 | 0x71: 'F2', |
| 73 | 0x72: 'F3', |
| 74 | 0x73: 'F4', |
| 75 | 0x74: 'F5', |
| 76 | 0x75: 'F6', |
| 77 | 0x76: 'F7', |
| 78 | 0x77: 'F8', |
| 79 | 0x78: 'F9', |
| 80 | 0x79: 'F10', |
| 81 | 0x7a: 'F11', |
| 82 | 0x7b: 'F12', |
| 83 | 0x7c: 'F13', |
| 84 | 0x7d: 'F14', |
| 85 | 0x7e: 'F15', |
| 86 | 0x7f: 'F16', |
| 87 | 0x80: 'F17', |
| 88 | 0x81: 'F18', |
| 89 | 0x82: 'F19', |
| 90 | 0x83: 'F20', |
| 91 | 0x84: 'F21', |
| 92 | 0x85: 'F22', |
| 93 | 0x86: 'F23', |
| 94 | 0x87: 'F24', |
| 95 | 0x90: 'NumLock', |
| 96 | 0x91: 'ScrollLock', |
| 97 | 0xa6: 'BrowserBack', |
| 98 | 0xa7: 'BrowserForward', |
| 99 | 0xa8: 'BrowserRefresh', |
| 100 | 0xa9: 'BrowserStop', |
| 101 | 0xaa: 'BrowserSearch', |
| 102 | 0xab: 'BrowserFavorites', |
| 103 | 0xac: 'BrowserHome', |
| 104 | 0xad: 'AudioVolumeMute', |
| 105 | 0xae: 'AudioVolumeDown', |
| 106 | 0xaf: 'AudioVolumeUp', |
| 107 | 0xb0: 'MediaTrackNext', |
| 108 | 0xb1: 'MediaTrackPrevious', |
| 109 | 0xb2: 'MediaStop', |
| 110 | 0xb3: 'MediaPlayPause', |
| 111 | 0xb4: 'LaunchMail', |
| 112 | 0xb5: 'MediaSelect', |
| 113 | 0xb6: 'LaunchApp1', |
| 114 | 0xb7: 'LaunchApp2', |
| 115 | 0xe1: 'AltRight', // Only when it is AltGraph |
| 116 | }; |