AltGr-Schlüssel funktionieren nicht mit Ubuntu in VirtualBox

8

Ich habe gerade VirtualBox (von Oracle) in Windows 7 installiert und eine virtuelle Maschine mit dem neuesten Ubuntu erstellt.

Hier in Firefox kann ich die linke Strg-Taste verwenden, während die rechte keine Wirkung hat. Ich kann jedoch nicht die AltGr-Taste (auch als Right Alt bezeichnet) verwenden, um z. B. geschweifte Klammern wie {} zu erzeugen (das habe ich über Strg V eingefügt).

In einem Terminalfenster kann ich die "Eingabemethode" auf "Multipress" umschalten und dann mit AltGr zB {} eingeben. Auf diese Weise habe ich diese Zeichen für diesen Beitrag erstellt. Bei "Multipress" scheinen die Strg-Tasten jedoch keinerlei Auswirkungen zu haben. Um zB Strg DI einzugeben, muss man mit der rechten Maustaste klicken und die "Eingabemethode" auf "System (IBus (Intelligent Input Bus))" umschalten. Dann funktioniert AltGr nicht.

Ich habe versucht, die Compose-Taste im Tastaturlayout der Systemeinstellungen anzugeben.

Damit funktionierten weder Strg noch AltGr.

Folgendes berichtet xmodmap:

[~]
$ xmodmap -pke | grep -i Kontrolle
Schlüsselcode 37 = Control_L NoSymbol Control_L
Schlüsselcode 105 = Control_R NoSymbol Control_R
[~]
$ xmodmap -pke | grep -i alt
Schlüsselcode 64 = Alt_L Meta_L Alt_L Meta_L
Schlüsselcode 204 = NoSymbol Alt_L NoSymbol Alt_L
[~]
$ _

Wie kann ich das beheben?

Zusätzliche Informationen: Die Tastatur ist eine Standard-PC-Tastatur, eine Logitech K120, mit norwegischem Layout.

Außerdem habe ich zuerst versucht, diese Frage auf der Superuser-Website zu stellen, aber nach 2 Tagen keine Antwort ...

Alf P. Steinbach
quelle
Ich habe den AltGr-Schlüssel in Ubuntu zum Laufen gebracht. Ich musste nur wissen, dass ich eine Datei mit dem Namen ".Xmodmap" erstellen und diese Zeile hinzufügen sollte: "keycode 113 = Mode_switch Multi_key". Was ich in einem Fehlerbericht über ein ähnliches Problem unter bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/349487/… gefunden habe
Alf P. Steinbach

Antworten:

5

Führen Sie den Befehl aus xev. Drücken Sie im xev-Fenster die AltGrTaste. Du wirst so etwas sehen

KeyPress event, serial 29, synthetic NO, window 0x6400001,
    root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
    state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Notieren Sie den Schlüsselcode. Da der Schlüssel nicht das tut, was Sie wollen, sehen Sie (möglicherweise Alt_R) etwas anderes anstelle von Mode_switch. Sie möchten diesen Schlüsselcode zuweisen Mode_switch, der der Name von X11 für AltGr ist. Fügen Sie den folgenden Befehl in eine Datei mit dem Namen .Xmodmap(Notizkapital X) in Ihrem Home-Verzeichnis ein:

keycode 66 = Mode_switch

Darüber hinaus müssen Sie möglicherweise einen Modifikator zuweisen Mode_switch, aber wenn nur eine Keycode-Diskrepanz auftritt, gibt es bereits einen. Weitere Informationen finden Sie unter Festlegen des Schlüssels für den spanischen Eñe-Brief .

Führen Sie aus xmodmap ~/.Xmodmap, um Ihre Datei zu testen. Auf vielen Systemen, einschließlich Ubuntu 10.04, wird diese Datei automatisch in die Standard-Gnome-Umgebung geladen. In anderen Distributionen oder Umgebungen müssen Sie möglicherweise explizit angeben, dass Sie xmodmap ~/.Xmodmapbeim Anmelden ausgeführt werden möchten .

Gilles 'SO - hör auf böse zu sein'
quelle
Es ist eine interessante Antwort mit dem Schlüsselcode 66. In meinem Kommentar, bevor Sie diese Antwort gepostet haben, habe ich festgestellt, dass der Schlüsselcode 113, den ich gerade aus dem Netz kopiert und eingefügt habe, für diese Zeile funktioniert. Wenn ich jetzt xevwie von Ihnen vorgeschlagen ausführe , wird der Schlüsselcode 108 gemeldet. Die Zeile, die ich aus dem Netz kopiert habe, funktioniert jedoch. Es hat also anscheinend nichts mit dem Schlüsselcode zu tun. Ich habe es nur zum Spaß auf 66 geändert und neu gestartet: es funktioniert immer noch. Ich schließe daraus, dass es überhaupt nicht technisch korrekt ist, sondern offensichtlich ein Heisenbug in Ubuntu.
Alf P. Steinbach
@ AlfP.Steinbach Der Schlüsselcode wird von Ihrer Hardware (oder Ihrem Hardware-Emulator in einer VM) sowie von Ihrer Kernel- und X-Server-Version bestimmt. Auf PC-Tastaturen hat die rechte Alt-Taste den Schlüsselcode 113 bei älteren Linux-Distributionen und 108 bei neueren (mein Beispiel mit 66 ist, weil ich AltGr auf der Feststelltaste habe). Ich habe vor einiger Zeit gefragt, wie ich automatisch feststellen kann, ob ich ein „altes“ oder ein „neues“ System für die Zuweisung von Schlüsselcodes habe.
Gilles 'SO - hör auf böse zu sein'
Nun, es funktioniert immer noch nach Umbenennung der Datei und neu zu starten. Und das Terminal merkt sich nach dem Neustart immer noch den alten Befehlsverlauf. Bei solchen albernen, anhaltenden dynamischen Zuständen muss es meiner Meinung nach ziemlich schwierig sein, Fehler aufzuspüren: Sie können in einer so störenden Umgebung nicht zuverlässig reproduziert werden. Ich denke, ein weiterer Beweis dafür ist, wie der Fehler bei AltGr verschwunden ist: geschlossen als behoben, wieder geöffnet, geschlossen als gelöst, wieder geöffnet, so weiter und so fort. Ich denke, es wäre eine gute Idee (TM), die Person, die diese Beharrlichkeit der Einstellungen und des Zustands eingeführt hat, streng zu bestrafen. :-)
Alf P. Steinbach