littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于C语言的Logitech游戏方向盘控制工具

项目简介

本项目是一个在Linux环境中用于控制Logitech游戏方向盘的工具,提供与方向盘的通信接口,可发送和接收数据,解码并发送特定指令到方向盘,以实现方向盘的测试和调试。项目基于serialusb项目,主要用于模拟不同Logitech方向盘在PS2和PS3平台上的使用。

项目的主要特性和功能

  1. 设备模拟:支持模拟PS2和PS3平台上的Logitech Driving Force、Logitech Driving Force GT和Logitech G27方向盘。
  2. USB代理:借助USB转UART适配器与atmega32u4板连接,实现低成本的USB代理功能。
  3. 低延迟与低CPU占用:采用中断驱动的事件处理机制,保证低延迟和低CPU占用。
  4. 跨平台支持:支持在Linux环境下运行,依赖于libusb库。
  5. 扩展性:可扩展用于驱动运动平台,支持通过USB捕获设备协议进行反向工程。

安装使用步骤

硬件准备

  1. 准备一台带有2个USB主机端口的计算机。
  2. 准备一块运行在5V电压下的atmega32u4板。
  3. 准备一个CP2102或FT232RL基础的USB转UART适配器(推荐FT232RL,因其支持更高的波特率)。

硬件连接

  1. 按照GIMX DIY USB适配器的说明,将atmega32u4板与USB转UART适配器连接。
  2. 将USB转UART适配器连接到计算机,将atmega32u4板连接到目标主机。

软件安装

确保系统已安装libusb库(版本>=1.0.16)。

运行工具

  1. 运行以下命令以启动工具: bash sudo serialusb-capture.sh
  2. 选择USB转UART适配器和目标设备。

示例使用

  1. 模拟PS2 Logitech Driving Force: bash ./usbxtract --tty /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 --device 0eb7:0e04 --spoof 046D:C294
  2. 模拟PS3 Logitech Driving Force GT: bash ./usbxtract --tty /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 --device 0eb7:0e04 --spoof 046D:C29A
  3. 模拟PS3 Logitech G27: bash ./usbxtract --tty /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 --device 0eb7:0e04 --spoof 046D:C29B

注意事项

  1. 确保使用的USB转UART适配器和atmega32u4板与项目要求一致。
  2. 运行工具时需要管理员权限。
  3. 目前仅支持控制和中断端点,且仅支持第一个配置描述符。

许可证

本项目采用GPLv3许可证发布。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】