/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
* |_o_o|\\ Copyright (c) 1989, 1990 The Software Distillery.              *
* |. o.| ||          All Rights Reserved                                  *
* | .  | ||          Written by Doug Walker                               *
* | o  | ||          The Software Distillery                              *
* |  . |//           405 B3 Gooseneck Drive                               *
* ======             Cary, NC 27513                                       *
*                    BBS:(919)-382-8265                                   *
*                                                                        *
* USENET: ...mcnc!rti!sas!walker     PLINK: dwalker      BIX: djwalker    *
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

NetKeys is Copyright (c) 1989, 1990 The Software Distillery.
Permission is granted to distribute programs and data in this distribution
provided the following conditions are met:

   1.  All files present in the distribution package must be redistributed
       with the package, including this documentation file.  If you 
       distribute on diskette, all files must be on a single diskette.

   2.  The distributor may charge a fee to recover distribution costs.
       The fee for diskette distribution should not be more than the cost 
       to obtain the same diskette from Fred Fish or The Software Distillery,
       whichever is greater.  Current charge from The Software Distillery
       is $6 per disk for US and Canadian distribution, $7 elsewhere, including 
       all postage and handling charges.

   3.  The distributor agrees to cease distributing the programs and data
       involved if requested to do so by the author or any member of The 
       Software Distillery.

------------------------------DISCLAIMER

Neither The Software Distillery nor any of its members will be held liable for 
any damage arising from the failure of this program to perform as described,
or any destruction of other programs or data residing on a system 
attempting to run the program.  While we expect no damaging errors, the 
user of this program uses it at his or her own risk.

------------------------------ACKNOWLEDGEMENTS
 Written in Lattice C V5.05.  Thanks to Matt Dillon for DNET!

Contributions to continue development of this and other fine products for the
Amiga may be sent to the Software Distillery at the above address.

Other Products produced by the Software Distillery are:
   BLINK      - the Turbo-charged Alink replacement
   HACK       - The Amiga port of the famous UNIX game
   LARN       - Another famous UNIX game
   MEMWATCH   - Protects your machine from random trashes
   MEMLIB     - A library of memory debugging routines
   MAKE       - A software development tool one shouldn't be without
   KERMIT     - The World renown file transfer protocol brought to the Amiga
   ICONEXEC, SETALTERNATE, SETWINDOW - Icon manipulation tools
   TSIZE      - A short utility for determining directory sizes.
   POPCLI     - A hotkey utility and screen blanker.
   PICKPACKET - A tutorial program for learning about the DOS packet interface
   NET:       - An Amiga-to-Amiga network file system running on either the 
                parallel or serial ports with no additional hardware.
   FILEHANDLER- An example file system written entirely in C
   

All of these are available on our BBS.

-----------------------------THE GOOD STUFF

NETKEYS solves a problem that I encountered when I bought my Amiga 2000.
Naturally, I kept my A1000 around;  therefore, I became a two-Amiga Amigoid.
Unfortunately, I discovered it was a pain to switch keyboards and mice to
get from one to the other Amiga.  The solution to this is NETKEYS.  NETKEYS
installs itself in the input event chain (AHEAD of Intuition) and, on demand,
intercepts all keystrokes and mouse events and ships them off to the other
machine.  

NETKEYS uses Matt Dillon's DNET networking package.  DNET is freely redist-
ributable, available on Fred Fish #294 and on all the major nets.  To use 
NETKEYS effectively, you will have to have the two machines sitting next to 
each other, so you should connect them with a simple null modem cable and use
the following command to start DNET on both machines:

RUN DNET -s -X -h0 -Z0 -P0 -m0

(If you have the older version 1.x of DNET, just use RUN DNET -s).  DNET will
use the baud rate you have set in preferences.  If you find NETKEYS to be
hanging up or acting strangely, try a lower baud rate;  I find the fastest
I can use is 9600.  After the DNET windows come up on both machines, you 
should be able to type characters into one window and see them in the other.
Select STARTDNET from one of the machines' menus. If the other machines' 
window does not disappear, use the QUITDNET command or the BREAK command to 
get the DNET window back and try it again.  DNET uses the file 
S:DNET.SERVERS to locate server programs; you will need to add a line like

9494   sys:dnet/snetkeys  ram:   ;NETKEYS server

in order for DNET to find the NETKEYS server.  Change the path to reflect
the actual path of the server, but don't modify the number 9494.

Once DNET has been set up properly, move to the machine whose keyboard
you would like to use.  Type 'NETKEYS'.  NetKeys detaches itself from the
CLI, so there is no need to use RUN or RUNBACK.  Once NetKeys is installed,
hitting Left-Amiga-R will toggle between the two machines.  Also, moving the
mouse cursor off the left edge of your machine will cause it to appear on
the right edge of the remote machine;  and moving it off the right edge of
your screen will cause it to appear on the left edge.

If you would like to use a key other than Left-Amiga-R, you can pass a 
parameter of the form '0x##' where ## is the hexadecimal raw key code for the
key to be used.  For example, NETKEYS 0x13 would use Left-Amiga-R, just like
the default; NETKEYS 0x14 would use Left-Amiga-T, and so forth.  You can 
change the key NetKeys uses after invoking it by reinvoking it with different
parameters.

If you want to get rid of NETKEYS, just type NETKEYS QUIT.  Other options are
listed below.

Have fun! 

--Doug

------------------------------SYNTAX GUIDE

Parms to NETKEYS are letters;  each stands for a word.  You can type the
entire keyword if you like, but netkeys will only look at the first letter.

NETKEYS [0xnn] [F|S] [L|R|W] [Q]

   0xnn    -   Use the key with raw hexadecimal key code 0xnn as the hotkey
               to swap displays.

   F|S     -   [F]ast (default) or [S]mooth.  When the [F]ast option is 
               active, NETKEYS will combine multiple mouse movement events 
               into one in order to get faster results.  When [S]mooth is 
               selected, it will not do this.  [F]ast is the default.

   [L|R|W] -   [L]eft, [R]ight or [W]rap.  If [L]eft is active, the mouse
               cursor will exit from the left edge of the main display and
               appear on the right edge of the slave display.  If [R]ight
               is active, the mouse cursor will exit from the right edge of
               the main display and appear on the left edge of the slave.  If
               [W]rap is active, both sides of the main display will cause
               the cursor to appear on the slave.  [W]rap is the default.

   [Q]         [Q]uit.  Terminates a running NETKEYS process.

If you enter a NETKEYS command and NETKEYS is already running, the parameters
of the running NETKEYS command are modified.  Thus, you can change from
FAST to SMOOTH on the fly by issuing

 NETKEYS FAST   ;  start up NETKEYS in FAST mode
 NETKEYS SMOOTH ;  change to SMOOTH mode

Remember that NETKEYS only looks at the first character of your parameters.
Therefore, you have exactly the same effect as the above with

 NETKEYS FUTILE ;  first character is 'F' = FAST
 NETKEYS STUPID ;  first character is 'S' = SMOOTH

------------------------------DISTRIBUTION LIST

channel.h                   1724
dnet.h                      6639
nkutil.c                    2509
netkeys.h                   4109
snetkeys.c                  5856
netkeys.c                  15146
makefile                     709
netkeys.doc                 8409
snetkeys                    5840
netkeys                     9396
mshow.c                     1595
dnetlib.c                  10399
