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

The toggle terminal key combination doesn’t work when input language isn’t English #151900

Closed
yakovmanshin opened this issue Jun 13, 2022 · 5 comments
Assignees

Comments

@yakovmanshin
Copy link

The toggle terminal key combination ( + `) doesn’t work when keyboard input is set to a language other than English. For example, the tilde / backtick key produces a < in the German layout, and pressing this key in combination with does nothing.

Other key combinations I tested work regardless of the characters their keys produce: + + P with the Russian layout selected still opens the command palette, even though the P key is mapped to the Cyrillic letter З.

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.68.0
  • OS Version: macOS 12.4

Steps to Reproduce:

  1. Switch input to a language other than English;
  2. Press + `.
@yakovmanshin
Copy link
Author

What’s even stranger, pressing the combination with the British - PC layout selected opens the terminal but doesn’t close it. The backtick key is mapped to \.

@Tyriar
Copy link
Member

Tyriar commented Jun 13, 2022

@alexdima any idea if this is a problem we can fix and if it would be an issue on my end or the keybindings system?

@alexdima
Copy link
Member

alexdima commented Jun 13, 2022

By default, the toggle terminal keybinding is bound to ctrl + `. That means ctrl plus the key or key combination that produces `. On the US keyboard layout, ` is produced by the key to the left of 1. On other keyboard layouts, ` is produced by some other key combination.

@yakovmanshin What is the keyboard layout you are using?

@yakovmanshin
Copy link
Author

Hi @alexdima! My computer has an English (US) keyboard, and most of the time, I switch between English and Russian.

The thing is, many keyboard layouts make it pretty hard to produce the backtick character. The Russian and Ukrainian, for example, don’t have the character printed on the physical keyboard, and to type it, you need to press + + 0—so to toggle the terminal, it’d take you four keys and two hands. Yet both layouts (just as nearly all non-Latin keyboards) are dual-localized with the Latin character set, where the backtick is either to the left of 1 or to the right of the left shift, and, important enough, it’s printed on the key.

So the situation where for the majority of commands it’s enough to look at the Latin letters on the keyboard, regardless of the actual characters those keys produce ( + + P being an example), but for some you need to know exactly how to type a certain character in current layout, is pretty confusing.

@alexdima
Copy link
Member

Let's track in #141761 . This seems very similar. The Russian keyboard layout doesn't produce ` so we could consider adding a fallback also for ` besides . as mentioned in the linked issue.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants