Aggiunta di combinazioni di tasti di scelta rapida in due passaggi dalla riga di comando (14.04+)
L'aggiunta di collegamenti personalizzati dalla riga di comando può essere eseguita, ma è un po 'complicata; deve essere eseguito in pochi passaggi per associazione di tasti. D'altra parte, è piuttosto semplice e può benissimo essere copiato da script se in qualche modo vuoi farlo dalla riga di comando (era la domanda, giusto?).
Proprio come nella tua interfaccia (Impostazioni di sistema> "Tastiera"> "Scorciatoie"> "Scorciatoie personalizzate"), le scorciatoie da tastiera personalizzate vengono create dalla riga di comando in due passaggi:
crea il keybinding modificando (aggiungendo a-) l'elenco che viene restituito dal comando:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
L'elenco restituito è simile (se al momento fosse solo una scorciatoia):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
Applica l'elenco modificato con il comando:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(attenzione alle doppie virgolette)
NB Non è necessario dire che la menzione nell'elenco (ad es custom1
. custom2
) Dovrebbe essere unica. Se lo script, lo script dovrebbe impedire i duplicati. In questo caso l'elenco modificato dovrebbe apparire come ad esempio:
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
per aggiungere un keybinding: custom1
imposta le sue proprietà:
nome:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
comando:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
Combinazione di tasti (ad esempio <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>'
Informazioni utili sono disponibili qui
Script di esempio per impostare un nuovo collegamento personalizzato
Lo script seguente può essere utilizzato per impostare una nuova combinazione di tasti di scelta rapida dalla riga di comando. Può essere utilizzato con il comando (presupponendo che la combinazione di tasti sia disponibile):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
Un esempio:
Per impostare una combinazione di tasti di scelta rapida da aprire gedit
con la combinazione di tasti Alt+ 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
Il copione:
#!/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])
Come usare:
Incolla lo script in un file vuoto, salvalo come set_customshortcut.py
, eseguilo come spiegato sopra.
Alcune delle menzioni chiave maggiormente utilizzate (trovate sperimentalmente, esaminando le modifiche apportate dal modo GUI al valore di associazione):
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
eccetera.