Hinzufügen von Tastenkombinationen in zwei Schritten über die Befehlszeile (14.04+)
Das Hinzufügen von benutzerdefinierten Verknüpfungen über die Befehlszeile ist zwar möglich, jedoch etwas kompliziert. Dies muss pro Tastenkombination in wenigen Schritten erfolgen. Auf der anderen Seite, es ist ziemlich einfach und sehr gut scripted werden kann , wenn man es irgendwie von der Kommandozeile tun will (das war die Frage, nicht wahr?).
Wie in Ihrer Benutzeroberfläche (Systemeinstellungen> "Tastatur"> "Kurzbefehle"> "Benutzerdefinierte Kurzbefehle") werden benutzerdefinierte Kurzbefehle in zwei Schritten über die Befehlszeile erstellt:
Erstellen Sie die Tastenkombination, indem Sie die vom Befehl zurückgegebene Liste bearbeiten (hinzufügen):
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
Die zurückgegebene Liste sieht wie folgt aus (wenn es derzeit nur eine Verknüpfung gibt):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
Wenden Sie die bearbeitete Liste mit dem folgenden Befehl an:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(Beachten Sie die doppelten Anführungszeichen)
NB überflüssig zu erwähnen , dass die Erwähnung in der Liste (zB custom1
, custom2
) sollte ein einzigartiger sein. Wenn Sie ein Skript erstellen, sollte das Skript Duplikate verhindern. In diesem Fall sollte die bearbeitete Liste wie folgt aussehen:
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
um eine Tastenkombination hinzuzufügen: custom1
Setze seine Eigenschaften:
Name:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
Befehl:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
Tastenkombination (zum Beispiel <Primary><Alt>g
):
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding '<key_combination>'
Nützliche Informationen finden Sie hier
Beispielskript zum Festlegen einer neuen benutzerdefinierten Verknüpfung
Mit dem folgenden Skript können Sie eine neue Tastenkombination über die Befehlszeile festlegen. Es kann mit dem Befehl verwendet werden (vorausgesetzt, die Tastenkombination ist verfügbar):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
Ein Beispiel:
So legen Sie fest, dass eine Tastenkombination gedit
mit der Tastenkombination Alt+ geöffnet wird 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
Das Drehbuch:
#!/usr/bin/env python3
import subprocess
import sys
# defining keys & strings to be used
key = "org.gnome.settings-daemon.plugins.media-keys custom-keybindings"
subkey1 = key.replace(" ", ".")[:-1]+":"
item_s = "/"+key.replace(" ", "/").replace(".", "/")+"/"
firstname = "custom"
# get the current list of custom shortcuts
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8")
array_str = get("gsettings get "+key)
# in case the array was empty, remove the annotation hints
command_result = array_str.lstrip("@as")
current = eval(command_result)
# make sure the additional keybinding mention is no duplicate
n = 1
while True:
new = item_s+firstname+str(n)+"/"
if new in current:
n = n+1
else:
break
# add the new keybinding to the list
current.append(new)
# create the shortcut, set the name, command and shortcut key
cmd0 = 'gsettings set '+key+' "'+str(current)+'"'
cmd1 = 'gsettings set '+subkey1+new+" name '"+sys.argv[1]+"'"
cmd2 = 'gsettings set '+subkey1+new+" command '"+sys.argv[2]+"'"
cmd3 = 'gsettings set '+subkey1+new+" binding '"+sys.argv[3]+"'"
for cmd in [cmd0, cmd1, cmd2, cmd3]:
subprocess.call(["/bin/bash", "-c", cmd])
Wie benutzt man:
Fügen Sie das Skript in eine leere Datei ein, speichern Sie es unter set_customshortcut.py
und führen Sie es wie oben beschrieben aus.
Einige der am häufigsten verwendeten Schlüsselerwähnungen (experimentell gefunden, unter Berücksichtigung der Änderungen, die die grafische Benutzeroberfläche an dem Bindungswert vorgenommen hat):
Super key: <Super>
Control key: <Primary> or <Control>
Alt key: <Alt>
Shift key: <Shift>
numbers: 1 (just the number)
Spacebar: space
Slash key: slash
Asterisk key: asterisk (so it would need `<Shift>` as well)
Ampersand key: ampersand (so it would need <Shift> as well)
a few numpad keys:
Numpad divide key (`/`): KP_Divide
Numpad multiply (Asterisk):KP_Multiply
Numpad number key(s): KP_1
Numpad `-`: KP_Subtract
usw.