What is windows mouse acceleration

Windows Mouse Things

Investigations into Windows mouse behaviour.

Sunday, April 4, 2010

The MarkC Windows 10 + 8.1 + 8 + 7 + Vista + XP Mouse Acceleration Fix Builder

The ‘MarkC Windows 10 + 8.1 + 8 + 7 + Vista + XP Mouse Acceleration Fix Builder’ is available for download from this link:
MarkC_Windows_10+8.x+7+Vista+XP_MouseFix_Builder_2.6.zip @ onedrive

What is it?

It is a VBS script program that creates a registry .REG file that removes Windows’ mouse acceleration, or emulates Windows 2000 or Windows 98/95 acceleration.

Fix Builder can build .REG files for Windows 10 or 8.1 or 8 or 7 or Vista or XP.

The registry fix created works like the CPL and Cheese and MarkC fixes, but is customized for your specific desktop display text size (DPI), your specific mouse pointer speed slider setting, your specific refresh rate and has any in-game pointer scaling/sensitivity factor you want (see note).

Fix Builder can create a fix that emulates Windows 2000 or Windows 98/95 acceleration.

WARNING:
On Windows 10 x64, when using fixes that emulate Windows 2000 or Windows 9X acceleration, only fixes with a single threshold can be used.
Using a 2 threshold emulation fix will cause BugChecks / Blue Screen of Death (BSOD)!

For older games that turn acceleration on, it gives the same response as position 6/11 does , without having to move the pointer speed slider to 6/11.
(Yeah, I know : «Whoop-de-do. «)

Exactly 1-to-1 means no discarded or delayed mouse input while game playing.

Other Registry fixes need the pointer speed slider set to 6/11 (middle) to get exactly 1-to-1 in-game mouse to pointer response, but this script can create a registry fix that gives exact 1-to-1 in-game response for non-6/11 settings.

Other registry fixes only provide files for some pre-defined display DPI values: 100%, 125%. but this script can create a fix for any DPI setting.

The Cheese registry fixes only provides files for some pre-defined monitor refresh rate values: 60Hz, 70Hz, but this script can create a fix for any refresh rate setting.

Fix Builder can create a fix with any in-game mouse-to-pointer scaling factor you want (see note).

NOTE: ALL registry based mouse fixes, INCLUDING this one, ONLY work when the
Control Panel > Mouse > ‘Enhance pointer precision’ option is ON (OR when an older game forces ‘Enhance pointer precision’ to ON), AND your game does not use DirectInput and does not use Raw Input for mouse input.

Eh? What is it again?

A mostly pointless sledgehammer solution to the problem of having to change your Control Panel > Mouse > pointer speed slider to 6/11 before you play an older game that needs a registry fix so you can avoid at most a single pixel of discarded or delayed mouse input while game playing.

A way to emulate Windows 2000 or Windows 98/95 acceleration.

An interesting programming exercise!

How do you use it?

  • In Windows Explorer, double-click MarkC_Windows_10+8+7+Vista+XP_MouseFix_Builder.vbs,
    or double-click MarkC_Windows_10+8+7+Vista+XP_MouseFix_Builder.CMD.

Verify or edit the suggested settings, clicking OK as you go.

Add/Merge the created fix to the registry.
(See below for non-Administrator account use.)

Reboot or Log off to apply the fix (you have to reboot or Log off).

