共用方式為


觸控喚醒實作指南

簡介

喚醒觸控是 Windows 11 裝置的新選擇性 功能。 此功能可讓使用者使用手指觸控裝置的螢幕,以從睡眠中喚醒。 不支援使用畫筆喚醒螢幕。 喚醒觸控僅適用於明確選擇根據下列指導方針的裝置。

如果裝置已加入加入 「喚醒觸控」,OEM 可能會指定預設狀態(已啟用/停用—其他信息位於 下方的 OEM 考慮 一節中)。 使用者也有「觸控螢幕來喚醒」選項,可根據下圖中的 藍牙> 喜好設定來開啟或關閉它。

Wake on Touch settings page

注意

如果裝置上不支援此功能,此設定將不會出現在此頁面。

本文件說明與 Windows 相容的 HID 型觸控裝置如何支援喚醒-On-Touch,以及 OEM/ODM 和觸控 IHD 需要執行的動作,取決於它們是否使用適用於 USB、I2C 或 SPI 的收件匣 HID 迷你埠,或特別針對缺少內箱驅動程式的總線使用 3P HID 迷你埠(亦即 Intel THC SPI)。

OEM 考慮

OEM 必須考慮是否針對每個設計和 SKU 實作「觸控喚醒」,因為功能有明顯的耗電量取捨。 按下鍵盤上的按鍵,與觸控板互動,或在配對的手寫筆上按兩下 藍牙 按鈕,都是喚醒裝置且耗電量較低的方法。

喚醒手勢

啟用「觸控喚醒」時,OEM 可以指定喚醒手勢為單一點選或按兩下使用觸控 IHV。 無論選擇哪一個手勢,都可以在顯示器的作用中區域的任何位置使用,以喚醒裝置。 一旦觸控控制器根據單一點選或按兩下手勢偵測到喚醒:

  1. 觸控控制器需要傳送代表單指向下和向上的 2 個畫面格(X、Y、TIP SET,後面接著 X、Y、TIP CLEAR),無論使用什麼手勢來引起喚醒
  2. 主機只會使用這 2 個畫面格做為使用者顯示狀態的指示,以開啟顯示器等。而且不會將該輸入傳遞給殼層或應用程式
  3. 向上和向下畫面格可以立即傳送,但如果存在scantime使用量,則應該在畫面之間遞增

注意

如果觸控控制器偵測到喚醒手勢並判斷提示中斷,以向主機指出輸入報告已就緒,但主機實際上不會發出讀取,觸控控制器應該會在某些廠商定義逾時后還原回低功率狀態。 這被視為異常案例,但觸控 IHV 可能需要考慮,以將待命中不必要的耗電量降到最低。

裝置狀態

如果要使用此功能,應考慮不同的狀態、裝置類型和電源狀態,以優化電池使用時間和可靠的UX。 例如,可轉換裝置可能只想在處於「平板電腦」狀態時啟用「觸控喚醒」,並在處於「膝上型計算機」狀態時將其停用,以節省電池。

喚醒觸控的可用性,無論是每當裝置處於待命狀態或只是在特定狀態時,都需要不同的實作方法。

對於蓋子的系統(例如膝上型電腦尺寸裝置),HID 堆疊會在關閉蓋子時自動停用觸控喚醒。 如果您的裝置符合此尺寸,或想要啟用觸控喚醒,而不論裝置狀態為何,請略過本節中的其餘內容, 並遵循本文件其餘部分的指引。

如果想要讓觸控喚醒只在特定狀態中啟用,建議實作篩選驅動程式,以控制觸控控制器是否根據裝置狀態進行喚醒。 在這種類型的實作中,篩選驅動程式會決定是否讓 IRP 流向 ACPI,以將裝置放入 D2(已喚醒)或是否要將裝置放至 D3 冷(關閉)。

如果裝置設計不允許 ACPI 根據姿勢從觸控喚醒時從觸控控制器提取電源 (D3 Cold),則應該實作廠商特定的機制,以允許觸控控制器保持電源 (D3 Hot),同時通知它進入其最低電源狀態,內部檢查,而不會掃描任何觸控。 此廠商特定機制可讓觸控控制器釐清是否要在SLEEP/Armed 中掃描用戶輸入,以取得下圖的喚醒狀態。

Wake on Touch power transitions

注意

