The virtual keyboard on my laptop was lagging too much so I bought a nanopad, it's ace. I also use an m-audio interface and run my guitars through amplitube or guitar rig. They're nice pieces of kit for cheap but I find them a little bit laggy - could just be that my laptop sucks.... I think most DAW's will let you run the drums the way blue mountain describes, reaper can do it automatically if you tell it to. Not sure I'd go to that trouble for demos but I think it would sound awesome for full productions! I've not done any recording for ages this way. These days I mostly use garageband or imaschine on my ipad for jotting down ideas, It's quicker and less fuss.