Unterschied links / rechts Super-Taste

10

Wenn ich meine linke SuperTaste drücke, erscheint die Gnomenschale und wenn ich die rechte SuperTaste drücke, nicht. Wenn Sie rechts Super+ drücken, Twird ein Terminal sofort geöffnet, aber wenn Sie left super verwenden, muss ich Tzweimal drücken . Wenn ich Tnur einmal drücke, ähnelt dies dem Drücken von einfach Tohne Halten von Superlinks. Dieser letzte Punkt tritt auch bei anderen Verknüpfungen auf, die ich definiert habe (wie Super+ L, Super+ E), aber nicht bei Super+ Up/Down/Left/Right.

Was ich möchte, ist, eine der beiden SuperTasten zu drücken, um die Gnome-Shell zu erhalten, und eine der beiden SuperTasten in Kombination mit Tzu verwenden, um ein Terminal sofort zu öffnen (und ähnlich wie bei anderen Verknüpfungen). Ich benutze Ubuntu 12.04 LTS und die Gnome 3 Shell.

Erik
quelle
Gibt Settings Manager -> Keyboardes eine Option wie exo-open --launch TerminalEmulator? Wenn ja, was steht in der zweiten Spalte, Verknüpfung?
DaimyoKirby
1) Meinen Sie den Abschnitt Tastatur unter Systemeinstellungen? Wenn ja, kann ich es dort nicht finden. 2) Wenn Sie den Compiz-Einstellungsmanager meinen, kann ich ihn dort auch nicht finden. Unabhängig davon habe ich Ihren Befehl im Terminal ausprobiert und es heißt, dass exo-open nicht installiert ist. Daher bezweifle ich sehr, dass diese Option verfügbar sein wird. Es gibt jedoch das benutzerdefinierte Shortcut-Startterminal mit dem Befehl x-terminal-emulator. Das ist das, was ich benutze, da das Standard-Startterminal nicht zu funktionieren scheint.
Erik

Antworten:

4

xmodmap-Lösung

Ich denke, Sie können dies mit xmodmap tun , einem Tool zum Ändern von Keymaps. Da meine Tastatur keine richtige SuperTaste hat, kann ich diese Lösung nicht bestätigen. Bitte hinterlassen Sie einen Kommentar, wenn sie nicht funktioniert.
Alle Schritte werden in einem Terminal ausgeführt

Drucken Sie die aktuelle Modifikatorzuordnung
Ausführen

xmodmap

Dies sollte die aktuelle Modifikator-Map drucken, die so etwas mögen sollte

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Die wichtige Zeile ist die mod4Zeile. Diese Zeile zeigt, welche Schlüsselcodes den Schlüsselsymbolen Super_L und Super_R zugeordnet sind.

Sichern der Schlüsselzuordnung
Bevor wir etwas ändern, ist es eine gute Idee, die aktuelle Schlüsselzuordnung zu sichern. Wir können dies mit tun

xmodmap -pke > ~/.xmodmap.orig

Wenn etwas schief geht, können Sie einfach tippen

xmodmap ~/.xmodmap.orig

um Ihre ursprüngliche Schlüsselkarte wiederherzustellen. (Wenn Sie einige schwerwiegende Fehler gemacht haben und nicht mehr richtig tippen können, funktioniert auch ein Neustart.)

Überprüfen der aktuellen Schlüsselzuordnung für die Super Schlüssel
Unter der Annahme, dass die SuperSchlüssel aufeinanderfolgende Schlüsselcodes haben (in diesem Fall 0x85 und 0x86), können wir die aktuelle Zuordnung durch Ausführen überprüfen

xmodmap -pke | grep -wA1 $((0x85))

Natürlich sollten Sie die 0x85 durch den Schlüsselcode ändern, den Sie aus Ihrer Modifikator-Map haben. Das sollte dir geben

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

(das $((0x85))konvertiert die Hexadezimalzahl in eine Dezimalzahl)

Kopieren Sie das Verhalten von links Super nach rechts Super
Wie Sie aus dem vorherigen Schritt sehen können, hat der rechte SuperSchlüssel den Schlüsselcode 134, aber wir möchten, dass er das Verhalten des linken SuperSchlüssels mit dem Schlüsselcode 133 hat. Wir können dies tun, indem wir den Schlüssel mit neu zuordnen

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Überprüfen, ob es funktioniert
Wenn Sie es jetzt tun

xmodmap -pke | grep -wA1 $((0x85))

Das solltest du sehen

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

Dies bedeutet, dass beide Schlüssel jetzt dasselbe Verhalten haben. Auch die Modifikatorzuordnung sollte sich in der Zeile mit geändert haben mod4, wir können dies durch Ausführen überprüfen

xmodmap | grep 'mod4'

was geben sollte

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

Und natürlich sollten auch die von Ihnen erwähnten Verknüpfungen funktionieren!

Festlegen der Zuordnung
Wenn dies funktioniert, können Sie sicherstellen, dass diese Einstellungen beim Booten automatisch angewendet werden. Lauf

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

um Ihre benutzerdefinierte Schlüsselzuordnung in der Datei zu speichern ~/.xmodmaprc. Lauf

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

um sicherzustellen, dass die benutzerdefinierte Schlüsselzuordnung ausgeführt wird, wenn Ihr Fenstermanager geladen wird.

Gerhard Burger
quelle
1
Zunächst einmal vielen Dank für Ihre Antwort. Ich habe alles getan, um das Mapping dauerhaft zu machen. Die Ausgabe im Terminal war genau wie erwähnt, jedoch bleiben meine Probleme gleich: left super zeigt die Gnome-Shell und die rechte nicht. Ähnlich wie bei Verknüpfungen müssen Sie beim linken Super zweimal t drücken, um das Terminal zu öffnen, und beim rechten Super ist einmal ausreichend.
Erik
1
hmm, dann bin ich auch ahnungslos: PI denke, diese Verknüpfungen werden auf einer tieferen Ebene behandelt.
Gerhard Burger
1
Ah, ich habe einen Fehlerbericht gefunden, anscheinend haben mehr Leute das gleiche Problem :) bugzilla.gnome.org/show_bug.cgi?id=659899
Gerhard Burger