我直接使用的这个例子https://github.com/torvalds/linux/blob/master/samples/uhid/uhid-example.c,这个例子可以模拟鼠标,通过输入asdw
四个键鼠标的移动(CS中的移动键)。
控制编译后在Android板子上运行,运行结果如下:
TIM图片20180715175724.gif
中间有遇到一个问题:
shell@nanopi2:/cache # ./a.out
Open uhid-cdev /dev/uhid
Create uhid device
[ 441.988000] input: test-uhid-device as /devices/virtual/misc/uhid/input16
[ 442.000000] generic-usb 0003:15D9:0A37.000D: input,hidraw1: USB HID v0.00 Mouse [test-uhid-device] on
Press 'q' to quit...
Invalid size read from uhid-dev: 4108 != 4380
Destroy uhid device
shell@nanopi2:/cache #
查看了一下源码,应该是头文件版本不对导致的,编译时指定当前运行内核的头文件路径即可。
arm-linux-gnueabihf-gcc uhid.c -static -I/home/tony/Work/20_NanoPC-T2/linux-3.4.y/include
网友评论