罗技无线手柄F710绑定映射为/dev/joystick

  • Post author:
  • Post category:其他


罗技无线手柄F710绑定为/dev/joystick

在使用手柄进行ROS开发时,一般手柄默认的端口是

/dev/input/js0

,可以将端口名写在配置文件中使用。但是如果右多个类似的设备的时候,手柄的端口可能是

/dev/input/js1

等,导致连接失败。可以将手柄绑定映射为

/dev/joystick

就可以避免出现该问题。

类似的方法可以应用于多个不同的串口设备,如果计算机接上了两个不同的USB转TTL设备,对应的端口号可能为/dev/ttyUSB0和/dev/ttyUSB1,如果直接使用/dev/ttyUSB0也可能会导致连接失败,配置方法可以查看我的博客

Ubuntu 使用USB串口等设备



查看设备信息

罗技无线手柄F710有两种模式,分别是X模式和D模式,可以在手柄的前面侧方位置通过拨码开关的方式选择不同的模式。在命令行使用

lsusb

查看设备信息:

当手柄处于X模式时,执行

lsusb

会得到手柄的信息

$ lsusb
Bus 002 Device 002: ID 05e3:0612 Genesys Logic, Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 046: ID 046d:c21f Logitech, Inc. F710 Wireless Gamepad [XInput Mode]
Bus 001 Device 006: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 005: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub

其中

Bus 001 Device 046: ID 046d:c21f Logitech, Inc. F710 Wireless Gamepad [XInput Mode]

是手柄。

当手柄处于D模式时,执行

lsusb

会得到手柄的信息

$ lsusb
Bus 002 Device 002: ID 05e3:0612 Genesys Logic, Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 047: ID 046d:c219 Logitech, Inc. Cordless RumblePad 2
Bus 001 Device 006: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 005: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub

其中

Bus 001 Device 047: ID 046d:c219 Logitech, Inc. Cordless RumblePad 2

是手柄。



配置rules文件

新建

/etc/udev/rules.d/joystick.rules

文件,将下述文本复制到该文件中(要使用sudo权限,如

sudo vim /etc/udev/rules.d/joystick.rules

)

KERNEL=="js*",SUBSYSTEM=="input", ATTRS{idVendor}=="046d",  ATTRS{idProduct}=="c21*", MODE:="0666", GROUP:="dialout", SYMLINK+="joystick"

重新插拔遥控手柄的接收器,查看是否设置成功

$ ll /dev | grep joy
lrwxrwxrwx  1 root   root             9 1130 20:13 joystick -> input/js0

如果设置成功,无论手柄处于X模式还是D模式,手柄都会映射为/dev/joystick



测试(可选)

使用 jstest 测试映射是否成功

sudo apt install joystick
sudo jstest /dev/joystick



版权声明:本文为weixin_38720170原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。