1. 程式人生 > >[joysticke]使用Ubuntu16.04環境下讀取USB手柄/方向盤資訊

[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進位制的數字,當手柄按下的時候會有數字變化