Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace -1 constant in keycode with enum value #120126

Merged
merged 1 commit into from Mar 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/vs/base/common/keyCodes.ts
Expand Up @@ -12,6 +12,8 @@ import { illegalArgument } from 'vs/base/common/errors';
* But these are "more general", as they should work across browsers & OS`s.
*/
export const enum KeyCode {
DependsOnKbLayout = -1,

/**
* Placed first to cover the 0 value of the enum.
*/
Expand Down
5 changes: 3 additions & 2 deletions src/vs/base/common/scanCode.ts
Expand Up @@ -9,6 +9,7 @@ import { KeyCode } from 'vs/base/common/keyCodes';
* keyboardEvent.code
*/
export const enum ScanCode {
DependsOnKbLayout = -1,
None,

Hyper,
Expand Down Expand Up @@ -468,11 +469,11 @@ export class ScanCodeBinding {

(function () {
for (let i = 0; i <= ScanCode.MAX_VALUE; i++) {
IMMUTABLE_CODE_TO_KEY_CODE[i] = -1;
IMMUTABLE_CODE_TO_KEY_CODE[i] = KeyCode.DependsOnKbLayout;
}

for (let i = 0; i <= KeyCode.MAX_VALUE; i++) {
IMMUTABLE_KEY_CODE_TO_CODE[i] = -1;
IMMUTABLE_KEY_CODE_TO_CODE[i] = ScanCode.DependsOnKbLayout;
}

function define(code: ScanCode, keyCode: KeyCode): void {
Expand Down
1 change: 1 addition & 0 deletions src/vs/editor/common/standalone/standaloneEnums.ts
Expand Up @@ -365,6 +365,7 @@ export enum InlineHintKind {
* But these are "more general", as they should work across browsers & OS`s.
*/
export enum KeyCode {
DependsOnKbLayout = -1,
/**
* Placed first to cover the 0 value of the enum.
*/
Expand Down
1 change: 1 addition & 0 deletions src/vs/monaco.d.ts
Expand Up @@ -218,6 +218,7 @@ declare namespace monaco {
* But these are "more general", as they should work across browsers & OS`s.
*/
export enum KeyCode {
DependsOnKbLayout = -1,
/**
* Placed first to cover the 0 value of the enum.
*/
Expand Down
Expand Up @@ -46,7 +46,7 @@ export class MacLinuxFallbackKeyboardMapper implements IKeyboardMapper {

private _scanCodeToKeyCode(scanCode: ScanCode): KeyCode {
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
if (immutableKeyCode !== -1) {
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
return immutableKeyCode;
}

Expand Down
Expand Up @@ -49,7 +49,7 @@ export class NativeResolvedKeybinding extends BaseResolvedKeybinding<ScanCodeBin
if (!binding) {
return true;
}
if (IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode] !== -1) {
if (IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode] !== KeyCode.DependsOnKbLayout) {
return true;
}
let a = this._mapper.getAriaLabelForScanCodeBinding(binding);
Expand Down Expand Up @@ -327,7 +327,7 @@ class ScanCodeKeyCodeMapper {
}
}

return -1;
return KeyCode.DependsOnKbLayout;
}

private _encodeScanCodeCombo(scanCodeCombo: ScanCodeCombo): number {
Expand Down Expand Up @@ -419,7 +419,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
// Handle immutable mappings
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
const keyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
if (keyCode !== -1) {
if (keyCode !== KeyCode.DependsOnKbLayout) {
_registerAllCombos(0, 0, 0, scanCode, keyCode);
this._scanCodeToLabel[scanCode] = KeyCodeUtils.toString(keyCode);

Expand All @@ -443,7 +443,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
if (scanCode === ScanCode.None) {
continue;
}
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
continue;
}

Expand Down Expand Up @@ -504,7 +504,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
if (scanCode === ScanCode.None) {
continue;
}
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
continue;
}

Expand Down Expand Up @@ -678,7 +678,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
result.push(`isUSStandard: ${this._isUSStandard}`);
result.push(`----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------`);
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
if (immutableSamples.indexOf(scanCode) === -1) {
continue;
}
Expand All @@ -703,7 +703,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
shiftKey: scanCodeCombo.shiftKey,
altKey: scanCodeCombo.altKey,
metaKey: false,
keyCode: -1,
keyCode: KeyCode.DependsOnKbLayout,
code: ScanCodeUtils.toString(scanCode)
});

Expand Down Expand Up @@ -852,13 +852,13 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
}

const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode];
if (immutableKeyCode !== -1) {
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
return KeyCodeUtils.toUserSettingsUS(immutableKeyCode).toLowerCase();
}

// Check if this scanCode always maps to the same keyCode and back
let constantKeyCode: KeyCode = this._scanCodeKeyCodeMapper.guessStableKeyCode(binding.scanCode);
if (constantKeyCode !== -1) {
if (constantKeyCode !== KeyCode.DependsOnKbLayout) {
// Verify that this is a good key code that can be mapped back to the same scan code
let reverseBindings = this.simpleKeybindingToScanCodeBinding(new SimpleKeybinding(binding.ctrlKey, binding.shiftKey, binding.altKey, binding.metaKey, constantKeyCode));
for (let i = 0, len = reverseBindings.length; i < len; i++) {
Expand Down Expand Up @@ -902,7 +902,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
}

const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode];
if (immutableKeyCode !== -1) {
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
return this._getElectronLabelForKeyCode(immutableKeyCode);
}

Expand Down Expand Up @@ -935,7 +935,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
return null;
}

if (constantKeyCode !== -1) {
if (constantKeyCode !== KeyCode.DependsOnKbLayout) {
return this._getElectronLabelForKeyCode(constantKeyCode);
}

Expand Down Expand Up @@ -997,7 +997,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
// "Dispatch" on keyCode for these key codes to workaround issues with remote desktoping software
// where the scan codes appear to be incorrect (see https://github.com/microsoft/vscode/issues/24107)
const immutableScanCode = IMMUTABLE_KEY_CODE_TO_CODE[keyCode];
if (immutableScanCode !== -1) {
if (immutableScanCode !== ScanCode.DependsOnKbLayout) {
code = immutableScanCode;
}

Expand All @@ -1019,7 +1019,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
// "Dispatch" on keyCode for all numpad keys in order for NumLock to work correctly
if (keyCode >= 0) {
const immutableScanCode = IMMUTABLE_KEY_CODE_TO_CODE[keyCode];
if (immutableScanCode !== -1) {
if (immutableScanCode !== ScanCode.DependsOnKbLayout) {
code = immutableScanCode;
}
}
Expand Down
Expand Up @@ -180,7 +180,7 @@ export class WindowsKeyboardMapper implements IKeyboardMapper {

for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
if (immutableKeyCode !== -1) {
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
this._scanCodeToKeyCode[scanCode] = immutableKeyCode;
this._keyCodeToLabel[immutableKeyCode] = KeyCodeUtils.toString(immutableKeyCode);
this._keyCodeExists[immutableKeyCode] = true;
Expand All @@ -201,7 +201,7 @@ export class WindowsKeyboardMapper implements IKeyboardMapper {
const rawMapping = rawMappings[strCode];

const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
if (immutableKeyCode !== -1) {
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
const keyCode = NATIVE_KEY_CODE_TO_KEY_CODE[rawMapping.vkey] || KeyCode.Unknown;
if (keyCode === KeyCode.Unknown || immutableKeyCode === keyCode) {
continue;
Expand Down Expand Up @@ -337,7 +337,7 @@ export class WindowsKeyboardMapper implements IKeyboardMapper {
let cnt = 0;
result.push(`-----------------------------------------------------------------------------------------------------------------------------------------`);
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1) {
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
if (immutableSamples.indexOf(scanCode) === -1) {
continue;
}
Expand Down