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

Abierto
#21 1 comentario 9 reacciones 1 asignado Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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-16T17: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.

Lenguaje dominante
C++
Estrellas
152
Forks
43
Merge medio
19 h 38 min
PR fusionados (30 d)
2

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/node-native-keymap

Todos los issues de microsoft/node-native-keymap

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.