Es verwendet Mechanismen, die von libudev verfügbar gemacht werden.
Indem wir uns in den Xorg-Quellcode einarbeiten, können wir in udev.c sehen, dass es aufruft udev_monitor_new_from_netlink
.
Beim Betrachten des udev-Quellcodes können wir in libudev-monitor.c sehen, dass diese Funktion schließlich einen netlink-Socket erstellt .
Ich kenne keine einfache Möglichkeit, Netlink-Sockets zu "schnüffeln"; Es gibt jedoch wahrscheinlich einen Beispielcode in udev, den Sie kompilieren und ausführen können, um dieselbe Quelle von Ereignissen zu abonnieren und ausführliche Informationen anzuzeigen.
In Ihrer Situation würde ich Folgendes versuchen:
- Kann ich andere Eingabegeräte trennen bzw. wieder anschließen? (zB eine beliebige USB-Maus oder Tastatur)
- was sehe ich in udev-protokollen, wenn ich das tablet trenne / wieder anschließen?
Und welche Art von Nachrichten werden übrigens in X-Protokollen ausgegeben?