You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows下捕获Logitech USB游戏手柄的HID十六进制按键码

适配Logitech USB手柄获取对应按键十六进制码的简便方法

方法1:Windows自带工具+轻量HID监控工具结合

  • 打开游戏控制器设置:按下Win+R输入joy.cpl,找到你的Logitech手柄,点击「属性」进入「测试」标签页。
  • 用HIDExplorer(或同类轻量HID工具)锁定目标手柄的设备ID,设置只捕获该设备的输入数据包。
  • 逐个按下手柄按键、拨动方向键,每完成一个动作,记录工具输出的固定长度十六进制数据包——对比你之前的10组码,提取数据包中对应位置的变化字节,排除固定不变的冗余字节即可。

方法2:极简Python脚本定向读取

  • 安装pywinusb库:打开命令提示符执行pip install pywinusb。
  • 运行以下脚本(需替换手柄的VID和PID,可从设备管理器「硬件ID」中获取):
import pywinusb.hid as hid

def log_input(data):
    # 提取前10个有效字节(跳过可能的报告ID,可根据实际调整)
    if len(data) >= 10:
        hex_codes = ','.join([f"0x{byte:02X}" for byte in data[1:11]])
        print(f"动作对应码: {hex_codes}")

# 替换为你的Logitech手柄VID和PID
target_vid = 0x046D
target_pid = 0xC216

devices = hid.HidDeviceFilter(vendor_id=target_vid, product_id=target_pid).get_devices()
if devices:
    device = devices[0]
    device.open()
    device.set_raw_data_handler(log_input)
    print("监听中,按Ctrl+C退出...")
    try:
        while True:
            pass
    except KeyboardInterrupt:
        device.close()
else:
    print("未找到目标手柄")
  • 操作手柄的每个按键和方向,脚本会直接输出对应动作的十六进制码组,按需记录即可。

关键提示

  • 先确认手柄的输入报告长度:通过HID工具查看手柄的报告描述符,确保提取的字节数和你之前的10组码对应。
  • 过滤固定字节:对比不同动作的数据包,找出每次操作都会变化的字节位置,这些就是你需要的按键/方向对应码。

内容的提问来源于stack exchange,提问作者Retro Tec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:15:35