[joysticke]使用Ubuntu16.04環境下讀取USB手柄/方向盤資訊
阿新 • • 發佈:2019-01-01
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/input295 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進位制的數字,當手柄按下的時候會有數字變化