197 lines
		
	
	
	
		
			8.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			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.
							 |