Seconding a recommendation for Startech's KVMs. They have an excellent USB stack which handles complex USB hierarchies flawlessly -- I've successfully used mine with chained hubs, weird HID devices like Apple keyboards, and non-HID devices like disks, audio interfaces, and even stranger things.
https://www.startech.com/Server-Management/KVM-Switches/2-po...