कमांड लाइन से दो चरणों में शॉर्टकट कीबाइंडिंग जोड़ना (14.04+)
कमांड लाइन से कस्टम शॉर्टकट जोड़ना हो सकता है, लेकिन थोड़ा जटिल है; इसे कीबाइंडिंग के कुछ चरणों में किया जाना चाहिए। दूसरी ओर, यह है बिल्कुल स्पष्ट है और अगर आप किसी भी तरह कमांड लाइन (उस सवाल, सही था?) से करना चाहते हैं बहुत अच्छी तरह से पटकथा जा सकता है।
जैसे आपके इंटरफ़ेस (सिस्टम सेटिंग्स> "कीबोर्ड"> "शॉर्टकट"> "कस्टम शॉर्टकट"), कस्टम कीबोर्ड शॉर्टकट दो चरणों में कमांड लाइन से बनाए जाते हैं:
कमांड द्वारा दी गई सूची को संपादित करके (जोड़कर) सूची में कीबाइंडिंग बनाएँ:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
लौटी सूची इस तरह दिखती है (यदि वर्तमान में यह केवल एक शॉर्टकट थी):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
कमांड द्वारा संपादित सूची लागू करें:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(डबल कोट्स पर ध्यान दें)
एनबी को यह कहने की आवश्यकता नहीं है कि सूची में उल्लेख (उदाहरण custom1
के लिए custom2
) एक अद्वितीय होना चाहिए। यदि आप इसे स्क्रिप्ट करते हैं, तो स्क्रिप्ट को डुप्लिकेट को रोकना चाहिए। इस मामले में संपादित सूची उदाहरण की तरह दिखनी चाहिए:
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
एक कीबाइंडिंग जोड़ने के लिए: custom1
इसके गुण सेट करें:
नाम:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
आदेश:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
मुख्य संयोजन (उदाहरण के लिए <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>'
उपयोगी जानकारी यहाँ मिल सकती है
नया कस्टम शॉर्टकट सेट करने के लिए उदाहरण स्क्रिप्ट
नीचे दी गई स्क्रिप्ट का उपयोग कमांड लाइन से एक नया शॉर्टकट कुंजी संयोजन सेट करने के लिए किया जा सकता है। इसे कमांड के साथ प्रयोग किया जा सकता है (यह मानते हुए कि कुंजी संयोजन उपलब्ध है):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
एक उदाहरण:
gedit
कुंजी संयोजन Alt+ के साथ खोलने के लिए एक शॉर्टकट कुंजी संयोजन सेट करने के लिए 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
लिपी:
#!/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])
कैसे इस्तेमाल करे:
किसी खाली फ़ाइल में स्क्रिप्ट पेस्ट करें, इसे सहेजें set_customshortcut.py
, इसे ऊपर बताए अनुसार चलाएं।
मुख्य रूप से उपयोग किए जाने वाले कुछ मुख्य उल्लेख (प्रयोगात्मक रूप से, बाध्यकारी मूल्य में किए गए GUI तरीके में बदलाव को देखते हुए):
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
आदि।