All hail VirtualBox and its creators.
Innotek (now owned by Sun) have a product of enormous importance and significance. I have no doubt that VMware and other virtualization software shares some or all of VirtualBox's capabilities but surely they can't all be this easy.
I am talking about the USB capabilities of the closed source, but still free, version 1.5.6. The virtual machine can talk directly to the host's USB ports allowing you to install on XP (for example) the manufacturer's XP drivers for printers and scanners and anything else!
Download a copy of the closed source version appropriate to your distribution (also download the easy to follow manual). Run the necessary installer. Run VirtualBox and set up the basic environment for the operating system/s you want.
To set up USB and filters first run 'VBoxManage list usbhost' from a terminal to get the appropriate IDs, although this can also be done from within the machine menu hierarchy (doesn't seem to give as much specificity here). You will need to have the device attached and switched at this point (I eventaully realised). Under 'Settings/USB' add each device you need and fill in the details. And away you go.
Start the machine, install your client OS and install the drivers at the appropriate time.
I could use my printer but I couldn't use its full capabilities or manage its resources from Linux and I couldn't use my scanner at all. Now, using a folder shared between client and host, I can print in a linux app. to PDF or some other compatible format; open the very fast virtual XP machine and print it, perfectly. I can scan in XP, save to shared folder and use it imediately in Linux.
Brilliant, thank you Innotek. Now all I need to be able to ditch the Windows box is the ability to talk directly to PCI devices. Of course I have had to install a fully licensed XP in the virtual box to acheive all of this this. I have not had to take advantage of the fascinating post I stumbled across called something like - 'How to bypass WPA (Windows Activation) on Windows XP. - by FittMunken'.
addendum:
and even if I had followed Fittmunken's advice, it does not work (alledgedly); after 30 days time is still up. I imagine though that if I take advantage of VirtualBoxManage's ability to offset the virtual machine's clock, the problem will go away ;)

