Troubleshooting Device.Digitizer Testing

To troubleshoot issues that occur in Device.Digitizer tests, follow these steps:

  1. Review the following Windows® Hardware Certification Kit (Windows HCK) topics:

  2. For a test failure, look for usable information in the Windows HCK Studio test log. If you find usable information, resolve the issue and rerun the test.

Specific Information about Touch Tests in Windows 7

When you perform tests on a Windows Touch device, you must understand the way that positional accuracy affects the tests. You must also know how to read the information that's provided in the test log if test failures occur.

Understanding the accuracy requirement

For a single touch on a stationary contact point (a contact that's made when no other contacts are present), the INPUT-0046 accuracy requirement states that the reported contact position must be within 2.5 millimeters (mm) of the target point. For a single touch that traces a line, circle, or other predetermined pattern, the reported contact data must be within 2.5 mm of the target pattern, with an offset from the pattern that varies no more than 1 mm for every 10 mm of travel, and without interruption to the pattern.

Offset variance is the amount of variation in the offset of the traced line from the target line. This must be no more than 1 mm per 10 mm of travel. This allows a kind of drift (or moving "jitter" boundary) of up to 10 percent. The following figure is an example of how this might look in practice.

Diagram showing allowed touch variance

The thick blue line is the target line. The red line was produced by a tester who tried to trace the target line on the screen. To pass this test, the red line must meet all of the following conditions:

  • The line falls completely inside the 2.5-mm accuracy boundary (as marked by the outer dotted green line).

  • For any 10mm segment along its length, the offset variance must be no larger than 1mm. The offset variance is the maximum difference in offset from the blue line, as marked by the inner dotted green line over the first 10 mm.

  • The line must be intact and without interruption.

Note

The offset variance is measured not just on the first 10 mm of the pattern, but also on overlapping 10-mm segments that cover the whole pattern.

The same principles apply to additional contacts, to contacts that occur when another finger is already touching the screen, or to contacts that occur simultaneously. But, this case allows 2 times the room for maneuvering. The overall accuracy range is 5mm, and the offset variance per 10 mm is 2mm.

Analyzing the Windows Touch log files

The Windows Touch test tool uses the UserText attribute of each <Msg> element to provide touch-specific information.

Note

The examples in the following table don't include the default attributes and subelements of the <Msg> element.

Specification namespace Specification title

Test case 1: Sampling Rate

The following log messages indicate sampling-rate logging per second for various contact IDs. In this example, the digitizer reports a sampling rate of 63 for ID 10 and a sampling rate of 60 for ID 11:

<Msg UserText="INFO: Sampling rate was 63 for 10 touch ID" ...> <Msg UserText="INFO: Sampling rate was 60 for 11 touch ID" ...>

If the sampling rate is too low, an additional failure message appears in the log. For example:

<Msg UserText="INFO: Sampling rate was 49 for 10 touch ID">

or

<Msg UserText="INFO: Sampling rate did not pass for contact ID 10 : Sampling rate was 49">

A log message also appears for the length of time that each contact is held. For example:

<Msg UserText="INFO: Contact ID 10 lasted for 10 sec" ...>

Test case 2: Single Taps

For each test case on the page, a log message appears for the target point and touch point locations, in pixels. If the touch is inside the accuracy boundary, a log message that indicates success appears. For example:

<Msg UserText="INFO: Point Shown for Test 2: Single Taps - Test Case 1: x:640 y:400"...>

<Msg UserText="INFO: Point Touched for Test 2: Single Taps - Test Case 1: x:646 y:400"...>

<Msg UserText="INFO:Test 2: Single Tap Test Passed for test case 1 - Test Pass">

If the touch is outside the permitted accuracy boundary, a log message appears for the failure (and failing distance). For example:

<Msg UserText="INFO: Point Shown for Test 2: Single Taps - Test Case 2: x:640 y:100" ...><Msg UserText="INFO: Point Touched for Test 2: Single Taps - Test Case 2: x:637 y:117" ...>

<Msg UserText="INFO: Touch do not match the given point- Test Fail, Distance is 3.642690" ...><Msg UserText="INFO:Test 2: Single Tap - Touch did not match the given point for test case 2- Test Fail" ...>

Test case 3: Single Press and Hold

Accuracy of the touch point is one of the requirements for the Single Press and Hold test. Log messages appear for the locations and pass/fail accuracy, just as they appear for test case 2: Single Taps. For example:

<Msg UserText="INFO: Point Shown for Test 3: Single Press and Hold - Test 1: x:640 y:400" ...>

<Msg UserText="INFO: Point Touched for Test 3: Single Press and Hold - Test 1: x:638 y:401" ...>

<Msg UserText="INFO:Test 3: Single Press and Hold - Test Case 1 -Test Passed for Single Touch Press and Hold - Test Pass" ...>

<Msg UserText="INFO: Point Shown for Test 3: Single Press and Hold - Test 2: x:10 y:10" ...><Msg UserText="INFO: Point Touched for Test 3: Single Press and Hold - Test 2: x:18 y:21" ...>

<Msg UserText="INFO: Touch do not match the given point- Test Fail, Distance is 2.870119" ...>

The test also measures jitter over the period of contact. So, either jitter or not holding down the contact long enough causes a log message to appear. For example:

<Msg UserText="INFO: Jitter Occurred at 18 21 " ... >

or

<Msg UserText="INFO:Test 3: Single Press and Hold - Test Case 2 -Touch did not last for the specified time for single touch press and hold point - Test Fail"...>

Test case 4: Double Tap

Log messages for the Double Tap test resemble the log messages for test case 2: Single Taps. For example:

<Msg UserText="INFO: Point Shown for Test 4: Double Taps: x:640 y:400" ...><Msg UserText="INFO: Point Touched for Test 4: Double Taps: x:636 y:409" ... >

<Msg UserText="INFO:Test 8: Double Taps Test Passed - Test Pass" ...>

or

<Msg UserText="INFO: Point Shown for Test 4: Double Taps: x:640 y:400" ...>

<Msg UserText="INFO: Point Touched for Test 4: Double Taps: x:738 y:506" ...><Msg UserText="INFO: Touch do not match the given point- Test Fail, Distance is 30.433714" ...>

Test case 5: Multi-Touch Points

Log messages for the Multi-Touch Points test resemble the log messages for test case 2: Single Taps, with this target and touch information:

<Msg UserText="INFO: Point Shown for Test 5: Multi-touch points - Test Case 1 - Finger 1: x:160 y:200" ...><Msg UserText="INFO: Point Touched for Test 5: Multi-touch points - Test Case 1 - Finger 1: x:326 y:100" ...>

<Msg UserText="INFO: Point Shown for Test 5: Multi-touch points - Test Case 1 - Finger 2: x:320 y:100" ...>

<Msg UserText="INFO: Point Touched for Test 5: Multi-touch points - Test Case 1 - Finger 2: x:173 y:201" ...>

<Msg UserText="INFO:Test 5: Multi-touch points passed for test case 1." CA="30593109" ...>

Failure is possible because of non-simultaneity (that is, sequential input) or inaccuracy.

This example shows the log messages for non-simultaneous input:

<Msg UserText="INFO: Point Shown for Test 5: Multi-touch points - Test Case 2 - Finger 1: x:160 y:700" ...>

<Msg UserText="INFO: Point Touched for Test 5: Multi-touch points - Test Case 2 - Finger 1: x:166 y:694" ...>

<Msg UserText="INFO: Point Shown for Test 5: Multi-touch points - Test Case 2 - Finger 2: x:320 y:600" ...><Msg UserText="INFO: Point Touched for Test 5: Multi-touch points - Test Case 2 - Finger 2: x:327 y:597" CA="38221429" LA="38221504" ...>

<Msg UserText="INFO:Test 5: Multi-touch points failed for test case 2.Time difference between contacts more than 30 milliseconds" ...>

This example shows the log messages for inaccurate input:

<Msg UserText="INFO: Point Shown for Test 4: Multi-touch points - Test Case 3 - Finger 1: x:480 y:400" ...>

<Msg UserText="INFO: Point Touched for Test 4: Multi-touch points - Test Case 3 - Finger 1: x:507 y:456" ...>

<Msg UserText="INFO: Point Shown for Test 4: Multi-touch points - Test Case 3 - Finger 2: x:640 y:400" ...>

<Msg UserText="INFO: Point Touched for Test 4: Multi-touch points - Test Case 3 - Finger 2: x:704 y:397" ...>

<Msg UserText="INFO:Test 4: Multi-touch points failed for test case 3." CA="48949421" LA="48949527" ... >

Test case 6: Press and Tap

The Press and Tap test logs a pass or fail result based on the accuracy of the touches and the jitter of the first touch. For example, this log message shows a pass result:

<Msg UserText="INFO:Test 6: Press and Tap Test:Test Pass" ...>

This log message shows a fail result if jitter occurs on the first contact:

<Msg UserText="INFO:Test 6: Press and Tap:Jitter occurred for point 1 - Test Fail" ...>

This log message shows a fail result if an accuracy problem occurs:

<Msg UserText="INFO:Test 6: Press and Tap: You did not touch all points - Test Fail" ...>

Test case 7: Straight Line Accuracy

Detailed indications of the pass or fail areas of traced lines are visible on the screen. Green indicates an accurate trace, red indicates an inaccurate trace, and yellow indicates unmeasured parts of the trace. Because this information is available graphically, the log messages include simpler pass or fail information. For example:

<Msg UserText="INFO:Test 7: Straight line accuracy - Test Case 1 traced successfully" ...>

or

<Msg UserText="INFO:Test 7: Straight line accuracy - Test Case 2 Could not trace all points - Test Fail" ...>

Test case 8: Maximum Touch Lines

A log message indicates the pass or fail result for each line. For example:

<Msg UserText="INFO:Test 8: Maximum contact support test - Line 1 traced correctly." ...>

or

<Msg UserText="INFO:Test 8: Maximum contact support test- Line 2 not traced correctly. Test Fail" ...>

Test case 9: Multi-Touch Lines

Log messages for the Multi-Touch Lines test resemble the log messages for test case 5: Multi-Touch Points. For example:

<Msg UserText="INFO:Multi touch lines traced successfully for lines 1 " ...>

or

<Msg UserText="INFO:Could not trace all points for multi-touch lines 6" ...>

Test case 10: Line Accuracy Velocity

The screen display for the Line Accuracy Velocity test resembles the display for test case 5: Multi-Touch Points. The log messages include simple pass or fail information. For example:

<Msg UserText="INFO:Test 10: Line Accuracy Velocity Test - Passed" ... >

or

<Msg UserText="INFO:Test 10: Line Accuracy Velocity Test - Failed" ...>

Contact must remain inside the moving box as long as the contact is traveling along the line. Points at which the contact is outside the line appear on the screen in red. Contacts that are outside the accuracy boundary also appear in red.

Test case 11: Single Touch Arcs

Log messages for the Single Touch Arcs test resemble the log messages for test case 5: Multi-Touch Points. For example:

<Msg UserText="INFO:Test 11: Arc accuracy - Test Case 1 traced successfully" ...>

or

<Msg UserText="INFO:Test 11: Arc accuracy - Test Case 2 could not traced successfully" ...>

Test case 12: Pivot

Log messages for the Pivot test resemble the log messages for test case 7: Multi-Touch Lines. Note that a failure may occur because of inaccuracy of the traced arc or inaccuracy of the pivot point. For example:

<Msg UserText="INFO:Test 12:Pivot Test - Test passed." ... >

or

<Msg UserText="INFO:Test 12:Pivot Test : Could not trace all points - Test Fail." ...>

Test case 13: Multi-Touch Arcs

Log messages for the Multi-Touch Arcs test resemble the log messages for test case 7: Multi-Touch Lines. For example:

<Msg UserText="INFO:Test 13: Multi-touch arc accuracy - Traced Successfully - Test Pass"...>

or

<Msg UserText="INFO:Test 13: Multi-touch arc accuracy - Could not Traced Successfully - Test Fail" ...>

Test case 14: Ghost Points

Simple pass or fail information for the Ghost Points test appears in the log. For example:

<Msg UserText="INFO:Test 14: Ghost points - Ghost test passed" ...>

or

<Msg UserText="INFO:Test 14: Ghost points - Test Fail" ...>

Test pass completion

Multiple log messages collate the overall test pass information with regard to tests tried, completed, passed, and failed. If you have any difficulty understanding the messages, send email to tab-ext@microsoft.com. Include your query and a sample log file.

See Also

Concepts

Device.Digitizer Testing
Troubleshooting Windows HCK