MouseBlanker (Commodity) by Stefan Sticht This program (binary), sourcecode, documentation is PUBLIC DOMAIN. You may do anything with it! Purpose of this commodity: -------------------------- MouseBlanker is a commodity, which blanks the mouse pointer after a specified timeout period since you moved the mouse the last time or immediatly when you press any key on the keyboard. The pointer is restored next time you move the mouse. This is done to prevent the mouse pointer hiding any information while you are typing text for example, as it does most time. 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. Please check this out: type "dir libs:" in the shell. 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 MouseBlanker at the same time isn't useful and therefore possible. Any changes in tool types aren't told the running copy of the Mouseblanker; 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: Mouseblanker ? 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: Mouseblanker 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 blanked after 5 seconds: Tools/MouseBlanker SECONDS=5 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. Seconds: -------- With the tool type or command line option SECONDS you can specify the initial value of the timeout period, after which the mouse pointer will be blanked. Use SECONDS=, where is a positive decimal value. Setting SECONDS=0 disables this feature. The default timeout is 3 seconds. After having started the commodity, you can change the timeout value 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 MouseBlanker, then select Show. Now the window of the MouseBlanker has opened. There you can change the timeout value. Using the Hide gadget the window closes and the commodity keeps running. The Quit gadget removes the commodity. KEYPRESS: --------- With the tool type or command line option KEYPRESS=YES|NO you can specify wether the mousepointer shall be blanked immediatly on pressing any key of the keyboard. YES|NO means, you can either use YES or NO. Default is YES. This option can be changed in the MousBlanker's window, too. 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 and memory usage is reduced. 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 full examples: ------------------- MouseBlanker Seconds=10 MouseBlanker Seconds=5 "cx_popkey=ctrl 1" cx_popup=yes MouseBlanker Seconds=15 "cx_popkey=help" keypress=no Send bug-reports, enhancement-requests, questions, gifts(!) to: --------------------------------------------------------------- Stefan Sticht Bibereckerweg 40a D-8390 Passau 18 FRG or (better) EMail to: Internet: cbmvax.commodore.com!cbmehq!cbmger!edith!sticht@rutgers.EDU or: IWSTICHT@ibm.rz.uni-passau.de Fido-Net: Stefan Sticht (2:242/16:4) Please include the version number of the commodity in every bug report You get the version number using the Version command: Version []