Vscode: Disposition du clavier Neo: certaines touches ont cessé de fonctionner

Créé le 6 avr. 2017  ·  28Commentaires  ·  Source: microsoft/vscode

  • Version VSCode: Code 1.11.0 (9122ec4b1068bd391e41974f46a4b54c1b9c90f9, 2017-04-05T21: 13: 24.700Z)
  • Version du système d'exploitation: Linux x64 4.4.0-72-generic

Étapes à suivre pour reproduire:

  1. Installer et activer la disposition du clavier Neo
  2. Ouvrez n'importe quel fichier source dans le code VS
  3. Placez le curseur quelque part dans le fichier
  4. Appuyez M4 touche s touche
  5. Au lieu de déplacer le curseur vers la gauche, rien ne se passe

Dans la version précédente de VSCode (1.10.2 8076a19fdcab7e1fc1707952d652f0bb6c6db331) cela fonctionnait très bien.

tastatur_e4b png

bug help wanted keyboard-layout linux

Commentaire le plus utile

J'ai besoin de temps pour comprendre cette disposition du clavier. Je vous enverrai un ping dans les prochains jours si vous avez la gentillesse de m'aider. Cela ne ressemble à rien de ce que j'ai vu.

Solution de contournement pour basculer VS Code à répartir à nouveau en fonction du code clé. Ajoutez le paramètre suivant:
"keyboard.dispatch": "keyCode" et redémarrez VS Code

Tous les 28 commentaires

Même problème pour moi. Émettez des mots-clés parce que je n'ai pas trouvé ce problème au début: les touches fléchées de la couche 4 neo2 disposition du clavier allemand.

A bien fonctionné en 1.10, ne fonctionne pas en 1.11.

L'éditeur de raccourcis dans VSCode semble identifier la combinaison mise en évidence dans le clavier ci-dessus comme [IntlBackslash] i

Il n'est pas cassé sur Windows et VSCode 1.11.0.
Cependant, le keymapping est effectué par autohotkey qui intercepte les pressions sur les touches et émet les siens - AFAIK, cela est géré différemment sous Linux.

Je viens de lancer git bisect . Le premier mauvais commit semble être https://github.com/Microsoft/vscode/commit/d10239639bf9beaa6ea34125319103de3dce43cd ( @alexandrudima )

# bad: [9122ec4b1068bd391e41974f46a4b54c1b9c90f9] Fix styling of release notes (fixes #23948)
# good: [8076a19fdcab7e1fc1707952d652f0bb6c6db331] debug: save all untitled non dirty files before debug start
git bisect start '1.11.0' '1.10.2'
# good: [40fecfaa77f01672e8a147be71f6f7ccb9cf8a12] fix mixin
git bisect good 40fecfaa77f01672e8a147be71f6f7ccb9cf8a12
# good: [9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf] #18095 :lipstick:
git bisect good 9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf
# bad: [7c223972367b8ade5362d738606f3b910d0fbb42] Fixes #19235: Wording in tasks warning message
git bisect bad 7c223972367b8ade5362d738606f3b910d0fbb42
# good: [378231183e815c8e8e6a73ad04fc40ec5058fdc5] Promise cancellation is slow. Use a timer instead since this may run many times.
git bisect good 378231183e815c8e8e6a73ad04fc40ec5058fdc5
# good: [f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6] Fixes #22069: Define extension story for tasks
git bisect good f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6
# bad: [4ad4bd0d8011a5db5e2bea4543b7efb03d482aad] :bug: add commit box message
git bisect bad 4ad4bd0d8011a5db5e2bea4543b7efb03d482aad
# bad: [9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3] Add IKeybindingService.resolveUserBinding
git bisect bad 9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3
# bad: [968da131589845b43c0d00141b41b2bb366a84e8] Improve the ScanCode -> KeyCode guessing strategy
git bisect bad 968da131589845b43c0d00141b41b2bb366a84e8
# bad: [969cbdfea05beda1a38d4082698b87f239fc2384] Renames
git bisect bad 969cbdfea05beda1a38d4082698b87f239fc2384
# bad: [8a33db65efdd3ed4c76d01cb76c3ef658caf16db] Add Inspect Key Mapppings action
git bisect bad 8a33db65efdd3ed4c76d01cb76c3ef658caf16db
# bad: [0ebecd5ca915ed33ea747cafe2c99572c52904b5] Merge branch 'master' into alex/keybinding
git bisect bad 0ebecd5ca915ed33ea747cafe2c99572c52904b5
# bad: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers
git bisect bad d10239639bf9beaa6ea34125319103de3dce43cd
# first bad commit: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers

