MGL::Inputゲームパッド関連定義#

概要#

MGL::Inputで定義されている、ゲームパッドに関わる定義です。

#

種類

名前

内容

列挙型

PadButton

ゲームパッドのボタンを表す列挙型

PadButtonFlags

ゲームパッドのボタンのビットフラグ型

列挙型

PadType

ゲームパッドの種類を表す列挙型

列挙型

PadEntry

ゲームパッドのエントリーを表す列挙型


PadButton#

ゲームパッドのボタンを表す列挙型

宣言#

namespace MGL::Input
{
    enum class PadButton : uint8_t
    {
        // 省略(一覧参照)
    };
}

一覧#

基本

名前

内容

None

0

入力なし

Up

1

D-Padの上

Down

2

D-Padの下

Left

3

D-Padの左

Right

4

D-Padの右

AnalogUp

5

左スティックの上

AnalogDown

6

左スティックの下

AnalogLeft

7

左スティックの左

AnalogRight

8

左スティックの右

Button01

9

ボタン1

Button02

10

ボタン2

Button03

11

ボタン3

Button04

12

ボタン4

Button05

13

ボタン5

Button06

14

ボタン6

Button07

15

ボタン7

Button08

16

ボタン8

Button09

17

ボタン9

Button10

18

ボタン10

Button11

19

ボタン11

Button12

20

ボタン12

Button13

21

ボタン13

Button14

22

ボタン14

Button15

23

ボタン15

Button16

24

ボタン16

Button17

25

ボタン17

Button18

26

ボタン18

Button19

27

ボタン19

Button20

28

ボタン20

Button21

29

ボタン21

Cancel

30

キャンセルボタン

Decide

31

決定ボタン

共通の別名

名前

内容

L1

Button05

L1/LB

R1

Button06

R1/RB

L2

Button07

L2/LT

R2

Button08

R2/RT

PrimaryMenu

Button09

Pause/Start/Menu

SecondaryMenu

Button10

Select/Back/View

Home

Button11

ホームボタン

L3

Button12

L3/左サムスティックボタン

R3

Button13

R3/右サムスティックボタン

Other1

Button14

その他1

Other2

Button15

その他2

Other3

Button16

その他3

Other4

Button17

その他4

Other5

Button18

その他5

Other6

Button19

その他6

Other7

Button20

その他7

Other8

Button21

その他8

ダイヤモンド配置のボタンの別名

名前

内容

DiaDown

Button01

ダイヤ配置の下のボタン

DiaRight

Button02

ダイヤ配置の右のボタン

DiaLeft

Button03

ダイヤ配置の左のボタン

DiaUp

Button04

ダイヤ配置の上のボタン

任天堂系のボタンの別名

名前

内容

NintendoA

DiaRight

Aボタン

NintendoB

DiaDown

Bボタン

NintendoX

DiaUp

Xボタン

NintendoY

DiaLeft

Yボタン

XInputのボタンの別名

名前

内容

XInputA

DiaDown

Aボタン

XInputB

DiaRight

Bボタン

XInputX

DiaLeft

Xボタン

XInputY

DiaUp

Yボタン

XInputMenu

PrimaryMenu

Menu/Startボタン

XInputView

SecondaryMenu

View/Backボタン

XInputShare

Other1

Shareボタン

XInputPaddle1

Other2

背面パドル1

XInputPaddle2

Other3

背面パドル2

XInputPaddle3

Other4

背面パドル3

XInputPaddle4

Other5

背面パドル4

DUALSHOCK 4/DualSenseのボタンの別名

名前

内容

DSCircle

DiaRight

◯ボタン

DSCross

DiaDown

×ボタン

DSTriangle

DiaUp

△ボタン

DSSquare

DiaLeft

□ボタン

DSOptions

PrimaryMenu

Optionsボタン

DSShare

SecondaryMenu

Share/Createボタン

DSTouchPad

Other1

タッチパッドボタン

MFiのボタンの別名

名前

内容

MFiA

DiaDown

Aボタン

MFiB

DiaRight

Bボタン

MFiX

DiaLeft

Xボタン

MFiY

DiaUp

Yボタン

MFiTouchSurface

Other1

タッチサーフェスのタッチ

説明#

ゲームパッドにおける各ボタンを表す値の定義です。主にボタンの入力判定に利用します。

ボタンは|(or)演算子によってPadButtonFlagsへの変換が可能です。

// L1とR1の両方を表すビットフラグを生成
auto bitFlags = MGL::Input::PadButton::L1 | MGL::Input::PadButton::R1;

// さらにPrimaryMenuボタンも追加
bitFlags |= MGL::Input::PadButton::PrimaryMenu;

ビットフラグに対する操作についてはMGL::EnumBitFlagsのAPIリファレンスを参照してください。

一部のボタンには特定の種類のゲームパッドに対応した別名が定義されています。この種類はPadTypeに関連付けられています。

