113 lines
4.4 KiB
JavaScript
113 lines
4.4 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)
|
|
*/
|
|
|
|
/*
|
|
* Mapping between HTML key codes and VNC/X11 keysyms for the
|
|
* subset of keys that have the same mapping on every keyboard
|
|
* layout. Keys that vary between layouts must never be included
|
|
* in this list.
|
|
*/
|
|
|
|
import KeyTable from "./keysym.js";
|
|
|
|
export default {
|
|
'Backspace': KeyTable.XK_BackSpace,
|
|
'AltLeft': KeyTable.XK_Alt_L,
|
|
// AltRight is special
|
|
'CapsLock': KeyTable.XK_Caps_Lock,
|
|
'ContextMenu': KeyTable.XK_Menu,
|
|
'ControlLeft': KeyTable.XK_Control_L,
|
|
'ControlRight': KeyTable.XK_Control_R,
|
|
'Enter': KeyTable.XK_Return,
|
|
'MetaLeft': KeyTable.XK_Super_L,
|
|
'MetaRight': KeyTable.XK_Super_R,
|
|
'ShiftLeft': KeyTable.XK_Shift_L,
|
|
'ShiftRight': KeyTable.XK_Shift_R,
|
|
'Space': KeyTable.XK_space,
|
|
'Tab': KeyTable.XK_Tab,
|
|
// FIXME: Japanese/Korean keys
|
|
'Delete': KeyTable.XK_Delete,
|
|
'End': KeyTable.XK_End,
|
|
'Help': KeyTable.XK_Help,
|
|
'Home': KeyTable.XK_Home,
|
|
'Insert': KeyTable.XK_Insert,
|
|
'PageDown': KeyTable.XK_Next,
|
|
'PageUp': KeyTable.XK_Prior,
|
|
'ArrowDown': KeyTable.XK_Down,
|
|
'ArrowLeft': KeyTable.XK_Left,
|
|
'ArrowRight': KeyTable.XK_Right,
|
|
'ArrowUp': KeyTable.XK_Up,
|
|
'NumLock': KeyTable.XK_Num_Lock,
|
|
'NumpadAdd': KeyTable.XK_KP_Add,
|
|
'NumpadBackspace': KeyTable.XK_KP_Delete,
|
|
'NumpadClear': KeyTable.XK_Clear,
|
|
// NumpadDecimal is special
|
|
'NumpadDivide': KeyTable.XK_KP_Divide,
|
|
'NumpadEnter': KeyTable.XK_KP_Enter,
|
|
'NumpadEqual': KeyTable.XK_KP_Equal,
|
|
'NumpadMultiply': KeyTable.XK_KP_Multiply,
|
|
'NumpadSubtract': KeyTable.XK_KP_Subtract,
|
|
'Escape': KeyTable.XK_Escape,
|
|
'F1': KeyTable.XK_F1,
|
|
'F2': KeyTable.XK_F2,
|
|
'F3': KeyTable.XK_F3,
|
|
'F4': KeyTable.XK_F4,
|
|
'F5': KeyTable.XK_F5,
|
|
'F6': KeyTable.XK_F6,
|
|
'F7': KeyTable.XK_F7,
|
|
'F8': KeyTable.XK_F8,
|
|
'F9': KeyTable.XK_F9,
|
|
'F10': KeyTable.XK_F10,
|
|
'F11': KeyTable.XK_F11,
|
|
'F12': KeyTable.XK_F12,
|
|
'F13': KeyTable.XK_F13,
|
|
'F14': KeyTable.XK_F14,
|
|
'F15': KeyTable.XK_F15,
|
|
'F16': KeyTable.XK_F16,
|
|
'F17': KeyTable.XK_F17,
|
|
'F18': KeyTable.XK_F18,
|
|
'F19': KeyTable.XK_F19,
|
|
'F20': KeyTable.XK_F20,
|
|
'F21': KeyTable.XK_F21,
|
|
'F22': KeyTable.XK_F22,
|
|
'F23': KeyTable.XK_F23,
|
|
'F24': KeyTable.XK_F24,
|
|
'F25': KeyTable.XK_F25,
|
|
'F26': KeyTable.XK_F26,
|
|
'F27': KeyTable.XK_F27,
|
|
'F28': KeyTable.XK_F28,
|
|
'F29': KeyTable.XK_F29,
|
|
'F30': KeyTable.XK_F30,
|
|
'F31': KeyTable.XK_F31,
|
|
'F32': KeyTable.XK_F32,
|
|
'F33': KeyTable.XK_F33,
|
|
'F34': KeyTable.XK_F34,
|
|
'F35': KeyTable.XK_F35,
|
|
'PrintScreen': KeyTable.XK_Print,
|
|
'ScrollLock': KeyTable.XK_Scroll_Lock,
|
|
'Pause': KeyTable.XK_Pause,
|
|
'BrowserBack': KeyTable.XF86XK_Back,
|
|
'BrowserFavorites': KeyTable.XF86XK_Favorites,
|
|
'BrowserForward': KeyTable.XF86XK_Forward,
|
|
'BrowserHome': KeyTable.XF86XK_HomePage,
|
|
'BrowserRefresh': KeyTable.XF86XK_Refresh,
|
|
'BrowserSearch': KeyTable.XF86XK_Search,
|
|
'BrowserStop': KeyTable.XF86XK_Stop,
|
|
'LaunchApp1': KeyTable.XF86XK_Explorer,
|
|
'LaunchApp2': KeyTable.XF86XK_Calculator,
|
|
'LaunchMail': KeyTable.XF86XK_Mail,
|
|
'MediaPlayPause': KeyTable.XF86XK_AudioPlay,
|
|
'MediaStop': KeyTable.XF86XK_AudioStop,
|
|
'MediaTrackNext': KeyTable.XF86XK_AudioNext,
|
|
'MediaTrackPrevious': KeyTable.XF86XK_AudioPrev,
|
|
'Power': KeyTable.XF86XK_PowerOff,
|
|
'Sleep': KeyTable.XF86XK_Sleep,
|
|
'AudioVolumeDown': KeyTable.XF86XK_AudioLowerVolume,
|
|
'AudioVolumeMute': KeyTable.XF86XK_AudioMute,
|
|
'AudioVolumeUp': KeyTable.XF86XK_AudioRaiseVolume,
|
|
'WakeUp': KeyTable.XF86XK_WakeUp,
|
|
};
|