Tên sản phẩm thiết bị (Model)
Nhận tên sản phẩm (hoặc kiểu máy ) thiết bị xinput bằng cách sử dụng xinput list
. Ví dụ đầu ra có thể trông giống như thế này:
# 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)]
Ở đầu ra trên, kiểu máy hoặc tên sản phẩm cho thiết bị Màn hình cảm ứng là "Màn hình cảm ứng ELAN".
Đường dẫn thiết bị (Nút)
Để có được Tên nhà cung cấp thiết bị xinput (hoặc nhà sản xuất ), chúng ta cần biết Đường dẫn thiết bị (còn gọi là Nút thiết bị) để truy vấn, sau đó hỏi udevadm info
. Bạn có thể nhận đường dẫn bằng cách liệt kê các thuộc tính xinput cho một thiết bị và tìm giá trị 'Nút thiết bị'.
Từ ví dụ trước của chúng tôi, giá trị Nút thiết bị cho Màn hình cảm ứng, cho biết nó có id=10
, có thể được tìm thấy như thế này:
# xinput list-props 10 | grep 'Device Node'
Device Node (253): "/dev/input/event9"
Tên nhà cung cấp thiết bị (Nhà sản xuất)
Bây giờ chúng ta có thể lấy Tên nhà cung cấp thiết bị xinput (hoặc nhà sản xuất ) bằng cách xem giá trị của thuộc VENDOR
tính được trả về udevadm info
cho thiết bị có tên đường dẫn được tìm thấy ở trên:
# udevadm info --query=property --name=/dev/input/event9 | grep 'VENDOR='
ID_VENDOR=ELAN
Trong đầu ra ở trên, tên nhà sản xuất hoặc nhà cung cấp cho Màn hình cảm ứng sẽ là "ELAN".
Cấu hình XOrg
Đặt tất cả lại với nhau, chúng ta có thể tạo Phần cấu hình XOrgInputClass
mới để khớp với các nhà cung cấp thiết bị, sản phẩm hoặc đường dẫn cụ thể. Sử dụng các ví dụ trước của chúng tôi, phần này khớp với bất kỳ Sản phẩm màn hình cảm ứng nào do Nhà cung cấp ELAN sản xuất:
Section "InputClass"
Identifier "elan touchscreen catchall"
MatchDevicePath "/dev/input/event*"
MatchProduct "Touchscreen"
MatchVendor "ELAN"
EndSection
Nhờ @ Stéphane , @Daniel và @ ManuelSchneid3r