I rarely fall back on a virus as a cause, mainly because it actually is a rare occurrence and often explainable as something else. In this case though, it's hard not to believe it's not a virus.
That said, I might safe boot with networking, then point my browser at the eset online scanner found here: http://www.eset.com/us/online-scanner/
I'd keep the usb hub disconnected, and the keyboard connected to a native usb port (assuming you have it connected elsewhere usually.) I'd keep scanners, printers, cams, and any other device out of the picture while figuring this out.
A rollback should wait till you determine if you're clean.
Have you installed something new lately? Like just before things went wonky?
Visit any strange websites?
Anyone have access to your computer other than you on a regular basis?