Wake-on-Touch Validation Guide

Please note: The only Wake-on-Touch gesture supported on Windows 11 is single finger touch and the valid tap duration is between 50ms to 500ms. This document references single-tap interactions, but you may choose to implement a double-tap instead. A double-tap is designed as two taps where the second begins no later than 300ms from completion of the first.

Test Prerequesites

Ensure your SUT (System Under Test) supports Modern Standby

Use powercfg /a to confirm that SUT supports Modern Standby (S0 Low Power Idle)

Using the powercfg /a command

Enable trace logging

Trace logs will be used for Test Case 2 and 5. To enable capturing a trace log:

  1. Open command prompt as administrator
  2. Enter this command line to start a trace: wpr -start power
  3. While recording, run through the steps/scenarios to put the system into Modern Standby for a given time
  4. Enter this command line to stop and save the trace into an event trace log (ETL): wpr -stop filename.etl

For more details of how to capture a log for issues that cannot be resolved by using SleepStudy you may refer to this link.

Test Cases

Follow the steps below to run tast cases for each scenario.

Test Case 1: Ensuring that SUT can be woken just after monitor off

  1. Go to Control Panel > Hardware and Sound > Power Options > Choose what the power buttons do and ensure both On battery and Plugged in are set to Sleep Power button options in Control Panel
  2. Put the device in AC power and press power button to put the device into sleep
  3. Tap the screen with a single finger to wake the device
  4. Make sure that device can be woken from sleep within 1 second
  5. Repeat steps 2-4 for 5 times
  6. Rerun the above steps but this time put the device in DC power and repeat steps 2-5

Expected results for Test Case 1

Successfully wake the SUT from sleep by tapping the screen with 1 finger (with 100% pass rate).

Test Case 2: Validate the SUT can successfully enter Modern Standby and validate wake reason is touch input

  1. Ensure no other peripherals are attached to your SUT (Ex: USB thumb drive, mouse or ethernet dongles etc.)
  2. In order to avoid network related interference, put the device in airplane mode
  3. Put the device on DC power
  4. Reboot your SUT so that the system is in a clean state (This step is to ensure no additional apps or updates running in the background)
  5. Press power button for SUT to enter Modern Standby (display off)
  6. Leave SUT in Modern Standby for at least > 10 minutes
  7. Single tap to wake the monitor from Modern Standy (valid tap duration should be between 50ms to 500ms)
  8. View wake reasons by opening the command prompt as an administrator and executing powercfg /spr to generate a SleepStudy report.
  9. Open the html report and verify the enter and exit reason is Input Touch

Note

For more information on how to interpret sleep study reports, please see the SleepStudy report page or refer to expected result section below.

Expected results for Test Case 2

Look at the SleepStudy report and ensure that the device can successfully enter Modern Standby as well as getting good SWDRIPS and HWDRIPS with minimum wakes:

  1. Verify that the system can achieve >=80% SW DRIPS
  2. Verify there is <=10% DRIPS delta between SW DRIPS and HW DRIPS (SW DRIPS – HW DRIPS) Checking SW and HW DRIPS
  3. Verify there are no unexpected wakes from touch input other than the intended one, i.e. the sleep session ends at the time of intentional wake
  4. Verify there are no intermediary sessions where the wake was due to a spurious / "ghost" touch

Check that the Modern Standby Exit Reason is due to touch input and the exit latency is <=1 second

  1. Verify the exit reason specifies that it was due to a touch input in the sleep study report, as below: Checking the modern standby exit reason
  2. Verify that the exit latency is <= 1 second

Checking the modern standby exit latency

Note

If something is blocking the system to achieve SWDRIPS, you can visualize that in the SleepStudy html report by checking what is to blame and then take corrective action before running the next iteration. You can refer to Top Offenders section in the SleepStudy report as shown below.

Checking the top offenders in the sleep study

Test Case 3: Validate touch is still functional as expected after waking from Modern Standby

Run the Windows Touch UX Test portion of the Touch HLK to test the following scenarios:

  • Tile Tap (Top Left)
  • Tile Tap (Top Right)
  • Tile Tap (Bottom Left)
  • Tile Tap (Bottom Right)
  • Hyperlink Test
  • Mobar Test
  • Semantic Zoom (2 Fingers)
  • Semantic Zoom (5 Fingers)
  • Backstack
  • Quick Toss Test
  • Tile test (Select)
  • Tile test (Rearrange)
  • Press & Hold
  • Edgy
  • Keyboard

Expected results for Test Case 3

All test cases pass, as shown below:

Successful HLK test pass

Test Case 4: Validate a palm on the screen does not wake the device

  1. Ensure no other peripherals are attached to your SUT (Ex: USB thumb drive, mouse or ethernet dongles etc.)
  2. In order to avoid network related interference, put the device in airplane mode
  3. Put the device on DC power
  4. Reboot your SUT so that the system is in a clean state (This step is to ensure no additional apps or updates running in the background)
  5. Press power button for SUT to enter Modern Standby (display off)
  6. Leave SUT in Modern Standby for at least > 10 minutes
  7. Place a palm on the SUT's screen

Expected results for Test Case 4

The SUT does not wake from Modern Standby when the palm is placed on the screen (i.e. the display should not light up and resume the system back to the active state).

Test Case 5: Validate there are no inadvertent wakes when the SUT's lid is closed

  1. Shut the SUT's lid
  2. Keep the lid closed for 30 minutes with the trace logging (refer to Test Prequesites) running in the background and ensure no wakes occurred in that time
  3. View wake reasons by opening the command prompt as an administrator and executing powercfg /spr to generate a SleepStudy report
  4. Open the html report to view the wake reason and exit latency
  5. Open the trace logs to validate the device state is in Modern Standby and during this time no wakes occured

Note

Check to see that lid state changes are handled properly (this can be verified in power traces / SleepStudy report) and the touch device is in the appropriate power state as the lid is opened and closed.

Expected results for Test Case 5

The wake reason in the SleepStudy report is Lid and no wakes occurred while the lid was closed.

Diagnostics

When Wake-on-Touch is not working as expected, here are some of the diagnostics approaches OEMs/IHVs may try before contacting Microsoft.

Power Capabilities in Device Manager

Some basic power capabilities can be examined in the “Power data” property in Device Manager.

I2C HID Device Properties

Sleep Study (Wake Source)

By running this command, a sleep study report will be generated for the previous system state transitions. In the sleep study report, the “EXIT REASON” column tells if the system state is transitioned due to the touch input.

Powercfg.exe /spr

Sleep Study Report

For more information about sleep study, please refer to the Modern standby SleepStudy documentation.

Trace Logs

In case further investigation is needed, trace logs can be captured for OEMs/IHVs to view or shared with Microsoft teams.

To capture trace logs, please use BusesTrace.cmd here and select "2) Input/HID components only" at its second menu.