J'ai besoin de temps pour comprendre cette disposition du clavier. Je vous enverrai un ping dans les prochains jours si vous avez la gentillesse de m'aider. Cela ne ressemble à rien de ce que j'ai vu.

Solution de contournement pour basculer VS Code à répartir à nouveau en fonction du code clé. Ajoutez le paramètre suivant:
"keyboard.dispatch": "keyCode" et redémarrez VS Code

J'ai le même problème sur Debian / Jessie.

https://github.com/Microsoft/vscode/issues/25797

J'ai des problèmes avec le retour arrière.

Salut, j'ai le même problème. Hier, la solution de contournement a fonctionné pour moi, mais aujourd'hui, elle ne fonctionne plus. Cela fonctionne pendant environ 2 secondes après le démarrage de l'éditeur, puis mes touches de base (lettres) ne fonctionnent plus. :en pensant:
Je ne sais pas si j'ai fait quelque chose de stupide depuis hier, mais avez-vous une idée de pourquoi cela pourrait être?

@zommerfelds La première chose que je vérifierais sont les settings.json . Le "keyboard.dispatch" dupliqué là-dedans, le paramètre est-il écrasé par un paramètre d'espace de travail lors de l'ouverture d'un dossier, etc.

La prochaine chose à regarder est d'ouvrir un éditeur et d'exécuter F1 > Developer: Inspect key mappings . Affiche-t-il "FallbackKeyboardMapper distribuant sur keyCode" (un indicateur que le paramètre a été appliqué).

Si ce n'est pas un problème avec les paramètres, c'est-à-dire la confirmation que l'envoi est effectué sur keyCode est là, alors j'essaierais de regarder ce qu'Electron / Chromium / le système d'exploitation nous envoie lorsque vous appuyez sur une touche spécifique : Veuillez survoler la zone de saisie et prendre une capture d'écran:
keyboard-input

Salut @alexandrudima , merci pour la réponse détaillée.

cat ~/.config/Code/User/settings.json :

// Place your settings in this file to overwrite the default settings
{
    "keyboard.dispatch": "keyCode"
}

Si j'ouvre l'éditeur et que j'accède à _File => Preferences => Settings_, je vois le même contenu pour _USER SETTINGS_ que ci-dessus, et {} pour _WORKSPACE SETTINGS_, donc ça devrait aller.

_F1> Developer: Inspect key mappings_ me donne:

Layout info:
{
    "model": "pc105",
    "layout": "de,ch",
    "variant": "neo,",
    "options": "grp:menu_toggle",
    "rules": "evdev"
}
FallbackKeyboardMapper dispatching on keyCode

Raw mapping:
...

Pour les raccourcis clavier que j'obtiens:

Si je veux taper "a":
image

Si je veux taper "(":
image

Le a imprimé très bien dans cette fenêtre contextuelle, mais pas dans l'éditeur principal.

Dans Neo, le A est l'endroit où la clé D serait dans QWERTY, et ( est CapsLock+J dans QUERTY.
Je peux très bien utiliser les touches fléchées de la 4ème couche dans Neo, mais pas par exemple les chiffres. Backspace fonctionne. Enter ne fonctionne pas. Ctrl+Z fonctionne pour annuler (dans Neo).

De plus, comme je l'ai dit plus tôt, tout fonctionne pendant les premières secondes pendant le démarrage de Vscode, puis il cesse de fonctionner.

Faites-moi savoir si je peux vous aider d'une autre manière. Ce serait génial si je pouvais recommencer à utiliser Vscode :)

EDIT: pour clarification, je pense que je ne pourrais pas avoir le même problème que l'OP. Mes touches fléchées dans la 4ème couche fonctionnent mais pas les touches de lettre simples et simples.

EDIT2: _Aide => À propos_:

Version 1.12.2
Commit 19222cdc84ce72202478ba1cec5cb557b71163de
Date 2017-05-10T13:16:25.899Z
Shell 1.6.6
Renderer 56.0.2924.87
Node 7.4.0

Merci @alexandrudima ! Changer "keyboard.dispatch": "code" en "keyboard.dispatch": "keyCode" in File->Preferences->Settings m'a aidé à faire fonctionner les touches de couche m4 (touche d'échappement, touches de navigation, retour arrière, suppression, nombres).

