ADVANCED.TXT

********         KEEPKEY version 1.10, 1994         ********

This document contains additional information for advanced 
users.  The basic instructions on how to use KeepKey is in the 
file READ-ME.TXT.



                           CONTENTS:

1.    Advanced keyboard use
  1.1 General keyboard commands
  1.2 Program hotkeys
  1.3 Keyboard macros
  1.4 Redefining the beep sound

2.    Advanced mouse filtering
  2.1 Defining your own mouse button translations
  2.2 General mouse commands

3.    Silent start/stop of filtering

4.    Technical documentation
  4.1 WIN.INI
  4.2 KEEPKEY.INI

5.    Registration




1.          ADVANCED KEYBOARD USE

Almost anything in Windows can be done in at least two ways: 
With the mouse or with the keyboard.  The advantage of using 
the mouse is that you don't have to remember a lot of cryptic 
commands.  However, if you use a particular function very 
often, it may be worthwhile learning the keyboard command for 
that function.  Using the keyboard is often much faster than 
using the mouse, especially if your hands are already on the 
keyboard.  KeepKey makes the use of key combinations such as 
Shift+Ins even more convenient because you don't have to hold 
down the Shift key until you have pressed the Ins key.

Windows programs have shortcut key commands for the most 
commonly used functions.  You can see directly what these 
shortcuts are: Take a look at the menu bar of any Windows 
program.  You will see that some of the words have one letter 
underlined.  If for example the word Help has the H under-
lined, this means that you can open the Help menu by pressing 
Alt+H.  In general, you can activate any item that has one 
letter underlined by pressing the Alt key followed by the 
underlined letter.  Not only menus, but also dialog boxes 
often have items with one letter underlined.  This means that 
the shortcut road to that item is to press the Alt key 
followed by the underlined letter.

If you look at the menu bar of your favorite word processor, 
you will probably find a pull-down menu named "Edit".  In this 
pull-down menu is a line with the text  "Copy  Ctrl+Ins".
This means that Ctrl+Ins is a shortcut to the Copy command.
You don't even have to open the menu to copy text, just press 
the Ctrl and Ins keys.  If a line in a pull-down menu has 
neither an underlined letter nor an indication of shortcut 
keys, then press the first letter in that line, or use the 
arrow keys to select the desired line, then press Enter.



1.1         GENERAL KEYBOARD COMMANDS

Many keyboard commands are the same in almost all Windows 
programs.  If you know these commands, then you can do almost 
anything without the mouse.


Commands for handling programs:

Ctrl+Tab or Ctrl+F6:  Select a group in Program Manager.
Arrow Keys:  Select an icon.
Enter:       Open program group or icon.
Ctrl+F4:     Close program group.
Alt+F4:      Close program or window.
Alt+Space:   Select control box of program window.
F10:         Activate menu.
Alt:         The Alt key alone does the same thing as F10: to 
             set focus on the menu.  However, this function is 
             disabled by KeepKey because it would interfere 
             with holding the Alt key.  In stead you can use 
             F10 or press the Alt key twice.
Alt+Enter:   Reduces a full screen DOS program to a window.

The most convenient way to switch between several running 
programs is to hold down the Alt key and press Tab several 
times until you see the name of the desired program, then 
release the Alt key.  Alternative methods are to press Alt+Esc 
several times to switch programs, or press Ctrl+Esc to get a 
job list from which you can select the desired program.


Commands for handling windows and documents within a program: 

Ctrl+Tab or Ctrl+F6: Switch between documents.
Ctrl+F4:             Close document or child window.
F1:                  Help.
Alt+-:               Activate local control box of child window.
PrintScreen:         Copy the entire screen image to clipboard.
Alt+PrintScreen:     Copy the active window to clipboard.


Commands in dialog boxes:

A dialog box is a little pop-up window that tells you 
something and often requests that you answer some questions.
A typical dialog box has an "OK" button and a "Cancel" button.
It may also have other buttons, checkboxes, listboxes, or a 
field where you can write a filename or something.  All these 
things in a dialog box are called control items.

if the "OK" button has a thick border, it can be activated 
with the Enter key.  The "Cancel" button is activated with the 
Esc key or Alt+F4.  If a control item has a text with one 
letter underlined, you can activate it with the Alt key + the 
underlined letter.  Activating other control items without 
using the mouse is a little more complicated.  Press the Tab 
key several times to move the focus to the item you want.  The 
focus is indicated with a dotted line rectangle, that moves 
every time you press the Tab key.  You can also press 
Shift+Tab to move it backwards.  Use Alt+Down Arrow to open a 
hidden list (Combo box).  Use the arrow keys to move the focus 
within a list or within a group of radio buttons.  Use the 
Space bar to activate the item that has the focus.


