14.04 (ट्रस्टी) में Microsoft प्राकृतिक एर्गोनोमिक कीबोर्ड का ज़ूम स्लाइडर 4000 और 7000 ऊपर और नीचे स्क्रॉल करें।


29

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

sudo: /lib/udev/keymap: command not found

मेरे पास udv संस्करण है 204-5ubuntu20.2(ट्रस्टी में पाया गया संस्करण)

मैंने देखा कि इस संस्करण में keymapटूल शामिल नहीं है । लेकिन मैं नोटिस करता हूं कि अधिक से अधिक udevसंस्करण ( जो कि डेबियन के लिए उपलब्ध हैं, उदाहरण के लिए ) में यह टूल शामिल है।

क्या कोई मेरे लिए यह व्याख्या कर सकता है? =) और मुझे इस मामले में क्या करना चाहिए - डेबियन रेपो से पैकेज स्थापित करें?


क्या आप udv का उपयोग करके इस मुद्दे को हल करना चाहते हैं या क्या आप विकल्पों के साथ ठीक हैं? मैं ubuntu पर अनकैप्ड udv डेबियन पैकेज स्थापित करने के लिए थोड़ा अनिच्छुक होगा।
जॉबिन

किसी भी विकल्प का स्वागत है =)
दिमित्री बेलवेंटसेव

क्या यह मदद करता है ?
जॉबिन

keymapवैसे भी अब शिप की गई उपयोगिता क्या नहीं करती है?
मैट

मैंने नीचे दिए गए उत्तर को शामिल करने के लिए अपने ट्यूटोरियल (जिसे आपने लिंक किया है) को अपडेट किया है। धन्यवाद :-)
टेरेंस ईडन

जवाबों:


27

यदि आप देखें तो आप /lib/udev/rules.d/60-keyboard.rulesदेखेंगे कि सब कुछ गड़बड़ हो गया है। यह सिस्टम में udv विलय का सिर्फ एक हिस्सा है जो चल चुका है।

सभी हार्डवेयर नियमों को एक बाइनरी हार्डवेयर डेटाबेस में संकलित किया गया है। ये एक बहुत ही अजीब प्रारूप का पालन करते हैं। कीबोर्ड के लिए मौजूदा नियम जो udev के साथ जहाज में रहते हैं /lib/udev/hwdb.d/60-keyboard.hwdb। इसे देखें लेकिन इसे संपादित न करें (अपडेट शायद इसे अधिलेखित कर देंगे)।

अपने कस्टम नियमों को जोड़ने के लिए, हम एक नई फ़ाइल /etc/udev/hwdb.d/बनाकर चलेंगे sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb। आपको बस निम्नलिखित में पेस्ट करना है -

यदि आप 4000 मॉडल का उपयोग कर रहे हैं:

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_0c022d=pageup
 KEYBOARD_KEY_0c022e=pagedown

यदि आप 7000 मॉडल का उपयोग कर रहे हैं:

keyboard:usb:v045Ep071D*
 KEYBOARD_KEY_0c022d=pageup
 KEYBOARD_KEY_0c022e=pagedown

