Precision touchpad tuning

There are several approaches an OEM can take to adjust the default touchpad experience on their Windows-based device. The default values meet the needs of most users, so they should only be adjusted if they don't provide the specific experience that the OEM wants (and in the case of HorizontalOffset / SpaceBarOffset, which should always be set).

Be aware that serious problems can occur if the registry is modified incorrectly. Ensure these steps are followed carefully. For additional protection, back up the registry before modification. See How to back up and restore the registry in Windows.

The tunable registry values described below are all located in the touchpad device's HKR hardware key:

On versions of Windows prior to version 1903, only the global location was supported. The default global location is:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad

On Windows, version 1903 and later, each of the registry values in this guide is checked for under the HKR key first, and then under the HKEY_LOCAL_MACHINE key next. This enables the ability to override defaults from the HKR location on a per-value basis.

Accidental Activation Prevention

AAP is a feature of Precision Touchpads that suppresses certain actions like mouse moves and taps for a short time after keyboarding events. The specific timeouts depend on the type of action and the region of the touchpad receiving input, as well as the user setting called Touchpad sensitivity found in Touchpad settings. More sensitive means less time is spent suppressing input after keyboarding events. Maximum sensitivity means AAP timeouts are zero and AAP is not in effect.

An image showing the AAP setting available options in the Settings App

Tunable parameters

Windows defines two classes of "Curtain" regions on the touchpad to help prevent accidental input when users are resting their hands on the keyboard or touchpad during normal use. This splits the touchpad into three regions:

  • High sensitivity region: input suppression is minimal in this region
  • Curtain region: input may be suppressed for some time in this region
  • Supercurtain region: certain kinds of input like taps are almost always suppressed when the input originates with this region

Even when specifying curtain sizes explicitly, it is strongly recommended to provide the physical touchpad positioning information via SpaceBarOffset and HorizontalOffset. This is necessary for Windows to make decisions around a consistent and predictable user experience when switching between keyboarding and pointing. For more information, see the Windows Precision Touchpad Device Integration guide.

Curtains

If the three values CurtainLeft, CurtainRight, and CurtainTop are found, Curtains will be constructed using these as distances from the respective edges. If all three of these values are not found, the legacy configuration (see Legacy Curtains below) will be used next, followed by defaults.

Registry Value Type Units Range Default Availablity
CurtainTop DWORD Himetric 0+ 0 Windows 10, version 1903+
CurtainLeft DWORD Himetric 0+ 0 Windows 10, version 1903+
CurtainRight DWORD Himetric 0+ 0 Windows 10, version 1903+
CurtainBottom (Optional) DWORD Himetric 0+ 0 Windows 10, version 1903+

Curtains (Implicit)

The legacy algorithm for configuring curtains changes curtain sizes depending on the vertical location of touchpad event, and isn't as flexible for customization. Going forward, it is recommended that only SpaceBarOffset and HorizontalOffset values be set, and curtains be otherwise configured through CurtainTop...etc. described above.

An image showing the resizable sensitivity regions on a touchpad

The high sensnistivy region is intended to stay responsive even during or immediately after keybaord use

The width of the region on either side of the center line (Zone Width in the diagram above) is defined as:

SpacebarOffset + AAPNonCurtainBaseWidth

Note that this means the total width of the region is twice this value. SpacebarOffset is taken into account for the region, since proximity to the keyboard increases risk of palm contact.

The height of the region is defined in relation to the space bar and stretches to the bottom of the touchpad. Distance to the top of the zone is defined as:

AAPNonCurtainTop - SpaceBarOffset

Registry Value Type Units Range Default Availablity
SpaceBarOffset DWORD Himetric 0+ 1000 Windows 8.1 +
HorizontalOffset DWORD Himetric Any 0 Windows 8.1 - Windows 10, version 1511 for 0+ range, Windows 10, version 1511+ for any range
HorizontalOffsetIsNeg DWORD Himetric 0-1 0 Windows 8.1 +, deprecated in Windows 10, version 1511
AAPNonCurtainTop DWORD Himetric 0+ 1500 Windows 10, version 1607+
AAPNonCurtainBaseWidth DWORD Himetric 0+ 1500 Windows 10, version 1607+

Super Curtains

The restricted sensitivity zone is the lowest sensitivity region of the touchpad. It is designed for the region of the touchpad where users would not leave fingers during intentional use. Note these are very small by default and should only be widened for very large devices.

An image showing the restricted sensitivity zone on a touchpad

The top, left, and right zones' sizes are defined independently as a distance from their respective edge. They use the registry keys shown in the following table.

Registry Value Type Units Range Default Availablity
SuperCurtainTop DWORD Himetric 0+ 100 Windows 10, version 1511+
SuperCurtainLeft DWORD Himetric 0+ 100 Windows 10, version 1511+
SuperCurtainRight DWORD Himetric 0+ 100 Windows 10, version 1511+
SuperCurtainBottom DWORD Himetric 0+ 100 Windows 10, version 1903+

Right-click zone

The following registry values allow the configuration of the right click zone. The height is expressed by RightClickZoneHeight as a percentage of the height of the entire touchpad measured from the bottom edge. RightClickZoneWidth is also a percentage of the width, measured from the right edge in right-handed, and the left edge in left-handed configurations when the swap mouse buttons option is enabled.

Registry Value Type Units Range Default Availablity
RightClickZoneHeight DWORD Percent 1-100 25 Windows 10, version 1507+
RightClickZoneWidth DWORD Percent 1-100 50 Windows 10, version 1507+

Haptic intensity default value

OEMs are capable of changing the default haptic intensity value for a haptic enabled Precision Touchpad, by editing the following registry key:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\FeedbackIntensity

To ensure a great user experience, haptic feedback should be enabled by default. Therefore, the allowable values for FeedbackIntensity are 25, 50, 75, and 100, with a default value of 50.

Registry Value Type Units Range Default Availablity
FeedbackIntensity DWORD Percent 25-100 (increments of 25) 50 Windows 11

Note

To ensure that haptic feedback is enabled by default, the FeedbackEnabled registry value should remain set to 1.

Suppressing Accidental Activation Protection

Setting the following key is equivalent to the user choosing "Most sensitive", which disables AAP. When this key is set, the Touchpad sensitivity setting in Windows Settings (shown above) has no effect.

Registry Value Type Units Range Default Availablity
AAPDisabled DWORD n/a 0-1 0 Windows 10, version 1511+

Modifying cursor speed

OEMs are capable of changing the default cursor speed by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\CursorSpeed

Note that the valid range of values for the key is 0 to 20, with a default value of 10.

This value is halved to determine the cursor speed notch in the settings page. This lets you add more granular speed options in the future if needed. The default cursor speed is selected according to Fitts' law as the speed that makes target acquisition most efficient. The cursor speed is also changeable by users through the settings page, not just the registry. The registry changes described above only change the default speed for new users.

Detecting keyboard mouse collection as a non-mouse

Windows provides a registry setting that lets you exempt specific devices. This can be found in: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\IgnoredExternalMice

Structuring this key is similar to forcing a legacy touchpad to show up (See Legacy touchpad forced detection ) for more details.

Two-finger scrolling speed

Windows currently does not provide a way to modify the Precision Touchpad (PTP) two-finger scrolling speed.

The Vertical Scrolling Speed setting in the classic Control Panel will not impact the PTP two-finger scrolling.