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

Ctrl+` doesn't work on Japanese layout #70482

Closed
thany opened this issue Mar 14, 2019 · 7 comments
Closed

Ctrl+` doesn't work on Japanese layout #70482

thany opened this issue Mar 14, 2019 · 7 comments
Assignees
Labels
keyboard-layout Keyboard layout issues upstream Issue identified as 'upstream' component related (exists outside of VS Code) windows VS Code on Windows issues

Comments

@thany
Copy link

thany commented Mar 14, 2019

Issue Type: Bug

When the keyboard is set to English UK language&locale with Japanese layout, the Ctrl+` shortcut to show or hide the terminal, no longer works. It just simply doesn't do anything. This bug also occurs when on the Microsoft Japanese IME, but also when using the "regular" Japanese layout without IME.

Switching back to English UK language&locale, and US-international layout, the Ctrl+` shortcut works again.

Should it matter, my physical keyboard is the US-layout version of a Dell XPS 9570.

This problem also happens with all extensions disabled.

VS Code version: Code 1.32.1 (05f146c, 2019-03-08T00:51:49.278Z)
OS version: Windows_NT x64 10.0.17763

System Info
Item Value
CPUs Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz (12 x 2904)
GPU Status 2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: disabled_software
rasterization: enabled
surface_synchronization: enabled_on
video_decode: enabled
webgl: enabled
webgl2: enabled
Memory (System) 31.74GB (14.73GB free)
Process Argv
Screen Reader no
VM 67%
Extensions (21)
Extension Author (truncated) Version
better-comments aar 2.0.3
overtype ada 0.2.0
Bookmarks ale 10.2.2
html-class-suggestions And 1.0.7
color-info bie 0.5.0
mustache daw 1.1.1
vscode-eslint dba 1.8.2
vscode-babel-coloring dza 0.0.4
EditorConfig Edi 0.13.0
file-icons fil 1.0.16
auto-close-tag for 0.5.6
duplicate gee 1.0.1
beautify Hoo 1.4.9
docthis joe 0.7.1
vscode-duplicate mrm 1.2.1
vscode-subword-navigation ow 1.2.0
vscode-docker Pet 0.6.0
vscode-versionlens pfl 0.22.0
vscode-sort-json ric 1.13.0
code-settings-sync Sha 3.2.7
vscode-svg-previewer vit 0.5.0
@vscodebot
Copy link

vscodebot bot commented Mar 14, 2019

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

@vscodebot vscodebot bot added the editor-find Editor find operations label Mar 14, 2019
@thany
Copy link
Author

thany commented Mar 15, 2019

To re-emphasize: this issue also occurs without the Japanese IME. Having a Japanese keyboard layout on an otherwise English UK language, also triggers the bug. So I believe this is not a true dupe of #67839.

@alexdima alexdima added windows VS Code on Windows issues keyboard-layout Keyboard layout issues and removed editor-find Editor find operations labels Mar 27, 2019
@alexdima
Copy link
Member

alexdima commented Oct 7, 2019

The Backtick key (left of `) appears to be a special IME key:

TO_UPLOAD

If you look carefully at the last frame, you will see the keyCode we receive has a value of 229. The value 229 is defined to be the value for unknown when using IME: http://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html

image

Therefore, unfortunately, the Backtick key is unusable in VS Code when using Japanese IME, sorry about that!

@alexdima alexdima closed this as completed Oct 7, 2019
@alexdima alexdima added the upstream Issue identified as 'upstream' component related (exists outside of VS Code) label Oct 7, 2019
@thany
Copy link
Author

thany commented Oct 7, 2019

This may be too simplistic on my end, but is it not possible to listen for keyCode 229 then?

@alexdima
Copy link
Member

alexdima commented Oct 8, 2019

I'm sorry, but that is not possible, because keyCode 229 is a catch-all value... Pressing . also produces 229, etc. Unfortunately, that is how this keyboard layout works and I think this is not a limitation specific to VS Code...

@thany
Copy link
Author

thany commented Oct 9, 2019

Then maybe it's possible to assign a different hotkey (by default at least) when a Japanese IME is detected? I dont think it's right the default to certain keys that aren't usable because of a keyboard layout.

We also don't default anything to the Ğ key, because it only exists on a Turkish F-keyboard. This is an extreme example of course, but the point is that default hotkeys, IMO at least, should "just work" regardless of keyboard layout, even if it means some exceptions for some hotkeys.

This seems pretty hard to accomplish, so I understand if this would get a slightly reduced priority.

@alexdima
Copy link
Member

alexdima commented Oct 9, 2019

@thany 👍 It is possible to change absolutely any keybinding on your side. You can remove everything we ship with and add your own from scratch or just tweak the defaults here and there... Just open the keybindings editor and reassign or edit directly in keybindings.json. See https://code.visualstudio.com/docs/getstarted/keybindings

By default, we ship with good default keybindings for the US keyboard layout. All other keyboard layouts are not optimized and it is a best-attempt situation. You can upvote this in #1240

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
keyboard-layout Keyboard layout issues upstream Issue identified as 'upstream' component related (exists outside of VS Code) windows VS Code on Windows issues
Projects
None yet
Development

No branches or pull requests

2 participants