次の方法で共有


デバイスのユーザー構成

デバイスのユーザー構成

Microsoft® DirectInput® には、アプリケーションからプロパティ シートを呼び出す機能がある。これにより、ユーザーはデバイスをそのアプリケーション用に構成して、現在の構成を表示できる。このプロパティ シートは、デバイス メーカーが用意するさまざまなビューで表示できる。

ユーザー構成を有効にするには、目的のマッピングを記述した DIACTIONFORMAT 構造体へのポインタを含む DICONFIGUREDEVICESPARAMS 構造体を、DICD_EDIT フラグと共に IDirectInput8::ConfigureDevices メソッドに渡す。通常、この処理は、アプリケーションで使うすべてのデバイスに対して IDirectInputDevice8::BuildActionMap を呼び出した後で行う。

次の図は、編集モードの典型的なプロパティ シートを示している。

アクション マップを構成するためのグラフィカル ユーザー インターフェイス

デバイス メーカーからデバイス イメージが提供されていない場合、マッピングは次の図のようにテキスト モードで表示される。

アクション マップを構成するためのテキスト ユーザー インターフェイス

  Microsoft Windows® キーは、アプリケーションの協調レベルで排他協調レベルを通して受動的に無効にする場合や、DISCL_NOWINKEY フラグを使って能動的に無効にする場合でも、デフォルトのアクション マッピング UI が表示されている間はアクティブになる。

デバイスのプロパティ ページには、各 DIACTION 構造体の lptszActionName メンバに指定された登録名のリストが表示される。デバイスに対して既に IDirectInputDevice8::BuildActionMap を呼び出している場合、プロパティ ページでは、デバイスのイメージ上に、アクションがマップされたデバイス オブジェクトを指す線と、コールアウトとしてこれらの名前も表示される。

これにより、ユーザーはまずコントロールを選択し、次にメニューからアクションを選択して、ゲームのアクションを割り当て直すことができる。ユーザーがプロパティ シートを閉じると、メソッドが返り、渡した DIACTIONFORMAT 構造体に変更内容が格納される。その後、同じ構造体を IDirectInputDevice8::SetActionMap に渡すと、新しいマッピング設定を実装できる。