Wie kann ich die Tastaturzuordnung von Xephyr bestimmen?

6879
qedi

Wenn ich Xephyr in X starte, wird meine Tastaturzuordnung meistens nur für nicht druckbare Zeichen verwirrend. Ich kann keine Pfeiltasten verwenden. Nach xev wird der Abwärtspfeil auf Super_R abgebildet. Der Aufwärtspfeil ist Druckbildschirm. PgDown wird "Menü" zugeordnet. Meine Tastatur funktioniert gut im ursprünglichen X-Display (: 0), aber im Xephyr-Subdisplay (: 1) funktioniert nichts anderes als richtig.

Ich habe keine funky xmodmap-Dinge in meinem X-Hauptdisplay, die mir bekannt sind. Alles was ich wirklich mache ist setxkbmap -option ctrl:swapcaps.

7
Sie verwenden nicht SSH, richtig? Oder anders ausgedrückt: Sie verwenden exakt dieselbe Tastatur und denselben X-Server mit Xephyr wie ohne? Und bessere Ergebnisse beim Einsatz des älteren `Xnest`? Ich weiß nicht, wie dieses Wissen Ihnen helfen wird, aber vielleicht tut es das. ;-) Arjan vor 14 Jahren 0
Ja. nein ssh. Gleiche Tastatur und Server. Ich werde es mit Xnest versuchen. qedi vor 14 Jahren 0
Xnest hat dasselbe getan, aber es hat mich zumindest auf die Lösung hingewiesen. qedi vor 14 Jahren 0

7 Antworten auf die Frage

5
qedi

Ich habe Bug 19365 gefunden, der mein Problem gelöst hat:

Xnest / Xephyr mit -kb starten.

Und keine Notwendigkeit mehr für 'xmodmap', hoffe ich? Guter Fund! Arjan vor 14 Jahren 0
(Ich denke, Sie können Ihre Antwort nach 48 Stunden akzeptieren. Bitte kommen Sie zurück, um dies zu tun. Danke!) Arjan vor 14 Jahren 0
2
Jim Hunziker

The -kb option doesn't work in Ubuntu 10.04. Here's what worked for me:

Xephyr -keybd ephyr,,,xkbmodel=evdev -ac -screen 800x600 -br -reset -terminate :1

