क्या मैं ऑडियो चलाने के लिए कैप्स लॉक कुंजी को फिर से बना सकता हूं?


16

मैं 16.04 मेट पर उपयोगी कुछ के लिए बेकार कैप्स लॉक कुंजी का फिर से उपयोग करने की कोशिश कर रहा हूं। मैं भर आया हूं

setxkbmap -option ctrl:nocaps

इसे निष्क्रिय करने के लिए, लेकिन क्या उदाहरण के लिए वीएलसी को प्ले / पॉज़ करने के लिए इसे रीमैप किया जा सकता है? आपके उत्तर के लिए धन्यवाद!


मुझे नहीं लगता कि यह काम करेगा .... कई कारणों से ... उदाहरण के लिए, मुझे लगता है कि लिनक्स एक संशोधक के रूप में कैप्सलॉक का इलाज करता है न कि एक अलग कुंजी। शायद यही कारण है कि आप इसे वीएलसी में नहीं बांध सकते। इसके अलावा, यदि आप इसे निष्क्रिय करते हैं, तो इसे निष्क्रिय कर दिया गया है। लेकिन आप कमांडलाइन पर चारों ओर खेल सकते हैं और इसे बांधने की कोशिश कर सकते हैं vlc --key-play-pause <key-string>, लेकिन मुझे एक स्ट्रिंग नहीं मिली है जिसे VLC कैप्सलॉक के रूप में स्वीकार करता है ...
रॉबर्ट Riedl

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

1
@pbhj टिप के लिए धन्यवाद। मैं किसी तरह Ubuntu 16.04 में स्क्रीन बटन और कीबोर्ड पॉज / play बटन के साथ फिर से काम कर रहा हूं। मैं सिर्फ इन निम्न-स्तरीय कीबोर्ड उपयोगिताओं के साथ प्रयोग करने वाले संभावित नुकसान के लोगों को चेतावनी देना चाहता था।
विनयुनुच्स

1
2BFrank: यदि यह आपकी समस्या का हल करता है, तो किसी एक उत्तर को स्वीकार करना सुनिश्चित करें। चूँकि इस प्रश्न पर एक इनाम है, इसलिए एक उत्तर को अस्वीकार्य (और मैन्युअल रूप से पुरस्कार नहीं देने वाला) छोड़ने पर, इनाम का आधा हिस्सा @ एसबेस्टियन स्टार्क को मिलेगा, क्योंकि उनका जवाब सबसे अधिक मतदान का है।
नॉन मोसे

1
@ नोनीमोउस उस टिप्पणी के लिए धन्यवाद। मैं इसे केवल ऑटोवार्ड के लिए स्वीकार किए गए उत्तर या उच्चतम वोट कुल पर छोड़ने जा रहा था, लेकिन मुझे नहीं पता था कि इसने पुरस्कार को आधा कर दिया है, इसलिए मैं इसे लगभग दो घंटे में उच्चतम वोट कुल के लिए मैन्युअल रूप से प्रदान करूंगा कोई उत्तर स्वीकार नहीं है।
चाई टी। रेक्स

जवाबों:


11

स्पष्ट और dbus

यहाँ पृष्ठभूमि में चलने वाली एक छोटी स्क्रिप्ट से युक्त एक संस्करण है। कुछ आसान कदम उठाए जाने चाहिए:

  • निकासी कार्यक्रम स्थापित करें sudo apt install evtest:। यह कार्यक्रम /dev/input/उपकरणों की पदानुक्रम से कच्चे घटनाओं को डिकोड और प्रिंट करने में सक्षम है।

  • समूह में अपना उपयोगकर्ता खाता जोड़ें input। लॉगआउट करें और फिर से लॉगिन करें। (इसकी आवश्यकता है क्योंकि हम कुछ डिवाइस से पढ़ने जा रहे हैं /dev/input/, जो सामान्य रूप से केवल समूह में उपयोगकर्ता या उपयोगकर्ता ही कर सकते हैं input। हम स्क्रिप्ट को रूट के रूप में चला सकते हैं, लेकिन फिर हमें यह बताने का तरीका खोजना होगा कि कौन सा उपयोगकर्ता है dbus उदाहरण के लिए इस पर बात करनी होगी।)

  • आपके द्वारा की गई कैप्सलॉक कुंजी को अक्षम करें या संबंधित मेट वरीयता का उपयोग करें। यह भी काम करेगा यदि आप ctrl के लिए कैप्सलॉक की कुंजी को मैप करते हैं, जैसे कई लोग करते हैं।

  • निम्नलिखित स्क्रिप्ट को कहीं स्टोर करें, जैसे $HOME/bin/capshackऔर इसे निष्पादन योग्य बनाएं:

    #!/bin/bash
    
    KEYBOARD=/dev/input/by-path/platform-i8042-serio-0-event-kbd
    EVENT="type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 1"
    
    toggleVLC () {
            dbus-send \
                --type=method_call \
                --dest=org.mpris.MediaPlayer2.vlc \
                /org/mpris/MediaPlayer2 \
                org.mpris.MediaPlayer2.Player.PlayPause
    }
    
    evtest "$KEYBOARD" | \
    while read line
    do
        if [[ "$line" == *"$EVENT" ]]
        then
            toggleVLC
        fi
    done
    

