всеми устройствами рулит ядро, в udev вы его просите при определении по признакам подключать так как вам это надо..
основные команды для понимания:
lshw - список всего вашего железа..
lsusb - список портов usb и устройств
dmesg|tail - реакция ядра на подключение устройства, время устройство и.т.д
dmesg - полная информация о работе железа, его пишет ядро системы..
cat /proc/bus/usb/devices описание всех usb устройств..
udev - написание правил "реакции" . требует понимания работы ядра, если вы плохо это знаете, советую почитать документацию, описать тут кратко очень сложно.. вариаций там много.. я обычно использую готовые правила для экспериментов.. но надо понимать, что можно уронить систему..
в конкретно вашем случае, проблема разделения потоков устройств в системе xorg, ядро все тут не решает..
нужен комплексный подход.. читать логи Xorg.log
сообщения ядра и подгонять устройства..