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

Linux下将蓝牙Xbox One手柄映射为USB设备的实现方法

将树莓派蓝牙Xbox One手柄模拟为USB设备并共享给Windows的方案

完全可以实现你的需求——把树莓派上通过蓝牙连接的Xbox One手柄(已被xpadneo识别为/dev/input/js0和/dev/input/event5)模拟成USB HID设备,再通过VirtualHere或USB/IP这类工具共享给Windows。以下是具体操作步骤:

1. 准备内核虚拟USB支持

首先确保树莓派内核加载了uhid模块(用于创建虚拟USB HID设备):

sudo modprobe uhid

若要开机自动加载,将uhid添加到/etc/modules文件中:

echo "uhid" | sudo tee -a /etc/modules

2. 安装输入设备转USB HID工具

使用input2uhid工具将/dev/input下的手柄事件设备转换为虚拟USB设备:

  1. 安装编译依赖:
sudo apt install git build-essential libudev-dev
  1. 克隆源码并编译安装:
git clone https://github.com/tuomasjjrasanen/input2uhid.git
cd input2uhid
make
sudo make install

3. 配置Xbox手柄HID描述符

Windows需要识别符合Xbox规范的USB HID报告描述符,你可以:

  • 抓取真实Xbox USB手柄的描述符(用usbhid-dump工具),或直接使用现成的Xbox One手柄HID描述符(可从开源社区获取)。
  • 将描述符保存为文本文件,比如xbox_one_hid_desc.txt。

4. 启动设备转换

运行input2uhid将手柄事件设备转为虚拟USB设备:

sudo input2uhid -d /dev/input/event5 -r xbox_one_hid_desc.txt

执行后,用lsusb命令可以看到新出现的Xbox USB手柄设备。

5. 共享虚拟USB设备到Windows

方案A:使用VirtualHere

  1. 树莓派安装VirtualHere服务器,启动后会自动识别并列出虚拟USB手柄。
  2. Windows端安装VirtualHere客户端,连接树莓派IP后,找到虚拟Xbox手柄并点击"Connect",Windows会自动安装驱动并识别手柄。

方案B:使用USB/IP

  1. 树莓派安装USB/IP工具:
sudo apt install usbip
sudo modprobe usbip-host
  1. 查看虚拟USB设备的总线ID:
usbip list -l
  1. 导出设备:
sudo usbip bind -b <bus-id>  # 替换为实际总线ID
  1. Windows安装USB/IP客户端,连接树莓派IP,挂载导出的虚拟USB设备即可。

注意事项

  • 确保当前用户对/dev/input/event5有读写权限,可将用户加入input组:
sudo usermod -aG input $USER
  • 若xpadneo驱动与虚拟设备冲突,可临时禁用xpadneo模块:sudo rmmod xpadneo。
  • 测试时注意手柄输入的延迟,可调整input2uhid的参数优化体验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:13