Home/Blog/Customize Mouse Acceleration

Blog

How To Customize Mouse Acceleration in Windows 11, 10, SmoothMouseXCurve and SmoothMouseYCurve

Written by Yaron Elharar (@YaronElharar) · Updated May 5, 2026

This is a powerful mouse customization tool.

Back up your Registry keys. As with extreme customization, use at your own risk. Comments? Questions? Go to this X post.

Tool to achieve extreme control over your mouse movement using the SmoothMouseXCurve and SmoothMouseYCurve registry keys. It helps you generate your own customized acceleration curves.

Customize Your Mouse Acceleration Curve

The first four points are the most important for fine-tuning short, accurate movements.

Coordinates
X axis
Y axis
Curve Point 1
Curve Point 2
Curve Point 3
Curve Point 4
Curve Point 5
0510152001234Mouse movement speed (X axis)Cursor movement speed (Y axis)
Your curve
Default Windows 10/11 curve

Want a simpler way to control mouse behavior on the fly? Check out SpeedCursor Pro.

Generated Registry Output

Click the generate button to create your registry-ready mouse curve output.

Have you ever wanted to have extreme and accurate control over your mouse? Have you wondered how pro gamers and professionals are so accurate with their mouse movements? One of the less known secrets to this extreme mouse accuracy lies within two little-known registry keys: SmoothMouseXCurve and SmoothMouseYCurve. With the help of the tool on this page and a thorough explanation we will go through how to customize your own mouse acceleration curve and fine-tune it to your exact preferences. This is going to be a level of mouse precision that goes far beyond any standard mouse settings. Let's get into it.

What are the SmoothMouseXCurve and SmoothMouseYCurve, and what do they do?

SmoothMouseXCurve and SmoothMouseYCurve are Windows Registry keys that contain crucial data for your mouse acceleration. This data is used by Windows to determine how far your pointer should move on the screen based on how fast you're moving your physical mouse. In essence, these keys define the mouse acceleration curve. These registry keys allow Windows to translate the speed of your physical mouse movement into the distance the on-screen pointer travels. By modifying the data in these keys, you can customize this relationship, giving you fine-grained control over your mouse's speed while the mouse accelerates.

What is the mouse acceleration curve?

The mouse acceleration curve is fundamental to understanding how your computer translates physical mouse movement into on-screen cursor motion. Simply put, it's a mathematical formula that determines how fast the mouse cursor should move on the screen in reaction to the speed at which you physically move your mouse. This curve is not just about position or velocity at a single moment, but primarily concerned with the translation of the physical movement to on-screen cursor movement.

So, in simple terms, you can think about SmoothMouseXCurve as the X-axis representing the physical speed you are moving the mouse on the desk or mousepad, while the SmoothMouseYCurve (Y-axis) values indicate how fast the cursor should move in response to the physical mouse movement.

By customizing the SmoothMouseXCurve and SmoothMouseYCurve registry keys, you're reshaping the relationship between physical movement of the mouse and screen movement of the mouse. This allows for fine-tuned control over how your mouse behaves at different movement speeds.

Where can you find these registry keys?

To access these keys, you'll need to dive into the Windows Registry. Here's how you can find them:

Method 1: Direct navigation

  1. Click on the Start menu and type "Registry Editor" (without quotes).
  2. Click on the "Registry Editor" app in the search results to open it.
  3. In the Registry Editor, navigate to the following path by expanding the folders in the left pane: HKEY_CURRENT_USER\Control Panel\Mouse
  4. Look for the keys named "SmoothMouseXCurve" and "SmoothMouseYCurve" in the right pane.
Registry path
TEXT
HKEY_CURRENT_USER\Control Panel\Mouse

Method 2: Search from root

  1. Open the Registry Editor as described in steps 1-2 above.
  2. Click on "Computer" at the very top of the left pane to ensure you're at the root.
  3. Press Ctrl+F or click Edit > Find from the menu.
  4. Type "SmoothMouseXCurve" or "SmoothMouseYCurve" (without quotes) in the search box and click "Find Next".
  5. Once found, you can see the full path to the key in the address bar at the top of the Registry Editor window.

What are the SmoothMouseXCurve, SmoothMouseYCurve Registry keys?

Each key contains five points, stored as a 40-byte REG_BINARY blob — five 64-bit QWORDs in little-endian format. Within each 8-byte point, the lower 32 bits hold the actual value in 16.16 fixed-point format: the first 2 bytes are the fractional part and the next 2 bytes are the integer part. The upper 32 bits (the last 4 bytes) are always 00,00,00,00.

Why always zero? You would only see non-zero bytes there if the integer part of a curve point reached 65,536 or higher — which would overflow the 16-bit integer portion of the 16.16 format. The Windows mouse Movement curve (Windows mouse ballistics code) which Windows haven't changed since XP, is built around 16.16 fixed-point math. Mouse curve points never come close to that, so the high 4 bytes always stay zero. In practice, when editing or creating a custom curve, you only ever need to touch the first 4 bytes of each 8-byte group.

