Приветствую. Встала задача определить устройства ввода - указатели (мыши, тачпады, трекпады) и прочая.
xinput определяет лишь частично, в том плане что он показывает ВСЕ устройства ввода, реальным из которых является только одно.
ntfs@debian:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SEMICO USB Keyboard Consumer Control id=11 [slave pointer (2)]
⎜ ↳ SIGMACHIP Usb Mouse id=13 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ SEMICO USB Keyboard id=10 [slave keyboard (3)]
↳ SEMICO USB Keyboard System Control id=12 [slave keyboard (3)]
↳ SEMICO USB Keyboard Consumer Control id=14 [slave keyboard (3)]
↳ Gmix USB Webcam: Gmix USB Webca id=15 [slave keyboard (3)]
Из этого реально лишь «SIGMACHIP Usb Mouse». Грепать по вхождению слова «Mouse» \ «Touchpad» \ «Trackpad» не вариант, потому что есть риск что производитель назовет свое устройство «SIGMACHIP Usb cursor pointer» и определялка превратится в тыкву.
У кого-нибудь есть идеи, как можно определить реальные устройства ввода в своей системе, более-менее штатными утилитами ?
Спасибо.
Upd: можно понять только при раскопке list-props каждого девайса, и поиска свойства, свойственного указателю, к примеру скорости указателя