Xfce4: Zuweisen eigener Shortcuts

Ich habe eine neue Tastatur angeschlossen, mit der die bisherigen Funktionstasten für die Tonsteuerung (lauter, leiser etc.) nicht mehr funktionierte, weil das Layout anders war. Um das anzupassen, gibt es in Xfce (hier Xububtu 22.04) in den Einstellungen den Punkt „Tastatur“ und darin den Tab „Tastenkürzel für Anwendungen“. Hiermit weist man einem beliebigen Befehl eine nahezu beliebige Taste (Shortcut) zu. Bedingung ist natürlich, dass diese Taste noch keine andere Funktion hat und natürlich auch nicht nur ein einfacher Buchstabe ist. Man wird aber auf Konflikte hingewiesen oder kann solche Kombinationen gar nicht erst eingeben.

Infrage kommen damit ungenutzte Kombinationen mit Ctrl (Strg), Shift (Umsch), Alt, AltGr und besonders der üblicherweise vorhandenen Win(dows)-Taste oder ihrem Equivalent auf Mac-Tastaturen.

Es ist also möglich, zum Beispiel mit „Win + F“ und dem Befehl „firefox“ den Browser zu starten. Das ist trivial. Natürlich gilt das auch für alle möglichen anderen Funktionalitäten.

Was aber, wenn eine Systemfunktion wie „Lautstärke erhöhen“ angeschoben werden soll? Die wird bei einer Standard-Tastatur uber den symbolischen Keycode „XF86AudioRaiseVolume“ bewirkt, was aber nicht als Befehl dargestellt werden kann.

Abhilfe schafft hier eine Hilfsfunktion namens xdotool, die normalerweise nicht als Standard installiert ist. Das kann man aber leicht nachholen mit

sudo apt install xdotool

Dann kann man in der obigen Tastaturfunktion folgendes zum Beispiel für alle Lautstärkefunktionen folgendes schreiben (die Bezeichnungen dürften sich selbst erklären, oder?):

xdotool key XF86AudioPlay
xdotool key XF86AudioNext
xdotool key XF86AudioPause
xdotool key XF86AudioPlay
xdotool key XF86AudioPrev

xdotool key XF86AudioRaiseVolume
xdotool key XF86AudioLowerVolume
xdotool key XF86AudioMute
xdotool key XF86AudioMicMute

Die verknüpften Tasten findet man auf allen Tastaturen mit Multimediatasten oder man muss sich eben sinnvolle, merkbare Kombinationen ausdenken.

Alle Multimedia-Keyboardsymbole:
https://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols

Idee für diesen Beitrag:
https://wiki.archlinux.org/title/Xbindkeys#Audio_control

In Ubuntu mittlere Maustaste emulieren

Ich benutze am PC mit derzeit Ubuntu 18 eine Tastatur TK820 (wird wohl leider nicht mehr produziert) von Logitech mit großem Touchpad (das Folgende gilt sicher auch für die K400). Das hat zwei „Maustasten“ in den unteren Ecken (bei K400 richtige Tasten).

Bei allen (?) U**x-Systemen kann man eine einfache Technik für drag-and-drop in Konsolen oder anderen Texteingaben anwenden: Man markiert mit der linken Maustaste einen Text in Browsern, Shells, vielen Editoren und kann dann diesen Ausschnitt woanders mit der linken Maustaste ablegen. Das funktioniert nicht immer, abhängig von der Technologie der Programme. In Shellfenstern klappt das immer und ist gerade für die schnelle Arbeit mit Kommandozeilen sehr hilfreich.

Die genannten Keyboards haben aber eben keine mittlere Maustaste! Mein Ziel war also, diese Taste irgendwie im normalen Tastenfeld zu emulieren. So gehts:

Man nehme die in Ubuntu vorhandene „Einstellung > Tastatur > Tastenkürzel für Anwendungen“ und erzeugt einen neuen Eintrag („Hinzufügen“). In „Befehl“ schreibt man „xdotool click 2″ und drückt dann nach Aufforderung die Taste oder Kombination, die man gern hätte und sonst nicht braucht. Beim meinem PC ist das „altgr-strg“ rechts von der Leertaste, bei meinem Laptop die sonst zu nichts zu gebrauchende Menütaste ebendort.

Fertig. Ich arbeite schon lange ohne echte Maus, um den Arm zu schonen und nutze diese Möglichkeit ohne hinzusehen.

Nachtrag 1: In eine Shell kann man den auf diese Weise kopierten Text nicht ohne weiteres mit „altgr-strg“ einfügen – dachte ich bisher. Zufällig habe ich entdeckt, dass das zusammen mit shift doch geht! Damit ist diese Lösung ein vollwertiger Maus-Ersatz :-).

Nachtrag 2: xdotool ist möglicherweise nicht vorhanden und somit erst noch zu installieren (sudo apt install xdotool).

Nachtrag 3: Um den erzeugten Tastencode eines Eingabegerätes (also nicht nur der Maus) in einer Shell anzuzeigen, benutze ich das Tool evtest (Event-Test), das als root aufzurufen ist. Es kommt eine Liste der möglichen Eingabegeräte mit einer Gerätebezeichnung wie „/dev/input/event4: Telink 2.4G Mouse“ und der Aufforderung, die lufende Nummer (hier: 4) anzugeben. Dann kann man fröhlich klicken und bekommt eine Menge Parameter. Ausprobieren!