Ne fonctionne toujours pas pour moi sur 1.19.0 .
J'ai également remarqué que le paramètre keyboard.dispatch ne fait aucune différence. Dans les deux paramètres, les touches de navigation et le retour arrière fonctionnent par exemple, mais pas les chiffres et les lettres normales.
Y a-t-il un moyen pour moi de vérifier que vscode le charge réellement en tant que keyCode et ne revient pas en quelque sorte à code ?

En fait, je viens de le faire fonctionner! L'extension NeoX perturbait mes paramètres. La désactivation a résolu le problème. Je ne sais plus pourquoi j'ai installé cette extension ni ce qu'elle fait. Je dois encore définir keyboard.dispatch sur keyCode pour que cela fonctionne.
Désolé pour cela et merci pour le soutien. Ouais je peux utiliser vscode maintenant! :)

Je suppose que nous pouvons fermer ce problème alors?

Le problème est toujours présent dans le code VS actuel:

  • Version du code VS: Code 1.20.0 (c63189deaa8e620f650cc28792b8f5f3363f2c5b, 2018-02-07T17: 10: 15.949Z)
  • Version du système d'exploitation: Linux x64 4.13.0-32-generic

J'ai également eu du mal à utiliser Neo-Layout avec VS Code 1.201 sous Ubuntu 17.10 (Linux 4.13.0-36-generic). Sans le commutateur "keyboad.dispatch": keyCode - j'ai pu taper avec Neo2 mais je ne pouvais même pas utiliser CTRL + C et CTRL + V car il reviendrait à la disposition par défaut (déclenchant CTRL + R et CTRL + W, respectivement ).

et bien je viens d'essayer le "keyboard.dispatch" et il me dit "paramétrage de configuration inconnu". Mais mes problèmes sont un peu différents.

Les touches fléchées fonctionnent bien, mais par exemple, la touche Annuler ne fonctionne pas. Lorsque j'appuie sur M4+z le code Visual Studio ne reconnaît que z . Et quand je veux lier quelque chose à des touches comme äöü, vscode traduit ces touches s'il s'agissait d'un clavier américain. Donc Ctrl+ü est reconnu comme Ctrl+z . C'est horrible.

Je mappe mon clavier avec le programme XKB pour utiliser un clavier dvorak modifié.

J'utilise l'option ralt_switch, qui permettait de basculer la touche alt droite pour qu'elle fonctionne comme une touche méta ou un modificateur supplémentaire.
J'active le paramètre keyCode dans VSCode Insider.
Voici mon exemple de configuration XKB

image

La RAlt (aka Meta key) + s reconnue par VS comme la clé End . + Bon
mais quand je devais faire ctrl+End key avec Ctrl+RAlt (Meta)+s il était reconnu comme Ctrl+s ce qui sauvegardera le document. -Mal
Devinez ce qui se passe lorsque j'ai essayé de sauter des mots en appuyant plusieurs fois sur Ctrl+Right aka Ctrl+RAlt (Meta)+n .

Je suppose que le modificateur Ctrl ne joue pas bien avec un modificateur supplémentaire (ou un modificateur keyCode-ed) comme la touche méta ou Mod4.
Même Ctrl+Shift+RAlt (Meta)+s économise aussi.
Mais Shift+Ralt (Meta)+s fait comme Shift+End qui est +Good
Pouvez-vous simplement faire en sorte que ctrl se comporte comme shift, en terme de combinaison de modificateurs?


Je pense que c'est une question connexe, mais avec un cas différent.
_le titre mentionne la mise en page néo, celui-ci est personnalisé_

est-ce lié à ce commentaire résolu?
en utilisant keyboard.dispatch 'code', mais uniquement pour OSX. Et je viens d'essayer que cela ne fonctionnait pas sous Linux Mint / Ubuntu
https://github.com/Microsoft/vscode/issues/12393#issuecomment -288994081

Je suis sous Linux.

Version 1.21.1
Commit 79b44aa704ce542d8ca4a3cc44cfca566e7720f1
Datum 2018-03-14T14: 46: 30.761Z
Coquille 1.7.9
Moteur de rendu 58.0.3029.110
Nœud 7.9.0
Architektur x64

Malheureusement, la solution keyboard.dispatch contournement CapsLock (Mod3) redéfini pour insérer des symboles de programmeurs comme /,\,[,] et ainsi de suite dans l'éditeur, mais pas dans des raccourcis comme shift+/ qui se traduit par une pression sur le bouton boutons physiques de shift+capslock+s

Essayer de réattribuer des raccourcis avec Mod3 montre unknown