Sie brauchen nicht alle leeren Kommas zu verwenden, sondern listen die Tastaturoptionen nach Bedarf auf. In meinem Fall ist es -keybd Ephyr, xkbmodel = evdev, xkblayout = 'de (nodeadkeys)' ` Olaf Dietsche vor 8 Jahren 0
1
Tomasz

Sie können auch eine xkbcomp $DISPLAY :1X-Sitzung ausführen, in der Xephyr gestartet wurde. Dieser Befehl kopiert die Tastaturzuordnung vom aktuellen Server zum neu erstellten. Ich benutze es so:

Xephyr -screen 800x600 :1 > /dev/null & sleep 2 && xkbcomp $DISPLAY :1 DISPLAY=":1" ./runcommand 
1
Alexander Demidov
setxkbmap -model evdev -print | xkbcomp :100 :200 

Wenn Sie Xephyr mit Xpra verwenden und eine falsche Tastaturzuordnung vorliegt. Wenn Sie eine seltsame Situation sehen: Abwärtspfeil funktioniert wie Eingabetaste (Abwärtspfeil als Trennlinie), Aufwärtspfeil funktioniert nicht - verwenden Sie diesen Befehl, um eine echte XKB-Map festzulegen.

: 100 - Nummer mit Steuerung von xpra anzeigen

: 200 - Anzeige der Nummernsteuerung von Xephyr

Kann diese Befehlshilfe sein, wenn Sie die x2go- und die Mate-Desktop-Umgebung verwenden (wenn die Tastatur der x2go-Einstellungen auf dem Client deaktiviert ist)

Bitte erläutern Sie, was dieser Code bewirkt. Dies ist in der vorliegenden Form nicht sehr hilfreich. bwDraco vor 9 Jahren 2
0
Arjan

Es scheint, dass Sie SSH nicht dafür verwenden, richtig? Dennoch können Sie mit den folgenden Schritten beginnen; Es ist das, was ich notiert habe, um Tastaturprobleme bei der Verwendung zu beheben ssh -Y:

Sie können die aktuelle Tastaturzuordnung speichern (wenn Sie Xephyr nicht ausführen), indem Sie Folgendes verwenden:

xmodmap -pke > ~/my_xmodmap 

Dann könnten Sie in Xephyr versuchen, das explizit zu laden:

xmodmap ~/my_xmodmap 

Und mit können xevSie Tastaturereignisse überwachen. Das hilft wahrscheinlich nicht viel, aber es kann Ihnen helfen, hilfreiche Artikel zu googeln, da dieser Befehl manchmal in solchen Artikeln erwähnt wird.

Damit funktionieren einige andere Tasten, aber nicht alle. xev behauptet beispielsweise, dass der Schrägstrich der Tastatur XF86_Ungrab und nicht KP_Divide ist, wie er in der xmodmap-Datei definiert ist, die ich abgelegt und verwendet habe. qedi vor 14 Jahren 0
0
Alberto

Für mich (mit deutscher Tastatur) funktioniert es nur die Kombination der vorherigen Lösung, auf die Arjan hinweist, und die Lösung, auf die Panzi im Xephyr-Tastaturlayout hinweist, das heißt:

Xephyr starten:

Xephyr -keybd ephyr,,,xkbmodel=evdev,xkblayout=de -ac -reset -screen 800x600 -retro :1 & 

Speichern Sie die aktuelle Tastaturbelegung und starten Sie das Laden der Zuordnung.

xmodmap -pke > /tmp/my_modmap ; xterm -display :1 -ls -e "xmodmap /tmp/my_modmap; bash" & 

Xephyr Server: xserver-xephyr 2:1.9.5-1

Dank der Originalposter!

Ich habe eine bessere Lösung gefunden: Siehe meine [andere Antwort] (http://superuser.com/questions/70428/how-can-i-sort-out-xephyrs-keyboard-mapping/273603#273603) zu dieser Frage. Alberto vor 13 Jahren 0
0
Alberto

Nach mehr erfolglosem Googeln man setxkbmapwies ich mich endlich in eine einfachere Lösung:

VERWENDUNG MIT xkbcomp

Wenn Sie einen Xserver und eine Client-Shell auf verschiedenen Computern ausführen und die XKB-Konfigurationsdateien auf diesen Computern unterschiedlich sind, können Sie Probleme bei der Angabe einer Tastaturzuordnung nach Modell, Layout und Optionsnamen haben. [...] Sie können dieses Problem durch Ausführen lösen der xkbcomp auch auf der Clientseite. [..] Zum Beispiel der Befehl

setxkbmap us -print | xkbcomp - $ DISPLAY

führt beide Schritte auf demselben (Client-) Rechner aus und lädt eine Tastaturzuordnung in den Server.

Das ist,

  • Xephyr starten:

    Xephyr -ac -reset -screen 800x600 -retro :50 & 

    (Keine Tastaturinformationen erforderlich)

  • und konfigurieren Sie die neue xsession:

    setxkbmap de -print | xkbcomp - :50 

    (Sie müssen Ihr Tastaturlayout kennen)

Hinweis: setxkbmapist Ihr Freund, und ab Version 1.2.0 ist die nützliche -queryOption verfügbar, um Sie bei der Fehlerbehebung bei Ihrer Tastatur zu unterstützen (siehe entsprechendes Patch-Protokoll ).

In [diese Antwort] (http://superuser.com/questions/209433/xephyr-keyboard-layout/273611#273611) gebe ich an, wie Xephyr gestartet wird, damit es richtig konfiguriert wird. Alberto vor 13 Jahren 0