1

ゲームを実行しているコンピューターにマウスまたはトラックパッドが接続されているかどうかを判断する方法を探しているので、それに応じてデフォルトのコントロールを設定できます。デスクトップで見られる典型的なキーボードとマウスのセットアップと、外付けマウスがある場合とない場合がありますが、トラックパッドが組み込まれているラップトップを区別しようとしています。

疑似コードでは、これは私が達成しようとしているものです:

if (hasMouse())
{
    setUpMouseControls();
}
else if (hasTrackPad())
{
    setUpTrackPadControls();
}

これを実行可能にする API はありますか? 私のサポート対象は Windows 7 以降です。私はC++でゲームを書いています。

4

2 に答える 2

0

一部のトラックパッドには、特別なドライバーと一緒に使用できる特別な機能があります (トラックパッドの境界にあるスクロール バーなど)。この場合、特定のデバイス ドライバー (Acme トラックパッド ドライバーなど) の存在を検出できる可能性があります。

ただし、これは一部のトラック パッド モデルでのみ機能します。

VID/PID でいつでも USB トラックパッドを検出できます。

ただし、どちらの方法も、プログラムで認識されているトラックパッド モデルに対してのみ機能します。

他のトラックパッド (特に PS/2 のもの - ラップトップに組み込まれている可能性があります) は、自分自身をトラックパッドとして識別しません - それらは通常のマウスであるとコンピュータに「伝えます」。

そのようなトラックパッドを検出する機会はありません!

于 2014-04-10T17:27:53.890 に答える
0

このリンクに従ってください: http://msdn.microsoft.com/en-us/library/ms645600%28VS.85%29.aspx

RegisterRawInputDevices 関数を使用して WM_INPUT メッセージを受信できます。このメッセージを使用して、入力デバイスのタイプを判別し、デフォルトのコントロールを設定できます。

于 2014-04-10T18:00:03.340 に答える