Ummm... "PC's (including the PCDuino, Raspberry PI, etc.)..." Yeah, these are not PCs, they're both ARMs. PCs use the x86 or x86_64 architecture, and these don't.
Sounds like you're confusing USB hosts and USB devices, too. A keyboard or mouse is still a guest device, not a host. What am I missing?