उबंटू अपने कीबोर्ड शॉर्टकट कॉन्फ़िगरेशन को कहाँ संग्रहीत करता है?


34

क्या "उबंटू" में एक जगह है जो कुंजी / संयोजन / शॉर्टकट की एक पूरी सूची को संग्रहीत करती है जो कि क्या करने के लिए बाध्य है?

एकता के कीबोर्ड और माउस शॉर्टकट क्या हैं? डैश, लॉन्चर आदि के लिए कुछ "यूनिटी" शॉर्टकट्स की सूची बनाएं और उपयोग में कॉम्पिज़ कीबाइंडिंग्स को कैसे सूचीबद्ध करें? compiz bindings को सूचीबद्ध करने का एक तरीका दिखाता है, लेकिन मैं इससे अधिक की तलाश कर रहा हूं (न कि केवल कुछ कीबाइंडिंग जो केवल यूनिटी या Compiz तक सीमित हैं) हालांकि यह एक शुरुआत है।

क्या उपयोग में कुंजी बाइंडिंग / कुंजी संयोजन / कीबोर्ड शॉर्टकट की एक वैश्विक सूची है, जो उबंटू में कहीं संग्रहीत है या उन्हें संकलित करने और सूचीबद्ध करने का एक तरीका है? एक जो उबंटू पर लागू होता है और उसमें चलने वाली चीजें (एकता, कॉम्पिज़, शॉर्टकट्स टू प्रोग्राम्स इत्यादि)।

निश्चित रूप से, उबंटू को कीबोर्ड पर दबाए जाने वाले कुंजी संयोजन के लिए इसे कहीं स्टोर करना होगा ताकि इसे इसके साथ जोड़ा जा सके? यदि उबंटू में ऐसी कोई जगह नहीं है, तो उत्तर के रूप में पोस्ट करें, इसलिए भविष्य के उपयोगकर्ता, वह खोज, पता चल जाएगा।


1
ठीक है, मैंने इसे कम डुप्लिकेट-वाई
जॉर्ज कास्त्रो

अब तक के दो उत्तरों से घटनाओं के दो परस्पर विरोधी क्रम सामने आए हैं। Lakritsbollar ने कहा कि विंडो मैनेजर को पहले नियंत्रण मिलता है और फिर इसे अनुप्रयोगों के लिए नीचे दिया जाता है, nfirvine ने कहा कि अनुप्रयोगों को पहले इस पर दरार मिलती है और फिर इसे विंडो प्रबंधक के पास भेज दिया जाता है। कौन सा रास्ता है?
जेम्स

कुछ और शॉर्टकट डिटेक्टर-
जेम्स

जवाबों:


10

आपके विंडो प्रबंधक को एप्लिकेशन करने से पहले कोई भी महत्वपूर्ण ईवेंट मिलता है, इसलिए यदि वह उन ईवेंट का उपभोग करना चाहता है, तो वह ऐसा करता है और आपके एप्लिकेशन उन्हें कभी प्राप्त नहीं करेंगे। यदि विंडो प्रबंधक प्रमुख घटनाओं पर स्वयं प्रतिक्रिया नहीं करना चाहता है, तो यह उन्हें एप्लिकेशन में भेज देता है।

आप निम्न तरीके से इसे स्वयं सत्यापित कर सकते हैं:

  1. एक टर्मिनल शुरू करें।
  2. प्रारंभ xev | grep KeyPress , एक्स इवेंट व्यूअर।
  3. प्रेस Alt, ध्यान दें किxev यह दर्शाता है कि इसकी टर्मिनल विंडो में इसे महत्वपूर्ण घटना मिली।
  4. प्रेस Ctrl, फिर से ध्यान देंxev घटना मिल गई। टर्मिनल विंडो अभी कैसी दिखती है, इस पर ध्यान दें।
  5. दबाएँ Left arrowदूसरे कार्यक्षेत्र में जाने के लिए । (मुझे लगता है कि तुम एक खिड़की प्रबंधक शॉर्टकट कुंजी के रूप में है)
  6. Right arrowजहाँ आप चल रहे हैं, वहाँ वापस जाने के लिए दबाएँ xev। ध्यान दें कि आपके द्वारा कार्यस्थानों को बाएँ और दाएँ तीर कुंजियों के माध्यम से स्विच करने के लिए इसे कभी भी कोई महत्वपूर्ण घटना नहीं मिली - आउटपुट वैसा ही है जैसा कि चरण 4 में था।

तो आप देखते हैं कि व्यवहार में विंडो प्रबंधक को सभी महत्वपूर्ण घटनाएं मिलती हैं और यदि यह उन्हें कैप्चर नहीं करना चाहता है, तो यह उन्हें एप्लिकेशन में भेज देता है। तब एप्लिकेशन को अपने स्वयं के विजेट के लिए भी ऐसा ही करने को मिलता है (जैसे कि आप Enterअपने वेब ब्राउज़र में पूरे दिन कैसे दबा सकते हैं लेकिन यह तब तक कुछ नहीं करेगा जब तक आप एड्रेस बार या कुछ फ़ील्ड में कर्सर नहीं डालते हैं जहां आप टेक्स्ट दर्ज कर सकते हैं) ।

