[comp.binaries.ibm.pc] Keyboard "fix" TSRs

toma@tekgvs.TEK.COM (Tom Almy) (06/17/88)

[I particularly like the KBD102 program, as it turns my 84-keyboard's
CAPSLOCK key into a second ALT key.  For those of us with editors
that use ALT-commands, a second ALT key on the right-hand side of 
the keyboard is very handy, indeed.  (R_SHIFT-CAPSLOCK still gives
you the CapsLock function.)

Like many TSRs, these do not release their environment segments prior
to terminating, so, as the author suggests, they should be loaded prior
to set'ing a large number of environment variables.  DF]

The KBD* functions are TSRs (Terminate and Stay Resident utilities) which
correct what some users consider to be keyboard deficiencies in various
keyboards.  These TSRs take very little space, especially when loaded in the
AUTOEXEC.BAT file before any SET commands.

These programs are intended only for PC/AT or AT-clone systems!

KBDR.COM  maps the CapsLock key into an additional Ctrl key, unless the right
shift key is simultaneously depressed.  This is useful for 101-key keyboard
users accustomed to virtually any other terminal keyboard.

KBDL.COM does the same mapping, but requires the use of the left shift key.
This gives 84-key keyboard users a right-hand ctrl key just like those lucky
101-key keyboard users get!

KBDESC.COM exchanges the Esc and `~ keys, putting the escape key in a more
standard (and certainly more reachable) position on the 84 key keyboards.
Users of 101 key keyboards might find this slightly more convenient than the
original positioning.

KBDLESC.COM combines the mapping of KBDL.COM and KBDESC.COM. 101 key users
that want to combine KBDESC and KBDR can run them both!

KBD102.COM is for use on the Northgate Omnikey/102 keyboard.  After exchanging
the Ctrl and Capslock keys in hardware, this TSR is used to make the new 
Caps Lock key act like a third Alt key (shifted it is Caps Lock).  This puts 
an Alt key in the same position it is in the 84 key keyboard.

The final program, NUMLOCK.COM, turns off NUMLOCK.  It is not a TSR.

All of these programs were written by me, using the CFORTH Forth Compiler,
and are placed in public domain for the benefit of other PC users who are
frustrated with these keyboard designs.

I am not supplying sources, the programs are small enough that DEBUG can be
used to reverse-engineer them.

Tom Almy
toma@tekgvs.TEK.COM

Name          Length    Stowage    SF   Size now  Date       Time    CRC
============  ========  ========  ====  ========  =========  ======  ====
KBD102.COM         332  Crunched    4%       322  16 Jun 88   7:10a  28ED
KBDESC.COM         301  Crunched    8%       278  15 Jun 88   7:18a  3624
KBDL.COM           332  Crunched    4%       321  15 Jun 88   7:03a  93C3
KBDLESC.COM        410  Crunched    9%       377  15 Jun 88   7:16a  F391
KBDR.COM           333  Crunched    4%       323  15 Jun 88   7:00a  252D
NUMLOCK.COM         58     --       0%        58  15 Jun 88   7:22a  2247
README            2150  Crunched   37%      1364  16 Jun 88   7:14a  4FCC
        ====  ========            ====  ========
Total      7      3916             23%      3043

---cut-here---
begin 666 keyboard.arc
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
(15BD6P("&@#)
`
end
---cut-here---