home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / hots11.zip / readme.txt < prev    next >
Text File  |  1998-11-30  |  15KB  |  403 lines

  1. Hot Scroll 1.1      (C) 1998  Samuel Audet <guardia@cam.org>
  2.  
  3. THIS IS A FREEWARE UTILITY!!  Please send an e-mail if are using this
  4. program, thank you!  If you can spare some $MONEY$ for a university
  5. student, it would be very much appreciated.  See Contacting the Author
  6. section.
  7.  
  8. Contents
  9. ========
  10.  
  11.    1. Introduction
  12.    2. Usage
  13.    3. Tested Software
  14.    4. Things to come
  15.    5. Legal Stuff
  16.    6. For Programmers
  17.    7. Acknowledgments
  18.    8. Contacting the Author
  19.  
  20.  
  21. Introduction
  22. ============
  23.  
  24. Hot Scroll works similar to Microsoft IntelliMouse (and FlyWheel), Logitech
  25. FirstMouse+/MouseMan+, Mouse Systems ProAgios/ScrollMouse, Kinsington
  26. Internet Mouse, Fellowes Browser, Genius EasyScroll/NetScroll/NetMouse, and
  27. IBM ScrollPoint, but instead of using a second roller or button, it uses
  28. the mouse movement itself requiring no special hardware. Also, Hot Scroll
  29. works for both horizontal and vertical scrolling AT THE SAME TIME.
  30.  
  31. New in 1.1 is the ability to do timer scrolling like in StarOffice 5.0 and
  32. Microsoft Office 9x.  Also new is the ability to include a different mouse
  33. pointer when scrolling.
  34.  
  35. I first saw such a feature in an Amiga browser, IBrowse in Summer 1997 at
  36. PowerCon '97 (PowerPC Convention).
  37. http://www.amiga.org/news/powercon97.html As I learned programming, I
  38. forgot about it, but then I saw Microsoft made such a beast, but ah! with
  39. special hardware, for specific software and with limited features of
  40. course... Intellimoose. :) This reminded me of what I had seen on the Amiga
  41. and I thought I might as well make such a thing, but for OS/2. If you are
  42. also using a Mac with MacOS, check Scroll Magick!!
  43. http://www.edenware.com/scrollmagick.html  I also have a list of
  44. alternatives for Windows:
  45.  
  46. http://www.zdnet.com/pcmag/pctech/content/17/06/ut1706.001.html
  47. Scroll++ http://www.pointix.com/
  48. MOUSEHOK.ZIP from Rossen Assenov <rossen_assenov@hotmail.com>
  49. Flywheel http://www.plannetarium.com/flywheel.htm
  50.  
  51. You'll notice the mouse doesn't follow the scroll bars like usual.. I have
  52. a problem.  Scroll bars don't have anything for pixels.  In any case,
  53. knowing the physical length of the scroll bar and its range, I was able to
  54. do something not too shabby.  It works quite well, as you can see below.
  55.  
  56. Check my home page for more great PM/WPS Enhancers, BackTalk, PM123 and
  57. CD2MP3 PM!
  58.  
  59.  
  60. Usage
  61. =====
  62.  
  63. Loading/Installation
  64. ---------------------
  65.  
  66. Load using "loader l" or by running the PM Loader.  You can also add the
  67. DLL to the LoadOneTime key in the SYS_DLLS application of OS2.INI.
  68. "Install.cmd" is provided for this purpose.  Note that if you run the
  69. loader and Hot Scroll has already been loaded from OS2.INI, it will be
  70. unloaded on loader termination.
  71.  
  72. How to use it, two methods
  73. --------------------------
  74.  
  75. 1. Give focus to a window with scroll bars and activate Scroll Lock.  The
  76.    pointer will be positioned in the best position to scroll (unless the
  77.    leash is active), and this will leave both the mouse and keyboard free.
  78.    Move the mouse around, type, click, etc. Deactivate Scroll Lock.
  79.  
  80. 2. Put the pointer over a window to scroll, keep the selected keys and
  81.    buttons down, and move around.  Remember that key combination leaves the
  82.    mouse free (well, I'm not sure of it's usefulness with some keys like
  83.    alt, ctrl or shift are down) and that mouse combination leaves the
  84.    keyboard free, unless both are used.  Also, actions that were already
  85.    performed by some keys or buttons are still and always active.
  86.  
  87. Note: If more than one scroll bar has the same parent, Hot Scroll will use
  88.       the one under or beside the mouse pointer when activated.
  89.  
  90. Options
  91. -------
  92.  
  93. Hot Scroll comes with a bunch of user definable options using loader.exe
  94. parameters or pmloader.exe notebook page.  The options  are saved in
  95. HOTSCRL.INI.  Make sure it always follows HOTSCRL.DLL if you decide to
  96. "install.cmd" it. Because the text loader now offers liltle advantage over
  97. the PM loader after implementing shared memory, I haven't bullet proofed
  98. it, so don't panic or report bugs if it crashes for improperly used
  99. parameters.
  100.  
  101. Note: I have not updated loader.exe to include the new features in 1.1.  If
  102. this bothers anybody, please let me know.
  103.  
  104. Syntax for loader.exe:
  105.  
  106. loader <l|s|d> [/lacfk123[-|+]] [/i] [/p <profile name>] [/ehvomdrs[-|+|*]]
  107.                [/s[+|*] <speed %>] [/n[-|+|*] <pos/pix>] [/?]
  108.  
  109. Note: Follow options by + to activate, - to deactivate, * to use default
  110.       value found in the "Default" profile, or nothing to toggle.
  111.  
  112. l   Loads Hot Scroll hook.
  113. s   Saves key combinations and options.
  114. d   Deletes the current profile's options.
  115.  
  116. /p  Specify the profile (application EXE substring) to set or view.  This
  117.     profile string will be used to case-insensitively match a substring in
  118.     the memory stored pathname for each process.  For example, the WPS is
  119.     usually "X:\OS2\PMSHELL.EXE".  Use "pstat.exe /c" to see those strings.
  120.     A special profile is "Default".
  121.  
  122. /i  List currently configured profiles in INI file.
  123.  
  124. Activation - These can only be enabled or disabled.
  125.  
  126.    /l  Scroll Lock method.
  127.  
  128.    Keys that must be down to scroll.
  129.  
  130.    /a  Alt
  131.    /c  Ctrl
  132.    /f  Shift
  133.    /k  Defines a custom key.  When activating this parameter, you will be
  134.        asked to type a key in.
  135.    /1  Mouse Button 1
  136.    /2  Mouse Button 2
  137.    /3  Mouse Button 3  If you are having problems getting your third
  138.        button to work, try Rodent:
  139.        ftp://hobbes.nmsu.edu/pub/os2/system/drivers/mouse/rodnt100.zip
  140.  
  141.    /?  Shows the help/info screen.
  142.  
  143.  
  144. Options - The Default profile should not be set with "use default values".
  145.  
  146.    /e  Enables Hot Scroll for a particular profile.
  147.    /h  Enables horizontal scrolling.
  148.    /v  Enables vertical scrolling.
  149.  
  150.    /o  No focus lock. This will make Hot Scroll follow focus changes for the
  151.        Scroll Lock method without the need to press Scroll Lock again.  Can
  152.        be useful when surfing pages with multiple frames in Navigator for
  153.        example.
  154.  
  155.    /m  Mouse Leash.  I don't know of any API that actually stops the mouse, so
  156.        what I had to do is to reset the mouse position constantly.  You will
  157.        see the mouse trying to escape.
  158.  
  159.    /d  Fake Dynamic Scrolling.  WARNING this is a kludge!!  It may give
  160.        screen corruption (or even system hang?) in certain situations. This
  161.        gives Dynamic Scrolling to apps that normally don't have any when
  162.        using Hot Scroll, for example DeScribe, FaxWorks, and OS/2 System
  163.        Editor. Unfortunately, this breaks the scrolling of a few other
  164.        applications that already have dynamic scrolling like HELPMGR.DLL.
  165.        An interesting side effect is that it makes folders scroll smoother.
  166.  
  167.    /r  Reversed Scrolling.  Not very useful IMHO, unless you want to get
  168.        confused, but someone wanted this, so it's there.  You can get somekind
  169.        of pseudo-"hand manipulation" with this and the non-proportional mode,
  170.        but the latter needs a different value for _everything_.
  171.  
  172.    /s  Factor for the speed of the scrolling.  As a reference, a value of
  173.        100% requires the mouse to travel from one end to the other of the
  174.        scroll bar to entirely scroll the window.
  175.  
  176.    /n  Instead of scrolling proportionally to the scroll bar range and length,
  177.        here you can define how many positions the scrolling is to move for
  178.        each pixel of mouse movement (you'll have to see by yourself what it
  179.        does in your applications).  This is never active in Scroll Lock mode
  180.        as it doesn't make any sense.
  181.  
  182.  
  183. Examples
  184. --------
  185.  
  186.    Sets Mouse Button 1 + Mouse Button 2, a Default profile with No Focus
  187.    Lock and Speed of 200%, and a describe.exe profile with Fake Dynamic
  188.    Scrolling and Mouse Leash:
  189.  
  190.       [C:\]loader s /1+ /2+ /o+ /s 200
  191.       [C:\]loader s /p describe.exe /d+ /m+
  192.       [C:\]loader l
  193.  
  194.    Non-proportional mode of 5 positions per pixel with Reversed Scrolling
  195.    and Fake Dynamic Scrolling for faxworks.exe:
  196.  
  197.       [C:\]loader s /n+ 5 /r+ /d+
  198.       [C:\]loader l
  199.  
  200.  
  201. Unloading/Uninstallion
  202. ----------------------
  203.  
  204. You can unload it by terminating either loader or pmloader.  If it was
  205. added to OS2.INI, you can uninstall it with "uninst.cmd".
  206.  
  207. Using the PM interface
  208. ----------------------
  209.  
  210. Activation
  211.  
  212.    - Click whatever you want, and type in the custom key in the entry
  213.      fields. Note that the Timer Scrolling key combination has priority over
  214.      the Normal Scrolling.  This means setting Normal Scrolling to MB3 and
  215.      Timer Scrolling to Atl-MB3 will work but not the contrary for example.
  216.    - Mouse Pointer File will be shown as the mouse pointer when scrolling (at
  217.      least it tries).
  218.    - Timer Scrolling Cursor File will display a window containing that icon
  219.      at the initial mouse position when using timer scrolling so that you
  220.      can find the center much easier.
  221.  
  222. Options
  223.  
  224.    Add or Delete profiles.
  225.    Options are on when checked off, off when not, and set to default when
  226.    grayed out.
  227.    Spin the speed and non-proportional spinboxes.
  228.  
  229. Timer Options
  230.  
  231.    The options in this page are not described in loader.exe section.
  232.  
  233.    The way Timer Scrolling functions is that it calculates a certain
  234.    timeout value depending on the numbers you entered for the respective
  235.    functions (linear or inverse) and using that timeout value, it starts a
  236.    timer which will scroll at each timeout.  You can tell this timer to
  237.    scroll proportional of a certain fraction of the scrolling area or
  238.    non-proportionally (application dependent by trial and error).  You can
  239.    also specify the minimum distance from the initial mouse position to
  240.    start scrolling and the maximum amount of pixels included in the
  241.    calculation of the timeout.
  242.  
  243. About
  244.  
  245.    Copy and Paste my e-mail address, and mail me!!
  246.  
  247. Press OK to activate the changes you have made.
  248.  
  249. If error messages appear in red at the bottom of the screen, you can
  250. dismiss them by clicking on them.
  251.  
  252. The program will keep its window state saved after being closed.  That
  253. means that it will start minimized if it was closed minimized (like at
  254. shutdown).
  255.  
  256. Yes I used a BeOS Icon... arg, icons are hard to do.  If you can make a
  257. good one, send it over!
  258.  
  259. I hope keyboard junkies will like the functionality. ;)
  260.  
  261.  
  262. Tested Software
  263. ===============
  264.  
  265. Here's software I've tried Hot Scroll with.
  266.  
  267. Work
  268. ----
  269.  
  270.    Netscape 2.02 - Now try what's called REAL browsing!  *COOL*!
  271.    Communicator/2
  272.    The Workplace Shell - Folders, Window List, etc.
  273.        - The Window List doesn't "erase" the Timer Scrolling Cursor when
  274.          scrolling.
  275.    Mesa 2
  276.    PMMail 1.9
  277.    VisualAge C++ 3.0 - ICSDEBUG only works with Fake Dynamic Scrolling
  278.    VIO windows - scrolling conflict when scrolling outside of the
  279.                  window with MB2 and MB3 only.
  280.    PMView
  281.    The File Dialog
  282.    OS/2 System Editor
  283.    DeScribe 5 - The slider/content flickers?  The frame seems to receive the
  284.                 scrolling messages instead of the client window, weird.
  285.                 Problems also occurs on blank parts of documents.
  286.    OpenChat
  287.    UniMaint 5
  288.    Partition Magic 3
  289.    FaxWorks 3
  290.    Seek and Scan Files
  291.    HELPMGR.DLL (used by help screens and VIEW.EXE/VIEWDOC.EXE)
  292.       - Content window doesn't work with Fake Dynamic Scrolling.
  293.       - Some content/scroll bar position consistency
  294.         problems with No Focus Lock and Timer Scrolling
  295.    EPM 6 - The content wraps to the beginning after scrolling to the end ??
  296.    HyperView PM 3.4
  297.    ZOC 3 - The Back Log doesn't "erase" the Timer Scrolling Cursor when scrolling.
  298.    MR/2 ICE
  299.    Graphical File Comparison
  300.    Maple V R4
  301.    American Heritage Dictionary
  302.    ICQ Java
  303.    PM123, CD2MP3 PM, WarpAMP, PM Checksum, Memsize, WarpZip, KAZip, Archive
  304.    Folder, Enhanced E/EE, Zip Control 2.5, lst/pm, FM/2 2.5, PC/2 2.0,
  305.    Ultimod, DH-Grep-PM
  306.  
  307. Tricky
  308. ------
  309.  
  310.    Reason:     Windows with scroll bars cannot have focus.
  311.    Workaround: Keep the slider down while pressing scroll lock.
  312.                Use "key/button down" method.
  313.  
  314.    GTIRC 2 and 3
  315.    WebExplorer
  316.  
  317.  
  318. Don't work
  319. ----------
  320.  
  321.    Acrobat Reader - The scroll bars all have different parents, so you
  322.                     can't use both vertical and horizontal at the same
  323.                     time.  And the parents are hidden, the only way to make
  324.                     it work in any (even there not so) useful way is with
  325.                     scroll lock while keeping a scroll bar down.  Also, the
  326.                     right horizontal slider blinks.  Fiuf... I wonder how
  327.                     this program even works.  It's best just to use the
  328.                     already present "hand manipulation".  On the other
  329.                     hand, Fake Dynamic Scrolling works great when using the
  330.                     scroll bars.
  331.  
  332.    ProNews/2      - Now that's another weird one... for one thing, all
  333.                     scroll bars have the same parent (??!).  Maybe I'll
  334.                     figure it out if I'm lucky, but I don't want to lose
  335.                     time on one program. I've managed to make it half work,
  336.                     but there are still a lot of conflict between the
  337.                     scroll bars I still don't understand.  Ask Panacea to
  338.                     fix that up a bit.
  339.  
  340.    Mixomat        - Scroll Bars aren't used for scrolling.
  341.  
  342.    StarOffice 5.0 - Doesn't use OS/2 scroll bars.
  343.  
  344.  
  345. Things to come  Remember that $MONEY$ makes miracles for new features!!
  346. ==============
  347.  
  348. (The following is very uncertain due to implementation complications.)
  349. - "Hand manipulation" like in Acrobat Reader.
  350. - Make the scrolling follow a bit more the slider sizes.
  351.  
  352. ie.: probably nothing, this is the last release
  353.  
  354.  
  355. Legal stuff
  356. ===========
  357.  
  358. This freeware product is used at your own risk, although it is highly
  359. improbable it can cause any damage.
  360.  
  361. If you plan on copying me, please give me the credits, thanks.
  362.  
  363.  
  364. For Programmers
  365. ===============
  366.  
  367. Source code is free of charge, as long as it's not to make money. Send me a
  368. sign of life and I will send it to you.
  369.  
  370.  
  371. Acknowledgments
  372. ===============
  373.  
  374. Robert Mahoney <rmahoney@netusa.net>
  375.  
  376. Thanks to the following for financial or gift support!
  377.  
  378.    Wayne Westerman <westerma@ee.udel.edu>
  379.    Hauke Laging <hauke@haui.allcon.com>
  380.    Alan R. Balmer <albalmer@worldnet.att.net>
  381.    Hidetoshi Kumura <kumurahi@gld.mmtr.or.jp>
  382.    Gilles Tschopp <blueneon@bluewin.ch>
  383.    Nancy E. VanAbrahams
  384.    William Meertens <76125.702@compuserve.com>
  385.  
  386.  
  387. Contacting the Author
  388. =====================
  389. If you have any suggestions, comments or bug reports, please let me know.
  390.  
  391. Samuel Audet
  392.  
  393. E-mail:      guardia@cam.org
  394. Homepage:    http://www.cam.org/~guardia
  395. IRC nick:    Guardian_ (be sure it's me before starting asking questions though)
  396. Talk Client: Guardian@guardian.dyn.ml.org
  397.  
  398. Snail Mail:
  399.  
  400.    377, rue D'Argenteuil
  401.    Laval, Quebec
  402.    H7N 1P7   CANADA
  403.