If you don’t use the mouse pointer speed slider set to 6/11, and you do want exact 1-to-1 in-game, then configure your game so that it enables control panel ‘Enhance pointer precision’.
If you want Windows 2000+98+95 acceleration in-game, then configure your game so that it enables control panel ‘Enhance pointer precision’.
(For example, in Counter-Strike: Source and other Source games, do use and don’t use . In Half-Life, CounterStrike 1.6, don’t use or .)

  • Enjoy exactly 1-to-1 mouse to pointer response for your custom desktop settings!
    (Or enjoy Windows 2000-like or Windows 98/95-like acceleration!)
    (If you applied one of the Windows 2000 or Windows 98/95 Acceleration fixes, then ‘Enhance pointer precision’ must be checked ON to enable it.)
  • Why do you need a fix?

    Some older games turn Windows mouse acceleration on when you don’t want them to. See here for more details.

    You prefer the mouse acceleration that Windows 2000 or Windows 98/95 had.

    How does the fix work?

    The current system is queried, and you can change the values and tune the registry fix file created.
    The result is saved to a file and can optionally be imported into the registry.

    Читайте также:  Ошибка превышение времени ожидания windows

    The script asks for:

    • Operating system that the fix will be used for.
    • The desktop Control Panel, Display, text size (DPI) that will be used.
    • The in-game monitor refresh rate that will be used (XP and Vista only).
    • The Control Panel, Mouse, pointer speed slider position that will be used.
    • Windows-2000+98+95-style acceleration thresholds (optional).
    • The pointer speed scaling (sensitivity) factor for that pointer speed setting.
    • Where you want to save the fix to and what name.

    It creates a registry .reg file with the settings entered, and optionally lets you merge / apply it into the registry.

    How do you know the fix is working?

    You can test if it is working by temporarily turning on the ‘Enhance pointer precision’ feature and see how the mouse responds.
    (NOTE: Unless you applied one of the Windows 2000 or Windows 98/95 Acceleration fixes, only turn ‘Enhance pointer precision’ on for testing: it should normally be set OFF.)

    If you have ‘Enhance pointer precision’ OFF, then the fix will not be active (but it will be waiting to be activated when needed).
    Just as some games turn it on when you don’t want them to, we can turn it on manually to test that the fix is working properly.

      Go to Control Panel, and select Hardware and Sound, then click Mouse. Select ‘Pointer options’ and check-ON/enable the ‘Enhance pointer precision’ option.

    See how the mouse responds.

    If you want, you can run the MouseMovementRecorder.exe program that is included in the ZIP file to see that the mouse and pointer movements are 1-to-1 and always the same (or are whatever custom scaling you entered).
    (The numbers in the MOUSE MOVEMENT column should be the same as the numbers in the POINTER MOVEMENT column. Any differences will appear in green or red.
    If you do see differences, also test with ‘Enhance pointer precision’ OFF, in case the problem is with Windows or MouseMovementRecorder.exe rather than a problem with the fix:
    — Press the A key on the keyboard while MouseMovementRecorder is running until EnPtPr Accel is Off.
    — When EnPtPr Accel is OFF, if there is a lot of red and green, press the ‘+’ key on the keyboard and move the mouse.
    — Repeat ‘+’ and move the mouse until most of the red and green disappears.
    — Press the A key on the keyboard to toggle EnPtPr Accel and move the mouse.
    — If the amount of red and green is roughly the same when EnPtPr Accel is ON as when EnPtPr Accel is Off, then the fix is working.)
    (NOTE: If you use Windows 10, & scaling of items is not 100%, see below.)
    (NOTE: If you use Windows 8.1 and have too much green and red, see below.)
    (NOTE: While running a game, you may see many red and green lines.
    Games that need a fix usually frequently re-position the pointer and this confuses MouseMovementRecorder.exe but DOES NOT mean acceleration.

    See http://www.esreality.com/?a=post&id=1846538#pid1927879 — scroll to ‘Comment&nbsp#271’. )

    If you have built a Windows 2000 or Windows 9X fix, you should see that acceleration varies depending upon how fast the mouse is, compared to the thresholds, but is linear (a constant sensitivity) between thresholds.
    (NOTE: See file !Threshold_Acceleration_ReadMe.txt in the ZIP file for more info.)

  • Turn the ‘Enhance pointer precision’ option OFF when you have finished testing.
    (If you applied one of the Windows 2000 or Windows 98/95 Acceleration fixes, then leave ‘Enhance pointer precision’ checked ON to enable it.)
  • How do you know the fix is giving exact 1-to-1 when playing your game?

    If you don’t use the mouse pointer speed slider set to 6/11, and you do want exact 1-to-1 in-game, then you must configure your game so that it enables control panel ‘Enhance pointer precision’.

    You can test your game to see if it turns ‘Enhance pointer precision’ ON, and gets exact 1-to-1.

    • Turn the ‘Enhance pointer precision’ option OFF,
    • Run Mouse Movement Recorder (included in the ZIP file),
    • Run your game (aim at something!) and look at the ‘EnPtPr’ column footer at the bottom of the Mouse Movement Recorder window.
      If it is displayed with a red background then the game has turned acceleration ON and will have exact 1-to-1.

    How do you remove it?

    • Open the ZIP file at the link above.
    • If you use Windows 7 or Vista or XP:
      Select ‘Windows_7+Vista+XP_Default.reg’ and Double-click it.
    • If you use Windows 8 or Windows 8.1 or Windows 10:
      Select ‘Windows_10+8.x_Default.reg’ and Double-click it.
    • Answer Yes, OK to the prompts that appear.
    • Reboot or Log off.

    I use Windows 10 and scaling of text, apps and other items is not 100%

    In later versions of Windows 10, Microsoft changed how the mouse pointer is moved in response to mouse input, when scaling of text, apps and other items is not 100%, and Enhance pointer precision is OFF.

    Mouse pointer movements when Enhance pointer precision is OFF, are now scaled according to the per-monitor scaling of items setting.

    Читайте также:  Smart board драйвер для windows

    When Enhance pointer precision is OFF, and the Control Panel pointer speed slider is set to 6/11, MouseMovementRecorder will not show all-black, exact 1-to-1, but instead Pointer Movement will be multiplied by the same scaling factor applied to text, apps and other items.

    Games may also see this difference, or not, depending on their «DPI Awareness».

    I use Windows 8.1 and see too much green and/or red in MouseMovementRecorder

    Windows 8.1 introduced changes to mouse input processing to reduce power used and improve battery life:
    Windows 8.1 delays and coalesces (merges) mouse input for programs, causing the effective mouse polling rate to be as low as 62 Hz in some cases (even for gaming mice with a higher polling rate).

    This new processing can affect some games (games that don’t use Raw Input and don’t use DirectInput). Microsoft have a December 2013 Windows Update Rollup that includes a fix for those games, which will be automatically installed when you have Windows Update set to install updates automatically.
    (See here: KB2908279 Mouse pointer stutters or freezes when you play certain games in Windows 8.1.)

    The new processing can also affect MouseMovementRecorder and cause it to show red and green (with the mouse delays, MouseMovementRecorder sees a mouse movement from DirectInput, but doesn’t see the pointer move until MUCH MUCH later and can’t figure out what’s going on and displays red and green).

    If the KB2908279 update fix is installed, MouseMovementRecorder will activate it
    to give more responsive mouse pointer movement and stop the red and green.

    Otherwise, while running MouseMovementRecorder, select it and press the ‘+’ key
    on the keyboard a until the red and green stops.

    If Control Panel, Appearance and Personalization, Display shows a ‘Smaller. Larger’ slider, high DPI monitors might need a custom size and/or a fix-builder fix to get exact 1-to-1.
    See this blog article:
    Windows 8.1 DPI Scaling Enhancements @ Extreme Windows Blog
    The new multi-monitor DPI scaling in Windows 8.1 is a good thing if you have multiple monitors with different pixels-per-inch values, BUT it might make it harder to find the correct Item Size percentage when choosing which MarkC fix to use to get exact 1-to-1.
    Try clicking the ‘Let me choose one scaling level for all my displays’ checkbox and then find the percentage needed so that your main (gaming) monitor looks the same as it did when using the ‘Smaller. Larger’ slider (this may require some reboots).
    When you have the right percentage value, click ‘. one scaling level. ‘ OFF (so that you get the benefit of the new Multi-monitor DPI scaling — if you need it) and use the percentage value to choose which fix you need, or to create a Fix-Builder fix.

    Loading the fix with a non-administrator account

    When adding the mouse acceleration fix to the registry, you may get one of these error messages:

    «Cannot import (filename).reg: Not all data was successfully written to the registry.»

    «Part of the mouse acceleration fix can’t be applied, because you are not logged in as an Administrator.»

    This error happens because part of the fix turns off acceleration for the Welcome screen (the log on screen).
    If you use the Welcome screen (or the Windows Log in dialog) and acceleration is NOT turned off for the Welcome screen, then the MarkC fixes have a 1 pixel /1 mouse count error when the mouse changes direction left/right or up/down.

    You can remove this 1 mouse count error by any of these methods:

    Glossary:Mouse acceleration

    Mouse acceleration is often confused with mouse smoothing although these two are very different things:

    Unfortunately developers are using these terms very loosely so in one game smoothing can mean acceleration, in another some completely different system for enhancing mouse movement.

    Contents

    Mouse smoothing [ edit ]

    Mouse smoothing is the interpolation of raw input data from the mouse in order to prevent jerky movement in low resolution mice. The technique was originally created for opto-mechanical mice (more commonly know as ball mice) as these mice did not have a very high resolution (usually up to 400 DPI) so cursor movement appeared jerky — the cursor jumped few pixels each time. To prevent the jerky cursor movement mouse smoothing was introduced which allowed the system to interpolate raw data from the mouse and creating additional data points so the final mouse movement on the screen would be smoothed out.

    This feature should not exist today as every mouse on the market has at least 800 DPI resolution, however it is still used in some games and some mouse manufacturers are using it to further increase the perceived DPI. Unfortunately is not easily detectable apart from mouse movement feeling weird.

    Mouse acceleration [ edit ]

    Mouse acceleration is a different system to enhance mouse movement. Distance of the cursor on the screen is highly dependent on the speed which mouse is moved. For example, a user moves their mouse 5 cm in 5 seconds and the cursor travels 200 pixels across the screen. With acceleration, if the mouse is moved by the same 5 cm but in 1 second, the cursor travels 1000 pixels — five times the distance of the slower movement.

    Читайте также:  Как убрать линукс с компьютера

    This behaviour can be beneficial in desktop environment where you’d need low speeds for precision task (image editing) and simultaneously fast speeds for quickly moving cursor to the different parts of the screen. However it is highly undesirable in any game, where you are often in control of a camera. Every game will have different acceleration setting and it is impossible to achieve any consistent behaviour.

    How to detect mouse acceleration in game [ edit ]

    It is very easy to spot mouse acceleration in-game, as usually very fast mouse movement will result in several 360° rotations of the player’s character. Follow the guide below to find out whether a game uses acceleration:

    Mouse acceleration detection in FPS/TPS games [1]

    1. Launch the game and find a quiet area.
    2. Move the crosshair to a specific spot — edge of a building, distant window etc. This will be the starting point.
    3. Put a hand on the mousepad on one side of the mouse to create a barrier.
    4. Move the mouse slowly from the hand and create 90° or 180° rotation in-game. This movement should take more than 2 seconds.
    5. Now move the mouse back to the default position marked by the hand as fast as possible.
    6. If the crosshair ended up roughly on the same spot, the game does not feature acceleration. Usually when games use acceleration, the crosshair will end up on a vastly different location.

    Types of mouse acceleration [ edit ]

    There are two basic types of mouse acceleration: positive acceleration and negative acceleration.

    Positive mouse acceleration [ edit ]

    Positive mouse acceleration means that faster you are moving your mouse, farther cursor will travel on the screen. This is the most common implementation and you can find it in Windows (under Enhance pointer precision) and in many games. Some games let you even tweak strength of acceleration.

    Negative mouse acceleration [ edit ]

    Exactly opposite behavior — faster your mouse is moving, less distance cursor will travel. This is undesirable behavior and could indicate some sort of input or performance problem as game is dropping mouse input data, but more commonly mouse control implementation is botched and not tested properly. Examples are Dunia engine based games like Far Cry 3 or Far Cry 3 — Blood Dragon where you need to increase polling rate within game data files.

    Combination of positive and negative mouse acceleration [ edit ]

    Rarely you can also encounter a combination of these two (example Remember Me, Watch_Dogs), where the game practically ignores low speed mouse movements and camera just staying still. Positive acceleration is applied to medium speed movements and there is also strong negative acceleration to high speed mouse movements.

    Recommendations [ edit ]

    While the setting is a personal choice, it is recommend that you disable mouse acceleration to provide a more consistent aim in more competitive titles. While playing without mouse acceleration may initially be difficult for players used to playing with it, after playing without it for some time most players become used to it, and often may see an improvement in the precision of their aim.

    There are also ways to customize the acceleration levels of the mouse. [2]

    If you want to be able to move the mouse around the screen with fewer swipes without enabling mouse acceleration, it is recommend that you pickup a gaming mouse with a high DPI sensor. This allows for the ability to move the cursor farther while keeping the cursor movement consistent.

    Also it is almost impossible to achieve the same acceleration setting between different games as games rarely let users tweak acceleration strength.

    The best option is to always use raw mouse input although not many game supports this feature. Raw input means the game is taking unchanged data directly from mouse drivers before it goes through operating system enhancements.

    Issues fixed [ edit ]

    Mouse lag in Windows 8.1 [ edit ]

    With Windows 8.1 Microsoft introduced new DPI scaling enhancements. [3] which is causing mouse lag and strange mouse behavior in games. [4] [5] [6]

    Download Windows 8.1 update (KB2908279)
    1. Microsoft has fixed this issue in update (KB2908279)
    Disable DPI scalling [4][6]
    1. Navigate to the game executable, right click on it and select properties.
    2. Navigate to the compatibility tab.
    3. Check Run this program in compatibility mode for and select Windows 8 .
    4. Check Disable scaling on high DPI settings .
    5. Click OK to close the window.
    Registry fix [citation needed]
    1. Download The MarkC Windows 8.1 + 8 + 7 Mouse Acceleration Fix.
    2. Set up your display DPI.
    3. Extract downloaded archive.
    4. Find corresponding .REG file for your system and DPI setting and run it.
    5. Reboot or log off to apply the fix.

    Note: This will completely disable mouse acceleration for your system even in desktop environment.

    Windows smooth mouse even if you disable pointer precision [ edit ]

    Completely disable mouse smoothing [7]

    1. Open regedit
    2. Go to HKEY_CURRENT_USER \Control Panel\Mouse
    3. Edit SmoothMouseXCurve hex value like below and save

    4. Edit SmoothMouseYCurve hex value like below and save

    Оцените статью