home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d9xx / d979 / mouseaidedemo.lha / MouseAideDEMO / MouseAide.Doc < prev    next >
Text File  |  1994-04-04  |  36KB  |  782 lines

  1.  
  2.  ·············································································· 
  3.  
  4.                     MouseAide v9.81a.03.07.94 DEMO Version
  5.  
  6.                    Copyright (c) 1994 by Thomas J. Czarnecki
  7.  
  8.                               All Rights Reserved
  9.  
  10.  -----------------------------------------------------------------------------
  11.  LEGAL NOTICE
  12.  
  13.      Permission  is  hereby  granted  to redistribute the DEMO version of this
  14.  program, provided that the distribution is complete  and  unmodified  in  any
  15.  way.
  16.  
  17.      There   is  no  warranty  on  this  program.   I  disclaim  any  and  all
  18.  responsibility for any damages that use of this program may cause, by  direct
  19.  or indirect use.
  20.  
  21.  -----------------------------------------------------------------------------
  22.  
  23.          This  distribution is a DEMO version of "MouseAide"  I created this
  24.  demo because I wanted the user to get the feel of the program, and all its
  25.  features  without being too limited by any "crippled" features.  So the ONLY
  26.  limits on this DEMO version is in the form of a one hour time limit, and an
  27.  pop-up information window that must be click on to be closed!  Once the
  28.  program is started the user will have a total time of one-hour before the
  29.  program shuts itself down, the user will then have to re-boot their machine
  30.  before the program will re-install itself!  Nice eh?
  31.  
  32.           If you find this program useful you can purchase the latest version,
  33.  without any limits for $15 (in US Funds) payable to me at the address listed
  34.  below:
  35.  
  36.                               Thomas J. Czarnecki
  37.                               3526 Republic Avenue
  38.                               Racine, WI 53405-3856 USA
  39.                               
  40.                               
  41.                               
  42.  ··············································································                             
  43.  
  44.  
  45. MouseAide v9.81a.03.07.94
  46. Copyright (c) 1994 by Thomas J. Czarnecki
  47. All Rights Reserved
  48.  
  49.  
  50.  
  51.     "MouseAide" is a 100% assembly language program that helps the Mouse
  52.     & Keyboard do a whole lot more, with a lot less work by the user!
  53.  
  54.  
  55.                             MouseAide Features:
  56.                             
  57.     o   An intuition interface to change any of default hot-key sequences
  58.         for all of the key functions, and control over the most used
  59.         functions of "MouseAide"  Just use the 'Left-Amiga C' key sequence
  60.         (which can also be change by the user) to bring up the "MouseAide"
  61.         configuration window to view or change any of the default hot-key
  62.         sequences, and to adjust many of the other functions of "MouseAide"
  63.         The user format for the Hot-Keys is the same as the string-macros
  64.         explained later on.  Any changes are saved in a configuration file,
  65.         in the same directory that you started "MouseAide" up from, to be
  66.         used the next time that "MouseAide" is started up!  "MouseAide" will
  67.         by default PopUp the configuration window at startup unless you
  68.         un-check the 'Auto-PopUp Config' box on the configuration window, or
  69.         use the '-o' option as described below to override it.  I did that
  70.         to allow a beginner to review all the functions and their calling
  71.         Hot-Key sequences!
  72.         
  73.         I recommend that the user use the configuration window for adjusting
  74.         as many of the options as they can.  Use the startup options only
  75.         for the functions that I do NOT have defined yet in configuration
  76.         window! 
  77.         
  78.         In the near future I plan to add to the configuration window all
  79.         the options that are user definable at startup time now!
  80.         
  81.         Remember all the keyboard sequences, and the options that are given
  82.         below are the defaults and can be changed by you!
  83.  
  84.     o   An adjustable Acceleration of the mouse, with a adjustable Threshold
  85.         for fast, and easy precision work. (this fuction can be adjusted by
  86.         the configuration window)
  87.  
  88.     o   Auto-Activation (SunMouse) of the window that the mouse pointer is
  89.         over when the mouse is stopped!  This function is disabled when the
  90.         mouse pointer is blanked to save on CPU time. (this function can be
  91.         enable/disabled by the configuration window)
  92.  
  93.     o   Auto-Key-Activation of the window that the mouse pointer is
  94.         under, when a key is pressed.  Nice feature to have if you use
  95.         the keyboard with multiple windows.  Just point and type! (this
  96.         function can be enable/disabled the configuration window)
  97.  
  98.     o   Blanking of the mouse pointer if a key is pressed.  No more trying
  99.         to read behind the mouse pointer, Nice eh?  (this function can be
  100.         enable/disabled by the configuration window)
  101.  
  102.     o   Blanking of the mouse pointer if user input is idle for a set
  103.         number of seconds.  (this function is enabled/disabled/adjustable
  104.         by the configuration window)
  105.         
  106.         NOTE: When the 'Mouse' pointer is blanked "MouseAide" does NOT
  107.               use the window under the pointer, but the active window
  108.               for any, and all window-functions.  For example: the
  109.               'KeyClose' function will close the window under the pointer
  110.               if it is NOT blanked, otherwise the 'Active' window will be
  111.               closed!  Just remember this simple rule:  If you can see the
  112.               'Mouse' pointer, the window under the pointers will be used,
  113.               else the 'Active' window will be used.
  114.  
  115.         As of this version the mouse blanking is done by switching the pointer's
  116.         'Sprite' with an invisible 'Sprite' which will NOT affect any of the
  117.         other 'Sprites' being used.
  118.  
  119.     o   To save your monitor from image burning: blanking of the screen
  120.         if the user input is idle for a set number of minutes. Nice
  121.         feature for those of us that take a one minute break that runs
  122.         into....  I also check if re-blanking is needed at the rate you have
  123.         set for mouse blanking!  (this function is enabled/disabled/adjustable
  124.         by the configuration window)
  125.  
  126.     o   Clicking a Window under the mouse pointer to the front (if need be)
  127.         with a adjustable number of left mouse button clicks, that are
  128.         within the time you have set in preferrences.  The clicks to front
  129.         count is reset when the mouse pointer is moved to a new window, making
  130.         unwanted 'Clicks To Front' less likely when using a click count of two
  131.         or more. (this function can be enabled/disabled by the configuration
  132.         window)
  133.  
  134.     o   Clicking a Window under the mouse pointer to the back, by holding the
  135.         left mouse button down while clicking and releasing the right mouse
  136.         button!  (this function can be enabled/disabled by the configuration
  137.         window)
  138.  
  139.     o   Clicking the Screen to the back, by doing a doing a Window to back
  140.         sequence, but with the mouse pointer NOT over a Window! (this
  141.         function is enabled when the above fuction is)
  142.         
  143.     o   Activation of the Workbench window by the 'Left-Amiga Z' keyboard
  144.         sequence.  This funtion is a lifesaver for users of menu-enhancement
  145.         programs such as: "ParM', "ToolManager", or "ToolsDaemon"  By allow
  146.         the user a quick and easier way of getting at their Workbench menu.
  147.         No more searching for the Workbench window to activate so that you
  148.         can access the menus, let "MouseAide" do all the work for you! (the
  149.         default key/button sequence of this function can be user defined by
  150.         the configuration window)
  151.  
  152.     o   Middle Mouse Button (MMB) Window & Screen turning! Pressing the
  153.         middle mouse button while the pointer is over a Window will bring
  154.         that Window to the front, unless the Window is already in the front,
  155.         in which case, the Window will be sent to the back, nice eh?
  156.         To get even more power out of the middle mouse button (MMB) if the
  157.         pointer is NOT over a Window that can be depth arranged "MouseAide"
  158.         will send the front Screen to the back and make the top Window the
  159.         active one!  I wrote this function after replacing my original mouse
  160.         (which did NOT last very long!) with a new third party mouse, which
  161.         had a third button (in the middle of course)  Well, after finding
  162.         that the Amiga did NOT support the middle button in anyway I set out
  163.         and wrote this small GEM of a function!  After using this function
  164.         for just a couple of weeks I would never buy a mouse/trackball
  165.         without the extra middle button!  (can be enabled/disabled by the
  166.         configuration window)
  167.         
  168.     o   For systems that generate false 'Middle Button Down' Qualifiers,
  169.         "MouseAide" will automatically adjust to this and ignore the MMB
  170.         false Qualifiers! (Older systems?)
  171.  
  172.     o   An 'EzDrag' function that allows the user to drag a window without the
  173.         drag bar!  To activate the 'Dragging' process just press the activate
  174.         sequence (the default is: 'Left-Alt Left-Mouse-Button'),  holding the
  175.         last 'Key/Button' down over the window that you with to drag, and then
  176.         move the window to where you like it, and then release it by releasing
  177.         last 'Key/Button' of the sequence!  This function works even with
  178.         windows with custom drag gadgets, such as 'ToolManager' has with its
  179.         'Docks' (the default key/button sequence of this function can be user
  180.         defined by the configuration window)
  181.         
  182.     o   An 'EzSize' function that allows the user to size a window without
  183.         using the 'sizing' gadget, but instead with a user defined 'Hot-Key'
  184.         sequence,  NO need to find and lock on the 'sizing' gadget any more!
  185.         The 'EzSize' function is also improvement over the old system in that
  186.         it allow the window to be sized from any corner, or to lock the sizing
  187.         to one axis!  To activate the 'Sizing' process, first place the pointer
  188.         over the window in one of following sizing zones:
  189.         
  190.                <- 1/4 -> <-    1/2     -> <- 1/4 ->
  191.            
  192.         
  193.           -->   +--------+----------------+--------+
  194.                 | X & Y  |       Y        | X & Y  |  
  195.           1/4   |        |                |        |  
  196.                 | Sizing |     Sizing     | Sizing |
  197.           -->   +--------+----------------+--------+
  198.                 |        |                |        |
  199.                 |   X    |   EzDragging   |   X    |
  200.           1/2   |        |                |        |
  201.                 | Sizing |      Zone      | Sizing |
  202.                 |        |                |        |
  203.                 |        |                |        |   
  204.           -->   +--------+----------------+--------+
  205.                 | X & Y  |       Y        | X & Y  |
  206.           1/4   |        |                |        |
  207.                 | Sizing |     Sizing     | Sizing |
  208.           -->   +--------+----------------+--------+
  209.                    
  210.  
  211.         ( X & Y Sizing is from the corner that the pointer was over when
  212.           the 'EzSize' function was activated)
  213.           
  214.      and then do the activation sequence (the default is: 'Left-Amiga Left-
  215.      Mouse-Button'),  holding the last 'Key/Button' (Left-Mouse-Button) down,
  216.      until you have moved the pointer to adjust the size of the window to your
  217.      goal.  As you can see in the above diagram, the zone in the middle of the
  218.      window will default to the 'Ezdragging' process, as will any window that
  219.      is un-sizable!.  I added this function because I was tired of having to
  220.      move a Shell before I could adjust its size, now the computer does the
  221.      moving, nice eh?  (the default key/button sequence of this function can
  222.      be user defined by the configuration window)
  223.         
  224.     o   Turning the windows with the 'Left-Amiga J', & 'Left-Amiga K' keyboard
  225.         sequences.  The top window will become the active one! (the default
  226.         key/button sequence of this function can be user defined by the
  227.         configuration window)
  228.  
  229.     o   Turning the screens with the 'Left-Amiga N', & 'Left-Amiga M' keyboard
  230.         sequences.  The top screen will become the active one!(the default
  231.         key/button sequence of this function can be user defined by the
  232.         configuration window)
  233.         
  234.     o    Cycling through the CLI(s)/Shell(s) windows with the 'Left-Amiga S'
  235.         keyboard sequences.  If you are a CLI/Shell and Workbench user this
  236.         function can save you alot of time by allowing you to get instant
  237.         access to your CLIs/Shells windows without filtering through all the
  238.         open windows on the screen! (the default key/button sequence of this
  239.         function can be user defined by the configuration window)
  240.         
  241.     o   Shrinking a 'Sizable' window to its minimum size with the 'Left Amiga
  242.         [' keyboard sequence. (the default key/button sequence of this
  243.         function can be user defined by the configuration window)
  244.         
  245.     o   Enlarging a 'Sizable' window to its maximum size with the 'Left Amiga
  246.         ]' keyboard sequence. (the default key/button sequence of this
  247.         function can be user defined by the configuration window)
  248.         
  249.     o   Zipping a window between two sets of attributes (size and or position)
  250.         with the 'Left-Amiga Tab' keyboard sequence.  What this function does
  251.         is: if the window (being zipped) has a 'Zoom' gadget (2.04+) this
  252.         function will invoke that 'Zoom' function!  But, I did not stop there
  253.         I also created a 'Zip-Cache' for windows without a 'Zoom' gadget!
  254.         I did this because I would like to have alternate position for all
  255.         windows that can be dragged, not just ones with a 'Zoom' gadget, and
  256.         for people with older machines, that do NOT have the 'Zooming' ability,
  257.         this function will create it!  As of this version I use: a 32-unit
  258.         (Windows) cache, that is allocate when this fuction is invoked.  I
  259.         also bubble up the last called unit (window) which makes it easier to
  260.         find on the next call, and protects it from being replaced if there is
  261.         more than the 32-unit being 'Zipped'  (the default key/button sequence
  262.         of this function can be user defined by the configuration window)
  263.         
  264.     o   Freeze the Mouse in X-axis, or Y-axis movement with the 'Left-Amiga
  265.         X' & 'Left-Amiga Y' keyboard sequences.  This function is nice for
  266.         adjusting Icons or for use in drawing programs!  (the default
  267.         key/button sequence of this function can be user defined by the
  268.         configuration window)
  269.         
  270.     o   An 'Un-Accelerate Mouse' function that allows the user to toggle, on
  271.         and off, the 'Acceleration' function.  Nice function to have if you
  272.         are a BIG 'Acceleration' user, but need to slow down to make a very
  273.         small mouse movement!  (the default key/button sequence of this
  274.         function can be user defined by the configuration window)
  275.         
  276.     o   If any conflicts arise "MouseAide" can be suspended by the keyboard
  277.         sequence: 'Left-Amiga H'  And restarted with the same sequence!
  278.         This allows you to enter any key/mouse input that "MouseAide" may
  279.         use, without getting the action: Click-to-front, Window/Screen
  280.         turning... (the default key/button sequence of this function can be
  281.         user defined by the configuration window)
  282.  
  283.     o   Can execute a default ('NewShell') or a user defined command with the
  284.         'Left-Amiga Esc' keyboard sequence.  Nice for a quick-pop-up program,
  285.         or a easy CLI/Shell startup.  (the command and the default key/button
  286.         sequence of this functioncan be defined in the configuration window)
  287.  
  288.     o   Multi-Icon-Select with just the mouse, No more shift key!  By pressing
  289.         and holding the left mouse button, then pressing and holding the right
  290.         mouse button, and then releasing the left mouse button, you enter the
  291.         Multi-Icon-Select (M.I.S.) mode!  To select multiple Icons just click
  292.         on them with the left mouse button while still holding down the right
  293.         mouse button!  You can enter the M.I.S. mode while selecting your first
  294.         Icon, or, as I find easier, you can enter M.I.S. mode by doing the above
  295.         sequence without an Icon!  It makes it easier to select the first Icon
  296.         without moving it!  (this function can be enabled/disabled by the
  297.         configuration window)
  298.  
  299.     o   Better keyboard feedback by producing a 'Clicking' sound when a 'Key'
  300.         is pressed!  This function is handy when you are entering data into
  301.         the computer without looking at the screen much.  I allocate a 'Audio'
  302.         channel at a low enough priority that you can run a music type playing
  303.         program which will steal the channel to play the music and when done
  304.         playing 'MouseAide' will recover its channel for use again!  Nice eh?
  305.         I also let the user set the 'Clicking' volume level and Priority of
  306.         the Key Clicking's audio channel!  (this function can be enabled/
  307.         disabled, volume adjusted, and audio channel priority set by the
  308.         configuration window)
  309.  
  310.     o   Automated date generation!  With just a few keystrokes "MouseAide"
  311.         will get the current date, build it to a default, or user format,
  312.         and than output it by the same method that is used when you type
  313.         on the keyboard!  To generate the default formated date all the
  314.         user has to do is press hold down the 'Left-Amiga' key and press
  315.         the 'd' key, easy eh?  To generate the users formated date you do
  316.         the same key-sequence as above, but you also hold down the 'Shift'
  317.         key!  The 'users format' is defined by a string that you pass to
  318.         "MouseAide" at startup that tells the program how you want your
  319.         date to be generated.  The format is quite simple and is explained
  320.         below in the options sections.  (the default key/button sequence
  321.         of this function can be user defined by the configuration window,
  322.         but the user date format, for now, must be set by the startup arg.)
  323.  
  324.     o   A simple keyboard 'String' macro function to allow the user to
  325.         assign user defined strings to user defined keys!  When the
  326.         user types a defined 'Key' it will be replaced with their 'String'
  327.         by the same method that is used when you type on the keyboard!
  328.         This program saves the user from the tedious process of hand
  329.         entering commonly typed 'Strings'  I find it useful in all types
  330.         of computing from working in the CLI/Shell to using it for text
  331.         short cuts in editors!  How to define your 'Macros' is explained
  332.         below in the options sections.
  333.  
  334.     o   Closing Windows & Shells/CLIs from the keyboard with the 'Left-Alt
  335.         ESC' keyboard sequence.  I close 'Windows' by the same method as
  336.         if you clicked on the 'Close' gadget.  Shells are closed by sending
  337.         a user defined "String" to the 'Shell' which would then end the
  338.         shell.  The default "String" is "EndCLI\n" which would tell a
  339.         normal Shell/CLI to close down.  The user can define their own
  340.         'String' in the 'MA.Keys' file by including a line with the
  341.         following format:
  342.  
  343.             CLIEndString = "String"
  344.  
  345.         Where the "String" is the user definable string that is to send to the
  346.         Shell/CLI to close it!  I made the closing string user definable because
  347.         of programs such as "ParM" which will NOT close if "EndCLI" is used!
  348.         (the default key/button sequence of this function can be user defined by
  349.         the configuration window)
  350.  
  351.     o   You can switch which port (1 or 2) that the mouse uses with the key
  352.         sequence: 'Left-Amiga P'  Did you buy a TrackBall for your favorite
  353.         graphics program, but prefer to use the mouse for your non-graphics
  354.         work, well plug the TrackBall in Port2 and switch between the mouse
  355.         and TrackBall on the fly with a few keys! (the default key/button
  356.         sequence of this function can be user defined by the configuration
  357.         window)
  358.  
  359.     o   Workbench Window to Front with the 'Left-Amiga W'  I created this
  360.         function because with just a few open windows on the 'Workbench Screen'
  361.         I could NOT get at the disk icons!  When you activate this function the
  362.         'Workbench' Window will come to the front, allowing you to open a
  363.         disk/volume icon.  When you open a window or use the 'Left-Amiga W'
  364.         sequence again the 'Workbench' Window will pop back!  (the default key/
  365.         button sequence of this function can be user defined by the configuration
  366.         window)
  367.  
  368.     o   Freezing of the mouse and keyboard of all input, which if you live
  369.         with small children or a keyboard climbing critter, can be a real
  370.         lifesaver!  Just use the 'Left-Amiga I' keyboard sequence to toggle
  371.         in/out of the input freezing mode.  When you enter the input freezing
  372.         mode all mouse and keyboard input (except for the key sequence to
  373.         toggle you back) will be frozen, also the mouse and screen will
  374.         blank until you leave this mode.  This fuction is great for those
  375.         long running programs, that you start up and leave alone for a long
  376.         period of time! (the default key/button sequence of this function can
  377.         be user defined by the configuration window)
  378.  
  379.     o   Can switch the right & left mouse buttons when installed for those left
  380.         handed people out there!  (Use the '+l' option listed below) (can be
  381.         enabled/disabled by the configuration window)
  382.  
  383.     o   Any Selected-To-Be-Dragged-Icons will be released, when any window
  384.         manipulation (Window to back, Window to front, Keyboard window cycling)
  385.         is required to prevent a system lockup!  This gets around a Intuition
  386.         bug in the in the 'WindoToFront' and 'WindowToBack' functions.
  387.  
  388.     o   As of this version "MouseAide" will now remember the 'Path' for the
  389.         process that has started it and if that process does NOT have a 'Path'
  390.         will search for a process that has one that it can use!  What all that
  391.         means is that a process started by "MouseAide" (by command execute)
  392.         will also have that 'Path'  Nice eh?
  393.  
  394.     o   "MouseAide" will try opening the "NULL:" device first, and the "NIL:"
  395.         device only if the "NULL:" is NOT mounted.  This make system which have
  396.         the "NULL:" device installed much more reliable when you use the
  397.         'Command' function!
  398.  
  399.     o   Adjustable priority of the 'Input Handler'  The default is: 63, and
  400.         should be fine for most of you.  But if you are using another program
  401.         that also uses a 'Input Handler' than this option maybe nice to have!
  402.         
  403.     o   Easy WorkBench & CLI startup and shutdown!
  404.  
  405.     o   Releases every byte of memory on shutdown.  No dead data, or code is
  406.         left in the system!  Did you ever notice, after running some programs,
  407.         how your free memory seems less?  Well it is!  But, NOT after running
  408.         "MouseAide"  It cleans up after itself!
  409.  
  410.     o   The options can be user defined by Workbench or CLI/Shell
  411.  
  412.     o   Small in size, about 23K in size, and even smaller with your favorite
  413.          executable compressor (Turbo Imploder, PowerPacker...)
  414.  
  415.     o   Self-detaching,  for ease of startup!
  416.  
  417.     o   Uses advanced (Semaphore locked) static & dynamic memory management
  418.         techniques to reduce memory thrashing, while also keeping memory
  419.         demands low!
  420.  
  421.     o   Uses "good" programing practices!,  Not like most of the "Mouse"
  422.         programs floating around!  No "Intuition" calls are made from the
  423.         high-priority 'Input Handler', a very bad practice that most of the
  424.         "Mouse" programs use!
  425.  
  426.     o   The 'Input Handler' runs at a high priority, but the time wasting
  427.         part of the program run at a low priority
  428.  
  429.     o   The one-shot data & code (start-up, shut-down, etc...) is release
  430.         after start-up to further reduce memory overhead!
  431.         
  432.  
  433.  
  434.     To startup "MouseAide" from WorkBench just double-click on "MouseAide" Icon!
  435.  
  436.     From CLI type: MouseAide<RETURN>
  437.  
  438.         (Note: That the program is self-detaching, do NOT Run it!
  439.                It also sets the correct stack-size and priority, don't
  440.                waste time adjusting them!)
  441.  
  442.     To remove "MouseAide" just start up the program again.
  443.  
  444.  
  445.     All options (switchable, value & command) have a default setting. The value
  446.     defaults are set as following:
  447.  
  448.          *  Acceleration Factor     -   3        
  449.          *  Threshold Factor        -   2
  450.             Clicks to Front         -   1
  451.          *  Mouse Blanking          -   5 Seconds
  452.          *  Screen Blaking          -   5 Minutes
  453.             Input Handler Priority  -   57
  454.          *  'Clicking' Volume       -   48
  455.          *  'Clicking' Priority     -   80
  456.             
  457.     *  These values can be adjusted by the configuration window.                
  458.             
  459.  
  460.     The default options can be changed by the user by using the option line.
  461.     By using the '+' & '-' switches, the user can turn ON or OFF any option.
  462.     All the switchable options, but, Left-Handed-Swap are by default: On.
  463.  
  464.     The switchable options are:
  465.  
  466.          *  "a" -   Auto-Activate
  467.          *  "f" -   Click to Front
  468.          *  "b" -   Click to Back
  469.          *  "m" -   Mouse Blanking
  470.          *  "s" -   Screen Blanking
  471.          *  "e" -   Key-Activate
  472.          *  "k" -   Key-Mouse Blanking
  473.          *  "i" -   Multi-Icon-Select
  474.          *  "l" -   Left-Handed-Swap (Off by default)
  475.             "w" -   Workbench Window to Front
  476.          *  "c" -   Keyboard 'Clicking'
  477.          *  "u" -   MMB Window/Screen Turning
  478.          *  "o" -   PopUp the option window on startup
  479.          
  480.  
  481.     *  These options can be enabled/disabled by the configuration window, so
  482.        use the configuration window NOT the switches!
  483.  
  484.  
  485.     Value options are set by an integer number following the Option to be set.
  486.     The value is auto-ranged (limited) to a default value.
  487.  
  488.     The value options are:
  489.  
  490.             "A" -   Acceleration Factor (range:1-11)
  491.             "T" -   Threshold Factor (range:1-11)
  492.             "F" -   Click(s) need for window to Front (range:1-9)
  493.             "M" -   Mouse Blanking time in seconds (range:1-59)
  494.             "S" -   Screen Blanking time in minutes (range:1-59)
  495.             "P" -   Priority of the 'Input Handler' (range: 50-127)
  496.             "V" -   Volume level of the keyboard 'Clicking' (range: 1-64)
  497.             "K" -   Key Clicking's audio channel Priority (range: 1-127)
  498.             
  499.  
  500.     Remember use the configuration window for setting as many of the options
  501.     as you can, that is the method of the future!!!  Also, if there is a Hot-
  502.     -Key/Button function that you do NOT use, set it to a unused hot-key
  503.     sequence to disable it, such as: 'Left-Amiga Right-Amiga Ctrl'
  504.     
  505.     ------------------------------------------------------------------------
  506.  
  507.     When 'MouseAide' is started up it will look for a file named 'MA.Keys'
  508.     in the current directory (CD) and if NOT found will search the path of
  509.     the process that started 'MouseAide' up!  The file 'MA.Keys' will define
  510.     the users 'Keys' and their 'Strings'  The format of the files is simply
  511.     a line of text that first lists the 'Qualifiers' that have to be held
  512.     down, followed by the 'Key' to be defined, followed by a '=' and then a
  513.     quoted 'String' to be generated!
  514.  
  515.     The 'Qualifiers' defined as:
  516.  
  517.         LSHIFT      for 'Left Shift'
  518.         LALT        for 'Left Alt'
  519.         LAMIGA      for 'Left Amiga'
  520.         CTRL        for 'Ctrl'
  521.         RSHIFT      for 'Right Shift'
  522.         RALT        for 'Right Alt'
  523.         RAMIGA      for 'Right Amiga'
  524.         UPSTROKE    for 'Upstroke'
  525.         NUMPAD        for defining keys on the numeric key pad 
  526.         
  527.         SHIFT        for 'Left Shift' or 'Right Shift'
  528.         ALT        for 'Lett Alt' or 'Right Alt'
  529.         AMIGA        for 'Left Amiga' or 'Right Amiga'
  530.         CAPS        for 'Left Shift', 'Right Shift' or 'Capslock'
  531.            
  532.     By prefixing a qualifier by the: '-' character you can tell "MouseAide"
  533.     to ignore that qualifier when searching for that 'Hot Key' sequence!
  534.     
  535.     This is quit nice for ignoring the 'Caps Lock' qualifier just add:
  536.     
  537.         -capslock
  538.         
  539.     to all your 'Hot Key' definitions so that you do NOT have to worry about
  540.     the state of your 'Caps Lock' key when calling a 'Hot Key' function!
  541.     
  542.     The 'UPSTROKE' qualifier allow the user to user to trigger any hot key
  543.     function (including Macros) by having: a key pressed down (default),
  544.     released (upstroke), or both (-upstroke)  Nice eh?
  545.         
  546.  
  547.     The NON-ASC 'Keys' are defined by these tokens:
  548.  
  549.         TAB
  550.         ESC
  551.         SPACE
  552.         RETURN
  553.         ENTER
  554.         DEL
  555.         BACKSPACE
  556.         HELP
  557.         LEFT
  558.         RIGHT
  559.         UP
  560.         DOWN
  561.         F1
  562.         F2
  563.         F3
  564.         F4
  565.         F5
  566.         F6
  567.         F7
  568.         F8
  569.         F9
  570.         F10
  571.         CLIEndString (Used to define the 'Keyclosing' string!)
  572.  
  573.     To include a 'Return' in a defined string use the '\n' sequence a
  574.     quote is defined by the '\"' sequence, and the '\' charactor is
  575.     the '\\' sequence, simple eh?
  576.  
  577.     the following are alternate keywords:
  578.  
  579.      CONTROL        for 'Ctrl' key
  580.      LCOMMAND    for 'Left Amiga' key    
  581.      RCOMMAND    for 'Right Amiga' key   
  582.      MIDBUTTON   for 'Middle Mouse Button'
  583.      LEFTBUTTON  for 'Left Mouse Button' 
  584.      COMMAND     for 'Left Amiga' or 'Right Amiga' (or both)
  585.      RIGHTBUTTON for 'Right Mouse Button'
  586.      NUMERICPAD  for qualifier for keys on numeric key pad
  587.      
  588.     that could make it easier for 'commodities' users.     
  589.      
  590.       
  591.     Do I here 'what about a few examples?' O.K. by me, the line:
  592.     
  593. lalt -capslock esc="EndShell\n"
  594.  
  595.     Would generate the string:
  596.     
  597. EndShell<Return>      
  598.  
  599.     When the 'Left Alt' is held down, and the 'Esc' key is pressed.  The
  600.     'Caps Lock' qualifier is ignored, so can be in the lock or unlock
  601.     state, it does NOT matter!        
  602.  
  603. ralt lshift e="End\n"
  604.  
  605.     Would generate the string:
  606.  
  607. End<Return>
  608.  
  609.     When the 'Right Alt', 'Left Shift' keys are held down, and the 'e'
  610.     key is pressed!  The next line:
  611.  
  612. lamiga f3="MouseAide +w U\".sy\""
  613.  
  614.     Would generate the string:
  615.  
  616. MouseAide +w U".sy"
  617.  
  618.     When the 'Left Amiga' key is held down and the 'F3' key is pressed!
  619.     This last example is my favorite:
  620.  
  621. ; This is it!
  622.  
  623.     Because it does nothing, being a comment line!  A comment may start at
  624.     any point on a line and it runs until the end of that line, use it well!
  625.  
  626.     As you can tell by the above examples the user format is very easy to
  627.     learn and use!  If you need more examples take a look at the 'MA.Keys'
  628.     file I have included, and try them out!
  629.     
  630.     
  631.     NOTE: Remember the 'Hot Key' functions on the configuration window use
  632.           the same basic format as above! 
  633.  
  634.     ------------------------------------------------------------------------
  635.  
  636.     The 'Automated Date' generation part of "MouseAide" allows the user to
  637.     design their own formated date generation with the 'U' option string,
  638.     just use the following information to build your own format string:
  639.  
  640.         "d" or "D"  - Stands for DAY
  641.  
  642.         "y" or "Y"  - Stands for YEAR
  643.  
  644.         "m"         - Stands for MONTH as a number
  645.  
  646.         "M"         - Stands for MONTH as a string
  647.  
  648.         "w" or "W"  - Stands for day of the WEEK
  649.  
  650.         "l" or "L"  - Stands for switch to the LONG type, until changed
  651.  
  652.         "s" or "S"  - Stands for switch to the SHORT type, until changed
  653.  
  654.         "'"         - Is to allow any of the above characters to be
  655.                       used as itself
  656.  
  657.             Any character that does NOT match the above ones are used to
  658.         fill in between the ones that are use!  Confused?  Lets try a few
  659.         examples:
  660.  
  661.             - Assume that the date is: June 7, 1992
  662.  
  663.         U"sm.sd.sy"      - Will generate: 06.07.92
  664.  
  665.         U"lm.ld.ly"      - Will generate: 6.7.1992
  666.  
  667.         U"lM ld, ly"     - Will generate: June 7, 1992
  668.  
  669.         U"ld-sM-sy"      - Will generate: 7-Jun-92
  670.  
  671.         U"sm/sd/sy"      - Will generate: 06/07/92
  672.  
  673.         U"sm/d/y"        - Will generate: 06/07/92
  674.  
  675.         U"lm/d/y"        - Will generate: 6/7/1992
  676.  
  677.         U"lm/d/sy"       - Will generate: 6/7/92
  678.  
  679.         U"sd-sm-sy (sw)" - Will generate: 07-06-92 (Sun)
  680.  
  681.         U"sd-sM-sy (sw)" - Will generate: 07-Jun-92 (Sun)
  682.  
  683.         U"lM sd (lw)"    - Will generate: June 07 (Sunday)
  684.  
  685.         U"lM ld (lw)"    - Will generate: June 7 (Sunday)
  686.  
  687.         U"'Date: sm/sy"  - Will generate: Date: 06/92
  688.  
  689.         As you can tell by the above examples the user format is very
  690.         flexible, and easy for anybody to use!
  691.  
  692.     The 'Automated-Date' function also allows the user to use a different
  693.     language then English!  By creating a file name ".DateInfo" that is made
  694.     up of the names of the months followed by the names of the days of the
  695.     week, each on one line, for a total of 19 lines.  When this file is
  696.     then placed in the same directory at startup of "MouseAide", they will
  697.     be used instead of the default English names!  For an example I have
  698.     placed a sample '.DateInfo' file in the directory named 'MiscFiles'
  699.  
  700.  
  701.  
  702.     The last option is the 'C' (command) option.  This option must be the last
  703.     option to be set on the option line!  The syntax is:
  704.  
  705.             C <User defined string>
  706.  
  707.     If you do NOT define a command string the default 'c:NewCLI' will be used!
  708.     
  709.     NOTE: The 'Command' stringn can be set by the configuration window, why not
  710.           define it there!
  711.  
  712.  
  713.     So, a few examples are now in order:
  714.  
  715.         For: No Auto-Activate, Mouse Blanking set to 7 seconds, a Acceleration
  716.         Factor set to 5, the Threshold Factor set to 3,  do Key-Activate and
  717.         Key-Mouse Blanking we would use this option line:
  718.  
  719.             -a M7 A5 T3 +ek
  720.  
  721.         For: No clicking to front, and No Key-Activate, and the command
  722.         string 'NewShell...' we would use this option line:
  723.  
  724.             -fe CNewShell CON:0/11/0/0/MouseAideShell
  725.  
  726.         For: An Acceleration of 2, and a Threshold of 1, with 3 Clicks for a
  727.         Window to front, and the Workbench Window to Front option, we would
  728.         use this option line:
  729.  
  730.             A2 T1 F3 +w
  731.  
  732.  
  733.  
  734.         To use the option line in the CLI, just add it to the end of the line
  735.         on startup. For example:
  736.  
  737.             MouseAide +mskef A4 T2 F3 M3 S1 CGShell
  738.  
  739.  
  740.         To use the option line from WorkBench, you can do it two ways:
  741.  
  742.             1: Writing "OPTIONS=option line" in the "Tool Types" field of
  743.              "MouseAide" Tool Icon.
  744.  
  745.             2: Writing "OPTIONS=option line" in the "Tool Types" field of
  746.              a Project Icon and 'MouseAide' in the "Default Tool" field.
  747.  
  748.         You can get good examples by Info(ing) the Icons included
  749.         
  750.         NOTE: Remember most functions can be enabled/disabled/adjusted by
  751.               the configuration window, which is much easier method!
  752.  
  753.  
  754.     Hint:  A console window with a lot of output may delay some "MouseAide"
  755.            functions!  A good trick is to hit the shift-key when this delay
  756.            happens.  The Shift key will be like a electric shock to the
  757.            system, breaking the delay.
  758.  
  759.  
  760.  
  761.  
  762.     Tempus Fugit,
  763.  
  764.         Czar
  765.  
  766.  
  767.  
  768.  
  769. If you have any ideas, comments, bugs to report, write me:
  770.  
  771.  Thomas J. Czarnecki
  772.  3526 Republic Avenue
  773.  Racine, WI 53405-3856
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.