मैं कैसे बदल सकता हूं कि मेरे कीबोर्ड पर क्या कुंजी हैं? (मैं कस्टम कीबोर्ड कमांड / शॉर्टकट कैसे बना सकता हूं?)


131

मैं अपने कीबोर्ड की कुछ कुंजियों पर कुंजी बाइंडिंग बदलना चाहता हूं। मैं चाहता हूं कि कुछ कमांड और अन्य को अलग-अलग कुंजी सक्रिय करने के लिए चलाएं।

इसे करने के लिए मैं किन अनुप्रयोगों का उपयोग कर सकता हूं?


सूचकांक:


मैं अभी भी dconf और किसी भी अन्य विधि का उपयोग करके उत्तर ढूंढ रहा हूं।


क्या शायद xmacro इस उत्तर में है? यह "एक्स / डिस्प्ले में कीस्ट्रोक्स और माउस आंदोलनों को रिकॉर्ड / प्ले कर सकता है"।
रोडम

अगर मैं इसे कस्टम कीबोर्ड शॉर्टकट बनाने के लिए उपयोग कर सकता हूं, तो हाँ!
सेठ

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

@krumpelstiltskin वर्तमान में मैं एक माउस के ऐसे सटीक दोहराव को प्राप्त करने के किसी भी तरीके से अनजान हूं। मेरा सुझाव है कि आप एक नया प्रश्न पूछें। मैं अभी भी वहाँ जवाब कर सकते हैं अगर मैं यह पता लगा सकते हैं, या किसी और के लिए एक बेहतर जवाब :) हो सकता है
सेठ

1
यहाँ एक xkb-answer है: askubuntu.com/a/347382/354350
DJCrashdummy

जवाबों:


94

xbindkeys ..

sudo apt-get install xbindkeys

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

एक डिफ़ॉल्ट कॉन्फिग फ़ाइल बनाने के लिए आप कमांड का उपयोग करते हैं:

xbindkeys --defaults

जो डिफ़ॉल्ट कॉन्फिग फाइल को प्रिंट करता है। इसलिए यदि आप उस फ़ाइल को बनाना चाहते हैं जिसमें आपके द्वारा उपयोग किए जाने वाले डिफ़ॉल्ट मान हैं:

xbindkeys --defaults > $HOME/.xbindkeysrc

जो डिफ़ॉल्ट मानों को .xbindkeysrcघर में स्थित एक छिपी हुई फ़ाइल में प्रिंट करता है ( ~)।

अब वास्तव में कुंजियों के बाइंडिंग को बदलने के लिए हमें सबसे पहले यह जानना होगा कि उन कुंजियों का नाम या किसमिस क्या है। xbindkeysहमें -kकुंजी या कुंजी संयोजन का नाम खोजने के लिए हैंडल का उपयोग करने की अनुमति देता है । Daud:

xbindkeys -k

