Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.sdsmt.edu!nntp.uac.net!news.tufts.edu!blanket.mitre.org!news.mathworks.com!news2.mathworks.com!newscaster-1.mcast.net!cs.tu-berlin.de!zib-berlin.de!irz401!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc,comp.windows.x.i386unix
Subject: Re: 3 button mice for X11
Date: 27 May 1996 20:23:42 GMT
Organization: Private BSD site, Dresden
Lines: 56
Message-ID: <4od30e$i9k@uriah.heep.sax.de>
References: <4ocfvr$rm6@linet06.li.net>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.6
X-Phone: +49-351-2012 669
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:20191 comp.windows.x.i386unix:20113
jwc@newshost.li.net (John W. Carbone) wrote:
> Would someone please recommend a 3 button mouse that is NOT
> specifically designed for right handed people?
I'm using a good ol' MouseSystems optical mouse. It once accompanied
a Data General workstation, but is more commonly known as a ``Sun
Mouse'' (though you must be careful, there are Sun mice with only 3
wires, you cannot use them on a PC, you need a RS-232 interface one).
It's not specifically designed for right-handed people, and i figure i
could also use it with the left hand, if I) i had learned how to use
it in the left hand, and II) i had the space there on my desk. :)
Unfortunately, i don't think the XFree86 servers do support swapping
mouse buttons 1 and 3. This seems to be a useful extension, and i'm
sure they will integrate it if you provide a patch.
I don't think it's actually very hard to implement. The following
code snippet from xc/programs/Xserver/hw/xfree86/common/xf86_Mouse.c
shows the final part of the mouse protocol handling (function
xf86MouseProtocol()):
/*
* assembly full package
*/
switch(xf86Info.mseType) {
case P_LOGIMAN: /* MouseMan / TrackMan [CHRIS-211092] */
case P_MS: /* Microsoft */
...
}
xf86PostMseEvent(buttons, dx, dy);
pBufP = 0;
}
}
If you add a line above the call to xf86PostMseEvent(), doing just:
buttons = (buttons & 2) + ((buttons & 1) << 2) + ((buttons & 4) >> 2);
dependant on some option in the Pointer section of XF86Config, you're
already done. If you think this costs too much speed, encode all the
possible combinations into an array (2^3 = 8 bytes needed), and do
buttons = button_reverse[buttons];
instead.
--
cheers, J"org
joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)