You are better off using the dialog mentioned by jm666, but there are other ways to drop this cat.
read -n 1 x; while read -n 1 -t .1 y; do x="$x$y"; done
Basically, wait until you read the character, and then start consuming the input signal until 1 second has passed without input.
A warning. Fast typists can get annoyed. You may need to configure this timeout.
source share