Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

VSCode for Linux should rely on XKB keylabels, not rely on keycodes #21

Open
Assignees
@balwuw

Description

The [Backspace] key and right Super or Ctrl key are best swapped. VSCode cannot do this.
The setkeycodes command cannot affect >1 keyboard and is reported to be ineffective on USB keyboards. As in microsoft/vscode#24690, keys are currently remapped in /usr/share/X11/xkb/keycodes/evdev, where keylabel assignments to X keycodes (Linux kernel keycodes + 8) can be effectively changed.

While some parts of VSCode—notably the settings editor—do respect these remappings, VSCode’s text editor is the only application that does not, at least not properly:

  • The physical right Control key keeps acting as ctrl instead of acting as Backspace;
  • The physical Backspace key keeps acting as Backspace, and additionally it acts as Control, that it is remapped to, resulting in deleteWordLeft.

VSCode key bindings are unable to fix all of this either, only able to change deleteWordLeft to deleteLeft.

Version: 1.44.2
Commit: ff915844119ce9485abfe8aa9076ec76b5300ddd
Date: 2020年04月16日T17:50:03.709Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 4.13.0-36-generic

Steps to Reproduce:

  1. Open /usr/share/X11/xkb/keycodes/evdev
  2. Replace:
    <BKSP> = 22;
    <RCTL> = 105;
    with:
    <RCTL> = 22; // was <BKSP>
    <BKSP> = 105; // was <RCTL>
  3. Log out, open new session;
  4. Check key behavior in Chrome;
  5. Check key behavior in VSCode.

Does this issue occur when all extensions are disabled?

Yes it is extensions agnostic.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /