Barrier: Falsches Tastaturlayout zwischen Server und Client

Erstellt am 22. Sept. 2018  ·  4Kommentare  ·  Quelle: debauchee/barrier

Betriebssysteme

Server: Windows 10

Kunde: Arch Linux

Barriere-Version

2.1.0

Schritte zum Reproduzieren des Fehlers

  1. Festlegen des Tastaturlayouts auf IT auf dem Server (Windows 10)
  2. Legen Sie das Tastaturlayout auf dem Client auf IT fest (Arch Linux)
  3. Fehler: Barriere kehrt zur Verwendung des EN-Tastaturlayouts auf dem Client zurück (Arch Linux)

Andere Information

  • Wann trat das Problem auf? Immer
  • Gibt es eine Möglichkeit, das zu umgehen? Ich weiß nicht
  • Verhindert dieser Fehler, dass Sie Barrier vollständig verwenden können? Nicht ganz, aber es ist sehr ärgerlich, das falsche Tastaturlayout zu haben

Hilfreichster Kommentar

Ich denke, dies geschieht, weil die XTEST-Erweiterung verwendet wird, um die Tastenanschläge zu liefern, und sie über eine eigene virtuelle Tastatur verfügt. Sie können dies sehen, wenn Sie xinput list ausführen:

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Broadcom Corp. Bluetooth USB Host Controller  id=11   [slave  pointer  (2)]
⎜   ↳ bcm5974                                   id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Broadcom Corp. Bluetooth USB Host Controller  id=10   [slave  keyboard (3)]

Dies kann mit setxkbmap -device N behoben werden, wobei N die Gerätenummer aus dieser Liste ist.
Ich habe dieses Problem vorerst gelöst, indem ich Folgendes in mein .xinitrc :

setxkbmap -device `xinput list | grep "Virtual core XTEST keyboard" | sed -e 's/.\+=\([0-9]\+\).\+/\1/'` us colemak

Dies setzt es auf Layout uns, Variante Colemak. Sie können die richtigen Werte für Ihr System zusammen mit allen -option Einstellungen ermitteln, indem Sie setxkbmap -query ausgeben.

Alle 4 Kommentare

Ich denke, dies geschieht, weil die XTEST-Erweiterung verwendet wird, um die Tastenanschläge zu liefern, und sie über eine eigene virtuelle Tastatur verfügt. Sie können dies sehen, wenn Sie xinput list ausführen:

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Broadcom Corp. Bluetooth USB Host Controller  id=11   [slave  pointer  (2)]
⎜   ↳ bcm5974                                   id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Broadcom Corp. Bluetooth USB Host Controller  id=10   [slave  keyboard (3)]

Dies kann mit setxkbmap -device N behoben werden, wobei N die Gerätenummer aus dieser Liste ist.
Ich habe dieses Problem vorerst gelöst, indem ich Folgendes in mein .xinitrc :

setxkbmap -device `xinput list | grep "Virtual core XTEST keyboard" | sed -e 's/.\+=\([0-9]\+\).\+/\1/'` us colemak

Dies setzt es auf Layout uns, Variante Colemak. Sie können die richtigen Werte für Ihr System zusammen mit allen -option Einstellungen ermitteln, indem Sie setxkbmap -query ausgeben.

Wirklich neugierig: wenn ich deine Methode mit us Layout verwende, also mit

setxkbmap -device `xinput list | grep "Virtual core XTEST keyboard" | sed -e 's/.\+=\([0-9]\+\).\+/\1/'` us

Ich bekomme ein korrektes it Layout (außer bei Buchstaben mit Akzent, aber das ist kein Problem).
Wenn ich das Layout it setze, ist es völlig falsch.

Trotzdem vielen Dank für diesen Workaround!

Jetzt funktioniert es auch mit it , nach einem Neustart...

das ist genial!, vor ein paar jahren suchte ich erfolglos nach dieser lösung. Danke vielmals!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen