Key This! 1.0 (June 7, 2004)
Written by Chris Stuhr
cstuhr@comcast.net


What is it?
-----------
This is a handy little utility I wrote for detecting key strokes and
displaying them on-screen for troubleshooting or configuration purposes.  
Inspired by the useful KEYHOOK utility found on www.arcadecontrols.com
and www.retroblast.com.

This app goes a bit further by not only showing you individual keystrokes,
but it can also show simultaneous key combinations, limited to 10
currently. Note that most keyboards use a matrix to map keys to outputs
so some key combinations may not work on your keyboard.  See the NOTES for
more information.

Key This! also adds these benefits:
 - Shows key combinations.
 - Has better detection of left and right SHIFT/ALT/CTRL keys.
 - Recognizes left and right Windows keys and the context menu key.
 - Aable to differentiate the numeric keypad functions when "num lock"
   is on and off.
 - View real-time Windows parameters.
 - Shows Caps Lock/Num Lock/Scroll Lock status on screen.
 - Continues to show keystrokes even when another application has focus



License:
--------
You may use this software free of charge for non-commercial use and you may
redistribute it as long as it remains unmodified and includes this 
README.TXT file. 



Usage:
------
Use this software at your own risk.  Although I highly doubt that any
harm could come of it, I guarantee nothing.

 - Unzip the file to a folder.
 - Double click it.

Press any keys to view the results.

Also, you may click the "Show Advanced Info" checkbox to see real-time
windows parameters for the last key that you press.




Requirements:
-------------
 - Windows NT/2000/XP
 - VB6 runtime may be required on some systems.
 - A Keyboard

I've programmed and tested it myself on a few different US English 
101 and 104 key PS/2 style keyboards and it seems to work fairly
well with a few exceptions (see NOTES).

If anyone does run it on Windows 95/98/ME and it works let me know.
I have no Win9x (nor do I intend to support) machines to test on.


Notes:
------
 - THIS PROGRAM IN NO WAY COLLECTS, RECORDS OR TRANSMITS ANY KEYSTROKES. 
   (i.e. it's not a keylogger)
 - The application is hooking keyboard inputs as long as it's running
   whether or not it has focus.  
 - The window is set to be "always on top."
 - The pause/break has slightly different behavior than other keys.  
   It seems to be only momentary.
 - The Num Lock on some keyboard models does not register until
   your release it.
 - Mileage will vary with respect to simultaneous combinations with
   keyboard input devices that uses a matrix.  
   For more information on keyboard matrices (aka ghosting) see:
     - http://www.arcadecontrols.com/arcade_technical.shtml#Ghosting
     - http://www.dribin.org/dave/keyboard/html/   



Limitations:
------------
 - Currently only supports up to 10 simultaneous key presses.
 - I have no idea what it will do on foreign language editions of
   MS Windows.


Enjoy!
