-
Notifications
You must be signed in to change notification settings - Fork 29.2k
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
Some default shortcuts don't work with non-english layout: cmd + .
, etc
#141761
Comments
cmd + .
, etccmd + .
, etc
cmd + .
, etccmd + .
, etc
cmd + .
, etccmd + .
, etc
In the meantime, I can try to look into improving our heuristics for layouts like Russian (if there are no keys that produce IMHO there are two ways to tackle this in:
|
Oh, I see… But why not keep both? I.e.
AND, if there no such action, propagate to what I would call "default english hotkey":
This way you can achieve both, and please both audiences. In the rest some 2% edge cases when there's a conflict with user settings or something, VSCode will respect the language-specific shortcut. Sounds good, isn't it? Because in my case I don't have any actions on cmd + ю so what happens is: nothing (instead of firing "Quick Fix" action). The same with cmd + shift + х and cmd + shift + ъ, - also nothing (instead of navigating tabs). I'd like them to propagate to their respective english shortcuts in such cases. P.S. I didn't had this problem for years of using VSCode, because I was always using it purely as code editor, or to writing English documentation, but never needed russian language in VSCode before. Only lately I'm using it to writing russian articles and russian documentation and stuff. |
Just stumbled upon broken hotkeys. What was the reasoning for this change? On a Mac hotkeys doesn’t depend on keyboard layout. Every app opens settings with cmd + . (key code 190) independent of chosen language. |
Oh, actually I just re-read my message since then, and find it so confusing by two reasons:
So since I edited my original message, can you, please, re-read it, - @daniilshustov and @alexdima? Additionally, @daniilshustov, - you seem to misinterpret the shortcut. Every app opens settings with cmd + ,, not with cmd + . 😀 So that's key code 188, not 190. But what's important is that VSCode doesn't open it when I have Russian language currently chosen in OS. Which is, as I said originally: unfortunate and irritating. So your statement, @daniilshustov:
Wrong. Although it is true for other apps, it isn't true for VSCode. That's what this issue is about. |
@toramanlis is on point. I've recently switched between using VSCode on Win, on Mac, on Win on a Mac etc and I have the same issues. Today a previously functional shortcut stopped working In the keybinding editor I see this when I press cmd+[button to the left of number 1] I see 3 different things: In the keyboard debugger I get this: Not sure if it's exactly the same but it seems to be somewhat messy. Now I'm mainly annoyed one of my most used shortcuts stopped working. |
There seems to be a development on this issue (in both senses). It still relies on the typed character seemingly but there's a fix shipped to insiders: |
The What
VSCode should use keywords for hotkey (like
[Period]
), rather than pure symbols (like.
), - for the default key settings that have cmd or ctrl 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:
.
is.
.
) don’t count this:ю
isn't.
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:
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: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 shift + cmd + .:
shift+cmd+х
in Russian layout)shift+cmd+ъ
in russian layout)Does this issue occur when all extensions are disabled?: Yes
Version: 1.63.2 (Universal)
Commit: 899d46d
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:
The text was updated successfully, but these errors were encountered: