KBEXT.PRG (Version 2.00-87/07) ------------------------------ Put KBEXT.PRG into the AUTO folder, or start it at any time from the desktop (but only once a session). It will establish a memory resident extension to the keyboard interrupt handler, which allows in addition to the NORMAL, SHIFT and CAPS-LOCK keyboard tables also ALT and ALT-SHIFT keyboard tables to be used, thus allowing about 128 additional characters to be entered directly from the keyboard pressing the ALT key. If you use KBEXT.PRG as it is, you will get the following keyboard layout (which is close to the US and GB version of the ATARI keyboard for the non-ALT keys): NORMAL: F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10/ Esc 1 2 3 4 5 6 7 8 9 0 - = ` Bsp Help Undo ( ) / * Tab q w e r t y u i o p [ ] Del Insrt Up Clr 7 8 9 - Ctrl a s d f g h j k l ; ' Ret # Left Dwn Rght 4 5 6 + Shft \ z x c v b n m , . / Shft 1 2 3 Ent Alt -----Space----- CpsL 0 . SHIFT (note that no digits appear with the cursor keys, which means you need not release the SHIFT key to move the cursor!) F11/F12/F13/F14/F15/F16/F17/F18/F19/F20/ Esc ! @ # $ % ^ & * ( ) _ + Bsp Help Undo ( ) / * Tab Q W E R T Y U I O P { } Del Insrt Up Clr 7 8 9 - Ctrl A S D F G H J K L : " Ret ~ Left Dwn Rght 4 5 6 + Shft | Z X C V B N M < > ? Shft 1 2 3 Ent Alt -----Space----- CpsL 0 . CAPS-LOCK: F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10/ Esc 1 2 3 4 5 6 7 8 9 0 - = ` Bsp Help Undo ( ) / * Tab Q W E R T Y U I O P [ ] Del Insrt Up Clr 7 8 9 - Ctrl A S D F G H J K L ; ' Ret # Left Dwn Rght 4 5 6 + Shft \ Z X C V B N M , . / Shft 1 2 3 Ent Alt -----Space----- CpsL 0 . ALT: F1 /F2 /F3 /F4 /F5 /F6 /F7 /F8 /F9 /F10/ Esc Bsp SDump Tab Del LMous MUp RMs Ctrl Ret MLeft MDn MRgt Shft Shft Ent Alt -----Space----- CpsL SHIFT & ALT: F11/F12/F13/F14/F15/F16/F17/F18/F19/F20/ Esc Bsp SDump Tab Del LMous Mup RMs Ctrl Ret Mleft Mdn Mrgt Shft Shft Ent Alt -----Space----- CpsL There are two ways to change the keyboard assignment: 1. Change the keyboard tables in KBEXT.ASM and reassemble the program. You may have to change some control statements to fit your assembler's requirements, but the program is written to make changes even to MEGAMAX-C-Inline-Assembler not too hard (Use a minimal INIT.C here to save memory). 2. Use any PD keyboard-changing program, which allows to save a xxx.KBD file (check if it has 384 bytes), e.g. MOBZKEY.ACC, and make two files: DEFAULT.KBD for the normal keyboard assignment, and ALT.KBD with the unshifted and shifted ALT keyboard assignments (don't change the caps-lock table here, you will need CAPS LOCK to type into the file-selector box, since MOBZKEY changes the keyboard assignment immediately!). Put these two files into the \AUTO\ folder of your boot disk, if you use KBEXT at boot time, or into the \AUTO\ folder of your working disk containig KBEXT.PRG otherwise. From now on the tables in these datasets will be used, when KBEXT is run. A third possibility would be to make the files DEFAULT.KBD and ALT.KBD mentioned in (2) by a separate program, a file monitor etc. The format of a KBD file is simply 3 times 128 bytes of the keyboard tables (one byte per character) for normal, shifted and caps-lock. The key numbers (hexadecimal) are: 3B /3C /3D /3E /3F /40 /41 /42 /43 /44 / 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 29 0E 62 61 63 64 65 66 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 53 52 48 47 67 68 69 4A [1D] 1E 1F 20 21 22 23 24 25 26 27 28 1C 2B 4B 50 4D 6A 6B 6C 4E [2A](60)2C 2D 2E 2F 30 31 32 33 34 35 [36] 6D 6E 6F 72 [38] -------39------ [3A] 70 71 Note that US keyboards don't have the key (60). You should assign 0 to all function keys, and to the positions that do not belong to any key. Key number redefinitions with the ALT key are automatically taken into account by KBEXT, after reading the ALT.KBD file. Enjoy, Roland Waldi, WALDI @ DHDIHEP1.BITNET