Tasten auf einer Tastatur bedingt vertauschen (Debian, X11, KDE Plasma)

Tasten auf einer Tastatur bedingt vertauschen (Debian, X11, KDE Plasma)

Ich habe dieses Tastaturlayout auf meinem Dell Latitude

Tastaturbelegung

Es nervt mich wirklich, dass die Tasten Homeund Endauf die zusammengesetzte Taste abgebildet sind . Ich habe es also geschafft, mit und mit Fnzu vertauschen, indem ich dies zu (eigentlich ist es eine deutsche Variante) hinzugefügt habe.PageUpHomePageDownEnd/usr/share/X11/xkb/symbols/de

xkb_symbols "basic" {
  ...
  key <HOME> {    [  Prior        ]   };
  key <PGUP> {    [  Home         ]   };
  key  <END> {    [  Next         ]   };
  key <PGDN> {    [  End          ]   };
  ...
}

Es funktioniert wie erwartet. Allerdings wechsle ich ziemlich häufig zwischen meinem Laptop im Originalzustand und meinem Schreibtisch mithilfe einer Dockingstation und einer vollwertigen Tastatur, wo dieser Hack nervt.

Manipulationen dieser xkb-Symboldateien erfordern einen Neustart (oder zumindest einen Neustart der Desktop-Umgebung). Gibt es eine Möglichkeit, das Verhalten zur Laufzeit umzuschalten? Vielleicht sogar automatisiert, wie ein Udev-Hook, der das USB-C-Dock erkennt?

Antwort1

Sie können zwischen den Layouts mit wechseln setxkbmap. Ich verwende beispielsweise das Dvorak-Layout. Ich habe Ihre Änderungen auf mein lokales Layout angewendet /usr/share/X11/xkb/symbols/deund zum deutschen Layout gewechselt:

setxkbmap de

Ich habe geprüft, ob PGUP als Home funktioniert. Das tut es. Dann bin ich wieder zu Dvorak gewechselt:

setxkbmap dvorak

Wenn Sie zwischen einem Originallayout und Ihrem benutzerdefinierten Layout wechseln möchten, ist es meiner Meinung nach am besten, die 4 Zeilen, die Sie in Ihrer Frage gezeigt haben, aus einer Originallayoutdatei zu entfernen deund eine neue benutzerdefinierte Layoutdatei zu erstellen, beispielsweise /usr/share/X11/xkb/symbols/de-modified mit den hinzugefügten Änderungen. Zum Wechseln zwischen den beiden Layouts ist kein Neustart und kein X-Neustart erforderlich:

setxkbmap de # PGUP wouldn't work as home
setxkbmap de-modified # PGUP would work as home

verwandte Informationen