Commands for editing text:

Ins:               Switch between insert and overwrite mode.
Ctrl+Right Arrow:  Move writing cursor to next word.
Ctrl+Left Arrow:   Move to previous word.
Ctrl+Home:         Move to start of document.
Ctrl+End:          Move to end of document.
Del:               Delete forwards.
Backspace:         Delete backwards.
Ctrl+Backspace:    Delete word (only in some programs).
Alt+Backspace:     Undo last changes in text.
Shift+Arrow Keys:  Highlight text.
Ctrl+Shift+Arrow Keys: Highlight words.
Ctrl+Ins:          Copy highlighted text to clipboard.
Shift+Del:         Move highlighted text to clipboard (cut).
Shift+Ins:         Insert text from clipboard (paste).

Highlighted text is deleted by pressing Del or Backspace or 
simply by writing something else.  The highlighting is removed 
by pressing one of the arrow keys.



1.2         PROGRAM HOTKEYS

You can define hotkeys for the programs you use most.  Then 
you can start the program simply by pressing that key combi-
nation.

The facility for defining program hotkeys is in the Program 
Manager.  Select the icon for the program you want a hotkey 
for.  Then select "Properties" in the "File" menu of Program 
Manager.  Go to the field "Shortcut Key" and press the desired 
key combination.  It is recommended to use a key combination 
with the Ctrl and Alt keys together for program hotkeys.  For 
example Ctrl+Alt+F for the File Manager.  If you have a non-
american keyboard setup, you can use the AltGr key in stead of 
Ctrl+Alt.

The program hotkeys can be used in two situations:  When the 
program manager is active, or when the desired program is 
running in the background.



1.3         KEYBOARD MACROS

If you often type the same piece of text or the same sequence 
of keystrokes, you may take advantage of defining a hotkey for 
generating that text.  This is called a macro.

Most word processors and many other programs have built in 
facilities for defining such macros.  It is recommended that 
you use these macro facilities in your application programs 
rather than the Windows Recorder.  The reason for this is that 
there are technical problems with using this macro recorder 
together with KeepKey.  The Windows Recorder is a filter that 
translates keyboard messages into something else, and KeepKey 
is also such a filter.  The problem is that the system does 
not allow a message to be translated twice, so the Recorder 
cannot use the held shift key messages from KeepKey.

If you decide to use the Windows Recorder anyway, make sure 
you hold down the Shift, Ctrl, and Alt keys until you have 
pressed the next key while you record a macro as well as when 
you press a hotkey for playing back the macro.

These problems will be solved in a future version of KeepKey.



1.4         REDEFINING THE BEEP SOUND

KeepKey makes a beep sound when a held Shift, Ctrl, or Alt key 
is canceled.  This happens when the maximum hold time is 
exceeded or when the same key is pressed again.

Making another sound in stead of this beep is only possible if 
you have special sound equipment on your computer.

Use Notepad to edit the file WIN.INI which is in the C:\WINDOWS
directory.  Under the heading [Sounds] you will find a line 
looking like this:

SystemAsterisk=chord.wav

You may define another sound by changing the name on the right 
side of the equal sign to another .WAV file.




2.          ADVANCED MOUSE FILTERING

2.1         DEFINING YOUR OWN MOUSE BUTTON TRANSLATIONS

KeepKey has four predefined options for mouse button 
translation:

- Left and Right button together gives Left button double-click.

- Middle button gives Left button double-click.

- Middle button gives Shift key + Left mouse button.

- Middle button gives Ctrl key + Left mouse button.

It is possible to define almost any other translation of mouse 
buttons by modifying a file named KEEPKEY.INI.  This file is 
in the same directory as the KEEPKEY.EXE program file (not in 
the C:\WINDOWS directory).  You can use Notepad to modify the 
KEEPKEY.INI file.  If there is no KEEPKEY.INI file, you can 
create one by opening the "File" menu in the KeepKey program 
and selecting "Save settings".

The definitions of mouse translations are written under the 
heading [Mouse] in KEEPKEY.INI.  A translation definition may 
look like this:

