जैसा कि यह पता चला है कि कर्नेल ने इसे उठाया, लेकिन शिकायत करता रहा कि यह मान्यता प्राप्त नहीं है।
किसी और के लिए यह समस्या है, या उस कुंजी को मैप करना चाहता है जो ओएस द्वारा नहीं पढ़ी जाती है, पर पढ़ें।
एक टर्मिनल खोलें और चलाएं dmesg | grep -A 1 -i setkeycodes
। यह आपको इस तरह कई प्रविष्टियाँ देगा:
[ 9.307463] atkbd serio0: Unknown key pressed (translated set 2, code 0xbe on isa0060/serio0).
[ 9.307476] atkbd serio0: Use 'setkeycodes e03e <keycode>' to make it known.
जो हम रुचि रखते हैं वह "सेटकीकोड" के बाद हेक्साडेसिमल मान है, इस मामले में यह है e03e
। यदि आपके पास इनमें से कई हैं, तो आप चला सकते हैं tail -f /var/log/kern.log
। एक बार जब आप ऐसा कर लेते हैं, तो आप उस बटन को टैप कर सकते हैं जिसे आप खोज रहे हैं, और यह आपको ऊपर की तरह एक ही लाइन देगा, और फिर, हमें केवल हेक्साडेसिमल मान की आवश्यकता है। इस पर ध्यान दें।
अब दौड़ें xmodmap -pke | less
और उचित मानचित्रण खोजें। मेरे मामले में, मुझे अपने टच पैड को टॉगल करने के लिए इसे मैप करने की आवश्यकता थी, जिसका अर्थ है कि मैं निम्नलिखित पंक्ति में रुचि रखता था:
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
यदि आप जो कुछ भी आप में रुचि रखते हैं नहीं पा सकते हैं, तो @Gilles उत्तर भी पढ़ें, क्योंकि आप कस्टम मैपिंग को भी परिभाषित कर सकते हैं, फिर पढ़ें (यदि कर्नेल इसे पढ़ता है, तो आपको इसे xorg.conf में जोड़ने की आवश्यकता नहीं होगी। घ)
अब मैंने निम्नलिखित कमांड चलाई: sudo setkeycodes [hexadecimal] [keycode]
तो, मेरे मामले में यह बन गया setkeycodes e03e 199
:।
यदि आप काम करते हैं और / या आपके पास सही मैपिंग है, तो अब आप निम्न लाइन का उपयोग कर सकते हैं:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
जब आप इस कमांड को चलाते हैं, तो आपको नई खुली हुई खिड़की ( xev
) पर ध्यान केंद्रित करने और कंसोल आउटपुट की जांच करने की आवश्यकता होती है। मेरे मामले में यह इस प्रकार है:
207 NoSymbol
यह स्पष्ट रूप से गलत था, जैसा कि मैंने कीकोड का अनुरोध किया था 199
, इसलिए इसे मैप किया गया है XF86TouchpadToggle
। मैंने xmodmap -pke
फिर से जाँच की , और देखा कि keycode 207
वास्तव में मैप किया गया है NoSymbol
, और मैंने देखा कि 8 का अंतर था, इसलिए मैंने setkeycodes
फिर से कमांड की कोशिश की , लेकिन कुंजी को मैप किया गया है keycode 191
।
sudo setkeycodes e03e 191
यह पूरी तरह से काम किया।
EDIT - स्टार्ट अप पर काम करने के लिए मैंने जो समाधान प्रदान किया है वह नहीं है। मैं कल इसका पता लगाऊंगा और इस उत्तर को अपडेट करूंगा। अभी के लिए मुझे लगता है कि आप इसे मैन्युअल रूप से स्टार्ट अप पर चला सकते हैं।