huilin@hpindda.HP.COM (Hui Lin Lim) (02/11/89)
I just bought a MSC (formerly Mouse Systems) PC Mouse II which has two buttons and being a left hander I'd like to swop the buttons around so that I can use it more easily. I was hoping that there'd be a parameter that I could use when loading the driver but that wasn't the case. MSC tech support categorically state that it isn't possible. I've thought of physically swopping the microswitches around but am not keen on doing this. Does anyone have a solution? I know some programs (like Windows) are considerate enough to allow you to do this but there are many others that don't. Any mailed replies will be summarised and posted for the benefit of other left handers. Thanks Hui-Lin Lim ARPA: huilin%hpda@hplabs.hp.com UUCP: {ucbvax,hplabs}!hpda!huilin Phone: (408)447-2835
liber@darth.UUCP (Eric Liber) (02/15/89)
> I just bought a MSC (formerly Mouse Systems) PC Mouse II which > has two buttons and being a left hander I'd like to swop the > buttons around so that I can use it more easily. > . . I have done extensive playing with several various mice. As i see it you only have 2 choices. 1) Write your own mouse driver to replace the one that came with your mouse. While definately not for the faint of heart I suspect that a few days of hacking about would get you there. A call to MSC to see if they have a technical manual on the mouse is definately in order. Such a manual is absolutely a necessity in any such undertaking. 2) Somewhat simpler is to write a TSR routine that grabs int 33h (the mouse interrupt and looks for requests for button information and reverses the logic. That is: if you send a mouse interrupt request #5 (let's say .. I don't have my manual handy and my memory is not what it used to be :-) ) and it is supposed to return bx bit 0 = left button and bx bit 1 = right button then reversing those bits before returning to the calling program would do what you want. This routine would have to intercept the int 33 call and make its own call to where int33 used to point then the mouse routine would return to your intercept routine and you would return to the calling program with the appropriate registers modified. one other thought ... I believe that some of the mice (Logitech???) may allow you to do this very thing through their click routine. If so you might want to sell the pc mouse and get a logitech. I will check my reference manuals tonight and report back. Eric (the red baron) Liber
bowden@gumby.cc.wmich.edu (Michael L. Bowden) (02/16/89)
I don't remember if there are any seals on the PC mouse, but it should be possible to take it apart and physically exchange the first and third buttons. It won't be as easy to dynamically reconfigure, but if it's just for you, that shouldn't matter. I would expect this to be quicker/easier than playing TSR wars with the mouse driver.
vail@tegra.UUCP (Johnathan Vail) (02/17/89)
~ ~> I just bought a MSC (formerly Mouse Systems) PC Mouse II which ~> has two buttons and being a left hander I'd like to swop the ~> buttons around so that I can use it more easily. ~> ~. ~. ~I have done extensive playing with several various mice. As i see it you ~only have 2 choices. ~ How about: 3) Opening up the little devil and rewiring the buttons Ack! harware! "I'm insanely jealous of the spiders in your path" -- RH _____ | | Johnathan Vail | tegra!N1DXG@ulowell.edu |Tegra| (508) 663-7435 | N1DXG @ 145.110-, 444.2+, 448.625- -----
huilin@hpindda.HP.COM (Hui Lin Lim) (02/22/89)
Well I finally managed to swop the functions of the mouse buttons around by using debug to trace the code attached to the serial port interrupt. This allowed me to find out where the mouse driver was intepreting the data being sent by the mouse and reverse the result. For the interest of others who have the same problem, you can forget about doing any hardware mods if the PC Mouse and PC Mouse II are anything to go by. The microswitches are mounted on printed circuit boards and there aren't any wires that can be cross connected. About the only thing that you could do would be to cut traces and install jumpers (not something that I'd want to try - but then again I'm a software person). Thanks to all those who offered suggestions which can basically be summarised as (my comments about each proposed solution follow in parentheses): 1. Use the application software which comes with the mouse to do the customisation (won't work for applications which use int33h to access the mouse) 2. Write your own driver (too complicated) 3. Write a TSR which watches int33h and modifies the returned values (also fairly complex if one is to provide the full functionality that the driver does since several functions return information about the mouse buttons) I'd like to apologise for not giving the names of those who helped me with their suggestions but I'm afraid I ran out of space and had to purge my mail and I forgot to save the names. Once again please accept my thanks. Hui-Lin Lim ARPA: huilin%hpinddf@hplabs.hp.com UUCP: {ucbvax,hplabs}!hpinddf!huilin Phone: (408)447-2835