- Article
- 8 minutes to read
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 both always be set).
Note
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:
- Introduction to registry keys for drivers
- Device Driver INF AddReg Directive
- Opening a Device's Hardware Key
HKEY_LOCAL_MACHINE (HKLM)
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 are 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.
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.
The high sensitivity 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.
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+ |
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.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\AAPDisabled
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
AAPDisabled | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
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 be enabled. See legacy touchpad forced detection for more details.
HKEY_CURRENT_USER (HKCU)
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.
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
.
"Taps" section
Windows provides the ability to modify setting with the Taps section of Touchpad settings.
Tap And Drag
OEMs are capable of changing the Tap and Drag behavior by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\TapAndDrag
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
TapAndDrag | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, a double tap followed by a drag will multi-select.
Taps Enabled
OEMs are capable of changing the default behavior for enabling taps on a touchpad by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\TapsEnabled
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
TapsEnabled | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, a single finger tap will register a single finger click event.
Two Finger Tap Enabled
OEMs are capable of changing the default cursor speed by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\TwoFingerTapEnabled
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
TwoFingerTapEnabled | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, a two finger tap will register a right-click event.
Windows provides the ability to modify settings with the Scroll & zoom section of Touchpad settings.
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 setting.
Pan Enabled
OEMs are capable of changing the default pan behavior by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\PanEnabled
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
PanEnabled | DWORD | n/a | 0-1 | 1 | Windows 10, version 1511+ |
By setting the value to 1
, a two-finger scrolling motion will move the screen up or down, depending on the currently set scroll direction.
Scroll Direction
OEMs are capable of changing the default scroll direction by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\ScrollDirection
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
ScrollDirection | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, a two-finger down motion will scroll down.This registry value corresponds to Scrolling direction in the Settings App.
Zoom Enabled
OEMs are capable of changing the default behavior for enabling zoom by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\ZoomEnabled
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
ZoomEnabled | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, a pinching motion will zoom content correspondingly. This registry value corresponds to Pinch to zoom in the Settings App.
Mouse Acceleration Settings
OEMs are capable of changing the mouse acceleration setting by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\HonorMouseAccelSetting
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
HonorMouseAccelSetting | DWORD | n/a | 0-1 | 0 | Windows 10, version 1511+ |
By setting the value to 1
, cursor acceleration will be disabled.
Leave on With Mouse
OEMs are capable of changing the setting dictating if the touchpad stays on when a mouse is connected by editing the following registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PrecisionTouchPad\LeaveOnWithMouse
Registry Value | Type | Units | Range | Default | Availablity |
---|---|---|---|---|---|
LeaveOnWithMouse | DWORD | n/a | 0-1 | 1 | Windows 10, version 1511+ |
By setting the value to 1
, the touchpad will remain enabled when a mouse is connected.
FAQs
How do I calibrate my touchpad? ›
To force a recalibration of the touchpad, you perform what we call the four finger salute. Press all four keys at the corners of the keyboard at the same time, pressing the "fn" key last, while keeping your fingers off the touchpad.
Is there a way to configure touchpad? ›Change the touchpad settings
You can change touchpad settings to turn the touchpad on and off, reverse scrolling direction, turn gestures on and off, and more. Attach your Surface to its keyboard or Type Cover. On Windows 10, go to Start > Settings > Devices > Touchpad.
Open the Settings menu by pressing the Windows key, + I. Click on Devices. On the Devices screen, select Touchpad in the left-hand column. If your laptop has a precision touchpad, you can use the slider marked Change the cursor speed on the right.
Why is my touchpad not accurate? ›If the touchpad device is not working correctly, you can try updating the drivers. Click the Change settings button, click the Driver tab, then click the Update Driver button. Click the Search automatically option to allow Windows to look for an updated driver on the computer and the Internet.
How do I fix my inaccurate touchpad? ›If your touchpad isn't working, it may be a result of a missing or out-of-date driver. Updating or reinstalling your touchpad drivers in Device Manager may help solve the problem. To open Device Manager, enter device manager in Search on the taskbar, then select Device Manager.
How do I Calibrate my touchpad Windows 10? ›To get started, open the Control Panel and select Tablet PC Settings. Or, hit the Windows key and type: calibrate and select the “Calibrate the screen for pen or touch input” result at the top. It will have two tabs if you only have a touchscreen, but if you have configured a pen device, you will have three tabs.
How do I change my pointer precision? ›- Click Windows Start button and type control panel.
- Click on the Control Panel app.
- Click on Mouse.
- Select Pointer Options tab.
- Untick the Enhance pointer precision checkbox.
- Click OK.
Precision Touchpads are a step up from the standard PC touchpads you'll find on most older laptops. Instead of your finger input being handled by various drivers, the input on Precision-grade touchpads is handled by Windows itself. Precision pads allow for more accuracy and some handy multi-touch gestures.