EdgeTX 用户手册
官方文档
v2.10
v2.10
  • EdgeTX 用户手册 v2.10
  • 自 v2.9 以来的更改摘要
  • 安装和更新 EdgeTX
    • 使用 EdgeTX Buddy 从 OpenTX 迁移到 EdgeTX
    • 使用引导加载器从 OpenTX 迁移到 EdgeTX
    • 使用 EdgeTX Buddy 从早期版本的 EdgeTX 更新
    • 使用引导加载器从早期版本的 EdgeTX 更新
    • 更新时遇到问题?
  • 彩屏遥控器用户手册
    • 用户界面
      • 虚拟键盘
      • 微调导航
    • 模型管理
    • 模型设置
      • 模型配置
        • 内置 / 外接 RF
        • 教练功能
        • 计时器 1/2/3
        • 预启动检查
        • 微调
        • 油门
        • 启用功能
        • USB 游戏手柄
      • 直升机配置
      • 飞行模式
      • 输入、混控和输出
        • 输入
        • 混控
        • 输出
      • 曲线
      • 全局变量
      • 逻辑开关
      • 特殊功能
      • 遥测
        • 传感器配置选项
        • 常见遥测传感器
    • 遥控器设置
      • 工具
      • SD 卡
      • 遥控器设置
        • 其他设置
      • 主题
      • 全局功能
      • 教练功能
      • 硬件
      • 版本
    • 屏幕设置
      • 小部件
    • 通道监视器
    • 重置遥测
    • 统计信息
  • 单色屏幕遥控器用户手册
    • 用户界面
    • 主视图
      • 重置
      • 统计信息
    • 模型设置
      • 配置
      • 直升机配置
      • 飞行/驾驶模式
      • 输入、混控和输出
        • 输入
        • 混控
        • 输出
      • 曲线
      • 逻辑开关
      • 特殊功能
      • 遥测
        • 传感器配置
        • 常见遥测传感器
      • 显示
    • 遥控器设置
      • SD 卡
      • 遥控器设置
      • 全局功能
      • 教练功能
      • 硬件
      • 版本
  • 用户手册翻译版本
  • EdgeTX: 如何操作
    • 进入 DFU 和引导加载器模式
    • 贡献用户手册
    • 使用多协议模块设置无线教练
    • 在 EdgeTX 上使用蓝牙
    • 在 EdgeTX 中配置高级游戏手柄
    • 为游戏开发者提供的手柄映射信息
    • 禁用触摸屏
    • 使用微调开关调整全局变量
  • 更多
    • 额外资源
    • 贡献者
由 GitBook 提供支持
在本页
  • 概述
  • Linux: evdev
  • Linux: joystick
  • Windows: DirectInput
  • Windows: Multimedia
  • Windows: Raw Input
  • Windows: Windows.Gaming.Input
在GitHub上编辑
  1. EdgeTX: 如何操作

为游戏开发者提供的手柄映射信息

上一页在 EdgeTX 中配置高级游戏手柄下一页禁用触摸屏

最后更新于5个月前

概述

  1. EdgeTX 可以通过 USB HID 输出操纵杆/游戏手柄信息,ID 为 (VID_1209&PID_4F54 / 1209:4F54)。

  2. EdgeTX 执行可配置的输入处理,包括死区、混合和非线性缩放。

  3. 多种运行 EdgeTX。默认情况下,所有设备输出相同的“经典操纵杆”报告格式,具有 8 个模拟轴和 24 个数字按钮。

  4. 按钮是数字的(0 = 关,1 = 开)。

  5. 模拟轴具有 11 位分辨率。

Linux: evdev

Linux 的 使用 open (fcntl.h) 与 /dev/input/event[...] 和 read (unistd.h) 来读取 input_event (linux/joystick.h)。

身份识别

  1. EVIOCGID : device_id.vendor 是 4617 / 0x1209

  2. EVIOCGID : device_id.product 是 20308 / 0x4F54

输入标签

EdgeTX
事件名称
事件代码

CH1

ABS_X

EV_ABS 0

CH2

ABS_Y

EV_ABS 1

CH3

ABS_Z

EV_ABS 2

CH4

ABS_RX

EV_ABS 3

CH5

ABS_RY

EV_ABS 4

CH6

ABS_RZ

EV_ABS 5

CH7

ABS_THROTTLE

EV_ABS 6

CH8

ABS_RUDDER

EV_ABS 7

CH9

BTN_SOUTH

EV_KEY 304 / 0x130

CH10

BTN_EAST

EV_KEY 305 / 0x131

CH11

BTN_C

EV_KEY 306 / 0x132

CH12

BTN_NORTH

EV_KEY 307 / 0x133

CH13

BTN_WEST

EV_KEY 308 / 0x134

CH14

BTN_Z

EV_KEY 309 / 0x135

CH15

BTN_TL

EV_KEY 310 / 0x136

CH16

BTN_TR

EV_KEY 311 / 0x137

CH17

BTN_TL2

EV_KEY 312 / 0x138

CH18

BTN_TR2

EV_KEY 313 / 0x139

CH19

BTN_SELECT

EV_KEY 314 / 0x13A

CH20

BTN_START

EV_KEY 315 / 0x13B

CH21

BTN_MODE

EV_KEY 316 / 0x13C