unknown_key

Il semble que @sakasistem ait été mentionné, il semble y avoir des problèmes avec une certaine séquence de touches de modification.

les raccourcis comme shift+/ sont des BS totaux et ne devraient pas exister.

Cela devrait être soit ? et laisser la mise en page décider quels modificateurs sont nécessaires pour taper ce caractère, ou une mise en page indépendante shift + scancode_slash . Dans la première option, je taperais simplement? (peu importe où je mets cela sur ma mise en page et sur quels modificateurs je dois appuyer), et dans le second, je taperais simplement une majuscule J dans ma mise en page, car j'ai un J à la position du clavier où US qwerty a un / .

Tout comme avec krux02, j'ai dû taper 'Ctrl + ü' et 'Ctrl + k' pour annuler et refaire, respectivement, mais j'ai pu trouver le paramètre approprié "keyboard.dispatch" et cela semble avoir résolu le problème.

Système d'exploitation: Ubuntu 18.04 LTS

VSCode:

Version 1.23.1
Commit d0182c3417d225529c6d5ad24b7572815d0de9ac
Date 2018-05-10T16: 04: 33.747Z
Shell 1.7.12
Moteur de rendu 58.0.3029.110
Nœud 7.9.0
Architecture x64

Oh mon Dieu, j'utilise vscode insider juste pour attendre que ce problème soit résolu.
Tout comme @sakasistem
J'utilise thinkpad avec un clavier qwerty physique, modifie mon keymap en dvorak personnalisé avec un fichier xkb sur Linux mint Sony

