Déterminer le fabricant et le model du périphérique xinput?

J'essaie de find le fabricant de l'appareil et le model de mon keyboard et pavé tactile afin que je puisse écrire un file de configuration XOrg en le ciblant via:

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

Comment puis-je découvrir le nom d'un produit et d'un fournisseur à l'aide d'un outil CLI? Je voudrais clouer mon pavé tactile et keyboard Bluetooth afin d'être en mesure d'adapter la configuration Xorg.

Pour les périphériques USB sous Linux, vous pouvez utiliser:

 lsusb -v | grep -e idProduct -e idVendor 

Pour les ID seulement:

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

lsusb utilise /var/lib/usbutils/usb.ids pour traduire les identifiants en noms , je ne sais pas si Xorg utiliserait la même source.

Nom du produit de l'appareil (model)

Obtenez le nom du produit (ou model ) du xinput list aide de la xinput list . Exemple de sortie pourrait ressembler à ceci:

 # 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)] 

Dans la sortie ci-dessus, le nom du model ou du produit de l'appareil à écran tactile est «Écran tactile ELAN».

Chemin du périphérique (nœud)

Pour get le nom du fournisseur xinput (ou le fabricant ), nous devons connaître le périphérique Path (également appelé Device Node) pour interroger, puis requestr des udevadm info . Vous pouvez get le path en listant les propriétés xinput pour un périphérique et en trouvant la valeur 'Device Node'.

Dans notre exemple précédent, la valeur du nœud de périphérique pour l'écran tactile, qui indique qu'il a id=10 , peut être trouvée comme ceci:

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

Nom du fournisseur de l'appareil (fabricant)

Nous pouvons maintenant get le nom du fournisseur (ou fabricant ) du périphérique xinput en examinant la valeur de la propriété VENDOR returnnée par udevadm info pour le périphérique avec le nom de path que nous avons trouvé ci-dessus:

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

Dans la sortie ci-dessus, le nom du fabricant ou du vendeur pour l'écran tactile serait "ELAN".

Configuration XOrg

En InputClass tous ces éléments, nous pouvons créer une nouvelle section InputClass configuration XOrg pour faire correspondre des fournisseurs, des produits ou des paths de périphérique spécifiques. En utilisant nos exemples précédents, cette section correspond à tout produit d'écran tactile fabriqué par le vendeur ELAN:

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

Merci à @ Stéphane , @Daniel et @ ManuelSchneid3r

MatchProduct "Product Name" ne fonctionne pas avec la sortie de la suggestion de Stephane lsusb -v | grep -e idProduct -e idVendor lsusb -v | grep -e idProduct -e idVendor . Je viens de le tester.

xinput list produit la string correcte qui fonctionne avec MatchProduct

J'ai trouvé les commands suivantes pour find le model / fournisseur à utiliser avec la configuration de xorg.conf.

De https://bbs.archlinux.org/viewtopic.php?pid=753773 : (où / dev / sdx est remplacé par le path du périphérique du périphérique cible, à savoir / dev / input / mouse1)

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

Selon http://fedoraproject.org/wiki/Input_device_configuration :

 udevadm info --export-db | grep ID_MODEL