本主題詳述 Windows 10 版本 1607 和更新版本操作系統中用於星形控制器觸覺回饋支援的 HID 功能報告。
觸覺回饋收集(選擇性)
如果 Windows 星形控制器裝置支援觸覺回饋,它可以允許系統和應用程式利用它,方法是在 Windows 星形控制器 TLC 中包含觸覺回饋集合(Page 0x0E、usage 0x01)。 如需 HID 規格如何支援觸覺回饋的詳細資訊,請參閱 觸覺頁面 批准 HID 規格。
主機會使用下列使用方式(透過觸覺回饋收集)來傳達觸覺回饋電壓支援,並允許主機在 Windows 星形控制器裝置上設定觸覺回饋。 如果裝置選擇公開觸覺意見反應集合,則必須使用某些方式,才能支援自動觸覺回饋設定。
| member | 描述 | 頁 | 識別碼 | 強制/選擇性 |
|---|---|---|---|---|
| 波波清單 | 裝置支援的觸覺超聲波排序列表 | 0x0E | 0x10 | 必要 |
| 工期清單 | 在[電壓清單] 中為超聲波的已排序持續時間清單 | 0x0E | 0x11 | 必要 |
| 自動觸發程式 | 在裝置的任意時間自動引發的電壓 | 0x0E | 0x20 | 必要 |
| 自動觸發相關聯的控件 | 與觸覺意見反應相關聯的控件 HID 使用方式 | 0x0E | 0x22 | 必要 |
| 強度 | 輸出 – 手動觸發波的強度百分比 | 0x0E | 0x23 | 選擇性 |
| 重複計數 | 輸出 – 在初始播放之後播放手動觸發電壓的次數 | 0x0E | 0x24 | 選擇性 |
| Retrigger 期間 | 輸出 – 重複時重試手動觸發程式之前等候的時間持續時間 | 0x0E | 0x25 | 選擇性 |
| 波波截止時間 | 手動觸發波波在被切斷之前可以播放的時間上限 | 0x0E | 0x28 | 選擇性 |
波波清單
電壓清單使用方式代表支援之超聲波的 HID 使用量集合,使用序數排序。 預先定義的觸覺電壓定義於 HID 規格中。 Windows 支援針對啟用觸覺回饋的裝置實作下列超聲波:
| 波形 | 描述 | 頁 | 識別碼 | 強制/選擇性 |
|---|---|---|---|---|
| WAVEFORM_NONE | No-op。 不應該影響持續電壓的播放狀態。 | 0x0E | 0x1001 | 必要 |
| WAVEFORM_STOP | 停止持續之超聲波的播放。 | 0x0E | 0x1002 | 必要 |
| WAVEFORM_CLICK | 建立簡短的「按兩下」意見反應 | 0x0E | 0x1003 | 必要 |
| WAVEFORM_BUZZ_CONTINUOUS | 在長時間內嗡嗡作響裝置 | 0x0E | 0x1004 | 選擇性 |
所有符合 HID 規範的觸覺裝置都需要WAVEFORM_NONE和WAVEFORM_STOP。 序數 1 和 2 會隱含地設定為 WAVEFORM_NONE 和 WAVEFORM_STOP。 它們不需要在[電壓清單] 或 [持續時間清單] 中宣告。 [電壓清單] 會依清單中每個序數的實體最小值和最大值,宣告支援的超聲波。
工期清單
持續時間清單使用方式代表使用序數排序的[電壓] 清單中所支援之電壓持續時間的集合。 電壓持續時間的單位為毫秒,而且持續時間必須是任何非連續電壓的正非零值。 如果電壓是連續的(將播放直到主機停止或超過電壓截止時間),則其持續時間定義為零。
假設WAVEFORM_NONE和WAVEFORM_STOP持續時間為零。 它們不需要在 [持續時間清單] 中宣告。
自動觸發程式
[自動觸發程式] 使用方式代表來自[電壓清單] 支援的超聲波使用方式,裝置會視需要根據使用者互動自動觸發。 這可讓低延遲響應常見的用戶互動,例如旋轉和按兩下。 這可能需要由主機修改或停用,而且可以透過功能報告進行設定。 自動觸發電壓可以藉由主機設定為零來停用。
自動觸發相關聯的控件
自動觸發關聯控件會指定裝置上與自動觸覺回饋相關聯的實體控件擴充 HID 使用方式。 對於星形控制器裝置,此控件應定義為相同最上層集合中指定的 Dial 使用量。
強度
強度使用量代表要套用至超聲波的最大強度百分比。 此值應介於 0 和 100% 之間。 100% 表示裝置會以最大強度觸發超聲波,0% 表示觸覺換能器未啟用。
如果在功能報告中定義,它會設定裝置所有自動觸發程式和手動觸發電壓的預設強度。
重複計數
重複計數使用量代表重複超聲波的次數。 重複計數為零,表示手動觸發程式電壓應該只播放一次(不重複)。 如果超過電壓截斷時間,則預期會忽略任何不完整的重複。
如果在功能報告中定義,它會設定裝置所有自動觸發程式和手動觸發電壓的默認重複計數。
Retrigger 期間
Retrigger 期間使用量代表裝置在輸出報表中重複手動觸發波紋之前所等待的時間量,根據重複計數所指定的值。 此值的單位為毫秒。 如果 Retrigger 期間小於所播放之電壓的持續時間,則應該在重試器期間所指示的時間週期停止並重新啟動電壓。
如果在功能報告中定義,它會設定裝置所有自動觸發程式和手動觸發電壓的預設重試週期。
波波截止時間
[電壓截止時間] 使用量代表裝置允許手動觸發波波在結束播放之前重複的時間上限。 這是裝置的常數值,包含連續的電壓,不含設定的持續時間,以及將離散持續時間設定為重複多次的電壓。 此值的單位為毫秒。