Voici le fichier keymap https://pastebin.com/cUAxDtAM
C'est pour le système d'exploitation basé sur Debian, Linux Mint pour être exact.
Mettez-le dans /usr/share/X11/xkb/symbols/us juste avant la définition de dvorak-intl
partial alphanumeric_keys xkb_symbols "dvorak-intl" {

Il ajoute des magies de navigation à la mise en page dvorak, il se comportera up , left , down , right avec RAlt+c,RAlt+h,RAlt+t,RAlt+n (cela devrait être i, j, k, l sur qwerty au lieu de c, h, t, n ), cela fonctionne vraiment sur la plupart des applications avec ctrl , shift et alt modificateur, mais vscode. Ctrl+RAlt+n devrait sauter le mot suivant mais à la place il se comporte comme Ctrl + n et ouvre un nouvel onglet.

Le modificateur Shift fonctionne, ce qui fait que Shift+RAlt+s sélectionnera jusqu'à la fin de la ligne, c'est juste le modificateur Ctrl qui déclenche le raccourci pour la première place.

Eh bien, voici le contenu du pastebin:

partial alphanumeric_keys
xkb_symbols "dvorak-shy" {

    name[Group1]= "English (Dvorak) by Shy";

    key <TLDE> { [       grave, asciitilde, dead_grave, dead_tilde  ] };

    key <AE01> { [      1,  exclam      ]   };
    key <AE02> { [      2,  at      ]   };
    key <AE03> { [      3,  numbersign  ]   };
    key <AE04> { [      4,  dollar      ]   };
    key <AE05> { [      5,  percent     ]   };
    key <AE06> { [      6,  asciicircum, dead_circumflex, dead_circumflex ] };
    key <AE07> { [      7,  ampersand   ]   };
    key <AE08> { [      8,  asterisk    ]   };
    key <AE09> { [      9,  parenleft,  dead_grave] };
    key <AE10> { [      0,  parenright  ]   };
    key <AE11> { [ bracketleft, braceleft   ]   };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [  apostrophe, quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD02> { [  comma,  less,   dead_cedilla, dead_caron    ] };
    key <AD03> { [      period, greater, dead_abovedot, periodcentered  ] };
    key <AD04> { [      p,  P       ]   };
    key <AD05> { [      y,  Y       ]   };
    key <AD06> { [      f,  F       ]   };
    key <AD07> { [      g,  G, Page_Up, Page_Up     ]   };
    key <AD08> { [      c,  C, Up, Up       ]   };
    key <AD09> { [      r,  R, dead_tilde, dead_tilde       ]   };
    key <AD10> { [      l,  L       ]   };
    key <AD11> { [  slash,  question    ]   };
    key <AD12> { [  equal,  plus        ]   };

    key <AC01> { [      a,  A       ]   };
    key <AC02> { [      o,  O       ]   };
    key <AC03> { [      e,  E       ]   };
    key <AC04> { [      u,  U       ]   };
    key <AC05> { [      i,  I       ]   };
    key <AC06> { [      d,  D, Home, Home       ]   };
    key <AC07> { [      h,  H, Left, Left       ]   };
    key <AC08> { [      t,  T, Down, Down       ]   };
    key <AC09> { [      n,  N, Right, Right     ]   };
    key <AC10> { [      s,  S, End, End     ]   };
    key <AC11> { [  minus,  underscore  ]   };

    key <AB01> { [   semicolon, colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [      q,  Q       ]   };
    key <AB03> { [      j,  J       ]   };
    key <AB04> { [      k,  K       ]   };
    key <AB05> { [      x,  X       ]   };
    key <AB06> { [      b,  B       ]   };
    key <AB07> { [      m,  M, Page_Down, Page_Down     ]   };
    key <AB08> { [      w,  W       ]   };
    key <AB09> { [      v,  V       ]   };
    key <AB10> { [      z,  Z       ]   };

    key <BKSL> { [  backslash,  bar             ]       };


    key <CAPS> { [    BackSpace,    BackSpace,       BackSpace,        BackSpace ] };

    include "level3(ralt_switch)"
};

payer une attention au code magique include "level3(ralt_switch)" qui rend RAlt comme mod3 mais fait que vscode le reconnaît comme unknown .

Linux ici, n'utilisant pas une disposition de clavier inhabituelle, j'ai seulement remappé le verrouillage des majuscules en retour arrière via XkbOptions , et cela n'a pas fonctionné non plus. Passer à keyCode fait fonctionner. Je suppose que cela affecte tout type de mappage de clé.

Pour moi, les deux points : spontanément cessé de fonctionner dans Visual Studio Code 1.32.3 sur macOS 10.14.3. La combinaison de touches dans Neo2 est caps lock + ; (sur qwerty). Réglage de keyboard.dispatch sur keyCode aidé.

Un autre utilisateur neo2 ici;) Je suis tombé sur le problème du retour arrière-ne fonctionne pas dans les premières minutes d'utilisation de VSCode. Heureusement, la solution de contournement fonctionne comme un charme jusqu'à présent!
Néanmoins, ce serait formidable si ce bogue était corrigé un jour;)

La solution de contournement de https://github.com/microsoft/vscode/issues/24043#issuecomment -292334048 fonctionne pour la fonctionnalité de retour arrière (: +1:) mais en déplaçant un mot en avant / en arrière et en supprimant un mot devant ou derrière le curseur ne fonctionne toujours pas: confused:, ie Ctrl + Alt Gr + w (dans la disposition qwerty / les touches du clavier) devrait supprimer un mot à gauche du curseur mais juste coller le presse-papiers, qui serait Ctrl + w (dans la disposition qwerty / touches sur le clavier) qui est Ctrl + v .
Il semble que la pression sur la touche Alt Gr soit simplement ignorée lorsque vous appuyez sur la touche Ctrl .

J'utilise Arch Linux avec les dernières mises à jour.

Comment puis-je fournir plus d'informations pour aider à résoudre ce problème?

Je suis nouveau dans VS Code et j'utilise la disposition KOY (avec quelques adaptations) sous Linux ( setxkbmap de koy ). Même problème qu'avec Neo2: je peux taper un trait d'union en appuyant sur CapsLock+L dans l'éditeur. Mais les raccourcis contenant CapsLock ne fonctionnent pas (comme le zoom arrière avec Ctrl+- = Ctrl-CapsLock-L ).

La page des problèmes de raccourcis clavier recommande d'exécuter F1 > Developer: Inspect key mappings si rien d'autre ne vous aide.

Avec la mise en page allemande standard ( setxkbmap de ), j'obtiens ceci pour la touche L :

    "KeyL": {
        "value": "l",
        "withShift": "L",
        "withAltGr": "ł",
        "withShiftAltGr": "Ł"
    }

Avec KOY ( setxkbmap de koy ), j'obtiens:

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "n",
        "withShiftAltGr": "N"
    },

Apparemment, VS Code n'obtient pas correctement les niveaux supérieurs de la mise en page!

Quelques informations techniques supplémentaires sur cette famille de dispositions de clavier (neo, adnw, koy, bone):

Dans la disposition allemande par défaut, AltGr est mappé à ISO_Level3_Shift (sous Linux). Dans Neo2 (et autres), AltGr est mappé à ISO_Level5_Shift et CapsLock est mappé à ISO_Level3_Shift .

