driverblock wrote:Actually, the next time someone asks me for the most difficult way to get into electronics that I can think of, I may very well suggest this project. It's a lot more complicated than it may seem, and it's just not a realistic project for a beginner.
In actuality, a practical implementation would be overwhelmingly a software project, rather than a hardware one. You could build the hardware rather than buying it, but doing so would not be cost effective, and the software task would only grow (as you'd have to get the base operating system running on untested hardware).
Let's look at the USB case, since that is the harder problem.
Hosting a USB device basically requires a microprocessor which can run fairly complicated software, with memory for buffering. For something like a keyboard or a mouse you might get away with an arduino (though even then it would not be cost effective), but realistically you are talking about something like an embedded ARM platform with megabytes of memory. Something like a rasberry pi, beaglebone, chumby guts, shivaplug, etc. Or an old/small PC or laptop.
Basically, you plug the USB peripheral(s) into that, write software that proxies them over wifi, and write software for your laptop that connects the remoted peripherals to the applications that need to use them. Where "write software" is a comparatively quite large and complicated project, if you have programs that expect to talk directly to the USB devices or undocumented drivers. If your programs are willing to talk to generic interfaces (ie, a USB-connected peripheral is only one possibility) then remoting things may be a little easier, but it's still not trivial.
If I recall, there have been more link-level USB wireless extenders marketed. They aren't cheap and probably have severe limitations.
The most effective path may actually be to replace your usb peripherals with other solutions - for example, bluetooth (or other wireless) mouse. Hard drive attached to a Network-Attached-Storage box, or served via a machine also on your wifi, etc.