Он использует механизмы, представленные libudev.
Копаясь в исходном коде Xorg, мы видим в udev.c, что он вызывает udev_monitor_new_from_netlink
.
Затем, изучая исходный код udev, мы видим в libudev-monitor.c, что эта функция в конечном итоге создает сокет netlink .
Я не знаю простого способа «понюхать» сокеты netlink; но, вероятно, в udev есть пример кода, который вы можете скомпилировать и запустить, чтобы подписаться на один и тот же источник событий и отобразить подробную информацию.
В вашей ситуации я бы попробовал это:
- я могу отключить / повторно подключить другие устройства ввода? (например, любая USB-мышь или клавиатура)
- что я вижу в логах udev при отключении / повторном подключении планшета?
И, кстати, какие сообщения спамятся в журналах Х?