MFi 控制器

本指南是 游戏控制器 指南的扩展。AppleMFi 认证的控制器可以与 iOS、tvOS 或 macOS 设备配对。

注意

控制方案/配置文件

MFi 设备可以符合 device.MFiProfile 报告的三种配置文件之一。这些配置文件定义了设备的按键布局

游戏手柄

如果 device.MFiProfile"gamepad",请检查以下 keyName 值以识别特定控件

控件/输入 keyName
方向键“上” up
方向键“下” down
方向键“左” left
方向键“右” right
按钮“A” buttonA
按钮“B” buttonB
按钮“X” buttonX
按钮“Y” buttonY
左肩键 (1) leftShoulderButton1
右肩键 (1) rightShoulderButton1
暂停按钮 menu

扩展游戏手柄

如果 device.MFiProfile"extendedGamepad",则控制器将具有额外的 keyNameaxis 值。请注意,触发器可以作为按键和轴来处理。

控件/输入 keyName
左摇杆水平轴 leftX
左摇杆垂直轴 leftY
右摇杆水平轴 rightX
右摇杆垂直轴 rightY
左肩键 (2) leftShoulderButton2
右肩键 (2) rightShoulderButton2
左触发器 leftShoulderButton2 leftTrigger
右触发器 rightShoulderButton2 rightTrigger

微型游戏手柄或方向游戏手柄

这些是 Apple TV 遥控器的特殊 MFi 配置文件。如果 device.MFiProfile 的值为 "microGamepad",则为初代 Siri Apple TV 遥控器;如果 device.MFiProfile 的值为 "directionalGamepad",则为二代 Siri 遥控器。控制器将具有以下 keyNameaxis

控件/输入 keyName
触控板上的水平滑动 x
触控板上的垂直滑动 y
在触控板上向上滑动/轻扫 up
在触控板上向下滑动/轻扫 down
在触控板上向左滑动/轻扫 left
在触控板上向右滑动/轻扫 right
按下触控板 buttonA
暂停/播放按钮 buttonX
轻点触控板 buttonZ
快速点击菜单按钮 menu
注意
  • Apple TV 遥控器将生成 加速度计 事件。

  • Apple TV 遥控器具有触控板而不是摇杆。默认情况下,每次用户触摸触控板时,它都会创建一个以初始点击位置为中心的虚拟操摇杆“窗口”和一个 relativeTouch 事件。但是,如果您要跟踪触摸的绝对位置,可以将 device.reportsAbsoluteDpadValues 设置为 true

  • 如果您的应用程序可以在横向和纵向两种方向上使用,我们建议您将 device.allowsRotation 设置为 true。此设置将自动翻转轴,以使它们在空间上 appropriate 的方向旋转时保持不变。

重要
  • 所有 MFi 控制器都有一个暂停按钮,该按钮传递的 keyNamemenu。在这种情况下,会立即生成两个 阶段"up""down" 的事件。

  • 通常,此按钮应 used to 暂停和恢复游戏。

  • 按住控制器上的此按钮可能会触发系统操作,例如在 tvOS 上打开 Springboard。