
Sway verwendet Wayland, daher werden alle XKB-Dateien von Sway und nicht von X analysiert.
- Ich möchte eine Ebene auf der Tastatur hinzufügen (wahrscheinlich mit Hyper)
- Ich möchte einige Modifikatortasten umstellen
Ich habe mir viele Websites angesehen, weiß aber immer noch nicht, wie ich das erreichen soll. XKB besteht aus so vielen Teilen und ich bin mir nicht sicher, was wohin gehört. Ich möchte eine Beispieldatei (oder -dateien) und eine Erklärung.
Antwort1
Angenommen, Ihre XKB-Konfigurationsdatei heißt „custom-xkb“ und ist in gespeichert ~/.config
. Dann fügen Sie Folgendes in Ihre Sway-Konfigurationsdatei ein:
input "type:keyboard" { # or input <identifier>
xkb_file ~/.config/xkb/custom-xkb
}
Das wissen Sie wahrscheinlich schon – der schwierige Teil ist das Erstellen der custom-xkb
Datei. Ich bin kein Spezialist, aber ich würde Folgendes tun:
- Ich würde im Internet nach „xkb-Spezifikation“ suchen und Ihnen alle möglichen Informationen liefern, von Wikipedia bis zur
x.org
vollständigen Spezifikation. Sie verfügen wahrscheinlich bereits über eine Sammlung solcher Ressourcen. - Dann würde ich in meinem System die Standardkonfigurationsdateien für die Tastatur finden, vielleicht in
\etc\X11\xdg\
oder so (möglicherweise müssen Sie ein wenig suchen: in meiner seltsamen Distribution ist der Pfad/nix/store/n1mlvwrkdlm77b4ai9s26kwji89jjb65-xkeyboard-config-2.27/share/X11/xkb/
). - In diesem Pfad würde ich nach zwei Unterverzeichnissen suchen:
symbols
undtypes
. Im ersten befinden sich die Tastaturbelegungen für alle verschiedenen Sprachen und in jeder Datei die Tastaturbelegungsvarianten für diese Sprache. Im zweiten Unterverzeichnis werden die virtuellen Tasten definiert (wie Mod1, Control usw.). - Dann würde ich den Inhalt dieser Dateien auf mein Gerät kopieren
~/.config/xkb/custom-xkb
und mit verschiedenen Bearbeitungen experimentieren, um zu sehen, was passiert. Und ich würde versuchen, meine Zweifel mithilfe der Internetressourcen auszuräumen, die ich gesammelt habe. Wenn etwas Katastrophales passiert, würde ich Strg+Alt+F1 drücken, dann einen Nox-Login durchführen, die Zeile kommentierenxkb_file ~/.config/xkb/custom-xkb
und den X-Server neu starten ... - Ich würde den Inhalt der Unterverzeichnisse
rules
,geometry
und nicht verändernkeycodes
. Aber Sie müssen auch dort einen Blick hineinwerfen.
Ich habe nichts davon wirklich gemacht, aber vielleicht funktioniert es. Ich denke, dass ein Blick auf die tatsächlichen Konfigurationsdateien hilft, herauszufinden, was die Tutorials und Anleitungen eigentlich sagen ...
Viel Glück
Antwort2
XKB ist in der Tat ein wirklich kompliziertes Biest. (Zumindest meiner Erfahrung nach. Es scheint einige seltsame Designentscheidungen zu geben, die ich darauf zurückführe, dass die Erstveröffentlichung schon 1996 war, und es ist meiner Meinung nach auch nicht die beste Dokumentation.)
Durch das Experimentieren mit vielen unterschiedlichen Konfigurationen habe ich es geschafft, ein gewisses Verständnis zu erlangen und habe mich auf eine Teilmenge der Funktionalität festgelegt, deren Verhalten ich zuverlässig erraten und mit der ich bequem Layouts erstellen kann, während ich gleichzeitig noch genügend Flexibilität habe, um auszudrücken, was ich erreichen möchte.
Das Schreiben eines umfassenden Tutorials über das, was ich gelernt habe, würde ziemlich viel Zeit in Anspruch nehmen, aber Sie können einen Blick auf meine Konfigurationsdateien werfen, die hoffentlich leichter verständlich sind, als das Lesen der Standardlayouts.
https://github.com/Isti115/dotfiles/tree/master/.config/xkb
(Sie sind in meiner Sway-Konfiguration enthaltenHier.)
Ich empfehle insbesondere die Lenovo-L13.xkb
Datei, die ich für meinen Laptop erstellt habe, da sie mehrere Ebenen hat. (Ich habe sogar meine Leertaste in einen Modifikator verwandelt, während ich sie gedrückt hielt mitAbonnieren.) Das Vortex Core-Layout ist ebenfalls gut, aber das ist nicht das ganze Bild, da die Tastatur selbst auch programmierbar ist.
Wenn Sie etwas benötigen, das hier nicht zu finden ist, sollten Sie sich, wie bereits in der vorherigen Antwort erwähnt, zunächst die integrierten Dateien ansehen. Sie können sich einen Überblick darüber verschaffen, welche davon für Ihre Tastatur verwendet werden, indem Sie verwenden setxkbmap -print
. Von da an können Sie die importierten Definitionen dort nachschlagen, wo sich Ihre xkb
Dateien befinden. (Sofern Sie nicht NixOS verwenden, befinden sie sich wahrscheinlich an einem sinnvollen Ort, beispielsweise /usr/share/X11/xkb
unter Arch.)