QMouse 1.2 by Lyman Epp Another "Mouse Accelerator???" What for? It seems that all the other mouse accelerators have been written in "C". This is okay, but the programs are 10-30K. This mouse accelerator is written in assembler and contains most of the features of the others, but the program size is less than 3K bytes! Also, the source is included so that you can add more features (please send me a copy if you do.) QMouse stands for "Quick Mouse." This is being distributed as ShareWare. If you think that QMouse is useful, please send $10. Your response will insure the release of more quality programs for your Amiga! Programs already in the works include: a disk based print spooler, a window dump that converts the window bitmap back to text, and more. Be sure to check out the latest shareware version of QView. The latest version of QMouse can always be found on the Wind Dragon Inn BBS, (402)-291-8053. Lyman R. Epp 10072 Wirt Plaza #15 Omaha, Nebraska 68134 FEATURES: - Any option can be turned off or modified. - Screen blanks if keyboard or mouse is idle for a while. - The Mouse Pointer blanks if mouse is idle for a while. - Mouse Accelerator with configurable threshold to allow precise mouse positioning. - Automatic window activation (i.e. Sun Mouse). Makes the window under the mouse pointer the active window. Sun Mouse will not activate windows while any mouse button is depressed. This will allow you to move WorkBench icons between windows. - Configurable command string ala PopCli, activated with the Left_Amiga-ESC combination. - Left Mouse Button click in window brings it to the front Does not bring the window to the front if it is already in the front. The number of clicks required is configurable. - Hold down the Left Mouse Button in a window and click the Right Mouse Button to send that window to the back. - The smallest clock yet! Can be turned off if you don't like clocks. Starting column is also configurable. The clock window will be brought to the front (of the WorkBench screen) whenever it becomes obscured. - Uses a background CLI. Programs like DMouse and PopCLI3 don't use a background CLI, and therefore any NewCLI's spawned by them will have no default directory, no default path, etc. Using a background CLI simply requires that you use RunBack (included) instead of Run (to allow closing the initial CLI.) This should be viewed as very beneficial! You can also set stack size for any spawned CLI's. This will allow you to set a lower stack size before starting QMouse, but insure an adequate stack size for spawned CLI's. EXECUTE FROM A CLI (e.g. WorkBench Startup-Sequence), example: 1> Stack 4000 1> RunBack QMouse -c543 -v20000 "-eNewCLI con:0/0/640/150/AmigaDOS" 1> Stack 20000 TO KILL: Press Ctrl-Left_Amiga-ESC (all at the same time.) SOURCE: Source may be assembled with the Metacomco assembler or with the Manx assembler. The Manx assembler creates about 5-10% smaller code! See the included makefile for assembling with Manx. This probably won't assemble with versions of Manx before 3.6a. COMMAND LINE ARGUMENTS: Arguments can be typed in upper or lower case. Arguments can be enclosed in quotes, e.g. "-a3" or "-eNewCLI con:0/0/640/200" Quotes are required if the argument contains spaces, otherwise they are optional. -a# Set acceleration to #. Can be in the range of 0 to 65,535. Mouse movement events that have X or Y motion greater than the Acceleration threshold (see option -t) will be accelerated by this factor. The default is 3. To disable this feature, specify 0 or 1. -b Enable click to back feature. Hold down the Left Mouse Button in a window and click the Right Mouse Button to send that window to the back. -c# Activate clock. You can also specify an optional column where the clock will be displayed. The column number must be in the range of 0 to (Screen Width - 44). The width of the clock is 44 pixels. To place the clock next to the front/back gadgets, use a value of (Screen Width - 44 - 53). With a screen width of 640, this would be a column value of 543 (-c543). The default column is 280. -eCOMMAND Set Command to run. If the command contains spaces, then the entire command must be enclosed in quotes. This feature can be placed anywhere on the command line. The default command is "NewCLI". -k# Set number of clicks required to bring a window to front. Will not call WindowToFront() if the window is already the front window. The default is 2 clicks. To disable this feature, specify 0 clicks. Can be in the range of 0 to 65,535 clicks. -m Deactivate Left_Amiga-M to send front screen to back. -p# Set the number of seconds to wait after a mouse event before making the mouse pointer invisible. Gets the mouse pointer out of your way! Just move the mouse again and the pointer will reappear. The default is 10 seconds. To disable this feature, specify 0 seconds. Can be in the range of 0 to 65,535 seconds. -r Enable automatic window activation (i.e. Sun Mouse). When- ever the pointer is moved into a window, that window will be made active. Sun Mouse will not activate windows while any mouse button is depressed. This will allow you to move WorkBench icons between windows. -s# Set the number of seconds to wait after any event (keyboard, mouse or disk changed) before blanking the screen. Keeps an image from "burning in" to your monitor. Just move the mouse, type a key or insert a disk and the screen will be restored. The default is 600 seconds. To disable this feature, specify 0 seconds. Can be in the range of 0 to 65,535 seconds. -t# Set mouse acceleration threshold in pixels per event. Any mouse movement events that have X or Y motion greater than this number will be accelerated by the acceleration factor (see option -a). This option provides a way to position the mouse pointer precisely, without the acceleration factor "getting in the way." The default is 3. Can be in the range of 0 to 65,535 pixels per event. -v# Set the stack size for any spawned CLI's. This allows the stack size for the QMouse's CLI to be set to a minimum. Can be in the range of 1800 to 655,360 bytes (should be more than adequate!) CREDITS This program has been inspired by PopCLI, Mach, DMouse, MouseOff and others. Thanks to the authors of these programs for providing good examples of how to make the Amiga "do its thing!" RELEASE 1.1 NOTES 08-Jul-1988 - Made the clock come to the front whenever its been obscured, rather than every 10 seconds. This was bothering some programs. - The manual incorrectly documented the Ctrl-Left_Amiga-ESC method of terminating QMouse. This should have read Ctrl-Left_Amiga-F1, but I changed the program to work as documented. - Intuition will restore the mouse pointer occasionally. I changed QMouse to re-blank the mouse pointer quicker than before. RELEASE 1.2 NOTES 30-Aug-1988 - Modified to assemble with the Manx assembler. The Manx assembler creates about 5-10% smaller code. See the included makefile for assembling with the Manx assembler. Source will still assemble with the Metacomco assembler as before! - Intuition calls are now made from the QMouse task, rather than from the input handler. This should resolve any Intuition lockups. - WindowToFront() not called for BACKDROP type windows. This should help eliminate the possibility of WorkBench locking up. - Added automatic window activation (i.e. Sun Mouse). Specify option -r to activate Sun Mouse (-s was already used.) - Added click to back feature. Specify option -b to activate click to back. - Added stack size feature. Allows QMouse to run with a smaller stack while insuring adequate stack size for spawned CLI's. Specify option -v to change the default stack size. - Fixed bug with clicking to front a window on a screen that is in the background. No one had reported this bug yet. ;-) - Cleaned up documentation and fixed any inaccuracies that I found. Documentation for option -m now reads to "deactivate" the screen shuffler. Actually, the -m option was ignored until release 1.2.