日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

filter hid_HID调试工具

發(fā)布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 filter hid_HID调试工具 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在做HID相關(guān)的產(chǎn)品是,我們經(jīng)常要看看輸出是否正確,這時就需要一些小工具,這些小工具可以自己開發(fā),也可以從網(wǎng)上找些已經(jīng)做好的,下面介紹幾款工具,

1. PassMark KeyboardTest

這是Windows下的一款測試小工具,小巧簡單實用,是Windows下面測試的好助手,有一個月的免費試用期。

2. evtest

Linux下面的測試工具,可以使用 “apt-get install evtest”安裝。

需要su權(quán)限執(zhí)行,可以選擇監(jiān)聽那個“/dev/input/eventXX”。

(注意:直接使用“cat /dev/input/eventXX”會產(chǎn)生一堆亂碼)

3. showkey

Linux下面的測試工具,ubuntu好些不需要安裝可以直接使用,命令“showkey -a”顯示輸入的字符。

4. hcidump

這是一款Linux下的工具,可以使用命令“apt-get install bluez-hcidump”安裝,其功能和命令十分豐富,

打開help文檔,可以看到有如下功能,

# hcidump --help

Usage: hcidump [OPTION...] [filter]

-i, --device=hci_dev HCI device

-l, --snap-len=len Snap len (in bytes)

-p, --psm=psm Default PSM

-m, --manufacturer=compid Default manufacturer

-w, --save-dump=file Save dump to a file

-r, --read-dump=file Read dump from a file

-d, --wait-dump=host Wait on a host and send

-t, --ts Display time stamps

-a, --ascii Dump data in ascii

-x, --hex Dump data in hex

-X, --ext Dump data in hex and ascii

-R, --raw Dump raw data

-C, --cmtp=psm PSM for CMTP

-H, --hcrp=psm PSM for HCRP

-O, --obex=port Channel/PSM for OBEX

-P, --ppp=channel Channel for PPP

-S, --sap=channel Channel for SAP

-D, --pppdump=file Extract PPP traffic

-A, --audio=file Extract SCO audio data

-Y, --novendor No vendor commands or events

-4, --ipv4 Use IPv4 as transport

-6 --ipv6 Use IPv6 as transport

-h, --help Give this help list

-v, --version Give version information

--usage Give a short usage message舉例來說其強大的功能,Bluetooth HID輸入“12345”,選擇既輸出ASCII又輸出hex,結(jié)果如下,

# hcidump -X

HCI sniffer - Bluetooth packet analyzer ver 2.5

device: hci0 snap_len: 1500 filter: 0xffffffffffffffff

> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 1e 00 00 00 00 00 ..........

1> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 1f 00 00 00 00 00 ..........

> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 20 00 00 00 00 00 .... .....

23> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 21 00 00 00 00 00 ....!.....

> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 22 00 00 00 00 00 ....".....

45> ACL data: handle 21 flags 0x02 dlen 14

L2CAP(d): cid 0x0041 len 10 [psm 0]

0000: a1 01 00 00 00 00 00 00 00 00 ..........Bluetooth HID輸入“12345”,選擇輸出raw data,結(jié)果如下,

從結(jié)果上看,輸出6行,前5行是輸出“Press Key”事件(12345),最后一個是“release key”事件。

正常而言,一般是 按下(press)一個Key后,馬上松開(release);不過這會造成傳輸效率低下,所以這里是只傳輸按下(press) key的事件,最后才傳輸一個松開(release) key的事件(我們稱之為Fast HID)。不過,這在一些設(shè)備上會出現(xiàn)丟失字符的現(xiàn)象。所以需要修改Bluetooth firemare來設(shè)置一個選項Enable/Disable "Fast HID"。

# hcidump -R

HCI sniffer - Bluetooth packet analyzer ver 2.5

device: hci0 snap_len: 1500 filter: 0xffffffffffffffff

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 1E 00 00 00 00 00

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 1F 00 00 00 00 00

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 20 00 00 00 00 00

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 21 00 00 00 00 00

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 22 00 00 00 00 00

> 02 15 20 0E 00 0A 00 41 00 A1 01 00 00 00 00 00 00 00 00

5.? 還有其他Linux節(jié)點與此有關(guān),如/dev/hidrawX,沒有搞懂里面數(shù)據(jù)的具體含義;

另外,還有節(jié)點/dev/input/eventX,但是沒有細細研究。

$ sudo hexdump /dev/hidraw0

0000000 0001 2300 0000 0000 0100 0000 0026 0000

0000010 0000 0001 1f00 0000 0000 0100 0000 001e

0000020 0000 0000 0001 2400 0000 0000 0100 0000

0000030 0020 0000 0000 0001 2100 0000 0000 0100

0000040 0000 0026 0000 0000 0001 2700 0000 0000

0000050 0100 0000 0000 0000 0000 0001 2700 0000

0000060 0000 0100 0000 001e 0000 0000 0001 2500

0000070 0000 0000 0100 0000 0027 0000 0000 0001

總結(jié)

以上是生活随笔為你收集整理的filter hid_HID调试工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。