Поделиться через


Руководство по реализации пробуждения на сенсорном устройстве

Введение

Пробуждение на сенсорном устройстве — это новая необязательная возможность, поступающая на устройства Windows 11. Эта функция позволяет пользователям касаться экрана устройства пальцем, чтобы пробудить его от сна. Использование пера для пробуждения экрана не поддерживается. Пробуждение на сенсорных устройствах доступно только на устройствах, которые явно выбираются в зависимости от приведенных ниже рекомендаций.

Если устройство согласилось на пробуждение на сенсорном устройстве, изготовитель оборудования может указать состояние по умолчанию (включено или отключено— дополнительные сведения приведены в разделе "Рекомендации изготовителя оборудования"). У пользователей также есть параметр "Сенсорный экран для пробуждения", чтобы включить или отключить его на основе их предпочтений на новой странице параметров Bluetooth и устройств -> Сенсорные параметры на рисунке ниже.

Wake on Touch settings page

Примечание.

Если эта функция не поддерживается на устройстве, параметр не будет отображаться на этой странице.

В этом документе описывается, как сенсорные устройства на основе HID, совместимые с Windows, могут поддерживать пробуждение на сенсорных устройствах и устройствах IHD и сенсорных IHV в зависимости от того, используют ли они мини-порт в папке "Входящие", доступные для USB, I2C или SPI или мини-порта 3P HID специально для шины, которая не имеет драйвера папки "Входящие" (т. е. Intel THC SPI).

Рекомендации по изготовителю оборудования

Важно, чтобы изготовители оборудования учитывали необходимость реализации пробуждения на сенсорном устройстве для каждой конструкции и номера SKU, так как существуют заметные компромиссы потребления электроэнергии для этой функции. Нажатие клавиши на клавиатуре, взаимодействие с сенсорной панелью или нажатие кнопки Bluetooth на парном перо— это все методы для пробуждения устройства с меньшим потреблением энергии.

Жест пробуждения

При включении пробуждения на сенсорном устройстве изготовители оборудования могут указать жест пробуждения, чтобы быть одним касанием или двойным касанием, работающим с сенсорным IHV. Какой бы жест ни был выбран, можно использовать в любом месте активной области дисплея для пробуждения устройства. После обнаружения сенсорного контроллера пробуждения на основе одного касания или жеста двойного касания:

  1. Сенсорный контроллер требуется для отправки 2 кадров представителя одного пальца вниз и вверх (X, Y, TIP SET, а затем X, Y, TIP CLEAR) независимо от того, какой жест использовался для пробуждения
  2. Узел будет использовать только эти 2 кадра в качестве указания присутствия пользователя для включения дисплеев и т. д. и не будет доставлять эти входные данные в оболочку или приложения.
  3. Кадры вверх и вниз могут отправляться немедленно, однако если время сканирования присутствует, оно должно увеличиваться между кадрами.

Примечание.

Если сенсорный контроллер обнаружил жест пробуждения и утверждает прерывание, чтобы указать узлу, что входные отчеты готовы, но узел на самом деле не выдает чтение, сенсорный контроллер должен отменить изменения обратно в низкое состояние питания после определенного поставщика времени ожидания. Это считается ненормальным случаем, но может быть желательно для сенсорного IHV, чтобы свести к минимуму ненужное потребление энергии в режиме ожидания.

Состояние устройства

Различные положения, типы устройств и состояния питания должны приниматься во внимание для максимальной оптимизации жизни батареи и надежного пользовательского интерфейса, если эта функция будет использоваться. Например, преобразуемое устройство может только включить пробуждение на сенсорном устройстве, если оно находится в состоянии планшета и отключить его, когда оно находится в состоянии "ноутбук" для экономии батареи.

Доступность пробуждения на сенсорном устройстве, будь то, когда устройство находится в режиме ожидания или просто в определенных положениях, требует различных подходов в реализации.

Для систем с крышкой (например, устройство форм-фактора ноутбука), стек HID автоматически отключает пробуждение на сенсорном устройстве при закрытии крышки. Если устройство соответствует этому форм-фактору или требуется включить пробуждение на сенсорном устройстве независимо от состояния устройства, пропустите остальное содержимое в этом разделе и следуйте инструкциям в остальной части этого документа.

