in patched-vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.ts [113:171]
private static _scanCodeToKeyCode(scanCode: ScanCode): KeyCode {
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
return immutableKeyCode;
}
switch (scanCode) {
case ScanCode.KeyA: return KeyCode.KeyA;
case ScanCode.KeyB: return KeyCode.KeyB;
case ScanCode.KeyC: return KeyCode.KeyC;
case ScanCode.KeyD: return KeyCode.KeyD;
case ScanCode.KeyE: return KeyCode.KeyE;
case ScanCode.KeyF: return KeyCode.KeyF;
case ScanCode.KeyG: return KeyCode.KeyG;
case ScanCode.KeyH: return KeyCode.KeyH;
case ScanCode.KeyI: return KeyCode.KeyI;
case ScanCode.KeyJ: return KeyCode.KeyJ;
case ScanCode.KeyK: return KeyCode.KeyK;
case ScanCode.KeyL: return KeyCode.KeyL;
case ScanCode.KeyM: return KeyCode.KeyM;
case ScanCode.KeyN: return KeyCode.KeyN;
case ScanCode.KeyO: return KeyCode.KeyO;
case ScanCode.KeyP: return KeyCode.KeyP;
case ScanCode.KeyQ: return KeyCode.KeyQ;
case ScanCode.KeyR: return KeyCode.KeyR;
case ScanCode.KeyS: return KeyCode.KeyS;
case ScanCode.KeyT: return KeyCode.KeyT;
case ScanCode.KeyU: return KeyCode.KeyU;
case ScanCode.KeyV: return KeyCode.KeyV;
case ScanCode.KeyW: return KeyCode.KeyW;
case ScanCode.KeyX: return KeyCode.KeyX;
case ScanCode.KeyY: return KeyCode.KeyY;
case ScanCode.KeyZ: return KeyCode.KeyZ;
case ScanCode.Digit1: return KeyCode.Digit1;
case ScanCode.Digit2: return KeyCode.Digit2;
case ScanCode.Digit3: return KeyCode.Digit3;
case ScanCode.Digit4: return KeyCode.Digit4;
case ScanCode.Digit5: return KeyCode.Digit5;
case ScanCode.Digit6: return KeyCode.Digit6;
case ScanCode.Digit7: return KeyCode.Digit7;
case ScanCode.Digit8: return KeyCode.Digit8;
case ScanCode.Digit9: return KeyCode.Digit9;
case ScanCode.Digit0: return KeyCode.Digit0;
case ScanCode.Minus: return KeyCode.Minus;
case ScanCode.Equal: return KeyCode.Equal;
case ScanCode.BracketLeft: return KeyCode.BracketLeft;
case ScanCode.BracketRight: return KeyCode.BracketRight;
case ScanCode.Backslash: return KeyCode.Backslash;
case ScanCode.IntlHash: return KeyCode.Unknown; // missing
case ScanCode.Semicolon: return KeyCode.Semicolon;
case ScanCode.Quote: return KeyCode.Quote;
case ScanCode.Backquote: return KeyCode.Backquote;
case ScanCode.Comma: return KeyCode.Comma;
case ScanCode.Period: return KeyCode.Period;
case ScanCode.Slash: return KeyCode.Slash;
case ScanCode.IntlBackslash: return KeyCode.IntlBackslash;
}
return KeyCode.Unknown;
}