अपनी कैप्सलॉक कुंजी को एक प्ले / पॉज़ कुंजी बनाएं
यह समाधान कर्नेल इनपुट ड्रायवर में एक अलग कीकोड में आपके कैप्सलॉक कुंजी के स्कैकोड को हटा देगा, इस स्थिति में प्ले / पॉज़।
लाभ
- मौजूदा सिस्टम फ़ाइलों को संशोधित करने की आवश्यकता नहीं है (केवल एक नई फ़ाइल बनानी होगी)
- एप्लिकेशन को पता नहीं चलेगा कि यह वास्तव में एक कैप्सलॉक कुंजी है, लेकिन लगता है कि एक वास्तविक प्ले / पॉज़ कुंजी दबाया गया है
- कैप्सलॉक को अक्षम करने की आवश्यकता नहीं है,
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
यदि आप परिवर्तनों को वापस करना चाहते हैं, तो अपने द्वारा बनाई गई फ़ाइल को हटा दें और रिबूट करें।
आप इस विषय पर मेरे मूल उत्तर में अधिक विस्तृत जानकारी पा सकते हैं।
vlc --key-play-pause <key-string>
, लेकिन मुझे एक स्ट्रिंग नहीं मिली है जिसे VLC कैप्सलॉक के रूप में स्वीकार करता है ...