Если требуется включить функцию пробуждения только в определенных положениях, рекомендуется реализовать драйвер фильтра, который определяет, вооружен ли сенсорный контроллер для пробуждения на основе положения устройства. В этом типе реализации драйвер фильтра решит, следует ли разрешить потокУ IRP в ACPI поместить устройство в D2 (вооруженный для пробуждения) или поместить устройство в D3 Cold (отключено).

Если дизайн устройства не позволяет ACPI извлекать мощность (D3 Холодный) с сенсорного контроллера, когда пробуждение на сенсорном устройстве не требуется на основе осанки, то механизм, зависящий от поставщика, должен быть реализован, чтобы позволить сенсорному контроллеру оставаться под управлением (D3 Hot) при информировании его о том, чтобы перейти к его наименьшему состоянию питания, внутренней гисти и не сканировать для каких-либо касаний. Этот механизм поставщика позволяет сенсорному контроллеру неамбигировать, следует ли проверять входные данные пользователя или не находиться в состоянии спящего режима или вооруженных для состояния пробуждения на рисунке ниже.

Wake on Touch power transitions

Примечание.

Эта схема предназначена для HIDI2C. Дополнительные сведения о переходах питания, включая HIDUSB и HIDSPI, см. в разделе "Управление питанием сенсорного экрана".

Наконец, если требуется, чтобы устройство было другое поведение пробуждения на сенсорном устройстве, основанное на позе, рекомендуется пробуждение устройства при изменении положения. Изменения положения являются четким признаком ввода пользователей, и это также гарантирует надлежащее вооружение или обезоружение сенсорного контроллера при входе устройства в новое состояние.

Состояние по умолчанию для параметра пользователя пробуждения на сенсорном устройстве

Значение по умолчанию для параметра Wake-On-Touch — ON для систем с поддержкой, но изготовитель оборудования может добавить значение реестра, указывающее, что значение по умолчанию должно быть OFF. Изменение должно применяться к пользователю по умолчанию, и оно будет выбрано каждым новым пользователем на устройстве. Когда пользователь изменяет параметр, их предпочтения всегда имеют приоритет независимо от того, что было по умолчанию для первоначального изготовителя оборудования.

Для этого создайте приведенный ниже раздел реестра и сохраните его в ntUSER пользователя по умолчанию. DAT:

Расположение реестра: \HKEY_CURRENT_USER\Software\Microsoft\Input\WakeableInputTypes

Раздел реестра:

Имя. Тип значение
Сенсорный ввод REG_DWORD 0 = отключено, 1 = включено

Требования к включению пробуждения на сенсорном устройстве

Общие требования

Как правило, рекомендуется, чтобы устройство указывало на поддержку пробуждения от состояния D2, поэтому, когда операционной системе (ОС) необходимо перенаставить устройство для пробуждения при касании, он может поместить его в D2. Если ОС не требуется вооружать устройство для пробуждения на сенсорном устройстве, устройство будет помещаться в D3. Это позволит устройству перейти в D3Cold для повышения экономии энергии. Это можно сделать, следуя инструкциям, связанным с _S0W, приведенным в разделе ACPI ниже. Оптимизации питания, инициированные устройством (которые не инициируются узлом или операционной системой), должны выполняться прозрачно в операционной системе.

Обратите внимание, что когда операционная система (или узел) помещает устройство в состояние, которое позволяет "Пробуждение на сенсорном устройстве", как описано в этой документации, оно может настроить себя для пробуждения на соответствующем жесте сенсорного ввода на основе требований изготовителя оборудования и (или) форм-фактора устройства. Например, устройство с сенсорным экраном, не квалифицируемым крышкой, может потребоваться убедиться, что он не вызывает спугнутые пробуждения.

