TouchpadGesturesController クラス

[一部の情報は、商用リリース前に大幅に変更される可能性があるプレリリース製品に関連しています。 Microsoftは、ここに記載されている情報に関して明示または黙示を問わず、一切の保証を行いません。

アプリケーションが 3 つ以上の連絡先を含むグローバル タッチパッド ジェスチャに登録し、既定のシステム動作ではなく独自のハンドラーを提供できるようにします。

3 つ以上の連絡先を含むタップとスワイプは、グローバル ジェスチャと見なされます。 グローバル タッチパッド ジェスチャが実行されると、システムは最初にフォアグラウンド プロセスによって登録されたすべてのコントローラーをチェックします。 ジェスチャが有効でサポートされている何も見つからない場合、ジェスチャはシステム独自のハンドラーにルーティングされます。 バックグラウンド プロセスのコントローラーは無視されます。

Namespace: Windows。Ui。入力

Members

静的メソッド

IsSupported

static Boolean IsSupported();

TouchpadGesturesController の機能がシステムでサポートされているかどうかを返します。

CreateForProcess

static TouchpadGesturesController CreateForProcess();

関連付けられたプロセスの TouchpadGesturesController を作成します。 特定のプロセスに対して複数のコントローラーを作成できますが、複数のコントローラーが有効になっており、同じジェスチャのサポートが宣言されている場合、関連付けられているイベントを受信するのは 1 つだけです。

コントローラーは、作成されるスレッドにウィンドウを作成するため、スレッドにメッセージ ポンプが必要です。 コントローラーのイベントはすべて、このスレッドで発生しますが、任意のスレッドから構成できます。 コントローラーのウィンドウは、 RegisterTouchpadCapableWindow を介してタッチパッド対応としてマークされます。スレッドの影響については、そのドキュメントを参照してください。

プロパティ

有効

Boolean Enabled;

コントローラーが有効かどうかを取得または設定します。 無効にした場合、ルーティング ジェスチャの有効なターゲットとしてシステムによって考慮されません。

SupportedGestures

TouchpadGlobalGestureKinds SupportedGestures;

コントローラーでサポートされるジェスチャを取得または設定します。 システムは、ジェスチャのサポートを宣言している場合にのみ、コントローラーにジェスチャをルーティングします。 操作とは、指が移動したタッチパッドの入力を指します (たとえば、タッチパッド全体でスワイプする場合)。一方、アクションは固定された指 (たとえば、移動せずにタッチパッドのサーフェス ボタンをタップまたは押す) によって発生します。

イベント

PointerPressed、PointerMoved、PointerReleased

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 をトリガーし、その後に PointerReleased で終了した 0 個以上の PointerMoved をトリガーします。

タッチパッドのポインター入力には、他のポインター デバイスの種類と比較していくつかの違いがあります。 詳細については、 GetPointerTouchpadInfo の解説を参照してください。

GetPointerInfo などの Win32 API を使用して、これらのイベントの 1 つを処理するときにポインター入力に関する情報を照会することは許容されますが、SkipPointerFrameMessages は呼び出さないでください。 TouchpadGesturesController は、イベントをトリガーするだけでなく、入力に対して処理を実行し、ポインター メッセージをスキップすると、その処理が正しく動作しない可能性があります。

GlobalActionPerformed

event Windows.Foundation.TypedEventHandler<
    TouchpadGesturesController,
    TouchpadGlobalActionEventArgs> GlobalActionPerformed;

"アクション" スタイルのジェスチャに対してトリガーされます。

  • [X]FingerTap: ユーザーがタッチパッドでマルチ指タップを実行することによってトリガーされます。
  • [X]FingerPress: ユーザーが複数の指でタッチパッドのサーフェス ボタンを押すとトリガーされます。
  • [X]FingerRelease: ユーザーが上記のイベントの後にタッチパッドのサーフェス ボタンを離すことによってトリガーされます。

TouchpadGlobalGestureKinds

[flags]
enum TouchpadGlobalGestureKinds
{
    None                        = 0x0,
    ThreeFingerManipulations    = 0x1,
    FourFingerManipulations     = 0x2,
    FiveFingerManipulations     = 0x4,
    ThreeFingerActions          = 0x8,
    FourFingerActions           = 0x10,
    FiveFingerActions           = 0x20,
};
価値 説明
なし (0x0) ジェスチャなし。
ThreeFingerManipulations (0x1) 3 本指のスワイプ/ドラッグ ジェスチャ。
FourFingerManipulations (0x2) 4 本指のスワイプ/ドラッグ ジェスチャ。
FiveFingerManipulations (0x4) 5 本指のスワイプ/ドラッグ ジェスチャ。
ThreeFingerActions (0x8) 3 本指でタップし、ボタンを押すジェスチャ。
FourFingerActions (0x10) 4 本指でタップし、ボタンを押すジェスチャ。
FiveFingerActions (0x20) 5 本指でタップし、ボタンを押すジェスチャ。

TouchpadGlobalAction

enum TouchpadGlobalAction
{
    ThreeFingerTap,
    FourFingerTap,
    FiveFingerTap,
    ThreeFingerPress,
    FourFingerPress,
    FiveFingerPress,
    ThreeFingerRelease,
    FourFingerRelease,
    FiveFingerRelease,
};
価値 説明
ThreeFingerTap タッチパッドを 3 本指でタップします。
FourFingerTap タッチパッドを 4 本指でタップします。
FiveFingerTap タッチパッドを 5 本指でタップします。
ThreeFingerPress タッチパッドの Surface ボタンを 3 本指で押します。
FourFingerPress タッチパッドの Surface ボタンを 4 本指で押します。
FiveFingerPress タッチパッドの Surface ボタンを 5 本指で押します。
ThreeFingerRelease 3 本指で押した後に離します。
FourFingerRelease 4 本指で押した後に離します。
FiveFingerRelease 5 本指で押した後に離します。

必要条件

Requirement 価値
サポートされる最小クライアント 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

こちらも参照ください