Path: blob/main/puppet-chrome/interfaces/USKeyboardLayout.ts
1028 views
/**1* Copyright 2020 Data Liberation Foundation, Inc. All rights reserved.2*3* Licensed under the Apache License, Version 2.0 (the 'License');4* you may not use this file except in compliance with the License.5* You may obtain a copy of the License at6*7* http://www.apache.org/licenses/LICENSE-2.08*9* Unless required by applicable law or agreed to in writing, software10* distributed under the License is distributed on an 'AS IS' BASIS,11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12* See the License for the specific language governing permissions and13* limitations under the License.14*/1516import { IKeyboardKey } from '@secret-agent/interfaces/IKeyboardLayoutUS';1718export interface IKeyDefinition {19keyCode?: number;20shiftKeyCode?: number;21key?: string;22shiftKey?: string;23code?: string;24text?: string;25shiftText?: string;26location?: number;27}2829export const keyDefinitions: Readonly<Record<IKeyboardKey, IKeyDefinition>> = {30'0': { keyCode: 48, key: '0', code: 'Digit0' },31'1': { keyCode: 49, key: '1', code: 'Digit1' },32'2': { keyCode: 50, key: '2', code: 'Digit2' },33'3': { keyCode: 51, key: '3', code: 'Digit3' },34'4': { keyCode: 52, key: '4', code: 'Digit4' },35'5': { keyCode: 53, key: '5', code: 'Digit5' },36'6': { keyCode: 54, key: '6', code: 'Digit6' },37'7': { keyCode: 55, key: '7', code: 'Digit7' },38'8': { keyCode: 56, key: '8', code: 'Digit8' },39'9': { keyCode: 57, key: '9', code: 'Digit9' },40Power: { key: 'Power', code: 'Power' },41Eject: { key: 'Eject', code: 'Eject' },42Abort: { keyCode: 3, code: 'Abort', key: 'Cancel' },43Help: { keyCode: 6, code: 'Help', key: 'Help' },44Backspace: { keyCode: 8, code: 'Backspace', key: 'Backspace' },45Tab: { keyCode: 9, code: 'Tab', key: 'Tab' },46Numpad5: {47keyCode: 12,48shiftKeyCode: 101,49key: 'Clear',50code: 'Numpad5',51shiftKey: '5',52location: 3,53},54NumpadEnter: {55keyCode: 13,56code: 'NumpadEnter',57key: 'Enter',58text: '\r',59location: 3,60},61Enter: { keyCode: 13, code: 'Enter', key: 'Enter', text: '\r' },62'\r': { keyCode: 13, code: 'Enter', key: 'Enter', text: '\r' },63'\n': { keyCode: 13, code: 'Enter', key: 'Enter', text: '\r' },64ShiftLeft: { keyCode: 16, code: 'ShiftLeft', key: 'Shift', location: 1 },65ShiftRight: { keyCode: 16, code: 'ShiftRight', key: 'Shift', location: 2 },66ControlLeft: {67keyCode: 17,68code: 'ControlLeft',69key: 'Control',70location: 1,71},72ControlRight: {73keyCode: 17,74code: 'ControlRight',75key: 'Control',76location: 2,77},78AltLeft: { keyCode: 18, code: 'AltLeft', key: 'Alt', location: 1 },79AltRight: { keyCode: 18, code: 'AltRight', key: 'Alt', location: 2 },80Pause: { keyCode: 19, code: 'Pause', key: 'Pause' },81CapsLock: { keyCode: 20, code: 'CapsLock', key: 'CapsLock' },82Escape: { keyCode: 27, code: 'Escape', key: 'Escape' },83Convert: { keyCode: 28, code: 'Convert', key: 'Convert' },84NonConvert: { keyCode: 29, code: 'NonConvert', key: 'NonConvert' },85Space: { keyCode: 32, code: 'Space', key: ' ' },86Numpad9: {87keyCode: 33,88shiftKeyCode: 105,89key: 'PageUp',90code: 'Numpad9',91shiftKey: '9',92location: 3,93},94PageUp: { keyCode: 33, code: 'PageUp', key: 'PageUp' },95Numpad3: {96keyCode: 34,97shiftKeyCode: 99,98key: 'PageDown',99code: 'Numpad3',100shiftKey: '3',101location: 3,102},103PageDown: { keyCode: 34, code: 'PageDown', key: 'PageDown' },104End: { keyCode: 35, code: 'End', key: 'End' },105Numpad1: {106keyCode: 35,107shiftKeyCode: 97,108key: 'End',109code: 'Numpad1',110shiftKey: '1',111location: 3,112},113Home: { keyCode: 36, code: 'Home', key: 'Home' },114Numpad7: {115keyCode: 36,116shiftKeyCode: 103,117key: 'Home',118code: 'Numpad7',119shiftKey: '7',120location: 3,121},122ArrowLeft: { keyCode: 37, code: 'ArrowLeft', key: 'ArrowLeft' },123Numpad4: {124keyCode: 37,125shiftKeyCode: 100,126key: 'ArrowLeft',127code: 'Numpad4',128shiftKey: '4',129location: 3,130},131Numpad8: {132keyCode: 38,133shiftKeyCode: 104,134key: 'ArrowUp',135code: 'Numpad8',136shiftKey: '8',137location: 3,138},139ArrowUp: { keyCode: 38, code: 'ArrowUp', key: 'ArrowUp' },140ArrowRight: { keyCode: 39, code: 'ArrowRight', key: 'ArrowRight' },141Numpad6: {142keyCode: 39,143shiftKeyCode: 102,144key: 'ArrowRight',145code: 'Numpad6',146shiftKey: '6',147location: 3,148},149Numpad2: {150keyCode: 40,151shiftKeyCode: 98,152key: 'ArrowDown',153code: 'Numpad2',154shiftKey: '2',155location: 3,156},157ArrowDown: { keyCode: 40, code: 'ArrowDown', key: 'ArrowDown' },158Select: { keyCode: 41, code: 'Select', key: 'Select' },159Open: { keyCode: 43, code: 'Open', key: 'Execute' },160PrintScreen: { keyCode: 44, code: 'PrintScreen', key: 'PrintScreen' },161Insert: { keyCode: 45, code: 'Insert', key: 'Insert' },162Numpad0: {163keyCode: 45,164shiftKeyCode: 96,165key: 'Insert',166code: 'Numpad0',167shiftKey: '0',168location: 3,169},170Delete: { keyCode: 46, code: 'Delete', key: 'Delete' },171NumpadDecimal: {172keyCode: 46,173shiftKeyCode: 110,174code: 'NumpadDecimal',175key: '\u0000',176shiftKey: '.',177location: 3,178},179Digit0: { keyCode: 48, code: 'Digit0', shiftKey: ')', key: '0' },180Digit1: { keyCode: 49, code: 'Digit1', shiftKey: '!', key: '1' },181Digit2: { keyCode: 50, code: 'Digit2', shiftKey: '@', key: '2' },182Digit3: { keyCode: 51, code: 'Digit3', shiftKey: '#', key: '3' },183Digit4: { keyCode: 52, code: 'Digit4', shiftKey: '$', key: '4' },184Digit5: { keyCode: 53, code: 'Digit5', shiftKey: '%', key: '5' },185Digit6: { keyCode: 54, code: 'Digit6', shiftKey: '^', key: '6' },186Digit7: { keyCode: 55, code: 'Digit7', shiftKey: '&', key: '7' },187Digit8: { keyCode: 56, code: 'Digit8', shiftKey: '*', key: '8' },188Digit9: { keyCode: 57, code: 'Digit9', shiftKey: '(', key: '9' },189KeyA: { keyCode: 65, code: 'KeyA', shiftKey: 'A', key: 'a' },190KeyB: { keyCode: 66, code: 'KeyB', shiftKey: 'B', key: 'b' },191KeyC: { keyCode: 67, code: 'KeyC', shiftKey: 'C', key: 'c' },192KeyD: { keyCode: 68, code: 'KeyD', shiftKey: 'D', key: 'd' },193KeyE: { keyCode: 69, code: 'KeyE', shiftKey: 'E', key: 'e' },194KeyF: { keyCode: 70, code: 'KeyF', shiftKey: 'F', key: 'f' },195KeyG: { keyCode: 71, code: 'KeyG', shiftKey: 'G', key: 'g' },196KeyH: { keyCode: 72, code: 'KeyH', shiftKey: 'H', key: 'h' },197KeyI: { keyCode: 73, code: 'KeyI', shiftKey: 'I', key: 'i' },198KeyJ: { keyCode: 74, code: 'KeyJ', shiftKey: 'J', key: 'j' },199KeyK: { keyCode: 75, code: 'KeyK', shiftKey: 'K', key: 'k' },200KeyL: { keyCode: 76, code: 'KeyL', shiftKey: 'L', key: 'l' },201KeyM: { keyCode: 77, code: 'KeyM', shiftKey: 'M', key: 'm' },202KeyN: { keyCode: 78, code: 'KeyN', shiftKey: 'N', key: 'n' },203KeyO: { keyCode: 79, code: 'KeyO', shiftKey: 'O', key: 'o' },204KeyP: { keyCode: 80, code: 'KeyP', shiftKey: 'P', key: 'p' },205KeyQ: { keyCode: 81, code: 'KeyQ', shiftKey: 'Q', key: 'q' },206KeyR: { keyCode: 82, code: 'KeyR', shiftKey: 'R', key: 'r' },207KeyS: { keyCode: 83, code: 'KeyS', shiftKey: 'S', key: 's' },208KeyT: { keyCode: 84, code: 'KeyT', shiftKey: 'T', key: 't' },209KeyU: { keyCode: 85, code: 'KeyU', shiftKey: 'U', key: 'u' },210KeyV: { keyCode: 86, code: 'KeyV', shiftKey: 'V', key: 'v' },211KeyW: { keyCode: 87, code: 'KeyW', shiftKey: 'W', key: 'w' },212KeyX: { keyCode: 88, code: 'KeyX', shiftKey: 'X', key: 'x' },213KeyY: { keyCode: 89, code: 'KeyY', shiftKey: 'Y', key: 'y' },214KeyZ: { keyCode: 90, code: 'KeyZ', shiftKey: 'Z', key: 'z' },215MetaLeft: { keyCode: 91, code: 'MetaLeft', key: 'Meta', location: 1 },216MetaRight: { keyCode: 92, code: 'MetaRight', key: 'Meta', location: 2 },217ContextMenu: { keyCode: 93, code: 'ContextMenu', key: 'ContextMenu' },218NumpadMultiply: {219keyCode: 106,220code: 'NumpadMultiply',221key: '*',222location: 3,223},224NumpadAdd: { keyCode: 107, code: 'NumpadAdd', key: '+', location: 3 },225NumpadSubtract: {226keyCode: 109,227code: 'NumpadSubtract',228key: '-',229location: 3,230},231NumpadDivide: { keyCode: 111, code: 'NumpadDivide', key: '/', location: 3 },232F1: { keyCode: 112, code: 'F1', key: 'F1' },233F2: { keyCode: 113, code: 'F2', key: 'F2' },234F3: { keyCode: 114, code: 'F3', key: 'F3' },235F4: { keyCode: 115, code: 'F4', key: 'F4' },236F5: { keyCode: 116, code: 'F5', key: 'F5' },237F6: { keyCode: 117, code: 'F6', key: 'F6' },238F7: { keyCode: 118, code: 'F7', key: 'F7' },239F8: { keyCode: 119, code: 'F8', key: 'F8' },240F9: { keyCode: 120, code: 'F9', key: 'F9' },241F10: { keyCode: 121, code: 'F10', key: 'F10' },242F11: { keyCode: 122, code: 'F11', key: 'F11' },243F12: { keyCode: 123, code: 'F12', key: 'F12' },244F13: { keyCode: 124, code: 'F13', key: 'F13' },245F14: { keyCode: 125, code: 'F14', key: 'F14' },246F15: { keyCode: 126, code: 'F15', key: 'F15' },247F16: { keyCode: 127, code: 'F16', key: 'F16' },248F17: { keyCode: 128, code: 'F17', key: 'F17' },249F18: { keyCode: 129, code: 'F18', key: 'F18' },250F19: { keyCode: 130, code: 'F19', key: 'F19' },251F20: { keyCode: 131, code: 'F20', key: 'F20' },252F21: { keyCode: 132, code: 'F21', key: 'F21' },253F22: { keyCode: 133, code: 'F22', key: 'F22' },254F23: { keyCode: 134, code: 'F23', key: 'F23' },255F24: { keyCode: 135, code: 'F24', key: 'F24' },256NumLock: { keyCode: 144, code: 'NumLock', key: 'NumLock' },257ScrollLock: { keyCode: 145, code: 'ScrollLock', key: 'ScrollLock' },258AudioVolumeMute: {259keyCode: 173,260code: 'AudioVolumeMute',261key: 'AudioVolumeMute',262},263AudioVolumeDown: {264keyCode: 174,265code: 'AudioVolumeDown',266key: 'AudioVolumeDown',267},268AudioVolumeUp: { keyCode: 175, code: 'AudioVolumeUp', key: 'AudioVolumeUp' },269MediaTrackNext: {270keyCode: 176,271code: 'MediaTrackNext',272key: 'MediaTrackNext',273},274MediaTrackPrevious: {275keyCode: 177,276code: 'MediaTrackPrevious',277key: 'MediaTrackPrevious',278},279MediaStop: { keyCode: 178, code: 'MediaStop', key: 'MediaStop' },280MediaPlayPause: {281keyCode: 179,282code: 'MediaPlayPause',283key: 'MediaPlayPause',284},285Semicolon: { keyCode: 186, code: 'Semicolon', shiftKey: ':', key: ';' },286Equal: { keyCode: 187, code: 'Equal', shiftKey: '+', key: '=' },287NumpadEqual: { keyCode: 187, code: 'NumpadEqual', key: '=', location: 3 },288Comma: { keyCode: 188, code: 'Comma', shiftKey: '<', key: ',' },289Minus: { keyCode: 189, code: 'Minus', shiftKey: '_', key: '-' },290Period: { keyCode: 190, code: 'Period', shiftKey: '>', key: '.' },291Slash: { keyCode: 191, code: 'Slash', shiftKey: '?', key: '/' },292Backquote: { keyCode: 192, code: 'Backquote', shiftKey: '~', key: '`' },293BracketLeft: { keyCode: 219, code: 'BracketLeft', shiftKey: '{', key: '[' },294Backslash: { keyCode: 220, code: 'Backslash', shiftKey: '|', key: '\\' },295BracketRight: { keyCode: 221, code: 'BracketRight', shiftKey: '}', key: ']' },296Quote: { keyCode: 222, code: 'Quote', shiftKey: '"', key: "'" },297AltGraph: { keyCode: 225, code: 'AltGraph', key: 'AltGraph' },298Props: { keyCode: 247, code: 'Props', key: 'CrSel' },299Cancel: { keyCode: 3, key: 'Cancel', code: 'Abort' },300Clear: { keyCode: 12, key: 'Clear', code: 'Numpad5', location: 3 },301Shift: { keyCode: 16, key: 'Shift', code: 'ShiftLeft', location: 1 },302Control: { keyCode: 17, key: 'Control', code: 'ControlLeft', location: 1 },303Alt: { keyCode: 18, key: 'Alt', code: 'AltLeft', location: 1 },304Accept: { keyCode: 30, key: 'Accept' },305ModeChange: { keyCode: 31, key: 'ModeChange' },306' ': { keyCode: 32, key: ' ', code: 'Space' },307Print: { keyCode: 42, key: 'Print' },308Execute: { keyCode: 43, key: 'Execute', code: 'Open' },309'\u0000': { keyCode: 46, key: '\u0000', code: 'NumpadDecimal', location: 3 },310a: { keyCode: 65, key: 'a', code: 'KeyA' },311b: { keyCode: 66, key: 'b', code: 'KeyB' },312c: { keyCode: 67, key: 'c', code: 'KeyC' },313d: { keyCode: 68, key: 'd', code: 'KeyD' },314e: { keyCode: 69, key: 'e', code: 'KeyE' },315f: { keyCode: 70, key: 'f', code: 'KeyF' },316g: { keyCode: 71, key: 'g', code: 'KeyG' },317h: { keyCode: 72, key: 'h', code: 'KeyH' },318i: { keyCode: 73, key: 'i', code: 'KeyI' },319j: { keyCode: 74, key: 'j', code: 'KeyJ' },320k: { keyCode: 75, key: 'k', code: 'KeyK' },321l: { keyCode: 76, key: 'l', code: 'KeyL' },322m: { keyCode: 77, key: 'm', code: 'KeyM' },323n: { keyCode: 78, key: 'n', code: 'KeyN' },324o: { keyCode: 79, key: 'o', code: 'KeyO' },325p: { keyCode: 80, key: 'p', code: 'KeyP' },326q: { keyCode: 81, key: 'q', code: 'KeyQ' },327r: { keyCode: 82, key: 'r', code: 'KeyR' },328s: { keyCode: 83, key: 's', code: 'KeyS' },329t: { keyCode: 84, key: 't', code: 'KeyT' },330u: { keyCode: 85, key: 'u', code: 'KeyU' },331v: { keyCode: 86, key: 'v', code: 'KeyV' },332w: { keyCode: 87, key: 'w', code: 'KeyW' },333x: { keyCode: 88, key: 'x', code: 'KeyX' },334y: { keyCode: 89, key: 'y', code: 'KeyY' },335z: { keyCode: 90, key: 'z', code: 'KeyZ' },336Meta: { keyCode: 91, key: 'Meta', code: 'MetaLeft', location: 1 },337'*': { keyCode: 106, key: '*', code: 'NumpadMultiply', location: 3 },338'+': { keyCode: 107, key: '+', code: 'NumpadAdd', location: 3 },339'-': { keyCode: 109, key: '-', code: 'NumpadSubtract', location: 3 },340'/': { keyCode: 111, key: '/', code: 'NumpadDivide', location: 3 },341';': { keyCode: 186, key: ';', code: 'Semicolon' },342'=': { keyCode: 187, key: '=', code: 'Equal' },343',': { keyCode: 188, key: ',', code: 'Comma' },344'.': { keyCode: 190, key: '.', code: 'Period' },345'`': { keyCode: 192, key: '`', code: 'Backquote' },346'[': { keyCode: 219, key: '[', code: 'BracketLeft' },347'\\': { keyCode: 220, key: '\\', code: 'Backslash' },348']': { keyCode: 221, key: ']', code: 'BracketRight' },349"'": { keyCode: 222, key: "'", code: 'Quote' },350Attn: { keyCode: 246, key: 'Attn' },351CrSel: { keyCode: 247, key: 'CrSel', code: 'Props' },352ExSel: { keyCode: 248, key: 'ExSel' },353EraseEof: { keyCode: 249, key: 'EraseEof' },354Play: { keyCode: 250, key: 'Play' },355ZoomOut: { keyCode: 251, key: 'ZoomOut' },356')': { keyCode: 48, key: ')', code: 'Digit0' },357'!': { keyCode: 49, key: '!', code: 'Digit1' },358'@': { keyCode: 50, key: '@', code: 'Digit2' },359'#': { keyCode: 51, key: '#', code: 'Digit3' },360$: { keyCode: 52, key: '$', code: 'Digit4' },361'%': { keyCode: 53, key: '%', code: 'Digit5' },362'^': { keyCode: 54, key: '^', code: 'Digit6' },363'&': { keyCode: 55, key: '&', code: 'Digit7' },364'(': { keyCode: 57, key: '(', code: 'Digit9' },365A: { keyCode: 65, key: 'A', code: 'KeyA' },366B: { keyCode: 66, key: 'B', code: 'KeyB' },367C: { keyCode: 67, key: 'C', code: 'KeyC' },368D: { keyCode: 68, key: 'D', code: 'KeyD' },369E: { keyCode: 69, key: 'E', code: 'KeyE' },370F: { keyCode: 70, key: 'F', code: 'KeyF' },371G: { keyCode: 71, key: 'G', code: 'KeyG' },372H: { keyCode: 72, key: 'H', code: 'KeyH' },373I: { keyCode: 73, key: 'I', code: 'KeyI' },374J: { keyCode: 74, key: 'J', code: 'KeyJ' },375K: { keyCode: 75, key: 'K', code: 'KeyK' },376L: { keyCode: 76, key: 'L', code: 'KeyL' },377M: { keyCode: 77, key: 'M', code: 'KeyM' },378N: { keyCode: 78, key: 'N', code: 'KeyN' },379O: { keyCode: 79, key: 'O', code: 'KeyO' },380P: { keyCode: 80, key: 'P', code: 'KeyP' },381Q: { keyCode: 81, key: 'Q', code: 'KeyQ' },382R: { keyCode: 82, key: 'R', code: 'KeyR' },383S: { keyCode: 83, key: 'S', code: 'KeyS' },384T: { keyCode: 84, key: 'T', code: 'KeyT' },385U: { keyCode: 85, key: 'U', code: 'KeyU' },386V: { keyCode: 86, key: 'V', code: 'KeyV' },387W: { keyCode: 87, key: 'W', code: 'KeyW' },388X: { keyCode: 88, key: 'X', code: 'KeyX' },389Y: { keyCode: 89, key: 'Y', code: 'KeyY' },390Z: { keyCode: 90, key: 'Z', code: 'KeyZ' },391':': { keyCode: 186, key: ':', code: 'Semicolon' },392'<': { keyCode: 188, key: '<', code: 'Comma' },393_: { keyCode: 189, key: '_', code: 'Minus' },394'>': { keyCode: 190, key: '>', code: 'Period' },395'?': { keyCode: 191, key: '?', code: 'Slash' },396'~': { keyCode: 192, key: '~', code: 'Backquote' },397'{': { keyCode: 219, key: '{', code: 'BracketLeft' },398'|': { keyCode: 220, key: '|', code: 'Backslash' },399'}': { keyCode: 221, key: '}', code: 'BracketRight' },400'"': { keyCode: 222, key: '"', code: 'Quote' },401SoftLeft: { key: 'SoftLeft', code: 'SoftLeft', location: 4 },402SoftRight: { key: 'SoftRight', code: 'SoftRight', location: 4 },403Camera: { keyCode: 44, key: 'Camera', code: 'Camera', location: 4 },404Call: { key: 'Call', code: 'Call', location: 4 },405EndCall: { keyCode: 95, key: 'EndCall', code: 'EndCall', location: 4 },406VolumeDown: {407keyCode: 182,408key: 'VolumeDown',409code: 'VolumeDown',410location: 4,411},412VolumeUp: { keyCode: 183, key: 'VolumeUp', code: 'VolumeUp', location: 4 },413};414415416