Open up the project, and drag the blue <key () pressed> block into your backpack. Its input contains a join block whose first argument is blank (NOT a space), and the second is the name of the key. Dump reporter blocks (ovals) into the second white slot, and you're ready to go! :)
Hacked keypress block! Now it accepts a variable argument. How did I do it? I opened up the project offline, messed around with the project.json file, and re-uploaded it with the inputified block. Easy! Also works with ;~!@#$%^&*(){}[]<> Tutorial: http://scratch.mit.edu/discuss/topic/1810/?page=1