TouchpadGesturesController 類別

[部分資訊涉及預售產品,可能在商業發行前經過大幅修改。 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 查詢指標輸入的資訊,但不應呼叫 SkipPointerFrameMessagesTouchpadGesturesController 除了觸發事件外,還會對輸入進行處理,跳過指標訊息可能導致處理行為異常。

全球行動已完成

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

另請參閱