home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / MOUSE / K2ROD.ZIP / K2ROD.DOC < prev    next >
Encoding:
Text File  |  1991-03-15  |  30.7 KB  |  647 lines

  1.  
  2.  
  3.                            Key to the Mouse
  4.                               Release A
  5.                       Program and Documentation
  6.                  Copyright 1991 Andrew M. Saucci, Jr.
  7.                          All rights reserved
  8.  
  9.      Registration and payment information is at the end of this document.
  10.  
  11.                         WHAT THIS PROGRAM DOES
  12.  
  13.                Key to the Mouse modifies existing programs that do not
  14.      use a mouse to accept sequences of keystrokes from the mouse as if
  15.      they had been entered from the keyboard. The most useful case of
  16.      this is a file browser. The mouse can be programmed to send the
  17.      "Page Up" and "Page Down" keys (or any others) to the file browser,
  18.      which will then act the same way as if the actual keys had been
  19.      pressed. You can then sit back with the mouse in your hand and read
  20.      long documents without being hunched over the keyboard. Another use
  21.      is for programs which have every possible key combination already
  22.      defined. With this program you can gain an extra, easily used
  23.      function for each key on your mouse. The program may also be of
  24.      value to handicapped people who may not be able to use a keyboard
  25.      for some reason. Finally, in security-conscious installations,
  26.      the keyboard could be removed or disabled and limited input accepted
  27.      only from the mouse-- a good way to protect against unauthorized
  28.      rebooting or other prohibited actions.
  29.  
  30.                              HOW IT WORKS
  31.  
  32.                Key to the Mouse (KTM) "grafts" itself onto your
  33.      existing application and hooks itself into the system timer. About
  34.      18 times a second, KTM checks to see if one of the mouse keys has
  35.      been pressed. If so, that press is converted into the series of
  36.      keystrokes that you define at the start of the program, using
  37.      DOS environment variables. This series is then "stuffed" into the
  38.      keyboard buffer, where your application will find it at the next
  39.      check for keystrokes. The location of the mouse pointer is
  40.      irrelevant (it is ignored), and KTM does not put anything on
  41.      the screen while your original application is running.
  42.  
  43.                             COMPATIBILITY
  44.  
  45.                Key to the Mouse will work with any existing program
  46.      that does NOT use mouse input. The results of using KTM with
  47.      programs that DO use the mouse are unpredictable. You can try
  48.      it if you want, and no serious damage should result, but keep
  49.      your hand near the reset switch or power cord. It will run under
  50.      any version of MS-DOS or PC-DOS greater than 2.0, but if you
  51.      want to rename the program, version 3.0 or higher is required.
  52.      The computer must be 100% IBM PC-compatible, particularly with
  53.      regard to the location of the keyboard buffer and associated
  54.      information stored in the BIOS data area of low memory. Your
  55.      mouse driver must also use interrupt 33h and support functions
  56.      0 and 3. Most of you should still be in the running at this point.
  57.  
  58.                                 - 1 -
  59.                        USING THE DOS ENVIRONMENT
  60.  
  61.                Key to the Mouse uses five environment variables to
  62.      operate. The first thing to do is to insure that you have
  63.      sufficient space reserved in your DOS environment to hold these
  64.      variables. The default is a miserly 160 bytes, so you may need
  65.      to add more. In versions of DOS prior to 3.2, the environment
  66.      can be expanded, but the solution is rather arcane and beyond
  67.      the scope of these instructions. For those who are interested,
  68.      the complete information is available in PC Magazine's DOS Power
  69.      Tools, published by Bantam Computer Books. This is an expensive
  70.      book but worth every penny-- chock full of valuable information.
  71.  
  72.                Now, for DOS 3.2 or later, the solution is simple.
  73.      Just add the following line to your CONFIG.SYS file:
  74.  
  75.      SHELL=C:\COMMAND.COM /E:512 /P
  76.  
  77.      This increases the size of the environment to 512 bytes, and
  78.      the "/P" tells DOS to run your AUTOEXEC.BAT file. If COMMAND.COM
  79.      is not in your root directory, specify the full path in the
  80.      SHELL command. If necessary, you can increase the size of the
  81.      environment to as much as 32,768 bytes using this command,
  82.      but in most cases, 512 should be plenty. Keep in mind that the
  83.      larger environment is deducted from your available memory.
  84.  
  85.                The next thing you need to do is to set the various
  86.      environment variables. This is done either at the DOS command
  87.      prompt or within a batch file with the "SET" command. It takes
  88.      this form:
  89.  
  90.      SET variable=string
  91.  
  92.      where "variable" is one of the five variables mentioned below,
  93.      and "string" is any series of characters according to the rules
  94.      for the given variable. Do NOT add a space after the "=".
  95.  
  96.                The best place to set the environment variables will
  97.      probably be from a batch file. This way, you just enter the
  98.      name of the batch file, and the rest is done automatically.
  99.  
  100.      Here's a sample batch file that assigns a value to each of
  101.      the environment variables and then runs Key to the Mouse:
  102.  
  103.      set KMPROG=c:\util\browse.com
  104.      set KMRIGHT=$5000
  105.      set KMLEFT=$4800
  106.      set KMRATE=$01
  107.      set KMDELAY=$01
  108.      k2rod smith.txt
  109.  
  110.      If "browse.com" is a file browser, then this batch file will
  111.      tell KTM to run browse.com with the command-line parameter
  112.      "smith.txt" and make the right mouse key simulate the down
  113.      arrow, the left mouse key simulate the up arrow, delay one
  114.      clock tick before repeating a keypress, and then repeat keys
  115.      every other clock tick. If "smith.txt" is changed to "%1", then
  116.      this batch file can be used with any command-line parameter.
  117.  
  118.                                 - 2 -
  119.  
  120.  
  121.  
  122.                       KMPROG ENVIRONMENT VARIABLE
  123.  
  124.                This tells KTM the name of the program that will be
  125.      modified (the target program). You must include the .COM or .EXE
  126.      extension, and the program will be located more quickly if you
  127.      supply the full path name ("C:\UTIL\LIST.COM" instead of "LIST.COM").
  128.      If you do not supply the full path, KTM will look first in the
  129.      current directory, then in each of the directories specified by your
  130.      DOS PATH environment variable. If the program is on a floppy disk,
  131.      that disk must be in the drive when KTM is loaded, or else KTM will
  132.      not be able to find it. If KMPROG is not assigned a value, KTM will
  133.      not run, and the message
  134.  
  135.      Key to the Mouse: No program specified by SET KMPROG.
  136.  
  137.      will be displayed. By the way, all Key to the Mouse error messages
  138.      (except rare runtime errors 201-203) are prefaced either by "Key to
  139.      the Mouse:" or "KTM" to distinguish them from errors generated by the
  140.      target program. If the target program is not found, then the message
  141.  
  142.      Key to the Mouse: Target program not found.
  143.  
  144.      will be displayed, and KTM will not run.
  145.  
  146.                         KMRATE AND KMDELAY VARIABLES
  147.  
  148.                The "delay" (time a mouse key must be held down before
  149.      it begins repeating) and "rate" (how often that key will repeat
  150.      once it starts repeating) are adjustable. You use the KMRATE
  151.      and KMDELAY variables to do this. The default value of KMDELAY
  152.      is 10, and the default for KMRATE is 5. The default values are
  153.      used if you do not specify your own with KMDELAY and KMRATE.
  154.      The defaults are somewhat conservative, and you will probably
  155.      feel better with lower values, so experiment. Values for these
  156.      variables may range from 0 to 99, and values greater than 99
  157.      will be truncated (456 will become 45). The value represents
  158.      a number of clock ticks. A value of 3 for KMDELAY means to
  159.      wait three clock ticks (about 0.165 seconds) before repeating
  160.      a key. A value of 5 for KMRATE means to repeat a key every
  161.      fifth clock tick (about 0.275 seconds) once it starts repeating.
  162.      Values of 0 are acceptable and mean no delay and continuous
  163.      repeat (18.2 times a second).
  164.  
  165.                If invalid values are specified for these variables
  166.      (letters, for example), one or both of the messages
  167.  
  168.      Key to the Mouse: Invalid typematic delay. Substituting 10.
  169.      Key to the Mouse: Invalid typematic rate. Substituting 5.
  170.  
  171.      will appear as applicable. Key to the Mouse will then run
  172.      using the default values as if none had been specified.
  173.  
  174.  
  175.  
  176.                                - 3 -
  177.                       KMRIGHT, KMLEFT, AND KMMID
  178.  
  179.                These three variables control the series of keystrokes
  180.     that each key of your mouse will send to the target program when
  181.     pressed. (KMMID is not available on a two-button mouse and will
  182.     in that case be ignored.) You can specify either a series of
  183.     characters typed in the usual way, a series of hexadecimal
  184.     ASCII/scan code combinations, or a mixture of these.
  185.  
  186.     Example 1:
  187.     KMRIGHT=exit
  188.  
  189.     This will send the string "exit" to the target program (if the right
  190.     mouse key is pressed).
  191.  
  192.     Example 2:
  193.     KMRIGHT=exit$000D
  194.  
  195.     This will send "exit" followed by "Enter" to the target program.
  196.     The ASCII code for "Enter" is $0D. The scan code in this case
  197.     is $00, which is equivalent to typing "13" on the numeric keypad
  198.     while holding down "Alt".
  199.  
  200.                In most cases, the scan code is unimportant when using
  201.     ordinary characters, and $00 is fine, but some programs will not
  202.     recognize a scan code of $00 (or will treat it differently), and
  203.     in those cases you will have to select the exact scan code from the
  204.     included table of scan codes. Also, special keys such as Page Up
  205.     and F6 have non-zero scan codes (and an ASCII code of zero). These
  206.     must be selected from the "Non-ASCII" table (also included). Anytime
  207.     you specify a hexadecimal ASCII/scan code combination, it MUST be
  208.     preceded by a "$", and the next four characters are treated as part
  209.     of that value. (This also means that a dollar sign must always be
  210.     expressed as the $0524 or $0024 values.) The first pair of characters
  211.     is the scan code, and the second pair is the ASCII value.
  212.  
  213.     Example 3:
  214.     KMLEFT=cd\$1C0Ddir
  215.  
  216.     This will stuff the characters "cd\", a carriage return, and "dir"
  217.     into the keyboard buffer. (If at the DOS prompt with KTM loaded, DOS
  218.     would execute both these commands, changing to the root directory and
  219.     displaying the files there.) The "Enter" is as if the left "Enter"
  220.     key had been pressed (the "1C" indicates this).
  221.  
  222.                          KEYBOARD BUFFER SIZE
  223.  
  224.                Note that the size of the keyboard buffer on IBM PC's
  225.     and compatibles is 15 characters. This means that no KMLEFT,
  226.     KMRIGHT, or KMMID string can exceed 15 characters AFTER translation.
  227.     That is, "KMRIGHT=supercalafristicexpialadocious" is no good,
  228.     but "KMRIGHT=$0044$0055$0011$0074$0023$0099", which only stuffs
  229.     6 characters into the keyboard buffer, is quite all right. Also,
  230.     repeating keys and programs that take input slowly can quickly
  231.     fill the buffer. If the buffer will not hold an entire string
  232.     at the time it is sent, the string will be truncated and a
  233.     short beep will sound (similar to what happens when ordinary
  234.     keypresses fill the buffer).
  235.  
  236.                                - 4 -
  237.  
  238.  
  239.  
  240.                    ERRORS IN KMLEFT, KMRIGHT, & KMMID
  241.  
  242.                If you specify a string that is too long (in excess of
  243.      15 characters) the following message will be displayed:
  244.  
  245.      Key to the Mouse: String too long. Assignment truncated on <key> key.
  246.  
  247.      where <key> is the name of the affected key (left, right, or middle).
  248.      KTM will continue to run, and the target program will be loaded.
  249.  
  250.      If the specified string is invalid in any other way (for instance,
  251.      insufficient or non-hexadecimal digits immediately after a "$")
  252.      the following message will be displayed:
  253.  
  254.      Key to the Mouse: Invalid key string. No assignment made on <key> key.
  255.  
  256.      Again, KTM will continue minus the offending assignment.
  257.  
  258.                            OTHER ERRORS
  259.  
  260.                Three other errors can be generated by KTM itself.
  261.      The first is
  262.  
  263.      Key to the Mouse: Insufficient memory for application.
  264.  
  265.      This will terminate the program. You must have sufficient memory to
  266.      run the target program plus about 14,000 bytes for Key to the Mouse.
  267.  
  268.      The second of these errors is
  269.  
  270.      Key to the Mouse: Unable to initialize mouse.
  271.  
  272.      This will also terminate the program and means that either the
  273.      mouse driver is not loaded or the mouse is not found. If your
  274.      mouse is in working order with a valid driver loaded from either
  275.      CONFIG.SYS or AUTOEXEC.BAT, this error should not occur.
  276.  
  277.      The last of these is
  278.  
  279.      Key to the Mouse: Damaged .EXE file. Program terminates.
  280.  
  281.      Should you encounter this error, you should contact the source
  282.      of your copy of Key to the Mouse and verify that you received
  283.      a correct and complete version.
  284.  
  285.                         COMMAND LINE PARAMETERS
  286.  
  287.                Any command-line parameters found on the command line
  288.      after "k2rod" are passed unchanged to the target program. In other
  289.      words, if your target program takes three parameters, simply
  290.      specify them after the "k2rod" command in the same way you would
  291.      if you were executing the target program directly. The parameters
  292.      MUST be separated by spaces, however. Otherwise, they will be
  293.      interpreted as a single parameter.
  294.  
  295.                                 - 5 -
  296.  
  297.  
  298.                          TABLE OF ASCII CODES
  299.  
  300.      Use these as the second pair of characters after the "$" with
  301.      KMLEFT, KMRIGHT, and KMMID.
  302.  
  303.                  Control characters               Various Special
  304.  
  305.      Ctrl-A     $01          Ctrl-P      $10      !  $21   ;  $3B
  306.      Ctrl-B     $02          Ctrl-Q      $11      "  $22   <  $3C
  307.      Ctrl-C     $03          Ctrl-R      $12      #  $23   =  $3D
  308.      Ctrl-D     $04          Ctrl-S      $13      $  $24   >  $3E
  309.      Ctrl-E     $05          Ctrl-T      $14      %  $25   ?  $3F
  310.      Ctrl-F     $06          Ctrl-U      $15      &  $26   @  $40
  311.      Ctrl-G     $07 (Bell)   Ctrl-V      $16      '  $27   [  $5B
  312.      Ctrl-H     $08 (Bksp)   Ctrl-W      $17      (  $28   \  $5C
  313.      Ctrl-I     $09 (Tab)    Ctrl-X      $18      )  $29   ]  $5D
  314.      Ctrl-J     $0A          Ctrl-Y      $19      *  $2A   ^  $5E
  315.      Ctrl-K     $0B          Ctrl-Z      $1A      +  $2B   _  $5F
  316.      Ctrl-L     $0C          Ctrl-]      $1D      ,  $2C   `  $60
  317.      Ctrl-M     $0D (Enter)  Ctrl-^      $1E      -  $2D   {  $7B
  318.      Ctrl-N     $0E          Ctrl-_      $1F      .  $2E   |  $7C
  319.      Ctrl-O     $0F          Ctrl-Bksp   $7F      /  $2F   }  $7D
  320.                                                   :  $3A   ~  $7E
  321.      Esc: $1B  Space: $20
  322.      $1C is supposed to be Ctrl-\, but this does not always apply.
  323.      However, you can stuff this code into the keyboard buffer.
  324.  
  325.                               Main alphabet
  326.  
  327.     A  $41   H  $48   O  $4F   V  $56   a  $61   h  $68   o  $6F   v  $76
  328.     B  $42   I  $49   P  $50   W  $57   b  $62   i  $69   p  $70   w  $77
  329.     C  $43   J  $4A   Q  $51   X  $58   c  $63   j  $6A   q  $71   x  $78
  330.     D  $44   K  $4B   R  $52   Y  $59   d  $64   k  $6B   r  $72   y  $79
  331.     E  $45   L  $4C   S  $53   Z  $5A   e  $65   l  $6C   s  $73   z  $7A
  332.     F  $46   M  $4D   T  $54            f  $66   m  $6D   t  $74
  333.     G  $47   N  $4E   U  $55            g  $67   n  $6E   u  $75
  334.  
  335.                          High-bit (Extended) ASCII
  336.  
  337.     Ç  $80   É  $90   á  $A0   ░  $B0   └  $C0   ╨  $D0   α  $E0   ≡  $F0
  338.     ü  $81   æ  $91   í  $A1   ▒  $B1   ┴  $C1   ╤  $D1   ß  $E1   ±  $F1
  339.     é  $82   Æ  $92   ó  $A2   ▓  $B2   ┬  $C2   ╥  $D2   Γ  $E2   ≥  $F2
  340.     â  $83   ô  $93   ú  $A3   │  $B3   ├  $C3   ╙  $D3   π  $E3   ≤  $F3
  341.     ä  $84   ö  $94   ñ  $A4   ┤  $B4   ─  $C4   ╘  $D4   Σ  $E4   ⌠  $F4
  342.     à  $85   ò  $95   Ñ  $A5   ╡  $B5   ┼  $C5   ╒  $D5   σ  $E5   ⌡  $F5
  343.     å  $86   û  $96   ª  $A6   ╢  $B6   ╞  $C6   ╓  $D6   µ  $E6   ÷  $F6
  344.     ç  $87   ù  $97   º  $A7   ╖  $B7   ╟  $C7   ╫  $D7   τ  $E7   ≈  $F7
  345.     ê  $88   ÿ  $98   ¿  $A8   ╕  $B8   ╚  $C8   ╪  $D8   Φ  $E8   °  $F8
  346.     ë  $89   Ö  $99   ⌐  $A9   ╣  $B9   ╔  $C9   ┘  $D9   Θ  $E9   ∙  $F9
  347.     è  $8A   Ü  $9A   ¬  $AA   ║  $BA   ╩  $CA   ┌  $DA   Ω  $EA   ·  $FA
  348.     ï  $8B   ¢  $9B   ½  $AB   ╗  $BB   ╦  $CB   █  $DB   δ  $EB   √  $FB
  349.     î  $8C   £  $9C   ¼  $AC   ╝  $BC   ╠  $CC   ▄  $DC   ∞  $EC   ⁿ  $FC
  350.     ì  $8D   ¥  $9D   ¡  $AD   ╜  $BD   ═  $CD   ▌  $DD   φ  $ED   ²  $FD
  351.     Ä  $8E   ₧  $9E   «  $AE   ╛  $BE   ╬  $CE   ▐  $DE   ε  $EE   ■  $FE
  352.     Å  $8F   ƒ  $9F   »  $AF   ┐  $BF   ╧  $CF   ▀  $DF   ∩  $EF      $FF
  353.  
  354.  
  355.                                    - 6 -
  356.  
  357.                               NON-ASCII CODES
  358.  
  359.                Use these in place of the scan code (with an ASCII code
  360.      of $00) as the first pair of characters after the "$".
  361.  
  362.                                Function keys
  363.  
  364.                Unshifted      Ctrl          Alt          Shift
  365.      F1          $3B           $5E          $68           $54
  366.      F2          $3C           $5F          $69           $55
  367.      F3          $3D           $60          $6A           $56
  368.      F4          $3E           $61          $6B           $57
  369.      F5          $3F           $62          $6C           $58
  370.      F6          $40           $63          $6D           $59
  371.      F7          $41           $64          $6E           $5A
  372.      F8          $42           $65          $6F           $5B
  373.      F9          $43           $66          $70           $5C
  374.      F10         $44           $67          $71           $5D
  375.  
  376.                                 Alt-keys
  377.  
  378.      A  $1E     G  $22    M  $32    S  $1F    Y  $15    5  $7C   -  $82
  379.      B  $30     H  $23    N  $31    T  $14    Z  $16    6  $7D   =  $83
  380.      C  $2E     I  $17    O  $18    U  $16    1  $78    7  $7E
  381.      D  $20     J  $24    P  $19    V  $2F    2  $79    8  $7F
  382.      E  $12     K  $25    Q  $10    W  $11    3  $7A    9  $80
  383.      F  $21     L  $26    R  $13    X  $2D    4  $7B    0  $81
  384.  
  385.                            Various cursor keys
  386.  
  387.      Shift-Tab    $0F   End          $4F   Ctrl-Print Screen  $72
  388.      Home         $47   Down arrow   $50   Ctrl-Left arrow    $73
  389.      Up arrow     $48   Page Down    $51   Ctrl-Right arrow   $74
  390.      Page Up      $49   Insert       $52   Ctrl-End           $75
  391.      Left arrow   $4B   Delete       $53   Ctrl-Page Down     $76
  392.      Right arrow  $4D   Ctrl-Page Up $84   Ctrl-Home          $77
  393.  
  394.                   Keys available only with enhanced BIOS
  395.  
  396.                These key combinations will be read by your target program
  397.      only if an Enhanced BIOS is available (interrupt 16h, functions
  398.      10h, 11h, and 12h) and the target program is written to accept them.
  399.  
  400.      F11    $85   Shift-F11  $87   Ctrl-F11  $89    Alt-F11  $8B
  401.      F12    $86   Shift-F12  $88   Ctrl-F12  $8A    Alt-F12  $8C
  402.  
  403.      Ctrl-Up arrow    $8D   Ctrl-/          $95   Alt-Down arrow  $A0
  404.      Ctrl- - (hyphen) $8E   Ctrl-*          $96   Alt-Page Down   $A1
  405.      Ctrl-5           $8F   Alt-Home        $97   Alt-Insert      $A2
  406.      Ctrl- +          $90   Alt-Up arrow    $98   Alt-Delete      $A3
  407.      Ctrl-Down arrow  $91   Alt-Page Up     $99   Alt-/           $A4
  408.      Ctrl-Insert      $92   Alt-Left arrow  $9B   Alt-Tab         $A5
  409.      Ctrl-Delete      $93   Alt-Right arrow $9D   Alt-Enter       $A6
  410.      Ctrl-Tab         $94   Alt-End         $9F
  411.  
  412.      Some imperfect BIOS implementations may define additional codes, and
  413.      others may not implement all of these. Again, you'll have to experiment.
  414.  
  415.                                  - 7 -
  416.  
  417.  
  418.  
  419.  
  420.  
  421.                             SCAN CODE TABLE
  422.  
  423.      Use these as the first pair of characters after the "$" when a
  424.      scan code of $00 does not work with a particular program. Note
  425.      that all characters on a given physical key share the same
  426.      scan code.
  427.  
  428.      Esc       $01        J j      $24      ~ `           $29
  429.      ! 1       $02        K k      $25      | \           $2B
  430.      @ 2       $03        L l      $26      < ,           $33
  431.      # 3       $04        M m      $32      > .           $34
  432.      $ 4       $05        N n      $31      ? /           $35
  433.      % 5       $06        O o      $18      Numeric keypad:
  434.      ^ 6       $07        P p      $19      7 Home        $47
  435.      & 7       $08        Q q      $10      8 Up arrow    $48
  436.      * 8       $09        R r      $13      9 Page Up     $49
  437.      ( 9       $0A        S s      $1F      Minus         $4A
  438.      ) 0       $0B        T t      $14      4 Left arrow  $4B
  439.      _ -       $0C        U u      $16      5             $4C
  440.      + =       $0D        V v      $2F      6 Right arrow $4D
  441.      Backspace $0E        W w      $11      +             $4E
  442.      A a       $1E        X x      $2D      1 End         $4F
  443.      B b       $30        Y y      $15      2 Down arrow  $50
  444.      C c       $2E        Z z      $2C      3 Page Down   $51
  445.      D d       $20        Space    $39      0 Insert      $52
  446.      E e       $12        Tab      $0F      Delete        $53
  447.      F f       $21        { [      $1A      Others        $E0
  448.      G g       $22        } ]      $1B
  449.      H h       $23        : ;      $27      Keys omitted here are
  450.      I i       $17        " '      $28      not of particular use
  451.                           Enter    $1C      with Key to the Mouse.
  452.  
  453.      Examples:
  454.  
  455.      $5000 sends a down arrow.
  456.      $4800 sends an up arrow.
  457.      $5100 sends Page Down.
  458.      $0070 sends a lower-case "p" as if it had been typed with the
  459.            Alt+numeric keypad method.
  460.      $1970 sends a lower-case "p" as if it had been typed from the
  461.            main keyboard.
  462.      $0E08 sends an ASCII 8 as if the Backspace key had been pressed.
  463.      $2308 sends an ASCII 8 as if Ctrl-H (the equivalent) had been pressed.
  464.      $0008 sends an ASCII 8 as if it had been typed with the Alt+numeric
  465.            keypad method.
  466.      $1C0D sends a carriage return as if the left-hand Enter key had been
  467.            pressed.
  468.      $0E0D sends a carriage return as if the numeric keypad Enter had been
  469.            pressed.
  470.      $4000 sends an F6.
  471.      $5900 sends a Shift-F6.
  472.  
  473.                                   - 8 -
  474.  
  475.  
  476.  
  477.  
  478.                        INPUT/OUTPUT AND MISC. ERRORS
  479.  
  480.      Key to the Mouse does a few quick self-checks before executing.
  481.      If any of the following errors occurs during that process, the
  482.      message
  483.  
  484.      KTM Error #xxx
  485.      Press ESC to abort or another key to retry.
  486.  
  487.      will be displayed. If you can correct the error, retry the operation;
  488.      otherwise, press ESC to abort Key to the Mouse. These messages are
  489.      referenced by number to avoid having to have the text of the messages
  490.      stored in memory throughout program execution. They should occur
  491.      rarely, and only when you are first starting to use the program
  492.      (and haven't quite mastered it yet).
  493.  
  494.      2: File not found.
  495.      3: Path not found.
  496.      4: Too many open files.
  497.      5: File access denied.
  498.      6: Invalid file handle.
  499.      12: Invalid file access code.
  500.      100: Disk read error.
  501.      101: Disk write error.
  502.      102: File not assigned.
  503.      103: File not open.
  504.      104: File not open for input.
  505.      150: Disk is write-protected.
  506.      151: Unknown unit.
  507.      152: Drive is not ready.  (insert the appropriate disk)
  508.      153: Unknown command.
  509.      154: CRC error in data.
  510.      155: Bad drive request structure length.
  511.      156: Disk seek error.
  512.      157: Unknown media type.
  513.      158: Sector not found.
  514.      159: Printer out of paper.
  515.      160: Device write fault.
  516.      161: Device read fault.
  517.      162: Hardware failure.
  518.  
  519.      Another class of errors will immediately terminate Key to the Mouse
  520.      with the message
  521.  
  522.      Runtime error xxx at ssss:oooo.
  523.  
  524.      These should not occur, but should be reported to the address
  525.      listed below for orders. They most likely indicate design errors
  526.      which may need to be corrected.
  527.  
  528.      201: Range check error.
  529.      202: Stack overflow error.
  530.      203: Heap overflow error.
  531.  
  532.                                 - 9 -
  533.                             THIS IS SHAREWARE
  534.  
  535.                You are authorized to use this program for 60 days in order
  536.      to determine if it fits your needs. After that, you must either purchase
  537.      a license or erase all uncompressed copies. The fee for a license is
  538.      $20. If you do not purchase a license after 60 days, you may retain
  539.      only compressed (.ZIP, .PAK, .LZH) versions of this file solely for
  540.      the purpose of distribution to others. Shareware is a marvelous way
  541.      for people to try software BEFORE they buy it and find that it makes
  542.      their computers billow smoke and start fires which destroy their
  543.      receipts so they can't get refunds that their software dealers will
  544.      give only on odd-numbered Mondays in June. In order for this approach
  545.      to work, however, people who find this (and other shareware programs)
  546.      useful must pay for them, or else authors will be unable to continue
  547.      to distribute programs in this way.
  548.  
  549.                After your payment is received, you will be sent the latest
  550.      release of Key to the Mouse, with the registration reminder at the
  551.      end of the program removed. (This will save some memory.) Other than
  552.      that, and the unique serial number that will be added to your
  553.      personalized copy, the shareware version is identical to the
  554.      registered version. The quality of the program speaks for itself and
  555.      needs no crippling in order to promote registrations. Registered
  556.      users may also return the program for a full refund for 30 days
  557.      after registration.
  558.  
  559.                To register your copy of Key to the Mouse, complete the
  560.      included order form (K2ORDER.FRM) and send a $20 check in U. S. funds
  561.      drawn on a U. S. bank (or add $10 to cover the cost of collection) to
  562.  
  563.                           Andrew M. Saucci, Jr.
  564.                             641 Koelbel Ct
  565.                          Baldwin, NY 11510-3915.
  566.  
  567.      New York State residents MUST add the following sales tax based upon
  568.      the county or city where you live, or your order will be delayed:
  569.  
  570.      Albany             7%     Lewis            7%   Steuben          7%
  571.      Allegany           8%     Livingston       7%   Suffolk       7.50%
  572.      Broome             7%     Madison          7%   Sullivan         7%
  573.      Cattaraugus        8%     Monroe           7%   Tioga            7%
  574.      Cayuga             7%     Montgomery       7%   Tompkins         7%
  575.      Chautauqua         7%     Nassau           8%   Ulster           7%
  576.      Chemung            7%     Niagara          7%   Warren           7%
  577.      Chenango           6%     Oneida           7%   Washington       7%
  578.      Chenango (Norwich) 7%     Oneida (Rome) 7.25%   Wayne            7%
  579.      Clinton            7%     Onondaga         7%   Westchester
  580.      Columbia           7%     Ontario          7%    Mt. Vernon   8.25%
  581.      Cortland           7%     Orange        6.25%    New Rochelle 7.25%
  582.      Delaware           6%     Orleans          7%    White Plains 7.25%
  583.      Dutchess        7.25%     Otsego           6%    Yonkers      8.25%
  584.      Erie               8%     Putnam        7.25%    Other        5.75%
  585.      Essex              7%     Rensselaer       7%   Wyoming          7%
  586.      Franklin           7%     Rockland      6.75%   Yates            7%
  587.      Fulton             7%     St. Lawrence     7%
  588.      Genesee            7%     Saratoga         7%   New York City 8.25%
  589.      Greene             7%     Schenectady      7%
  590.      Hamilton           7%     Schoharie        6%
  591.      Herkimer           7%     Schuyler         7%
  592.      Jefferson          7%     Seneca           7%
  593.                                      - 10 -
  594.  
  595.  
  596.                Registered users also are entitled to unlimited technical
  597.      support by U. S. Mail, CompuServe (72117,241), GEnie (A.SAUCCI3),
  598.      Delphi (ASAUCCI), Exec-PC (Andrew Saucci), and any other BBS where
  599.      I might pass in my travels wearing my other hat as the proprietor
  600.      of a shareware uploading service. If you don't already have a
  601.      CompuServe account, you might be interested in the $15 free-connect
  602.      time offer that is available to registered users of Key to the Mouse.
  603.      CompuServe is one of the fastest and most efficient ways to contact me
  604.      and a wide variety of other shareware authors. You should find it
  605.      well worth the price. What's more, if within the first three months
  606.      after registration, you find a defect in this program, and that defect
  607.      cannot be repaired, you are entitled to a refund of the registration fee.
  608.  
  609.                This program is produced by a member of the Association of
  610.      Shareware Professionals (ASP). ASP wants to make sure that the
  611.      shareware principle works for you. If you are unable to resolve a
  612.      shareware-related problem with an ASP member by contacting the
  613.      member directly, ASP may be able to help. The ASP Ombudsman can
  614.      help you resolve a dispute or problem with an ASP member, but
  615.      does not provide technical support for members' products. Please
  616.      write to the ASP Ombudsman at 545 Grover Rd, Muskegon, MI 49442-9427
  617.      or send a CompuServe message via CompuServe mail to ASP Ombudsman
  618.      70007,3536.
  619.  
  620.                Apart from what has been previously stated in this
  621.      document, the following must be added:
  622.  
  623.         LIABILITY IN THE EVENT OF DEFECTS IN KEY TO THE MOUSE IS
  624.         EXPRESSLY LIMITED TO REPLACEMENT OF THE DISK ON WHICH IT
  625.         WAS ORIGINALLY PROVIDED OR A REFUND OF THE REGISTRATION
  626.         FEE. NO OTHER LIABILITY OF ANY SORT IS IMPLIED OR ASSUMED.
  627.         IN PARTICULAR, THE USER ASSUMES ALL RESPONSIBILITY FOR
  628.         CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF DATA, LOSS OF
  629.         INCOME, PAIN AND SUFFERING, ETC.
  630.  
  631.                In other words, you should have a full backup before
  632.      using this program.
  633.  
  634.                         NOTICE TO BBS DOWNLOADERS
  635.  
  636.                This program was distributed using PKZIP authenticity
  637.      verification. If PKUNZIP did not display the message "Authentic
  638.      files verified!" AND the "-AV" designation next to each of the
  639.      files listed, ESPECIALLY the .EXE, you should contact the source
  640.      of your copy of Key to the Mouse to verify that you received
  641.      a correct and complete version of the program and documentation.
  642.      You might also consider downloading a copy from another source.
  643.  
  644.  
  645.                   Thank you for trying Key to the Mouse!
  646.  
  647.                                  - 11 -