www.nico.schottelius.org/software/gpm/browse_source/gpm-1.20.3pre6/doc/FAQ
Nico Schottelius 95a46c5577 import gpm from unix.schottelius.org
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-10-08 22:52:35 +02:00

197 lines
8.5 KiB
Text

This file tries to summarize the questions that I've been responding over
and over. It is meant to save some time to both you and me :)
If your problem with gpm isn't described here, feel free to ask me by
Email.
--
__ o La forza dei forti sta nel traversare le traversie con occhio sereno
_`\<, (Paperino)
__( )/( )__ rubini@prosa.it +39-382-529554
1. Installation / Compiling
2. Running problems
3. other questions
===========================================================================
1. Installation / Compiling
===========================================================================
Q: Compilation fails with
yacc gpm-root.y
make: /usr/bin/make: cannot execute binary file
make: *** [gpm-root.c] Error 126
A: This is a typical error (I've got several of them reported), though
not related to gpm.
It looks like you have an old slackware installation, like mine, or
another faulty setup. I've been reported that slackware-3 is wrong
as well.
The 'yacc' executable is a shell script that calls bison, and it
lacks the '#!/bin/sh' line (or has it incorrect, missing the
'!'). I don't remember the details, but while it runs under your
shell, it can't be executed under make. I looked in the binfmt
sources in the kernel, and /bin/sh doesn't appear explicitly, so
you must fix the first line in the 'yacc' script, and everything
should go fine.
Note however that the server has already been compiles. Only the
gpm-root client, written with yacc, is affected by this problem.
===========================================================================
2. Running problems
===========================================================================
Q: My serial mouse works in X with ms protocol, but behaves erratically
with gpm on the text console, and I get involuntary pastes.
A: Many ms protocol mice equipped with three buttons use an extension
to the protocol, which consists in repeating events (thus with no
effect under the normal protocol) to signal a change in the middle
button. Unfortunately, some old true-ms protocol mice do repeat
events, thus triggering the middle-button in gpm.
If you're running your mouse with ``-t ms'', you'd better try ``-t
bare'', which is the unadorned ms protocol of the old days. My
choice to use the third-button extension as the default, was taken
because a true ms protocol doesn't repeat event notification, and
because many three button mice feature the extension.
---------------------------------------------------------------------------
Q: I have a serial mouse. It works fine except that when I try to drag
the mouse with the middle button pressed, gpm assumes that the middle
button has been released. Dragging with the other buttons works just
fine.
A: You are probably running your mouse with ``-t ms''. In this mode
dragging with the middle button has been deliberately disabled in
order to prevent problems with faulty mice that fail to report
middle-button events during mouse motion.
Try using ``-t ms+'' or ``-t ms+lr'' instead.
---------------------------------------------------------------------------
Q: My mouse gets into a state where it thinks the middle button is up
when it's down and vice versa.
A: Your mouse uses an extension to the m$ protocol in order to report
the middle button. It sends empty events (i.e., no-motion &
no-button-change) in order to report a change in the status of the
middle button.
Unfortunately many devices that report middle-button events in this
way often fail miserably to report them correctly during mouse
motion. Since the protocol does not distinguish between the button
going up and the button going down it can easily get out of step
with reality.
There are two solutions: either use ``-t ms'', which disallows
dragging with the middle button, so you can get back to normal
simply by moving the mouse without any buttons pressed; or (probably
better) use ``-t ms+lr'', which allows you to reset the state of
the middle button by pressing the other two buttons together. (If
you want you can also deliberately get gpm out of step with reality
by pressing the left and right buttons while holding the middle
button!)
Note that there are many more faulty mice in the world than
non-faulty ones so you will probably will have to use ``-t ms+lr''
rather than ``-t ms+''.
Note also that most 3-button mice that use the microsoft protocol can
be made to use the MouseSystems protocol instead. You might want to
read about this in the ``3 Button Serial Mouse mini-HOWTO''.
---------------------------------------------------------------------------
Q: My mouse doesn't sense the middle button in X, while it works with
gpm.
A: Gpm uses a different decoder (see the previous two answers). You
can use the ``-R'' option to repeat mouse data to X (look at the man
page).
---------------------------------------------------------------------------
Q: I have a busmouse, and I have the single-open problem. Is there any
way around it?
A: Try the -R option of gpm (look at the man page)
---------------------------------------------------------------------------
Q: I run "-t ms", and I get double-paste when I press the middle button.
Is there any workaround?
A: Try "-t mman" instead.
---------------------------------------------------------------------------
Q: I have one of the new devices of old dear Bill, and gpm doesn't work any
more. What can I do?
A: Bill chose to use its own Plug-and-Pray specification, which finally
managed to break what worked painlessly for ages. The decoder for
any gpm up to 1.12 (and also any X version being used at the time)
is unable to deal with the new devices, which claim to be designed
to work with older drivers. Try to use "-t pnp" instead of "-t ms"
and see if it works with this gpm version. Actually, this version
might even work with "-t ms" or "-t bare", but I'm not sure about
it. If the version of X you run has problems, while gpm now works,
try passing the "-R" option to gpm (see the man page). Note that
"-t pnp" is strongly discouraged, as any time the serial port is
opened (for example when switching from X to text mode if "-R" is
not active) it will take several seconds to be initialized -- a
design misfeature of pnp. If either "-t ms" or "-t bare" work use
them instead.
If you are in the software field, you can enjoy the inaccuracies of
the specs and design bugs directly from the originators:
http://www.microsoft.com/hwdev/download/pnpcom.exe. You'll find the
following, and more:
- no support for real multitasking (the mouse driver must be able
to keep hold of processor time for at least 1 second).
- no pnp vendor will be able to support three buttons any more (no
more mouse protocols, all mice must behave the same).
- similary, only 1200 baud devices (any serial device) are supported,
because the initialization string of pnp devices only tells
the vendor and release, with no information about required
port configuration.
- people with UPS will have great troubles with ms software
because the pnp probing sequence plays with DTR, and w95
probes all serial ports. This funny idea might turn off
the UPS connected with your computer just after booting w95.
Don't despair. They will manage to make worse designs later on.
---------------------------------------------------------------------------
Q: I have an old 386 computer around here and gpm is _really_ slow. Is there
any way I can make it faster ?
A: Go into src/headers/gpmCfg.h and look for DEF_CLUSTER. Change its values from
0 to 10.
---------------------------------------------------------------------------
Q: gpm.conf is not accepted / does not work, but gpm works from command line.
A: gpm.conf is not from gpm itself. Please contact your distrubtion support
to clearify whats wrong.
===========================================================================
3. other questions
===========================================================================
Q: I am gonna buy computer X, do I have any chance getting gpm running on it?
A:
a) If it does not work, you could at least try to port it ;)
b) As report by a friend, gpm currently runs on Linux on
- i386 - Alpha - ARM - PA-RISC - ia64 (Itanium) - PPC - m68k - MIPS - SPARC
It's possible that you need some patches for some architecture.