question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support contributing different keybindings based on keyboard layout

See original GitHub issue

VSCode should ship out of the box with multiple keymaps (based on/optimized for each keyboard layout). e.g. toggle line comment should be ctrl+7 on swiss keyboards, etc.

VSCode should detect at runtime the current system keyboard layout and employ different defaults, based on the keyboard layout.

Issue Analytics

  • State:open
  • Created 8 years ago
  • Reactions:50
  • Comments:18 (12 by maintainers)

github_iconTop GitHub Comments

3reactions
flepscommented, Mar 18, 2021

I have a small programable keyboard that uses BootMapper Client to setup keybinds. It’s configured to send the normal extra “F” keys tradicional keyboards don’t have like F20, 21, 22, 23, 24, which are all valid keys. For some reason VSCode does not detect these keys (but any other software does)

If I try to use the F20 key, what I get is an “unknown” Using the debugger, I get this:

/ Received keydown event - modifiers: [], code: F20, keyCode: 131, key: F20 | Converted keydown event - modifiers: [], code: F20, keyCode: 0 (‘unknown’) \ Keyboard event cannot be dispatched in keydown phase.

If I use other keys like F12, this doesn’t happen, even if I program the F12 to come from the macro keyboard.

Why VSCode just don’t use the KeyCode? Why does it need to “convert” it??

It seems we had a setting in the past that fixed this on Windows ( “keyboard.dispatch”: “keyCode” ) but now this setting is not valid anymore.

Again, why? Why overcomplicate such a simple thing for valid keyCodes that exist since forever?

2reactions
patryscommented, Sep 11, 2018

I think it’s maybe time to revive this issue. A number of other issues have been merged into this one including a lot of issues about languages that depend on AltGr. Now AltGr is a technique that gives one or both <kbd>Alt</kbd> a special function of switching to a secondary keyboard layout group.

Polish for example depends on AltGr to to switch between naked characters and accented ones. Pressing <kbd>Z</kbd> gives you Z while pressing <kbd>Alt</kbd>+<kbd>Z</kbd> gives you Ż. Polish diacritics are not otherwise available as separate keys (long story short: there used to be a Polish typist keyboard layout and typewriters used it but we had to import computers with US keyboards because communism).

Now <kbd>Alt</kbd>+<kbd>Z</kbd> from the example above is currently mapped to “toggle word wrap”. This means we can’t type in Polish without remapping parts of the keyboard.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Visual Studio Code Key Bindings
Here you will find the complete list of key bindings for Visual Studio Code and how to change them.
Read more >
Shortcuts, Hotkeys, Macros, Oh My: How to Remap ... - PCMag
Click Keyboard Manager, then select Remap a key to re-assign individual keys or Remap a shortcut to assign hotkey combinations to a single...
Read more >
Identify and customize keyboard shortcuts in Visual Studio
Learn how to identify keyboard shortcuts for Visual Studio commands, customize those shortcuts, and export them for others to use.
Read more >
different keyboard layout key bindings in emacs - Stack Overflow
tricky, The nice work around I use, "using english keyboard while I am on emacs and if I want to write my language,...
Read more >
How to preserve emacs key bindings when changing ...
If you can find a solution that detects a particular keyboard layout from within Emacs, then you can remap programmatically based on that ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found