mirror of
https://github.com/novnc/noVNC.git
synced 2026-05-27 15:39:41 +00:00
And emulate it on browsers where it is missing or incorrect. This makes the code more future oriented as it primarily uses the standardised fields.
128 lines
3.7 KiB
JavaScript
128 lines
3.7 KiB
JavaScript
/*
|
|
* noVNC: HTML5 VNC client
|
|
* Copyright (C) 2017 Pierre Ossman for Cendio AB
|
|
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
|
|
*/
|
|
|
|
/*
|
|
* Fallback mapping between HTML key codes (physical keys) and
|
|
* HTML key values. This only works for keys that don't vary
|
|
* between layouts. We also omit those who manage fine by mapping the
|
|
* Unicode representation.
|
|
*
|
|
* See https://www.w3.org/TR/uievents-code/ for possible codes.
|
|
* See https://www.w3.org/TR/uievents-key/ for possible values.
|
|
*/
|
|
|
|
export default {
|
|
|
|
// 3.1.1.1. Writing System Keys
|
|
|
|
'Backspace': 'Backspace',
|
|
|
|
// 3.1.1.2. Functional Keys
|
|
|
|
'AltLeft': 'Alt',
|
|
'AltRight': 'Alt', // This could also be 'AltGraph'
|
|
'CapsLock': 'CapsLock',
|
|
'ContextMenu': 'ContextMenu',
|
|
'ControlLeft': 'Control',
|
|
'ControlRight': 'Control',
|
|
'Enter': 'Enter',
|
|
'MetaLeft': 'Meta',
|
|
'MetaRight': 'Meta',
|
|
'ShiftLeft': 'Shift',
|
|
'ShiftRight': 'Shift',
|
|
'Tab': 'Tab',
|
|
// FIXME: Japanese/Korean keys
|
|
|
|
// 3.1.2. Control Pad Section
|
|
|
|
'Delete': 'Delete',
|
|
'End': 'End',
|
|
'Help': 'Help',
|
|
'Home': 'Home',
|
|
'Insert': 'Insert',
|
|
'PageDown': 'PageDown',
|
|
'PageUp': 'PageUp',
|
|
|
|
// 3.1.3. Arrow Pad Section
|
|
|
|
'ArrowDown': 'ArrowDown',
|
|
'ArrowLeft': 'ArrowLeft',
|
|
'ArrowRight': 'ArrowRight',
|
|
'ArrowUp': 'ArrowUp',
|
|
|
|
// 3.1.4. Numpad Section
|
|
|
|
'NumLock': 'NumLock',
|
|
'NumpadBackspace': 'Backspace',
|
|
'NumpadClear': 'Clear',
|
|
|
|
// 3.1.5. Function Section
|
|
|
|
'Escape': 'Escape',
|
|
'F1': 'F1',
|
|
'F2': 'F2',
|
|
'F3': 'F3',
|
|
'F4': 'F4',
|
|
'F5': 'F5',
|
|
'F6': 'F6',
|
|
'F7': 'F7',
|
|
'F8': 'F8',
|
|
'F9': 'F9',
|
|
'F10': 'F10',
|
|
'F11': 'F11',
|
|
'F12': 'F12',
|
|
'F13': 'F13',
|
|
'F14': 'F14',
|
|
'F15': 'F15',
|
|
'F16': 'F16',
|
|
'F17': 'F17',
|
|
'F18': 'F18',
|
|
'F19': 'F19',
|
|
'F20': 'F20',
|
|
'F21': 'F21',
|
|
'F22': 'F22',
|
|
'F23': 'F23',
|
|
'F24': 'F24',
|
|
'F25': 'F25',
|
|
'F26': 'F26',
|
|
'F27': 'F27',
|
|
'F28': 'F28',
|
|
'F29': 'F29',
|
|
'F30': 'F30',
|
|
'F31': 'F31',
|
|
'F32': 'F32',
|
|
'F33': 'F33',
|
|
'F34': 'F34',
|
|
'F35': 'F35',
|
|
'PrintScreen': 'PrintScreen',
|
|
'ScrollLock': 'ScrollLock',
|
|
'Pause': 'Pause',
|
|
|
|
// 3.1.6. Media Keys
|
|
|
|
'BrowserBack': 'BrowserBack',
|
|
'BrowserFavorites': 'BrowserFavorites',
|
|
'BrowserForward': 'BrowserForward',
|
|
'BrowserHome': 'BrowserHome',
|
|
'BrowserRefresh': 'BrowserRefresh',
|
|
'BrowserSearch': 'BrowserSearch',
|
|
'BrowserStop': 'BrowserStop',
|
|
'Eject': 'Eject',
|
|
'LaunchApp1': 'LaunchMyComputer',
|
|
'LaunchApp2': 'LaunchCalendar',
|
|
'LaunchMail': 'LaunchMail',
|
|
'MediaPlayPause': 'MediaPlay',
|
|
'MediaStop': 'MediaStop',
|
|
'MediaTrackNext': 'MediaTrackNext',
|
|
'MediaTrackPrevious': 'MediaTrackPrevious',
|
|
'Power': 'Power',
|
|
'Sleep': 'Sleep',
|
|
'AudioVolumeDown': 'AudioVolumeDown',
|
|
'AudioVolumeMute': 'AudioVolumeMute',
|
|
'AudioVolumeUp': 'AudioVolumeUp',
|
|
'WakeUp': 'WakeUp',
|
|
};
|