Subject: xsrc/10901: xfree68 server ignores buttons4,5 if emulate3button is set
To: None <gnats-bugs@gnats.netbsd.org>
From: None <wolfgang@wsrcc.com>
List: netbsd-bugs
Date: 08/27/2000 16:58:16
>Number:         10901
>Category:       xsrc
>Synopsis:       xfree68 server ignores buttons4,5 if emulate3button is set
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    xsrc-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 27 16:59:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Wolfgang Rupprecht
>Release:        NetBSD-current 8/17/99
>Organization:
W S Rupprecht Computer Consulting, Fremont CA
>Environment:
	
System: NetBSD pasillo.wsrcc.com 1.5E NetBSD 1.5E (WSRCC) #0: Thu Aug 17 17:48:37 PDT 2000 wolfgang@capsicum.wsrcc.com:/v/src/netbsd/NetBSD-current/usr/src/sys/arch/i386/compile/WSRCC i386


>Description:
	if one has two mice connected and one cannot set the superset 
	of the options needed to make both mice happy.

	In a sony vaio 505tx (and most losing PC's) on has only a two
	button mouse.  One needs to set emulate3button in the mouse section 
	of the xvga server config in /usr/X11R6/lib/X11/XF86Config

	If one suppliments that built-in mouse by occationally plugging in
	an external USB wheel mouse and one wants to use the wheel
	one needs to set ZAxisMapping also.

    Section "Pointer"
       Protocol        "Wsmouse"
       Device          "/dev/wsmouse"
       BaudRate        1200
       Emulate3Timeout 50
       Emulate3Buttons
       Buttons         5
       ZAxisMapping    4 5
    EndSection

	In this mode the wheel generates button-1 and button-3 events, not
	button-4 and button-5 events as expected.  Commenting out the
	two Emulate3button lines fixes things for the wheel mouse at
	the expense of breaking the internal mouse's button-2
	emulation.

>How-To-Repeat:
>Fix:
	find the Emulate3Buttons code and teach it to keep its paws
	off of bits that don't concern it.  (I'll follow up with a patch 
	if/when I find this code.)

	
>Release-Note:
>Audit-Trail:
>Unformatted:
 >how-To-Repeat:
 
 	plug in a USB wheel mouse (such as the logitech) and add
  	Emulate3Buttons to the mouse section.  One should see the   
 	button-4 and button-5 events get mapped to button-1 and button-3.