Raw Accel Documentation

repository·master·Indexed 22 days ago

https://github.com/rawaccelofficial/rawaccel

A 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.

Tokens
2.7K
Snippets
3
Records
20
Agent score
82%

What's inside Raw Accel

  1. Overview of Raw Accel

    master
    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.
  2. Understand Raw Accel measurement concepts

    master

    Raw 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 multiplier parameter 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.
  3. Configure Offsets (Thresholds)

    master

    An 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.
  4. Use the Gain Switch to define acceleration shapes

    master

    The 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 Sensitivity can be replicated with a different set of settings using Gain.
    • For Natural, Jump, and Synchronous styles: The switch allows for entirely new velocity curves for each style.
  5. Choose an Acceleration Style

    master

    Raw 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), and smooth (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 scale to 1000/(in-game fps) and output offset to 1.
    • 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 smooth parameter 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;....
  6. Anti-Cheat Compatibility and Security

    master
    Raw 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.
  7. AntiCheat compatibility for Raw Accel

    master
    Raw 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.
  8. Configure Sensitivity Multiplier and Y/X Ratio

    master
    The 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.
  9. Configure Caps (Acceleration Limits)

    master

    A 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).
  10. Configure Coalescion (Smoothing)

    master

    Coalescion uses Exponential Moving Average (EMA) to average mouse packets, mitigating unevenness in packet arrival times. There are three types of smoothing available:

    1. Input Speed Smoothing: Uses linear EMA to determine input speed for sensitivity. It affects acceleration only and does not feel like classic mouse smoothing.
    2. Accelerated Sensitivity Smoothing: Uses simple EMA to determine accelerated sensitivity. It affects acceleration only.
    3. 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.
  11. Choose between Whole and By Component application styles

    master

    Raw 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 2 uses 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.