Porsche wrote: Is there a limitation with the USB driver, that a keyboard must be a low speed device?
No, there is no limitation. I've never used a USB KVM switch myself, but here's how it works.
The speed of the device is detected at the hardware level. That is, when you are going through the KVM switch, the USB host detects the speed of the device attached to it (the KVM switch). It sounds like in your case, this may be full-speed (12 Mbps). In turn, the KVM switch will need to determine the speed of the attached keyboard/mouse at the hardware level. If the two directions are different speeds, the KVM switch must somehow "buffer" things so both directions see what they need to see. In addition, the KVM switch must "simulate" the keyboard back towards the computer when the KVM is switched towards the second computer so the first computer thinks the keyboard is still attached but nobody is pressing any keys. The KVM switch also needs to correctly handle situations like one computer having the CapsLock or NumLock enabled (and the LEDs turned on) when the other computer has them off. The complication of this "juggling" is multiplied if you are mixing different speeds of devices (like a low-speed mouse and a full-speed keyboard or vice versa).
It sure seems like the problem is in the KVM switch -- it seems to be assuming something about the timing or protocol parameters or whatever that isn't quite correct. The fact that things work OK if you bypass the KVM switch seems to be pretty conclusive proof of that.
Regarding the second keyboard, it sounds like you're saying that even if you plug it directly into the computer (no KVM switch) it doesn't work? If so, we can do some more extensive troubleshooting on that. It's possible that there's something "funny" in the keyboard descriptors that USBKEYB doesn't like for some reason.
In any case, the drivers don't actually "care" what speed the keyboard is.