यह अपने स्वयं के शॉर्टकट सेट करने के लिए एप्लिकेशन पर निर्भर है, और एप्लिकेशन एक दूसरे से स्वतंत्र रूप से कॉन्फ़िगर किए गए हैं।

KDE 3.x में, यदि मुझे सही से याद है, तो आप Ctrl-sकेडीई नियंत्रण केंद्र में डिफ़ॉल्ट शॉर्टकट (जैसे सेव के लिए) सेट कर सकते हैं और यह Qt टूलकिट के साथ लिखे गए सभी अनुप्रयोगों पर लागू होगा, लेकिन मुझे नहीं पता कि क्या यह अभी भी संभव है केडीई 4 में उनके स्विच के बाद से।


यह 100% उत्तर नहीं है, लेकिन यह करीब है। मूल रूप से कोई केंद्रीय स्थान नहीं है जहां कीबोर्ड बाइंडिंग / शॉर्टकट संग्रहीत किए जाते हैं। विंडो मैनेजर को पहले कुंजी प्रेस और फिर सक्रिय अनुप्रयोगों में क्रैक मिलता है। फोकस भी एक भूमिका निभाता है।
जेम्स

20

Ubuntu 17.10 के बाद से

इस रास्ते पर :

dconf dump /org/gnome/desktop/wm/keybindings/
dconf dump /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/  # Custom

आप dconf-editor(GUI) या gsettings(CLI) का भी उपयोग कर सकते हैं ।

Ubuntu 12.10-17.04 के बाद से

