It looks like the hardware is handling the keys the same way as any other normal key - by putting it on into the keyboard buffer (which is not done for the shift/alt/control keys). Maybe I need to write my own KeyPressed/ReadKey routines to remove the characters off the buffer instead of Borlans's routines. Interesting problem. Tree