<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE"><!-- change language only here -->
]>

<book id="kmousetool" lang="&language;">

<bookinfo>
<title>The &kmousetool; Handbook</title>

<authorgroup>
<author>
<firstname>Jeff</firstname>

<surname>Roush</surname>
<affiliation>
<address><email>jeff@kmousetool.com</email></address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>


<copyright>
<year>2002</year>
<holder>Jeff Roush</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2017-07-06</date>
<releaseinfo>1.12 (Applications 17.08)</releaseinfo>

<abstract>
<para>
&kmousetool; clicks the mouse whenever the mouse cursor pauses briefly.  It
was designed to help those with repetitive strain injuries, for whom
pressing buttons hurts. 
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>rsi</keyword>
<keyword>KMouseTool</keyword>
<keyword>ergonomic</keyword>
<keyword>tendonitis</keyword>
<keyword>carpal tunnel syndrome</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>
&kmousetool; clicks the mouse whenever the mouse cursor pauses briefly.  It was designed to help those
with repetitive strain injuries, for whom pressing buttons hurts.
It can also drag the mouse, although this takes a bit more practice.
</para>

<para>
&kmousetool; can eliminate the pain caused by clicking the mouse, and helps many
people to use the computer without pain.  Unfortunately, some pain can also
be caused by simply moving the mouse around the table.  If you are experiencing
computer-related pain and haven't yet seen a doctor, please do so.
</para>
<para>
Just to make it absolutely clear: while &kmousetool; can help reduce the pain
caused by <emphasis>clicking</emphasis> the mouse, it cannot help any pain
caused by <emphasis>moving</emphasis> the mouse.  And, like all ergonomic tools,
your mileage may vary.
</para>

</chapter>


<chapter id="using-kmousetool">
<title>Using &kmousetool;</title>
<para>
Using &kmousetool; is simple: &kmousetool; watches as you move the mouse, and
when you pause briefly, it clicks.
</para>

<para>
&kmousetool;'s Smart Drag mode allows you to drag the mouse.
</para>

<para>
When Smart Drag is enabled, &kmousetool; pauses after it clicks down; if you
move the mouse, it waits until you stop moving before it clicks up. This
way, you can both click and drag the mouse. Smart Drag takes a bit more
practice, but becomes natural once you get used to it.
</para>

</chapter>


<chapter id="commands">
<title>Command Reference</title>

<sect1 id="kmousetool-mainwindow">
<title>The Main &kmousetool; window</title>

    <para>&kmousetool;'s
    options are accessed mostly via the mouse.</para>


    <variablelist>
      <varlistentry>
	<term><guibutton>Start</guibutton>/<guibutton>Stop</guibutton>
        </term>
        <listitem>
          <para>Starts (or stops) &kmousetool;.</para>
        </listitem>
      </varlistentry>
<varlistentry>
<term><guilabel>Minimum movement:</guilabel></term>
<listitem>
<para>The minimum movement in pixels before &kmousetool; will attempt
to click the mouse.</para>
</listitem>
</varlistentry>

      <varlistentry>
        <term><guilabel>Dwell time (1/10 sec):</guilabel>
        </term>
        <listitem>
          <para>The time the mouse has to pause before &kmousetool; clicks.
	  Try increasing this time if
	  it is hard getting used to &kmousetool; </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><guilabel>Smart drag</guilabel>
        </term>
        <listitem>
          <para>Enables or disables Smart Drag.  Disabled use is
          easier, so this is the default.</para><para>If you enable
          <guilabel>Smart drag</guilabel> the <guilabel>Drag time
          (1/10 sec):</guilabel> field becomes available.  This is the
          time &kmousetool; waits, after it clicks down, before it
          clicks back up if you don't move the mouse. </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><guilabel>Enable strokes</guilabel>
        </term>
        <listitem>
          <para>&kmousetool; now supports strokes.  When you enable
strokes, a slow move to the right and back, followed by a pause, will
generate a <mousebutton>right</mousebutton> click.  A slow move left
and back will generate a double click.  (Strokes are specified in
<filename>$<envar>KDEHOME</envar>/share/config/kmousetool_strokes.txt</filename>.
This file is generated by &kmousetool; the first time it is run, but
can be modified afterwards.)
	  </para>
        </listitem>
      </varlistentry>      
       <varlistentry>
        <term><guilabel>Audible click</guilabel>
        </term>
        <listitem>
          <para>
	 Plays a sound when &kmousetool; clicks down.  This helps, especially
         with Smart Drag.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><guilabel>Start with desktop session</guilabel>
        </term>
        <listitem>
          <para>When this is enabled, &kmousetool; will start each
	  time the session of the desktop starts.</para>
        </listitem>
      </varlistentry>
<varlistentry>
<term><guibutton>Defaults</guibutton></term>
<listitem>
<para>Reset all settings to their defaults.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Reset</guibutton></term>
<listitem>
<para>Reset all settings to their state when you opened the dialog,
or, if you have already saved a setting with the
<guibutton>Apply</guibutton> button, reset all settings to the state
when you last pressed <guibutton>Apply</guibutton></para>
</listitem>
</varlistentry>
     <varlistentry>
        <term><guibutton>Apply</guibutton>
        </term>
        <listitem>
          <para>After changing any settings, you must click this button.</para>
        </listitem>
      </varlistentry>
