DVORAK.COM - a generic keyboard remapper, usually for DSK. Last updated 1993 June 8 Dvorak.Com remaps your AT keyboard to the Dvorak layout. It is a TSR that takes 288 bytes of RAM. MASM source is provided for you to create variants or so you can roll your own TSRs to swap or rearrange selected keys in ways completely unrelated to the Dvorak layout. The code is well commented and serves as a teaching example on keyboard TSRs. Limitations: AT only, no XT. Requires AT-style INT 15 multiplex BIOS interrupt support. No hot key enable/disable. No safety code to prevent loading twice. Copyrighted, but may be freely copied for non-military use only. Roedy Green Canadian Mind Products #601 - 1330 Burrard Vancouver BC, V6Z 2B8 (604) 685-8412 This program may be freely copied and used for any purpose except military. Usage: insert this command near the end of your autoexec.bat file: Dvorak It will translate your keyboard to Dvorak layout. Note it only works on AT computers. XT computers require a more complex method. NOTE: There is no way to get rid of Dvorak except by rebooting. There is no hot key to enable or disable it. There are several reasons for this: 1. If you have modified your keyboard to DSK keycap layout, you could not type QWERTY on it anyway. Thus there never any need to disable DVORAK. 2. Leaving out Hot key support keeps the code very small -- under 1K. 3. If you really needed to disable it, you could use Mark/Release. 4. I wanted this code to be a teaching example. I did not want to have any more complications that necessary. What Dvorak is for ****************** Dvorak lets you use a faster, saner keyboard layout. Also Dvorak is a skeleton program to write your own compact keyboard remapping routines. The foreign language support routines that come with DOS take up too much RAM. There is no support for the Dvorak layout. How Dvorak Works **************** For the AT we leave a small TSR resident that intercepts the INT 15 4F keyboard remap interrupt that gets triggered by hardware every time there is a keystroke event (down or up). We translate the scan code to a different value. The way XT BIOS is designed, there is no INT 15 4F, so this program will not work. You MIGHT have some success with an XT if you type this first: C:\DOS\KEYB.COM /E US,437,C:\DOS\KEYBOARD.SYS For old DOS versions, prior to 5.0, leave out the /E. The Dvorak Layout ***************** Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 ~ ! @ # $ % ^ @ * ( ) | + { Bsp ` 1 2 3 4 5 6 7 8 9 0 \ = [ Tab " < > P Y F G C R L ? } ' , . p y f g c r l / ] CapsLock A O E U I D H T N S ___ Ent a o e u i d h t n s - Shf : Q J K X B M W V Z Shf ; q j k x b m w v z Ctrl Alt Space Alt Ctrl The original QWERTY Layout ************************** Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 ~ ! @ # $ % ^ @ * ( ) --- + ! Bsp ` 1 2 3 4 5 6 7 8 9 0 - = \ Tab Q W E R T Y U I O P { } q w e r t y u i o p [ ] CapsLock A S D F G H J K L : " Ent a s d f g h j k l ; ' Shf Z X C V B N M < > ? Shf z x c v b n m , . / Ctrl Alt Space Alt Ctrl Feel free to modify the translate table to better fit the eccentricities of your keyboard. Trouble Shooting **************** > When I went into Windows, all of a sudden my keyboard went back to > QWERTY layout. Windows bypasses the keyboard BIOS routines and goes straight to the metal, bypassing DVORAK. Use the control panel in Windows, go into International and select the US-DVORAK keyboard layout. It won't exactly match the DVORAK.COM's version, but you can adjust DVORAK.com or the Windows keyboard driver to match. > When I went into Microsoft Word, all of a sudden my keyboard went > back to QWERTY layout. Like Windows, Word cheats and bypasses keyboard BIOS. Microsoft keeps secret how to write Word keyboard drivers, so you are out of luck. Ditto for WordPerfect. Dvorak.Com is just to let you get your feet wet. If you are serious, get a Northgate Omnikey Ultra keyboard that handles the Dvorak/Qwery switching in the keyboard itself without any software. It will then work with any program, even Windows, Word and WordPerfect. They think it has a normal QWERTY layout. -30-