MiddleButton=Ctrl key + Left mouse button

This means that pressing the Middle mouse button will be 
translated into holding down the Ctrl key while pressing the
left mouse button.  You can define another translation for the
Middle button by changing the text on the right side of the 
equal sign.  But don't change anything on the left side of the 
equal signs.

The following words are recognized after the equal signs:

Shift, Ctrl, Alt, Left, Middle, Right, Double, Triple,
Quadruple, Nothing.

Other words like Key, Mouse, Button, Single, and Click may be 
added for clarity, but have no effect.  The order of the 
keywords is unimportant, and you can use lower case or upper 
case freely.

If you don't write anything after the equal sign, then the 
mouse button will be accepted as it is without translation.  
If you write the word NOTHING after the equal sign, then the 
mouse button will be translated into nothing, i.e. canceled.

Translating a single mouse button:

The left mouse button should never be translated, since it is
used in all Windows programs.  If you are left-handed and you 
want to swap the left and right mouse buttons, then you should
use the menu "Mouse options" and "Swapping left and right
button".

The middle mouse button may be translated since it is rarely 
used in Windows programs.

The right mouse button is needed in some Windows programs, and
it will surely be used more in future programs (see below).
In order to avoid problems with future programs you may not
want to translate the right mouse button alone.

Translating a combination of two mouse buttons:

You may translate any combination of two mouse buttons into 
anything else.  KeepKey makes a distinction between which of 
the two buttons you press first.  This is illustrated by the 
following example:

Left+RightButton=Left button Double click
Right+LeftButton=Shift key + Left button

If you write these lines in KEEPKEY.INI under the heading 
[Mouse], then the following will happen: When you press the
left mouse button, and then the right mouse button while the
left button is still down, then you get a double-click.  If
you press the right button first, and then the left button
while the right button is still down, then you get the
combination of the Shift key and the left mouse button.  If
you want to be able to press the two buttons simultaneously, 
or if you don't want KeepKey to distinguish which of the two 
buttons you press first, then you should of course translate 
both combinations to the same:

Left+RightButton=Left button Double click
Right+LeftButton=Left button Double click

However, in some cases it still matters which button you press 
first.  KeepKey always lets the first button you press go 
right through to your application program, because it doesn't 
know what comes after. I'm sure you want your programs to 
respond immediately whenever you press a mouse button, so you 
don't want KeepKey to delay all mouse button messages in order 
to see if some other button comes after.

You should be aware of this when you choose which mouse button 
combinations to translate into what.  If, for example, your 
application program reacts to the right mouse button by 
displaying a message box with some help information, then you 
shouldn't translate a combination beginning with the right 
mouse button into something that would be disturbed by this 
help message.

You should also be careful with translations beginning with 
the left mouse button.  If, for example, you translate the
combination of the left and then the Middle button into Ctrl +
left button, then you cannot use this to select multiple files
in the File Manager, because the left button click, which the
File Manager receives before the Ctrl+left button message,
would remove the highlighting from the previously selected 
files.  For this reason you shouldn't translate a combination 
beginning with the left mouse button into Ctrl+left button or
Shift+left button.

Translation of combinations beginning with the Middle button 
are the most safe, because the Middle button doesn't do 
anything, unless you also translate the Middle button alone 
into something.  So don't do this:

MiddleButton=Left button Double click
Middle+LeftButton=Ctrl + Left button
Middle+RightButton=Ctrl + Right button

In the above example you would get a double-click as soon as 
you press the middle button, which would possibly prevent you 
from doing what you want when you press the two button 
combination.  You should rather do this:

MiddleButton=Nothing
Middle+LeftButton=Ctrl + Left button
Middle+RightButton=Ctrl + Right button
Left+MiddleButton=Left button Double click

If your Windows system is version 3.0, then you will get more 
problems of this type, because under version 3.0 your programs 
will receive all the untranslated messages as well as the 
translated messages.  So make sure your Windows system is 
version 3.1 or later if you want to make complex mouse 
translations.

It is not possible to translate a combination of all three 
mouse buttons together.



2.2         GENERAL MOUSE COMMANDS

The facility for mouse button translations will make it more 
convenient for you to use some of the more complex mouse 
commands, which you may not have used previously.  Here is a 
general overview of mouse commands and what they do: 

Left button click:
  Pick an item or select a spot where you want to write.

