GameInputGamepadButtons
枚举游戏手柄按钮,包括方向键 (D-pad) 以及从轴到按钮的转换。语法
enum GameInputGamepadButtons
{
GameInputGamepadNone = 0x00000000,
GameInputGamepadMenu = 0x00000001,
GameInputGamepadView = 0x00000002,
GameInputGamepadA = 0x00000004,
GameInputGamepadB = 0x00000008,
GameInputGamepadC = 0x00004000,
GameInputGamepadX = 0x00000010,
GameInputGamepadY = 0x00000020,
GameInputGamepadZ = 0x00008000,
GameInputGamepadDPadUp = 0x00000040,
GameInputGamepadDPadDown = 0x00000080,
GameInputGamepadDPadLeft = 0x00000100,
GameInputGamepadDPadRight = 0x00000200,
GameInputGamepadLeftShoulder = 0x00000400,
GameInputGamepadRightShoulder = 0x00000800,
GameInputGamepadLeftTriggerButton = 0x00010000,
GameInputGamepadRightTriggerButton = 0x00020000,
GameInputGamepadLeftThumbstick = 0x00001000,
GameInputGamepadLeftThumbstickUp = 0x00040000,
GameInputGamepadLeftThumbstickDown = 0x00080000,
GameInputGamepadLeftThumbstickLeft = 0x00100000,
GameInputGamepadLeftThumbstickRight = 0x00200000,
GameInputGamepadRightThumbstick = 0x00002000,
GameInputGamepadRightThumbstickUp = 0x00400000,
GameInputGamepadRightThumbstickDown = 0x00800000,
GameInputGamepadRightThumbstickLeft = 0x01000000,
GameInputGamepadRightThumbstickRight = 0x02000000,
GameInputGamepadPaddleLeft1 = 0x04000000,
GameInputGamepadPaddleLeft2 = 0x08000000,
GameInputGamepadPaddleRight1 = 0x10000000,
GameInputGamepadPaddleRight2 = 0x20000000,
};
// Gamepad modules (Groupings of gamepad elements commonly found together)
const GameInputGamepadButtons GameInputGamepadModuleSystemDuo =
GameInputGamepadMenu |
GameInputGamepadView;
const GameInputGamepadButtons GameInputGamepadModuleDpad =
GameInputGamepadDPadUp |
GameInputGamepadDPadDown |
GameInputGamepadDPadLeft |
GameInputGamepadDPadRight;
const GameInputGamepadButtons GameInputGamepadModuleShoulders =
GameInputGamepadLeftShoulder |
GameInputGamepadRightShoulder;
const GameInputGamepadButtons GameInputGamepadModuleTriggers =
GameInputGamepadLeftTriggerButton |
GameInputGamepadRightTriggerButton;
const GameInputGamepadButtons GameInputGamepadModuleThumbsticks =
GameInputGamepadLeftThumbstickUp |
GameInputGamepadLeftThumbstickDown |
GameInputGamepadLeftThumbstickLeft |
GameInputGamepadLeftThumbstickRight |
GameInputGamepadRightThumbstickUp |
GameInputGamepadRightThumbstickDown |
GameInputGamepadRightThumbstickLeft |
GameInputGamepadRightThumbstickRight;
const GameInputGamepadButtons GameInputGamepadModulePaddles2 =
GameInputGamepadPaddleLeft1 |
GameInputGamepadPaddleRight1;
const GameInputGamepadButtons GameInputGamepadModulePaddles4 =
GameInputGamepadPaddleLeft1 |
GameInputGamepadPaddleLeft2 |
GameInputGamepadPaddleRight1 |
GameInputGamepadPaddleRight2;
// Commonly found gamepad layouts. Custom layouts are possible and encouraged.
const GameInputGamepadButtons GameInputGamepadLayoutBasic =
GameInputGamepadModuleSystemDuo |
GameInputGamepadModuleDpad |
GameInputGamepadA |
GameInputGamepadB;
const GameInputGamepadButtons GameInputGamepadLayoutButtons =
GameInputGamepadLayoutBasic |
GameInputGamepadX |
GameInputGamepadY |
GameInputGamepadModuleShoulders;
const GameInputGamepadButtons GameInputGamepadLayoutStandard =
GameInputGamepadLayoutButtons |
GameInputGamepadModuleTriggers |
GameInputGamepadModuleThumbsticks |
GameInputGamepadLeftThumbstick |
GameInputGamepadRightThumbstick;
const GameInputGamepadButtons GameInputGamepadLayoutElite =
GameInputGamepadLayoutStandard |
GameInputGamepadModulePaddles4;
常量
| 常量 | 说明 |
|---|---|
| GameInputGamepadNone | 表示未按下任何按钮。 |
| GameInputGamepadMenu | 表示已按下菜单按钮。 |
| GameInputGamepadView | 表示已按下视图按钮。 |
| GameInputGamepadA | 表示已按下 A 按钮。 |
| GameInputGamepadB | 表示已按下 B 按钮。 |
| GameInputGamepadC | 表示已按下 C 按钮。 |
| GameInputGamepadX | 表示已按下 X 按钮。 |
| GameInputGamepadY | 表示已按下 Y 按钮。 |
| GameInputGamepadZ | 表示已按下 Z 按钮。 |
| GameInputGamepadDPadUp | 表示已按下方向键的顶部。 |
| GameInputGamepadDPadDown | 表示已按下方向键的底部。 |
| GameInputGamepadDPadLeft | 表示已按下方向键的左侧。 |
| GameInputGamepadDPadRight | 表示已按下方向键的右侧。 |
| GameInputGamepadLeftShoulder | 表示已按下左肩键。 |
| GameInputGamepadRightShoulder | 表示已按下右肩键。 |
| GameInputGamepadLeftTriggerButton | 表示已按下左扳机按钮。 |
| GameInputGamepadRightTriggerButton | 表示已按下右扳机按钮。 |
| GameInputGamepadLeftThumbstick | 表示已按下左摇杆。 |
| GameInputGamepadLeftThumbstickUp | 表示左摇杆指向上方。 |
| GameInputGamepadLeftThumbstickDown | 表示左摇杆指向下方。 |
| GameInputGamepadLeftThumbstickLeft | 表示左摇杆指向左方。 |
| GameInputGamepadLeftThumbstickRight | 表示左摇杆指向右方。 |
| GameInputGamepadRightThumbstick | 表示已按下右摇杆。 |
| GameInputGamepadRightThumbstickUp | 表示右摇杆指向上方。 |
| GameInputGamepadRightThumbstickDown | 表示右摇杆指向下方。 |
| GameInputGamepadRightThumbstickLeft | 表示右摇杆指向左方。 |
| GameInputGamepadRightThumbstickRight | 表示右摇杆指向右方。 |
| GameInputGamepadPaddleLeft1 | 表示已按下左侧第一个拨片按钮。 |
| GameInputGamepadPaddleLeft2 | 表示已按下左侧第二个拨片按钮。 |
| GameInputGamepadPaddleRight1 | 表示已按下右侧第一个拨片按钮。 |
| GameInputGamepadPaddleRight2 | 表示已按下右侧第二个拨片按钮。 |
手柄模块
模块表示手柄上通常一起出现的一组元素。| 常量 | 说明 |
|---|---|
| GameInputGamepadModuleSystemDuo | 菜单和视图按钮。 |
| GameInputGamepadModuleDpad | 方向键按钮(上、下、左、右)。 |
| GameInputGamepadModuleShoulders | 左右肩键。 |
| GameInputGamepadModuleTriggers | 左右扳机。 |
| GameInputGamepadModuleThumbsticks | 左右摇杆。 |
| GameInputGamepadModulePaddles2 | 两个第一层拨片按钮(左 1 和右 1)。 |
| GameInputGamepadModulePaddles4 | 全部四个拨片按钮(左 1、左 2、右 1、右 2)。 |
手柄布局
常见的手柄布局。| 常量 | 说明 |
|---|---|
| GameInputGamepadLayoutBasic | System duo(菜单和视图)、方向键,以及 A 和 B 按钮。 |
| GameInputGamepadLayoutButtons | 基础布局,加上 X、Y 按钮和肩键。 |
| GameInputGamepadLayoutStandard | 自 XBOX 360 起在手柄上常见的标准布局。 |
| GameInputGamepadLayoutElite | XBOX 精英手柄系列上的布局。 |
备注
此枚举在 GameInputGamePadState 结构中使用。你可以组合多个值以同时读取多个按钮。GameInputGamepadLeftTriggerButton、GameInputGamepadRightTriggerButton、GameInputGamepadLeftThumbstickUp、GameInputGamepadLeftThumbstickDown、GameInputGamepadLeftThumbstickLeft、GameInputGamepadLeftThumbstickRight、GameInputGamepadRightThumbstickUp、GameInputGamepadRightThumbstickDown、GameInputGamepadRightThumbstickLeft 和 GameInputGamepadRightThumbstickRight 是大多数手柄上相应模拟轴的数字化表示。例如,如果左摇杆被完全推到上方,GameInputGamepadLeftThumbstickUp 按钮和 GameInputGamepadLeftThumbstickY 轴都会显示值 1.0。
有关详细信息,请参阅 GameInput 读数 中的 从读数获取数据 部分。
此枚举还可与 IGameInputMapper::GetGamepadButtonMappingInfo 方法配合使用,以检索特定手柄按钮的映射信息。
要求
标头: GameInput.h 支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机另请参阅
GameInput 概述GameInput
版本历史
| 版本 | 变更 |
|---|---|
| v3 | 新增 16 个标志常量:C、Z、LeftTriggerButton、RightTriggerButton、四个 LeftThumbstick 方向、四个 RightThumbstick 方向、PaddleLeft1、PaddleLeft2、PaddleRight1、PaddleRight2。还新增了 11 个组合/布局常量。 |
| v0 | 引入。 |
附录:以前的版本
v0
enum GameInputGamepadButtons
{
GameInputGamepadNone = 0x00000000,
GameInputGamepadMenu = 0x00000001,
GameInputGamepadView = 0x00000002,
GameInputGamepadA = 0x00000004,
GameInputGamepadB = 0x00000008,
GameInputGamepadX = 0x00000010,
GameInputGamepadY = 0x00000020,
GameInputGamepadDPadUp = 0x00000040,
GameInputGamepadDPadDown = 0x00000080,
GameInputGamepadDPadLeft = 0x00000100,
GameInputGamepadDPadRight = 0x00000200,
GameInputGamepadLeftShoulder = 0x00000400,
GameInputGamepadRightShoulder = 0x00000800,
GameInputGamepadLeftThumbstick = 0x00001000,
GameInputGamepadRightThumbstick = 0x00002000,
};
