(Apologies if I already posted somthing like this - its been a confusing morning ) I wanted to point out that if you do a "qdevice( KEYBD )" instead of queueing the individual keyboard keys you only get an event when a key is pressed down. Then with... event = qread( &val ); when event == KEYBD then val == ascii value of key depressed. -Tim Hall tjh at bu-pub.bu.edu