How To Customize Mouse Acceleration in Windows 11, 10, SmoothMouseXCurve and SmoothMouseYCurve
by Yaron Elharar (@YaronElharar)
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
Customize Your Mouse Acceleration Curve | ||
---|---|---|
Coordinates | X Axis | Y Axis |
Curve Point 1 | ||
Curve Point 2 | ||
Curve Point 3 | ||
Curve Point 4 | ||
Curve Point 5 |
* When you start customizing your curve, you'll see a gray line, which is a reference of the default mouse acceleration curve built into Windows 10 and 11.
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
- Click on the Start menu and type “Registry Editor” (without quotes).
- Click on the “Registry Editor” app in the search results to open it.
- In the Registry Editor, navigate to the following path by expanding the folders in the left pane:
HKEY_CURRENT_USER\Control Panel\Mouse
- Look for the keys named “SmoothMouseXCurve” and “SmoothMouseYCurve” in the right pane.
Method 2: Search from root
- Open the Registry Editor as described in steps 1-2 above.
- Click on “Computer” at the very top of the left pane to ensure you’re at the root.
- Press Ctrl+F or click Edit > Find from the menu.
- Type “SmoothMouseXCurve” or “SmoothMouseYCurve” (without quotes) in the search box and click “Find Next”.
- 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 pairs of values, and each pair is made up of two 32-bit values stored in little-endian format. This means the bytes are arranged in reverse order, which can look confusing at first glance. Here’s what each pair represents:
- SmoothMouseXCurve – mouse movement speed (input).
- SmoothMouseYCurve – the corresponding pointer movement speed (output).
The default registry keys for Windows 10, 11 mouse acceleration are
"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.
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 4 bits represent the decimal portion of the number, and the second 4 bits represent the integer.
Hex of Decimal | Hex of Integer | Decimal | Integer | Point Value |
---|---|---|---|---|
00,00,00,00 | 00,00,00,00 | 0 | 0 | 0.0 |
15,6e,00,00 | 00,00,00,00 | 43 | 0 | 0.43 |
00,40,01,00 | 00,00,00,00 | 25 | 1 | 1.25 |
29,dc,03,00 | 00,00,00,00 | 86 | 3 | 3.86 |
00,00,28,00 | 00,00,00,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 10 values and lets you set your own custom values for the mouse acceleration curve and test them out on your own machine. Note that this registry key is exactly the same for Windows 11 as well.
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. Here’s how to do it:
- 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. - 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:
"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:
- 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”.
- 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:
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:
- Double-click the “my_new_mouse_curve.reg” file.
- Confirm any security prompts that appear.
- 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!