[部分資訊涉及預售產品,可能在商業發行前經過大幅修改。 Microsoft 對此處提供的資訊不作明示或暗示的任何保證。]
使應用程式能註冊涉及三個或以上聯絡人的全域觸控板手勢,提供自己的處理器,取代預設系統行為。
涉及三個或以上聯絡人的點擊與滑動被視為全局手勢。 系統會先檢查前景程序是否已註冊到任何控制器,當執行全域觸控板手勢時。 如果找不到啟用且支援該手勢的手勢,則該手勢會被路由到系統自己的處理器。 背景程序中的控制器會被忽略。
命名空間: Windows。UI。輸入
成員
靜態方法
是否支持
static Boolean IsSupported();
回傳 TouchpadGesturesController 的功能是否在系統上被支援。
CreateForProcess
static TouchpadGesturesController CreateForProcess();
為相關流程建立一個 TouchpadGesturesController 。 同一程序可以建立多個控制器,但若啟用多個控制器並宣稱支援同一手勢,則只有一個控制器會收到相關事件。
控制器會在建立執行緒的執行緒上建立一個視窗,因此需要執行緒具備訊息泵。 控制器的事件都會在此執行緒中被提出,雖然可以從任何執行緒設定。 控制器視窗透過 RegisterTouchpadCapableWindow 標記為觸控板支援——詳見其文件中該執行緒如何受影響。
屬性
已啟用
Boolean Enabled;
會讀取或設定控制器是否啟用。 若停用,系統將不將其視為路由手勢的有效目標。
支持手勢
TouchpadGlobalGestureKinds SupportedGestures;
取得或設定控制器支援的手勢。 系統只有在宣告支援手勢時,才會將手勢轉發給控制器。 操作指的是手指移動時的觸控板輸入(例如滑動觸控板),而動作則是由靜止的手指引起(例如,點擊或按下觸控板表面按鈕而不移動)。
活動
PointerPressed、PointerMoved、PointerRelease(指向性發行)
event Windows.Foundation.TypedEventHandler<
TouchpadGesturesController,
Windows.UI.Core.PointerEventArgs> PointerPressed;
event Windows.Foundation.TypedEventHandler<
TouchpadGesturesController,
Windows.UI.Core.PointerEventArgs> PointerMoved;
event Windows.Foundation.TypedEventHandler<
TouchpadGesturesController,
Windows.UI.Core.PointerEventArgs> PointerReleased;
這些事件是因為「操控」風格的手勢而觸發的。 它們的運作方式與指標輸入通常流向應用程式的方式相同——每根手指先觸發 PointerPressed,接著是零次或多個 PointerMoved,最後由 PointerRelease 結束。
備註
觸控板的指標輸入與其他指標裝置類型相比有些差異。 更多資訊請參閱 GetPointerTouchpadInfo 的備註。
備註
雖然在處理這些事件時,可以使用 Win32 API 如 GetPointerInfo 查詢指標輸入的資訊,但不應呼叫 SkipPointerFrameMessages 。 TouchpadGesturesController 除了觸發事件外,還會對輸入進行處理,跳過指標訊息可能導致處理行為異常。
全球行動已完成
event Windows.Foundation.TypedEventHandler<
TouchpadGesturesController,
TouchpadGlobalActionEventArgs> GlobalActionPerformed;
觸發了「動作」風格的手勢。
- [X]FingerTap:使用者在觸控板上多指輕觸時觸發。
- [X]FingerPress:使用者用多根手指按下觸控板表面按鈕即可觸發。
- [X]FingerRelease:使用者在上述事件後放開觸控板表面按鈕時觸發。
相關列舉
觸控板全球手勢類
[flags]
enum TouchpadGlobalGestureKinds
{
None = 0x0,
ThreeFingerManipulations = 0x1,
FourFingerManipulations = 0x2,
FiveFingerManipulations = 0x4,
ThreeFingerActions = 0x8,
FourFingerActions = 0x10,
FiveFingerActions = 0x20,
};
| 價值 | Meaning |
|---|---|
| 無 (0x0) | 沒有手勢。 |
| 三指操控 (0x1) | 三指滑動/拖曳手勢。 |
| 四指操控 (0x2) | 四指滑動/拖曳手勢。 |
| 五指操控 (0x4) | 五指滑動/拖曳手勢。 |
| 三指行動 (0x8) | 三指輕觸與按鍵手勢。 |
| 四指行動 (0x10) | 四指輕觸與按鍵手勢。 |
| 五指行動 (0x20) | 五指輕敲與按鍵手勢。 |
觸控板全球行動
enum TouchpadGlobalAction
{
ThreeFingerTap,
FourFingerTap,
FiveFingerTap,
ThreeFingerPress,
FourFingerPress,
FiveFingerPress,
ThreeFingerRelease,
FourFingerRelease,
FiveFingerRelease,
};
| 價值 | Meaning |
|---|---|
| 三指敲擊 | 三指輕觸觸控板。 |
| 四指敲擊 | 四指輕觸觸控板。 |
| 五指敲擊 | 五指輕敲觸控板。 |
| 三指壓 | 三指按壓觸控板表面按鈕。 |
| 四指壓 | 四指按壓觸控板表面按鈕。 |
| 五指新聞 | 五指按觸控板表面按鈕。 |
| 三指釋放 | 三指按壓後釋放。 |
| 四指釋放 | 四指按壓後釋放。 |
| 五指釋放 | 五指按壓後放開。 |
要求
| 需求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows 11 |
| 命名空間 | Windows。UI。輸入 |
| API 合約 | Windows。Foundation.UniversalApiContract(版本 19) |
| IID | ITouchpadGesturesController: 28c13cdd-e068-549f-89c6-1a440c6fc327, ITouchpadGesturesControllerStatics: 207ef171-1a73-51cd-a694-8840e09dbafa, ITouchpadGlobalActionEventArgs: 6edad206-e4e3-5f39-9d13-8575e8e2a12b |