Windows Mouse Acceleration Curve: SmoothMouseXCurve and SmoothMouseYCurve

10

3

What is the format of the data of SmoothMouseXCurve and SmoothMouseYCurve in the registry key:

HKEY_CURRENT_USER\Control Panel\Mouse

user541686

Posted 2011-05-03T05:57:30.867

Reputation: 21 330

Answers

10

The two registry keys contain the 5 coordinate pairs of a mouse acceleration graph inflection points (in this case, points in a graph that produce a curve). SmoothMouseXCurve contains the X coordinate points and SmoothMouseYCurve contain the Y coordinate points.

The first point is always 0,0, and refers to the beginning of the curved graph. So, if you inspect your values, you'll notice the first line of both registry values is 00,00,00,00,00,00,00,00. Each subsequent line introduces an inflection point in the graph. Any point after the fifth isn't required since Windows will extrapolate the remaining of the graph from these 5 points.

Each coordinate pair (each line of the five lines in the registry keys) is written in a 16.16 fixed point format (16 bit int + 16 bit fraction). As such you will always only use the first 4 hex of each line. 2 for the integer part and two for the fractional part.

EDIT: This is a somewhat old article on mouse acceleration in XP. It still applies to Vista and Windows 7. However, to my knowledge the formulas have changed slightly, for which reason if you intend to draw your own acceleration graphs, you shouldn't trust those formulas. In any case, it gives you an idea of the process that hasn't changed since then.

A Dwarf

Posted 2011-05-03T05:57:30.867

Reputation: 17 756

2Omg! They're not points, they're not derivatives, but they're inflection points! mind blown <3 calculus :) +1 – user541686 – 2011-07-10T03:18:10.593

The math isn't that bad :) Meanwhile, I found a rather good article on how one can tweak those values for their specific system and thus customize their mouse windows acceleration: http://www.esreality.com/index.php?a=post&id=1945096. Enjoy, but be careful.

– A Dwarf – 2011-07-10T14:49:38.133