Windows Hello fingerprint authentication

Starting with Windows 10, version 19H1, Windows supports a new enrollment experience for fingerprint. This change provides an intuitive experience that makes enrollment easier for users. Windows 10 provides this new experience regardless of device type or sensor.

The new experience consumes information about a sensor to provide enhanced instructions. This information must be provided by an OEM or IHV in the form of registry keys that can be written by the sensor driver.

Sensor information for enhanced instructions

Windows uses the fingerprint sensor information to identify whether to load specific graphical and textual instructions during the fingerprint enrollment experience. The information that manufacturers can provide is:

  • The location of the sensor on the device.
  • The shape of the sensor.
  • Whether the sensor is also mapped to another button.

Windows may not consume all of the information provided in the first implementation.

Format of Sensor Information

Registry path

The information about a fingerprint sensor must be written to the following registry path by the sensor driver package:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WbioSrvc\Service Providers\Fingerprint\Sensor Layout\<Hardware ID for sensor>

Note

The Hardware ID must be scrubbed to remove any backslashes before it can be used as a registry key name. Any backslashes should be replaced with a single blank space.

Registry values

The actual sensor information will be written as REG_DWORDs to the path shown above. These registry values will be decimals that correspond to specific sensor characteristics. The names of the registry values that can be provided are the following:

  • location
  • shape
  • powerbutton
  • startbutton

The following values and their mappings are defined for these categories:

location

Value Mapping
0 Not Specified
1 Device front
2 Device back
3 Left side
4 Right side
5 Device Top
6 External Sensor
7 Dual screen right
8 Keyboard Top Row Right First Key
9 Keyboard Top Row Right Second Key
10 Keyboard Bottom Row Any Key
11 Keyboard Unspecified Key

shape

Value Mapping
0 Not Specified
1 Square
2 Rectangle
3 Circle
4 Oval

powerbutton

Value Mapping
0 No
1 Yes

startbutton

Value Mapping
0 No
1 Yes

Default Values

  • Location: Not Specified (0)
  • Shape: Not Specified (0)
  • Power Button: No (0)
  • Start Button: No (0)

Sample keyboard layouts

The following images illustrate the use of the registry values to models of keyboards.

Sensor on the Top Right Keyboard Power Button

OEM sets Location: 8 and PowerButton: 1

Keyboard with fingerprint reader on top right key

Sensor on the Second from the Right Keyboard Power Button

OEM sets Location: 9 and PowerButton: 1

Keyboard with fingerprint reader on top row, second to right key

Sensor on the Keyboard Bottom Row

OEM sets Location: 10

Keyboard with fingerprint reader on bottom row key

Sensor Generically Located on Keyboard

OEM sets Location: 11

Keyboard with fingerprint reader on one of the middle keys

Example

The following registry settings describes a circular fingerprint sensor on the front of the device, which is neither a power button or home button:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WbioSrvc\Service Providers\Fingerprint\Sensor Layout\USB VID_0000&PID_0000]
"location"=dword:00000001
"shape"=dword:00000003
"powerbutton"=dword:00000000
"startbutton"=dword:00000000