Here's what each pair represents:

  1. SmoothMouseXCurve - mouse movement speed (input).
  2. SmoothMouseYCurve - the corresponding pointer movement speed (output).

The default registry keys for Windows 10, 11 mouse acceleration are

Default Windows 10/11 registry values
TEXT
"SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,15,6e,00,00,00,00,00,00,00,40,01,00,00,00,00,00,29,dc,03,00,00,00,00,00,00,00,28,00,00,00,00,00
"SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00,fd,11,01,00,00,00,00,00,00,24,04,00,00,00,00,00,00,fc,12,00,00,00,00,00,00,c0,bb,01,00,00,00,00

Let's break down the SmoothMouseXCurve registry and put each point on its own line:

SmoothMouseXCurve point breakdown
TEXT
00,00,00,00,00,00,00,00
15,6e,00,00,00,00,00,00
00,40,01,00,00,00,00,00
29,dc,03,00,00,00,00,00
00,00,28,00,00,00,00,00

As you can see, same as in the tool above we have five points on the x-axis of the acceleration curve graph. Remember, the x-axis corresponds to the physical movement of the mouse. The first 2 bytes of each row are the fractional part, the next 2 bytes are the integer part, and the last 4 bytes are always 00,00,00,00 those are the upper 32 bits of the 64-bit QWORD. Sometimes these are referred to as padding, and this works fine if you know what they are, but that's the actual explanation if you ever wonder what these zeros actually are.

Hex of Decimal
Hex of Integer
Decimal
Integer
Point Value
00,00
00,00
0
0
0.0
15,6e
00,00
43
0
0.43
00,40
01,00
25
1
1.25
29,dc
03,00
86
3
3.86
00,00
28,00
0
40
40.0

Now, to get the point value, we will need to transform the hexadecimal value into a decimal value and Combine it into a curve point. The tool above starts from the default Windows 11 values, which are the same as in Windows 10, When you use the tool you can create your own custom mouse curve which fits uniquely to your environment.

Let's start preparing to assign a custom mouse acceleration curve to our mouse.

Backing Up the Registry Keys

Before making any changes to your registry, it's crucial to back up the original SmoothMouseXCurve and SmoothMouseYCurve registry values. This allows you to restore the original settings if something goes wrong.

  1. Open the Registry Editor as described in the "Where can you find them?" section, and get to the SmoothMouseXCurve and SmoothMouseYCurve registry keys as described there.
  2. To back up the entire "Mouse" key, which includes both SmoothMouseXCurve and SmoothMouseYCurve:
  • Right-click on the "Mouse" folder in the left pane.
  • Select "Export".
  • Choose a location on your computer to save the file.
  • Name it something like "Mouse_Settings_Backup.reg" and click "Save".

Now, if something goes wrong, restoring the original keys is easy, all you need to do is double-click this file and approve it to restore your original settings.

Applying Your Custom Mouse Acceleration Curve

Now that you've created a custom mouse acceleration curve using the tool, it's time to apply it to your system. The tool will output two registry keys that represent your custom curve. They will look something like this:

Generated curve example
TEXT
"SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,15,6e,00,00,00,00,00,00,00,40,01,00,00,00,00,00,29,dc,03,00,00,00,00,00,00,00,28,00,00,00,00,00
"SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00,fd,11,01,00,00,00,00,00,00,24,04,00,00,00,00,00,00,fc,12,00,00,00,00,00,00,c0,bb,01,00,00,00,00

Follow these steps to apply your new custom curve:

  1. Create a duplicate of your backup file: Copy the "Mouse_Settings_Backup.reg" file you created earlier and rename the copy to "my_new_mouse_curve.reg".
  2. Edit the new file:
  • Right-click on "my_new_mouse_curve.reg" and select "Edit".
  • Remove all unnecessary keys from the file, leaving only the SmoothMouseXCurve and SmoothMouseYCurve entries.
  • Replace these entries with the ones generated by the tool.
  • Save the file.

After performing these edits, your "my_new_mouse_curve.reg" file should look something like this:

Example .reg file
TEXT
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]
"SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,00,80,00,00,00,00,00,00,cc,cc,00,00,00,00,00,00,99,19,01,00,00,00,00,00,00,80,01,00,00,00,00,00
"SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00,33,33,01,00,00,00,00,00,66,e6,01,00,00,00,00,00,00,00,04,00,00,00,00,00,00,80,09,00,00,00,00,00

Apply the new curve:

  1. Double-click the "my_new_mouse_curve.reg" file.
  2. Confirm any security prompts that appear.
  3. Click "Yes" to add the information to the registry.

Important Note: The changes will only take effect after you log out and log back into your user account. You may need to restart your computer for the changes to be fully applied.

By following these steps, you've successfully applied your custom mouse acceleration curve. Enjoy your newly customized mouse movement!