买了个Logitech 的游戏手柄Gamepad F310需要移植到android系统中,所以花了两天时间详细预研一下需要主要开发的逻辑过程。
1、首先在pc和linux上测试:
pc上需要安装Logitech公司的驱动程序
针对普通linux平台上安装情况:
ubuntu 下使用游戏手柄:
1, 安装手柄驱动:
# modprobe joydev
2. 安装手柄测试软件:
# sudo apt-get install joystick
3. 测试手柄:
# jstest /dev/js0
或者
# jstest /dev/input/js0
2、使用usb直连方式,首先必须能够检测到设备,使用linux kernel2.6.35版本,配置如下:
make menuconfig
General setup --->
Device Drivers --->
Input device support -->
主要配置如下:
最重要的配置是: JoyStick interface
这里最重要是是X-Box gamepad support
基本上加了如上的一些配置后,插上usb joystick 可以工作了,我的工作log如下:
修改了kernel配置,目前可以正常工作了:
$ usb 1-2.2: new full speed USB device using hiusb-ehci and address 4
usb 1-2.2: New USB device found, idVendor=046d, idProduct=c21d
usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2.2: Product: Gamepad F310
usb 1-2.2: Manufacturer: Logitech
usb 1-2.2: SerialNumber: 991241BC
input: Generic X-Box pad as /devices/platform/hiusb-ehci.0/usb1/1-2/1-2.2/1-2.2:1.0/input/input1
插上时:
$ ls -l
crw-rw---- root input 13, 65 1970-01-02 08:02 event1
crw-rw---- root input 13, 0 1970-01-02 08:02 js0
crw-rw---- root input 13, 64 1970-01-01 08:00 event0
crw-rw---- root input 13, 32 1970-01-01 08:00 mouse0
crw-rw---- root input 13, 63 1970-01-01 08:00 mice
拔掉以后:
$ ls -l
crw-rw---- root input 13, 64 1970-01-01 08:00 event0
crw-rw---- root input 13, 32 1970-01-01 08:00 mouse0
crw-rw---- ro