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.