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

  1.  
  2.  ---------------------
  3.   "MouseAide" History
  4.  --------------------- 
  5.  
  6. Changes for: v9.75a.08.03.93 (Rel.7b)
  7.  
  8.  07.20.93  Added the ability to 'EzDrag' windows that have there own custom
  9.            drag gadget, such as 'ToolManager' has with its 'Docks'
  10.            
  11.  07.27.93  Added the automatic adjustment to systems who generate a Middle
  12.            Mouse Button Qualifier, but do NOT have a MMB! 
  13.            
  14.  08.02.93  Fixed a small bug in the 'EzDate' building code, that would NOT
  15.         generate a correct 'Formated' date!
  16.         
  17.  08.03.93  Added the ability to ignore a qualifier when defining a 'Hot Key'
  18.         by prefixing it with a: '-' character.  For example:
  19.         
  20.         lalt -lshift t
  21.         
  22.         would ignore the 'Left Shift' qualifier when checking for the
  23.         'Left Alt t' sequence! Another example:
  24.         
  25.         lamiga -capslock -lshift -rshift esc
  26.         
  27.         Would ignore the 'Caps Lock', 'Left Shift' & 'Right Shift' 
  28.         qualifiers when scaning for the 'Left Amiga Esc' sequence!
  29.         
  30. Changes for: v9.76a.08.20.93 (Rel.7c)       
  31.         
  32.  08.20.93  Fixed a bug in the 'Workbench to Front' function, that could at
  33.         min. cause a 'Enforcer' hit, and at max. cause a system lockup
  34.         & a system guru!  The problem was two fold: One, I relied on
  35.         the 'input.device' as a easy timmer, NOT smart because calls
  36.         to 'intuition' can freeze the 'input.device'!!!  Two, my find
  37.         'Workbench' window routine could return a invaild pointer, if
  38.         the 'Workbench' process is bog down!
  39.         
  40.         Add a small delay to the 'Auto-Activate' function when the
  41.         right mouse button is released (Menu up) to give 'Workbench'
  42.         time to use the last activate window in any of its functions,
  43.         before a new window is activated!  This allows function such
  44.         as 'Snapshot' to 'Snapshot' the correct window, not the window
  45.         that the pointer ends up over after releasing the menu button!
  46.         
  47.  08.21.93  Fixed a tiny bug that was releasing one-byte-short on the user
  48.         'Hot Key' definations, on shutdown
  49.        
  50.         During 'Screen Blanking' I now check for, at the rate set for
  51.         'Mouse Blanking', for an un-blanking state and re-blank if
  52.         needed!  This is needed when a program opens a new screen, or
  53.         brings their screen to the front, while we are trying to show
  54.         are 'Blanking' screen.
  55.         
  56. Changes for: v9.77a.08.20.93 (Rel.7d)
  57.  
  58.  09.12.93  Fixed a small, but insidious bug in which I search for one more
  59.            entry in the: 'Hot Key functions'/'Macros' array then are defined!
  60.            If the memory just passed the code array table if just right (or
  61.            should I say just wrong) POP BANG GURU!!!!
  62.            
  63. Changes for: v9.78a.08.20.93
  64.  
  65.  09.14.93  Add 'Enlarge/Shrink Window' function, that will adjust a windows
  66.            size to its max./min. values & adjusting its position if needed!
  67.            (will work even with a custom 'size' gadget, nice eh?)
  68.            
  69.            If the mouse pointer is blanked (from key, or timeout) I NO longer
  70.            look for the window under the mouse pointer for any of the 'Window'
  71.            functions!  This allows the active window to be 'Key Closed',
  72.            'Enlarged', 'Shrunk', etc... without having to move the pointer
  73.            over the window, nice touch if you are a keyboard user!
  74.            
  75. Changes for: v9.79a.09.17.93
  76.            
  77.  09.20.93  Added a 'Zip Window' function that will invoke the 'Zoom' function
  78.            of a window if it has a 'Zoom' gadget!  But, I did not stop there
  79.            I also created a 'Zip-Cache' for windows without a 'Zoom' gadget!
  80.            I did this for two reasons: One, I would like to have alternate
  81.            position for all windows that can be dragged, not just ones with
  82.            a 'Zoom' gadget! Two, for people with older machines that do NOT
  83.            have the 'Zooming' ability, this function will create it! I
  84.            decided to use a 'cache' to hold the window's 'alternate' size/
  85.            position, instead of patching into 'intuition' this method is
  86.            safer, and requires less coding, with in turn produces less bugs.
  87.            As of this version I use: a 32-unit (Windows) cache, that is
  88.            allocate when this fuction is invoked.  I also bubble up the
  89.            last called unit (window) which makes it easier to find on the
  90.            next call, and protects it from being replaced if there is more
  91.            than the 32-unit being 'Zipped'
  92.            
  93. Changes for: v9.80a.09.27.93 (Rel.8)
  94.  
  95.  09.25.93  I now allow qualifier keys to do key-blanking & key-activating!
  96.  
  97.  09.26.93  Fixed a small bug in how I detected when the 'input.device' was
  98.            locked up, causing a deadlock!  My old routine would sometimes
  99.            abort the 'dragging' process when the 'input.device' was NOT
  100.            locked up!
  101.  
  102.  09.27.93  Added a 'Upstroke' Qualifier to the 'Hot-Key' parser, which will
  103.            allow the user to trigger any hot key function by having: a key
  104.            pressed down (default), released (upstroke), or both (-upstroke)
  105.            I added this ability because of toggle functions such as 'EzDrag'
  106.            which work better when toggled on by the downstroke, and toggled
  107.            off by the upstroke!
  108.            
  109.            Changed the default 'Hot Key' sequence for 'EzDrag' to use the
  110.            new 'Upstroke' qualifier (-upstroke)
  111.            
  112.            I now remove 'Repeat' hot-key events.  I did this because some
  113.            programs (bad coding) do NOT like to receive repeat events when
  114.            they did not receive the first event!
  115.            
  116.            I now abort the 'EzDrag' mode if the active screen changes. No
  117.            more hidden dragging!
  118.            
  119.  09.28.93  Added 'Freeze Mouse-X' & 'Freeze Mouse-Y' functions that allows
  120.            the user to user to freeze the Mouse movement in either the X,
  121.            or Y direction, nice for moving Icons or in drawing programs!
  122.            This function was suggested to me about a year ago, but it did
  123.            NOT become easy to implement until I added the '-Upstroke'
  124.            qualifier!
  125.            
  126.            Added the 'Un-Accelerate Mouse' function that allows the user to
  127.            toggle, on and off, the 'Acceleration' function.  Nice function
  128.            to have for making very small mouse movements!  This function was
  129.            suggested to me by a new user, and also became easy to implement
  130.            because of the '-Upstroke' qualifier!
  131.                  
  132. Changes for: v9.81a.03.07.94 (Rel.9)
  133.  
  134.  01.13.94  Added the ability to define a 'Hot-Key' for either of the double
  135.            qualifier keys!  So by using the follow qualifier keywords:
  136.            
  137.              AMIGA    for the LAMIGA or RAMIGA
  138.              ALT    for the LALT or RALT
  139.              SHIFT    for the LSHIFT or RSHIFT
  140.              CAPS    for the LSHIFT or RSHIFT or CAPSLOCK
  141.              
  142.            you can define a 'Hot-Key' sequence that will function on more
  143.            the one sequence. You also can also use the above keywords to
  144.            ignore both the 'Right' & 'Left' qualifiers by prefixing it with
  145.            a: '-' character.  Here are a few examples:
  146.            
  147.            alt t
  148.         
  149.         would define a 'Hot Key' sequence that is triggered either the
  150.         'Left Alt t', 'Right Alt t', or the 'Right Alt Left Alt t'
  151.         sequence!
  152.         
  153.         amiga shift -alt j
  154.         
  155.         would define a 'Hot Key' sequence that is triggered by all of the
  156.         following sequences:
  157.         
  158.          'LAmiga LShift j'
  159.          'LAmiga RShift j'
  160.          'RAmiga LShift j'
  161.          'RAmiga RShift j'
  162.          'LAmiga RAmiga LShift j'
  163.          'LAmiga LShift RShift j'
  164.          'LAmiga RAmiga LShift Rshift j'
  165.          
  166.         
  167.          'LAmiga LShift RAlt j'
  168.          'LAmiga RShift RAlt j'
  169.          'RAmiga LShift RAlt j'
  170.          'RAmiga RShift RAlt j'
  171.          'LAmiga RAmiga LShift RAlt j'
  172.          'LAmiga LShift RShift RAlt j'
  173.          'LAmiga RAmiga LShift Rshift RAlt j'
  174.          
  175.          'LAmiga LShift LAlt j'
  176.          'LAmiga RShift LAlt j'
  177.          'RAmiga LShift LAlt j'
  178.          'RAmiga RShift LAlt j'
  179.          'LAmiga RAmiga LShift LAlt j'
  180.          'LAmiga LShift RShift LAlt j'
  181.          'LAmiga RAmiga LShift Rshift LAlt j'
  182.           
  183.         
  184.          'LAmiga LShift RAlt LAlt j'
  185.          'LAmiga RShift RAlt LAlt j'
  186.          'RAmiga LShift RAlt LAlt j'
  187.          'RAmiga RShift RAlt LAlt j'
  188.          'LAmiga RAmiga RAlt LAlt LShift j'
  189.          'LAmiga LShift RAlt LAlt RShift j'
  190.          'LAmiga RAmiga RAlt LAlt LShift Rshift j'
  191.            
  192.         Nice, eh?
  193.         
  194.  01.19.94  Fixed a problem between the 'Freeze Mouse-X' & 'Freeze Mouse-Y'
  195.         functions and the 'Un-Accelerate Mouse' function that would NOT
  196.         allow both to be used at the same time (this showed up when I
  197.         defined the 'Un-Accelerate Mouse' function to toggle on/off with
  198.         the 'F1' key, but then was NOT able to have the 'Freeze Mouse-X'
  199.         & 'Freeze Mouse-Y' functions work at all!)  Both are compatible
  200.         now!
  201.         
  202.  02.03.94  Added the ability to define a 'Hot-Key' on the numeric key pad
  203.            with the 'NUMPAD' qualifier.  For example:
  204.            
  205.            numpad 9
  206.            
  207.            would define a 'Hot-Key' to the '9' key on the numeric key pad!
  208.            Nice eh?
  209.            
  210.  
  211.            Fixed a small bug with would NOT allow the user to define a 'Hot-
  212.            Key' to the '-' key (because of the pre-qual. modifier).  If the
  213.            '-' key is the last character on the definition I will now allow
  214.            the key to be defined.  Note: the 'commodities.library' has the
  215.            same bug, neat eh?
  216.            
  217.  02.04.94  Added the following alternate keywords:
  218.  
  219.           CONTROL        for CTRL key
  220.           LCOMMAND        for Left AMIGA key    
  221.           RCOMMAND        for Right AMIGA key   
  222.           NUMERICPAD        for qualifier for keys on numeric key pad 
  223.           MIDBUTTON        for middle mouse button  
  224.           LEFTBUTTON        for left mouse button 
  225.           COMMAND        for left | right AMIGA key    
  226.           RIGHTBUTTON    for right mouse button
  227.           
  228.         I did this to make it easier for 'commodities' users.  I almost
  229.         have compatible system in place now!
  230.         
  231.  02.18.94  Added an 'EzSize' function that allow allow the user to size a
  232.            window without using the 'sizing' gadget, but with a user defined
  233.            'Hot-Key' sequence, NO need to lock on the 'sizing' gadget any
  234.            more!  I also improved the process, by allow the user to use any
  235.            of the four corners for the sizing.  NO more having to first move
  236.            a window you want to re-size, just place the pointer over the
  237.            corner that is open for adjustment, and activate the 'EzSize'
  238.            function!  If you only want to re-size one axis, I also allow the
  239.            user to lock the other axis by placing the pointer in the middle
  240.            of axis you wish to lock.  For example, if you want to move the
  241.            top of a window down a bit, but do NOT want to change the width,
  242.            just place the pointer pointer at the top of the window and in 
  243.            between the left & right sides of the window, and activate the
  244.            'EzSize' function.  You can now adjust the height of the window
  245.            without effecting the width!  Now a real clever person should be
  246.            saying 'what about the middle of the window, where both the X & Y
  247.            axis could be locked?'  Well I do NOT waste that area either!
  248.            When activated in the middle of a window I default to the 'EzDrag'
  249.            function, which allows you to drag the window!  You now can size
  250.            and drag a window with one easy to use function!!! nice eh?
  251.            
  252.            Here are how the actions of the 'EzSize' function are determined:
  253.            
  254.            
  255.                 <- 1/4 -> <-    1/2     -> <- 1/4 ->
  256.            
  257.         
  258.           -->   +--------+----------------+--------+
  259.                 | X & Y  |       Y        | X & Y  |  
  260.           1/4   |        |                |        |  
  261.                 | Sizing |     Sizing     | Sizing |
  262.           -->   +--------+----------------+--------+
  263.                 |        |                |        |
  264.                 |   X    |   EzDragging   |   X    |
  265.           1/2   |        |                |        |
  266.                 | Sizing |      Zone      | Sizing |
  267.                 |        |                |        |
  268.                 |        |                |        |   
  269.           -->   +--------+----------------+--------+
  270.                 | X & Y  |       Y        | X & Y  |
  271.           1/4   |        |                |        |
  272.                 | Sizing |     Sizing     | Sizing |
  273.           -->   +--------+----------------+--------+
  274.                    
  275.  
  276.         ( X & Y Sizing is from the corner that the pointer was over when
  277.           the 'EzSize' function was activated)
  278.       
  279.  02.22.94  When in the sizing/dragging mode I now use my own copy of the
  280.            screen's "RastPort", borrowing the screen's is NOT a very smart
  281.            thing to do!
  282.            
  283.  02.26.94  I stopped sending the 'un-blanking' command every time that the
  284.            mouse is moved!  Now I check the current state of the 'Mouse' to
  285.         see if it is required to send the command, the old method was a
  286.         big waste of CPU time!
  287.             
  288.  02.28.94  Added a 'Version' string so that you can use the "Version" command
  289.            to identify what version of "MouseAide" you have without having to
  290.            start it up!
  291.            
  292.  02.28.94  The 'Auto Activation' function would NOT activate a screen (make
  293.            the screen under the pointer the active one) if the pointer was
  294.            NOT over a window.  For example,  if you were turning screens
  295.            with the pointer over the title bars, "MouseAide" would NOT try
  296.            to activate the new screen, because the pointer was NOT over a
  297.            window!  This flaw was created because there is NO intuition
  298.            function to activate a screen, it is done when a window on a
  299.            screen is activated!  This small flaw becomes a pain when after
  300.            you turn to a new window, and then try to access the menus,  NO
  301.            menus, until you get the new screen active!  To fix this problem
  302.            I now activate the first window on an screen when the pointer is
  303.            NOT under a window, and NOT over an activte screen!  I hope this
  304.            will work ok!
  305.            
  306.            Also, make the screen turning function activate the first window
  307.            on the new screen that is in the front.  The old method was to
  308.            get the top most layer and hope it was a window.  The new method
  309.            should work better!
  310.            
  311.  03.04.94  Did a little work on 'timer' routines.  Since I started using the
  312.            timer for more than one function I thought I better make the
  313.            timer routines more general purpose in use!
  314.            
  315.  
  316.                       
  317.               
  318.            
  319.            
  320.