DIJOYTYPEINFO 構造体 (dinputd.h)
DIJOYTYPEINFO 構造体には、ジョイスティックの種類に関する情報が含まれています。
構文
typedef struct DIJOYTYPEINFO {
DWORD dwSize;
JOYREGHWSETTINGS hws;
CLSID clsidConfig;
WCHAR wszDisplayName[MAX_JOYSTRING];
WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
WCHAR wszHardwareId[MAX_JOYSTRING];
DWORD dwFlags1;
DWORD dwFlags2;
WCHAR wszMapFile[MAX_JOYSTRING];
} DIJOYTYPEINFO, *LPDIJOYTYPEINFO;
メンバー
dwSize
構造体のサイズをバイト単位で指定します。 構造体を使用する前に、このメンバーを初期化する必要があります。
hws
ジョイスティックのハードウェア設定。
clsidConfig
ジョイスティック・タイプ構成オブジェクトの CLSID を指定します。 この CLSID を CoCreateInstance に渡して、構成オブジェクトを作成します。 型にカスタム構成がない場合、このフィールドは 0 です。
wszDisplayName[MAX_JOYSTRING]
ジョイスティックの種類の表示名。 表示名は、ジョイスティックの種類の名前をエンド ユーザーに表示するために使用する名前です。
wszCallout[MAX_JOYSTICKOEMVXDNAME]
この種類のデバイスのポーリングを処理するデバイス。 グローバル ポーリングコールアウトを使用する場合、これは null 文字列です。
wszHardwareId[MAX_JOYSTRING]
ジョイスティックの種類のハードウェア ID。 ハードウェア ID は、Windows 2000 および Windows 98 (DirectX 7.0 のみ) のプラグ アンド プレイによってジョイスティックのドライバーを検索するために使用されます。
dwFlags1
ジョイスティックの種類のフラグ。 このメンバーは、次のフラグの組み合わせに設定できます。
JOYTYPE_ZEROGAMEENUMOEMDATA
Zero GameEnum の OEM データ フィールド。
JOYTYPE_NOAUTODETECTGAMEPORT
デバイスは自動検出ゲームポートをサポートしていません。
JOYTYPE_NOHIDDIRECT
このデバイスには HID を直接使用しないでください。 (Windows 98 のみ)。
JOYTYPE_DEFAULTPROPSHEET
CPL はカスタム プロパティ シートをオーバーライドします。
dwFlags2
デバイス フィルター処理とデバイスの種類/サブタイプオーバーライド フラグの組み合わせ。 デバイス フィルター フラグは、 dwFlags2 の高い WORD に配置する必要があります。 デバイスの種類とサブタイプは、それぞれメンバーの Low と high の WORD に配置する必要があります。
デバイス フィルター フラグ
未分類のデバイスを非表示にします。
JOYTYPE_MOUSEHIDE
マウスを非表示にします。
JOYTYPE_KEYBHIDE
キーボードを非表示にします。
JOYTYPE_GAMEHIDE
ゲーム コントローラーを非表示にします。
JOYTYPE_HIDEACTIVE
非表示フラグはアクティブです。 他の非表示フラグが指定されている場合は、このフラグを含む必要があります。
デバイスの種類とサブタイプのオーバーライド フラグ
デバイスの種類 | デバイス のサブタイプ |
---|---|
DI8DEVTYPE_1STPERSON | DI8DEVTYPE1STPERSON_LIMITED |
DI8DEVTYPE1STPERSON_UNKNOWN | |
DI8DEVTYPE1STPERSON_SIXDOF | |
DI8DEVTYPE1STPERSON_SHOOTER | |
DI8DEVTYPE_DEVICE | 該当なし |
DI8DEVTYPE_DEVICECTRL | DI8DEVTYPEDEVICECTRL_UNKNOWN |
DI8DEVTYPEDEVICECTRL_COMMSSELECTION | |
DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED | |
DI8DEVTYPE_DRIVING | DI8DEVTYPEDRIVING_LIMITED |
DI8DEVTYPEDRIVING_COMBINEDPEDALS | |
DI8DEVTYPEDRIVING_DUALPEDALS | |
DI8DEVTYPEDRIVING_THREEPEDALS | |
DI8DEVTYPEDRIVING_HANDHELD | |
DI8DEVTYPE_FLIGHT | DI8DEVTYPEFLIGHT_LIMITED |
DI8DEVTYPEFLIGHT_STICK | |
DI8DEVTYPEFLIGHT_YOKE | |
DI8DEVTYPEFLIGHT_RC | |
DI8DEVTYPE_GAMEPAD | DI8DEVTYPEGAMEPAD_LIMITED |
DI8DEVTYPEGAMEPAD_STANDARD | |
DI8DEVTYPEGAMEPAD_TILT | |
DI8DEVTYPE_JOYSTICK | DI8DEVTYPEJOYSTICK_LIMITED |
DI8DEVTYPEJOYSTICK_STANDARD | |
DI8DEVTYPEJOYSTICK_ENHANCED | |
DI8DEVTYPE_KEYBOARD | DI8DEVTYPEKEYBOARD_UNKNOWN |
DI8DEVTYPEKEYBOARD_PCXT | |
DI8DEVTYPEKEYBOARD_OLIVETTI | |
DI8DEVTYPEKEYBOARD_PCAT | |
DI8DEVTYPEKEYBOARD_PCENH | |
DI8DEVTYPEKEYBOARD_NOKIA1050 | |
DI8DEVTYPEKEYBOARD_NOKIA9140 | |
DI8DEVTYPEKEYBOARD_NEC98 | |
DI8DEVTYPEKEYBOARD_NEC98LAPTOP | |
DI8DEVTYPEKEYBOARD_NEC98106 | |
DI8DEVTYPEKEYBOARD_JAPAN106 | |
DI8DEVTYPEKEYBOARD_JAPANAX | |
DI8DEVTYPEKEYBOARD_J3100 | |
DI8DEVTYPE_MOUSE | DI8DEVTYPEMOUSE_UNKNOWN |
DI8DEVTYPEMOUSE_TRADITIONAL | |
DI8DEVTYPEMOUSE_FINGERSTICK | |
DI8DEVTYPEMOUSE_TOUCHPAD | |
DI8DEVTYPEMOUSE_TRACKBALL | |
DI8DEVTYPEMOUSE_ABSOLUTE | |
DI8DEVTYPE_REMOTE | DI8DEVTYPEREMOTE_UNKNOWN |
DI8DEVTYPE_SCREENPOINTER | DI8DEVTYPESCREENPTR_UNKNOWN |
DI8DEVTYPESCREENPTR_LIGHTGUN | |
DI8DEVTYPESCREENPTR_LIGHTPEN | |
DI8DEVTYPESCREENPTR_TOUCH | |
DI8DEVTYPE_SUPPLEMENTAL | DI8DEVTYPESUPPLEMENTAL_UNKNOWN |
DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER | |
DI8DEVTYPESUPPLEMENTAL_HEADTRACKER | |
DI8DEVTYPESUPPLEMENTAL_HANDTRACKER | |
DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE | |
DI8DEVTYPESUPPLEMENTAL_SHIFTER | |
DI8DEVTYPESUPPLEMENTAL_THROTTLE | |
DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE | |
DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS | |
DI8DEVTYPESUPPLEMENTAL_DUALPEDALS | |
DI8DEVTYPESUPPLEMENTAL_THREEPEDALS | |
DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS |
wszMapFile[MAX_JOYSTRING]
注釈
"ジョイスティックの種類" は、DirectInput がデバイスと通信する方法と、デバイス データを報告する方法について説明します。 たとえば、"A Frobozz Industries SuperStick 5X は 3 軸の 5 ボタンのジョイスティックであり、3 番目の軸は 2 番目のポートの最初のビットとして報告されます。
DirectInput には、次の定義済みのジョイスティックの種類が付属しています。すべて、既定の場所に軸があります。
- 2 軸、2 ボタンのジョイスティック。
- 2 ボタンのゲーム パッド。
- 2ボタンフライトヨーク。
- スロットル付き2ボタンフライトヨーク。
- 3 軸の 2 ボタンジョイスティック。
- 3軸、4ボタンジョイスティック。
- 4 ボタンのゲーム パッド。
- 4ボタンフライトヨーク。
- スロットル付き4ボタンフライトヨーク。
DirectX 8.0 の新機能
dwFlags2 メンバーが DIJOYCONFIG 構造体に追加されました。 このメンバーは、DirectInput がデバイスをアプリケーションに列挙する方法を制御する情報を提供します。 dwFlags2 メンバーは、低い単語のデバイスの種類とサブタイプのオーバーライド フラグ、および上位ワードのデバイス列挙の "非表示" フラグを持ちます。 デバイスの種類とサブタイプのオーバーライド フラグは、DirectInput を使用するアプリケーションに対して DirectInput がデバイスを表示する方法を制御します。 これらは、アプリケーションがデバイスの列挙中に DirectInput から受け取るのと同じフラグです。 たとえば、デバイスがファームウェアでテレフォニー デバイスとして記述されている場合、テレフォニー デバイスはゲームに関連しないと見なされるため、通常はゲームに列挙されません。 ただし、DI8DEVTYPE_DEVICECTRLとDI8DEVTYPEDEVICECONTROL_COMMSSELECTIONを使用してこのデバイスを記述した場合、DirectInput はファームウェアから取得したデータをオーバーライドし、デバイスをゲームに列挙します。
dwFlags2 の上位ワードには、DirectInput がデバイスを DirectInput アプリケーションに列挙する方法をスコープとするフラグを含めることができます。 たとえば、一部のデバイスでは、複数の最上位レベルの HID コレクションが宣言されています。 このようなデバイスでは、キーボード、マウス、ジョイスティックをすべて 1 つで動作できることを宣言する場合があります。 一般に、これらの最上位レベルのコレクションの 1 つ以上は単なるファントム デバイスであり、ゲームには列挙しないでください。 このデバイスでは、 dwFlags2 の上位ワードを、JOYTYPE_HIDEACTIVE、JOYTYPE_MOUSEHIDE、およびJOYTYPE_KEYBHIDEフラグの組み合わせに設定できます。 JOYTYPE_HIDEACTIVE フラグは、DirectInput ですべての種類のデバイスを列挙しないことを示します。 高い単語に存在するJOYTYPE_MOUSEHIDEフラグとJOYTYPE_KEYBHIDE フラグは、デバイス上のファントム マウスとキーボードの列挙を抑制する必要があることを DirectInput に示します。 アプリケーションには、非表示になっている場合でも、デバイスを列挙するためのDIEDFL_INCLUDEHIDDEN (Microsoft Windows SDK ドキュメントで説明) フラグを含めることができます。
要件
要件 | 値 |
---|---|
Header | dinputd.h |