Weisen Sie einer Aktion mehrere Tastaturkürzel zu


15

Ich habe mich gefragt, wie ich mehreren Tastaturkürzeln die gleiche Aktion zuweisen kann. Insbesondere möchte ich in der Lage sein, die Lautstärke sowohl mit den Headset-Tasten als auch mit der Tastatur zu ändern.

Ich kann die Lautstärke mit jeweils nur einem ändern: mit dem, den ich in der Anwendung 'Tastaturkürzel' definiert habe. Gibt es irgendeinen Weg?


Antworten:


4

Ich mache genau das mit benutzerdefinierten Verknüpfungen :

Screenshot der Einstellungen für Tastaturkürzel

Ich benutze xdotool key --clearmodifiers XF86AudioLowerVolume(und XF86AudioRaiseVolume) Befehl anstelle von amixer set 'Master' 10%+. Der einzige Unterschied / Nachteil, den ich bemerke, ist, dass sogar die Option "Tastenwiederholung beim Tippen" aktiviert ist. Dies gilt nicht für diese benutzerdefinierte Verknüpfung.

Ich war jedoch nicht in der Lage, die gleichen Aktionen wie das Ausschalten des Bildschirms mit Fn+ F7durchzuführen ( xset dpms force standby). Es wird nicht als Verknüpfungsereignis erkannt.


4

Sie können mehrere Tastenkombinationen (Tastenkombinationen) für denselben Befehl über die gsettingsBefehlszeile zuweisen .

Es ist wichtig zu wissen, dass die Ubuntu 18.04-Einstellungs-GUI nur die erste Tastenzuordnung für einen Befehl anzeigt. Wenn Sie also mehrere Tastenzuordnungen für einen Befehl haben, werden die anderen nicht in den Einstellungen angezeigt. Sie können gsettingsalle Tastenkombinationen verwenden.

Angenommen, ich möchte eine weitere Tastenkombination für "Zu Arbeitsbereich 1 wechseln" hinzufügen. Die Standardeinstellung für mich war Super+Home, aber ich möchte eine zweite Tastenkombination hinzufügen Ctrl+1.

# list all keybindings
gsettings list-recursively | grep -e org.gnome.desktop.wm.keybindings -e org.gnome.settings-daemon.plugins.media-keys -e org.gnome.settings-daemon.plugins.power | sort 

# confirm no other keybinding conflicts
gsettings list-recursively | grep '<Control>1'

# set multiple keybindings for "Switch to Workspace 1"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>Home', '<Control>1']"

# confirm value is set correctly
gsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-1

Jetzt können Sie entweder verwenden Super+Home oder Control+1zum Wechseln in den Arbeitsbereich 1 verwenden. Denken Sie daran, dass Sie nur den ersten Super+Homein der Einstellungs-GUI sehen, aber es wird funktionieren!


1
Dies funktioniert nur mit den Fenstermanager-Hotkeys, nicht mit den Medientasten, nach denen der Benutzer gesucht hat. Leider akzeptieren Media-Keys nur Strings, keine Arrays.
Hackel

3

Sie könnten wahrscheinlich xmodmap verwenden, um die Tasten Ihres Headsets den gleichen Tasten zuzuweisen, die Sie für Ihre Tastatur verwenden.


Ja, aber jetzt muss ich in der Anwendung für Tastaturkürzel wissen, wie die Standardaktion zum Erhöhen / Verringern der Lautstärke lautet. Denn wenn ich meinen eigenen Befehl 'amixer channel set opt' verwende, wird die MBO-Soundkarte angehoben / abgesenkt, während ich mit meinem Headset höre.
ksemeks

1
@ksemeks: Die Aktionen sind: Erhöhen amixer set Master 10%+der Lautstärke amixer set Master 10%-, um die Lautstärke zu verringern. Um die Anzeige Benachrichtigung zu erhalten, könnten Sie verwenden notify-send, aber ich bin nicht sicher, wie Sie die Anzeige einstellen
danjjl

@danjjl: Nun, aus diesem Grund versuche ich, die genaue Einstellung der Lautstärke zu finden. Gehen Sie dazu zu Setting-> Keyboard-> Shortcuts
ksemeks,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.