Udev
From Bashlinux
udev
How to setup a usb hub to assign a specific port for multiple mouse input
Stor (7 ports USB Hub)
KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].2/input1",NAME="input/mouse0" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].3/input1",NAME="input/mouse1" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].4/input1",NAME="input/mouse2" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].5/input1",NAME="input/mouse5" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].6/input1",NAME="input/mouse4" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].7/input1",NAME="input/mouse3"
Keningston (7 ports USB Hub)
KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.3-[1-9]/input1",NAME="input/mouse6" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].1/input1",NAME="input/mouse0" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].2/input1",NAME="input/mouse1" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].3/input1",NAME="input/mouse2" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].4.3/input1",NAME="input/mouse3" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].4.2/input1",NAME="input/mouse4" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.7-[1-9].4.1/input1",NAME="input/mouse5"
Cyberpower (7 ports USB Hub)
KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].1/input1",NAME="input/mouse0" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].2/input1",NAME="input/mouse1" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].3/input1",NAME="input/mouse2" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].4/input1",NAME="input/mouse3" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].5/input1",NAME="input/mouse4" KERNEL=="mouse*", SYSFS{phys}=="usb-0000:00:1d.[1-9]-[1-9].6/input1",NAME="input/mouse5"