NetBSD Problem Report #7476

Received: (qmail 8150 invoked from network); 26 Apr 1999 13:28:03 -0000
Message-Id: <199904261328.NAA471474@antharia.mit.edu>
Date: Mon, 26 Apr 1999 13:28:00 GMT
From: Dan Winship <danw@MIT.EDU>
To: gnats-bugs@gnats.netbsd.org
Subject: Xmacppc dies on mouse Z axis events
X-Send-Pr-Version: 3.95

>Number:         7476
>Category:       port-macppc
>Synopsis:       Xmacppc dies on mouse Z axis events
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-macppc-maintainer
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 26 06:35:01 +0000 1999
>Closed-Date:    Fri Feb 15 17:34:44 +0000 2002
>Last-Modified:  Fri Feb 15 17:34:44 +0000 2002
>Originator:     Dan Winship
>Release:        current
>Organization:
MIT
>Environment:
System: NetBSD frotz 1.4_BETA NetBSD 1.4_BETA (FROTZ) #42: Sat Apr 24 11:35:24 EDT 1999 danw@spellbook.mit.edu:/u1/usr/src/sys/arch/macppc/compile/FROTZ macppc

>Description:
	Using the wheel on a mouse with a wheel (or other Z axis)
	causes Xmacppc to exit instantly.
>How-To-Repeat:

>Fix:
XFree86 can treat the wheel as either a pair of buttons or an alias
for one of the other axes. I went with the pair of buttons (since
Xmacppc doesn't have a config file like XFree86 does).

*** macppcMouse.c.orig	Sun Apr 25 09:49:25 1999
--- macppcMouse.c	Sun Apr 25 17:26:28 1999
***************
*** 123,129 ****
      DevicePtr	  pMouse = (DevicePtr) device;
      int	    	  format;
      static int	  oformat;
!     BYTE    	  map[4];
      char	  *dev;

      switch (what) {
--- 123,129 ----
      DevicePtr	  pMouse = (DevicePtr) device;
      int	    	  format;
      static int	  oformat;
!     BYTE    	  map[6];
      char	  *dev;

      switch (what) {
***************
*** 139,146 ****
  	    map[1] = 1;
  	    map[2] = 2;
  	    map[3] = 3;
  	    InitPointerDeviceStruct(
! 		pMouse, map, 3, miPointerGetMotionEvents,
   		macppcMouseCtrl, miPointerGetMotionBufferSize());
  	    break;

--- 139,148 ----
  	    map[1] = 1;
  	    map[2] = 2;
  	    map[3] = 3;
+ 	    map[4] = 4;
+ 	    map[5] = 5;
  	    InitPointerDeviceStruct(
! 		pMouse, map, 5, miPointerGetMotionEvents,
   		macppcMouseCtrl, miPointerGetMotionBufferSize());
  	    break;

***************
*** 327,332 ****
--- 329,345 ----
      case WSCONS_EVENT_MOUSE_DELTA_Y:
  	miPointerDeltaCursor (0,-MouseAccelerate(device,fe->value),time);
  	break;
+     case WSCONS_EVENT_MOUSE_DELTA_Z:
+ 	if (fe->value > 0)
+ 	    xE.u.u.detail = 4;
+ 	else
+ 	    xE.u.u.detail = 5;
+ 	xE.u.u.type = ButtonPress;
+ 	mieqEnqueue (&xE);
+ 	xE.u.keyButtonPointer.time++;
+ 	xE.u.u.type = ButtonRelease;
+ 	mieqEnqueue (&xE);
+ 	break;
      case WSCONS_EVENT_MOUSE_ABSOLUTE_X:
  	miPointerPosition (&x, &y);
  	miPointerAbsoluteCursor (fe->value, y, time);
***************
*** 334,339 ****
--- 347,354 ----
      case WSCONS_EVENT_MOUSE_ABSOLUTE_Y:
  	miPointerPosition (&x, &y);
  	miPointerAbsoluteCursor (x, fe->value, time);
+ 	break;
+     case WSCONS_EVENT_MOUSE_ABSOLUTE_Z:
  	break;
      default:
  	FatalError ("macppcMouseEnqueueEvent: unrecognized id\n");

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: danw 
State-Changed-When: Fri Feb 15 09:34:12 PST 2002 
State-Changed-Why:  
oops. this has been fixed forever 
>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.