Wie verwende ich das aktuelle Tastaturlayout für Tastenkombinationen in i3?

701
l0b0

Ich habe gerade i3 mit der Standardkonfiguration installiert und es gibt ein Hauptproblem bei Tastenkombinationen : Obwohl mein Tastaturlayout nicht QWERTY ist, werden die Tastenkombinationen den entsprechenden QWERTY-Tasten zugeordnet. Daher muss ich Winim QWERTY-Layout + die mit "F" markierte Taste drücken, um ein Fenster im Vollbildmodus anzuzeigen, auch wenn durch Drücken dieser Taste ein "u" -Zeichen erzeugt wird (im Dvorak-Layout). Wie gehe ich vor, damit das Drücken von Win+ fin jedem Layout funktioniert, ohne dass eine separate Konfiguration für jedes Layout erforderlich ist?

0

1 Antwort auf die Frage

1
Adaephon

Kurze Antwort:

Wenn Sie die Standardkonfiguration verwenden möchten, können Sie einfach kopieren /etc/i3/configin ~/.config/i3/config(oder ~/.i3/configersetzen, was bereits vorhanden ist, um Verwirrung zu vermeiden).

Lange Antwort:

i3unterstützt die Konfiguration von Tastenkombinationen über Tastensymbole sowie über Tastencodes .

  • Tastensymbole sind die Zeichen, die durch Tastendruck gesendet werden und vom Tastaturlayout abhängen. Sie sind an das bindsymSchlüsselwort gebunden . Um beispielsweise toggle fullscreenan die Kombination von Winund den Schlüssel zu binden, der ein "f" sendet, würden Sie Folgendes verwenden:

     bindsym Mod4+f fullscreen toggle 

    Diese Methode eignet sich für die Verwendung mit Mnemotechnik ( F ullscreen, re S ize, etc.), und Sie können bei einem Blick auf die Konfiguration der gewünschten Verknüpfung sofort finden. Wenn Sie jedoch zwischen den Tastaturlayouts wechseln, kann sich die Taste auch bewegen. Wenn Sie zwischen verschiedenen Alphabeten wechseln, wird nicht jedes Symbol in beiden Layouts dargestellt.

  • Tastencodes stellt die physische Taste auf der Tastatur und hängt nicht von dem Tastatur - Layout, sondern nur auf der Tastatur Modell (zB pc104, pc105). Um sich toggle fullscreenan die Kombination von Winund der Taste zu binden, die alsF auf einer US-Tastatur beschriftet ist (Homerow, linker Zeigefinger):

     bindcode Mod4+41 fullscreen toggle 

    Bei dieser Methode werden Verknüpfungen über unterschiedliche Tastaturlayouts an derselben physischen Stelle gespeichert. Dies ist besonders nützlich, wenn Sie gelegentlich zwischen Layouts wechseln, Ihre Abkürzungen jedoch meistens anhand des Muskelgedächtnisses finden. Andererseits ist die Konfiguration nicht sehr gut lesbar ( fvs. 41).

Abhängig von den persönlichen Vorlieben können Sie eine der beiden Methoden wählen. Sie können sogar mischen, aber sie haben eine gewisse Sorgfalt nehmen Sie nicht die gleiche Taste zweimal, zB zuweisen bindsym f …und bindcode 41 …zugleich.

Normalerweise enthalten i3Pakete für jede Methode eine Standardkonfiguration. /etc/i3/configfür bindsymund /etc/i3/config.keycodesfür bindcode. Wenn i3keine Benutzerkonfiguration gefunden wird, bietet es an, eine mit zu erstellen i3-config-wizard. Dies übernimmt die config.keycodesStandardkonfiguration und ersetzt alle bindcodeKonfigurationen durch die entsprechenden bindsymKonfigurationen im aktuellen Tastaturlayout. Dadurch wird sichergestellt, dass sich alle Schlüssel am gleichen Ort befinden, wie im Benutzerhandbuch angegeben, und dass die Konfigurationsdatei gleichzeitig leicht verständlich ist. Der Nachteil ist natürlich, dass einige Mnemonics zerstört werden, wenn Sie kein QWERTY- oder QWERTZ-Layout verwenden.


Mein persönlicher Vorschlag wäre, das Benutzerhandbuch ausführlich zu betrachten und nur die Standardkonfiguration als Ausgangspunkt zu verwenden, um eine eigene Konfiguration zu erstellen, die zu Ihrem Workflow und Ihren Präferenzen passt.