home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff258.lzh / DMouse / dmouse.doc < prev    next >
Text File  |  1989-10-18  |  11KB  |  293 lines

  1.  
  2. V1.20               DMOUSE.DOC           3 August 1989
  3.  
  4.               Matthew Dillon
  5.               891 Regal Rd
  6.               Berkeley, California 94708
  7.               USA
  8.  
  9.     DMouse (c)Copyright 1989 by Matthew Dillon, All Rights Reserved
  10.  
  11.     Refer to BLANKER.DOC and DMOUSE-IPC.DOC for information on external
  12. screen blankers.
  13.  
  14.     NOTES:    * dres.library no longer required.
  15.         * IPC mechanism changed
  16.  
  17.     WORKBENCH USERS:    PLEASE READ THE REVISION HISTORY FOR V1.09 FOR
  18. PARTIAL SOLUTION TO INTUITION WINDOWTOFRONT() BUG.
  19.  
  20.     YAIH (Yet Another Input Handler)... nahh, like DMouse better...
  21. for "Dillon's Mouse"???  V1.20 and beyond are no longer in public domain,
  22. but copyright to me.  They are still 'freeware'.
  23.  
  24.     After looking at and rejecting several mouse-intuition input
  25. handler enhancers (you know, accelerate the mouse, click-to-front, etc...)
  26. and finding them all useless, I have written my own.
  27.  
  28.     - Any option can be turned on or off at any time.
  29.  
  30.     - Screen blanks if keyboard or mouse is idle > N1 secs (default 300)
  31.         (mouse also blanks even if mouse blanking not turned on) One
  32.         can install a more sophisticated screen blanker (e.g. one that
  33.         brings up a pattern or something) if they wish.
  34.  
  35.     - The Pesky Mouse blanks if mouse is idle > N2 secs (def 5)
  36.  
  37.     - Auto Activate a window when the mouse is moved over it.  Window
  38.       also activated (if not already active) when you type.  These
  39.       two features may be turned on/off independantly
  40.  
  41.     - Mouse Accelerator.  Back feeds power into the mouse unit;
  42.       give it a nudge and it is guarenteed to penetrate up to an
  43.       inch and a half of wall plaster (programmable depth).  Once
  44.       you start using it, you won't be able to switch back!
  45.  
  46.     - Programmable command-key and command string ala PopCli, default
  47.       left-Amiga ESC.
  48.  
  49.     - Left Mouse Button click in window brings it to the front
  50.         DOES NOT BRING THE WINDOW TO THE FRONT IF IT IS ALREADY
  51.         IN THE FRONT.  Other programs would call WindowToFront() on
  52.         every click, which is horrible if you have a simple-refresh
  53.         window.  WindowToFront() is NOT called for backdrop windows!
  54.  
  55.         The qualifier along with the LMB is now settable with the -l option.
  56.  
  57.       # clicks required is settable.
  58.  
  59.     - Hold LMB, click Right Mouse Button .. Window to Back!  Great
  60.       for cycling windows.    See next feature for more info.
  61.  
  62.       (the qualifier, normally the left mouse button, can be set with
  63.        the -R option).
  64.  
  65.     - Same sequence as above, but if there is no window under the
  66.       current mouse position, there is only one window on the screen,
  67.       or the window under the mouse is a BACKDROP window, the
  68.       sequence cycles through Screens!
  69.  
  70.     - NO DAMN CLOCK.  Use another utility to get a clock.  No other
  71.       glossy thrills.  DMouse is short, sweet, and functional.
  72.  
  73.     - Does not use a CLI, should be placed in your startup-sequence.
  74.       DO NOT 'RUN' DMOUSE!
  75.  
  76. INSTALLATION:
  77.  
  78.     Place dmouse-handler in L: (or in the 'current' directory when DMOUSE
  79.     is run).
  80.  
  81.     WORKBENCH USERS!!!!!!!!!!    There appears to be a bug in intuition's
  82.     WindowToFront() call, which can lock up intuition when workbench
  83.     icons are active.  Under the defaults, this will occur whenever you
  84.     depress the left mouse button over an icon.
  85.  
  86.     A partial fix is in place V1.07 and beyond.  However, if you find
  87.     it still freezing up, the problem can be avoided as follows:  Either
  88.     turn off the left-mouse-button window- to-front feature (-L0) or leave
  89.     it on and set the number of clicks required to 2 (-c2) (and don't use
  90.     the feature while your mouse is over an icon).  V1.09 gives you yet
  91.     a THIRD option which is even more preferable ... change the qualifier
  92.     that goes along with the left mouse button to something other than 0,
  93.     like 3 (either shift). -l3
  94.  
  95.     BLANKER:    To use a third party blanker (currently only the example at
  96.     this time) just run it in the background after you run dmouse.
  97.  
  98.  
  99. EXECUTE FROM A CLI (e.g. WORKBENCH STARTUP SCRIPT), example:
  100.  
  101.     1> dmouse -c2 -l0 -C c:newshell "<nil: >nil: newcon:320/120/320/80/Shell"
  102.  
  103.     There is no need to 'RUN' DMouse.  A double set of quotes may be
  104.     required for the program to work properly with ConMan.
  105.  
  106.     NOTE:   The shell startup script should immediately CD somewhere.  DMouse
  107.         does not remember the cli's path.
  108.  
  109. TO KILL:
  110.  
  111.     1> dmouse QUIT
  112.  
  113. IPC SUPPORT:
  114.  
  115.     IPC support has changed radically due to removal of dres.library from
  116.     the required list.    The reason for the change is that I have been getting
  117.     my programs to compile under both Lattice and Aztec and did not want to
  118.     port dres.library to Lattice C.
  119.  
  120.     Please refer to the example blanker programs and dmouse-ipc.doc for
  121.     more information.
  122.  
  123.  
  124. SOURCE:
  125.  
  126.     Source is compileable under Aztec, +L (32 bit ints) and suitable
  127.     precompiled include file (remember the precompiled include file must
  128.     be precompiled with +L also).  Use the c32.lib library (Aztec C)
  129.  
  130.     Source is also compileable under Lattice C V5.02 and beyond.
  131.  
  132.     You need a working sup32.lib library to compile DMouse.  The library
  133.     source also includes the local/*.h includes and DMakefiles for making
  134.     precompiled include files.
  135.  
  136. COMMAND LINE ARGUMENTS:
  137.  
  138.     If DMouse is already running, any specified options will be
  139.     incorporated.
  140.  
  141.     quit    QUIT .. remove DMouse
  142.     -h        HELP
  143.     -a#     Set acceleration to #.    Default 3,         1 disables option
  144.     -t#     Set mouse acceleration threshhold, pixs/ev. default 0.
  145.     -s#     Set screen timeout to # (secs), Default 300, 0 disables option
  146.     -m#     Set mouse timeout to # (secs), Defalut 5,    0 disabled option
  147.     -c#     Set # of clicks required to bring window to front (def 1)
  148.     -p#     Set input handler priority (def 51) should always be > 50
  149.         (initial invocation only)
  150.  
  151.     -w#     0 = use UpFrontLayer() etc... 1 = use WindowToFront() etc...
  152.         WindowToFront() properly refreshes SIMPLE_REFRESH windows
  153.         but a bug intuition can cause it to crash the machine if
  154.         a workbench icon is active at the time.
  155.  
  156.     -L0/1    Disable/Enable left-button brings window to front
  157.     -A0-3    Disable/Enable AUTO-ACTIVATE. Bit #0 = mouse auto-activate
  158.                           #1 = keyboard auto-activate
  159.             (default 3, which enables both)
  160.  
  161.     -lqqqq    Set Qualifier (HEX) with LMB for Window To Front (default is
  162.          0, meaning no qualifier).  Example:    -l0003 sets it to
  163.          either shift key.
  164.  
  165.     -Rqqqq    Set Qualifier (HEX) with RMB for Window To Back (default is
  166.          the LMB qualifier).  Setting the qualifier to 0 disables
  167.          the feature.
  168.  
  169.     -Kcccc    Set Keycode (HEX)   for command key (default 0045)
  170.  
  171.     -Qqqqq    Set Qualifier (HEX) for command key (default 0040)
  172.  
  173.     -C CMD    Set Command to run.  Default is NEWCLI.  Remaining arguments
  174.         on command line is the command.
  175.  
  176.     -S/-M    REMOVED.  Obsoleted by new IPC mechanism.
  177.  
  178.             QUALIFIERS (always entered in HEX)
  179.  
  180.     0001    Left Shift
  181.     0002    Right Shift
  182.     0004    Caps Lock
  183.     0008    Control
  184.     0010    Left Alt
  185.     0020    Right Alt
  186.     0040    Left Amiga Key
  187.     0080    Right Amiga Key
  188.     0100    Numeric Key Pad Key (not useful for dmouse)
  189.     0200    Repeat        (not useful for dmouse)
  190.     0400    Interrupt        (not useful for dmouse)
  191.     0800    Multibroadcast    (not useful for dmouse)
  192.     1000    Middle Mouse Button (not normally implemented by intuition)
  193.     2000    Right Mouse Button
  194.     4000    Left Mouse Button
  195.  
  196.     Note:    Combinations are allowed, in which case any one of the
  197.         selected qualifiers along with the left, right mouse button
  198.         or command key will cause the appropriate action to occur.
  199.  
  200.  
  201. RELEASE HISTORY:
  202.  
  203. V1.20
  204.     -3rd party IPC mechanism fixed.  A new mechanism is now in place.
  205.  
  206. V1.16
  207.     -Code fixed to compile under either Manx C 3.6 or Lattice C 5.02
  208.     -3rd party screen blanker supported removed due to removal of
  209.      dnet.library (which is too difficult to port at this time).
  210.  
  211. V1.14
  212.     -minor bug fixes.  DLineArt added to distribution (removed again in
  213.      1.16 temporarily)
  214.  
  215. V1.13
  216.     -d option (debug mode if compiled in) not compiled in on release
  217.        binaries
  218.     -You can now bring up a new cli without having to move the mouse from
  219.      its initial (power up) position.
  220.     -Checks if the copper list stuff it modifies is valid.  If not, does
  221.      not modify the copper list stuff (you loose mouse blanking instead of
  222.      crashing the machine for those using the hires board)
  223.  
  224.  
  225. V1.12
  226.     -S option added, external screen blanker supported.
  227.     -M option added, external mouse blanker supported.
  228.     -IPC commands changed to 'mouse on/off' 'screen on/off', they used
  229.      to be 'mouse / nomouse' and 'blank / noblank'.
  230.  
  231. V1.11
  232.     -Intelligent requester handling: auto-activate is disabled while the
  233.      active window has a requester in it.  Slight modification of key
  234.      handling (key-up events are ignored by DMouse).  Addition of
  235.      text-based IPC to blank/unblank the mouse/screen.
  236.  
  237. V1.10
  238.     -Fixed -A bug ... -A2 now enables auto-activate-on-key and disables
  239.      auto-activate-on-mouse
  240.  
  241. V1.09
  242.  
  243.     Workbench users probably want to use the following options: -w1 -l0003
  244.     These use WindowToFront() (your windows get refreshed properly), but
  245.     also requires you to depress a shift key + LMB to get the window-to-front
  246.     feature.
  247.  
  248.     dmouse -w1 -l0003
  249.  
  250.     -SELECTABLE USE OF UpFrontLayer() etc..  OR  WindowToFront() etc...
  251.      Workbench users should use WindowToFront() (-w1), while CLI users
  252.      probably want to use UpFrontLayer() (default).
  253.  
  254.      Reason:    WindowToFront()/Back can crash the Amiga if called while
  255.      a workbench ICON is highlighted.  Unfortunetly, UpFrontLayer(), which
  256.      does not have the bug, also does not automatically refresh
  257.      simple-refresh windows!
  258.  
  259.     -New option -lqqqq (SET QUALIFIER WITH LEFT MOUSE BUTTON TO GET
  260.      WINDOW-TO-FRONT FEATURE).    WORKBENCH USERS NOTE:  By setting this
  261.      qualifier to a shift key, for instance, you can safely move icons
  262.      around without crashing the machine because DMouse will not issue
  263.      the WindowToFront() call unless you are holding the qualifier key
  264.      down while pressing the left mouse button.
  265.  
  266.     -Bug fixed thanks to user persistance!  If you disable mouse blanking,
  267.      and enable screen blanking (which blanks the mouse too when it
  268.      happens), hitting a key would bring back the screen but not the mouse.
  269.  
  270. V1.08
  271.      Botched.
  272.  
  273. V1.07
  274.     -All intuition calls are made from an independant process rather than
  275.      the input handler routine.  This also fixes a couple of deadlock bugs,
  276.      but not the workbench-icon deadlock bug.
  277.     -Mouse response is no longer jerky when the system is loaded down.
  278.     -Keyboard-Auto-Activate-Window independant of Mouse-Auto-Activate-Window
  279.      (enhanced -A option)
  280.     -No need to OR the -Q qualifier with 8000 anymore
  281.     -WindowToFront() never called for backdrop windows, which ought to fix
  282.      the workbench freeze bug and other problems.
  283.     -Mouse automatically blanked when screen blanks, whether mouse blanking
  284.      is enabled or not.
  285.     -Can set input handler priority (initial invocation only).
  286.     -New Timeouts go into effect immediately rather than after the
  287.      next mouse/keyboard event.
  288.  
  289. V1.00-V1.06
  290.     Before Written history
  291.  
  292.  
  293.