Название продукта устройства (модель)
Получите название продукта (или модель ) устройства 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 для устройства и найдя значение «Device Node».
Из нашего предыдущего примера значение Device Node для сенсорного экрана, которое говорит, что оно имеет 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