我直接使用的這個(gè)例子https://github.com/torvalds/linux/blob/master/samples/uhid/uhid-example.c,這個(gè)例子可以模擬鼠標(biāo),通過輸入asdw四個(gè)鍵鼠標(biāo)的移動(dòng)(CS中的移動(dòng)鍵)。

Selection_306.png
控制編譯后在Android板子上運(yùn)行,運(yùn)行結(jié)果如下:

TIM圖片20180715175724.gif
中間有遇到一個(gè)問題:
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 #
查看了一下源碼,應(yīng)該是頭文件版本不對導(dǎo)致的,編譯時(shí)指定當(dāng)前運(yùn)行內(nèi)核的頭文件路徑即可。
arm-linux-gnueabihf-gcc uhid.c -static -I/home/tony/Work/20_NanoPC-T2/linux-3.4.y/include
擴(kuò)展:

Selection_308.png