Hasty Briefsbeta

双语

An 8BitDo Switch controller adventure

11 hours ago
  • 作者购买了一个8BitDo Ultimate 2C BT控制器,用于在PC上玩陀螺瞄准的Splatoon,从而开始了固件研究和硬件改造。
  • 他们发现30美元的8BitDo比80美元的Switch Pro Controller便宜得多,但指出官方震动和构建质量可能更好。
  • 控制器支持因操作系统而异:Windows支持不完整,取决于应用程序/Dolphin版本;Linux支持更好,但陀螺仪需要通过udev规则获得原始HID访问;macOS在浏览器中的测试是部分的。
  • 在Cemu中设置陀螺仪需要切换输入后端、调整udev规则和重置按键绑定。
  • 模拟摇杆在角落稍微超调,并且无法在此控制器上校准;没有校准组合键。
  • 在Android上,输入堆栈假设为Xbox布局,重新映射A/B仅在Android 17中成为可能,并且有一个用于Switch Android的homebrew破解。
  • 在Switch上,必须启用Pro Controller有线通信才能使用USB;第三方控制器按钮重新映射需要MissionControl homebrew sysmodule。
  • 作者调试了Ultrahand Overlay中导致额外按键按压的错误,最终追溯到hidInitializeVibrationDevices触发Switch发送命令0x01进行震动切换。
  • USB数据包捕获显示8BitDo以报告0x21回复,该报告省略了按钮状态,导致在进入/退出覆盖时感知到额外的A/B按压。
  • 该错误已报告给8BitDo,但未得到承认;控制器在Ultrahand菜单中仍然双击。
  • 作者使用Raspberry Pi Pico嗅探器捕获USB流量,并使用自定义Python/Textual TUI以及Wireshark/pyshark解析协议数据包。
  • 解析很复杂,因为pyshark需要Python 3.11,scapy不处理USBLL,并且12位打包的摇杆位置需要理解位提取逻辑。
  • 几个月后,模拟摇杆卡住;修复涉及拆焊摇杆盒、清洁/重新润滑,以及处理塑料卡扣/金属夹紧问题。
  • 润滑剂选择很重要:红色锂润滑剂效果很好,而硅润滑剂导致黏滞;过度润滑也会导致卡滞。
  • 作者指出,GC/Wii摇杆盒设计比现代Xbox风格的摇杆更易于维修和更耐用。