उपरोक्त स्क्रिप्ट आपके कीबोर्ड ईवेंट्स को सुनेगी और कैप्सलॉक कुंजी दबाने पर एक कमांड निष्पादित करेगी। जो कमांड चलाया जाता है, वह चल रहे VLC उदाहरण में प्ले / पॉज़ इवेंट भेजने के लिए dbus का उपयोग कर रहा है। आपको KEYBOARDअपने वास्तविक कीबोर्ड को इंगित करने के लिए चर को ट्विस्ट करना पड़ सकता है , लेकिन यह संभव है कि उपरोक्त मान काम करेगा।

यदि आप कैप्सल कुंजी जारी करते समय कॉल की जाने वाली टॉगलवीएलसी () फ़ंक्शन को प्राथमिकता देते हैं , तो आप EVENTस्क्रिप्ट को चर में बदल सकते हैं जैसे कि इसके value 0बजाय समाप्त होता है value 1

इसके अलावा, यह संभव है कि आपके लिए कैप्सलॉक की कीकोड 58 से भिन्न हो। आप इसे चलाकर देख सकते हैं evtest, जब आप कैप्सलॉक दबाते हैं तो आउटपुट को देखते हैं, और तदनुसार ईवेंट चर को समायोजित करते हैं। आपको कीकोड से मेल भी नहीं खाना है और बस ईवेंट को सेट करना है (KEY_CAPSLOCK), value 1

