Raw Accel Documentation
repository·master·Indexed 22 days ago
https://github.com/rawaccelofficial/rawaccelA driver-level mouse acceleration tool for Windows 10 and 11 (x86-64) that enables input acceleration within the raw input stream. It features various acceleration styles (Linear, Classic, Power, Natural, Jump, Synchronous, and LUT), DPI normalization, and coalescion smoothing. The tool is designed to be anti-cheat friendly and includes a GUI for passing settings to the signed driver.
What's inside Raw Accel
- Raw Accel is a driver for Windows 10 and Windows 11 (x86-64) that enables mouse input acceleration within the raw input stream. It functions as an advanced replacement for InterAccel, offering various acceleration types, charts, and features to customize mouse movement.
Does the Raw Accel GUI need to be running?
masterNo. The GUI is only used to pass settings to the driver. Once the settings are applied, they remain active until the computer is shut down, even if you close the GUI.Understand Raw Accel measurement concepts
masterRaw Accel modifies $(x,y)$ mouse input to produce an $(x,y)$ output. The following concepts define how this is measured and configured:
- Sensitivity: The ratio of output speed to input speed. The
sensitivity multiplierparameter acts as a multiplier on the final post-calculation output vector. - (Output) Velocity: The speed of the final output vector. The relationship between input and output velocity is the core of the acceleration curve.
- Gain: The slope of the output vs input velocity curve. It represents how much the output velocity increases relative to an increase in input velocity. Keeping gain consistent ensures smooth sensitivity transitions.
- Acceleration: Occurs when the velocity curve is non-linear for any input speed.
- Sensitivity: The ratio of output speed to input speed. The
Configure Offsets (Thresholds)
masterAn Offset (or threshold) is the input speed in counts before acceleration begins.
- Gain Offset: The recommended method. It shifts the gain graph by the offset amount without causing a discontinuity, resulting in a smooth feeling.
- Sensitivity Offset: A legacy method that causes a discontinuity in gain at the offset point, leading to a non-smooth feeling. This is no longer available.
Applicability:
- Classic, Linear, and Natural modes: Offsets are defined in terms of input speed.
- Power mode: Uses a special "output offset" where the curve starts from a specific ratio of the sensitivity multiplier.
Use the Gain Switch to define acceleration shapes
masterThe Gain Switch determines whether an acceleration curve shape is applied to the sensitivity graph or the gain graph.
- For Linear, Classic, and Power styles: The switch does not change the possible shapes; any curve achievable with the switch set to
Sensitivitycan be replicated with a different set of settings usingGain. - For Natural, Jump, and Synchronous styles: The switch allows for entirely new velocity curves for each style.
- For Linear, Classic, and Power styles: The switch does not change the possible shapes; any curve achievable with the switch set to
Choose an Acceleration Style
masterRaw Accel provides several mathematical models for acceleration:
- Synchronous: Achieves logarithmically symmetrical sensitivity changes around a "synchronous speed". Uses
motivity(amount of change),gamma(speed of change), andsmooth(tailing in/out). - Linear: A simple line rising at a constant rate.
- Classic: Multiplies speed by a rate and raises it to an exponent. Replicates Quake-style acceleration.
- Power: Used for CS:GO/Source Engine styles. Uses a rate and an exponent. To simulate CS:GO acceleration at a specific FPS, set
scaleto1000/(in-game fps)andoutput offsetto1. - Natural: A concave curve that starts at 1 and approaches a maximum sensitivity (similar to Diabotical).
- Jump: Applies one sensitivity/gain below a threshold and another above it. Use the
smoothparameter to transition between them (0 is instant, 1 is a sigmoid/s-shape). - Look Up Table (LUT): An expert mode for defining custom points. Points are provided as
x1,y1;x2,y2;....
- Synchronous: Achieves logarithmically symmetrical sensitivity changes around a "synchronous speed". Uses
Anti-Cheat Compatibility and Security
masterRaw Accel is designed to be anti-cheat friendly. The driver releases are signed and operate in system space. To mitigate potential abuse, the driver modifies mouse input using a constant set of formulas and implements a one-second delay when settings are changed.AntiCheat compatibility for Raw Accel
masterRaw Accel is designed to be safe for use with AntiCheat programs. The driver is fully signed and implements a one-second delay on writes to prevent it from being used as a cheating tool. While it is currently reported to work with FaceIT, Valorant, and Diabotical, compatibility is never guaranteed as AntiCheat policies can change.Configure Sensitivity Multiplier and Y/X Ratio
masterThe Sensitivity Multiplier is a parameter applied to the post-calculation output vector. When using the Y/X Ratio parameter, it is applied only to the Y component of the output. This allows you to define the ratio of vertical to horizontal output sensitivity without affecting the acceleration curve itself.Configure Caps (Acceleration Limits)
masterA Cap is a point after which acceleration is no longer applied.
- Gain Cap: The recommended method. It effectively caps the gain. Because gain rises faster than sensitivity, users should adjust the gain cap to hit the desired sensitivity cap level. This provides a much smoother transition.
- Sensitivity Cap: A legacy method that applies the minimum of the cap sensitivity and calculated sensitivity. This causes a large discontinuity at the cap cross.
Applicability:
- Classic, Linear, and Power modes: Caps can be defined by input speed, an output ratio, or both.
- Natural mode: Does not support caps (based on the provided text).
Configure Coalescion (Smoothing)
masterCoalescion uses Exponential Moving Average (EMA) to average mouse packets, mitigating unevenness in packet arrival times. There are three types of smoothing available:
- Input Speed Smoothing: Uses linear EMA to determine input speed for sensitivity. It affects acceleration only and does not feel like classic mouse smoothing.
- Accelerated Sensitivity Smoothing: Uses simple EMA to determine accelerated sensitivity. It affects acceleration only.
- Output Smoothing: Uses linear EMA to determine the final output. This is equivalent to "classic mouse smoothing" and will add perceived input delay between physical movement and the cursor.
Choose between Whole and By Component application styles
masterRaw Accel offers two primary ways to apply acceleration to the mouse input vector:
Whole Mode
In Whole mode, the magnitude of the entire input vector is used to calculate sensitivity, which is then applied to the whole vector. This is the recommended mode for most users as it avoids mathematical oddities like "curl" and ensures smooth diagonal transitions.
Anisotropic settings for Whole mode:
- Range: Scales the sensitivity curve range around 1 for the horizontal or vertical direction.
- Domain: Scales the domain of the curve around 0 for the horizontal or vertical direction.
- Lp Norm: Generalizes distance calculation. A value of
2uses the Pythagorean theorem (standard). Increasing $p$ makes diagonal movements feel smaller and increases the dominance of the larger axis. Values $> 64$ approach $\max(in_x, in_y)$.
By Component Mode
In By Component mode, the horizontal ($x$) and vertical ($y$) components are treated separately. Each component is passed through its own sensitivity calculation before being recombined. This is useful for games requiring distinct horizontal and vertical management (e.g., tracking vs. recoil control), though it is less mathematically "smooth" than Whole mode.