Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Any way to cannibalize the Windows 2000 mouse driver?

- - - - -

  • Please log in to reply
57 replies to this topic

#1
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag
I've been using Windows 2000 for over 10 years now and I've grown pretty accustomed to how the mouse behaves. There are gamers out there who have posted fixes all over the place for "mouse acceleration" removal from Windows XP, however the absence of all acceleration makes fine selection difficult or large sweeping motions to get the mouse across the screen. MS has had mouse acceleration built into all of their OSs and with each new one they changed it just a little. Just a little means using Windows XP to play games how I want is impossible. I either have to remove it all with a "fix" or live with how it is. Windows 2000 has it's own style and it's the one I've grown accustomed to and prefer. The problem is I can't replicate it on any other OS so I'm stuck using Windows 2000 if I want to play games how I wish.

So, I'm wondering, is there any way to copy over or replicate this portion of the OS so I can keep this behavior? I've tried doing things like copying over mouse.drv and msmouse.inf from the system folders but it seems to have no effect. Adusting SmoothMouseXYCurve values as shown here: http://www.sevenforu...ation-help.html could possible do it if you knew what each value on the graph did and the values it would take to make it like Windows 2000. There's a GUI interface for MAC http://www.orderedby...show=example017 that does this, but not for Windows.

Hopefully somebody reads this and can help find a solution for this years old problem.


How to remove advertisement from MSFN

#2
blackwingcat

