Menambahkan keybindings pintas dalam dua langkah dari baris perintah (14.04+)
Menambahkan pintasan khusus dari baris perintah dapat dilakukan, tetapi agak rumit; itu perlu dilakukan dalam beberapa langkah per keybinding. Di sisi lain, itu adalah cukup sederhana dan dapat sangat baik scripted jika Anda entah bagaimana ingin melakukannya dari baris perintah (yang adalah pertanyaan, kan?).
Sama seperti di antarmuka Anda (Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus"), pintasan keyboard khusus dibuat dari baris perintah dalam dua langkah:
buat keybinding dengan mengedit (menambahkan ke-) daftar yang dikembalikan oleh perintah:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
Daftar yang dikembalikan terlihat seperti (jika saat ini hanya satu pintasan):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
Terapkan daftar yang diedit dengan perintah:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(keberatan kutip ganda)
NB Tidak perlu mengatakan bahwa penyebutan dalam daftar (misalnya custom1
, custom2
) harus unik. Jika Anda skrip, skrip harus mencegah duplikat. Dalam hal ini daftar yang diedit akan terlihat seperti misalnya:
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
untuk menambahkan satu keybinding: custom1
atur propertinya:
nama:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
perintah:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
Kombinasi tombol (misalnya <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>'
Informasi yang berguna dapat ditemukan di sini
Contoh skrip untuk menetapkan pintasan khusus baru
Script di bawah ini dapat digunakan untuk mengatur kombinasi tombol jalan pintas baru dari baris perintah. Ini dapat digunakan dengan perintah (dengan asumsi kombinasi tombol tersedia):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
Sebuah contoh:
Untuk mengatur kombinasi tombol cara pintas agar terbuka gedit
dengan kombinasi tombol Alt+ 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
Naskah:
#!/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])
Cara Penggunaan:
Rekatkan skrip ke file kosong, simpan sebagai set_customshortcut.py
, jalankan seperti dijelaskan di atas.
Beberapa kunci kunci yang paling banyak digunakan (ditemukan secara eksperimental, melihat ke dalam perubahan cara GUI dibuat menjadi nilai yang mengikat):
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
dll.