Ich verwende Linux auf einem Macbook mit einer UK / GB-Tastatur und passe die Tastaturbelegung an, um einige Probleme zu lösen, die durch das seltsame Tastaturlayout von Apple verursacht werden. Ich xmodmap
mache das immer. Ich würde es gerne mit Wayland versuchen, aber das xmodmap
funktioniert nicht. Wie kann ich in Wayland ein ähnliches Ergebnis erzielen? Die von .Xmodmap
mir verwendete Datei enthält Folgendes:
keycode 12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock
Zeile 1: Auf britischen Tastaturen Shift- 3ist £, daher hat # normalerweise einen eigenen Schlüssel in der Nähe Return. Aber auf dem Mac wird # mit Altgr- erhalten 3. Als Programmierer verwende ich # weit mehr als £, so dass diese Zeile sie vertauscht. Durch die Auswahl des US-Layouts wird dies ebenfalls erreicht. Unter Linux werden jedoch auch einige andere häufig verwendete Schlüssel ausgetauscht, während unter OS X diese anderen Schlüssel von US / UK nicht betroffen sind.
Zeile 2-5: Lässt die rechte CmdTaste als rechte Taste fungieren Ctrl, da diese Tastatur keine physische rechte CtrlTaste hat.
Zeile 6: Funktioniert CapsLocknur, wenn Sie mit drücken Shift. Nicht Mac-spezifisch, sollte dies eine Standardoption für alle Betriebssysteme und Tastaturen sein.
quelle
Antworten:
Leider ist das Ändern der XKB-Systemdatenbank
/usr/share/X11/xkb
die einzige Möglichkeit. Aus Ihrer anderen Frage geht hervor, dass Sie diesen Teil zum Laufen gebracht haben.Die Einschränkung ist hauptsächlich auf die Unreife von Wayland und eine Designüberprüfung in XKB zurückzuführen.
Tools mögen
setxkbmap
undxkbcomp
bieten eine-I
Option zum Hinzufügen einer benutzerdefinierten Datenbank zur Suche (z. B.~/.xkb
oder~/.config/xkb
mit Dateien und Unterverzeichnissen, die wie die Systemdatenbank angeordnet sind). Diese Tools interagieren mit dem X-Server. Daher können sie hilfreich sein, um dieXwayland
Kompatibilitätsebene für die Ausführung von X-Anwendungen unter Wayland zu konfigurieren . Gegenwärtig sprechen sie jedoch nicht die Wayland-Protokolle.Wayland-Protokolle reifen noch. Derzeit scheinen die Protokolle
input-method
undtext-input
am relevantesten zu sein, und beide sind instabil. Erwähnen Sie auch nichts über das Ändern einer definierten Tastaturbelegung. Diese Details bleiben dem Komponisten überlassen.Sowohl GNOME als auch KDE bieten Daemons für die Tastaturverwaltung, die die System-XKB-Optionen verwalten sollen, einschließlich Änderungen im laufenden Betrieb. Nach meinem besten Wissen gibt es auch keine Möglichkeit, Angaben zu Benutzeranpassungen zu machen. Nach meinem Kenntnisstand verlassen sich Weston und andere Compositors auf Konfigurationsdateien oder Umgebungsvariablen, um die XKB-Optionen beim Start festzulegen, und bieten keine andere Möglichkeit, sie zu ändern, als sie zu beenden und neu zu starten.
Selbst in XKB selbst wird dies nicht vollständig unterstützt. Ihre benutzerdefinierte Symboldatei kann
include
andere Systemsymboldateien enthalten. Derzeit gibt es jedoch keineinclude
Funktionen für XKB-Regeldateien. Selbst wenn Sie ein Tool hätten, das mit dem Wayland-Compositor kommuniziert und Ihre persönlichen Anpassungen nachschlägt, müssten Sie alle Regeln, die Sie verwenden möchten, manuell einfügen (dh kopieren)rules/evdev*
aus dem System XKB und ändern Sie es).libxkbcommon
hat ein offenes Problem zu diesem Thema und einen verwandten Fehler .quelle
.Xmodmap
.Ich habe dafür mit Erfolg Interception Tools für Linux verwendet und kenne Leute, die andere Plugins für ihre benutzerdefinierten Zuordnungen produzieren . caps2esc ist ein erstes Proof-of-Concept-Plugin, das ich jeden Tag verwende und das sowohl auf X als auch auf Wayland funktioniert. Das Tool ist etwas niedriger als die übliche Mapping-Software, aber ziemlich flexibel, und mein Plan für ein nächstes Plugin ist ein verallgemeinertes Chording-Mapping-Tool.
Haftungsausschluss: Ich bin der Autor.
quelle
Für diejenigen, die 2018 hierher kommen (Ubuntu 17.10), kann der kritischste Teil davon mit dem GNOME Tweak Tool erreicht werden.
Gnome Tweak Tool> Tastatur & Maus> Zusätzliche Layoutoptionen> Strg ist Win-Tasten (und den üblichen Strg-Tasten) zugeordnet.
quelle
gnome-tweaks-3.34.0-1.fc31.noarch
kann die Feststelltaste neu zuordnen - z. B. "Feststelltaste ist auch eine Strg-Taste", "Feststelltaste als zusätzliche Esc-Taste", "Feststelltaste als Strg-Taste" und viele mehr.Diese Antwort hat die gleiche Idee wie die Antwort von quickotic, nur mit einem genaueren Beispiel:
Gnome Tweaks haben eine Liste von 20 oder 30 Tastatur-Tweaks, die Sie über xkb ausführen können. Manchmal finden Sie die gewünschte Optimierung standardmäßig. In meinem Fall wollte ich die Drucktaste mit dem Menü tauschen.
Die einzige Möglichkeit, den über xkb verfügbaren printscr-Schlüssel zu ändern, bestand darin, ihn durch Win_R zu ersetzen. Gunnar Hjalmarsson zu diesem Thread schlug mir vor, die Änderungen von xkb so zu ändern, dass printscr / win_r stattdessen printscr / menu ausführt. Wir haben gemeinsam eine Lösung erarbeitet, die ich hier erneut übermitteln werde:
Geben Sie im Terminal Folgendes ein:
Am Ende der Datei finden Sie:
Löschen Sie diesen Abschnitt und ersetzen Sie ihn durch diesen:
Verwenden Sie zum Löschen in Nano die Rücktaste (Hervorheben und Löschen funktioniert nicht). Verwenden Sie zum Einfügen die Tastenkombination Umschalt-Strg-V. Zum Verlassen und Speichern drücken Sie Strg-x, wählen Sie Ja zum Überschreiben und drücken Sie die Eingabetaste.
Starten Sie neu. In Gnome / Ubuntu Gehen Sie zu den Gnome-Tweak-Tools. Gehen Sie in den Tweak-Tools zum Abschnitt Tastatur & Maus, klicken Sie auf die Schaltfläche Zusätzliche Layout-Optionen und erweitern Sie das Verhalten der Alt / Win-Taste. Auswählen der Option ganz unten: Win wird printscr zugeordnet (denken Sie daran, dass wir nur dieses Verhalten geändert haben, um print und Menu anstelle von print und Win auszutauschen). (Ich bin mir sicher, dass es eine Möglichkeit gibt, die modifizierte xkb-Option in KDE zu aktivieren, aber ich verwende sie nicht, daher kann ich Ihnen die genaue Vorgehensweise nicht nennen.)
quelle