<varlistentry>
<term><guibutton>Help</guibutton></term>
<listitem>
<para>Opens the User manual (this document).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Close</guibutton></term>
<listitem>
<para>Close the dialog without saving any settings.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Quit</guibutton></term>
<listitem>
<para>Quit &kmousetool;</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>
</chapter>

<chapter id="Tips">
<title>Tips</title>

<para>
These tips can help shorten &kmousetool;'s learning curve a bit.

<itemizedlist>
<listitem><para>You can modify the time delays &kmousetool; waits, for both clicking and for dragging.</para>
</listitem>
<listitem><para>It's best to practice clicking with &kmousetool; using its defaults first.
You may especially want to leave Smart Drag disabled at first.
Then, once you are comfortable clicking, move on to practicing Smart Drag.</para>
</listitem>
<listitem><para>When using Smart Drag, it may help to enable the Audible Click</para>
</listitem>
<listitem><para>When using the Audible Click, you may need to speed up &kde;'s audio response.</para>
</listitem>
</itemizedlist>
</para>

</chapter>

<chapter id="faq">
<title>Questions and Answers</title>

<qandaset id="faqlist">
<qandaentry>
<question>
<para>Help!  &kmousetool; keeps dropping spurious clicks all over the screen!</para>
</question>
<answer>
<para>
When you are using &kmousetool;, you do have to learn new mousing habits.
</para>
<para>
First, 
keep in mind where it's safe to click &mdash; clicking on gray parts of windows or non-link
areas of web browsers won't hurt anything, so you can safely rest the mouse over those areas 
until you need it.
</para>
<para>
Second, you need to know where you're going to click before you move
the mouse. Most of the time, when we know we're going to use the mouse, most of
us grab the mouse and start moving it around randomly until we figure out where
we want to click. With &kmousetool;, you need to know where you're going to click
before you move the mouse in the first place. It is also a good idea to keep
your hands off the mouse when you're not using it.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>My mouse sticks when I move it. Can I still use &kmousetool;?</para>
</question>
<answer>
<para>Yes. If your mouse sticks, it means you need to clean your mouse.
This is usually easy to do; the trick is that you have to clean not just the
mouse's ball, but the rollers that the ball rolls against inside the mouse.</para>
<para>First, you have to remove the ball.  The method for doing this varies from
mouse to mouse, but it's usually pretty clear how to do this if you look at
the bottom of the mouse.</para>
<para>Once you've removed the ball, you should be able to see the rollers on the
sides of the hole that contained the ball.  The dirt and grime on them can be
easily scraped off with a flat blade or with a fingernail.  </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>&kmousetool; clicks down and never clicks up. What's happening?</para>
</question>
<answer>
<para>In some rare situations, the system suspends &kmousetool; when a drag
starts; if you are using Smart Drag, this means that &kmousetool; can never finish the drag by
clicking up.</para>
<para>
This happens when you use &kmousetool; under a non &kde; window manager and then
use it to move a window.  
</para>
<para>The solution is to simply click manually; this resets &kmousetool;, and you can then
continue to work normally again.</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
&kmousetool; moves the cursor when I am trying to type.</para>
</question>
<answer>
<para>Problem: When you're typing text, &kmousetool; keeps
dropping clicks and moving the cursor away from where you want to type.</para>
<para>Solution: Use the mouse to place the cursor where you want it, but when you're ready
to type, park the mouse on a neutral area on the screen. Then, if you
bump the mouse, or if it moves a few pixels, any random clicks that it sends
won't matter. Safe places to park the mouse include the gray areas
around toolbars and menus, and on the title bars of windows.</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>I'm trying to use Smart Drag, but I cannot get the hang of using it to edit text.</para>
</question>
<answer>
<para>
Smart Drag is an advanced feature of &kmousetool;, and takes some getting used to. It is very
possible to use it to select text, to cut and paste, and use it in almost any situation
where you would normally want to drag the mouse. But you probably won't be able to do this
at first. Here are some suggestions:
</para>
<itemizedlist>
<listitem><para>Don't use Smart Drag while you are first learning to use &kmousetool;. Instead,
to select text, click at one end of the text, and hold down
the shift key while you click at the other end of the text.
</para></listitem>
<listitem><para>Use the Audible Click.  This will play a <quote>click</quote> sound when &kmousetool; clicks
down, and this will tell you when the Smart Drag delay is beginning.  With practice, you
can use Smart Drag without the Audible Click, but it does take a fair amount of practice.
</para></listitem>
<listitem><para>Know where you're going to click the mouse before you begin moving it.
</para></listitem>
</itemizedlist>

</answer>
</qandaentry>

</qandaset>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
&kmousetool;
</para>
<para>
Program copyright 2002 Jeff Roush <email>jeff@mousetool.com</email>
and 2003 Gunnar Schmi Dt <email>gunnar@schmi-dt.de</email>
</para>
<para>
Contributors:
<itemizedlist>
<listitem><para>Jeff Roush <email>jeff@mousetool.com</email></para></listitem>
<listitem><para>Gunnar Schmi Dt <email>gunnar@schmi-dt.de</email></para></listitem>
<listitem><para>Olaf Schmidt <email>ojschmidt@kde.org</email></para></listitem>
</itemizedlist>
</para>

<para>
Documentation copyright 2002 Jeff Roush <email>jeff@mousetool.com</email>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;        	 <!-- GPL License -->

</chapter>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
