home *** CD-ROM | disk | FTP | other *** search
-
- MM
- ~~~~
- Mouse Manager (c) Colin J Smith November 1988
-
-
- Files on disk
- ~~~~~~~~~~~~~~~
- MM.EXE ; the program to manage the mouse
- MM.C ; 'C' source code
- MM.DOC ; this file
- MTEST.BAT ; batch file to test operation of MM.EXE
-
-
- MM was written in the 'C' language. The 'C' source is
- included and should compile in 'Borland Turbo C', 'Microsoft C',
- or 'Zortech C++'.
-
-
- MM will be useful when you wish to quickly and easily temporarily
- override the NVR mouse settings. When used in batch files MM
- will allow you to flexibly manage your mouse and prevent you from
- pulling out your dusty copy of NVR too often.
-
-
- It is designed to work with batch files interfaced using the
- ERRORLEVEL. Users can create their own customised batch files
- which will allow them set certain mouse characteristics before
- running a program that will use the mouse.
-
-
- To look at the list of options available issue the command:-
-
- MM <RETURN> ; this will display the usage
-
-
- To set an option use:-
-
- MM o n .. ; where 'o' is the option and 'n..'
- ; are the arguments which a particular
- ; option may require
-
-
-
- Using MTEST.BAT
- ~~~~~~~~~~~~~~~~~
-
- MTEST.BAT is a batch file program which shows the typical
- applications for which MM can be used.
-
- To run MTEST use:-
-
- MTEST <Return>
-
-
- MTEST may be slow depending on the area of the floppy disk it is
- positioned because it needs to access MM.EXE a few times. In
- your own programs you may only access MM.EXE a few times so
- this should not be a problem. If your batch files will access
- MM.EXE a great deal then you should either put MM.EXE onto
- a 'ramdisk' or your hard disk to offer best efficiency.
-
-
- MM is ideal to insert in your AUTOEXEC.BAT file so that you can
- for instance set the mouse movement so it is ready after booting.
-
-
- Using the ERRORLEVEL value
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- MM returns an ERRORLEVEL value depending on the option chosen which
- can be used by batch files:-
-
- batch file extract,
-
- MM 1 ; batch file runs MM to reset mouse
- IF ERRORLEVEL==255 GOTO NOMOUSE ; no mouse
- IF ERRORLEVEL==3 GOTO 3BUT ; mouse has 3 buttons
- IF ERRORLEVEL==2 GOTO 2BUT ; mouse has 2 buttons
- IF ERRORLEVEL==1 GOTO 1BUT ; if the ERRORLEVEL return value was 1
- ; then it means a mouse was installed and
- ; it had 1 mouse button
-
-
- The method of checking the mouse is to run MM and then using
- ERRORLEVEL to determine the result and acting accordingly.
-
- You don't have any excuse for writing those batch files now!,
-
- Enjoy!
-
-
- T H E O P T I O N S
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- 1 Check and reset mouse
- ------------------------
-
- This option checks the mouse driver to see if it is present. If
- the driver is present then the mouse settings are reset and the
- number of buttons on the mouse is returned.
-
- --ERRORLEVEL returns
-
- 255 - no mouse driver
- 1 - mouse is installed, has 1 button
- 2 - mouse is installed, has 2 buttons
- 3 - mouse is installed, has 3 buttons
-
-
- 2 Set mouse cursor status
- --------------------------
-
- This option allows you to turn the mouse cursor either on or off.
- eg.
- MM 2 1 ; turns cursor ON (show)
-
- MM 2 0 ; turns cursor OFF (hide)
-
- This option is cumulative ie if you call the 'show' option twice
- in succession then it will require two calls of the 'hide' option
- to turn the mouse cursor off again.
-
-
- 3 Set light pen emulation status
- ---------------------------------
-
- This is a nice option which allows the mouse to act like a light
- pen and so maintain a degree of compatibility with software which
- uses or expects a light pens for input. When using this option
- you must specify whether you require emulation to be ON or OFF.
- eg.
- MM 3 1 ; turns light pen emulation ON
-
- MM 3 0 ; turns light pen emulation OFF
-
- If you turn emulation on then:-
-
- simulate PEN DOWN by
- --------------------
- pressing <LEFT> and <RIGHT> mouse buttons together
-
- simulate PEN UP by
- ------------------
- releasing all buttons
-
-
- 4 Get button status
- --------------------
-
- This option checks a specified mouse button to see if it is being
- pressed. You specify the mouse button to check, either <LEFT>,
- <RIGHT> or <CENTRE>. The buttons are identified as 1-Left, 2-
- Right and 3-Centre. An errorlevel is returned telling you
- whether the button was pressed or not.
- eg.
- MM 4 1 ; looks at status of <LEFT> mouse button
-
- MM 4 2 ; looks at status of <RIGHT> mouse button
-
- MM 4 3 ; looks at status of <CENTRE> mouse button
-
- --ERRORLEVEL returns
-
- 0 - button NOT depressed
- 1 - button depressed
-
-
- 5 Wait for button
- ------------------
-
- This option is similar to option 4 - get button status, except
- for the fact that this option waits until the specified mouse
- button is pressed. You specify the button you wish to wait for
- 1-Left, 2-Right or 3-Centre.
- eg.
- MM 5 1 ; waits until <LEFT> button is pressed
-
- MM 5 2 ; waits until <RIGHT> button is pressed
-
- MM 5 3 ; waits until <CENTRE> button is pressed
-
- You should be careful if you are using this option on two button
- mice, such as the one supplied with the Amstrad computers. They
- have only <LEFT> and <RIGHT> mouse buttons, so it is not possible
- for you to wait for the <CENTRE> button to be pressed because it
- doesn't exist - therefore you will crash the system.
-
-
- 6 Set acceleration speed threshold
- -----------------------------------
-
- The acceleration speed threshold is measured in mickeys/second.
- When moving the mouse cursor around the screen the speed of
- acceleration is detected. You can use this option to change the
- threshold level which if exceeded means a coarser mickey/pixel
- ratio is used.
- eg.
- MM 6 100 ; sets the acceleration threshold ratio
-
- Low values give a jerkier/faster response eg 1.
- Large values give a slower/slugish response eg 10000.
-
-
- 7 Set hardware cursor scanline
- -------------------------------
-
- This option allows the shape of the text mode mouse cursor to be
- changed. You must specify the start and finish of the cursor
- scanlines. These will be different for different screen modes ie
- colour - 0 7, monochrome - 0 14, will set a block shape cursor.
- eg.
- MM 7 0 7 ; sets block cursor on colour CGA monitor
-
- MM 7 0 14 ; sets block cursor on monochrome monitor
-
-
- 8 Set X & Y motion/pixel ratio
- -------------------------------
-
- This option allows you to change the scaled movement over the
- screen ie the motion to pixel ratio (how much the cursor on the
- screen moves in relation to the physical movement of the mouse).
- This ratio is measured in 'mickeys' - the number of pixels per
- inch. Quality mice usually have a mickey ratio of 200 which
- means they have a greater degree of accuracy and response over
- mice with say a 100 mickey ratio.
- eg.
- MM 8 50 100 ; sets X to 50 mickeys/Y to 100 mickeys
-
- The value of the Y ratio is twice that of the X ratio to maintain
- uniform movement ie X ratio = 1:1, Y ratio = 2:1.
-
- Low values such as 1 give quick large movement movement on the
- screen to small movement of the mouse.
- Large values such as 100 give small movement on screen to large
- movement of the mouse.
-
-
- 9 Set New Min & Max X position
- -------------------------------
-
- This option allows you to set the minimum and maximum horizontal
- movement boundary. The default are:-
-
- min X = 0 max X = 639
-
- measured in terms of pixel positions.
-
-
- pixel position 0 7 15 23 31 631 639
- column 0 1 2 3 4...........................78 79
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓X▓REGION▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- MinX MaxX
-
- The positions are in terms of pixel positions, so when in text
- mode you calculate the pixel positions by multiplying the text
- column by 8 and subtracting 1.
- eg.
-
- To set the minimum X position to start at column 10 and then
- finish at the maximum X position at column 70:-
-
- min X = 10 * 8 - 1 = 79
-
- max X = 70 * 8 - 1 = 559
-
- issue the command:-
-
- MM 9 79 559 ; sets min X position to column 10 and
- ; max X position to column 70
-
- Where the X region and Y regions overlap is the possible region
- where you can move the mouse cursor. Set the Y region with the
- option 10.
- eg.
- MinX MaxX
- | |
- ░░░░░░
- ░░░░░░ ___MinY
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒___MaxY
- ░░░░░░
- ░░░░░░
- ░░░░░░
- ░░░░░░
-
-
- ▓▓ = region where mouse cursor can be moved
-
-
- To reset the minimum and maximum positions the mouse can move
- on the screen use option 1 - reset mouse OR just supply some
- new values to option 9 and 10.
- eg.
- MM 9 0 639 ; set min/max to original
-
- MM 10 0 199 ; set min/max to original
-
-
- 10 Set New Min & Max Y position
- --------------------------------
-
- This option allows you to set the minimum and maximum vertical
- movement boundary. The default are:-
-
- min Y = 0 max Y = 199
-
- pixel
- pos. col
- 0 0 MinY
- 7 1 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- 15 2 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- . ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- . ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓Y▓REGION▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- . ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- 23 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- 24 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓MaxY
- 199 25
-
-
- The positions are in terms of pixel positions, so when in text
- mode you calculate the pixel positions by multiplying the text
- column by 8 and subtracting 1.
- eg.
-
- To set the minimum Y position to start at column 5 and then
- finish at the maximum Y position at column 20:-
-
- min Y = 5 * 8 - 1 = 39
-
- max Y = 20 * 8 - 1 = 159
-
- issue the command:-
-
- MM 10 39 159 ; sets min Y position to column 5 and
- ; max Y position to column 20
-
- Usually this option would be used in conjuction with option 9 to
- set up a mouse movement 'window' which is where the X and Y regions
- overlap.
-
- -----------------------------------------------------------------