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:
(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.