Dec 222017
Keyboard Acknowledger - Adds a click for each keypress.
File KACK10.ZIP from The Programmer’s Corner in
Category Utilities for DOS and Windows Machines
Keyboard Acknowledger – Adds a click for each keypress.
File Name File Size Zip Size Zip Type
KACK.8 20166 4935 deflated
KACK.COM 1689 1133 deflated
KACK.DOC 4691 2012 deflated
SWOL.BAT 23 23 stored
SWOL.TXT 1604 650 deflated
_DESC.BTM 160 109 deflated

Download File KACK10.ZIP Here

Contents of the KACK.DOC file

Documentation for KACK v1.0

Quick start

KACK is short for Key Accelerate & Click Key. It is a program
which speeds up the typematic rate of the keyboard and/or gives
a click each time pressing a key. Entering only `KACK' at the
command line gives you this message:

Usage: KACK /
/C for key Clicks
/n (1..4) keyspeed
/P x = tone period (100..10000)
/U unload from memory

Case of the argument is irrelevant. Some examples of usage:

KACK /1 gives lowest repeat rate (about 7.5cps).
KACK /4 gives fastest repeat rate (about 30cps).
KACK /C /4 as above plus making clicks.
KACK /C4p200 as above with higher tone
KACK /U remove from memory if resident.

The program goes resident if the click function (/C) is chosen.
No click is heard when a key is released, neither when pressing
a shift-key (Alt, Ctrl, LeftShift or RightShift). Changing type-
matic rate is only possible on an AT or better. The PC/XT hasn't
the 8042 keyboard processor which does this possible.

Technical notes

As a TSR, KACK will occupy only 160 bytes. This exceptional low
memory usage is accomplished by using assembly language and by
disposing most of the PSP. Most of this PSP area is of no use to
this program. Many textbooks warns agains modifying values below
5Ch, but the word at 5Ch (DOS function dispatched) is a left-
over from the CP/M days. I have found no program that rely on
this value. Certainly not this program. (BTW, PkLite 1.14 puts
the word 4B50h ('PK') at this location).

If you wish to use a similar technique when making TSRs, be sure
to leave the start of the PSP unchanged as this area is used for
restoring interrupt vectors when exiting the program. Consult
your technical literature for information on the PSP. The inter-
rupt list edited by Ralf Brown is an indispensable tool. Look
for INTER30?.ZIP or later on BBSes or at a shareware supplier.

The program also releases its environment block when going TSR.
Thus making the program invisible to memory mapping utilities
like MapMem or Manifest when running MS-DOS prior to MS-DOS 5.
To make the memory hole left by the environment block as small
as possible, reduce your environment as much as possible. If
installed in your AUTOEXEC.BAT place the call before your PATH
or PROMPT statement. If your are using 4DOS, a simple trick is
to put a `@' before `KACK'. This will reduce some environment

To unload the program enter `KACK /u' at the DOS prompt. This
frees the memory used (even if loaded high). If any TSR loaded
after KACK grabs the keyboard interrupt, unloading becomes impos-
sible. KACK will have no way of knowing the last owner of INT 9.
This is the only interrupt KACK is hooking. If the memory block
associated with KACK has become destroyed, execution halt with
an error message. See the source code in KACK.8 for details.

This program is released as FreeWare. Use the accompanied source
code with caution. You are free to modify it as you pleases, but
leave my name in as the originator of the code. The program has
undergone tests on several PCs with MS-DOS 3.2, MS-DOS 5.0 and
DR-DOS 6.0. No problems has been noted. If you have any problems
using KACK, or find any errors or incompatabilities please drop
me a message through one of the following channels:

InterNet: [email protected]
Fido: 2:502/503
PolarNet: GISLE VANEM @YRO (for Norwegians mostly)
RIME conf: Software or shareware
ILink conf: Shareware & Reviews
Snail-Mail: Gisle Vanem, Breimyra 56
5091 Flaktveit, Bergen, NORWAY
tel. +47-5-188249


9. July 1992

 December 22, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>