QKSHOW.DOC ========== This BASIC program is intended for those of you who are using the QWIKKEY keyboard redefinition program, QK21, by Anton Fleig. QKSHOW's purpose is to display or print the current values in a key definition file. These values are: The ATTENTION character The ESCAPE lead-in character The WARM BOOT flag The DEFINED keys and their current DEFINITIONS This information is important, especially when you want to revise the key definitions. It is also useful for making a hard copy of your key definition files for documentation purposes. You may display or print the keys and their definitions as HEX codes or as ASCII character equivalents. Both forms have their advantages. I wrote it in BASIC as an experiment, and because I work most efficiently in that language. As it stands, the BASIC code is not very elegant, but it does the job. Some day I may translate it into Z80 Assembler code, or I may just wait until someone else does it. What I would like to see is a program that would not only examine all the current values of a key file, but would also allow changing any of the values at the same time. This can be done using DDT or a patch program like PATCH18A, but it would be even better if there were a program tailored for use with QK. As some of you who use QK may already be aware, once you have defined a key, you cannot get it out of the definition file, except by patching. All you can do is redefine it, or start a new key file. This is a nuisance that a key file editor would avoid. When you request output in ASCII form, QKSHOW outputs all characters below ASCII 20H (32 decimal) as their control character equivalents, e.g., 0DH as ^M. It outputs all characters from 7EH to FFH (126 to 255 decimal) as hex codes, whether you request ASCII or HEX output, as the characters in this range are generally only useful to you as hex codes. I find QKSHOW to be an invaluable aid toward getting the best use out of my QK key files. After setting up a key file, I check it out with QKSHOW to make sure that I got what I intended. QKSHOW will allow me to see whether I have duplicate definitions, keys defined in error or defined as themselves. All of these situations can then be remedied with DDT or PATCH18A, or, if there are too many bad entries, I can start QK over again to create a new key file. QKSHOW also tells me how many keys have already been defined, which lets me know how many more definitions I may add, if I should want to. One thing that using QKSHOW brought to my attention is that QK would only redefine 29 keys, and not 31 as Tony Fleig's DOC file states. I would get an error message, when I attempted to redefine the 30th key. I thought that I might get around this by using DDT to patch in the 30th and 31st definitions, but on running the key file, I found that QK just ignored these additional definitions. I was not really hampered by this limitation, but my curiosity led me to find the bug (at least in my copy) and fix it. If your copy of QK will not define more than 29 keys, and you feel comfortable with either DDT or a patching program, just change the byte at 0838H of QK.COM from 25H to 65H. You should then be able to define 31 keys. I wish to thank Tony Fleig for offering such a useful program as QK to the public domain. There isn't a day that I use my computer that I don't use his QK program. I know about GKEY2, the other great public domain key program by Eric Gans, and can heartily recommend it, but Tony's program has to be my choice, because it allows the redefinition of keys with hex codes above 7FH. It happens that all of my keyboard's function keys (I have a XEROX 820-II) send codes with the high bit set (80H to FFH) and only QK can handle them. Good Luck. Ernest Helliwell : San Francisco, CA : 20 DEC 1987