AnalogUpAnalogDownAnalogLeftAnalogRightMGL::Input::Gamepad::GetLeftStickで得られる左スティックの状態に応じて設定される値を表しています。

DecideCancelはそれぞれ決定ボタンとキャンセルボタンを表しています。このボタンは他のボタンの入力と連動してオンになりますが、どのボタンと連動するかはPadTypeによって異なります。詳細は決定ボタンとキャンセルボタンを参照してください。

Noneはボタン入力に対する無効を表すための予約です。この値を用いて入力状態を取得した場合、常に入力なしとして扱われます。

関連#


PadButtonFlags#

ゲームパッドのボタンのビットフラグ型

宣言#

namespace MGL::Input
{
    using PadButtonFlags = EnumBitFlags<PadButton>;
}

説明#

ゲームパッドのボタンのビットフラグを表す型です。複数のボタンを1つの値で扱う際に利用します。

このビットフラグに対する操作についてはMGL::EnumBitFlagsのAPIリファレンスを参照してください。

PadButton|(or)演算子を使用した結果はこの型に変換されます。

関連#


PadType#

ゲームパッドの種類を表す列挙型

宣言#

namespace MGL::Input
{
    enum class PadType : uint8_t
    {
        // 省略(一覧参照)
    };
}

一覧#

名前

内容

Disable

無効/未接続

MFiExtended

MFi拡張ゲームパッド

MFiMicro

SiriRemote

NintendoSwitch

Nintendo Switch用ゲームパッド

DualShock4

DUALSHOCK 4

DualSense

DualSense

XboxOne

Xbox One用ゲームパッド

GenericHID

汎用HID

XInput

XInputで認識されているゲームパッド

DirectInput

DirectInputで認識されているゲームパッド

Other

その他

説明#

ゲームパッドの種類を表す値の定義です。取得したゲームパッドのMGL::Input::Gamepad::GetTypeを呼び出すことで、そのゲームパッドがどのように認識されているかを判別可能となります。

値の内容は次の通りです。

Disable

無効または未接続を表す値です。無効なゲームパッドから認識タイプを取得した場合はこの値になります。

MFiExtended

Apple MFi Programで認証された拡張ゲームパッドとして認識していることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名およびMFiのボタンの別名が利用可能です。

MFiMicro

AppleTV付属のSiri Remoteであることを表す値です。AppleTVのみで認識されます。

NintendoSwitch

Nintendo Switch用ゲームパッドとして認識されていることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名および任天堂系のボタンの別名が利用可能です。

DualShock4

PlayStation4用のDUALSHOCK 4ワイヤレスコントローラー、およびその互換製品であることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名およびDUALSHOCK 4/DualSenseのボタンの別名が利用可能です。

DualSense

PlayStation5用のDualSenseワイヤレスコントローラー、およびその互換製品であることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名およびDUALSHOCK 4/DualSenseのボタンの別名が利用可能です。

XboxOne

Xbox One標準のコントローラー、およびその互換製品であることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名およびXInputのボタンの別名が利用可能です。

GenericHID

汎用のHIDゲームパッドとして認識していることを表す値です。この認識タイプでは製品の特定は行えておらず、いかなる別名も正しいボタンを表す保証がありません。

XInput

WindowsでXInputにて認識していることを表す値です。このタイプで認識されているゲームパッドは、ボタンの別名にダイヤモンド配置のボタンの別名およびXInputのボタンの別名が利用可能です。なお、このタイプではシェアボタンと背面パドルボタンは利用できません。

DirectInput

WindowsでDirectInputにて認識していることを表す値です。この認識タイプでは製品の特定は行えておらず、いかなる別名も正しいボタンを表す保証がありません。

Other

上記以外のタイプを表す値です。標準構成ではこのタイプを使用しません。

接続されているゲームパッドが同一の製品であっても、どの種類として認識するかは環境によって異なります。詳細はプラットフォーム別情報を参照してください。

関連#


PadEntry#

ゲームパッドのエントリーを表す列挙型

宣言#

namespace MGL::Input
{
    enum class PadEntry : uint8_t
    {
        // 省略(一覧参照)
    };
}

一覧#

名前

内容

Player1

プレイヤー1

Player2

プレイヤー2

Player3

プレイヤー3

Player4

プレイヤー4

Player5

プレイヤー5

Player6

プレイヤー6

Player7

プレイヤー7

Player8

プレイヤー8

NoEntry

エントリーなし

Any

どれでも

Auto

自動

説明#

ゲームパッドのエントリーを表す列挙型です。

MGL::Input::Gamepad::Entryによってエントリーしたゲームパッドには、Player1からPlayer8までのいずれかの値が設定されます。この値はアプリケーション側からゲームパッドを識別するために利用されます。未エントリーのゲームパッドに対してはNoEntryが設定されています。

NoEntryAnyAutoは一部の関数の引数に指定することで特殊な指定となる場合があります。詳細はMGL::Input::Gamepadの各APIの説明を参照してください。