This bug can be reproduced on any architecture, plug in 2 usb mice, then unplug the first one... there's your gap in event device numbers. Here's a patch:
--- lsinput.c.orig 2004-04-21 04:55:44.000000000 -0700
+++ lsinput.c 2006-07-09 16:38:19.000000000 -0700
@@ -13,11 +13,11 @@
for (i = 0; i < 32; i++) {
/* try to open */
- fd = device_open(i,1);
- if (-1 == fd)
- return;
- device_info(fd);
- close(fd);
+ fd = device_open(i,0);
+ if (-1 != fd) {
+ device_info(fd);
+ close(fd);
+ }
}
return;
}