स्पष्ट और उपर्युक्त स्क्रिप्ट का उपयोग करने के बजाय आप ट्रिगरडी पैकेज से thd का उपयोग कर सकते हैं (कुछ ऐसा thd --dump /dev/input/*ही आउटपुट देगा) लेकिन मैंने पाया कि थोड़ा कम शैक्षिक।

अब हम स्क्रिप्ट को स्वचालित रूप से पृष्ठभूमि में शुरू करने के लिए एक उपयोगकर्ता प्रणाली इकाई बनाते हैं:

  • उपयोगकर्ता प्रणाली पदानुक्रम बनाएँ: mkdir -p $HOME/.config/systemd/user

  • फ़ाइल में निम्न पाठ जोड़ें $HOME/.config/systemd/user/capshack.service

    [Unit]
    Description=Abuse capslock key
    
    [Service]
    ExecStart=%h/bin/capshack
    
    [Install]
    WantedBy=default.target
    
  • आपके द्वारा अभी बनाई गई सेवा इकाई को सक्षम करें: systemctl --user enable capshack

  • सेवा शुरू करें: systemctl --user start capshack

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

प्रचण्ड

जैसा कि पहले ही उल्लेख किया गया है कि आप ऐसा करने के लिए ट्रिगरहैपी पैकेज का उपयोग कर सकते हैं। यह उन लोगों के लिए पसंदीदा तरीका है जो सिस्टम के साथ कम फील करना चाहते हैं और एक अधिक ठोस समाधान की तरह।

  • inputउपर्युक्त जैसे समूह में उपयोगकर्ता जोड़ें

  • पैकेज स्थापित करें: sudo apt install triggerhappy

  • ट्रिगरहाइ के लिए कॉन्फ़िगरेशन जोड़ें ~/.config/thd/capslock.conf:

    KEY_CAPSLOCK    1   dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
    
  • भागो इस तरह से: thd --triggers ~/.config/thd/capslock.conf /dev/input/event*

  • अपने उपयोगकर्ता के लिए thd रन इसी तरह बनाएं जैसे कि पहले से ही capshack के लिए वर्णित है।

  • सुनिश्चित करें कि आपके पास केवल उल्लेखित विधियों में से एक है (capshack या thd), जो कि प्रत्येक मुख्य प्रेस को टॉगल करने के लिए दोहराए नहीं।

मैंने यह सब 18.04 को मानक सत्र और 16.04 दोस्त के तहत परीक्षण किया। लेकिन यह सैद्धांतिक रूप से वेलैंड के तहत या अन्य डेस्कटॉप वातावरण के साथ भी काम करना चाहिए।


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

मैं लाइनों के बारे में बहुत लंबा सहमत हूं। हाल ही में मैंने पहली पंक्ति के साथ दो लाइनों के लिए कोडिंग शैली को अनुकूलित किया [[ test ]] && \ और दूसरी पंक्ति <command>ने सकारात्मक परीक्षण पर चलने के लिए चार स्थानों को प्रेरित किया । मैं पठनीयता के बारे में पूरे दिल से सहमत हूं क्योंकि मेरी सिफारिश अधिकांश प्रोग्रामिंग भाषाओं के लिए विदेशी है।
WinEunuuchs2Unix

यह महान है ! हालांकि मुझे लगता है कि यह triggerhappyजाने का रास्ता होना चाहिए, क्योंकि evtestवास्तव में एक डिबगिंग प्रोग्राम है :)
रॉबर्ट रिडल

हां, सीखने के लिए स्पष्ट है, करने के लिए :)
सेबस्टियन स्टार्क

... वैसे भी, मेरे लिए कीकोड 58 है m, ताकि स्क्रिप्ट काम न करे। मैं xmodmap -pke | grep Caps_Lockइस स्क्रिप्ट का उपयोग करने से पहले जांचने की सलाह देता हूं कि कीकोड सही है या नहीं।
नोनी मूस

9

Ubuntu 16.04 में गुग्लिंग और फ़िडलिंग के साथ घंटों बिताने के बाद dconf-editorऔर xbindkeysमुझे एक बेहद आसान उपाय मिला:

  • 2 मिनट में बहुत जल्दी सेटअप
  • केवल xdotool स्थापित करने की आवश्यकता है
  • कोई स्क्रिप्ट आवश्यक नहीं है
  • कैप्स लॉक अभी भी मान्यता प्राप्त है, लेकिन पत्र मामले को टॉगल नहीं करता है
  • मानक उबंटू कीबोर्ड कस्टम शॉर्टकट सेटिंग्स के साथ काम करता है

यदि आपको Gnome XF86AudioPlayसमर्थन की आवश्यकता है, तो आपको xdotool( VLC के लिए ओपी के रूप में आवश्यक नहीं है ):

sudo apt install xdotool

अब यहाँ मुश्किल हिस्सा है। हर बार जब आप Caps LocKप्ले और पॉज़ के बीच संगीत को टॉगल करने के लिए कुंजी दबाते हैं , तो कैपिटल लेटर्स भी बंद और चालू हो जाते हैं।

मुख्य सक्रिय रखते हुए भी कैप्स लॉक टॉगलिंग बंद करने के लिए इस विधि का उपयोग करें:

setxkbmap -option caps:none

संगीत खिलाड़ी जो गनोम का पालन करते हैं

फिर Ubuntu 16.04 में सेटिंग्स >> कीबोर्ड >> शॉर्टकट >> कस्टम शॉर्टकट :

ऑडियो पॉज़-प्ले शॉर्टकट। png

  • सेट नाम करने के लिएAudio Play
  • सेट करें आदेश के लिएxdotool key XF86AudioPlay
  • फिर Applyबटन पर क्लिक करें

नए विकल्प को जोड़ने के बाद असाइन की गई शॉर्टकट कुंजी अक्षम हो जाएगी । कुंजी दबाए रखने के लिए अक्षम पर क्लिक करें और जब कुंजी के लिए संकेत दिया जाए Caps LocK


वीएलसी जैसे संगीत खिलाड़ी

पिछले अनुभाग में सूक्ति के लिए चरणों का पालन करें लेकिन इसके लिए कमांड का उपयोग करें:

qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

VLC मीडिया कीज़ को मान्यता नहीं देगा: विश्व स्तर पर VLC के साथ काम करने के लिए कीबोर्ड मीडिया कीज़ को कैसे बनाया जाए? कीबोर्ड में निर्मित होने पर भी। XF86AudioPlay के लिए कस्टम कीबोर्ड शॉर्टकट के साथ बेकार है xdotool


कमांड लाइन से कस्टम कीबोर्ड शॉर्टकट सेट करना

यह Q & A कमांड लाइन से कस्टम कीबोर्ड शॉर्टकट सेट करने के तरीके पर चर्चा करता है: टर्मिनल से कस्टम कीबोर्ड शॉर्टकट कैसे सेट करें?


स्थायी रूप से कैप लॉक करना

अगला कदम setxkbmap -option caps:noneरिबूट के पार इसे लगातार बनाना है । Terdon द्वारा इस जवाब में Googling परिणाम: setxkbdmap सेटिंग्स सहेजें :

अपनी $HOME/.profileफ़ाइल में कमांड जोड़ने का एक आसान तरीका होगा (यदि यह मौजूद नहीं है तो आप इसे बना सकते हैं):

setxkbmap -option caps:none

जब आप लॉग इन करते हैं, तो इसे हर बार चलाना चाहिए।

नोट है कि आप का उपयोग करना चाहिए $HOME/.profileबजाय $HOME/.bash_profile, $HOME/.bashrcया किसी अन्य समान फ़ाइल। ऐसा इसलिए है क्योंकि यह सेटिंग आपके लॉगिन प्रबंधक द्वारा पढ़ी जानी चाहिए।


सरल, सुरुचिपूर्ण, काम करता है: मुझे सही जवाब!
फैबी

@ अच्छी तरह से मुझे यह स्वीकार करना चाहिए कि सेटअप और परीक्षण करना आसान है और निम्न या लगातार चलने वाली स्क्रिप्ट के लिए निम्न स्तर की मैकिंग की आवश्यकता नहीं है। मैं इस पद्धति पर ठोकर खाने से पहले चार अलग-अलग प्रयासों से गुजरा। फिर भी इसे सही नहीं कहेंगे लेकिन धन्यवाद! । अगर वे मुझे यूरोप में वापस जाने देंगे तो मैं आपको एक पिंट खरीदूंगा।
विनयुनुच्स 2 यूनिक्स

क्या यह वायलैंड के साथ काम करता है?
डैनजेल

@dabzel मुझे डर है कि वायलैंड साथ काम नहीं करता setxkbmap -option caps:none। उपयोगिता कार्यक्रम स्थापित किया गया है, हालांकि वायलैंड ऊपरी और निचले मामले के बीच टॉगल करता है। आप एक अलग सवाल पोस्ट कर सकते हैं कि वेलैंड को सम्मान कैसे दिया जाए setxkbmap
WinEunuuchs2Unix

3

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

रेमैप कैप्स लॉक

  1. फ़ाइल /usr/share/X11/xkb/symbols/pcको रूट के रूप में संपादित करें । यहां गलती न करें (जैसे अल्पविराम को भूलकर) क्योंकि आप अपने कीबोर्ड का उपयोग करने में सक्षम नहीं हो सकते हैं यदि आप करते हैं। (लगता है कि मैंने क्या कठिन तरीका सीखा?)

  2. टिप्पणी बाहर लाइन

        key <CAPS> {    [ Caps_Lock     ]   };
    

    //इसकी शुरुआत में दो फॉरवर्ड स्लैश ( ) रखकर ।

  3. इसके नीचे निम्न पंक्ति जोड़ें:

        key <CAPS> {    [ XF86AudioPlay, XF86AudioPause ]   };
    
  4. टिप्पणी बाहर लाइन

        modifier_map Lock   { Caps_Lock };
    

    उपरोक्त तरीके से।

  5. रीबूट।

नोट: ( इसे इंगित करने के लिए danzel का श्रेय ) पैकेज के अपडेट xkb-dataइस फ़ाइल को अधिलेखित कर सकते हैं। इसे रोकने के लिए एक उचित सुरक्षित विधि का उपयोग करके पथ को विचलन करना है dpkg-divert। (मैं कहता हूं "यथोचित रूप से सुरक्षित" क्योंकि इस फ़ाइल के अपस्ट्रीम स्रोत को तीन वर्षों में संशोधित नहीं किया गया है।)

वैकल्पिक तरीका

अपने कीबोर्ड लेआउट सेटिंग्स में अपनी कैप्स लॉक कुंजी को मैन्युअल रूप से अक्षम करें, फिर इस उत्तर में दृष्टिकोण का उपयोग करके अपनी खुद की कुंजी को फिर से मैप करें।

समस्या?

आपकी कैप्स लॉक कुंजी अब कैप को लॉक नहीं करती है, और इसे इस बिंदु पर प्ले / पॉज़ में रीमेक किया गया है। आपको अब VLC में संगीत चलाने और रोकने में सक्षम होना चाहिए। यदि यह इस बिंदु पर काम करता है, तो आप इन निर्देशों को छोड़ सकते हैं।

हालाँकि, जब मैंने इसे आज़माया, तो VLC ने Play / Pause की का जवाब नहीं दिया।

सुनिश्चित करें कि कीबोर्ड शॉर्टकट ठीक से सेट है

  1. कीबोर्ड शॉर्टकट खोलें (सिस्टम → वरीयताएँ → हार्डवेयर → कीबोर्ड शॉर्टकट)

  2. सुनिश्चित करें कि "Play (या Play / Pause)" "XF86AudioPlay" पर सेट है

  3. यदि ऐसा नहीं है, तो "शॉर्टकट" अनुभाग पर क्लिक करें और शॉर्टकट सेट करने के लिए अपनी नई प्ले / पॉज़ कुंजी दबाएं। सहायक स्क्रीनशॉट

  4. यदि यह अभी भी काम नहीं करता है, तो अच्छे उपाय के लिए एक-दो बार रिबूट करें। (यह वास्तव में मेरे लिए यह तय है।)


यह xkbविकल्पों में हस्तक्षेप कर सकता है , विशेष रूप से caps:...लोगों के साथ। इसके अलावा, इसे सिस्टम अपडेट द्वारा अधिलेखित किया जा सकता है।
डैनजेल

वास्तव में, यह कर सकता है। सिस्टम अपडेट के बारे में अच्छी बात, हालाँकि। मैं अपने उत्तर में इस बारे में एक नोट जोड़ूंगा। प्रतिक्रिया के लिए धन्यवाद!
नोनी मूस

प्रिय सब, वाह !! क्षमा करें थोड़ी देर के लिए :-) था और अब आप सभी के प्रयास की खोज कर रहे हैं जो आप सभी को समाधान में डाल देंगे !! @ WinEunuuchs2Unix उत्तर की कोशिश करेंगे, और आपको पोस्ट करते रहेंगे। धन्यवाद, LLAP !!
2BFrank

@ 2BFrank जिज्ञासा से बाहर, क्या आपको एक जवाब मिला जो काम करता है?
नॉन मोसे

1

स्थापित करें xbindkeys, xcape और प्लेयरैक्टल । सुनिश्चित करें कि xcape(मानचित्रण CapsLockकी तरह एक अतिरिक्त कुंजी करने के लिए Alt+F12द्वारा xcape -e 'Caps_Lock=Alt_L|F12) और playerctlलॉग-इन पर autostarted रहे हैं, और फ़ाइल में जोड़ने के लिए ~/.xbindkeysrcदो पंक्तियों

"playerctl play-pause"
  Alt + F12

0

अपनी कैप्सलॉक कुंजी को एक प्ले / पॉज़ कुंजी बनाएं

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

लाभ

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

नुकसान

  • व्यक्तिगत रूप से प्रत्येक कीबोर्ड के लिए किया जाना चाहिए (जो कि स्थिति पर निर्भर करता है, एक फायदा भी हो सकता है)

आवश्यक शर्तें

  • स्पष्ट (के माध्यम से स्थापित किया जा सकता है sudo apt-get install evtest)

प्रक्रिया

किसी टर्मिनल में, sudo evtestअपना कीबोर्ड चलाएं और चुनें। यदि आप कुंजी दबाते समय कोई आउटपुट नहीं है, तो Ctrl+ दबाएं Cऔर एक अलग डिवाइस आज़माएं। आपके द्वारा चयनित डिवाइस ईवेंट नंबर याद रखें, हमें बाद में इसकी आवश्यकता होगी। कैप्सलॉक की दबाएं। निम्नलिखित कुछ पंक्तियाँ दिखाई देंगी:

Event: time 1529406021.187148, -------------- SYN_REPORT ------------
Event: time 1529406021.218427, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1529406021.218427, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0

हमें MSC_SCANलाइन से पहले वाली KEY_CAPSLOCKलाइन से वैल्यू चाहिए । ऊपर दिए गए उदाहरण में, यह 70039 होगा, लेकिन आपके कीबोर्ड पर स्केनकोड शायद अलग है।

अब निम्नलिखित कमांड चलाएँ, लेकिन X को उस डिवाइस ईवेंट नंबर से बदलें, जिसका उपयोग आपने evtestकमांड के लिए किया था:

grep "" /sys/class/input/eventX/device/id/*

... इस वसीयत उत्पादन bustype, product, vendorऔर versionकीबोर्ड की।

नाम की एक फ़ाइल बनाएं 65-keyboard-custom.hwdbमें /etc/udev/hwdb.d/(रूट अनुमति की आवश्यकता नहीं) निम्नलिखित सामग्री के साथ:

evdev:input:b[bustype]v[vendor]p[product]e[version]*
 KEYBOARD_KEY_[scancode]=playpause

...कहाँ पे

  • [बस], [विक्रेता], [उत्पाद] और [संस्करण] में ४ अक्षर हैं और अक्षरों को अपरकेस होने की आवश्यकता है
  • [scancode] को लोअरकेस करना पड़ता है
  • evdev:...लाइन है कोई पूर्ववर्ती अंतरिक्ष
  • KEYBOARD_KEY...लाइन है ठीक एक पूर्ववर्ती अंतरिक्ष

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

evdev:input:b0003v046DpC228e0110*
 KEYBOARD_KEY_70039=playpause

अंत में, नए कॉन्फ़िगरेशन को हार्डवेयर डेटाबेस में संकलित करें:

sudo systemd-hwdb update

यदि आप परिवर्तनों को तुरंत लागू करना चाहते हैं, तो udev को सूचित करें:

sudo udevadm trigger

यदि आप परिवर्तनों को वापस करना चाहते हैं, तो अपने द्वारा बनाई गई फ़ाइल को हटा दें और रिबूट करें।

आप इस विषय पर मेरे मूल उत्तर में अधिक विस्तृत जानकारी पा सकते हैं।


@ नोनी मूस इसीलिए मैंने लिखा है "व्यक्तिगत रूप से प्रत्येक कीबोर्ड के लिए किया जाना है"। साथ ही, आप जितने चाहें उतने कीबोर्ड निर्दिष्ट कर सकते हैं, इसलिए आपको वास्तव में केवल आपके द्वारा खरीदे जाने वाले प्रत्येक नए कीबोर्ड के लिए ऐसा करना होगा। दूसरी ओर, यदि आप चाहें, तो आप एक कीबोर्ड को छोड़ सकते हैं, उदाहरण के लिए, क्योंकि इसमें पहले से ही एक भौतिक प्ले / पॉज़ कुंजी है।
डैनजेल

... खैर, मैं ध्यान नहीं दे रहा था। मुझे सही साबित होना है।
नोनी मूस

0

शायद का उपयोग कर xbindkeysया XTEआप ऐसा कर सकते हैं। लेकिन पहले यह सुनिश्चित कर लें कि Keycodes क्या है, आप xevटर्मिनल में कमांड का उपयोग करके कैप्सलॉक कुंजी के लिए कोड देख सकते हैं और इसे दबा सकते हैं (आप गेमिंग कुओं सहित किसी भी केयू या माउस बटन का कीकोड देख सकते हैं)। हाथ में कैप्सलॉक और प्ले बटन कीकोड के साथ आप xbindkeys confi फाइल को एडिट कर सकते हैं और वहां अपने बदलाव कर सकते हैं। touch ~/.xbindkeysrcकॉन्फ़िगरेशन फ़ाइल बनाने के लिए उपयोग करें (यदि सिस्टम इसे स्वचालित रूप से नहीं बनाता है) और nano ~/.xbindkeysrcइसे संपादित करने के लिए। मैंने पिछले महीने इसका उपयोग किया है और यहाँ इसका एक उदाहरण है। इन लिंक पर एक नज़र डालें जो आपके लिए बहुत उपयोगी हो सकते हैं।

https://help.ubuntu.com/community/MultimediaKeys

https://gist.github.com/jbonney/5743509

मेरे गेमिंग माउस से कीबोर्ड की बटन पर एक बटन दबाएं

https://matmunn.me/post/binding-volume-control-mouse-buttons-ubuntu/

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