]> git.proxmox.com Git - mirror_novnc.git/blob - core/input/fixedkeys.js
2a2594e8bea18f33653129a9ff04c62b7d239b3e
[mirror_novnc.git] / core / input / fixedkeys.js
1 /*
2 * noVNC: HTML5 VNC client
3 * Copyright (C) 2017 Pierre Ossman for Cendio AB
4 * Licensed under MPL 2.0 or any later version (see LICENSE.txt)
5 */
6
7 /*
8 * Mapping between HTML key codes and VNC/X11 keysyms for the
9 * subset of keys that have the same mapping on every keyboard
10 * layout. Keys that vary between layouts must never be included
11 * in this list.
12 */
13
14 import KeyTable from "./keysym.js";
15
16 export default {
17 'Backspace': KeyTable.XK_BackSpace,
18 'AltLeft': KeyTable.XK_Alt_L,
19 // AltRight is special
20 'CapsLock': KeyTable.XK_Caps_Lock,
21 'ContextMenu': KeyTable.XK_Menu,
22 'ControlLeft': KeyTable.XK_Control_L,
23 'ControlRight': KeyTable.XK_Control_R,
24 'Enter': KeyTable.XK_Return,
25 'MetaLeft': KeyTable.XK_Super_L,
26 'MetaRight': KeyTable.XK_Super_R,
27 'ShiftLeft': KeyTable.XK_Shift_L,
28 'ShiftRight': KeyTable.XK_Shift_R,
29 'Space': KeyTable.XK_space,
30 'Tab': KeyTable.XK_Tab,
31 // FIXME: Japanese/Korean keys
32 'Delete': KeyTable.XK_Delete,
33 'End': KeyTable.XK_End,
34 'Help': KeyTable.XK_Help,
35 'Home': KeyTable.XK_Home,
36 'Insert': KeyTable.XK_Insert,
37 'PageDown': KeyTable.XK_Next,
38 'PageUp': KeyTable.XK_Prior,
39 'ArrowDown': KeyTable.XK_Down,
40 'ArrowLeft': KeyTable.XK_Left,
41 'ArrowRight': KeyTable.XK_Right,
42 'ArrowUp': KeyTable.XK_Up,
43 'NumLock': KeyTable.XK_Num_Lock,
44 'NumpadAdd': KeyTable.XK_KP_Add,
45 'NumpadBackspace': KeyTable.XK_KP_Delete,
46 'NumpadClear': KeyTable.XK_Clear,
47 // NumpadDecimal is special
48 'NumpadDivide': KeyTable.XK_KP_Divide,
49 'NumpadEnter': KeyTable.XK_KP_Enter,
50 'NumpadEqual': KeyTable.XK_KP_Equal,
51 'NumpadMultiply': KeyTable.XK_KP_Multiply,
52 'NumpadSubtract': KeyTable.XK_KP_Subtract,
53 'Escape': KeyTable.XK_Escape,
54 'F1': KeyTable.XK_F1,
55 'F2': KeyTable.XK_F2,
56 'F3': KeyTable.XK_F3,
57 'F4': KeyTable.XK_F4,
58 'F5': KeyTable.XK_F5,
59 'F6': KeyTable.XK_F6,
60 'F7': KeyTable.XK_F7,
61 'F8': KeyTable.XK_F8,
62 'F9': KeyTable.XK_F9,
63 'F10': KeyTable.XK_F10,
64 'F11': KeyTable.XK_F11,
65 'F12': KeyTable.XK_F12,
66 'F13': KeyTable.XK_F13,
67 'F14': KeyTable.XK_F14,
68 'F15': KeyTable.XK_F15,
69 'F16': KeyTable.XK_F16,
70 'F17': KeyTable.XK_F17,
71 'F18': KeyTable.XK_F18,
72 'F19': KeyTable.XK_F19,
73 'F20': KeyTable.XK_F20,
74 'F21': KeyTable.XK_F21,
75 'F22': KeyTable.XK_F22,
76 'F23': KeyTable.XK_F23,
77 'F24': KeyTable.XK_F24,
78 'F25': KeyTable.XK_F25,
79 'F26': KeyTable.XK_F26,
80 'F27': KeyTable.XK_F27,
81 'F28': KeyTable.XK_F28,
82 'F29': KeyTable.XK_F29,
83 'F30': KeyTable.XK_F30,
84 'F31': KeyTable.XK_F31,
85 'F32': KeyTable.XK_F32,
86 'F33': KeyTable.XK_F33,
87 'F34': KeyTable.XK_F34,
88 'F35': KeyTable.XK_F35,
89 'PrintScreen': KeyTable.XK_Print,
90 'ScrollLock': KeyTable.XK_Scroll_Lock,
91 'Pause': KeyTable.XK_Pause,
92 'BrowserBack': KeyTable.XF86XK_Back,
93 'BrowserFavorites': KeyTable.XF86XK_Favorites,
94 'BrowserForward': KeyTable.XF86XK_Forward,
95 'BrowserHome': KeyTable.XF86XK_HomePage,
96 'BrowserRefresh': KeyTable.XF86XK_Refresh,
97 'BrowserSearch': KeyTable.XF86XK_Search,
98 'BrowserStop': KeyTable.XF86XK_Stop,
99 'LaunchApp1': KeyTable.XF86XK_Explorer,
100 'LaunchApp2': KeyTable.XF86XK_Calculator,
101 'LaunchMail': KeyTable.XF86XK_Mail,
102 'MediaPlayPause': KeyTable.XF86XK_AudioPlay,
103 'MediaStop': KeyTable.XF86XK_AudioStop,
104 'MediaTrackNext': KeyTable.XF86XK_AudioNext,
105 'MediaTrackPrevious': KeyTable.XF86XK_AudioPrev,
106 'Power': KeyTable.XF86XK_PowerOff,
107 'Sleep': KeyTable.XF86XK_Sleep,
108 'AudioVolumeDown': KeyTable.XF86XK_AudioLowerVolume,
109 'AudioVolumeMute': KeyTable.XF86XK_AudioMute,
110 'AudioVolumeUp': KeyTable.XF86XK_AudioRaiseVolume,
111 'WakeUp': KeyTable.XF86XK_WakeUp,
112 };