home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / commodities / qmouse / qmouse.doc < prev    next >
Text File  |  1993-04-19  |  12KB  |  393 lines

  1. QMouse V2.70
  2.  
  3. Written by Dan Babcock
  4.  
  5. -- This program REQUIRES Kickstart 2.0 or higher. --
  6.  
  7. I missed one program more than any other when I switched to
  8. Kickstart 2.0: QMouse, the venerable mouse-utility. I tried every
  9. other program of its type that I could find, but every utility I
  10. tried had quirks, lacked important features, and worst of all was
  11. HUGE. Discouraged (and annoyed), I decided to write my own.
  12. QMouse V2 (this program) is a completely new program, not an
  13. update to QMouse, but I couldn't think of a more fitting name;
  14. after all, my intent was to make a utility "like QMouse" - why
  15. not call it QMouse!? I hope this doesn't lead to too much
  16. confusion. On to the all-important feature list...
  17.  
  18. FEATURES:
  19.  
  20. * Automatic window activation after Amiga-M and Amiga-N (or the
  21. screen depth gadget): the previously active window will be made
  22. active. VERY useful!!! Does not poke screen structure like the
  23. original QMouse did (bad :-)).
  24.  
  25. * Optional top-line blanking for 2320/3000 owners who wish to
  26. mask the "half line flicker" effect. Does not blank the border,
  27. just the top line.
  28.  
  29. * System-friendly mouse blanking. Uses only the documented
  30. function SetPointer. Does not interfere with other sprites (e.g.
  31. JRComm's cursor).
  32.  
  33. * Mouse acceleration/threshold
  34.  
  35. * "PopCLI" feature. The CLI (actually any program may be
  36. executed) will have a sensible current directory, stack, and
  37. path.
  38.  
  39. * Click-to-front and click-to-back. Click-to-Back will
  40. intelligently decide whether to perform a Window-To-Back or
  41. Screen-To-Back operation.
  42.  
  43. * SunMouse (activates window under mouse pointer). There is a
  44. optional activation delay to avoid "jerky mouse" syndrome.
  45.  
  46. * SunKey (activate window under mouse pointer when you hit a key)
  47.  
  48. * SunRMB (activate window under mouse pointer when you click the
  49. right mouse button)
  50.  
  51. * Screen blanking. No special effects; use another program for
  52. that stuff.
  53.  
  54. * NoClick - turn off drive clicking for any combination of
  55. drives.
  56.  
  57. * Can turn on the shell's *=#? feature (like "WildStar" etc.)
  58.  
  59. * Option to automatically make the top screen the default public
  60. screen. This is the same function as PubChange by Steve Koren.
  61.  
  62. * Option to completely disable DisplayBeep (some programs overuse
  63. it and it gets VERY annoying!)
  64.  
  65. * Option to remap a few Northgate keys. (Note: Omnikey Ultra
  66. model)
  67.  
  68. * Starts own background process (no need to RUN).
  69.  
  70. * Written in assembly (efficient). Not a commodity.
  71.  
  72. * Fully public domain. Source code included.
  73.  
  74. * ONLY 4K !!!!!!!!!!!
  75.  
  76.  
  77. -------
  78. Changes
  79. -------
  80.  
  81. V2.10
  82.  
  83. Adds a couple simple options (e.g. noclick and wildstar), and
  84. some internal changes permit left-amiga-cursor mouse movements to
  85. work with mouse blanking enabled.
  86.  
  87. Released on Fish 697.
  88.  
  89. V2.20
  90.  
  91. Older versions (pre-2.11) of QMouse had a serious memory-trashing
  92. bug. This is fixed thanks to Chris Schneider.
  93.  
  94. The problem with the NoFlicker option and vertical overscan,
  95. reported by several people, has been fixed.
  96.  
  97. The "PopCLI" feature now brings the Workbench screen to the
  98. front.
  99.  
  100. Released on Fish 731.
  101.  
  102. V2.21
  103.  
  104. The NoFlicker option now works with Kickstart 3.0 (tested with
  105. 39.106 and 39.110).
  106.  
  107. An informative requester is displayed when QMouse is unable to
  108. deinstall. (Previously it failed silently).
  109.  
  110. A couple extra key remappings added to NorthGate option (numeric
  111. keyboard matches Amiga standard, important for VT100 emulation).
  112.  
  113. V2.30
  114.  
  115. Now works properly in superhires, 800x600, etc. The code actually
  116. shrunk when I fixed this because the offending code wasn't even
  117. needed.
  118.  
  119. The problem of the permanently disappearing pointer, which was
  120. seen most often with reqtools-using programs (for example
  121. GadToolsBox), has been fixed. Nasty software that peeks at
  122. wd_Pointer can still get temporarily confused, but no serious
  123. harm will come of it.
  124.  
  125. Click-to-front is disabled when left-Amiga is pressed. This
  126. avoids a conflict with Snap when double-clicking on some text in
  127. a background window.
  128.  
  129. Task priority set to 20 (same as input.device). Previously it
  130. inherited the priority of the caller.
  131.  
  132. Released on Fish 802.
  133.  
  134. V2.40
  135.  
  136. Added "NoWBenchToFront" and "PubChange" options.
  137.  
  138. Automatic window activation (and PubChange) will now work with
  139. the screen depth gadget as well as Amiga-M/N.
  140.  
  141. An error message ("Bad arguments") is printed if invalid options
  142. are given. (Previously it failed silently).
  143.  
  144. V2.50
  145.  
  146. Due to popular demand I added a delay option (SunMouseDelay) to
  147. the SunMouse option which provides for a delayed response
  148. (similar to Commodore's AutoPoint program, except the delay is
  149. adjustable). This makes it more usable on 68000 machines.
  150.  
  151. Automatic window activation after using the screen depth gadget
  152. didn't quite work in 2.40. Fixed.
  153.  
  154. Major addition/fix: The mouse blanking code is now fully updated
  155. for Kickstart 3.0, patching SetWindowPointerA and
  156. OpenWindowTagList. Much to my surprise these functions are
  157. already used by some commercial software (e.g. FinalCopy II) as
  158. well as Workbench and various 3.0 system software.
  159.  
  160. Made some minor changes to some options (NoClick, Star, Verify)
  161. to be a bit more logical.
  162.  
  163. V2.60
  164.  
  165. Added "ImmBlank" option to allow immediate screen blanking using
  166. Left-Amiga+Right-Amiga.
  167.  
  168. Tuned up the semaphore logic to be more robust.
  169.  
  170. Fixed a minor but annoying bug in the automatic window activation
  171. code.
  172.  
  173. V2.61
  174.  
  175. Fixed a bug in the screen blanking that crept into 2.60.
  176.  
  177. Added the "SunKey" option thanks to the code contribution of
  178. Jaba@desert.wlink.nl (sorry, I don't know your name!)
  179.  
  180. V2.70
  181.  
  182. Versions 2.50-2.61 had a rather disastrous bug in the quit code
  183. which often caused it to fail if running under a pre-3.0
  184. kickstart. Fixed.
  185.  
  186. The "robust" semaphore logic of 2.60-2.61 turned out to be a
  187. disaster, causing more problems than it solved. :-) I've done a
  188. major rewrite in this version, moving ALL the intuition calls out
  189. of the input handler and also being careful to handle
  190. CloseWorkBench properly. Hopefully this will be the final and
  191. correct solution.
  192.  
  193. Made still more improvements to the automatic window activation
  194. code. Now it remembers a screen's active window even if you shift
  195. to another (partially obscured) screen by clicking in a window on
  196. the other screen. (Previously the "remember" code was only
  197. triggered when there was a change in the top screen).
  198.  
  199. Added "SunRMB" option. This one actually appears to be quite
  200. useful...I use it myself. :-)
  201.  
  202. ---------------
  203. Using QMouse V2
  204. ---------------
  205.  
  206. To see the parameter template type "Qmouse ?". Most likely it
  207. looks like gibberish to you, though, so I'll explain the options:
  208.  
  209. (Please note: If you don't specify an option, the option is OFF.
  210. The default set of options is therefore all OFF, except for some
  211. basic features that don't have an option).
  212.  
  213. MBLANK (abbreviated M):
  214.  
  215. This specifies the number of seconds of mouse inactivity     
  216. before the mouse pointer is blanked. The mouse pointer is also
  217. blanked whenever you hit a key.
  218.  
  219. Side note: Many people claim that it is impossible to blank the
  220. mouse in a "system-friendly" way. They're wrong. :-)
  221.  
  222. Examples: m=3, mblank=9, M 10
  223.  
  224. SBLANK (abbreviated S):
  225.  
  226. Screen blanking - works same as mouse blanking basically.
  227.  
  228. ImmBlank:
  229.  
  230. Enable immediate (user-controlled) screen blanking. With this
  231. option enabled, you can hit Left-Amiga and Right-Amiga
  232. simultaneously to blank the screen.
  233.  
  234. NOFLICKER (abbreviated N):
  235.  
  236. This option will blank the top line of the display. (Only useful
  237. to 2320/3000 owners). This function inspects the system copper
  238. list, so it probably won't work in future Kickstarts.
  239.  
  240. Note: If a screen with extreme vertical overscan is being
  241. displayed, QMouse will automatically turn this feature off. To
  242. get rid of the flicker simply drag the screen down a few lines.
  243.  
  244. CMD:
  245.  
  246. Specifies the command to execute when the user hits left-Amiga-
  247. ESCape. Default is "newcli". Use like this: CMD="newcli
  248. con:0/0/640/400". Important!!! The current directory, stack, and
  249. path of the newly created CLI will be that of the CLI where
  250. QMouse was originally executed. Therefore, place QMouse in your
  251. startup-sequence *after* STACK and PATH commands!!
  252.  
  253. The Workbench screen will normally be brought to the front when
  254. executing the command. If you don't want this, use the
  255. "NoWBenchToFront" option.
  256.  
  257. ACCELERATION (abbreviated A):
  258.  
  259. Specifies mouse speed-up factor. QMouse uses the same
  260. acceleration/threshold algorithm as DMouse, by the way (I got
  261. used to the feel).
  262.  
  263. Examples: acceleration 3, a=4, a 9
  264.  
  265. THRESHOLD (abbreviated T):
  266.  
  267. Specifies a threshold (minimum movement) required to apply
  268. acceleration factor. The default is zero. Example: T=1.
  269.  
  270. CLICKTOBACK (abbreviated CTB):
  271.  
  272. Specifying "ctb" or "clicktoback" will enable a feature whereby
  273. both mouse buttons being pressed simultaneously will send the
  274. window under the mouse pointer to the back, OR, if the mouse is
  275. not over a window, or if the window is a backdrop window, or if
  276. the window is the only non-backdrop window on its screen, then a
  277. screen-to-back operation will be performed instead.
  278.  
  279. CLICKTOFRONT (abbreviated CTF):
  280.  
  281. This option specifies the number of mouse clicks required to
  282. bring the window under the mouse pointer to the front. Example:
  283. ctf=2.
  284.  
  285. SUNMOUSE:
  286.  
  287. Specifying "sunmouse" turns on the "Sun Mouse" feature. I don't
  288. recommend you use it because it's annoying and causes problems
  289. with some programs. (Unless you happen to like it :-)).
  290.  
  291. SunMouseDelay:
  292.  
  293. This is a sub-option for SunMouse and specifies a delayed
  294. response to mouse movements. This allows for rapidly moving the
  295. mouse across windows with any jerkiness caused by activating
  296. windows that happen to be "in the way" of the pointer. This
  297. effect is most pronounced on slow (e.g. 68000-based) systems. 
  298.  
  299. This option takes a number argument that specifies the amount of
  300. delay. Typical values are 0 (no delay) and 1 (small delay).
  301. Example: SunMouseDelay=1
  302.  
  303. SunRMB:
  304.  
  305. This option causes the window under the mouse pointer to be
  306. automatically activated whenever you hit the right mouse button.
  307. This allows you to get at menus without a separate left-mouse-
  308. click step.
  309.  
  310. SUNKEY:
  311.  
  312. Specifying "SunKey" will cause the window under the mouse pointer
  313. to be activated (if it isn't already) when you press a key.
  314.  
  315. NOBEEP:
  316.  
  317. Completely disables DisplayBeep (the routine that flashes the
  318. screen).
  319.  
  320. NORTHGATE:
  321.  
  322. For Northgate Omnikey Ultra keyboard users only: remaps a couple
  323. keys. (Page Up -> Shift-Cursor-Up, etc). Sorry, if you want to
  324. change it you'll have to edit the source and reassemble.
  325.  
  326. NOCLICK:
  327.  
  328. Turns off drive clicking option in trackdisk, just like many 2.0-
  329. only 'noclick' programs. The argument to this option is a decimal
  330. number whose (4-bit) binary equivalent corresponds to what drives
  331. should receive the noclick treatment. For example, the number 3
  332. is "0011" in binary, and means drives 0 and 1 (but not 2 and 3)
  333. should be NoClick'ed. To turn off clicking on all drives, specify
  334. NOCLICK=15.
  335.  
  336. Important: If you drive makes funny clicks after using NoClick,
  337. reboot immediately - you can damage a drive that doesn't support
  338. NoClick (which is why the OS defaults to the "clicking" mode).
  339.  
  340. VERIFY:
  341.  
  342. Turns on the floppy disk verify feature of Hackdisk (my
  343. trackdisk.device replacement). If you aren't using Hackdisk this
  344. option is useless.
  345.  
  346. NOVERIFY:
  347.  
  348. Turns off the floppy disk verify feature of Hackdisk (my
  349. trackdisk.device replacement). If you aren't using Hackdisk this
  350. option is useless.
  351.  
  352. STAR:
  353.  
  354. Turns on the *=#? shell feature, similar to programs called
  355. "WildStar" etc.
  356.  
  357. PUBCHANGE:
  358.  
  359. The PubChange option causes the top screen to be automatically
  360. made the default public screen (if the top screen is a public
  361. screen).
  362.  
  363. NoWBenchToFront:
  364.  
  365. This option causes the CMD option to NOT bring the Workbench
  366. screen to the front.
  367.  
  368. QUIT:
  369.  
  370. Completely de-installs QMouse. Note that executing QMouse when
  371. already installed will cause a QUIT to happen first. Due to
  372. extensive SetFunction-ing of the OS, this is considered unsafe.
  373. So please, use only for initial testing (i.e. deciding what
  374. features of QMouse you like and which you don't, etc). Once
  375. you're happy, put QMouse in your startup-sequence and don't mess
  376. with it.
  377.  
  378. Important: If you run another program that SetFunctions some of
  379. the same routines (for example ARQ) you will not be able to QUIT
  380. or modify parameters. To avoid this run QMouse last.
  381.  
  382. ----------
  383. The Author
  384. ----------
  385.  
  386. I can be reached at Dan_E_Babcock@cup.portal.com.
  387.  
  388. Other fine freeware software products by me:
  389.  
  390. FileMount: Utility to create a true partition within a file
  391. Hackdisk: A trackdisk.device replacement offering a verify option
  392.  
  393.