1735 lines
31 KiB
HTML
1735 lines
31 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Pointing Devices - Mice and Their Relatives</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux on the Road"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="Hardware in Detail: CPU, Display, Keyboard, Sound and More"
|
|
HREF="mobile-guide-p2c1-hardware-in-detail.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Numeric Keypad"
|
|
HREF="mobile-guide-p2c1s8-numeric-keypad.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Advanced Power Management - APM"
|
|
HREF="mobile-guide-p2c1s8-apm.html"></HEAD
|
|
><BODY
|
|
CLASS="sect1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux on the Road: </TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="mobile-guide-p2c1s8-numeric-keypad.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 12. Hardware in Detail: CPU, Display, Keyboard, Sound and More</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="mobile-guide-p2c1s8-apm.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="mobile-guide-p2c1s7-pointing-devices"
|
|
></A
|
|
>12.17. Pointing Devices - Mice and Their Relatives</H1
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2365"
|
|
></A
|
|
>12.17.1. Linux Compatibility Check</H2
|
|
><P
|
|
> You may check your mouse with the <B
|
|
CLASS="command"
|
|
>mev</B
|
|
> command from the GPM package.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2369"
|
|
></A
|
|
>12.17.2. Related Documentation</H2
|
|
><P
|
|
> <P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://tldp.org/HOWTO/3-Button-Mouse.html"
|
|
TARGET="_top"
|
|
>3-Button-Mouse-HOWTO</A
|
|
>
|
|
for serial mice
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://tldp.org/HOWTO/Kernel-HOWTO/"
|
|
TARGET="_top"
|
|
>Kernel-HOWTO</A
|
|
>
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2379"
|
|
></A
|
|
>12.17.3. Mice Species</H2
|
|
><P
|
|
>
|
|
<P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> Trackpad, Touchpad, are used with the majority of current laptops
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Trackball, e.g. COMPAQ LTE
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Pop-up-Mouse, e.g. HP OmniBook 800
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Trackpoint, Mouse-Pin, e.g. <SPAN
|
|
CLASS="trademark"
|
|
>IBM</SPAN
|
|
>™ ThinkPad and
|
|
Toshiba laptops
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> 3 Button Mice, e.g. <SPAN
|
|
CLASS="trademark"
|
|
>IBM</SPAN
|
|
>™
|
|
Thinkpads at least the 600s and some COMPAQ models e.g. Armada M700. I have
|
|
heard rumor about a 3 button mouse for Texas Instruments Travelmates, but
|
|
couldn't verify this yet.
|
|
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Touchscreen, e.g. some Fujitsu-Siemens laptops, TabletPCs and PDAs
|
|
</P
|
|
></LI
|
|
></OL
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2397"
|
|
></A
|
|
>12.17.4. PS/2 Mice</H2
|
|
><P
|
|
>
|
|
Most of the mice used in laptops are PS/2 mice (actually I
|
|
don't know one with another mouse protocol). You may
|
|
communicate with the PS/2 mouse through
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/psaux</TT
|
|
> or
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/psmouse</TT
|
|
>. If you use X Windows
|
|
this device and the protocol has to be set in
|
|
<TT
|
|
CLASS="filename"
|
|
>/etc/X11/XF86Config</TT
|
|
>. In earlier
|
|
releases, sometimes the GPM mouse manager and X Windows had
|
|
trouble sharing a mouse when enabled at the same time. But
|
|
as far as I know this is no problem anymore for the latest
|
|
versions.
|
|
</P
|
|
><P
|
|
> Speaking of Emulate3Buttons, 100ms is usually better than
|
|
the 50ms allowed in most default setups of
|
|
<TT
|
|
CLASS="filename"
|
|
>/etc/X11/XF86Config</TT
|
|
> for XFree86 3.x:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "Pointer"
|
|
...
|
|
Emulate3Buttons
|
|
Emulate3Timeout 100
|
|
...
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> Or in <TT
|
|
CLASS="filename"
|
|
>/etc/X11/XF86Config-4</TT
|
|
> for XFree86 4.x:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "InputDevice"
|
|
...
|
|
Option "Emulate3Timeout" "100"
|
|
Option "Emulate3Buttons" "true"
|
|
...
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2409"
|
|
></A
|
|
>12.17.5. Touchpad</H2
|
|
><P
|
|
> Usually a touchpad works with the PS/2 mouse device
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/psaux</TT
|
|
> and the PS/2 protocol (for GPM and X11,
|
|
for X11 it seems also worth to check the GlidePointPS/2 protocol).
|
|
</P
|
|
><P
|
|
> The
|
|
<A
|
|
HREF="http://w1.894.telia.com/~u89404340/touchpad/index.html"
|
|
TARGET="_top"
|
|
>Synaptics TouchPad driver</A
|
|
>
|
|
has the following functions
|
|
(some functions require features from the touchpad that must be
|
|
present, multifinger taps for example):
|
|
</P
|
|
><P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
> Movement with adjustable, non-linear acceleration and speed (Options:
|
|
MinSpeed, MaxSpeed, AccelFactor)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Button events through short touching of the touchpad (Options:
|
|
MaxTapTime, MaxTapMove)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Double-Button events through double short touching of the touchpad
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Dragging through short touching and holding down the finger on the
|
|
touchpad
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Middle and right button events on the upper and lower corner of the
|
|
touchpad (Option: Edges)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Scrolling (button four and five events) through moving the finger on the
|
|
right side of the touchpad (Options: Edges, VertScrollDelta)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> The up/down button sends button four/five events
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Adjustable finger detection (Option: Finger)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Ext Mouse repeater support - Alpha! (Option: Repeater)
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Multifinger taps: two finger for middle button and three finger for
|
|
right button events
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Online configuration through shared-memory (in development)
|
|
(Option: SHMConfig)
|
|
</P
|
|
></LI
|
|
></OL
|
|
><P
|
|
> The <B
|
|
CLASS="command"
|
|
>synclient</B
|
|
> command is provived with the driver
|
|
sources (note it's not included in SuSE Linux, at least not until 9.3).
|
|
The command queries and modifies the Synaptics TouchPad driver
|
|
parameters on the fly.
|
|
</P
|
|
><DIV
|
|
CLASS="tip"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="tip"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/tip.gif"
|
|
HSPACE="5"
|
|
ALT="Tip"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> Tipping with one, two or three fingers on the touchpad
|
|
simultaneously results in pressing the left, middle and respectively the
|
|
right mouse-button.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><P
|
|
> There is also another touchpad driver available.
|
|
<A
|
|
HREF="http://www.compass.com/synaptics/"
|
|
TARGET="_top"
|
|
>The Synaptics Touchpad Linux Driver</A
|
|
>
|
|
- <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
>
|
|
supports pointing devices used in notebooks by
|
|
Acer, Compaq, Dell, Gateway, Olivetti, Texas Instruments, Winbook, and others.
|
|
</P
|
|
><P
|
|
> Dell and Sony have started incorporating a touchpad, touchstick from
|
|
ALPS. They are in at least the Dell Latitude CPx and the Sony VAIO
|
|
laptop lines.
|
|
|
|
Maintainer Bruce Kall writes: "<B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> does NOT support them at this
|
|
time, but I am in the process of getting the API from ALPS and will be
|
|
incorporating this in the next version of <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
>.
|
|
The Dell's also incorporate the ALPS GlideStick in the middle of the
|
|
keyboard (like the stick pointer in some of the IBM Thinkpads). I also
|
|
intend to support the disabling of <SPAN
|
|
CLASS="QUOTE"
|
|
>"tapping"</SPAN
|
|
> the GlideStick
|
|
as well. Tapping of the touchpad/touchsticks drives me crazy, I'm not
|
|
sure about you (causes the <SPAN
|
|
CLASS="QUOTE"
|
|
>"selection"</SPAN
|
|
> of things on the
|
|
screen when you don't want to)!"
|
|
|
|
</P
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> is a command-line utility to set options on
|
|
Synaptics Touchpad and (now) ALPS Glidepad/ Stickpointers. Most people
|
|
primarily use it to turn off the "tap mode" on laptop touchpads.
|
|
</P
|
|
><P
|
|
> How to use <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
>: <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> is
|
|
currently supported as a command-line configuration tool. The PS/2 port
|
|
does not currently support sharing. Therefore the
|
|
<B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> utility will not work while any other mouse
|
|
driver is loaded (e.g. <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
>). This also means that you
|
|
cannot use <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> while X Windows is running. The
|
|
suggested use of <B
|
|
CLASS="command"
|
|
>tpconfig</B
|
|
> is to run it from a startup
|
|
script before gpm is started.
|
|
</P
|
|
><P
|
|
> <A
|
|
HREF="http://rsim.cs.uiuc.edu/~sachs/tp-scroll/"
|
|
TARGET="_top"
|
|
>IBM ThinkPad Scroll Daemon</A
|
|
>
|
|
</P
|
|
><P
|
|
> Not all touchpads are being from Synaptics, e.g some Gateways incorporate an
|
|
EZ-Pad (Registered TM) and there might be other brands. The
|
|
<A
|
|
HREF="http://www.synaptics.com/decaf/utilities/tprev.exe"
|
|
TARGET="_top"
|
|
>TPREV.EXE</A
|
|
>
|
|
utility will verify you have a Synaptics touchpad.
|
|
</P
|
|
><P
|
|
> The recent
|
|
<A
|
|
HREF="ftp://ftp.prosa.it/pub/gpm/"
|
|
TARGET="_top"
|
|
>gpm</A
|
|
>
|
|
package (version >=1.8, maybe earlier versions contain touchpad
|
|
support, too) includes the above mentioned Synaptics touchpad device
|
|
driver. This device driver has been developed by H. Davies
|
|
<hdavies_AT_ameritech.net>. Instead of using the PS/2 compatibility
|
|
mode of touchpad devices, you can now use native touchpad mode with some
|
|
pretty impressive features.
|
|
</P
|
|
><P
|
|
> In addition to translating finger motion into mouse motion and
|
|
supporting the buttons, this support currently has several features
|
|
(from the README):
|
|
</P
|
|
><P
|
|
>
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> a "tap" on the TouchPad causes a left mouse click
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> a "tap" followed quickly by a finger motion causes a left button drag type action.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> a "tap" in one of the corners causes an action the default configuration
|
|
is upper right causes middle mouse click and lower right causes right
|
|
mouse click
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> more pressure on the touch pad speeds the motion of the cursor
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> a "tap" with a motion component (default > 2mm) initiates a toss and
|
|
catch sequence. This is terminated by a finger touch on the pad (the
|
|
toss also ends after 1 sec since that is the idle timeout period for the
|
|
touchpad).
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> if the finger moves close to an edge then the mouse motion will be
|
|
continued in that direction so that you don't need to pick up your
|
|
finger and start moving again. This continued motion is pressure
|
|
sensitive (more pressure is faster motion).
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> These features can be enabled/disabled and many of them have time and
|
|
speed parameters which can be adjusted to the taste of the user.
|
|
</P
|
|
><P
|
|
> It seems <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> is best known as a console biased tool.
|
|
This is true, but you may use it as an X11 input device.
|
|
<B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> is used as a repeater device. In this way you can
|
|
use both the built-in synaptics touchpad with all the features and at
|
|
the same time a serial mouse (with three buttons). This all works
|
|
smoothly together. X11 reads the mouse events from a named pipe
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/gpmdata</TT
|
|
> in a protocol it understands, which in
|
|
my case is <EM
|
|
>Mouse-Systems-Compatible</EM
|
|
> (5bytes). Most
|
|
3-button mice use the default protocol. So a simple reconfiguration in
|
|
XF86Config is all that is required, after starting
|
|
<B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> in an appropriate way, of course.
|
|
</P
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> could be started on your laptop with the
|
|
following arguments : <B
|
|
CLASS="command"
|
|
>/usr/bin/gpm -t synps2 -M -t ms -m
|
|
/dev/ttyS0</B
|
|
> . Both touchpad and serial mouse work in console
|
|
and X11 mode. You do have to create the named pipe
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/gpmdata</TT
|
|
> yourself.
|
|
|
|
</P
|
|
><P
|
|
> Tapping with two fingers simultaneously to simulate a middle mouse
|
|
button works on Logitech touchpads used in a few machines.
|
|
</P
|
|
><P
|
|
> Thanks to Geert Van der Plas for most of the touchpad chapter.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2493"
|
|
></A
|
|
>12.17.6. Jog-Dial</H2
|
|
><P
|
|
> The <SPAN
|
|
CLASS="QUOTE"
|
|
>"Jog-Dial"</SPAN
|
|
> is an input device used in the SONY VAIO
|
|
laptop series. You may find a
|
|
<A
|
|
HREF="http://www004.upp.so-net.ne.jp/t-kinjo/vaio/index_e.html"
|
|
TARGET="_top"
|
|
>Jog-Dial driver</A
|
|
>
|
|
by Takaya Kinjo.
|
|
|
|
Probably you have to change two things in the
|
|
<TT
|
|
CLASS="filename"
|
|
>spicdriver/Makefile</TT
|
|
>:
|
|
|
|
</P
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>CCFLAG</B
|
|
> has to be extended with <B
|
|
CLASS="command"
|
|
>-D_LOOSE_KERNEL_NAMES</B
|
|
>
|
|
</P
|
|
><P
|
|
> <B
|
|
CLASS="command"
|
|
>CCFLAG</B
|
|
> has to be extended with <B
|
|
CLASS="command"
|
|
>-I/usr/src/linux-<kernel-version>/include</B
|
|
>
|
|
</P
|
|
><P
|
|
> The README seems to be in Japanese, here is an English version.
|
|
</P
|
|
><P
|
|
> <TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> $ tar xvzf jogutils.tar.gz
|
|
$ cd jogutils
|
|
$ make
|
|
$ su
|
|
# mknod /dev/spic c 60 0
|
|
# modprobe spicdriver/spicdriver
|
|
# exit
|
|
$ cp jogapp/rcfile ~/.jogapprc
|
|
$ jogapp/jogapp
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> ISHIKAWA Mutsumi wrote the
|
|
<A
|
|
HREF="http://perso.wanadoo.fr/pascal.brisset/vaio/"
|
|
TARGET="_top"
|
|
>jogdiald</A
|
|
>
|
|
driver, which runs entirely in user-space (no
|
|
kernel modules required).
|
|
</P
|
|
><P
|
|
> <A
|
|
HREF="http://linuxbrit.co.uk/rsjog/"
|
|
TARGET="_top"
|
|
>rsjog</A
|
|
>.
|
|
is a modification of the
|
|
<A
|
|
HREF="http://sjog.sourceforge.net/"
|
|
TARGET="_top"
|
|
>sjog</A
|
|
>
|
|
utility.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2513"
|
|
></A
|
|
>12.17.7. Touchscreens</H2
|
|
><P
|
|
> The only modern laptops I know which include a touchscreen are the
|
|
Fujitsu Biblo 112/142 (aka MC 30) and the Palmax PD 1000/1100 (aka IPC
|
|
1000/1100).
|
|
</P
|
|
><P
|
|
> The latest version of the
|
|
<A
|
|
HREF="http://www.cs.nmsu.edu/~pfeiffer/#pen"
|
|
TARGET="_top"
|
|
>Linux Compaq Concerto Pen Driver</A
|
|
>
|
|
is available from Joe Pfeiffer's home page.
|
|
</P
|
|
><P
|
|
> A current survey of drivers you may find at my page
|
|
<A
|
|
HREF="http://tuxmobil.org/touch_laptops.html"
|
|
TARGET="_top"
|
|
>Touchscreen Laptops and Linux</A
|
|
>
|
|
.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2520"
|
|
></A
|
|
>12.17.8. Pen Devices, Mousepoints</H2
|
|
><P
|
|
> IBM and Toshiba laptops currently come with a pen devices instead of a
|
|
mousepad or trackball.
|
|
</P
|
|
><DIV
|
|
CLASS="tip"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="tip"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/tip.gif"
|
|
HSPACE="5"
|
|
ALT="Tip"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> It needs some time to get used to this kind of pointer device. It may
|
|
help to rest your palm at the front rest. Also it's recommended to
|
|
reduce the mouse speed.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2525"
|
|
></A
|
|
>12.17.9. External Mouse</H2
|
|
><P
|
|
> For better handling, e.g. with a 3 button mouse you may use an external
|
|
mouse. This is usually a serial mouse or a PS/2 mouse, or in our days a USB
|
|
mouse, appropriate to the port your laptop offers. Usually this is no
|
|
problem. The only thing I currently don't know a solution for is the
|
|
automagic detection of a newly plugged in mouse from X11. To get it work
|
|
you have to restart your X server.
|
|
</P
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN2528"
|
|
></A
|
|
>12.17.9.1. PS/2 Mouse</H3
|
|
><P
|
|
> For PS/2 ports there are so called Y-Cable available, which make it
|
|
possible to use external mouse and external keyboard at the same time if
|
|
your laptop supports this feature.
|
|
</P
|
|
><DIV
|
|
CLASS="warning"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="warning"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/warning.gif"
|
|
HSPACE="5"
|
|
ALT="Warning"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> Don't plug in the external mouse while powered up. If you have
|
|
separate mouse and keyboard ports, make sure you plug the mouse in the
|
|
mouse port and the keyboard in the keyboard port. If you don't, you may
|
|
have to do a hard reboot of the laptop to get it to recover.
|
|
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN2533"
|
|
></A
|
|
>12.17.9.2. Wheel Mouse</H3
|
|
><P
|
|
> <A
|
|
HREF="http://jonatkins.org/imwheel/"
|
|
TARGET="_top"
|
|
>Imwheel</A
|
|
>
|
|
makes the wheel of your Intellimouse (and other wheel and stick
|
|
mice) work in Linux/X11 to scroll windows up and down, or send keys to
|
|
programs. It runs in the background as a daemon and requires little
|
|
reconfiguration of the XWindows setup. 4 or more button mice and Alps
|
|
Glidepad 'Taps' may also be used. <B
|
|
CLASS="command"
|
|
>imwheel</B
|
|
>
|
|
includes a modified <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> for
|
|
an alternate method of wheel input.
|
|
</P
|
|
><P
|
|
> See also the
|
|
<A
|
|
HREF="http://www.inria.fr/koala/colas/mouse-wheel-scroll/"
|
|
TARGET="_top"
|
|
>WHEEL Mouse FAQ</A
|
|
>
|
|
which describes
|
|
how to get lots of X applications to recognise the scrolling action.
|
|
For current instructions on XFree86 4.x see
|
|
<A
|
|
HREF="http://www.xfree86.org/current/mouse.html"
|
|
TARGET="_top"
|
|
>XFree86 4.x - Mouse Docs</A
|
|
>.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN2542"
|
|
></A
|
|
>12.17.9.3. USB Mouse</H3
|
|
><P
|
|
> This part is taken from The Linux <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> Sub-System by
|
|
Brad Hards.
|
|
</P
|
|
><DIV
|
|
CLASS="sect4"
|
|
><H4
|
|
CLASS="sect4"
|
|
><A
|
|
NAME="AEN2546"
|
|
></A
|
|
>12.17.9.3.1. USB Human Interface Device (HID) Configuration</H4
|
|
><DIV
|
|
CLASS="sect5"
|
|
><H5
|
|
CLASS="sect5"
|
|
><A
|
|
NAME="AEN2548"
|
|
></A
|
|
>12.17.9.3.1.1. General HID Configuration</H5
|
|
><P
|
|
> There are two options for using a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse or a
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> keyboard - the standalone Boot Protocol way and
|
|
the full featured HID driver way. The Boot Protocol way is generally
|
|
inferior, and this document describes the full featured way. The Boot
|
|
Protocol way may be appropriate for embedded systems and other systems
|
|
with resource constraints and no real need for the full keyboard and
|
|
mouse capabilities.
|
|
</P
|
|
><P
|
|
> It is important to remember that the HID driver handles those devices
|
|
(or actually those interfaces on each device) that claim to comply with
|
|
the Human Interface Device (HID) specification. However the HID
|
|
specification doesn't say anything about what the HID driver should do
|
|
with information received from a HID device, or where the information
|
|
that is sent to a device comes from, since this is obviously dependent
|
|
on what the device is supposed to be doing, and what the operating
|
|
system is. Linux (at the operating system kernel level) supports four
|
|
interfaces to a HID device - keyboard, mouse, joystick and a generic
|
|
interface, known as the event interface.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect5"
|
|
><H5
|
|
CLASS="sect5"
|
|
><A
|
|
NAME="AEN2554"
|
|
></A
|
|
>12.17.9.3.1.2. HID Mouse Configuration</H5
|
|
><P
|
|
> In the kernel configuration stage, you need to turn on
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> Human Interface Device (HID) support and Mouse
|
|
Support Do not turn on <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> HIDBP Mouse support.
|
|
Perform the normal kernel rebuild and installation steps. If you are
|
|
installing as modules, you need to load the
|
|
<TT
|
|
CLASS="filename"
|
|
>input.o</TT
|
|
>, <TT
|
|
CLASS="filename"
|
|
>hid.o</TT
|
|
> and
|
|
<TT
|
|
CLASS="filename"
|
|
>mousedev.o</TT
|
|
> modules.
|
|
</P
|
|
><P
|
|
> Plug in a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse and check that your mouse has
|
|
been correctly sensed by the kernel. If you don't have a kernel message,
|
|
look for the changes to <TT
|
|
CLASS="filename"
|
|
>/proc/bus/usb/devices</TT
|
|
>.
|
|
</P
|
|
><P
|
|
> Since <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> supports multiple identical devices, you
|
|
can have multiple mice plugged in. You can get each mouse seperately, or
|
|
you can get them all mixed together. You almost always want the mixed
|
|
version, and that is what will be used together. You need to set up a
|
|
device node entry for the mixed mice. It is customary to create the
|
|
entries for this device in the /dev/input/ directory.
|
|
</P
|
|
><P
|
|
> Use the following commands:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> mkdir /dev/input
|
|
mknod /dev/input/mice c 13 63
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><DIV
|
|
CLASS="tip"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="tip"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/tip.gif"
|
|
HSPACE="5"
|
|
ALT="Tip"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> If you are unsure whether you are configuring the right mouse device,
|
|
use <B
|
|
CLASS="command"
|
|
>cat /dev/input/mice</B
|
|
> (or other appropriate
|
|
devices names). In case you do this for the correct mouse, you should see some
|
|
bizarre looking characters as you move the mouse or click any of the
|
|
buttons.
|
|
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><P
|
|
> If you want to use the mouse under X, you have various options. Which
|
|
one you select is dependent on what version of XFree86 you are using and
|
|
whether you are using only <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> for your mouse (or
|
|
mice), or whether you want to use a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse and
|
|
some other kind of pointer device.
|
|
</P
|
|
><P
|
|
> You need to edit the <TT
|
|
CLASS="filename"
|
|
>XF86Config</TT
|
|
> file (usually
|
|
<TT
|
|
CLASS="filename"
|
|
>/usr/X11R6/lib/X11/XF86Config</TT
|
|
> or
|
|
<TT
|
|
CLASS="filename"
|
|
>/etc/X11/XF86Config</TT
|
|
>).
|
|
</P
|
|
><P
|
|
> If you are using XFree86 version 4.0 or later, add an
|
|
InputDevice section that looks like the following:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "InputDevice"
|
|
Identifier "USB Mice"
|
|
Driver "mouse"
|
|
Option "Protocol" "IMPS/2"
|
|
Option "Device" "/dev/input/mice"
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
or, if you want to use a wheel mouse, something like this may be more useful:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "InputDevice"
|
|
Identifier "USB Mice"
|
|
Driver "mouse"
|
|
Option "Protocol" "IMPS/2"
|
|
Option "Device" "/dev/input/mice"
|
|
Option "ZAxisMapping" "4 5"
|
|
Option "Buttons" "5"
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> Consult the
|
|
<A
|
|
HREF="http://www.xfree86.org/current/mouse.html"
|
|
TARGET="_top"
|
|
>current XFree86 documentation</A
|
|
>
|
|
for a detailed explanation and more examples.
|
|
</P
|
|
><P
|
|
> You also need to add an entry to each applicable ServerLayout Section.
|
|
These are normally at the end of the configuration file. If you only have
|
|
a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice), then
|
|
replace the line with the "CorePointer" entry with the following line:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> InputDevice "USB Mice" "CorePointer"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> If you want to use both a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice) and some other kind of pointer device,
|
|
then add (do not replace) the following line to the applicable
|
|
ServerLayout sections:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> InputDevice "USB Mice" "SendCoreEvents"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> If you are using only a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice) with XFree86 3.3, edit the Pointer
|
|
section so that it looks like the following:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "Pointer"
|
|
Protocol "IMPS/2"
|
|
Device "/dev/input/mice"
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> If you are trying to use a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice) in addition to another pointer type
|
|
device with XFree86 3.3, then you need to use the XInput
|
|
extensions. Keep the existing Pointer (or modify it as required for
|
|
the other device if you are doing an initial installation), and add
|
|
the following entry (anywhere sensible, ideally in the Input
|
|
devices area):
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> Section "Xinput"
|
|
SubSection "Mouse"
|
|
DeviceName "USB Mice"
|
|
Protocol "IMPS/2"
|
|
Port "/dev/input/mice"
|
|
AlwaysCore
|
|
EndSubSection
|
|
EndSection
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> Restart the X server. If you don't have any mouse support at this point,
|
|
remember that Ctrl-Alt-F1 will get you a virtual terminal that you can
|
|
use to kill the X server and start debugging from the error messages.
|
|
</P
|
|
><P
|
|
> If you want to use the mouse under gpm, run (or kill and restart if it
|
|
is already running) gpm with the following options. <B
|
|
CLASS="command"
|
|
>gpm -m
|
|
/dev/input/mice -t imps2</B
|
|
> (as superuser). You can make
|
|
this the default if you edit the initialisation files. These are
|
|
typically named something like rc.d and are in
|
|
<TT
|
|
CLASS="filename"
|
|
>/etc/rc.d/</TT
|
|
> on RedHat distributions.
|
|
</P
|
|
><P
|
|
> If you have both a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice) and some other kind of pointer device, you
|
|
may wish to use gpm in repeater mode. If you have a PS/2 mouse on
|
|
/dev/psaux and a <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mouse (or <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
>
|
|
mice) on /dev/input/mice, then the following <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
>
|
|
command would probably be appropriate: <B
|
|
CLASS="command"
|
|
>gpm -m /dev/input/mice
|
|
-t imps2 -M -m /dev/psaux -t ps2 -R imps2</B
|
|
>. Note that this will
|
|
make the output appear on <TT
|
|
CLASS="filename"
|
|
>/dev/gpmdata</TT
|
|
>, which is a
|
|
FIFO and does not need to be created in advance. You can use this as the
|
|
mouse "device" to non-X programs, and both mice will work together.
|
|
|
|
</P
|
|
><P
|
|
>
|
|
<DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN2613"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 12-1. Arguments for the <B
|
|
CLASS="command"
|
|
>-t</B
|
|
> and <B
|
|
CLASS="command"
|
|
>-R</B
|
|
> option of <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
>.</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><THEAD
|
|
><TR
|
|
><TH
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>option</TH
|
|
><TH
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>description</TH
|
|
></TR
|
|
></THEAD
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>ms</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>MicroSoft compatible serial mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>ps2</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>PS/2 or C&T 82C710</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>bm</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>Logitech bus mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>bm</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>ATI XL bus mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>mb</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>MicroSoft bus mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>msc</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>Mouse Systems serial mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>logi</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>older mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>mman</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>Mouse Man protocol, serial Logitech mouse</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>sun</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>SUN mouse, three button</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>ms3</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>Intellimouse with wheel, at serial port</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>imps2</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>Intellimouse with wheel, at PS/2 port</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>pnp</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>PnP mice, alternative to <B
|
|
CLASS="command"
|
|
>ms</B
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>mm</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>MM series</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>bare</TD
|
|
><TD
|
|
WIDTH="50%"
|
|
ALIGN="LEFT"
|
|
VALIGN="MIDDLE"
|
|
>oldest serial two button mouse</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
|
|
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN2669"
|
|
></A
|
|
>12.17.9.4. Wrist Input Device - Twiddler</H3
|
|
><P
|
|
> The <B
|
|
CLASS="command"
|
|
>gpm</B
|
|
> contains a driver for the Twiddler
|
|
device at the serial port. For information about the Twiddler see
|
|
<A
|
|
HREF="http://www.handykey.com/"
|
|
TARGET="_top"
|
|
>Handykey Corporation</A
|
|
>
|
|
.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN2674"
|
|
></A
|
|
>12.17.10. Macintosh PowerBooks</H2
|
|
><P
|
|
> PowerBooks have a trackpad and only one button, although you can plug in
|
|
external multi-button <SPAN
|
|
CLASS="acronym"
|
|
>USB</SPAN
|
|
> mice. The usual thing is to
|
|
map a couple of keys on the keyboard to the middle and right mouse
|
|
buttons; your Linux distribution should come with instructions on how to
|
|
configure this (it's not specific to laptops, as all Apple mice are
|
|
single-button).
|
|
</P
|
|
><P
|
|
> If you are using the <B
|
|
CLASS="command"
|
|
>Xpmac</B
|
|
> server, the default is
|
|
option-1 and option-2, and you can change this by passing
|
|
<B
|
|
CLASS="command"
|
|
>-middlekey <keycode></B
|
|
> <B
|
|
CLASS="command"
|
|
>-rightkey
|
|
<keycode></B
|
|
> arguments to <B
|
|
CLASS="command"
|
|
>Xpmac</B
|
|
>, and
|
|
<B
|
|
CLASS="command"
|
|
>-nooptionmouse</B
|
|
> if you don't want the option key to be
|
|
needed.
|
|
</P
|
|
><P
|
|
> If you are using XFree86, you pass
|
|
<B
|
|
CLASS="command"
|
|
>adb_buttons=<middlekey></B
|
|
>,<B
|
|
CLASS="command"
|
|
><rightkey></B
|
|
>
|
|
kernel arguments (no option is required). I use
|
|
<B
|
|
CLASS="command"
|
|
>adb_buttons=58,55</B
|
|
> to map the option and Apple/command
|
|
keys (which are little-used in Linux); use e.g. <B
|
|
CLASS="command"
|
|
>xev</B
|
|
>
|
|
to find out the keycode for a given key.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="mobile-guide-p2c1s8-numeric-keypad.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="mobile-guide-p2c1s8-apm.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Numeric Keypad</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="mobile-guide-p2c1-hardware-in-detail.html"
|
|
ACCESSKEY="U"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Advanced Power Management - APM</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |