-
Notifications
You must be signed in to change notification settings - Fork 30k
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
Toggle Integrated Terminal keyboard shortcut not working (backtick vs single apostrophe) #12682
Comments
Could the following be of interest? Seems to suggest a difference between UK and US keyboard character codes for backticks. https://bugs.chromium.org/p/chromium/issues/detail?id=421304 Please let me know if I'm barking up the wrong tree here. |
Some more info on my particular set up that might help debugging: Using the W3 Key tester website the backtick key produces a keycode event of Given And given Would this then suggest that, at least in my particular set up (UK QWERTY keyboard layout), because my keyboard sends |
Moving key binding related question to @alexandrudima |
A similar problem occurs to me: the _ctrl+ Therefore I've tried a new keybinding. keybindings.json:
But this one opens an external terminal, not the very cool and useful internal terminal. Ironically the command for Environment:
|
@mezpahlan @BairDev May I kindly ask that you:
Post the output here or somewhere. That is the native node module we use to ask the OS what each key code produces. It is the source of the UI labels. I believe for your OS / keyboard layouts this produces incorrect results. |
Hi @alexandrudima here's the output from my test this morning. |
I don't know if it is significant, but I have recently updated my OS since filing this issue.
|
@alexandrudima Of course, here is the output from my machine: Thanks and good luck. |
Thank you for the mappings. Some context: In VSCode we symbolically refer to the backtick key code using When we receive a Most of the rest of the world (including Chromium sources) refers to the backtick key code symbolically using We have written a C++ utility node module that under linux creates @mezpahlan Keyboard layout: English UK / GB { key_code: 'VKEY_OEM_3',
value: '`',
withShift: '¬',
withAltGr: '|',
withShiftAltGr: '|' } So this reports that on your system, when pressing I can also guess that on the key What I think is the root problem here is the following:
This is a nasty surprise. Chromium is messing with your pressing Between, you can test what keyCode we are getting in VSCode by clicking on Long story short, I am not sure what the fix would be, it appears @BairDev German keyboard, Gnome/Mutter window manager I couldn't really paste here, the text looks garbled, most likely because for your keyboard layout, the When we render a label for I think the root cause for you is that we render the combining accent but the rendering of the combining accent without anything to combine with makes it appear like a backtick |
TL;DR @mezpahlan what is Firefox doing for your keyboard layout in the w3c key tester page. There isn't a lot of hope at this point we can fix this on our side. @BairDev are you sure we render `ctrl+`` as the keybinding and not the combining character that gets garbled. Please include a screenshot. There is some hope that we can fix this through better rendering of combining accents. |
@alexandrudima Thank you very much for the long and interesting explanation. Yes you are right, the ` is not a backtick, but a combined character, an accent, on the German keyboard. I/we use it for à la for example (there are no accents in German). We need to press the key twice in order to get the tick alone. Your assumption is true:
As you can see, there is also a conflict in my keybindings with a Markdown extension.
This is a weird output. Because it is a combined charackter/keycode/whatever (I'm not very familiar with this stuff) nothing happens, when I press the key in question. When I press it twice this appears: `. This is what I get from the W3 key test page when I'm trying to get a backtick: So you are right again, keyCode 0, is is kind of a dead key. I think the window manager does not have any impact here. I've mentioned this information because this one (Gnome/Mutter) overrides some shortcuts for various applications. I'm almost more interested in the fact, that the |
@BairDev I have created a separate issue to begin tracking your issue -- #14431 Since they have different root causes, let's leave this issue for OP @mezpahlan. |
Hi @alexandrudima thanks for all of this! Really great stuff. I have some screen grabs for you. With all of them: Backtick on the left, single apostrophe on the right. |
@mezpahlan Thank you, this confirms that Chromium generates invalid values for I suggest to also mention the IMHO correct behaviour of Firefox and the lack of workarounds on our side, since we're not getting the actual |
I've added a comment on an existing upstream bug: This is the same bug I mentioned in the original comment. Seems to be me that they are aware of the issue but haven't fixed it for a number of years. I didn't think opening a new one was appropriate just yet given that the linked bug is still open and awaiting a fix. |
@mezpahlan what version of Chrome are you on? I'm on Chrome v54 on Ubuntu 16.04 and I switched to English (UK) layout and I see 192 for backtick on https://www.w3.org/2002/09/tests/keys.html, I can reproduce the issue in VS Code with this setup though which indicates to me maybe it was fixed in Chrome 53 or 54? |
Hi @Tyriar! Chrome Version 55.0.2883.21 beta (64-bit) Ubuntu 16.10. Hmm that is interesting. |
The bug you've referenced (https://bugs.chromium.org/p/chromium/issues/detail?id=421304) is marked as fixed. The current behaviour in Chrome is deliberate I think and if it was changed it would break existing apps eg jsBeeb (so I'm sure Google won't change that now). What's wrong with this solution?
|
I am having this issue on Mac OS X since the march update |
Since the march update vscode detects my backtick key (`) as [intlBackslash]. I have to press ctrl+§ to activate the ctrl+backtick combo. The keyboard works as expected outside of vscode. I am on macOS Sierra. |
Ah ok, thats exact same issue I have, ctrl + § works for me too, |
Same issue here. After the last update, I need to press ctrl + § instead of ctrl + ` |
Same here. Ctrl + § toggles the terminal, even though the keyboard listing shows ctrl + `. If I assign a new shortcut to |
Ditto. Ctrl + § for me too. |
This ticket has been closed so not sure we will get a response here, has anyone raised a new one |
To clarify, ctrl+§ on your keyboard layouts is ctrl+altgr+s? @alexandrudima do you know what's happening here? |
Sorry everyone, I did all my testing on a mac mini + a standard "101" keyboard (https://w3c.github.io/uievents-code/#keyboard-101). The |
Since this issue is about Linux, let's track in #24527 which is about mac. |
Steps to Reproduce:
CTRL+P
>view integrated terminal
Expected result:
Listed keyboard shortcut toggles the integrated terminal
Actual result:
Listed keyboard shortcut does not do anything (anything visible??). Instead I found the keyboard shortcut,
CTRL+'
works (single apostrophe not backtick).The text was updated successfully, but these errors were encountered: