DIDEVICEINSTANCE
DirectInput デバイスのインスタンスを表します。この構造体は、IDirectInput8::EnumDevices、IDirectInput8::EnumDevicesBySemantics、および IDirectInputDevice8::GetDeviceInfo メソッドで使用されます。
typedef struct DIDEVICEINSTANCE {
DWORD dwSize;
GUID guidInstance;
GUID guidProduct;
DWORD dwDevType;
TCHAR tszInstanceName[MAX_PATH];
TCHAR tszProductName[MAX_PATH];
GUID guidFFDriver;
WORD wUsagePage;
WORD wUsage;
} DIDEVICEINSTANCE, *LPDIDEVICEINSTANCE;
メンバ
- dwSize
この構造体のサイズ (バイト)。構造体を使用する前に、このメンバーを初期化する必要があります。 - guidInstance
デバイスのインスタンスの一意な識別子です。アプリケーションは、このインスタンスのグローバル一意識別子 (GUID) を構成ファイルに保存し、後で使用することができます。インスタンス GUID は、特定のコンピューターに固有です。あるコンピューターから取得されるインスタンス GUID は、他のコンピューターのインスタンス GUID とは関係していません。 - guidProduct
製品の一意な識別子です。この識別子は、デバイスの製造元によって設定されます。 - dwDevType
デバイス種類指定子。デバイス タイプ記述コードの最下位バイトは、デバイス タイプを指定します。最下位バイトの 1 つ上位のバイトは、デバイス サブタイプを指定します。この値は、ヒューマン インターフェイス デバイス (HID) を指定する DIDEVTYPE_HID と組み合わせることもできます。 - tszInstanceName
インスタンスのフレンドリ名です。たとえば、"Joystick 1" などです。 - tszProductName
製品のフレンドリ名です。 - guidFFDriver
フォース フィードバックに使用されるドライバーの一意な識別子です。この識別子は、ドライバーの製造元によって設定されます。 - wUsagePage
デバイスがヒューマン インターフェイス デバイス (HID) である場合、このメンバーには HID 使用方法ページ コードが格納されます。 - wUsage
デバイスがヒューマン インターフェイス デバイス (HID) である場合、このメンバーには HID 使用方法コードが格納されます。
解説
dwDevType メンバーで使用できるように、次のデバイス タイプおよびサブタイプが 定義されています。
DI8DEVTYPE_1STPERSON
一人称型のアクション ゲーム デバイスです。次のサブタイプが定義されています。
DI8DEVTYPE1STPERSON_LIMITED
アクション マッピング用のデバイス オブジェクトの最小数を指定しないデバイスです。
DI8DEVTYPE1STPERSON_SHOOTER
一人称型のシューティング ゲーム用に設計されたデバイスです。
DI8DEVTYPE1STPERSON_SIXDOF
6 つの自由度 (3 つの直線軸と 3 つの回転軸) を備えたデバイスです。
DI8DEVTYPE1STPERSON_UNKNOWN
不明なサブタイプです。
DI8DEVTYPE_DEVICE
他のカテゴリに該当しないデバイスです。
DI8DEVTYPE_DEVICECTRL
アプリケーションのコンテキスト内から別のタイプのデバイスの制御に使用される入力デバイスです。次のサブタイプが定義されています。
DI8DEVTYPEDEVICECTRL_COMMSSELECTION
通信の選択に使用されるコントロールです。
DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED
既定の構成を使用する必要がある、再マップできないデバイスです。
DI8DEVTYPEDEVICECTRL_UNKNOWN
不明なサブタイプです。
DI8DEVTYPE_DRIVING
ステアリング用のデバイスです。次のサブタイプが定義されています。
DI8DEVTYPEDRIVING_COMBINEDPEDALS
1 つの軸からアクセルとブレーキ ペダルの値を報告するステアリング デバイスです。
DI8DEVTYPEDRIVING_DUALPEDALS
別々の軸からアクセルとブレーキ ペダルの値を報告するステアリング デバイスです。
DI8DEVTYPEDRIVING_HANDHELD
ハンドル タイプのステアリング デバイスです。
DI8DEVTYPEDRIVING_LIMITED
アクション マッピング対象のデバイス オブジェクトの最小数を指定しないステアリング デバイスです。
DI8DEVTYPEDRIVING_THREEPEDALS
別々の軸からアクセル、ブレーキ、およびクラッチ ペダルの値を報告するステアリング デバイスです。
DI8DEVTYPE_FLIGHT
フライト シミュレーション用のコントローラーです。次のサブタイプが定義されています。
DI8DEVTYPEFLIGHT_LIMITED
アクション マッピング対象のデバイス オブジェクトの最小数を指定しないフライト コントローラーです。
DI8DEVTYPEFLIGHT_RC
模型飛行機のリモコンをベースにしたフライト デバイスです。
DI8DEVTYPEFLIGHT_STICK
ジョイスティックです。
DI8DEVTYPEFLIGHT_YOKE
ヨークです。
DI8DEVTYPE_GAMEPAD
ゲームパッドです。次のサブタイプが定義されています。
DI8DEVTYPEGAMEPAD_LIMITED
アクション マッピング対象のデバイス オブジェクトの最小数を指定しないゲームパッドです。
DI8DEVTYPEGAMEPAD_STANDARD
アクション マッピング対象のデバイス オブジェクトの最小数を指定する、標準ゲームパッドです。
DI8DEVTYPEGAMEPAD_TILT
コントローラーの角度によって x 軸と y 軸のデータを報告可能なゲームパッドです。
DI8DEVTYPE_JOYSTICK
ジョイスティックです。次のサブタイプが定義されています。
DI8DEVTYPEJOYSTICK_LIMITED
アクション マッピング対象のデバイス オブジェクトの最小数を指定しないジョイスティックです。
DI8DEVTYPEJOYSTICK_STANDARD
アクション マッピング対象のデバイス オブジェクトの最小数を指定する、標準ジョイスティックです。
DI8DEVTYPE_KEYBOARD
キーボードまたはキーボード形式のデバイスです。次のサブタイプが定義されています。
DI8DEVTYPEKEYBOARD_UNKNOWN
サブタイプを特定できません。
DI8DEVTYPEKEYBOARD_PCXT
IBM PC/XT 83 キーボードです。
DI8DEVTYPEKEYBOARD_OLIVETTI
Olivetti 102 キーボードです。
DI8DEVTYPEKEYBOARD_PCAT
IBM PC/AT 84 キーボードです。
DI8DEVTYPEKEYBOARD_PCENH
IBM PC 拡張 101/102 キーボードまたは Microsoft Natural キーボードです。
DI8DEVTYPEKEYBOARD_NOKIA1050
Nokia 1050 キーボードです。
DI8DEVTYPEKEYBOARD_NOKIA9140
Nokia 9140 キーボードです。
DI8DEVTYPEKEYBOARD_NEC98
日本語 NEC PC98 キーボードです。
DI8DEVTYPEKEYBOARD_NEC98LAPTOP
日本語 NEC PC98 ラップトップ キーボードです。
DI8DEVTYPEKEYBOARD_NEC98106
日本語 NEC PC98 106 キーボードです。
DI8DEVTYPEKEYBOARD_JAPAN106
日本語 106 キーボードです。
DI8DEVTYPEKEYBOARD_JAPANAX
日本語 AX キーボードです。
DI8DEVTYPEKEYBOARD_J3100
日本語 J3100 キーボードです。
DI8DEVTYPE_MOUSE
マウスまたはマウス形式のデバイス (トラックボールなど) です。次のサブタイプが定義されています。
DI8DEVTYPEMOUSE_ABSOLUTE
絶対軸データを返すマウスです。
DI8DEVTYPEMOUSE_FINGERSTICK
フィンガースティックです。
DI8DEVTYPEMOUSE_TOUCHPAD
タッチパッドです。
DI8DEVTYPEMOUSE_TRACKBALL
トラックボールです。
DI8DEVTYPEMOUSE_TRADITIONAL
従来型のマウスです。
DI8DEVTYPEMOUSE_UNKNOWN
サブタイプを特定できません。
DI8DEVTYPE_REMOTE
リモート コントロール デバイスです。次のサブタイプが定義されています。
DI8DEVTYPEREMOTE_UNKNOWN
サブタイプを特定できません。
DI8DEVTYPE_SCREENPOINTER
スクリーン ポインターです。次のサブタイプが定義されています。
DI8DEVTYPESCREENPTR_UNKNOWN
不明なサブタイプです。
DI8DEVTYPESCREENPTR_LIGHTGUN
ライト ガンです。
DI8DEVTYPESCREENPTR_LIGHTPEN
ライト ペンです。
DI8DEVTYPESCREENPTR_TOUCH
タッチ スクリーンです。
DI8DEVTYPE_SUPPLEMENTAL
ホイールと共に使用するペダルなど、アプリケーションのメイン コントロールには適さない機能を備えた特殊デバイスです。次のサブタイプが定義されています。
DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER
補助のハンドル タイプ コントローラーです。
DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS
1 つの軸からアクセルとブレーキ ペダルの値を報告することが主な機能のデバイスです。
DI8DEVTYPESUPPLEMENTAL_DUALPEDALS
別々の軸からアクセルとブレーキ ペダルの値を報告することが主な機能のデバイスです。
DI8DEVTYPESUPPLEMENTAL_HANDTRACKER
手の動きを追跡するデバイスです。
DI8DEVTYPESUPPLEMENTAL_HEADTRACKER
頭の動きを追跡するデバイスです。
DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS
ラダー ペダルを供えたデバイスです。
DI8DEVTYPESUPPLEMENTAL_SHIFTER
軸からギアの選択を報告するデバイスです。
DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE
ボタンの状態からギアの選択を報告するデバイスです。
DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE
2 つ以上スロットル値を報告することが主な機能のデバイスです。他にもコントロールがある場合があります。
DI8DEVTYPESUPPLEMENTAL_THREEPEDALS
別々の軸からアクセル、ブレーキ、およびクラッチ ペダルの値を報告することが主な機能のデバイスです。
DI8DEVTYPESUPPLEMENTAL_THROTTLE
1 つのスロットル値を報告することが主な機能のデバイスです。他にもコントロールがある場合があります。
DI8DEVTYPESUPPLEMENTAL_UNKNOWN
不明なサブタイプです。
DirectX 8.0 より前のバージョンの DirectInput では、デバイス タイプおよびサブタイプの構成が多少異なります。Dinput.h の DIDEVTYPExxx の定義を参照してください。