Repository: vscode
Issue: Some default shortcuts don't work with non-english layout: `cmd + .`, etc
Labels: keyboard-layout,under-discussion

## The What

VSCode should use keywords for hotkey (like `[Period]`), rather than pure symbols (like `.`), - for the default key settings that have <kbd>cmd</kbd> or <kbd>ctrl</kbd> in it.

## The Why

So default shortcuts could work universally between all the layouts, so no one has to manually fix those default settings for this purpose.

For example:

- In English layout "Quick Action" shortcut counts as: <kbd>cmd + .</kbd>, since `.` is `.`
- In Russian layout "Quick Action" shortcut counts as: <kbd>cmd + ю</kbd>, but pure symbols (`.`) don’t count this: `ю` isn't `.`
- But if it were <kbd>cmd + [Period]</kbd> in setttings, not <kbd>cmd + .</kbd>, then it would both count as <kbd>cmd + .</kbd> and <kbd>cmd + ю</kbd>, - because they're both the same physical key, - which is neat! (Thanks VSCode for having those keywords)

Therefore the default "Quick Fix" action does not work sometimes when you're using other than English layout, so user has to change the layout, which is… Irritating.

Alternatively, user has to fix default hotkeys in settings himself, changing those `.` to `[Period]` manually… Which is unfortunate.

## The How

TL;DR: Change the default shortcuts so they use the mentioned keywords (like `[Period]`), instead of pure signs (like `.`).

As I said, a user can solve each problematic hornet with custom setting like in this example:

```jsonc
// ✅ Good: English layout is respected in whatever currently chosen language in OS
{
  "key": "cmd+[Period]",
  "command": "editor.action.quickFix",
  "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
}
```

This `[Period]` keyword makes it work throughout different layouts, as long as it shares the same physical key with whatever else symbols in other than English language. But the defaults, it seems, uses the pure symbols:

```jsonc
// ❌ Bad: Although this hotkey works in English layout, however in Russian layout the same (physically) key doesn’t output a dot symbol, thus it doesn’t fire the «Quick Fix» action
{
  "key": "cmd+.",
  "command": "editor.action.quickFix",
  "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
}
```

So hence the problem: VSCode default shortcuts don't work with non-english layout sometimes. This fix (the keywords) should be used throughout all the default keys, in order to solve the issue.

## Other problematic shortcuts (examples):

Although I don't know all the concrete examples, there are few ones that I stumbled upon, other than <kbd>shift + cmd + .</kbd>:

- <kbd>cmd + shift + {</kbd> (`shift+cmd+х` in Russian layout)
- <kbd>cmd + shift + }</kbd> (`shift+cmd+ъ` in russian layout)
<!-- - <kbd></kbd> -->

<!-- ⚠️⚠️ Do Not Delete This! bug_report_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- 🕮 Read our guide about submitting issues: https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions -->
<!-- 🔎 Search existing issues to avoid creating duplicates. -->
<!-- 🧪 Test using the latest Insiders build to see if your issue has already been fixed: https://code.visualstudio.com/insiders/ -->
<!-- 💡 Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. -->

---
<!-- 🔧 Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: Yes

<!-- 🪓 If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. -->
<!-- 📣 Issues caused by an extension need to be reported directly to the extension publisher. The 'Help > Report Issue' dialog can assist with this. -->

Version: 1.63.2 (Universal)
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:37:28.172Z (1 mo ago)
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin x64 20.6.0

Formal steps to Reproduce:

1. Using default VSCode settings, hit <kbd>cmd + .</kbd> shortcut when using Russian layout
2. See it doesn't work
3. Try <kbd>cmd + shift + {</kbd>, <kbd>cmd + shift + }</kbd>, - they don't work too