~/.config/dconf/user(dconf- संपादक में: org.gnome.settings-daemon.plugins.media-keys.custom-keybindings(कस्टम शॉर्टकट)

~/.config/compiz-1/compizconfig

उबंटू 12.04 तक

शॉर्टकट को अलग-अलग विच डेस्कटॉप पर निर्भर किया जाता है जिसका आप उपयोग कर रहे हैं (सूक्ति / एकता, केडी, xfce, lxde, आदि)।

सूक्ति के लिए, वे
~/.gconf/desktop/gnome/keybindings(कस्टम शॉर्टकट) के अंतर्गत हैं

और के तहत
~/.gconf/apps/metacity


11.10 GNOME या Metacity का उपयोग नहीं करता है।
nfirvine 3

लेकिन शॉर्टकट का रास्ता अभी भी काम करता है क्योंकि मैं इसका उपयोग करता हूं।
desgua

जब एक ताजा मैकबुक पर 11.10 ubuntu को स्थापित किया गया, तो पहले स्थान पर कीबाइंडिंग फ़ाइल नहीं थी, लेकिन दूसरे स्थान पर यह थी:general/ global_keybindings/ window_keybindings/
विक्टर एस

1
पहला स्थान कस्टम शॉर्टकट के लिए है।
देसगुआ

1
@AnonymousPlatypus निर्देशों के लिए यहाँ देखेंgsettings
wjandrea

4

नहीं, कोई एकल स्थान नहीं है जहां सभी शॉर्टकट संग्रहीत किए जाते हैं। आवेदन जहां भी वे चुनते हैं, उनके कॉन्फ़िगरेशन को संग्रहीत करने का विकल्प चुन सकते हैं।

उसने कहा, आप ज्यादातर दो स्तरों को देख रहे हैं: एप्लिकेशन स्तर (जैसे फ़ायरफ़ॉक्स में कॉपी के लिए Ctrl-C), और विंडो प्रबंधक स्तर (जैसे डेस्कटॉप दिखाने के लिए Win + D)। Compiz अपने कॉन्फ़िगरेशन को संग्रहीत करने के लिए gconf का उपयोग करता है

अनुप्रयोगों के लिए, आप उन्हें अपने टूलकिट द्वारा लगभग विभाजित कर सकते हैं। अर्थात्, जीटीके ऐप gconf का भी उपयोग करते हैं।

निश्चित रूप से, उबंटू को कीबोर्ड पर दबाए जाने वाले कुंजी संयोजन के लिए इसे कहीं स्टोर करना होगा ताकि इसे इसके साथ जोड़ा जा सके?

काफी नहीं। फोकस्ड एप्लिकेशन को एक एक्स कीबोर्ड इवेंट में पहले किक मिलती है, लेकिन अगर ऐसा नहीं होता है, तो यह अन्य एप्लिकेशन तक पहुंच जाता है, अर्थात विंडो मैनेजर। इस प्रकार, आपके पास एक गेम हो सकता है जो Alt + F4 को कैप्चर करता है और विंडो को बंद नहीं करता है (लानत है आप, जेमस्टाइल)। मुझे लगता है कि आप सोच रहे हैं कि यह किसी केंद्रीय इवेंट राउटर के पास जाता है, फिर कुछ डेटाबेस के खिलाफ मिलान किया जाता है, और अपने गंतव्य पर पहुंच जाता है। यह पेय की बोतल को इधर-उधर से गुजारने की तरह है: पास, यदि आप चाहें तो एक स्वाइप लें और बाकी को पास करें, या पूरी चीज लें और लालची बनें।

Linux / FOSS वातावरण (आपने देखा हो सकता है) बहुत ही लोकतांत्रिक है, और सभी अनुप्रयोगों को एक ही केंद्रीय कीबोर्ड कॉन्फ़िगरेशन रिपॉजिटरी पर सहमत होने के लिए प्राप्त करना एक मूर्खतापूर्ण कार्य है। एक बात के लिए, आपको ऐसे एप्लिकेशन प्राप्त नहीं हुए हैं जो बहुत पहले लिखे गए थे और इसके बारे में नहीं जानते होंगे।

अद्यतन: इस विषय पर Xlib डॉक्स के अनुसार :

स्रोत विंडो से शुरू होकर, X सर्वर विंडो पदानुक्रम की खोज करता है जब तक कि वह इन घटनाओं में रुचि रखने वाले ग्राहक द्वारा निर्दिष्ट पहली विंडो का पता नहीं लगाता है। यदि हस्तक्षेप करने वाली खिड़कियों में से एक में घटना के प्रकार को प्रतिबंधित करने के लिए अपना डू-न-प्रोपेगेट-मास्क सेट है, तो उन प्रकार की घटनाओं को दबा दिया जाएगा।

इसके अलावा,

KeyPress, KeyRelease, ButtonPress और ButtonRelease ईवेंट प्राप्त करने के लिए, KeyPressMask, KeyReleaseMask, ButtonPressMask और ButtonReleaseMask बिट्स को विंडो के ईवेंट-मास्क विशेषता में सेट करें।

और आप प्रसार को अक्षम करने के लिए एक विशेषता सेट कर सकते हैं

समस्या यह है कि, आप X को यह नहीं बताते कि किस कुंजी को सुनना है, इसलिए आप कभी भी प्राथमिकता नहीं बता सकते हैं कि आवेदन किन कुंजियों के लिए सुनता है (अकेले वे क्या करते हैं) या वास्तव में क्या वे इसे प्रचारित करने का इरादा रखते हैं यदि वे वास्तव में हैं इसके लिए सुनना। इस प्रकार, एक्स स्तर पर एक केंद्रीय रजिस्ट्री असंभव है, इसलिए आपको इसे टूलकिट स्तर पर करना होगा, जो केवल व्यावहारिक रूप से असंभव है। : डी


मैं बहुत अधिक एक ही निष्कर्ष पर आया हूं, यह ध्यान केंद्रित करता है कि इनपुट क्या संभालता है। ब्राउज़र विंडो खोलकर ऐसा देखा जा सकता है, फिर टर्मिनल विंडो खोलना जो अब सक्रिय विंडो बन जाती है। यदि आप ब्राउज़र विंडो पर माउस पकड़ते हैं तो स्क्रॉल व्हील का उपयोग करें यह ब्राउज़र विंडो को स्क्रॉल करेगा भले ही टर्मिनल विंडो सक्रिय विंडो हो।
जेम्स

मैंने अपने प्रश्न के आसान उत्तर की उम्मीद की थी, या कम से कम शॉर्टकट्स को संकलित करने और सूचीबद्ध करने का एक आसान तरीका था, लेकिन यह संभव नहीं लगता है कि जिस तरह से उन्हें परिभाषित किया गया है, उसके लिए अंततः कुंजी दबाएं। कीबोर्ड शॉर्टकट / कीबाइंडिंग सभी जगह फैले हुए लगते हैं और उनका उपयोग इस बात पर निर्भर करता है कि सक्रिय क्या है और वर्तमान फोकस कहां है।
जेम्स

1
हालाँकि, मैं आपके साथ विंडो मैनेजर के सामने महत्वपूर्ण घटना के आवेदन पर नहीं हूँ। मुझे लगता है कि विंडो मैनेजर ने पहले इवेंट और फिर सक्रिय एप्लिकेशन में दरार की है।
जेम्स

1

एप्लिकेशन अपने शॉर्टकट को स्वतंत्र रूप से संग्रहीत करते हैं, इसलिए कोई केंद्रीय स्थान नहीं है, जहां वे संग्रहीत हैं।

मुझे इंटरेक्शन कीबोर्ड की पूरी प्रक्रिया समझ में नहीं आती है - OS - कर्नेल - X11 - विंडो मैनेजर - डेस्कटॉप एनवायरनमेंट - एप्लिकेशन, लेकिन अगर एक निश्चित विंडो, जैसे Gedit, में कीबोर्ड फोकस है, तो यह हैंडल हो सकता है अपने दम पर इनपुट, और यह ऐसा करता है।


-1

11.10 में, सिस्टम कॉन्फ़िगरेशन के तहत -> कीबोर्ड -> शॉर्टकट आपको उनमें से एक बहुत बड़ी सूची मिलती है। क्या यह वही है जिसको आप ढूंढ रहें थे।


वह उस फ़ाइल की तलाश में है जिसमें सभी शॉर्टकट हैं, न कि केवल उनकी सूची।
मार्क O'Sullivan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.