Peter Norton's book called Inside the IBM P.C. is pretty old these days, but it has a wealth of that kind of information. You are exactly right in that the status of the Caps lock key is a bit in a low memory address that can be set or cleared just like any other memory location. There is a ROM BIOS routine for toggling this bit as well as bits for Scroll lock and Numlock keys. There is a computer virus that causes randomization of the case of tHe letTerS BEIng typed by setting and clearing the Caps lock bit. When I wrote the speech driver that I use, I read that byte which has all those lock bits in it and produce a message when one of them changes. The shift keys do not modify these bits, but produce scan codes that are just like hitting any other key. The BIOS sees that you have hit the shift key so it makes an upper case letter if the mode was lower case or vice versa. Martin McCormick WB5AGZ Stillwater, OK 36.7N97.4W OSU Center for Computing and Information Services Data Communications Group