Thêm các phím tắt trong hai bước từ dòng lệnh (14.04+)
Thêm phím tắt tùy chỉnh từ dòng lệnh có thể được thực hiện, nhưng hơi phức tạp; nó cần được thực hiện trong một vài bước cho mỗi lần gõ phím. Mặt khác, nó là khá đơn giản và rất tốt có thể được kịch bản nếu bạn nào đó muốn làm điều đó từ dòng lệnh (đó là câu hỏi, phải không?).
Giống như trong giao diện của bạn (Cài đặt hệ thống> "Bàn phím"> "Phím tắt"> "Phím tắt tùy chỉnh"), các phím tắt tùy chỉnh được tạo từ dòng lệnh theo hai bước:
tạo keybinding bằng cách chỉnh sửa (thêm vào-) danh sách được trả về bởi lệnh:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
Danh sách trả về trông giống như (nếu hiện tại chỉ có một phím tắt):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
Áp dụng danh sách đã chỉnh sửa bằng lệnh:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(nhớ các trích dẫn kép)
NB Không cần phải nói rằng đề cập đến trong danh sách (ví dụ custom1
, custom2
) nên một độc đáo. Nếu bạn kịch bản nó, kịch bản sẽ ngăn chặn trùng lặp. Trong trường hợp này, danh sách được chỉnh sửa sẽ trông giống như:
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
để thêm một liên kết phím: custom1
đặt thuộc tính của nó:
Tên:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
chỉ huy:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
Tổ hợp phím (ví dụ <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>'
Thông tin hữu ích có thể được tìm thấy ở đây
Tập lệnh mẫu để đặt lối tắt tùy chỉnh mới
Tập lệnh bên dưới có thể được sử dụng để đặt tổ hợp phím tắt mới từ dòng lệnh. Nó có thể được sử dụng với lệnh (giả sử có tổ hợp phím có sẵn):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
Một ví dụ:
Để đặt tổ hợp phím tắt để mở gedit
bằng tổ hợp phím Alt+ 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
Kịch bản:
#!/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])
Cách sử dụng:
Dán tập lệnh vào một tập tin trống, lưu nó dưới dạng set_customshortcut.py
, chạy nó như được giải thích ở trên.
Một số đề cập chính được sử dụng nhiều nhất (được tìm thấy bằng thực nghiệm, xem xét các thay đổi theo cách GUI được thực hiện thành giá trị ràng buộc):
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
Vân vân.