Donc je pense que nous devrions voir dans la sortie de > Developer: Inspect key mappings soit

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "-",

(parce que CapsLock remplace AltGr dans Neo2 en termes d'être la nouvelle clé ISO_Level3_Shift )

ou

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "6",

(parce que vous obtenez un "6" lorsque vous appuyez sur la touche AltGr physique plus la touche L comme vous pouvez le voir dans la capture d'écran d'OP).

J'espère que cela vous aidera les développeurs de VS Code à mieux comprendre notre problème.

Je suis conscient que moi (et d'autres) mélangeons ici certains problèmes concernant Neo. Mais ils pourraient être liés.

Testé sur Ubuntu 18.04 avec cette version de VS Code / Codium:

Version: 1.44.0
Commit: 2aae1f26c72891c399f860409176fe435a154b13
Date: 2020-04-09T10:44:46.342Z
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.15.0-96-generic

Il semble que la pression sur la touche Alt Gr soit simplement ignorée lorsque vous appuyez sur la touche Ctrl .

J'ai le même problème. Marquer des lettres simples via Shift + RightArrow fonctionne lorsque je saisis le RightArrow via AltGr + E , mais en utilisant Ctrl + Shift + RightArrow avec la mise en page Neo envoie Ctrl + Shift + E place .
J'ai utilisé la fonctionnalité d'enregistrement de clé et obtenir avec la méthode de répartition code :

  • Appuyer sur Shift + AltGr + E affichera d'abord shift + alt , puis se transforme en shift + right .
  • Appuyer sur Ctrl + Shift + AltGr + E affiche d'abord ctrl + shift + alt , puis se transforme en ctrl + shift + e

et avec la méthode keyCode :

  • Appuyer sur Shift + AltGr + E affichera d'abord shift + oem_8 , puis se transforme en shift + right .
  • Appuyez sur Ctrl + Shift + AltGr + E afficher ctrl + shift + oem_8 ctrl+shift+e

La même chose se produit lorsque vous utilisez simplement Ctrl + AltGr +E qui devient ctrl + e au lieu de ctrl + right .

Pour ce problème spécifique, serait-il peut-être une solution de contournement possible de simplement marquer une certaine clé comme morte? Les mises en page comme Neo n'ont pas du tout besoin de VSCode pour écouter AltGr , il ne devrait traiter que le code clé qui est envoyé lorsqu'il est pressé en combinaison. De plus, lorsque cette couche est «verrouillée» en utilisant les deux touches Mod4, appuyer sur Ctrl + Shift + e est correctement reconnu comme ctrl + shift + right .

Mes informations de mise en page:

"layout": {
        "model": "pc105",
        "layout": "de,de,gb",
        "variant": "neo,,",
        "options": "grp_led:scroll,altwin:alt_super_win",
        "rules": "evdev"
    }

J'ai eu le même problème que celui décrit ici plusieurs fois, où maintenir control ou des touches similaires rend certaines touches du niveau 4 de la mise en page neo inutilisables et exécute des raccourcis indésirables.

Mon correctif / solution de contournement

Ce qui a fonctionné pour moi dans Ubuntu 18.04 et a résolu tous ces problèmes, c'est d'exécuter setxkbmap -layout de -variant neo après le démarrage et chaque réveil. Cela semble fonctionner avec l'un ou l'autre des paramètres pour keyboard.dispatch ( keyCode ou code ).

Commencez

Dans "Startup Application Preferences"->Add entrez setxkbmap -layout de -variant neo comme ça et économisezScreenshot

Réveillez-vous

Avec sudoedit /lib/systemd/system-sleep/setxkbmap ajouter

#!/bin/bash
case $1 in
  post)
    DISPLAY=:1 ; export DISPLAY
    su $USER -c "sleep 1; setxkbmap -layout de -variant neo"
  ;;
esac

et donnez des autorisations exécutables avec sudo chmod 755 /lib/systemd/system-sleep/setxkbmap .

  • Au lieu de $USER ajoutez votre utilisateur.
  • Partout ailleurs, j'ai trouvé DISPLAY=:0 suggéré, mais cela n'a pas fonctionné pour moi. Ensuite, j'ai essayé la valeur que j'ai obtenue de echo $DISPLAY ( :1 ), qui a fonctionné.
  • Si cela ne fonctionne pas, essayez avec un délai plus long (par exemple au lieu de sleep 1; , utilisez sleep 3; )

J'espère que cela aide les autres!

Cette page vous a été utile?
0 / 5 - 0 notes