blackwingcat

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 748 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag
I think the registry is referenced by win32k.sys.
There is no value in windows 2000, so you can't apply it with copy XP's binaries
(Don't copy XP's win32k.sys. It is different from XP's on with structure level)

I've been using Windows 2000 for over 10 years now and I've grown pretty accustomed to how the mouse behaves. There are gamers out there who have posted fixes all over the place for "mouse acceleration" removal from Windows XP, however the absence of all acceleration makes fine selection difficult or large sweeping motions to get the mouse across the screen. MS has had mouse acceleration built into all of their OSs and with each new one they changed it just a little. Just a little means using Windows XP to play games how I want is impossible. I either have to remove it all with a "fix" or live with how it is. Windows 2000 has it's own style and it's the one I've grown accustomed to and prefer. The problem is I can't replicate it on any other OS so I'm stuck using Windows 2000 if I want to play games how I wish.

So, I'm wondering, is there any way to copy over or replicate this portion of the OS so I can keep this behavior? I've tried doing things like copying over mouse.drv and msmouse.inf from the system folders but it seems to have no effect. Adusting SmoothMouseXYCurve values as shown here: http://www.sevenforu...ation-help.html could possible do it if you knew what each value on the graph did and the values it would take to make it like Windows 2000. There's a GUI interface for MAC http://www.orderedby...show=example017 that does this, but not for Windows.

Hopefully somebody reads this and can help find a solution for this years old problem.


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BlackWingCat =^^=
http://blog.livedoor.jp/blackwingcat/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

#3
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag

Adusting SmoothMouseXYCurve values as shown here: http://www.sevenforu...ation-help.html could possible do it if you knew what each value on the graph did and the values it would take to make it like Windows 2000.

Here is how it woks:
http://web.archive.o...inter-bal.mspx?
http://www.esreality...post&id=1945096
http://www.kotiposti...36961/WinAccel/
up to you to find the right settings (now that you know what each value mean)

jaclaz

#4
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag
I remember trying a win32k.sys swap in an act of desperation and it didn't work out. By the way, I've read your blog and you have some great information there. Too bad I don't know Japanese that well and google translate only goes so far.

#5
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag
thanks jaclaz. In one of those links, I found this: http://translate.goo...se/&sl=ja&tl=en

Now to find a way to figure out about what the curves are in Windows 2000...

#6
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag

Now to find a way to figure out about what the curves are in Windows 2000...

NO idea. :no:
Unless this "Mouse Movement Recorder" thingy also works in 2K :unsure::
http://donewmouseaccel.blogspot.it/
http://donewmouseacc...ix-builder.html
http://donewmouseacc...ration-fix.html

jaclaz

Edited by jaclaz, 18 March 2012 - 10:39 AM.


#7
Phenomic

Phenomic

    Member

  • Member
  • PipPip
  • 276 posts
  • OS:none specified
  • Country: Country Flag
I too prefer win2k response/acceleration. You could try the Logitech or Microsoft drivers. Most intuitive of all pointing devices is the Wii Remote under Linux, but you can use the GlovePie driver in Win2000

Edited by Phenomic, 19 March 2012 - 02:35 PM.


#8
MarktheC

MarktheC

    Newbie

  • Member
  • 16 posts
  • OS:none specified
  • Country: Country Flag
Windows 2000 mouse accel is described here:
http://technet.micro...y/cc978664.aspx

... and here (excuse the translated Japanese and missing images):
http://translate.goo..._Mouse_Driv.htm

W2K (and prior) accel was a crude mechanism using 1 or two threshholds.

With no accel (MouseSpeed=0), mouse-to-pointer movement was 1-to-1.
With 1 threshhold accel (MouseSpeed=1), mouse-to-pointer movement was 1-to-1 below (or at) the threshhold, and doubled when the mouse moved faster than MouseThreshold1. No smoothing, just a sudden jump, doubling of pointer speed.
With 2 threshhold accel (MouseSpeed=2), mouse-to-pointer movement was 1-to-1 below (or at) the threshhold, and doubled when the mouse moved faster than MouseThreshold1 and quadrupled (×4) when faster than MouseThreshold2.

The values for the 3 settings (MouseSpeed, MouseThreshold1, MouseThreshold2) depended on which W2K pointer accel radio button was chosen (None, Low, Medium, High): http://ltxfaq.custhe...ues#Windows2000

If you still use a mouse polling rate of 125Hz (or use the same polling rate as you had on W2K), it is possible to quite closely emulate the W2K "Low" setting using a XP/Vista/7 SmoothMouse*Curve curve.
Ditto, it is possible to somewhat approximate the W2K Medium and High settings with an XP/Vista/7 curve.

Here is some XP/Vista curves that approximate the Windows 2000 "Low" accell curve:
http://www.gamefront...9___6_of_11_zip

When I have some free time, I may build some "Windows 2000"-like curves for Windows 7 also.

#9
Octopuss

Octopuss

    I am the walrus

  • Member
  • PipPipPipPipPipPip
  • 1,127 posts
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

Just out of curiosity, what is it that behaves SO differently that you can't switch from 2k to XP, which is almost obsolete already? I just kind of remembered how 2k was the first real OS I saw. Man I was so happy when I got used to it and realized how solid and great it was compared to the junk from before.




Anyway, I never noticed any differences in mouse behaviour in any Windows version, so I am kinda curious here.



#10
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag
Forgot to say how in a completely unrelated experiment:
http://reboot.pro/3717/
I actually used the mouclass.sys from Win2K on a XP build:
http://reboot.pro/3717/page__st__49

jaclaz

Edited by jaclaz, 05 April 2012 - 04:47 AM.


#11
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag

Just out of curiosity, what is it that behaves SO differently that you can't switch from 2k to XP, which is almost obsolete already?


TheWalrus: To answer your question to the best of my ability... I've been gaming on Win2k OS for many years and I have a perfect twitch reflex to the way the mouse behaves. I can turn exactly 180/360/up/down with perfect aim. See something in my field of view and twitch and hit it spot on every time. I have been using it so long that I can make twitch shots without even thinking and faster than I can consciously interpret similar to how you jerk your arm away from something hot before you realize what happened. With the acceleration feature I get very little fatigue because I never have to move the mouse large distances, just speed control. Trying to relearn on another OS's revamped acceleration style is like somebody amputated my hand and gave me somebody elses. There's constant over/under shooting my aim and twitch reflexes are always hit or miss and can never introspectively figure out exactly what is different or wrong, only that it's just not right. With Win2k's scheme, I'm usually the best if not very close to it and also get accused of cheating often because fast twitches look like aimbots. I can still play very well other schemes, but it's never 100%. I never truly shine no matter how many hours, days, weeks I put into it to relearn. That original twitch reflex is always there and spot on with Win2k. I hope that answers it.

Edited by WinWin, 16 April 2012 - 06:06 PM.


#12
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,782 posts
  • OS:98SE
  • Country: Country Flag

Donator

Do you use a USB or PS/2 mouse, and which mouse is it?

#13
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag

Forgot to say how in a completely unrelated experiment:
http://reboot.pro/3717/
I actually used the mouclass.sys from Win2K on a XP build:
http://reboot.pro/3717/page__st__49

jaclaz



I just tried swapping it with the mouclass.sys from win2k and unfortunately it has no effect on the acceleration part. It was worth a shot though. (And also bypassed Windows file protection that replaces the file.)

Dencorso: I've used both USB and PS/2 without any notable difference between the two as long as I can adjust the polling rate to the max.

Edited by WinWin, 17 April 2012 - 05:56 PM.


#14
WinWin

WinWin
  • Member
  • 9 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag

Windows 2000 mouse accel is described here:
http://technet.micro...y/cc978664.aspx

... and here (excuse the translated Japanese and missing images):
http://translate.goo..._Mouse_Driv.htm

W2K (and prior) accel was a crude mechanism using 1 or two threshholds.

With no accel (MouseSpeed=0), mouse-to-pointer movement was 1-to-1.
With 1 threshhold accel (MouseSpeed=1), mouse-to-pointer movement was 1-to-1 below (or at) the threshhold, and doubled when the mouse moved faster than MouseThreshold1. No smoothing, just a sudden jump, doubling of pointer speed.
With 2 threshhold accel (MouseSpeed=2), mouse-to-pointer movement was 1-to-1 below (or at) the threshhold, and doubled when the mouse moved faster than MouseThreshold1 and quadrupled (×4) when faster than MouseThreshold2.

The values for the 3 settings (MouseSpeed, MouseThreshold1, MouseThreshold2) depended on which W2K pointer accel radio button was chosen (None, Low, Medium, High): http://ltxfaq.custhe...ues#Windows2000

If you still use a mouse polling rate of 125Hz (or use the same polling rate as you had on W2K), it is possible to quite closely emulate the W2K "Low" setting using a XP/Vista/7 SmoothMouse*Curve curve.
Ditto, it is possible to somewhat approximate the W2K Medium and High settings with an XP/Vista/7 curve.

Here is some XP/Vista curves that approximate the Windows 2000 "Low" accell curve:
http://www.gamefront...9___6_of_11_zip

When I have some free time, I may build some "Windows 2000"-like curves for Windows 7 also.


This sudden jump and no smoothing probably explains why the later "Curves" bother me so much as I can't seem to get a reliable distance for different speeds. In games I usually do fine slow movements (Win2k) or fast twitchy ones and know exactly where it will end up and acceleration appears to be non-existant because of avoiding being close to that threshold. You get the best of both worlds there because you can do quick 180/360 without large movements/fatigue and still do small fine movements. I wonder if it's possible to recreate this curve. I'm not sure what the registry values mean exactly and I haven't seen documentation on it. There's a utility for mac that allows making your own curve, unfortunately nothing for Windows or linux (I think).

#15
MarktheC

MarktheC

    Newbie

  • Member
  • 16 posts
  • OS:none specified
  • Country: Country Flag

I wonder if it's possible to recreate this curve.


Yes it is possible.
More or less exactly if you used to use Windows 2000 "Low" accel, but only somewhat approximately if you used to use Medium or High.
Do you remember what W2K setting you had?
And what settings do you have now (OS/Refresh rate/Mouse polling rate/Text Size)?
(If you run the MarkC Windows 7 + Vista + XP Mouse Acceleration Fix Builder, and accept the default values, your current setup will be in the .REG filename created, just also tell me your polling rate.)

Edited by MarktheC, 18 April 2012 - 07:12 AM.


#16
Pheesh

Pheesh
  • Member
  • 1 posts
  • OS:none specified
  • Country: Country Flag


I wonder if it's possible to recreate this curve.


Yes it is possible.
More or less exactly if you used to use Windows 2000 "Low" accel, but only somewhat approximately if you used to use Medium or High.
Do you remember what W2K setting you had?
And what settings do you have now (OS/Refresh rate/Mouse polling rate/Text Size)?
(If you run the MarkC Windows 7 + Vista + XP Mouse Acceleration Fix Builder, and accept the default values, your current setup will be in the .REG filename created, just also tell me your polling rate.)


Hi Mark,
I used "low" setting in windows 2000. As described in this thread I have just been trying to achieve the simple doubling of mouse movement once passing a threshold (I think the threshold for 'low' setting was 6?) with no variable acceleration. Just a straight linear doubling. Unfortunately this has been impossible since XP.

Currently I have win7x64, 60hz refresh rate, 500hz mouse polling rate...um text size? whatever default is..not sure what that means. Resolution 1680x1050 but I do run dual monitors. I'm pretty sure back on windows 2000 I used a 125 hz polling rate. I'm willing to learn how to do this myself as I've read some of your other threads..just not sure how to do a simple doubling.

#17
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,190 posts
  • OS:none specified
  • Country: Country Flag
OK, FWIW, the only entries in "HKCU\Control Panel\Mouse" in my Win2k3 is "ActiveWindowTracking" (dword=x0)

Slider is centered and Enhanced Pointer Precision is ticked. (USB Wireless Logitech)

One might wonder... why the "Smooth..." entries don't exist?

Side note: My XP, however DOES have these entries and more (as per articles).

Significant or not?

Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image


#18
MarktheC

MarktheC

    Newbie

  • Member
  • 16 posts
  • OS:none specified
  • Country: Country Flag

Hi Mark,
I used "low" setting in windows 2000. As described in this thread I have just been trying to achieve the simple doubling of mouse movement once passing a threshold (I think the threshold for 'low' setting was 6?) with no variable acceleration. Just a straight linear doubling. Unfortunately this has been impossible since XP.

Currently I have win7x64, 60hz refresh rate, 500hz mouse polling rate...um text size? whatever default is..not sure what that means. Resolution 1680x1050 but I do run dual monitors. I'm pretty sure back on windows 2000 I used a 125 hz polling rate. I'm willing to learn how to do this myself as I've read some of your other threads..just not sure how to do a simple doubling.


Try this:
Windows7_MouseFix_TextSize(DPI)=100%_Scale=1-to-1(2-to-1@2.7)_@6-of-11.reg
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]