और एक कुंजी या कुंजी संयोजन दबाएं। आपका आउटपुट कुछ इसी तरह दिखेगा (दबाने पर space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"हमें बताता है कि वर्तमान में कोई भी कमांड Spaceकुंजी से जुड़ा नहीं है ।

m:0x10 + c:65
Mod2 + space  

कुंजी / कुंजी संयोजन का नाम है।

विन्यास फाइल ।।

पहले आपके द्वारा बनाई गई कॉन्फिग फ़ाइल को खोलने की सुविधा देता है:

gedit .xbindkeysrc  

डिफ़ॉल्ट डिफ़ॉल्ट फ़ाइल का एक अंश यहां दिया गया है:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

साथ शुरू होने वाली प्रत्येक पंक्ति #एक टिप्पणी है और इसे पढ़ा या इसके द्वारा नहीं चलाया जाएगा xbindkeys

अब तक केवल एक ही पंक्ति में टिप्पणी नहीं की गई है:

"xbindkeys_show" 
 control+shift + q  

यह अंश xbindkeysकमांड के मूल सिंटैक्स को दर्शाता है :

"Command to run (in quotes)"
key to associate with command (no quotes)  

जैसा कि आप देख सकते हैं:

"xbindkeys_show" 
 control+shift + q  

xbindkeys_showजब आप Ctrl+ Shift+ दबाते हैं , तो कमांड चलाता है q

आदेशों को बांधने की चाबी ।।

अब कुछ कुंजियों को बांधने का प्रयास करें। मैं संपूर्ण डिफ़ॉल्ट फ़ाइल को साफ़ करने की सलाह देता हूं ताकि यह रिक्त हो। इसमें प्रीसेट कुंजी बाइंडिंग है जो आप शायद नहीं चाहते हैं।

अब आप अपने ब्राउज़र को खोलने के लिए Ctrl+ bका उपयोग करना चाहते हैं । सबसे पहले आप को पता है कि नाम या जरूरत keysym की Ctrl+ bहै। जैसा कि पहले उल्लेख किया गया है कि आप xbindkeys -kएक कुंजी या कुंजी का नाम खोजने के लिए उपयोग कर सकते हैं , लेकिन एक आसान तरीका है। जैसे साधारण संयोजनों के लिए Ctrl+ bआप केवल उपयोग कर सकते हैं:

Control+b

बहुत आसान नहीं है!

अब अपने पसंदीदा ब्राउज़र के लिए कमांड खोजें:

  • फ़ायरफ़ॉक्स के लिए: firefox

  • क्रोमियम के लिए: chromium-browser

  • ओपेरा के लिए: opera

पहले से सिंटैक्स याद है? xbindkeysजब आप Ctrl+ दबाते हैं तो फ़ायरफ़ॉक्स (या आपके अन्य पसंदीदा ब्राउज़र) को लॉन्च करने का आदेश b:

"firefox"
Control+b

अब इसे अपनी config फाइल में डालें और इसे सेव करें। अब आप देख सकते हैं कि आपका आदेश अभी तक काम नहीं कर रहा है, ऐसा इसलिए xbindkeysहै क्योंकि यह नहीं चल रहा है। इसे शुरू करने के लिए बस xbindkeysएक टर्मिनल से चले । आपके Ctrl+ bको अब अपना ब्राउज़र शुरू करना चाहिए!

अन्य कुंजियों के लिए बाइंड कीज़ ।।

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

इसे स्थापित करो:

sudo apt-get install xautomation

इसके लिए वाक्य रचना xteइस प्रकार है:

xte 'command key/mousebutton/xyCoordinates'

उदाहरण:

  • एकल कुंजी प्रेस को कॉल करने के लिए: xte 'key keyName'

  • एक प्रमुख संयोजन को कॉल करने के लिए: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • माउस बटन को कॉल करने के लिए: xte 'mouseclick buttonNumber' (हम थोड़े बाद में बटन नंबर खोजने पर चर्चा करेंगे)

  • माउस को स्थानांतरित करने के लिए: xte 'mousemove xCoordinate yCoordinate'

  • और अधिक! पढ़नाman xte

अब जब आप कुंजी प्रेस का अनुकरण करने के लिए कमांड जानते हैं, तो आप इसे अपनी xbindkeysस्क्रिप्ट से कॉल कर सकते हैं , जैसे:

"xte 'key b'"
Control+b  

जैसा कि आप अनुमान लगा सकते हैं, यह xte 'key b'तब होता है जब हम Ctrl+ दबाते हैं b, जो bआपके द्वारा वर्तमान में काम किए जा रहे किसी भी दस्तावेज़ में प्रवेश करेगा ।

मैं फिर भी नोट करने के लिए बात यह है कि है xbindkeysऔर xteहमेशा एक साथ बहुत अच्छी तरह से काम नहीं करते। कभी-कभी आपको आउटपुट प्राप्त करने के लिए ठीक उसी समय चाबियों को दबाना पड़ता है, दूसरी बार यह ठीक काम करता है। यह सिस्टम कॉन्फ़िगरेशन और / या हार्डवेयर के साथ हो सकता है या नहीं हो सकता है .. मुझे यकीन नहीं है। अन्य कुंजियों के लिए बाइंडिंग कुंजियों के अधिक विश्वसनीय तरीके के लिए मैगॉटब्रेन का उत्तर देखें ।

माउस बटन को आज्ञाओं से बांधें ।।

आप xbindkeysमाउस बटन को कमांड (और कीबोर्ड कीबोर्ड शॉर्टकट, ऊपर देखें) को बांधने के लिए भी उपयोग कर सकते हैं । माउस बटन के लिए मूल प्रारूप आपको अभी परिचित होना चाहिए:

" [command to run]  "
b:n

[command to run]वह कमांड कहाँ है जिसे आप चलाना चाहते हैं और nमाउस बटन की संख्या जो आप उस कमांड के लिए उपयोग करना चाहते हैं।

यदि आपको अपने माउस बटन की संख्या का पता नहीं है, तो आप इसका xevपता लगाने के लिए उपयोग कर सकते हैं कि यह क्या है:

xev | grep button

आउटपुट कुछ इस तरह होगा:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

जब मैं अपने माउस के प्रत्येक बटन को दबाता हूं।

उदाहरण के लिए:

" firefox "
b:2

जब मैं अपना मध्य माउस बटन दबाता हूं तो फ़ायरफ़ॉक्स लॉन्च करता है।


क्या भाषा स्विच के लिए मेटा / सी / वी को कॉपी / पेस्ट और मेटा + स्पेस के लिए मैप करना xbindkeys के साथ संभव है?
सोनिक

वहाँ एक एकल कुंजी के लिए वर्णों के अनुक्रम को संलग्न करने का एक तरीका है, उदाहरण के लिए "समीकरण" को वॉल्यूम-अप कुंजी में संलग्न करें?
जेपी

55

Xev और xmodmap

मुख्य बाइंडिंग का उपयोग करके बदलना xevऔर xmodmap

दोनों कमांड लाइन एप्लिकेशन डिफ़ॉल्ट रूप से उपलब्ध हैं, इसलिए अतिरिक्त सॉफ़्टवेयर स्थापित करने की आवश्यकता नहीं है।

Xev "एक विंडो बनाता है और फिर X सर्वर से यह कहता है कि जब भी खिड़की पर कुछ घटित हो (तो जैसे उसे स्थानांतरित किया गया, आकार दिया गया, टाइप किया गया, क्लिक किया गया, आदि) उसे ईवेंट भेजने के लिए कहता है।" xev मैन पेज

xmodmap " एक प्रोग्राम है जिसका उपयोग कीबोर्ड मॉडिफ़ायर मैप और कीमैप टेबल को संपादित करने और प्रदर्शित करने के लिए किया जाता है जो कि क्लाइंट अनुप्रयोगों द्वारा इवेंट कीकोड को की-वर्ड में बदलने के लिए उपयोग किया जाता है।" xmodmap मैन पेज

निम्न उदाहरण Caps_Lockकुंजी के व्यवहार के लिए कुंजी को फिर से दबा देगा Esc(कई vi / vim उपयोगकर्ता इसे एक उपयोगी कीबोर्ड मैपिंग पाते हैं)।

Xev का उपयोग करना

xevटर्मिनल विंडो ( Ctrl- Alt- t) से एप्लिकेशन शुरू करें

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

  • प्रेस ESCकुंजी

टर्मिनल विंडो में, आप आउटपुट की कई लाइनें देखेंगे। 3 लाइन का नोट वापस करें। इसमें उस संपत्ति का नाम होगा जिसे आप दूसरी कुंजी पर ले जाना चाहते हैं।

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

इस स्थिति में, Escकुंजी (कीकोड 9) "एस्केप" नाम का उपयोग करता है ।

  • प्रेस Caps Lockकुंजी

इस बार हम कीकोड Caps Lockका उपयोग कर रहे हैं।

फिर से, तीसरी पंक्ति पर ध्यान दें:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Xmodmap का उपयोग करना

अब जब हमने उन कुंजियों की जानकारी प्राप्त कर ली है जिनसे हम बदलना चाहते हैं xev, तो हम xmodmapकीमैप को संशोधित करने के लिए उपयोग करेंगे । कमांड टर्मिनल ( Ctrl+ Alt+ t) से, निम्न कमांड चलाएँ:

  • यह आदेश Caps Lockसमान व्यवहार का उपयोग करने के लिए संशोधित करता हैEsc

    xmodmap -e "keycode 66 = Escape"
    
  • यह विकल्प फ़ाइल में अभिव्यक्तियों के रूप में एक कीमैप तालिका प्रिंट करता है ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

निम्नलिखित आदेश के साथ परिवर्तनों को सक्रिय करें (केवल इस सत्र के लिए):

xmodmap ~/.Xmodmap

रिबूट में लगातार परिवर्तन करना:

  • यदि यह मौजूद नहीं है, तो अपने घर के फोल्डर में एक फाइल बनाएं जिसे कहा जाता है .xinitrc

    touch .xinitrc
    
  • फ़ाइल में निम्न पंक्ति रखें और फ़ाइल को सहेजें:

    xmodmap ~/.Xmodmap
    

विभिन्न राज्य व्यवहारों के साथ चाबियाँ संशोधित करना

(जैसे Num Lock)

  • संशोधक कुंजियों के लिए कीमैप तालिका प्राप्त करें (आउटपुट संक्षिप्त यहां)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

यदि आप बदलना चाहते हैं, उदाहरण के लिए, संख्या कीपैड पर Del/ की पर व्यवहार की Periodसंख्या, अल्पविराम के लिए, निम्न क्रम का उपयोग करें:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

ध्यान दें कि यह mod2कुंजी व्यवहार को बदलने के लिए कीमैपिंग का उपयोग कर रहा है जब संशोधक Num Lockदबाया जाता है। इसके लिए वाक्य रचना है:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

संसाधन


2
+1! मेरे पास कोई ऑल-जीआर कुंजी के साथ एक कोरियाई कीबोर्ड एटीएम है, और मुझे इसकी आवश्यकता थी इसलिए इसे काम करने के लिए आपका उत्तर बहुत उपयोगी था। भविष्य के संदर्भ के लिए, और ऑल-जीआर कुंजी को सेट करने के लिए सबसे सरल नहीं है, यहां कमांड है (मैंने हंजा कुंजी का उपयोग किया है, जिसमें कोड 130 है): xmodmap -e "keycode 130 = ISO_Level3_Shite Multi_key ISO_Level3_Shift Multi_key"
शौतिह

43

डिफ़ॉल्ट रूप से (यह सेठ द्वारा उत्कृष्ट उत्तर को पूरक करने के लिए है), उबंटू (इस उदाहरण में मैं 16.04 का उपयोग कर रहा हूं) में 2 श्रेणियां हैं जो सिस्टम सेटिंग्स में डिफ़ॉल्ट रूप से आती हैं:

सिस्टम सेटिंग्स में जाने के लिए, गियर आइकन पर शीर्ष राइट क्लिक पर :

यहां छवि विवरण दर्ज करें

फिर सिस्टम सेटिंग्स चुनें :

यहां छवि विवरण दर्ज करें

यहां आपको 2 विकल्प मिलेंगे जो आपको शॉर्टकट क्रिएशन सेक्शन में भेज सकते हैं।

यहां छवि विवरण दर्ज करें

यदि आप पाठ प्रविष्टि का चयन करते हैं, तो आपको नीचे दाईं ओर कीबोर्ड सेटिंग्स लिंक का चयन करना होगा जो आपको सीधे शॉर्टकट विकल्पों में भेजेगा।

यहां छवि विवरण दर्ज करें

यदि आप कीबोर्ड विकल्प चुनते हैं, तो आपको शॉर्टकट टैब पर क्लिक करना होगा

यहां छवि विवरण दर्ज करें

शॉर्टकट टैब पर पहुंचने के बाद, आप बाईं ओर सूची के नीचे कस्टम शॉर्टकट का चयन करेंगे :

यहां छवि विवरण दर्ज करें

और फिर अपना बहुत ही छोटा शॉर्टकट बनाना शुरू करने के लिए नीचे दिए गए प्लस साइन पर क्लिक करें :

यहां छवि विवरण दर्ज करें

वहां से, यह सिर्फ आपके लिए शॉर्टकट का नाम जोड़ने का मामला है (शॉर्टकट के नाम को भ्रमित न करें, वास्तविक कमांड के नाम के लिए जिसे आप निष्पादित कर रहे हैं)। और नीचे, कमांड फ़ील्ड में, वह जगह है जहां आप इस शॉर्टकट के लिए क्या कमांड निष्पादित करेंगे। निम्नलिखित उदाहरण में मैंने यह जानने के लिए शॉर्टकट "सबलाइम टेक्स्ट 3" का नाम दिया कि उस विशिष्ट शॉर्टकट का क्या संबंध है। और कमांड क्षेत्र पर मैंने वास्तविक कमांड जोड़ा जो है subl

यहां छवि विवरण दर्ज करें

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

यहां छवि विवरण दर्ज करें

इसके बाद एक महत्वपूर्ण संयोजन को जोड़ने के लिए हम "अक्षम" संदेश पर क्लिक करेंगे:

यहां छवि विवरण दर्ज करें

इस भाग में, मैं SHIFT+ CTRL+ का मुख्य संयोजन प्रदान करता हूँ Sताकि जब मैं इस संयोजन को दबाऊँ तो यह उदात्त पाठ अनुप्रयोग को खोलता है।

यहां छवि विवरण दर्ज करें

जिसके बाद, आप संबंधित कुंजी संयोजन को दबाकर और ऐप को खोलकर अपने संयोजन का परीक्षण कर सकते हैं:

यहां छवि विवरण दर्ज करें

नोट: X सर्वर को मारने के लिए विशेष संयोजनों के लिए, मैं निम्नलिखित लिंक पर जाने का सुझाव देता हूं: मैं X सर्वर को मारने के लिए Ctrl-Alt-Backspace कैसे सक्षम करूं?


मैं 13.10 पर हूं और मेरे पास सिस्टम सेटिंग में यह 'टेक्स्ट एंट्री' आइकन बिल्कुल भी नहीं है। :(
wim

हाय विम आप एक छवि के लिए एक लिंक प्रदान कर सकते हैं जो आपके सिस्टम सेटिंग्स को दिखाता है।
लुइस अल्वारादो

2
अफसोस की बात है कि अब हम 15.04 पर हैं, यह जवाब एक गड़बड़ गड़बड़ है। कीबोर्ड लेआउट चला गया है, और इसके साथ एक्स सर्वर को मारने की क्षमता है। स्क्रीनशॉट पूर्व -13.04 (कौन परवाह करता है!) और बाद के स्क्रीनशॉट को मिलाते हैं, और किसी ने उन्हें गलत स्थान पर डाला है, इसलिए "नीचे दाईं ओर स्थित विकल्प पर क्लिक करें)" वास्तविक, अप्रचलित, स्क्रीनशॉट से बहुत दूर है। :-(
स्कीयरपेज

@skierpage यही कारण है कि मैंने यह उत्तर दिया: askubuntu.com/questions/367983/… उम्मीद है कि यह मदद करता है।
लुइस अल्वाराडो

If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...संस्करणों पर विकल्प बटन> 13.04 कहां है?
डायनासोर

21

पर जाएं सिस्टम सेटिंगKeboard , चयन शॉर्टकट टैब और अपने ब्राउज़र के लिए एक नया कस्टम शॉर्टकट जोड़ें। यदि आपका डिफ़ॉल्ट बफ़र फ़ायरफ़ॉक्स है, तो firefoxकमांड फ़ील्ड में उपयोग करें ; यदि आपका डिफ़ॉल्ट ब्रूज़र फ़ायरफ़ॉक्स है, तो उपयोग करें chromium-browser, और इसी तरह:

कस्टम शॉर्टकट जोड़ें


धन्यवाद। वास्तव में चाबियाँ सेट करने के बारे में कुछ ख़ासियतों के लिए मेरा अपना जवाब भी देखें। अगर मैं सही जगह पर होता तो भी मुझे पहली बार में ही पता चल जाता था।
माइकल डुरंट

2
लेकिन यह मेरे मामले में काम नहीं करता है। Ubuntu (किसी कारण के लिए) मुझे शॉर्टकट कुंजियाँ बिल्कुल सेट नहीं करने देगा! मैंने चरण 4 तक अनुसरण किया है (जैसा कि चित्र में दिखाया गया है)। क्या मुझे कुछ याद आ रहा है?
वैभव कौशल

2
मैं डुप्लिकेट प्रश्न पर उपलब्ध लोगों के लिए इस उत्तर को पसंद करता हूं।
श्री बी।

3
@VahavhavKaushal: चरण 5 में आपको "डीएक्टिवेट" पर दाईं ओर क्लिक करना होगा, फिर आपको जो शॉर्टकट पसंद आएगा, उसे तुरंत दिखाया जाएगा
rubo77

प्रभावी होने के लिए रिबूटिंग की आवश्यकता हो सकती है
शर्ली मंदिर

18

आप सॉफ्टवेयर सेंटर से AutoKey इंस्टॉल करके जटिल (मल्टी-की) कीबोर्ड शॉर्टकट बना सकते हैं । Xmodmap के विपरीत, AutoKey आपके कीबोर्ड पर वास्तविक कुंजियों को नहीं बनाता है; यह पृष्ठभूमि में चलता है और आपके द्वारा परिभाषित कीबोर्ड शॉर्टकटों को स्वीकार करता है, फिर आपके अनुप्रयोगों के लिए सिम्युलेटेड कीपेस भेजता है।

पहली बार जब आप AutoKey लॉन्च करते हैं, तो यह पृष्ठभूमि में सेवा शुरू कर देगा (अधिसूचना आइकन एकता के लिए अपडेट नहीं किया गया है, इसलिए कोई दृश्य संकेत नहीं है)। एक बार यह चल रहा है, तो आप लॉन्चर को फिर से चलाकर कॉन्फ़िगरेशन इंटरफ़ेस ला सकते हैं:

यहां छवि विवरण दर्ज करें

अब संपादित करें> प्राथमिकताएं खोलें और यह सुनिश्चित करने के लिए कि लॉगिन करने पर आपके शॉर्टकट काम करते हैं, यह सुनिश्चित करने के लिए "लॉगिन पर स्वचालित रूप से ऑटोकाइ शुरू करें" चुनें।

एक कीबोर्ड शॉर्टकट को दूसरे कीबोर्ड शॉर्टकट से मैप करना

  1. फ़ाइल> नया> वाक्यांश चुनें।
  2. सुनिश्चित करें कि "कीबोर्ड का उपयोग करें" "कीबोर्ड" पर सेट है।
  3. चाबियाँ आप मैप करना चाहते हैं टाइप करने के लिए पाठ बॉक्स में।

    • विशेष (गैर-चरित्र) कुंजियों का प्रतिनिधित्व यहां दिए गए कोड के साथ किया जाता है
    • यदि आप कई कुंजियाँ टाइप करते हैं, तो उन्हें अनुक्रम में भेजा जाएगा, जब तक कि आप +उनके बीच नहीं रखते हैं (जैसे <ctrl>+cकि अधिकांश अनुप्रयोगों में प्रतिलिपि <ctrl>+c<ctrl>+n<ctrl>+vबनाई <shift>+ubuntuजाएगी ; चयन से युक्त एक नया दस्तावेज़ बनाएगा; पाठ "Ubuntu" टाइप करेगा)
  4. "हॉटकी" के बगल में "सेट" बटन दबाएं। इससे एक डायलॉग है कि आप कुंजी संयोजन आप मैप करना चाहते हैं निर्धारित करने के लिए अनुमति देता है लाएगा से :

    यहां छवि विवरण दर्ज करें

  5. फ़ाइल> सहेजें का चयन करें

एक पूर्ण कॉन्फ़िगरेशन का एक उदाहरण (जो <enter>आपको प्रेस करते समय भेजता है <ctrl>+m) इस तरह दिखता है:

यहां छवि विवरण दर्ज करें


नोट: वर्तमान में, डेबियन (जहां उबंटू को ऑटोके पैकेज मिलता है) अपने ऑटोकेके पैकेज को बनाए नहीं रख रहा है। वर्तमान इंस्टॉलेशन निर्देशों के लिए, देखें: github.com/autokey/autokey/wiki/Installing
जो

15

इसे इस्तेमाल करे:

XKeyCaps नामक एक प्रोग्राम स्थापित करें। स्थापित करने के लिए, बस प्रेस Ctrl+ Alt+ Tटर्मिनल खोलने के लिए अपने कीबोर्ड पर। जब यह खुलता है, तो नीचे कमांड चलाएँ:

sudo apt-get install xkeycaps

एक बार स्थापित होने के बाद, आप प्रोग्राम चलाने के लिए प्रॉम्प्ट पर xkeycaps कर सकते हैं। एक बार जब यह चलता है, तो सही कीबोर्ड लेआउट चुनें, और ठीक पर क्लिक करें

यहां छवि विवरण दर्ज करें

फिर जब आपको स्क्रीन पर कीबोर्ड मिलता है, तो उस कुंजी पर क्लिक करें जिसे आप चाहते हैं, अपने मामले में इसके लिए S, और विनिमय कुंजी चुनें।

यहां छवि विवरण दर्ज करें

अपने सत्रों के नीचे की रेखा जोड़ना सुनिश्चित करें ताकि यह आपके द्वारा बूट किए जाने पर हर बार ऑटोस्टार्ट करें।

xmodmap ~/.xmodmap-`uname-n`

स्रोत: UFM ytsejam1138


है uname-nहोना चाहिए uname -n?
दोपहर

स्रोत अपने के अनुसार unmae-n। मेरे पास परीक्षण करने के लिए एक उबंटू मशीन तक पहुंच नहीं है, लेकिन एक बार जब मैं करता हूं, तो मैं आगे की जांच करूंगा।
मिच

8

यदि आप केवल कुंजियों को रीमैप करना चाहते हैं, तो अन्य उत्तर बहुत अच्छे हैं।

हालाँकि, इसके पास एक और तरीका है। AutoKey एक कीबोर्ड मैक्रो प्रोसेसर है जो आपको किसी भी कुंजी / संशोधक संयोजन को एक स्क्रिप्ट के साथ जोड़ने की अनुमति देता है जो लगभग कुछ भी आप अपने कीबोर्ड से और बहुत कुछ कर सकते हैं।

AutoKey के पास एक स्क्रिप्ट रिकॉर्डर और मूल कुंजी क्रमों को दर्ज करने का एक सरल तरीका है, लेकिन इसकी स्क्रिप्ट पाइथन में लिखी गई हैं और लगभग कुछ भी आप कोड कर सकते हैं।

इसका उपयोग करने का सबसे सरल तरीका यह है कि यह आपके एप्लिकेशन / डेस्कटॉप पर कीस्ट्रोक्स भेजता है। जब इस तरह से उपयोग किया जाता है, तो सिस्टम / एप्लिकेशन यह नहीं बता सकते हैं कि यह आप टाइप नहीं कर रहे हैं, इसलिए कोई एपीआई या अन्य इंटरफ़ेस की आवश्यकता नहीं है, वे बस "आप" टाइप करते हैं।

AutoKey वाक्यांशों को भी संसाधित कर सकता है। जब आप एक ट्रिगर वर्ण स्ट्रिंग टाइप करते हैं, तो यह उस स्ट्रिंग के लिए नया पाठ स्थानापन्न कर सकता है (या तो तुरंत या बाद में आप एक नई पंक्ति या टैब की तरह एक विभाजक वर्ण टाइप कर सकते हैं।)

इसमें विंडो फ़िल्टर भी हैं ताकि आप किसी विशेष वाक्यांश या स्क्रिप्ट को केवल विशेष प्रकार की खिड़कियों में चलाने के लिए प्रतिबंधित कर सकें (जैसे कि शीर्षक में मोज़िला है ताकि वे केवल फ़ायरफ़ॉक्स या थंडरबर्ड जैसी चीजों में काम करें)।

AutoKey में वर्तमान में Gtk और Qt संस्करण हैं।

संपादन:

इंस्टालेशन गाइड

उपयोगकर्ता फ़ोरम सक्रिय उपयोगकर्ता फ़ोरम।

विकी में कई उदाहरण स्क्रिप्ट हैं। क्योंकि यह मुख्य रूप से बहुत सारे विकल्पों के साथ एक GUI ऐप है, उदाहरण के लिए बहुत सारे स्क्रीनशॉट और पूरे लेख की आवश्यकता होगी।

मेरे पास एक मुहावरा परिभाषित है ताकि जब मैं " Jmail! " टाइप करूँ , तो यह तुरंत मेरे बजाय लंबे ईमेल पते के साथ बदल देता है।

मैंने एक स्क्रिप्ट लिखी है जिसे टाइप करके ट्रिगर किया गया है Ctrl- Pजो केवल उन खिड़कियों में सक्रिय है जिनके शीर्षक में "मोज़िला" है। टाइपिंग Ctrl- P(फ़ायरफ़ॉक्स या थंडरबर्ड) प्रिंट डायलॉग लाता है, प्रिंट टू फाइल का चयन करता है और फिर मेरी प्रिंट कतार में अगली उपलब्ध प्रिंट फ़ाइल के नाम से भरता है (मैं उन्हें 01 नंबर, 02, ... और स्क्रिप्ट कतार पढ़ता हूं निर्देशिका, अंतिम फ़ाइल संख्या पाता है और इसे 1 से बढ़ाता है)। मैं अपने डुप्लेक्स प्रिंटिंग इम्यूलेशन सॉफ्टवेयर ( डुप्लेक्स ) के साथ कीस्ट्रोक्स और माउस आंदोलनों के एक टन को खत्म करने के लिए इसका उपयोग करता हूं ।

मैंने गेमर्स से कुछ अन्य स्क्रिप्ट देखी हैं जो उन्हें अपने चरित्र और संसाधनों के बारे में बहुत तेज़ी से जानकारी देते हैं ताकि वे कार्रवाई पर केंद्रित रह सकें।


1
क्या आप इसे स्थापित करने और शायद इसका उपयोग करने के बारे में कुछ जानकारी जोड़ सकते हैं? वह तो जबर्दस्त होगा!
सेठ

AutoKey को आंशिक रूप से code.google से GitHub में स्थानांतरित कर दिया गया है। Github.com/autokey/autokey देखें । एक पायथन 3 शाखा भी है - github.com/guoci/autokey-py3
जो

AutoKey का वर्तमान संस्करण github.com/autokey/autokey पर है । पायथन 2 शाखा को मूल्यह्रास कर दिया गया है।
जो

7

माउस बटन के रूप में कीबोर्ड कुंजी का उपयोग करना

आप एक माउस बटन के लिए एक कीबोर्ड कुंजी मैप करना चाह सकते हैं। यदि आप कीबोर्ड कुंजी (यदि आपके पास मैकबुक या खराब ट्रैकपैड बटन है) का उपयोग करके क्लिक करना चाहते हैं तो आप निम्न कार्य कर सकते हैं।

  1. कुछ उपयोगिताओं को स्थापित करें:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. उस कुंजी का पता लगाएं जिसे आप मैप करना चाहते हैं:

    • xev | grep keycodeटर्मिनल में टाइप करें
    • ब्याज की कुंजी दबाएं और इस तरह एक पंक्ति दिखाई देगी:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. कीकोड का उपयोग करना, बाईं माउस बटन के समान करने के लिए कुंजी को फिर से दबाएं:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3सही माउस बटन है और Pointer_Button2मध्य है।


4

Xkb का उपयोग करना

xkbएक्स कीबोर्ड एक्सटेंशन है। यह आपके कीबोर्ड की कुंजियों को उनके निर्दिष्ट फ़ंक्शन के मानचित्रण के लिए जिम्मेदार है। xkbप्रतीकों में पाया जा सकता है /usr/share/X11/xkb/symbols/। संशोधक कुंजियों को मैप किया जाता है /usr/share/X11/xkb/symbols/pc

कहो, मुझे Caps Lockऔर Left Controlकुंजियों के कार्यों को स्विच करने की आवश्यकता है । ये परिवर्तन pcफ़ाइल के लिए आवश्यक हैं :

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

नए मैपिंग को लागू करने के लिए आपको निम्न xkbसे कैश निकालने की आवश्यकता है /var/lib/xkb:

rm -rf /var/lib/xkb/*

अब, बस अपने X सत्र को पुनः आरंभ करें और आप जाने के लिए अच्छे हैं।

स्रोत: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/

संपादित करें: निर्देशिका के lsअंदर करना symbolsयह देता है:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

फ़ाइल के अंदर मैपिंग ruरूसी मानक कीबोर्ड पर आधारित हैं। macintosh_vndrफ़ोल्डर एप्पल कीबोर्ड के लिए मैपिंग शामिल हैं। संक्षेप में, यह दृष्टिकोण इतना बहुमुखी है। आगे बढ़ो और इसके साथ खेलते हैं :)


आपने 2 फाइलों का उल्लेख किया है। किस फ़ाइल में किए गए परिवर्तन हैं? :)
सेठ

मैं केवल एक फ़ाइल उल्लेख किया - /usr/share/X11/xkb/symbols/pc
कुरकुरा

मेरी गलती। मुझे एक दूसरा रूप लेने का एहसास हुआ कि पहला रास्ता एक फ़ोल्डर था, न कि एक फ़ाइल। यह एक बालक और अधिक स्पष्ट :) बनाने के लिए संपादित
सेठ

3

यह पता चला कि यह 'कीबोर्ड' एप्लिकेशन के तहत है।

यदि आप इसे लाते हैं, तो आप आवश्यकतानुसार शॉर्टकट बदल सकते हैं ...

परिवर्तन पहले उपयोग पर थोड़ा अजीब है। आप दाईं ओर क्लिक करें (उस स्तंभ पर जिसमें ctrl-alt-T, Disabled, आदि हैं, फिर वास्तविक कुंजी पर क्लिक करें, जैसे ctrlaltbकि आप चाहते हैं। आप देखेंगे कि नया कुंजी अनुक्रम उस स्थान में अब दिखाई देगा। विंडो बंद करें। या क्लिक करें) और नया शॉर्टकट अब काम करेगा।


1

शॉर्टकट पहले से ही WWW के रूप में मौजूद है, बस इसे Ctrl+ Alt+ में बदल दें b। कोई नया बनाने की जरूरत नहीं है।

यहां छवि विवरण दर्ज करें


1

CompizConfig Settings Manager (CCSM)

CCSM आपको कुछ सिस्टम कीबोर्ड शॉर्टकट बदलने देता है।

इसे स्थापित करने के लिए, सॉफ़्टवेयर केंद्र या इस आदेश का उपयोग करें:

sudo apt-get install compizconfig-settings-manager

उदाहरण के लिए

मैंने इसका उपयोग डिफ़ॉल्ट रूप से Super+ Wसे Super+ तक "विंडो स्प्रेड" शॉर्टकट को बदलने के लिए किया था Tab, जैसे कि विंडोज 10 पर। मेरे जवाब से दूसरे धागे पर :

  1. डैश से CCSM चलाएँ।
  2. विंडो प्रबंधन पर जाएं -> स्केल -> बाइंडिंग टैब -> विंडो पिकर प्रारंभ करें
  3. कीबोर्ड शॉर्टकट ( <Super>wअपने पीसी पर, लेकिन <Super>Tabइस स्क्रीनशॉट में) पर क्लिक करें ।

    सीसीएसएम - विंडो प्रबंधन - स्केल

  4. ग्रैब कुंजी संयोजन पर क्लिक करें , वांछित कुंजी दबाएं, फिर ठीक पर क्लिक करें।

    विंडो पिकर आरंभ करें


1

मैं प्रिंट स्क्रीन को प्रेस का उपयोग करके स्क्रीन शॉट को बचाने के लिए प्रेस करना चाहता था gnome-screenshot, जैसा कि मिंट में है

लेकिन मैं इसे टर्मिनल का उपयोग करके करना चाहता था, जीयूआई नहीं, क्योंकि मैं squashfsटूल का उपयोग करके कस्टम आईएसओ बनाते समय इसे डिफ़ॉल्ट बनाना चाहता हूं ।

पहले मैंने gnome- स्क्रीनशॉट को कमांड का उपयोग करके स्थापित किया

sudo apt-get install gnome-screenshot

फिर मैंने सेटिंग्स -> कीबोर्ड -> कस्टम शॉर्टकट -> ऐड (+) बटन -> का उपयोग करके कस्टम शॉर्टकट को असाइन किया

संवाद में:

  • नाम: स्क्रीन शॉट
  • कमान: सूक्ति-पेचकश

Add बटन दबाएं

फिर Print screenकुंजी दबाएं।

कुंजी अब बाध्य है, और मैं आवश्यकतानुसार स्क्रीन शॉट्स बचा सकता हूं।
लेकिन टर्मिनल का उपयोग नहीं करना, यह GUI तरीका है

फिर मैंने dconf-editorप्रयोग किया

sudo apt-get install dconf-editor

और gnome-screenshot
मैं इस रास्ते पर अपने कस्टम कुंजी बाइंडिंग खोजता हूं

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

कुंजियों के मूल्य हैं:

  • बाइंडिंग 'प्रिंट'
  • कमांड 'सूक्ति-स्क्रीनशॉट'
  • नाम 'प्रिंट स्क्रीन'

अब मैं इन्हें कॉपी करता हूं और GUI कस्टम शॉर्टकट कुंजी को हटाता हूं

मैं टर्मिनल खोलता हूं और ये कमांड टाइप करता हूं

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

और वोइला

अब मैं बिना किसी GUI dconfऔर टर्मिनल के ही स्क्रीन शॉट्स बचा सकता हूं । मुझे dconf-editorकिसी भी अधिक की आवश्यकता नहीं है , यह केवल मूल्यों को प्राप्त करने के लिए स्थापित किया गया था।


1

मैंने ubuntu 18.04 पर केविन के समाधान (xmodmap दृष्टिकोण) की कोशिश की। यह मेरे मामले में काम नहीं किया। फिर भी इस प्रक्रिया ने इसे अंततः काम किया:

  • बजाय xmodmap .Xmodmapनामक एक फाइल में कॉपी करें ।.xsession.xinitrc
  • फ़ाइल की अनुमतियाँ बदलें (राइट-क्लिक करें, गुण, अनुमति टैब, "पढ़ने और लिखने" के लिए अनुमतियों को बदलकर और खिड़की के नीचे बॉक्स को टिक कर दें)
  • /home/<YOUR_USER_NAME>/.xsessionकमांड के साथ एक स्टार्टअप एप्लिकेशन जोड़ें ।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.