EPPCustomCurvePoints: Difference between revisions
Created page with "==EPPCustomCurvePoints== In mouse acceleration systems, custom curve points define a response curve that maps mouse movement speed → sensitivity multiplier. In UT2004.ini, EPPCustomCurvePoints are specified as 5 float pairs separated by '|' and a single space, e.g. <code>'0 0|0.43 1.070267|1.25 4.140625|3.86 18.984375|40.0 443.75'</code> == Custom Curve Points (Mouse Acceleration) == These custom curve points define a response curve that maps mouse movement speed t..." |
mNo edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
==EPPCustomCurvePoints== | ==EPPCustomCurvePoints== | ||
The content of this field in '''[WinDrv.WindowsClient]''' defines mouse acceleration to use, when either <code>UseDirectInput & DirectEnhancedPointerPrecision</code> or <code>UseRawHIDInput & RawEnhancedPointerPrecision</code> are turned on. Note: For Preview 15+ this is likely to change to a single setting which is used by both <code>UseDirectInput</code> and <code>UseRawHIDInput</code> : <code>MouseAcceleration</code> | |||
The custom curve points define a response curve that maps mouse movement speed → sensitivity multiplier. | |||
'''EPPCustomCurvePoints''' are specified as 5 float pairs separated by '|' and a single space, e.g. <code>'0 0|0.43 1.070267|1.25 4.140625|3.86 18.984375|40.0 443.75'</code> | |||
== Custom Curve Points (Mouse Acceleration) == | == Custom Curve Points (Mouse Acceleration) == | ||
| Line 99: | Line 101: | ||
== Behavior of the Curve == | == Behavior of the Curve == | ||
The example curve increases steeply as speed increases. This means: | <pre> | ||
Output | |||
^ | |||
| * | |||
| * | |||
| * | |||
| * | |||
| * | |||
|* | |||
+---------------------------------------> Input Speed | |||
</pre>The example curve increases steeply as speed increases. This means: | |||
* '''Slow movements''' provide high precision for aiming. | * '''Slow movements''' provide high precision for aiming. | ||
* '''Fast movements''' produce large rotations quickly. | * '''Fast movements''' produce large rotations quickly. | ||
Latest revision as of 16:17, 18 March 2026
EPPCustomCurvePoints
The content of this field in [WinDrv.WindowsClient] defines mouse acceleration to use, when either UseDirectInput & DirectEnhancedPointerPrecision or UseRawHIDInput & RawEnhancedPointerPrecision are turned on. Note: For Preview 15+ this is likely to change to a single setting which is used by both UseDirectInput and UseRawHIDInput : MouseAcceleration
The custom curve points define a response curve that maps mouse movement speed → sensitivity multiplier.
EPPCustomCurvePoints are specified as 5 float pairs separated by '|' and a single space, e.g. '0 0|0.43 1.070267|1.25 4.140625|3.86 18.984375|40.0 443.75'
Custom Curve Points (Mouse Acceleration)
These custom curve points define a response curve that maps mouse movement speed to an output sensitivity multiplier. The curve determines how much the mouse input is scaled depending on how fast the mouse is moved.
Each pair of floats represents a point on the curve in the form:
X Y
Where:
- X – input mouse velocity (for example counts per millisecond or a normalized movement speed)
- Y – output scaling value applied to the mouse movement
Points are separated by the character |. The system interpolates between these points to produce a smooth acceleration curve.
Explanation of the example Curve Points
| Point | Input Speed (X) | Output Value (Y) |
|---|---|---|
| 1 | 0 | 0 |
| 2 | 0.43 | 1.070267 |
| 3 | 1.25 | 4.140625 |
| 4 | 3.86 | 18.984375 |
| 5 | 40.0 | 443.75 |
- When the mouse speed is 0, the output is 0.
- At speed 0.43, the output multiplier is approximately 1.07.
- At speed 1.25, the multiplier increases to approximately 4.14.
- At higher speeds the multiplier grows rapidly, allowing fast turning when the mouse is moved quickly.
Interpolation Between Points
When the current mouse speed falls between two defined points, the output value is calculated using linear interpolation.
For example, if the mouse velocity is:
v = 1.0
This lies between the points:
0.43 1.070267 1.25 4.140625
First compute the interpolation factor:
t = (1.0 - 0.43) / (1.25 - 0.43) t ≈ 0.695
Then compute the output value:
y = 1.070267 + t * (4.140625 - 1.070267) y ≈ 3.21
The resulting multiplier applied to the mouse movement would therefore be approximately 3.21.
This allows a smooth and flexible curve while keeping configuration simple. The points represent:
| Point | Purpose |
|---|---|
| 1 | Origin (no movement) |
| 2 | Slow micro-adjustments |
| 3 | Medium aiming movement |
| 4 | Fast turning |
| 5 | Maximum flick speed |
This allows precise aiming during slow mouse movements while still enabling large rotations during rapid flicks.
Behavior of the Curve
Output ^ | * | * | * | * | * |* +---------------------------------------> Input Speed
The example curve increases steeply as speed increases. This means:
- Slow movements provide high precision for aiming.
- Fast movements produce large rotations quickly.