CH22

BTN_THUMBL

EV_KEY 317 / 0x13D

CH23

BTN_THUMBR

EV_KEY 318 / 0x13E

CH24

(无名称)

EV_KEY 319 / 0x13F

CH25

BTN_TRIGGER_HAPPY1

EV_KEY 704 / 0x2C0

CH26

BTN_TRIGGER_HAPPY2

EV_KEY 705 / 0x2C1

CH27

BTN_TRIGGER_HAPPY3

EV_KEY 706 / 0x2C2

CH28

BTN_TRIGGER_HAPPY4

EV_KEY 707 / 0x2C3

CH29

BTN_TRIGGER_HAPPY5

EV_KEY 708 / 0x2C4

CH30

BTN_TRIGGER_HAPPY6

EV_KEY 709 / 0x2C5

CH31

BTN_TRIGGER_HAPPY7

EV_KEY 710 / 0x2C6

CH32

BTN_TRIGGER_HAPPY8

EV_KEY 711 / 0x2C7

Linux: joystick

身份识别

JSIOCGNAME 是 "EdgeTX [...] Joystick" 或 "OpenTX [...] Joystick"。中间部分 ("[...]") 是设备特定的。

输入标签

EdgeTX
读取 js_event

CH1

JS_EVENT_AXIS 0

CH2

JS_EVENT_AXIS 1

[...]

[...]

CH8

JS_EVENT_AXIS 7

CH9

JS_EVENT_BUTTON 0

CH10

JS_EVENT_BUTTON 1

[...]

[...]

CH32

JS_EVENT_BUTTON 23

Windows: DirectInput

身份识别

DIDEVICEINSTANCE.guidProduct 以 "4F541209-" 开头。GUID 的后续部分是设备特定的。

输入标签

EdgeTX
DIJOYSTATE

CH1

lX

CH2

lY

CH3

lZ

CH4

lRx

CH5

lRy

CH6

lRz

CH7

rglSlider[1]

CH8

rglSlider[0]

CH9

rgbButtons[0]

CH10

rgbButtons[1]

[...]

[...]

CH32

rgbButtons[23]

Windows: Multimedia

身份识别

  1. JOYCAPS.wMid 是 4617 / 0x1209

  2. JOYCAPS.wPid 是 20308 / 0x4F54

输入标签

EdgeTX
JOYINFOEX

CH1

dwXpos

CH2

dwYpos

CH3

dwZpos

CH4

dwVpos

CH5

(不可用)

CH6

dwRpos

CH7

dwUpos

CH8

(不可用)

CH9

dwButtons & 0x000001

CH10

dwButtons & 0x000002

CH11

dwButtons & 0x000004

[...]

[...]

CH32

dwButtons & 0x800000

Windows: Raw Input

身份识别

  1. RID_DEVICE_INFO_HID.dwVendorId 是 4617 / 0x1209

  2. RID_DEVICE_INFO_HID.dwProductId 是 20308 / 0x4F54

输入标签

EdgeTX
HidP_Get[...]Value
UsagePage
Usage

CH1

HidP_GetValueCaps [7]

0x01

0x30

CH2

HidP_GetValueCaps [6]

0x01

0x31

CH3

HidP_GetValueCaps [5]

0x01

0x32

CH4

HidP_GetValueCaps [4]

0x01

0x33

CH5

HidP_GetValueCaps [3]

0x01

0x34

CH6

HidP_GetValueCaps [2]

0x01

0x35

CH7

HidP_GetValueCaps [1]

0x01

0x36

CH8

HidP_GetValueCaps [0]

0x01

0x37

CH9

HidP_GetButtonCaps [0]

0x09

0x01

CH10

HidP_GetButtonCaps [0]

0x09

0x02

[...]

[...]

[...]

[...]

CH32

HidP_GetButtonCaps [0]

0x09

0x18

Windows: Windows.Gaming.Input

身份识别

  1. RawGameController::HardwareVendorId 是 4617 / 0x1209

  2. RawGameController::HardwareProductId 是 20308 / 0x4F54

输入标签

EdgeTX
GetCurrentReading

CH1

axisArray[0]

CH2

axisArray[1]

[...]

[...]

CH8

axisArray[7]

CH9

buttonArray[0]

CH10

buttonArray[1]

[...]

[...]

CH32

buttonArray[23]

Linux 的 使用 open (fcntl.h) 与 /dev/input/js 和 read (unistd.h) 来读取 js_event (linux/joystick.h)。

Windows 的 使用 IDirectInputDevice8::GetDeviceState 来读取 DIJOYSTATE (dinput.h)。DIJOYSTATE2 (c_dfDIJoystick2) 输出相同的信息。

Windows 的 使用 joyGetPosEx 来读取 JOYINFOEX (joystickapi.h)。较旧的 joyGetPos / JOYINFO 仅支持 CH1-CH3 和 CH9-CH32,映射与较新的 JOYINFOEX 相同。

Windows 的 使用 GetRawInputData (WinUser.h),HidP_GetUsageValue 和 HidP_GetUsages (hidpi.h)。

Windows 的 使用 winrt::Windows::Gaming::Input::RawGameController (winrt/Windows.Gaming.Input.h)。

控制器
evdev API
joystick API
DirectInput
Multimedia API
Raw Input API
RawGameController