Normalmente, você pode encontrar essas informações explorando /sys
se você estiver em um kernel 2.6.
por exemplo,
$ ls -la /dev/input/mouse1
crw-r----- 1 root root 13, 33 2010-03-08 15:56 /dev/input/mouse1
$ ls -la /sys/class/input/mouse1/device/driver
lrwxrwxrwx 1 root root 0 2010-05-12 23:33 /sys/class/input/mouse1/device/driver -> ../../../../../../bus/usb/drivers/usbhid
Portanto, o driver, neste caso, é usbhid
. Pode haver uma maneira melhor / mais simples de fazer isso, mas acho que cavar em sysfs geralmente faz o trabalho.