Xinput डिवाइस निर्माता और मॉडल का निर्धारण करें?


15

मैं अपने कीबोर्ड और टच पैड के डिवाइस निर्माता और मॉडल को खोजने की कोशिश कर रहा हूं ताकि मैं एक XOrg कॉन्फ़िगरेशन फ़ाइल को इसके माध्यम से लक्षित कर लिख सकूं:

Section "InputClass"
    Identifier "touchpad"
    MatchIsTouchpad "on"
    Driver "synaptics"
    MatchProduct "Product Name"
    MatchVendor "Vendor Name"
EndSection

मैं एक CLI उपकरण का उपयोग करके डिवाइस के उत्पाद और विक्रेता का नाम कैसे खोज सकता हूं? मैं अपने ब्लूटूथ टचपैड और कीबोर्ड को नीचे करना चाहता हूं ताकि एक्सगॉर कॉन्फ़िगरेशन को दर्जी करने में सक्षम हो।

जवाबों:


6

लिनक्स पर USB उपकरणों के लिए, आप उपयोग कर सकते हैं:

lsusb -v | grep -e idProduct -e idVendor

केवल आईडी के लिए:

grep . /sys/bus/usb/devices/*/id*

lsusbका उपयोग करता है /var/lib/usbutils/usb.idsअनुवाद करने के लिए आईडी के नाम , मैं नहीं जानता कि चाहे Xorg एक ही स्रोत का प्रयोग करेंगे।


बहुत बढ़िया, मैं अब अपने USB उपकरणों को देख सकता हूं, लेकिन मुझे वास्तव में ब्लूटूथ जानकारी खोजने की आवश्यकता है। यह जानकारी वही है जो मैं देख रहा हूं, बस इसे मेरे ब्लूटूथ डिवाइस के लिए चाहिए। मैं ब्लूटूथ डिवाइस पर हेक्स विक्रेता आईडी पा सकता हूं, लेकिन मुझे वास्तविक विक्रेता या उत्पाद के नाम नहीं मिल सकते हैं।
नातुल्ली के

-1 क्योंकि यह गैर-यूएसबी उपकरणों के लिए काम नहीं करता है। और यह सभी USB उपकरणों के लिए भी काम नहीं करता है, क्योंकि lsusbअक्सर एक उत्पाद का नाम नहीं दिखाता है। ManuelSchneid3r के जवाब ने मेरे लिए सबसे अच्छा काम किया, वह है xinput list:।
इरिक

17

डिवाइस उत्पाद नाम (मॉडल)

का उपयोग कर xinput डिवाइस उत्पाद नाम (या मॉडल ) प्राप्त करें xinput list। उदाहरण आउटपुट कुछ इस तरह दिख सकता है:

# xinput list
⎡ Virtual core pointer                      id=2  [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4  [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=10 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13 [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless        id=16 [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3  [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5  [slave  keyboard (3)]
    ↳ Power Button                              id=6  [slave  keyboard (3)]
    ↳ Video Bus                                 id=7  [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12 [slave  keyboard (3)]

उपरोक्त आउटपुट में, टचस्क्रीन डिवाइस के लिए मॉडल या उत्पाद का नाम "ELAN टचस्क्रीन" है।

डिवाइस पथ (नोड)

Xinput डिवाइस विक्रेता का नाम (या निर्माता ) प्राप्त करने के लिए , हमें क्वेरी करने के लिए डिवाइस पथ (जिसे डिवाइस नोड भी कहा जाता है) को जानना होगा, और फिर पूछना होगा udevadm info। आप किसी डिवाइस के लिए xinput गुणों को सूचीबद्ध करके और 'डिवाइस नोड' मान प्राप्त करके पथ प्राप्त कर सकते हैं।

हमारे पिछले उदाहरण से टचस्क्रीन के लिए डिवाइस नोड मान, जो कहता है कि यह id=10इस तरह पाया जा सकता है:

# xinput list-props 10 | grep 'Device Node'
    Device Node (253):    "/dev/input/event9"

डिवाइस विक्रेता का नाम (निर्माता)

अब हम पा सकते हैं xinput डिवाइस विक्रेता का नाम (या निर्माता ) ऊपर दिए गए हमारे पथ के नाम के साथ डिवाइस के लिए VENDORलौटाए गए संपत्ति के मूल्य को देखकर udevadm info:

# udevadm info --query=property --name=/dev/input/event9 | grep 'VENDOR='
ID_VENDOR=ELAN

उपरोक्त आउटपुट में, टचस्क्रीन के लिए निर्माता या विक्रेता का नाम "ELAN" होगा।

XOrg कॉन्फ़िगरेशन

यह सब एक साथ रखकरInputClass , हम विशिष्ट उपकरण विक्रेताओं, उत्पादों या रास्तों से मेल करने के लिए एक नया XOrg कॉन्फ़िगरेशन अनुभाग बना सकते हैं । हमारे पिछले उदाहरणों का उपयोग करते हुए, यह खंड ELAN विक्रेता द्वारा निर्मित किसी भी टचस्क्रीन उत्पाद से मेल खाता है:

Section "InputClass"
    Identifier "elan touchscreen catchall"
    MatchDevicePath "/dev/input/event*"
    MatchProduct "Touchscreen"
    MatchVendor "ELAN"
EndSection

@ स्टीफन , @ डैनियल और @ मैनुएल श्नाइड 3r को धन्यवाद


1
xinput listविक्रेता और उत्पाद नाम दोनों को एक पंक्ति में दिखाता है, केवल एक अंतरिक्ष चार द्वारा अलग किया जाता है। मेरे मामले में यह था सच में ट्रूली एर्गोनोमिक कंप्यूटर कीबोर्ड के बजाय ट्रूली एर्गोनोमिक कंप्यूटर कीबोर्ड था । लेकिन MatchProductदोनों तारों के साथ काम करने लगता है: विक्रेता और उत्पाद का नाम (जैसा कि सूचीबद्ध xinput list) या केवल उत्पाद का नाम (जैसा कि सूचीबद्ध udevadm)।
इरिक

1

MatchProduct "Product Name" स्टीफन के सुझाव के आउटपुट के साथ काम नहीं करता है lsusb -v | grep -e idProduct -e idVendor । मैंने अभी इसका परीक्षण किया।

xinput list सही स्ट्रिंग को आउटपुट करता है जो साथ काम करता है MatchProduct


क्या xinput listविक्रेता और उत्पाद दोनों को एक साथ सूचीबद्ध करता है ? क्या आप जानते हैं कि किस तरह से काम करना है?
स्पार्कवॉक

2
@ श्रावक xinput listउत्पाद का नाम दिखाता है लेकिन विक्रेता का नाम नहीं। udevadm infoविक्रेता का नाम दिखाता है, लेकिन उत्पाद का नाम नहीं।
क्रिस्टोफर

@ क्रिस्टोफर मुझे वास्तव में याद नहीं है कि मैं यह जानकारी क्यों चाहता था, लेकिन उत्तर देने के लिए धन्यवाद, और उम्मीद है कि यह किसी और की मदद कर सकता है।
स्पार्कहॉक

@ क्रिस्‍टोफर: नहीं, xinput listवेंडर और प्रोडक्‍ट नाम दोनों को एक लाइन में रखें, एक जगह से अलग करके। मुझे केवल उत्पाद नाम खोजने के लिए @ डैनियलके उत्तर का उपयोग करने की आवश्यकता थी। लेकिन रिक्त स्थान के बजाय _udevadm दिखाता है । उपयोग करने के लिए आसान हो सकता है या साथ मिला MatchUSBID हो सकता है । lsusblsusb -v
इरिक

ठीक है, मैंने अभी इसका परीक्षण किया है: यह पूरे स्ट्रिंग के साथ काम करता है xinput list, जो विक्रेता और उत्पाद का नाम है (कम से कम मेरे मामले में), और केवल उत्पाद नाम के साथ (जो मुझे रिक्त स्थान के साथ _ वर्णों को udevadmबदलने से मिला है ।
erik

1

मैंने निम्नलिखित कमांड को xorg.conf कॉन्फ़िगरेशन के साथ उपयोग के लिए मॉडल / विक्रेता खोजने में उपयोगी होने के लिए पाया है।

से https://bbs.archlinux.org/viewtopic.php?pid=753773 : (जहां / dev / sdX लक्ष्य डिवाइस के उपकरण पथ साथ बदल दिया है यानी / dev / इनपुट / mouse1)

udevadm info --query=all --path=$(udevadm info --query=path --name=/dev/sdx)

Http://fedoraproject.org/wiki/Input_device_configuration के अनुसार :

udevadm info --export-db | grep ID_MODEL

लेकिन यह रिक्त स्थान के बजाय _ के साथ उत्पाद नामों को सूचीबद्ध करता है । मेरे मामले में यह सच में ट्रूली एर्गोनोमिक कंप्यूटर कीबोर्ड के बजाय Truly_Ergonomic_Computer_Keyboard था । इसे सही ढंग से दिखाता है, लेकिन विक्रेता और उत्पाद का नाम एक लाइन में एक साथ। xinput list
erik
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.