इसे आपके द्वारा पोस्ट किए गए ट्यूटोरियल से अलग किया गया है ताकि आपको अपने कीबोर्ड के आधार पर ट्विक करने की आवश्यकता हो। देखें lsusbऔर सुनिश्चित करें कि vendor:productऊपर (जैसा v####p####) कोड सही है। अगर वे मेल नहीं खाते तो यह काम नहीं करेगा।

एक बार जब आप संपादन कर लेते हैं, तो hwdbउस udv का उपयोग फिर से करें :

sudo udevadm hwdb --update

और फिर आपको पुनः प्लग करने की आवश्यकता हो सकती है। यदि यह PS / 2 कीबोर्ड है तो आपको रिबूट करने की आवश्यकता हो सकती है। कुछ मामलों में आपको रिबूट करने की भी आवश्यकता होती है।


जवाब के लिए thx! hwdb.ddir, रिक्त है rules.dकेवल 3 फ़ाइलें हैं ( 70-persistent-cd.rules, 70-persistent-net.rules, README)। तो, क्या आपका मतलब है कि मुझे एक नई फ़ाइल बनानी चाहिए? या मेरे पास संपादित करने के लिए कुछ होना चाहिए?
दिमित्री बेलावेंटसेव

हाँ, आपको एक नई फ़ाइल बनानी चाहिए। मौजूदा कीबोर्ड नियम बैठे हैं, /lib/udev/hwdb.d/60-keyboard.hwdbलेकिन इसके अपडेट udv अपडेट के बाद खो जाएंगे।
ओली

2
दुर्भाग्य से, काम करने के लिए लक्ष्य बटन नहीं बनाता है
दिमित्री बेलावेंटसेव

1
@matt, आप यहाँ पर
user.dz

1
प्लग-इन करने के बजाय udevadm trigger /dev/input/by-id/usb-Microsoft-*
अनप्लगिंग का

37

Ubuntu 15.10 : मुझे पिछले उत्तरों के साथ कोई सफलता नहीं मिली।

मैंने पिछले वाले के समान दृष्टिकोण का सफलतापूर्वक उपयोग किया है - निर्देशों का उल्लेख किया गया था /lib/udev/hwdb.d/60-keyboard.hwdb

मैंने नया hwdb फ़ाइल बनाया है sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb जिसमें:

# माइक्रोसॉफ्ट नेचुरल एर्गोनोमिक कीबोर्ड 4000 - रीमैप ज़ूम इन / आउट टू पेज अप / डाउन
evdev: इनपुट: b0003v045Ep00DB *
 KEYBOARD_KEY_c022d = PageUp
 KEYBOARD_KEY_c022e = PageDown

उसके बाद मैं चला हूं

सुदो dवदम् हवदब - ुपदते
सूद udvadm नियंत्रण --reload

और कीबोर्ड को रिप्लेस किया और यह काम कर गया।

मॉडल 7000 उपयोग के लिए evdev:input:b003v045Ep071D*


9
यह उबंटू 16.04
ग्रेग दान

2
धन्यवाद। यह वास्तव में keyboard:उबंटू 1604 पर काम नहीं कर रही परिभाषाओं की तरह दिखता है और इसे होना चाहिए evdev:/lib/udev/hwdb.d/60-keyboard.hwdb4000 मॉडल के लिए एक डिफ़ॉल्ट मानचित्रण भी है जो उन्हें मैप करता है zoomin/ zoomout- हालाँकि X घटनाओं को पूरी तरह से अनदेखा करता है (xev कुछ नहीं दिखाता है) इसलिए आपको अभी भी इस तरह के कॉन्फ़िगरेशन परिवर्तन की आवश्यकता है।
12

2
ऐसा b0003लगता है कि यह बस-विशिष्ट है (इसलिए यह केवल कुछ यूएसबी पोर्ट में काम कर सकता है)। अगर कुछ b*v045Ep071D*काम करता है, तो यह बेहतर हो सकता है।
ओली

3
धन्यवाद, यह Ubuntu 16.04 ( evdev:input:XXXइसके बजाय keyboard:usb:YYY) में काम कर रहा है । तुम भी pageup/ के बजाय विभिन्न मानचित्रण का उपयोग कर सकते हैं pagedown। उदाहरण के लिए, मैं उपयोग कर रहा हूँ scrollupऔर scrolldownअसली स्क्रॉल करने के लिए।
मार्टिन ग्रैबर


7

मूल समाधान ओली द्वारा पोस्ट की गई मेरे लिए काम नहीं किया था, लेकिन बाद मैं प्रमुख नंबर बदल यह काम करता है "0c022d"और "0c022e"करने के लिए "c022d"और "c022e"। मैं 4000 मॉडल का उपयोग कर रहा हूं, इसलिए मैं यह सत्यापित नहीं कर सकता कि 7000 मॉडल के लिए समान परिवर्तन की आवश्यकता है या नहीं।

ओली के जवाब को दोहराने के लिए, यहाँ मैंने जो किया है: चलाकर एक नई फ़ाइल बनाएँ sudo nano /etc/udev/hwdb.d/61-keyboard-local.hwdb। फ़ाइल के लिए निम्नलिखित लाइनें चिपकाएँ (4000 मॉडल के लिए):

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=pageup
 KEYBOARD_KEY_c022e=pagedown

फ़ाइल को संपादित करने के बाद, उस hddb को फिर से जोड़ें जो udev उपयोग करता है:

sudo udevadm hwdb --update

फिर कीबोर्ड को रिप्लेस करें।


धन्यवाद। ताज्जुब है कि मुझे इस बदलाव को करने की ज़रूरत थी, और यह सब होने के बाद पुनः आरंभ करने की भी आवश्यकता थी (केवल प्रतिकृति नहीं)।
मैट

मेरे लिए Ubuntu 15.04 पर काम किया। धन्यवाद!
पियरे

यह मेरे लिए डेबियन जेसी 8.5 पर काम किया।
निकोलस

मैं एक आर्थिक कीबोर्ड खरीदना चाहता हूं, और मैं उत्सुक हूं कि क्या यह 16.04 एलटीएस के साथ काम करता है? या वहां इस तरह की समस्या नहीं है।
अरपद होरवथ

4

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

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=up
 KEYBOARD_KEY_c022e=down

वैसे: 18.04 में अप / डाउन डिफ़ॉल्ट है।
लिनक्सल्यूगी

1

अच्छा समाधान यहां है , और मैं केवल यह जोड़ सकता हूं कि आप अप्रयुक्त एक्स कीज की तरह मैप कर सकते हैं:

$ cat /lib/udev/rules.d/95-keymap.rules
...
ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d katakana 0xc022e katakanahiragana
...

इसके बजाय उपयोग करने के लिए उचित नाम यहांkatakana पाए जा सकते हैं

रिबूट के बाद ;-) आपको लगता है कि परीक्षण कर सकते हैं zoominऔर zoomoutकुंजी सफलतापूर्वक मैप की जाती हैं, और यह भी बाहर (में उपयोग करने के लिए चाबियों का एक उचित नाम खोजने के लिए rc.xml, OPENBOX WM के लिए उदाहरण के लिए) का उपयोग करते हुए xev:

$ xev
...
KeyRelease event, serial 46, synthetic NO, window 0x3c00001,
    root 0x291, subw 0x0, time 1492891, (-261,-61), root:(573,380),
    state 0x0, keycode 101 (keysym 0xff27, Hiragana_Katakana), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
...

अब आप नई कुंजियों को पूरी तरह से मनमाने ढंग से कार्रवाई से जोड़ सकते हैं। OpenBox विंडो मैनेजर के मेरे मामले में मैंने कुछ इस तरह का इस्तेमाल किया:

$ cat <whatever>/rc.xml
...
<keybind key="Katakana">
  <action name="Execute">
    <command>volume_up.sh</command>
  </action>
</keybind>
<keybind key="Hiragana_Katakana">
  <action name="Execute">
    <command>volume_down.sh</command>
  </action>
</keybind>
...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.