[joysticke]使用Ubuntu16.04环境下读取USB手柄/方向盘信息

1.获取设备的端口

  在插入设备时,在/dev/input目录下 ,操作系统会为每一个设备分配event号,先插上的为event0,后插上的为event1。

查找设备的设备号用如下指令:

cat /proc/bus/input/devices

  获得如下输出

 1 I: Bus=0003 Vendor=11ff Product=001c Version=0111
 2 N: Name="PXN-V3II" 
 3 P: Phys=usb-0000:00:14.0-11/input0 
 4 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.0/0003:11FF:001C.0009/input/input29 
 5 U: Uniq= 
 6 H: Handlers=event21 js0 
 7 B: PROP=0 
 8 B: EV=1b 
 9 B: KEY=1fff000000000000 0 0 0 0 
10 B: ABS=30027 
11 B: MSC=10

在端口处找到设备名字“PXN-V3II”,event21/js0是手柄的设备号。

如果找不到,可能是手柄中的版本不对,根据产品说明书需要由X-input转换到D-input模式。(长按home键3秒)X -input适用于XBOX360移植到PC上的即插即玩的游戏,D-input适用于早期单机游戏如极品飞车1-12等。

2、读取设备数据

查看端口号:

1 ls /dev/input

查看端口输出:

cat /dev/input/js0 | hexdump

或者

cat /dev/input/enent21 | hexdump

得到一些16进制的数字,当手柄按下的时候会有数字变化

猜你喜欢

转载自www.cnblogs.com/huangyuanhao/p/10206408.html
今日推荐