Great script!
but, I'd like to warn you about a possible error for those who copy and paste the script..
you'll see a line that looks like this:
CODE
if Input.trigger?(Input::B)
thats wrong.. I think it's because B and ) force the emoticon:

so replace it with:
CODE
if Input.trigger?(Input::B )
(withought the extra space)
Edit- oh, now it doesn't show the emoticon...