"MouseSpeed"="1"
"MouseSensitivity"="10"
"SmoothMouseXCurve"=hex:\
	00,00,00,00,00,00,00,00,\
	00,c9,00,00,00,00,00,00,\
	00,00,00,00,00,00,00,00,\
	00,90,0c,00,00,00,00,00,\
	00,00,00,00,00,00,00,00
"SmoothMouseYCurve"=hex:\
	00,00,00,00,00,00,00,00,\
	3c,4b,04,00,00,00,00,00,\
	00,00,00,00,00,00,00,00,\
	0b,67,89,00,00,00,00,00,\
	00,00,00,00,00,00,00,00
NOTE TO OTHER PEOPLE: This approximates W2K Low accel ONLY FOR A 500Hz mouse. If anybody tries this but doesn't have a 500Hz mouse, it won't feel the same as W2K Low accel.

On Windows 2000 Server, Low was a threshold1 of 7, and I'm assuming that W2K Pro would be the same. mouse movements 1 thru 7 were 1-to-1, 8 and over were doubled.
Since you have a 500Hz mouse, the counts that Windows sees are divided by 4 (only 1/4 of the time to accumulate counts when polling at 4 times the rate.
So a stream of movements of 8 will now be a stream of movements of 2.

The above curve applies 1-to-1 up to 2.75 counts per movement, then doubled after that. Because of the smooth curve, the transition between 2 counts and 3 counts will not be exactly abrupt like in W2K: 2 counts might sometimes map to × 1.5 if the previous movement was 3.

It might feel like your old W2K, or it might not, because you might have gotten used to Windows 7 now. If your new mouse has a different DPI than the old, you may now move the mouse slower than you used to, or faster etc.

Let me know how it feels. Give it a try for a while. It needs EPP ON to work.

The magic numbers are:

The SmoothX and Y numbers are nominally speeds in inches/sec, multiplied by 65536 (to give a whole number).

Curve segment 1 has SmoothX = C900 (=51456), divided by 65536 = 0.785 inches/sec = 2.748 mouse counts per poll.
The conversion between SmoothX and mouse counts is buried deep within Windows, and uses this formula: SmoothX = mouse counts / 3.5
So to make a curve segment kick in at 5 counts per poll, SmoothX = 5/3.5 = 1.428, converted to fixed point hex = 1.428 * 65536 = 0x16DB6, which is stored as B6,6D,01

Smooth Y is set so that SmoothY / SmoothX × 96/150 / 3.5 = [required sensitivity], with some funky rounding going on.
For the first part of the curve, SmoothY = 0x044B3C (= 281404)
And then [required sensitivity] = 281404 / 51456 * 96/150 / 3.5 = 1.0

96 is not a constant, it is the Control Panel Text Size, 96 corresponds to Text Size = 100%. 150 and 3.5 are hard-coded constants.

I hope that's not too much info!

#19
MarktheC

MarktheC

    Newbie

  • Member
  • 16 posts
  • OS:none specified
  • Country: Country Flag

OK, FWIW, the only entries in "HKCU\Control Panel\Mouse" in my Win2k3 is "ActiveWindowTracking" (dword=x0)

Slider is centered and Enhanced Pointer Precision is ticked. (USB Wireless Logitech)

One might wonder... why the "Smooth..." entries don't exist?

Side note: My XP, however DOES have these entries and more (as per articles).

Significant or not?


If the normal MouseSpeed, SmoothMouseXCurve, etc are missing, default values are used. The defaults are the same as the values normally present for XP.
If you go into control Panel and change the 'Enhance pointer precision', it should create a MouseSpeed option.

#20
ownage11

ownage11

    Newbie

  • Member
  • 13 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks for the info

Edited by ownage11, 04 June 2012 - 11:04 AM.


#21
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag
Maybe this is what you were looking for:
http://www.esreality...post&id=1945096

http://www.kotiposti...ial-English.txt
http://www.kotiposti...faultCurves.zip

Now the "math" is seemingly all there, time to do the experiments. ;)