此圖表適用於HIDI2C。 如需電源轉換的詳細資訊,包括 HIDUSB 和 HIDSPI,請參閱 觸摸屏電源管理

最後,如果裝置想要根據狀態有不同的「觸控喚醒」行為,建議在發生狀態變更時喚醒裝置。 狀態變更是使用者輸入的明確指示,這也可確保當裝置進入新狀態時,觸控控制器的適當手臂/解除武裝。

喚醒觸控用戶設定的默認狀態

[喚醒觸控] 設定的預設值是 ON,適用於能夠的系統,但 OEM 可以新增登錄值,指定預設值應該改為 OFF。 變更應該套用至預設使用者,且裝置上的每位新用戶都會加以挑選。 一旦用戶變更設定,無論初始 OEM 預設值為何,其喜好設定一律優先。

若要這樣做,請建立下列登錄機碼,並將其儲存在預設使用者NTUSER中。Dat:

登錄位置: \HKEY_CURRENT_USER\Software\Microsoft\Input\WakeableInputTypes

登入機碼:

名稱 類型
觸控 REG_DWORD 0 = Disabled,1 = Enabled

啟用喚醒觸控的需求

一般需求

通常建議裝置指出支援從 D2 狀態喚醒,因此當操作系統 (OS) 需要將裝置進行觸控喚醒時,可以將它放入 D2。 如果OS不需要在觸控時武裝裝置喚醒,則會將裝置放入 D3。 這可讓裝置轉換為 D3Cold,以節省更大的電源。 您可以遵循下列 ACPI 一節中提供的_S0W相關指引來完成。 裝置起始的電源優化(不是由主機或操作系統起始的)應該以對操作系統透明的方式完成。

請注意,當操作系統(或主機)將裝置置於啟用「喚醒觸控」的狀態時,請依照本檔所述,根據裝置的 OEM 需求和/或尺寸,讓觸控控制器自行設定以喚醒適當的觸控手勢。 例如,具有沒有蓋子遮蓋的觸摸屏的裝置可能需要確保它不會造成假覺醒。

如果 HID 觸控裝置有任何其他最上層 HID 集合,例如廠商定義的集合,OEM 軟體可能會開啟檔句柄來執行裝置 I/O,只要 OEM 軟體完成這些裝置 I/O,就會關閉檔句柄,以減少 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 適用於 HID 的 Windows 收件匣類別驅動程式。
HID 迷你驅動程式 系結至 HIDClass 並使用 HIDClass 的 Windows HID 傳輸驅動程式。 如需詳細資訊,請參閱 Minidrivers 和 HID 類別驅動程式 檔。
D-State、D0、D2、D3hot、D3Cold ACPI 規格所定義的裝置電源狀態。
Dx 其中一個 D 狀態。 本檔未指定實際的 「x」 數位。
DeviceNotInUse 當操作系統移至不取用 (觸控) 輸入的狀態時所發生的條件。 例如膝上型電腦蓋蓋關閉。
DeviceInUse 與 DeviceNotInUse 相反,這是當作業系統移至可能取用 (觸控) 輸入的狀態時所發生的狀況。 例如膝上型計算機蓋子開啟。
監視、屏幕和顯示 它們有時會交替使用。
MonitorOn 當操作系統開啟主要監視器時所發生的狀況。
MonitorOff 與 MonitorOn 相反。 這是當操作系統關閉主要監視器時所發生的狀況。
IRP I/O 要求封包。 如需詳細資訊,請參閱 I/O 要求封 包檔。
D-IRP 要求設定裝置電源狀態的 IRP。
HIDI2C Windows 收件匣 HID 迷你驅動程式 HIDI2C.SYS,會根據 HIDI2C 規格實作 HID 裝置的 I2C 傳輸層。
HIDSPI Windows 收件匣 HID 迷你驅動程式 HIDSPI.SYS,根據 HIDSPI 規格實作 HID 裝置的 SPI 傳輸層。
HIDUSB Windows 收件匣 HID 迷你驅動程式 HIDUSB.SYS,可根據 HID 和 USB 規格實作 HID 裝置的 USB 傳輸層。
ACPI 韌體 在系統韌體中實作的 ACPI 程式代碼(BIOS)。
擴充功能 INF Windows 10 中新類型的 Windows INF 檔案。 如需詳細資訊,請參閱 使用擴充功能 INF 檔案 檔。