Если на сенсорном устройстве HID есть другие коллекции HID верхнего уровня, такие как коллекции, определенные поставщиком, то программное обеспечение OEM может открывать дескриптор файлов для выполнения операций ввода-вывода устройства, закрывая дескриптор файлов, как только программное обеспечение OEM завершает работу с этими устройствами ввода-вывода, может снизить потребление энергии устройства HID. Обратите внимание, что Windows 11 22H2 была обновлена для управления состоянием питания устройства Пробуждения на сенсорном устройстве более эффективно, отключив его, не разрешая пробуждение от современного режима ожидания, если пробуждение на сенсорном устройстве не требуется, например, если параметр "Сенсорный экран для пробуждения" отключен или когда крышка ноутбука закрыта. Для такого программного обеспечения OEM побочный эффект заключается в том, что входные данные из таких коллекций HID верхнего уровня будут подавляться слишком во время современного резервирования.

Требования к встроенному ПО ACPI

Если устройство сенсорного контроллера определено в ACPI, оно должно реализовать следующее, чтобы сообщить о возможностях и ресурсах пробуждения.

  1. метод _S0W, который возвращает наименьшее состояние питания устройства, в котором устройство может сигнализировать о пробуждении.
  2. метод _CRS, определяющий прерывание с поддержкой пробуждения.
  3. методы _PRx, определяющие ресурсы питания, связанные с каждым поддерживаемым состоянием D.

Дополнительные сведения см. в документации по прерываниям с поддержкой пробуждения (_CRS).

Требования к драйверу для включения пробуждения на сенсорном устройстве

Дополнительные сведения о реализации пробуждения на сенсорном устройстве для драйверов папки "Входящие" (HIDI2C, HIDSPI и HIDUSB) или пользовательских драйверов см. в соответствующей документации ниже:

Раздел Описание

Включение пробуждения на сенсорном устройстве с драйверами папки "Входящие"

В этом разделе описывается реализация пробуждения на сенсорном устройстве с драйверами HIDI2C, HIDSPI или HIDUSB.

Включение пробуждения на сенсорном устройстве с помощью пользовательских мини-драйверов HID

В этом разделе описывается реализация пробуждения на сенсорном устройстве с пользовательскими мини-драйверами HID.

Глоссарий

Термин/аббревиатура Определение
СПРЯТАЛ Устройства с человеческим интерфейсом.
HIDClass Драйвер класса "Входящие Windows" для HID.
Мини-драйвер HID Драйвер транспорта Windows HID, который привязывается и работает с HIDClass. Дополнительные сведения см. в документации по минидрайверам и драйверам классов HID.
D-State, D0, D2, D3hot, D3Cold Питание устройства, определенное спецификацией ACPI.
Dx Один из D-состояний. Фактическое число "x" не указано в этом документе.
DeviceNotInUse Условие, возникающее при переходе операционной системы в состояние, в котором он не потребляет (сенсорные) входные данные. Примером является закрытие крышки ноутбука.
DeviceInUse Напротив DeviceNotInUse, это условие, возникающее при переходе операционной системы в состояние, в котором он может использовать (сенсорные) входные данные. Примером является открытие крышки ноутбука.
Монитор, экран и дисплей Иногда они используются взаимозаменяемо.
MonitorOn Условие, возникающее при включении основного монитора операционной системы.
MonitorOff Напротив MonitorOn. Это условие, возникающее при отключении основного монитора операционной системы.
IRP Пакет запроса ввода-вывода. Дополнительные сведения см. в документации по пакетам запросов ввода-вывода.
D-IRP IRP, запрашивающий настройку состояния питания устройства.
HIDI2C Мини-драйвер HIDI2C.SYS для Windows, реализующий транспортный слой I2C для устройств HID в соответствии со спецификацией HIDI2C.
HIDSPI Мини-драйвер HID HID HID.SYS для Windows, который реализует транспортный слой SPI для устройств HID в соответствии со спецификацией HIDSPI.
HIDUSB Мини-драйвер HID HID в папке Windows HIDUSB.SYS, который реализует слой транспорта USB для устройств HID в соответствии со спецификациями HID и USB.
Встроенное ПО ACPI Коды ACPI, реализованные в системном ВСТРОЕННОМ ПО (BIOS).
Расширение INF Новый тип INF-файлов Windows в Windows 10. Дополнительные сведения см. в документации по ИСПОЛЬЗОВАНИЮ INF-файла расширения.