ftp.nice.ch/pub/next/tools/workspace/mouseAccel.README

This is the README for mouseAccel.N.b.tar.gz [Download] [Browse] [Up]

  From info Panel of mouseAccel:
  
        
          An Application to Change Mouse Acceleration


			   Usage
Moving the slider up or down in this app, sets the maximum levels of scaling.  You can then type values into the active cells of the Thresholds and Factors matrix. (See below for more detail)   The Apply button performs the IOCTL to set the evs driver to the values shown.   Under  the File menu,  you can change  the display to reflect the most recent changes to the driver.  This is handy if you are using Preferences to set the mouse acceleration, and want to view the values with this app.  Also under the File menu, the current setting can be saved as the default.   The Revert button, lets you recover from an overly wild mouse setting. Its Cmd-R  key is useful in the most extreme cases.

                                  Technical Information
When the ev driver receives mouse motion, it looks at the amount of mouse motion that has occurred in the last 1/68th of a second.  That amount of motion, in pixels, is then compared to the first entry in the scaleThresholds component of the current mouse scaling.  If the amount of mouse motion is greater than that threshold, it keeps going to the next entry in the thresholds array.  Once the correct entry of the thresholds array is found, the ev driver looks in the corresopnding element of the scale factors array, found in the scaleFactors component of the structure. It then multiplies the mouse motion by that scale factor.


Mouse Scaling Example 
For example, let the numScaleLevels component be 2, and the scaleThresholds array contain 3 and 6, and the scaleFactors array contain 2 and 4. 

numScaleLevels = 2
scaleThresholds[3,6]
     scaleFactors[2,4]

Then, if the mouse moved by a cartesian distance of 4 pixels, it would get to the first element of the thresholds array (3), since it was less than second element (6).  This would cause the driver to multiply the mouse motion by the corresponding scale factor, which in this case is 2.  Thus the cursor would move twice as far as the mouse.  Thus, the affect of mouse scaling is to cause the cursor to move nonlinearally faster than the mouse as both are speeded up.  This is very useful on the large screen of a NeXT machine. 

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.