{"version":3,"sources":["browser/monaco-keycode-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAUlF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,EAAO,CAAC","file":"../../src/browser/monaco-keycode-map.d.ts","sourcesContent":["/********************************************************************************\r\n * Copyright (C) 2017 TypeFox and others.\r\n *\r\n * This program and the accompanying materials are made available under the\r\n * terms of the Eclipse Public License v. 2.0 which is available at\r\n * http://www.eclipse.org/legal/epl-2.0.\r\n *\r\n * This Source Code may also be made available under the following Secondary\r\n * Licenses when the conditions for such availability set forth in the Eclipse\r\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\r\n * with the GNU Classpath Exception which is available at\r\n * https://www.gnu.org/software/classpath/license.html.\r\n *\r\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\r\n ********************************************************************************/\r\n/*---------------------------------------------------------------------------------------------\r\n *  Copyright (c) Microsoft Corporation. All rights reserved.\r\n *  Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as browser from '@tartjs/core/lib/browser/browser';\r\n\r\nconst KeyCode = monaco.KeyCode;\r\n\r\nexport const KEY_CODE_MAP: monaco.KeyCode[] = [];\r\n(function (): void {\r\n    KEY_CODE_MAP[3] = KeyCode.PauseBreak; // VK_CANCEL 0x03 Control-break processing\r\n    KEY_CODE_MAP[8] = KeyCode.Backspace;\r\n    KEY_CODE_MAP[9] = KeyCode.Tab;\r\n    KEY_CODE_MAP[13] = KeyCode.Enter;\r\n    KEY_CODE_MAP[16] = KeyCode.Shift;\r\n    KEY_CODE_MAP[17] = KeyCode.Ctrl;\r\n    KEY_CODE_MAP[18] = KeyCode.Alt;\r\n    KEY_CODE_MAP[19] = KeyCode.PauseBreak;\r\n    KEY_CODE_MAP[20] = KeyCode.CapsLock;\r\n    KEY_CODE_MAP[27] = KeyCode.Escape;\r\n    KEY_CODE_MAP[32] = KeyCode.Space;\r\n    KEY_CODE_MAP[33] = KeyCode.PageUp;\r\n    KEY_CODE_MAP[34] = KeyCode.PageDown;\r\n    KEY_CODE_MAP[35] = KeyCode.End;\r\n    KEY_CODE_MAP[36] = KeyCode.Home;\r\n    KEY_CODE_MAP[37] = KeyCode.LeftArrow;\r\n    KEY_CODE_MAP[38] = KeyCode.UpArrow;\r\n    KEY_CODE_MAP[39] = KeyCode.RightArrow;\r\n    KEY_CODE_MAP[40] = KeyCode.DownArrow;\r\n    KEY_CODE_MAP[45] = KeyCode.Insert;\r\n    KEY_CODE_MAP[46] = KeyCode.Delete;\r\n\r\n    KEY_CODE_MAP[48] = KeyCode.KEY_0;\r\n    KEY_CODE_MAP[49] = KeyCode.KEY_1;\r\n    KEY_CODE_MAP[50] = KeyCode.KEY_2;\r\n    KEY_CODE_MAP[51] = KeyCode.KEY_3;\r\n    KEY_CODE_MAP[52] = KeyCode.KEY_4;\r\n    KEY_CODE_MAP[53] = KeyCode.KEY_5;\r\n    KEY_CODE_MAP[54] = KeyCode.KEY_6;\r\n    KEY_CODE_MAP[55] = KeyCode.KEY_7;\r\n    KEY_CODE_MAP[56] = KeyCode.KEY_8;\r\n    KEY_CODE_MAP[57] = KeyCode.KEY_9;\r\n\r\n    KEY_CODE_MAP[65] = KeyCode.KEY_A;\r\n    KEY_CODE_MAP[66] = KeyCode.KEY_B;\r\n    KEY_CODE_MAP[67] = KeyCode.KEY_C;\r\n    KEY_CODE_MAP[68] = KeyCode.KEY_D;\r\n    KEY_CODE_MAP[69] = KeyCode.KEY_E;\r\n    KEY_CODE_MAP[70] = KeyCode.KEY_F;\r\n    KEY_CODE_MAP[71] = KeyCode.KEY_G;\r\n    KEY_CODE_MAP[72] = KeyCode.KEY_H;\r\n    KEY_CODE_MAP[73] = KeyCode.KEY_I;\r\n    KEY_CODE_MAP[74] = KeyCode.KEY_J;\r\n    KEY_CODE_MAP[75] = KeyCode.KEY_K;\r\n    KEY_CODE_MAP[76] = KeyCode.KEY_L;\r\n    KEY_CODE_MAP[77] = KeyCode.KEY_M;\r\n    KEY_CODE_MAP[78] = KeyCode.KEY_N;\r\n    KEY_CODE_MAP[79] = KeyCode.KEY_O;\r\n    KEY_CODE_MAP[80] = KeyCode.KEY_P;\r\n    KEY_CODE_MAP[81] = KeyCode.KEY_Q;\r\n    KEY_CODE_MAP[82] = KeyCode.KEY_R;\r\n    KEY_CODE_MAP[83] = KeyCode.KEY_S;\r\n    KEY_CODE_MAP[84] = KeyCode.KEY_T;\r\n    KEY_CODE_MAP[85] = KeyCode.KEY_U;\r\n    KEY_CODE_MAP[86] = KeyCode.KEY_V;\r\n    KEY_CODE_MAP[87] = KeyCode.KEY_W;\r\n    KEY_CODE_MAP[88] = KeyCode.KEY_X;\r\n    KEY_CODE_MAP[89] = KeyCode.KEY_Y;\r\n    KEY_CODE_MAP[90] = KeyCode.KEY_Z;\r\n\r\n    KEY_CODE_MAP[93] = KeyCode.ContextMenu;\r\n\r\n    KEY_CODE_MAP[96] = KeyCode.NUMPAD_0;\r\n    KEY_CODE_MAP[97] = KeyCode.NUMPAD_1;\r\n    KEY_CODE_MAP[98] = KeyCode.NUMPAD_2;\r\n    KEY_CODE_MAP[99] = KeyCode.NUMPAD_3;\r\n    KEY_CODE_MAP[100] = KeyCode.NUMPAD_4;\r\n    KEY_CODE_MAP[101] = KeyCode.NUMPAD_5;\r\n    KEY_CODE_MAP[102] = KeyCode.NUMPAD_6;\r\n    KEY_CODE_MAP[103] = KeyCode.NUMPAD_7;\r\n    KEY_CODE_MAP[104] = KeyCode.NUMPAD_8;\r\n    KEY_CODE_MAP[105] = KeyCode.NUMPAD_9;\r\n    KEY_CODE_MAP[106] = KeyCode.NUMPAD_MULTIPLY;\r\n    KEY_CODE_MAP[107] = KeyCode.NUMPAD_ADD;\r\n    KEY_CODE_MAP[108] = KeyCode.NUMPAD_SEPARATOR;\r\n    KEY_CODE_MAP[109] = KeyCode.NUMPAD_SUBTRACT;\r\n    KEY_CODE_MAP[110] = KeyCode.NUMPAD_DECIMAL;\r\n    KEY_CODE_MAP[111] = KeyCode.NUMPAD_DIVIDE;\r\n\r\n    KEY_CODE_MAP[112] = KeyCode.F1;\r\n    KEY_CODE_MAP[113] = KeyCode.F2;\r\n    KEY_CODE_MAP[114] = KeyCode.F3;\r\n    KEY_CODE_MAP[115] = KeyCode.F4;\r\n    KEY_CODE_MAP[116] = KeyCode.F5;\r\n    KEY_CODE_MAP[117] = KeyCode.F6;\r\n    KEY_CODE_MAP[118] = KeyCode.F7;\r\n    KEY_CODE_MAP[119] = KeyCode.F8;\r\n    KEY_CODE_MAP[120] = KeyCode.F9;\r\n    KEY_CODE_MAP[121] = KeyCode.F10;\r\n    KEY_CODE_MAP[122] = KeyCode.F11;\r\n    KEY_CODE_MAP[123] = KeyCode.F12;\r\n    KEY_CODE_MAP[124] = KeyCode.F13;\r\n    KEY_CODE_MAP[125] = KeyCode.F14;\r\n    KEY_CODE_MAP[126] = KeyCode.F15;\r\n    KEY_CODE_MAP[127] = KeyCode.F16;\r\n    KEY_CODE_MAP[128] = KeyCode.F17;\r\n    KEY_CODE_MAP[129] = KeyCode.F18;\r\n    KEY_CODE_MAP[130] = KeyCode.F19;\r\n\r\n    KEY_CODE_MAP[144] = KeyCode.NumLock;\r\n    KEY_CODE_MAP[145] = KeyCode.ScrollLock;\r\n\r\n    KEY_CODE_MAP[186] = KeyCode.US_SEMICOLON;\r\n    KEY_CODE_MAP[187] = KeyCode.US_EQUAL;\r\n    KEY_CODE_MAP[188] = KeyCode.US_COMMA;\r\n    KEY_CODE_MAP[189] = KeyCode.US_MINUS;\r\n    KEY_CODE_MAP[190] = KeyCode.US_DOT;\r\n    KEY_CODE_MAP[191] = KeyCode.US_SLASH;\r\n    KEY_CODE_MAP[192] = KeyCode.US_BACKTICK;\r\n    KEY_CODE_MAP[193] = KeyCode.ABNT_C1;\r\n    KEY_CODE_MAP[194] = KeyCode.ABNT_C2;\r\n    KEY_CODE_MAP[219] = KeyCode.US_OPEN_SQUARE_BRACKET;\r\n    KEY_CODE_MAP[220] = KeyCode.US_BACKSLASH;\r\n    KEY_CODE_MAP[221] = KeyCode.US_CLOSE_SQUARE_BRACKET;\r\n    KEY_CODE_MAP[222] = KeyCode.US_QUOTE;\r\n    KEY_CODE_MAP[223] = KeyCode.OEM_8;\r\n\r\n    KEY_CODE_MAP[226] = KeyCode.OEM_102;\r\n\r\n    /**\r\n     * https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\r\n     * If an Input Method Editor is processing key input and the event is keydown, return 229.\r\n     */\r\n    KEY_CODE_MAP[229] = KeyCode.KEY_IN_COMPOSITION;\r\n\r\n    if (browser.isIE) {\r\n        KEY_CODE_MAP[91] = KeyCode.Meta;\r\n    } else if (browser.isFirefox) {\r\n        KEY_CODE_MAP[59] = KeyCode.US_SEMICOLON;\r\n        KEY_CODE_MAP[107] = KeyCode.US_EQUAL;\r\n        KEY_CODE_MAP[109] = KeyCode.US_MINUS;\r\n        if (monaco.platform.OS === monaco.platform.OperatingSystem.Macintosh) {\r\n            KEY_CODE_MAP[224] = KeyCode.Meta;\r\n        }\r\n    } else if (browser.isWebKit) {\r\n        KEY_CODE_MAP[91] = KeyCode.Meta;\r\n        if (monaco.platform.OS === monaco.platform.OperatingSystem.Macintosh) {\r\n            // the two meta keys in the Mac have different key codes (91 and 93)\r\n            KEY_CODE_MAP[93] = KeyCode.Meta;\r\n        } else {\r\n            KEY_CODE_MAP[92] = KeyCode.Meta;\r\n        }\r\n    }\r\n})();\r\n"]}