Left button double-click:
  In Program Manager and File Manager: Open a program or 
  document.  
  Any window: Double-clicking on the [-] sign in the upper 
  left  corner of a window closes it.
  In text: Highlight a word.

Dragging with the left button down:
  You can move a window by dragging its caption bar.  
  You can change the size of a window by dragging its border.  
  In Program Manager you can move an icon to another group.  
  In File Manager you can move a file to another directory or 
  disk.
  Dragging a program file or document from File Manager to 
  Program Manager will create a new icon for that program or 
  document.  
  In text you can highlight a block of text by dragging from 
  the beginning of the block to the end.

Middle button:
  Seldom used.

Right button click:
  Some programs use the right button for purposes specific to 
  that program.
  In some programs the right button gives you help information 
  about the item you are pointing at.  This feature will be 
  more common in future programs.  In future programs the 
  right button will also be used to copy or move text.

Shift key + left mouse button click:
  Highlight text from current writing position till mouse 
  position.  
  In File Manager: select a contiguous range of files.  

Shift key + left button double-click:
  In Program Manager and File Manager: Start program minimized 
  as an icon in the background (same as Shift+Enter).

Ctrl key + left mouse button click:
  In File Manager: select multiple files.
  In text: highlight line.

Ctrl key + left mouse button drag:
  In Program Manager and File Manager: copy icon or file.

Alt key + left mouse button double-click:
  In Program Manager and File Manager: set properties and 
  attributes (same as Alt+Enter).  




3.          SILENT START/STOP OF FILTERING

You can turn on keyboard and mouse filtering without opening 
the KeepKey program window by requesting that the program run 
minimized or by adding the word ON to the command line after 
the program name KEEPKEY.  The previously saved settings will 
be applied.  The program exits as soon as the filters are 
loaded and turned on, so you cannot se KeepKey on the task 
list.

This is also the way KeepKey starts if you have requested 
"Start filters each time Windows starts up".

If you want to test, whether shift key hold is on or off, then 
press a Shift key twice.  You will hear a beep sound if the 
keyboard filter is on.

You can turn off keyboard and mouse filtering in a similar way 
by adding the word OFF to the command line after the program 
name KEEPKEY.  You may want to make a separate icon for this 
purpose.  You have 3 different icon colors to choose between.




4.          TECHNICAL DOCUMENTATION

4.1         WIN.INI

KeepKey may make the following changes in the system file 
WIN.INI in the section [windows]:

The automatic start of the filters each time Windows starts up 
is specified in the command:

LOAD=...(path)...\KEEPKEY.EXE

If other program names are also specified here for automatic 
load, they will be separated by spaces.

The double-click options are specified with the commands:

DoubleClickSpeed=...
DoubleClickHeight=...
DoubleClickWidth=...



4.2         KEEPKEY.INI

The file KEEPKEY.INI contains the setup choices for KeepKey.
It is stored in the same directory as KEEPKEY.EXE, not in the 
WINDOWS directory.

KEEPKEY.INI contains the following sections and parameters:
[System]
LoadAtStartup
This variable is 1 if KeepKey should be loaded automatically,
0 if not.

[Keyboard]
HoldLeftShift, HoldRightShift,
HoldLeftCtrl, HoldRightCtrl,
HoldLeftAlt, HoldRightAlt
These variables are 1 if the specified key should be held.

HoldTime
Maximum hold time in milliseconds.

[Mouse]
Translation of mouse buttons or combinations of mouse buttons 
are specified under this heading.  See section 2.1 above for 
details.




5.          REGISTRATION

KeepKey is a SHAREWARE program.  This means that you are 
allowed to copy and test the program without paying.  But if 
you decide to use the program regularly, then you are required 
to pay a registration fee of 40 US $ or equivalent to the 
address below.

Registered users will automatically receive the next version 
of KeepKey with several new advanced features as soon as it is 
available.

Questions from un-registered users will not be answered.

You are encouraged to share copies of this program with 
anybody you want.  Make sure each copy contains the following 
files: READ-ME.TXT  ADVANCED.TXT  KEEPKEY.EXE  KK30.DLL  
KK31.DLL


Methods of payment:

- International checks.

- Cash (registered mail).

- Bank transfer to GiroBank Denmark, Swift code GICODKKK,
  Account No. 114 0817.

- Europe: Giro transfer to Denmark 114 0817.

No credit cards, please.


          ACON ApS Software
          P.O. Box 843
          2400 Copenhagen NV
          DENMARK

