デバイス製品名(モデル)
を使用して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 Touchscreen」です。
デバイスパス(ノード)
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の構成
すべてをまとめると、特定のデバイスベンダー、製品、またはパスに一致する新しいXOrg構成InputClass
セクションを作成できます。前の例を使用して、このセクションはELANベンダーによって製造されたすべてのタッチスクリーン製品に一致します。
Section "InputClass"
Identifier "elan touchscreen catchall"
MatchDevicePath "/dev/input/event*"
MatchProduct "Touchscreen"
MatchVendor "ELAN"
EndSection
おかげで@ステファン、@Danielと@ ManuelSchneid3r