सबसे पहले, numlockx स्थापित करें ( numlockx स्थापित करने के लिए यहां क्लिक करें )। मूल रूप से यह आपको Num Lock की स्थिति सेट करने के लिए स्क्रिप्ट लिखने की अनुमति देता है - विवरण के लिए अंकलॉक मैन पेज देखें।
अगला हमें udev नियमों के मज़े में देरी करने की आवश्यकता है। पहले हमें यह पता लगाना होगा कि कीबोर्ड की पहचान कैसे की जाती है। आप इससे कर सकते हैं
ls /dev/input/by-id/
यह आपको कुछ मानव पठनीय फ़ाइल नाम देना चाहिए (जो कि विशेष रूप से पढ़ने योग्य सच्चे नाम के लिए नरम लिंक नहीं हैं)। मेरा कीबोर्ड था
/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd
तो फिर हमें कीबोर्ड के बारे में सभी जानकारी पता करने की आवश्यकता है। मैंने किया
udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)
लेकिन वहाँ अपना रास्ता डालें। आपको बहुत सारी जानकारी मिल जाएगी, लेकिन आप पहले ब्लॉक को देखना चाहते हैं जो कीबोर्ड को नाम देता है और है SUBSYSTEMS=="usb"
। (बल्कि USB कंट्रोलर या जो भी हो)। मेरे मामले में यह था:
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3':
KERNELS=="3-2.3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 2"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bMaxPower}==" 50mA"
ATTRS{urbnum}=="6284"
ATTRS{idVendor}=="058f"
ATTRS{idProduct}=="9410"
ATTRS{bcdDevice}=="0122"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{speed}=="1.5"
ATTRS{busnum}=="3"
ATTRS{devnum}=="3"
ATTRS{devpath}=="2.3"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="KINESIS FREESTYLE KB700"
ATTRS{product}=="KB700 Kinesis Freestyle"
इसलिए अब हमारे पास कुछ नियम लिखने के लिए पर्याप्त जानकारी है। बनाने /etc/udev/rules.d/10-local.rules
और डालने के लिए अपने पसंदीदा संपादक का उपयोग करें :
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on"
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"
फिर से, अपने कीबोर्ड का नाम यहां रखें, और ATTRS अलग होने पर। तो यह काम करना चाहिए :)
नोट: मैं यह जांचने में सक्षम नहीं हूं, हालांकि मैंने नियम फाइल बनाने तक सभी कमांड चलाए हैं। और मामले में आपको कुछ और जाँच करने की आवश्यकता है: