Device.Digitizer Requirements
Device.Digitizer.Base
Base for Digitizers
Related Requirements |
Device.Digitizer.Base.DigitizersAppearAsHID Device.Digitizer.Base.HighQualityDigitizerInput |
Device.Digitizer.Base.DigitizersAppearAsHID
Digitizers appear to the Windows operating system as human interface device (HID) devices
Target Feature |
Device.Digitizer.Base |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
Digitizers must not report themselves as a mouse or other proprietary device. In the USB human interface device (HID) usage tables specification, this identification consists of the digitizer page and the usage ID to specify the collection application for pen and touch screens.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Base.HighQualityDigitizerInput
Digitizers must provide a high-quality input experience
Target Feature |
Device.Digitizer.Base |
Applies to |
Windows 7 Client x86, x64 |
Description
For devices that support pen or touch input, a pen or touch device must appear to Windows as a human interface device (HID) pen or touch device, respectively. If the device appears a mouse, pen and touch features will not be enabled, and the mouse input requirements will apply. Pen digitizer requirements are as follows:
Pen digitizers must appear to the operating system as HID pen digitizers and not as mouse or other proprietary devices.
Sample rate must be at least 100 Hertz.
Resolution must be at least 600 pixels per inch and at least five times the display resolution.
While hovering within 5 millimeters, the pen's position and the position that the device reports must be within 2 millimeters of each other. This accuracy requirement applies whether the input is stationary or in motion.
The physical contact with the device and the contact position that the device reports must be within 2 millimeters of each other. This accuracy requirement applies whether the input is stationary or in motion.
Touch digitizer requirements are as follows:
Touch digitizers must appear to the operating system as HID touch digitizers and not as mouse or other proprietary devices.
Sample rate must be at least 100 Hertz.
Resolution must be at least 200 pixels per inch and at least matching the display resolution.
In terms of jitter, if a contact is stationary, the reported position data must not change.
In terms of contact accuracy, tracing a line, circle, or other predetermined pattern should produce data that is within 0.5 millimeters of the expected data pattern. The pattern may be offset as a whole in accordance with the following contact-offset requirement.
The physical contact with the device and the contact position that the device reports must be within 2 millimeters of each other. This requirement applies whether the input is stationary or in motion.
Note that we encourage performing linearity calibration before running the pen and touch tests. For more information, see the section about linearity calibration in the OEM Preinstallation Kit (Windows OPK) documentation. For resistive touch digitizers, we recommend optimizing for the touch experience: 80 grams-force spacers provide a good experience.
Additional Information
Enforcement Date |
Jun. 26, 2013 |
Device.Digitizer.Pen
Feature for Pen based Digitizers
Related Requirements |
Device.Digitizer.Pen.100HzSampleRate Device.Digitizer.Pen.ContactAccuracy Device.Digitizer.Pen.HoverAccuracy Device.Digitizer.Pen.PenRange Device.Digitizer.Pen.PenResolution |
Device.Digitizer.Pen.100HzSampleRate
100Hz Sample Rate
Target Feature |
Device.Digitizer.Pen |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The pen digitizer will have a sample rate of at least 100Hz.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Pen.ContactAccuracy
Pen contact accuracy
Target Feature |
Device.Digitizer.Pen |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The physical contact with the device and the contact position the device reports must be within 2 millimeters of each other. This applies whether the input is stationary or in motion.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Pen.HoverAccuracy
Pen hover accuracy
Target Feature |
Device.Digitizer.Pen |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
While hovering within 5 millimeters, the pen's position and the position the device reports must be within 2 millimeters of each other. This applies whether the input is stationary or in motion.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Pen.PenRange
The pen digitizer must prevent false recognition of touch gestures from the non-interactive hand
Target Feature |
Device.Digitizer.Pen |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The pen digitizer must report that the pen is within range when it is 10 millimeters away from the screen. X and Y coordinates are not required to be reported at 10 millimeters.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Pen.PenResolution
Pen digitizer resolution
Target Feature |
Device.Digitizer.Pen |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The pen digitizer resolution must be at least 150 pixels per inch and equal to the native display resolution or greater.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch
Windows Touch interface for digitizer devices.
Related Requirements |
Device.Digitizer.Touch.5TouchPointMinimum Device.Digitizer.Touch.DigitizerConnectsOverUSBOrI2C Device.Digitizer.Touch.DigitizerJitter Device.Digitizer.Touch.ExtraInputBehavior Device.Digitizer.Touch.FieldFirmwareUpdatable Device.Digitizer.Touch.HIDCompliantFirmware Device.Digitizer.Touch.HighQualityTouchDigitizerInput Device.Digitizer.Touch.HighResolutionTimeStamp Device.Digitizer.Touch.InputSeparation Device.Digitizer.Touch.NoiseSuppression Device.Digitizer.Touch.PhysicalDimension Device.Digitizer.Touch.PhysicalInputPosition Device.Digitizer.Touch.PowerStates Device.Digitizer.Touch.ReportingRate Device.Digitizer.Touch.ResponseLatency Device.Digitizer.Touch.TouchResolution Device.Digitizer.Touch.ZAxisAllowance |
Device.Digitizer.Touch.5TouchPointMinimum
Touch digitizer supports a minimum of five simultaneous touch inputs
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch digitizer must support a minimum of five simultaneous touch inputs. This applies to all touchable areas, including edges and corners.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.DigitizerConnectsOverUSBOrI2C
Digitizer connects over USB or I2C
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The digitizer must connect to the system over a USB or I2C bus. These buses support the descriptor for the human interface device (HID) or digitizer according to the Human Interface Design Protocol for USB.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.DigitizerJitter
Digitizer's jitter is a maximum of 1 millimeter over 10 millimeters of travel
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
Touch digitizer jitter will not exceed a maximum of 1 millimeter of jitter over 10 millimeters of travel by moving touch inputs. Duplicate packets will not be reported for traveling inputs. While the input is traveling, jitter should not be reported in the direction opposite of the direction of travel. Stationary inputs should produce 0 millimeters of jitter while they are held.
Additional Information
Business Justification |
Windows can incorrectly recognize the interaction as a drag or other movement. This problem causes users to feel frustrated and to perceive the system as untrustworthy. Correctly reporting the integrity of contact during motion is important. |
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.ExtraInputBehavior
Digitizers do not report inputs greater than maximum
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
If the digitizer supports n simultaneous touch inputs (Where 'n' is the maximum number of supported touch inputs reported through HID), the first n inputs remain valid while additional inputs up to 5 must be ignored. If more than n+5 inputs are placed on the screen and accurate tracking of the original n inputs cannot be guaranteed, then it is strongly recommended to stop tracking all inputs including n+5.
Number of Inputs |
Expected Behavior |
n |
All n inputs accurately reported |
n + 1, , n+5 |
Initial n inputs accurately reported, while additional inputs greater than n must not be reported. |
n + 6, |
If possible, maintain the same behavior as n+1, , n+5 above. If this is not possible and the initial n inputs cannot be reported accurately, it is acceptable to report the original inputs as up and to stop reporting all inputs once the 6th additional input is received. |
Below is an illustration of the requirement where n, the maximum number of supported touch inputs reported through HID, is 10.
Number of Inputs |
User Scenario |
Expected Behavior |
|
10 |
A user places 10 fingers on the screen. |
All 10 touch inputs must be accurately reported. |
|
11, ..., 15 |
A user places 10 fingers on the screen. While the first user is maintaining their 10 fingers on the screen, a second user touches the screen with 5 fingers. |
The initial 10 touch inputs from the first user must be accurately reported throughout the user scenario. The additional 1 to 5 touch inputs from the second user must not be reported. |
|
16, |
A user places 10 fingers on the screen. While the first user is maintaining their 10 fingers on the screen, a second user touches the screen using more than 5 fingers. |
It is ideal to maintain the same behavior as 11, , 15 number of inputs above. If it cannot be guaranteed the initial 10 inputs from the first user can be accurately reported, report the first user s 10 inputs as up and stop reporting all inputs. It is acceptable to immediately begin reporting the initial 10 inputs after the inputs from the second user are removed. Under no circumstance should the reporting of the original users inputs be random and or switch between the users. |
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.FieldFirmwareUpdatable
Touch Digitizer firmware must be field updatable by customer
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
Touch digitizer firmware binaries must be updateable by the customer in the field.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.HIDCompliantFirmware
Touch digitizer firmware is human interface device (HID) compliant and does not require additional driver installation.
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
Proper human interface device (HID) compliant firmware will not require any additional driver installation.For more information on implementation, see https://go.microsoft.com/fwlink/p/?LinkId=226808
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.HighQualityTouchDigitizerInput
Windows Touch digitizers must provide a high-quality input experience
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 7 Client x86, x64 |
Description
Input requirements apply to all touchable areas, including edges and corners, and will be tested over a regular distribution of points and patterns that cover the entire surface. For battery-operated devices, the requirements must be met whether the device is running on AC or battery power. The Windows Touch certification program is available for multi-touch digitizers that have a screen size of 30 inches or smaller. Multi-touch digitizers that are greater than 30 inches can obtain a signed driver through the unclassified category.
Multi-touch digitizers must appear to the operating system as human interface device (HID) digitizers, and not as mouse or other proprietary devices.
Sample rate must be at least 50 Hertz per finger.
Resolution must be at least 25 pixels per inch and at least matching the display resolution.
In terms of jitter, for all fingers, if a contact is stationary, the reported position data must not change.
No data must be reported for locations where contact is not made.
In terms of contact accuracy, the following requirements must be met on all corners of the screen and at least 95 percent of points and patterns tested.
For a single touch on a stationary contact point, the contact position reported must be within 2.5 millimeters of the target point. For a single touch that traces a line, circle, or other predetermined pattern, the contact data reported must be within 2.5 millimeters of the target pattern, with an offset from the pattern that varies no more than 1 millimeter for every 10 millimeters of travel, and without interruption to the pattern. For additional touches on a stationary contact point, the contact position reported must be within 5 millimeters of the target point. For additional touches that trace a line, circle, or other predetermined pattern, the contact data reported must be within 5 millimeters of the target pattern, with an offset from the pattern that varies no more than 2 millimeters for every 10 millimeters of travel, and without interruption to the pattern. Definitions are as follows:
Pixels per inch. Calculation of sqrt(x^2 + y^2)/diagonal screen size in inches, where x is the number of pixels on the horizontal axis and y is the number of pixels on the vertical axis.
Target point. The location targeted on the screen. For a target point that is smaller than the area of contact, the digitizer should determine which part of the contact area should be reported, such as the geometric center of the area or the point of greatest pressure. Microsoft tests will be conducted via the geometric center of the contact area of a typical finger (or rounded stylus) that is at least 12.5 millimeters in diameter. Calibration should occur before logo testing for certification.
Single touch. A touch made when no other contact is present on the screen.
Additional touches. One or more touches made when a contact is already present on the screen, or multiple touches placed simultaneously on the screen.
The Windows Touch certification program is a full test. Independent Hardware Vendors (IHVs) must submit hardware to the Windows Touch Test Lab for manual verification. For more information about the Windows Touch Test Lab, go to https://www.microsoft.com/whdc/device/input/WindowsTouch\_Test-Lab.mspx. Manufacturers should contact their account manager for copies of the OEM Preinstallation Kit (Windows OPK) guidelines. A white paper that provides guidance on HID pen and touch digitizer drivers can be found at https://www.microsoft.com/whdc/device/input/PEN\_touch.mspx.
Additional Information
Enforcement Date |
Jun. 26, 2013 |
Device.Digitizer.Touch.HighResolutionTimeStamp
High resolution time stamp
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
One per frame, snapped in association to the frame sample time and not any other time in another stage of the pipeline for example, taking the time the scan started rather than when the packet is produced or transmitted. The time stamp can be taken at the beginning or end of the frame, but the setting should remain consistent. There is no need to synchronize it to any definition of absolute time. Use rollover for the time stamp, so there is no need to reset to zero. Timestamp should be 100 s units/resolution and be provided to the OS in a 16-bit (2 byte) field in the HID reportAt any instance, allowable clock drift +/- 5% across standard operating temperatures (+25 C to + 85 C)
Additional Information
Business Justification |
If a higher-resolution time stamp is available to determine exactly when the data was sampled (which equals the exact time when the finger was touching the reported coordinate of the screen), for example, the gesture recognition can calculate to better determine the intended gesture |
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.InputSeparation
Input Separation
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
Distance is measured to center of input and with inputs of 9 millimeters in size. Converging/Diverging zoom interactions must meet at 12 millimeters or less separation for horizontal and vertical, and 15 millimeters or less for diagonal. Interactions:
Zoom diverging and converging 2-finger
Starting contact position is vertical or horizontal: start at 12mm or less
Starting contact position is diagonal: start at 15mm or less
Tap (2-finger, 3-finger, 4-finger):
Contact position is horizontal or vertical: tap with contacts 12mm apart or less
Contact position is diagonal: tap with contacts 15mm apart or less
Swipe - parallel movement (2-finger, 3-finger, 4-finger; up, down, left, right):
Contact position is horizontal or vertical: swipe with contacts 12mm apart or less
Contact position is diagonal: swipe with contacts 15mm apart or less
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.NoiseSuppression
The touch digitizer does not report data for locations where touch input is not made
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch digitizer will not report data ("Phantom/Ghost contacts") for locations where touch input is not made. This applies for both when the system is actively receiving user input and when it is not receiving user input.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.PhysicalDimension
Touch digitizer reports physical dimensions
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch digitizer must report dimensions to the OS which match the visible active size of the display. Reported dimensions can be less than the physical dimensions in cases where the touch digitizer extends beyond the display and bezel into non-visible space. Touch digitizer dimensions will be reported via the Physical Dimensions property.
Additional Information
Business Justification |
Inaccurate information about the physical dimensions can affect the ability of Windows Touch to accurately recognize gestures. |
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.PhysicalInputPosition
Digitizer reports physical contact with the device and the contact position
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch digitizer reports all inputs within plus or minus 1 millimeter of the center of the physical input for all touchable areas. All pixels on the screen must be touchable, including edges and corners.For additional details on verification and testing of this requirement please see https://go.microsoft.com/fwlink/?LinkID=234575
Additional Information
Business Justification |
Minimal offset between the actual and reported points of contact is a primary factor in the real and perceived accuracy of the system. |
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.PowerStates
The touch controller is required to implement three different power states: Active, Idle, and Off
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch controller is required to implement three different power states:Active - The state where the touch controller is fully powered and functioning per device requirements. Idle - The state transitioned to from 'Active' when the touch controller has not received input for a specified period of time. Idle timeout is fixed at 5 seconds (by the OS) when connected via USB due to selective suspend requirements/implementation, and shall be fixed at 300 seconds by the touch controller when connected via I2C.Off - The state where the touch controller is powered down
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.ReportingRate
100 Hertz minimum reporting rate for all touch inputs
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
When in an active power state, the touch digitizer reporting rate must be maintained at a minimum of 100 Hertz for all touch inputs reported through HID, for both stationary and non-stationary inputs. All reports must be uniquely sampled.
Additional Information
Business Justification |
A high packet rate promotes high performance, perceived responsiveness of the system, and data integrity for contacts in fast motion. |
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.ResponseLatency
Digitizer response latency for idle and active states
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The touch digitizer must have response latency from an active state that is not greater than 25 milliseconds for the initial input. The touch digitizer must have response latency from an idle state that is not greater than 50 milliseconds for the initial input. Both Active and Idle are internal power state of the touch controller. The response latency for subsequent contacts in an active state should not be greater than 15 milliseconds. Response latency will be measured as the time when the input touches the screen to the time when the Windows operating system receives the data from the hardware.
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.TouchResolution
Touch digitizer resolution equals native display resolution or greater
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
At a minimum, the touch digitizer resolution will be equal the native display resolution or greater. Every pixel of the display in an integrated touch digitizer is required to be accessible to touch input. Every pixel includes pixels on the edges and in the corners of the display.For additional details on verification and testing of this requirement please see https://go.microsoft.com/fwlink/?LinkID=234575
Additional Information
Enforcement Date |
Mar. 01, 2012 |
Device.Digitizer.Touch.ZAxisAllowance
Maximum z-axis allowance for touch detection
Target Feature |
Device.Digitizer.Touch |
Applies to |
Windows 8 Client x86, x64, ARM (Windows RT) Windows 8.1 Client x86, x64, ARM (Windows RT 8.1) |
Description
The maximum allowed z-axis for touch detection is 0.5 millimeters. Where possible, a user's input should make physical contact with the screen before a touch input is registered.
Additional Information
Enforcement Date |
Mar. 01, 2012 |