craig@med.unc.edu (Ron Craig) (06/08/91)
Somebody in comp.misc asked for the DVORAK keyboard layout. A good article on the topic was posted to comp.misc, and a request was made for ways to implement the layout. I posted a note in comp.misc directing folks here since this is specific to ms-dos. I looked on simtel, but didn't find anything more than hints and a couple of programs I couldn't get to work. Here are the fruits of my labor, free for the taking. I happened to have a spare 101-key AT keyboard, so I rearranged the keycaps as shown at the end of this posting, and wrote the following 2 batch files (DVORAK.BAT and SHOLES.BAT) to do the "poor-man's kludge." That is, I use ANSI.SYS to redefine the keys. Doesn't work for programs that go straight to the hardware to get keystrokes, but it's better than nothing. ------cut here--------DVORAK.BAT----------------------------------------- @REM This batch file uses ANSI.SYS to redefine a 101-key AT to Dvorak layout. @REM Note that you may need to expand your DOS environment with the /E:size @REM parameter of the SHELL= directive in your config.sys file @REM Released into the Public Domain by Ron Craig 1991 -- craig@med.unc.edu -- @set pmp=%prompt% @REM b-x c-j d-e e-. f-u g-i h-d i-c j-h k-t l-n prompt $e[98;"x"p prompt $e[99;"j"p prompt $e[100;"e"p prompt $e[101;"."p prompt $e[102;"u"p prompt $e[103;"i"p prompt $e[104;"d"p prompt $e[105;"c"p prompt $e[106;"h"p prompt $e[107;"t"p prompt $e[108;"n"p @REM n-b o-r p-l q-' r-p s-o t-y u-g v-k w-, x-q y-f z-; prompt $e[110;"b"p prompt $e[111;"r"p prompt $e[112;"l"p prompt $e[113;39p prompt $e[114;"p"p prompt $e[115;"o"p prompt $e[116;"y"p prompt $e[117;"g"p prompt $e[118;"k"p prompt $e[119;44p prompt $e[120;"q"p prompt $e[121;"f"p prompt $e[122;59p @REM B-X C-J D-E E-greater-than F-U G-I H-D I-C J-H K-T L-N prompt $e[66;"X"p prompt $e[67;"J"p prompt $e[68;"E"p prompt $e[69;62p prompt $e[70;"U"p prompt $e[71;"I"p prompt $e[72;"D"p prompt $e[73;"C"p prompt $e[74;"H"p prompt $e[75;"T"p prompt $e[76;"N"p @REM N-B O-R P-L Q-" R-P S-O T-Y U-G V-K W-less-than X-Q Y-F Z-: prompt $e[78;"B"p prompt $e[79;"R"p prompt $e[80;"L"p prompt $e[81;34p prompt $e[82;"P"p prompt $e[83;"O"p prompt $e[84;"Y"p prompt $e[85;"G"p prompt $e[86;"K"p prompt $e[87;60p prompt $e[88;"Q"p prompt $e[89;"F"p prompt $e[90;58p @REM :-S ;-s prompt $e[58;"S"p prompt $e[59;"s"p @REM '-- "-_ prompt $e[39;45p prompt $e[34;95p @REM ,-w less-than-W prompt $e[44;"w"p prompt $e[60;"W"p @REM .-v greater-than-V prompt $e[46;"v"p prompt $e[62;"V"p @REM /-z ?-Z prompt $e[47;"z"p prompt $e[63;"Z"p @REM --\ _-broken-bar prompt $e[45;92p prompt $e[95;124p @REM [-/ {-? prompt $e[91;47p prompt $e[123;63p @REM \-[ broken-bar-{ prompt $e[92;91p prompt $e[124;123p prompt $e[37;37p @prompt=%pmp% @set pmp= @echo. @echo Your keyboard is now set up for Dvorak ------cut here----------end of DVORAK.BAT------------------- ------cut here----------SHOLES.BAT-------------------------- @REM This batch file uses ANSI.SYS to reset a 101-key AT to Sholes @REM Note that you may need to expand your DOS environment with the /E:size @REM parameter of the SHELL= directive in your config.sys file @REM Released into the Public Domain by Ron Craig 1991 -- craig@med.unc.edu -- @set pmp=%prompt% @REM reset b c d e f g h i j k l prompt $e[98;98p prompt $e[99;99p prompt $e[100;100p prompt $e[101;101p prompt $e[102;102p prompt $e[103;103p prompt $e[104;104p prompt $e[105;105p prompt $e[106;106p prompt $e[107;107p prompt $e[108;108p @REM reset n o p q r s t u v w x y z prompt $e[110;110p prompt $e[111;111p prompt $e[112;112p prompt $e[113;113p prompt $e[114;114p prompt $e[115;115p prompt $e[116;116p prompt $e[117;117p prompt $e[118;118p prompt $e[119;119p prompt $e[120;120p prompt $e[121;121p prompt $e[122;122p @REM reset B C D E F G H I J K L prompt $e[66;66p prompt $e[67;67p prompt $e[68;68p prompt $e[69;69p prompt $e[70;70p prompt $e[71;71p prompt $e[72;72p prompt $e[73;73p prompt $e[74;74p prompt $e[75;75p prompt $e[76;76p @REM reset N O P Q R S T U V W X Y Z prompt $e[78;78p prompt $e[79;79p prompt $e[80;80p prompt $e[81;81p prompt $e[82;82p prompt $e[83;83p prompt $e[84;84p prompt $e[85;85p prompt $e[86;86p prompt $e[87;87p prompt $e[88;88p prompt $e[89;89p prompt $e[90;90p @REM reset : ; prompt $e[58;58p prompt $e[59;59p @REM reset ' " prompt $e[39;39p prompt $e[34;34p @REM reset , less-than prompt $e[44;44p prompt $e[60;60p @REM reset . greater-than prompt $e[46;46p prompt $e[62;62p @REM reset / ? prompt $e[47;47p prompt $e[63;63p @REM reset - _ prompt $e[45;45p prompt $e[95;95p @REM reset [ { prompt $e[91;91p prompt $e[123;123p @REM reset \ broken-bar prompt $e[92;92p prompt $e[124;124p prompt $e[37;37p @prompt=%pmp% @set pmp= @echo. @echo Your keyboard is now set up for Sholes ---------cut here----------end of SHOLES.BAT------------------------- In article <1991May29.172841.25136@cs.utk.edu> shuford@cs.utk.edu (Richard Shuford) gave us the layout for a 101-key expanded keyboard: > > Dvorak Sholes > ------ ------ > ~!@#$%^&*()|+{ ~!@#$%^&*()_+| shifted top row > `1234567890\=[ `1234567890-=\ unshifted top row > > "<>PYFGCRL?} QWERTYUIOP{} > ',.pyfgcrl/] qwertyuiop[] > > AOEUIDHTNS_ ASDFGHJKL:" > aoeuidhtns- asdfghjkl;' > > :QJKXBMWVZ ZXCVBNM<>? shifted bottom row > ;qjkxbmwvz zxcvbnm,./ unshifted bottom row > >Here follows a listing of a few ways to get a Dvorak layout on your >computer's keyboard. If anybody on the net knows of other good ways, >you can post them to "comp.misc", where the question was asked. Now if I can only get enough time to learn the layout. ;-> It isn't too bad, though. The vowels are on the left and consonants are on the right. I rarely have to move my hand from the home row. Anybody got a good layout for writing tons of C code quickly? ;-> Or how about a way to get ELVIS (a MS-DOS vi emulation) to keep me from reaching all over the keyboard for the hjkl movement keys? -- Ron Craig inet- craig@med.unc.edu CB# 8180 - UNC Chapel Hill bitnet- URONCR@UNC.BITNET AT&T- (919) 966-3681 Chapel Hill NC 27599-8180 My opinions are valued by UNC, not shared by them.