jaclaz

#22
ownage11

ownage11

    Newbie

  • Member
  • 13 posts
  • OS:Windows 7 x64
  • Country: Country Flag
MarkC Builder works!

Edited by ownage11, 04 June 2012 - 11:01 AM.


#23
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag

Tried that already, Just not the same.

I am not following you :unsure:.

The given article explains exactly HOW to do something.
You have to experiment.
Then you post the actual table that you generated (and does not feel "right" to you).
Then someone may (hopefully) find what is the problem with your data.
You will need to post also the various settings you have (like refresh rate, dpi, etc.)

OF COURSE you cannot use a 2K or XP driver on 7! :w00t:

jaclaz

#24
ownage11

ownage11

    Newbie

  • Member
  • 13 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks for everyone, use MarkC fix and you will able to get the old feels

WEEEE!

Edited by ownage11, 04 June 2012 - 11:02 AM.


#25
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,031 posts
  • OS:none specified
  • Country: Country Flag

Well I wasted enough times on that, any accel curves combo I tried so far make it just not the same feels of the old Windows 2000,
The speed might be the same, but overall the feels is just a big different and not anyclose.


Hmmm, really cannot say, but set aside the specific issue, from a "mathematical standpoint" 5 x/y points should be enough to approximate *any* curve of this type :unsure: (or at least approximate them accurately enough).

Maybe you tested "wrong" curves (or you had not the "right tool" to create some). :whistle:

If I can find something to criticize :w00t: about the mentioned tutorial is that - while it explains very well the theory :thumbup , it completely lacks a "practical way" to test curves :ph34r: , and provides a "conversion/curve building" method that is needlessly complex.

I try (with the attached spreadsheet) to fill this gap ;) (you will need Excel).

No instructions, but once chosen your DPI in cell R20, besides changing values in cells P22:Q26 you can grab points in the graphic (the Magenta coloured line) and drag 'em around.
Then copy cells B18:B33 to a new. reg file and test the settings.

jaclaz

Attached Files


Edited by jaclaz, 01 June 2012 - 08:54 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN