MouseAccelerator (Commodity) by Stefan Sticht This program (binary), sourcecode, documentation is PUBLIC DOMAIN. You may do anything with it! Purpose of this commodity: -------------------------- MouseAccelerator is a commodity, which speeds up mouse movements. AmigaOS 2.0 has already a mouseaccelerator built in. If you think it's too slow, you can use this commodity. You may specify a acceleration factor and a threshold factor (pixels/event). If you move the mouse faster than the threshold factor in pixels per inputevent, the mousepointer is accelerated. If you move the mouse slowly, no acceleration is done to make some jobs easier. You should turn off intuition's mouse accelerator in input preferences if you use this commodity. Requirements: ------------- This commodity requires at least Kickstart 37.* and Workbench 37.*. Please check this out using Version in the Shell or About from the Workbench's Workbench menu. You also need to have the commodities.library in your libs: directory. How to start a commodity: ------------------------- First there are two basically different ways to start a commodity: via Workbench or via Shell. Starting it via Workbench is extrem simple: just doubleclick on its icon and the commodity gets started. Perhaps you might change some parameters of the commodity. You do this with tool types. Tool types can be changed by clicking at the commodities icon and selecting Information from the Workbench's Icon menu. In the window which opens you see a listview gadget in which all tool types are listed. Please refer to your Workbench documentation on how to change this tool types. Which parameters you can change for this specific commodity is described below. Please note that another double click on the commodity's icon forces the commodity to open its window, if it's already running. Running two copies of MouseAccelerator at the same time isn't useful and therefore possible. Any changes in tool types aren't told the running copy of the MouseAccelerator; you have to kill the running one and start it again. To start a commodity via shell you type in its name. If you get an "Unknown command ???" error message, you have misspelled the commodity's name or the commodity isn't in your current directory or in the current search path. The easiest way is to change your current directory to the location of the commodity using the CD command. You can change parameters of a commodity by command line options. The available options are listed with ? as the first parameter: MouseAccelerator ? gives you a list of the command line options. The explanation of each option is below. Starting the commodity once more while it is already running forces the commodity to open its window. No command line option is parsed or updated if you start the commodity a second time. If you want the commodity to be started at every boot-up, it's best to add this line to your User-Startup file: MouseAccelerator Don't forget to replace by the path to the commodities's location and by the options you want to change. For example add this line if your commodity is located in the Tools drawer of your boot disk and if you want the pointer to be accelerated by 3: Tools/MouseAccelerator ACCELERATION=3 Another way to start the commodity at every boot-up is to drag its icon in the WBStartup drawer of your boot disk. Then the commodity gets started as if you had double clicked on its icon. But you have to add the tool type DONOTWAIT to the icon. Using Exchange: --------------- Exchange is the commodities controller program. With Exchange you can control all commodities: you can kill, disable, enable, show and hide commodities. Start the Exchange program, which usually is in the Utilities drawer of your boot disk, by double clicking its icon. Now you see a list of the available commodities. Select the commodity you want to control. The commodities title, description and status is shown now below the listview gadget. You can kill the commodity using the Kill gadget... If the commodity has a window to open, in which you usually change some parameters, you can open this window using Show. Hide closes this window. Changeable parameters: ---------------------- CX_Priority: ------------ You can specify the priority of the commodity within the commodities queue using the tool type or commandline option CX_PRIORITY=, where is the decimal value for the priority. Default priority is 0. ACCELERATION: ------------- With the tool type or command line option ACCELERATION= you can specify the acceleration factor. The default acceleration factor is 5. After having started the commodity, you can change the acceleration factor in a small pop up window, too. To open this window you need the Exchange program or a hotkey installed. Open Exchange's window, select the MouseAccelerator, then select Show. Now the window of the MouseAccelerator has opened. There you can change the acceleration and threshold factor. Using the Hide gadget the window closes and the commodity keeps running. The Quit gadget removes the commodity. THRESHOLD: ---------- With the tool type or command line option THRESHOLD= you can specify the pixels per event you have to move the mouse before acceleration starts. Default is 4 pixels/event. CX_POPKEY: ---------- You can specify a hotkey, with which you can open the commodity's window, using the tool type or command line option CX_POPKEY=. is any input description string as explained below. If you omit this option, no hotkey will be installed. Default is no hotkey installed. Examples: CX_POPKEY=f1 (F1 opens the window) "CX_POPKEY=lshift f1" (left shift and F1) "CX_POPKEY=alt m" (either alt and M) CX_POPUP: --------- With the tool type or command line option CX_POPUP=YES|NO you can specify wether the commodity's window shall open at startup. YES|NO means that you have to use either YES or NO, nothing else. Default is NO. Input description strings ------------------------- With input description strings you can specify almost any input action, for example the action lshift f1, which means that pressing the left shift and the f1 key together is the action. In this commodity you can specify the action to open the commodity's window, as described above. Input description strings have the following template: [class] (([-]qual)|syn)* [[-]upstroke] [highmap|ANSIcode] (* means zero or more occurances of the of the expression in brackets) class is one of the following strings: rawkey, rawmouse, event, pointerpos, timer, newprefs, diskremoved, diskinserted. If not specified, the class is taken to be "rawkey". qual is one of the strings: lshift, rshift, capslock, control, lalt, ralt, lcommand, rcommand, numericpad, repeat, midbutton, rbutton, leftbutton, relativemouse A preceding '-' means that the value of the corresponding qualifier is to be considered irrelevant. syn (synonym) is one of the strings: shift, caps, alt shift means "left or right shift" caps means "shift or capslock" alt means "either alt key" upstroke (literally "upstroke") if this token is absent, only downstrokes are considered for rawmouse (mousebuttons) and rawkey events. If it is present alone, only upstrokes count. If it preceded by '-' it means that both up and down strokes are included. highmap one of the strings: comma, space, backspace, tab, enter, return, esc, del, up, down, right, left, help, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ), /, *, -, + ansicode a single character token is interpreted as a character code, which is looked up in the system default keymap. Some examples: -------------- MouseAccelerator ACCELERATION=10 MouseAccelerator ACCELERATION=5 "cx_popkey=ctrl 1" cx_popup=yes MouseAccelerator ACCELERATION=5 THRESHOLD=4 "cx_popkey=help" Special thanks -------------- to Matt Dillon for the acceleration code (out of DMouse). Version history: ---------------- V1.06 removed a small error V1.05 requesters now open on the same screen as the window; some optimizations, program got shorter V1.04 now window opens on the frontmost screen (via hotkey), if the frontmost screen is a public screen; else it opens on the de- fault public screen as usual; removed enforcer hit under low mem condition V1.03 maximal threshold has been limited to 20, because any higher value is unuseable and this limitation makes the window layout nicer; if acceleration is set to 1, no mouse moves are processed anymore; this may save some CPU time V1.02 SAS/Cs cback.o changed for 68040-compatiblity; relinked with changed cback.o Send bug-reports, enhancement-requests, questions, gifts(!) to: --------------------------------------------------------------- Stefan Sticht Bibereckerweg 40a D-8390 Passau 18 FRG or (better) EMail to: cbmvax.commodore.com!cbmehq!cbmger!edith!sticht or IWSTICHT@ibm.rz.uni-passau.de Fido-Net: Stefan Sticht (2:242/77:4) Please include the version number of the commodity in every bug report You get the version number using the Version command: Version []