日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DIY蓝牙键盘(2) - 理解HID报文描述符

發布時間:2023/12/15 编程问答 91 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DIY蓝牙键盘(2) - 理解HID报文描述符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前情回顧

上篇主要講了鍵盤報文的分類與格式,并留下了一個問題:那主機為什么知道我這些報文的格式?那肯定是主機要提前知道我們發的報文的格式,那么問題就變成了:在發送報文前我們要怎么通知主機,讓它知道我們報文的格式。

這篇將回答這個問題,主機如何知道鍵盤報文的格式。答案就是鍵盤將發送HID report descriptor(HID報文描述符)給主機,主機根據HID描述符就知道鍵盤的報文格式。

2. HID 報文描述符簡介

我們先理解一下邏輯:

(1) 鍵盤通過發送報文描述符給主機,告訴主機它后面發出來的報文的格式

(2) 主機通過解析報文描述符,從而知道了鍵盤后面要發的報文的格式

(3) 鍵盤發送報文給主機

(4) 主機已經知道了報文的格式,收到報文后根據報文的內容做出相應的動作

這里隱含了一個問題:鍵盤發送的報文描述符,主機為什么能解析?

因為這個報文描述符是USB協會定義的,所有的主機都支持USB協會定義的這個描述符。從這也能感受到USB協會的強大,所有的主機都支持USB定義的HID報文描述符!!!這里的主機包括:Windows主機,macOS主機,Android主機等,總之是所有主機都支持。

于是我們的問題變成,怎么按照我們的報文格式寫出對應的HID報文描述符?那自然就是要仔細閱讀下面這兩篇HID報文描述符相關的文檔:

(1) HID描述符介紹: Microsoft Word - HID1_11.doc (usb.org)

(2) HID Usage表:https://usb.org/sites/default/files/hut1_22.pdf

對于初學者來說,直接上手這兩篇文檔很不友好,因為這兩篇文檔看起來比較吃力。當然功力扎實的朋友,直接從這兩篇文檔入手也是可以的。

為了讓初學都抓住主干,我決定按我的理解給各位來個簡單的入門。

3. HID報文描述符的結構

0報文描述符描述
1Usage Page (0x01),Generic Desktop Usage Page
2Usage (0x06),Keyboard Usage
3Collection (Application),集合開始
4Report Id(1),Report Id, 集合的報文都必須有一個report id
5Report Size (8),報文的大小,它的單位是一個bit。這里為8表示1個字節
6Report Count (4),報文的個數,上面的報文大小為一個字節,這里個數為4,就表示整個報文的長度為4個字節
7Usage Page (7),下面的報文usage在哪個usage page
8Usage Minimum (0),usage的最小值
9Usage Maximum (0xDD),usage的最大值
10Logical Minimum (0),邏輯的最小值
11Logical Maximum (0xFF),邏輯的最大值
12Input (Data, Variable, Absolute),報文的類型,鍵盤是把數據上報給主機,當然是input報文。
13End Collection集合結束

以上就是HID報文描述符的結構,基本上一個HID報文描述符都必須包含以上的這些元素。但我估計初學都看完還是一頭霧水,下面我將帶大家自上而下理解這個報文。

3.1 HID TLC 描述

第1、2、3行組成一個TLC(Top Level Collection), 這個TLC是用來讓主機加載相應的驅動的。也就是說主機收到前3行的數據后,它會在設備管理器里生成一個設備結點,并把鍵盤的驅動掛到這個結點上。于是我們在主機上會看到下面中紅框圈起來的結點,而且結點上已經加載了一個鍵盤驅動。是不是很簡單,用3行描述符就可以讓主機生成一個設備結點,并加載一個驅動到這個結點上。

以這個例子為例,主機已經創建了鍵盤結點并加載了鍵盤驅動,那么以后收到report id為1的報文,都由這個結點的鍵盤驅動來進行解析。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KPpJPJFx-1635581808785)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20211030115435849.png)]

稍微拓展一下,如果我要讓主機生成一個鼠標的設備結點,那要怎么寫描述符。根據(https://usb.org/sites/default/files/hut1_22.pdf)第30頁的描述。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-00mJZ9Xy-1635581808787)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20211030132857916.png)]

鼠標的HID TLC描述如下表,我們只需要把usage page的值改為1, usage改為2就可以了。

0報文描述符描述
1Usage Page (0x01),Generic Desktop Usage Page
2Usage (0x02),Mouse Usage
3Collection (Application),集合開始

所以如果我們要寫一個寫一個TLC, 重點就是要學會查表。 所有的HID usage page/usage都可以在(https://usb.org/sites/default/files/hut1_22.pdf)查到。比如我們要查一個keypad的TLC, 按下面的步驟來:

(1) 查找到"usage name"為keypad, 然后"usage types" 為CA的

(2) 然后我們找到Generic Desktop Page (0x01), Keypad(0x07)

(3) 寫TLC

0報文描述符描述
1Usage Page (0x01),Generic Desktop Usage Page
2Usage (0x07),KeypadUsage
3Collection (Application),集合開始

3.2 HID Report Id

在報文描述符的第4行有一個report id, 這個report id就代表這一組的報文。 上面的報文report id為1, 主機如果收到report id是1的話,它就知道它收到的報文是一個鍵盤的report. 總之一句話,report id跟這個TLC(或是說這個報文)是綁定在一起的。

所以鍵盤發給主機的內容除了報文,還需要發給主機一個report id. 以上一篇介紹的報文為例,按下按鍵A, 鍵盤發給主機的報文應該為:

其中Byte 0表示report id, Byte 2表示字母A的usage數值。

Byte 0Byte 1Byte 2Byte 3Byte 4Byte 5
0x010x000x040x000x000x00

3.3 Report Size / Report Count

一個報文里面可以包括多種數據類型,比如上篇說聽qwerty key和modifier key. qwerty key我們用4個字節來表示,用4個字節就是表示說同一個報文里可以向主機發送4個qwerty key. 那怎么與report size 與 report count對應起來呢?

(1) Report Size: 一個qwerty key我們想用一個字節來表示,于是report size要設為8. 因為report size的單位是1 bit.

(2) Report Count: 一個report里有4個qwerty key, 因此report count就是4.

我們可以類比為, report size就是數組的元素的大小,report count就是數組元素的個數。

我們來舉一反三: 如何設置modifer key的 report size與 report count?

先來回顧一下上篇的內容, modifer key我們希望按如下的格式.

bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
R WinR ShiftR AltR CtrlL WinL ShiftL AltL Ctrl

因為一個modifier key使用一個bit來表示,因此report size設置為1。 總共有8個modifier key, 因此report count設置為8.

3.4 Usage Min / Usage Max

在說usage之前,需要搞清楚usage與usage page的關系。 一個usage page里面有很多個usage, 不同的usage page里面的usage的值是可以相同的。因此在談到usage的時候,要先指定usage page, 不然主機無法解析這個usage.

上表的第7-9行,就是用來表示usage. 首先它先指定usage page(0x07). 通過查表知道,它屬于keyboard/keypad的page. (https://usb.org/sites/default/files/hut1_22.pdf)第82頁。

然后第8-9行指定了usage的最小值與最大值,這有什么用?

7Usage Page (7),下面的報文usage在哪個usage page
8Usage Minimum (0),usage的最小值
9Usage Maximum (0xDD),usage的最大值

在上一篇里提到,我們用4個字節來表示4個qwerty key, 每個字節可用來表示一個qwerty key, 也就是每一個字節的值就是一個qwerty key的usage的值。 這里的Usage Minimum/Usage Maximum就表示這每一個字節的值的范圍,即它的有效值是 0 - 0xDD.

為什么把值設定為0 - 0xDD呢? 查表知道, 0x00 - 0xDD已經能表示所以鍵盤的qwerty key的usage值了。

3.5 Logic Min / Logic Max

上表的第10-11行,表示每個字節的范圍,這個可以和Usage Minimum/Usage Maximum設置成一樣,即0 - 0xDD。但設置為0 - 0xFF, 因為一個字節可以表示的最大范圍就是0 - 0xFF。

10Logical Minimum (0),邏輯的最小值
11Logical Maximum (0xFF),邏輯的最大值

3.6 Data Type

上表第12行用來表示報文數據的類型,鍵盤的報文數據有modifer key和qwerty key, 這兩種數據都是鍵盤要發送給主機的,因此是input報文。如果是主機發給鍵盤的,而是output報文。另外qwerty key和modifier是用無符號數來表示的,因此是absolute屬性。

12Input (Data, Variable, Absolute),報文的類型,鍵盤是把數據上報給主機,當然是input報文。

3.7 End Collection

一個集合的結束必須要加上end collection, 它與上表的第3行的collection必須是成對出現的。

4. 構建鍵盤的HID報文描述符

有了上面的知識基礎,我們就可以來構建鍵盤的報文描述符了。我們希望編寫一個HID報文描述符,讓主機解析我們的報文格式如下:

Byte 0Byte 1Byte 2 - 5
Report IdModifier keyQwerty Key

Modifier key格式如下:

bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
R WinR ShiftR AltR CtrlL WinL ShiftL AltL Ctrl

4.1 編寫一個鍵盤的TLC

通過文檔(https://usb.org/sites/default/files/hut1_22.pdf)查找到鍵盤的usage page為0x01, usage為0x06, 于是TLC的描述符如下:

0報文描述符描述
1Usage Page (0x01),Generic Desktop Usage Page
2Usage (0x06),Keyboard Usage
3Collection (Application),集合開始
4Report Id(1)鍵盤報文的report id
5End Collection集合結束

4.2 編寫Modifier key描述符

(1) Report Size: 每個modifier key用一個bit來表示,因此report size為1.

(2) Report Count: 總共有8個modifier key,因此report count為8

(3) Usage Page: 0x07, Usage Minimum: 0xE0, Usage Maximum: 0xE7

通過文檔(https://usb.org/sites/default/files/hut1_22.pdf) 搜索“LeftControl” 可以查到8個modifer key在usage page 7, usage 范圍0xE0 - 0xE7.

(4) Logic Minimum: 0, Logic Maximum: 1

因為每個元素為1個bit, 最小值是0, 最大值是1。

于是得到modifier key的描述符如下:

0報文描述符描述
1Report Size (1),一個報文元素的大小,它的單位是一個bit
2Report Count (8),報文的個數,上面的報文大小為一個字節,這里個數為8,就表示整個報文的長度為8個bit
3Usage Page (7),下面的報文usage在哪個usage page
4Usage Minimum (0xE0),usage的最小值
5Usage Maximum (0xE7),usage的最大值
6Logical Minimum (0),邏輯的最小值
7Logical Maximum (1),邏輯的最大值
8Input (Data, Variable, Absolute),數據類型為輸入

4.3編寫Qwerty key描述符

(1) Report Size: 每個qwerty key用一個byte來表示,因此report size為8.

(2) Report Count: 一個report里面總共有4個qwerty key,因此report count為4

(3) Usage Page: 0x07, Usage Minimum: 0x04, Usage Maximum: 0xDD

通過文檔(https://usb.org/sites/default/files/hut1_22.pdf) 搜索“Keyboard a and A” 可以查到鍵盤qwerty key在usage page 7, usage 范圍0x04 - 0xDD.

(4) Logic Minimum: 0, Logic Maximum: 0xFF

因為每個元素為1個byte, 最小值是0, 最大值是0xFF。

于是得到modifier key的描述符如下:

0報文描述符描述
1Report Size (8),一個報文元素的大小,它的單位是一個bit
2Report Count (4),報文的個數,上面的報文大小為一個字節,這里個數為4,就表示整個報文的長度為4個字節
3Usage Page (7),下面的報文usage在哪個usage page
4Usage Minimum (0x04),usage的最小值
5Usage Maximum (0xDD),usage的最大值
6Logical Minimum (0),邏輯的最小值
7Logical Maximum (0xFF),邏輯的最大值
8Input (Data, Variable, Absolute),數據類型為輸入

4.4 整合所有的描述符

把上面的TLC 描述符, modifer key描述符, qwerty的描述符組合起來如下:

0報文描述符描述
1Usage Page (0x01),Generic Desktop Usage Page
2Usage (0x06),Keyboard Usage
3Collection (Application),集合開始
4Report Id(1)鍵盤報文的report id
5Report Size (1),一個報文元素的大小,它的單位是一個bit
6Report Count (8),報文的個數,上面的報文大小為一個字節,這里個數為8,就表示整個報文的長度為8個bit
7Usage Page (7),下面的報文usage在哪個usage page
8Usage Minimum (0xE0),usage的最小值
9Usage Maximum (0xE7),usage的最大值
10Logical Minimum (0),邏輯的最小值
11Logical Maximum (1),邏輯的最大值
12Input (Data, Variable, Absolute),數據類型為輸入
13Report Size (8),一個報文元素的大小,它的單位是一個bit
14Report Count (4),報文的個數,上面的報文大小為一個字節,這里個數為8,就表示整個報文的長度為8個bit
15Usage Page (7),下面的報文usage在哪個usage page
16Usage Minimum (0x04),usage的最小值
17Usage Maximum (0xDD),usage的最大值
18Logical Minimum (0),邏輯的最小值
19Logical Maximum (0xFF),邏輯的最大值
20Input (Data, Variable, Absolute),數據類型為輸入
21End Collection集合結束

5. 描述符宏

鍵盤要發給主機的描述符是應該是一些整形數據才對,怎么上面的描述符是一些字符串加數字呢?

這主要是為了讓大家好容易讀與理解,比如說看到Report Id(1),就知道希望表示report id為1.其實Report Id是一個宏,最終發給主機的時候需要把這些宏展開的。

描述符宏展開宏后的值
Report Id(1)0x85, 0x01,
Report Size (1),0x75, 0x01
Report Count (8),0x95, 0x08
Usage Page (7),0x06, 0x07
Usage Minimum (0xE0),0x19, 0xE0
Usage Maximum (0xE7),0x29, 0xE8
Logical Minimum (0),0x15, 0x00
Logical Maximum (1),0x25, 0x01
Input (Data, Variable, Absolute),0x81, 0x00

我們在這篇最前面提到要看兩篇文檔,其中一篇 Microsoft Word - HID1_11.doc (usb.org)。 里面主要就是跟你講report id, report count這些表要怎么表示。對于我們初學都來說,只要有像“Report Id, Report Count”這些宏可以使用,那就撇開這篇HID文檔的介紹了。當然如果你要深入的話,肯定是要把這個文檔啃幾遍的。

這里我把一些常用的HID描述符的宏列在這里方便大家使用。

#define Physical (0x00U) #define Undefined (0x00U) #define Application (0x01U) #define Logical (0x02U)#define Data_Arr_Abs (0x00U) #define Const_Arr_Abs (0x01U) #define Data_Var_Abs (0x02U) #define Const_Var_Abs (0x03U) #define Data_Var_Rel (0x06U) #define Data_Var_Abs_Null (0x42U) #define BuffBytes (0x01U)#define HID_REPORT_ID(a) 0x85U,(a) #define HID_USAGE(a) 0x09U,(a) #define HID_USAGE_SENSOR_DATA(a,b) (a)|(b) #define HID_COLLECTION(a) 0xA1U,(a) #define HID_REPORT_SIZE(a) 0x75U,(a) #define HID_REPORT_COUNT(a) 0x95U,(a) #define HID_REPORT_COUNT_16(a,b) 0x96U,(a),(b) #define HID_UNIT_EXPONENT(a) 0x55U,(a) #define HID_UNIT(a) 0x65U,(a)#define HID_USAGE_8(a) 0x09U,(a) #define HID_USAGE_16(a,b) 0x0AU,(a),(b)#define HID_USAGE_PAGE_8(a) 0x05U,(a) #define HID_USAGE_PAGE_16(a,b) 0x06U,(a),(b)#define HID_USAGE_MIN_8(a) 0x19U,(a) #define HID_USAGE_MIN_16(a,b) 0x1AU,(a),(b)#define HID_USAGE_MAX_8(a) 0x29U,(a) #define HID_USAGE_MAX_16(a,b) 0x2AU,(a),(b)#define HID_LOGICAL_MIN_8(a) 0x15U,(a) #define HID_LOGICAL_MIN_16(a,b) 0x16U,(a),(b) #define HID_LOGICAL_MIN_32(a,b,c,d) 0x17U,(a),(b),(c),(d)#define HID_LOGICAL_MAX_8(a) 0x25U,(a) #define HID_LOGICAL_MAX_16(a,b) 0x26U,(a),(b) #define HID_LOGICAL_MAX_32(a,b,c,d) 0x27U,(a),(b),(c),(d)#define HID_PHYSICAL_MIN_8(a) 0x35U,(a) #define HID_PHYSICAL_MIN_16(a,b) 0x36U,(a),(b) #define HID_PHYSICAL_MIN_32(a,b,c,d) 0x37U,(a),(b),(c),(d)#define HID_PHYSICAL_MAX_8(a) 0x45U,(a) #define HID_PHYSICAL_MAX_16(a,b) 0x46U,(a),(b) #define HID_PHYSICAL_MAX_32(a,b,c,d) 0x47U,(a),(b),(c),(d)#define HID_INPUT_8(a) 0x81U,(a) #define HID_INPUT_16(a,b) 0x82U,(a),(b) #define HID_INPUT_32(a,b,c,d) 0x83U,(a),(b),(c),(d)#define HID_OUTPUT_8(a) 0x91U,(a) #define HID_OUTPUT_16(a,b) 0x92U,(a),(b) #define HID_OUTPUT_32(a,b,c,d) 0x93U,(a),(b),(c),(d)#define HID_FEATURE_8(a) 0xB1U,(a) #define HID_FEATURE_16(a,b) 0xB2U,(a),(b) #define HID_FEATURE_32(a,b,c,d) 0xB3U,(a),(b),(c),(d)#define HID_END_COLLECTION 0xC0U

6. 總結

本篇主要講了HID報文描述符,以及如何根據報文的格式編寫報文描述符。這只是對HID報文描述符的入門,還有一些問題沒有談到。雖然這篇是入門篇,但至少看完這篇已經能自己編寫描述符了,或者說已經能達到使用報文描述符的程度了。

下篇將繼續深入報文描述符,講一些本篇還沒有講到的一些點。


歡迎大家來評論與指正,你的點贊與評論將有助于作者改善文章質量,并繼續前行

總結

以上是生活随笔為你收集整理的DIY蓝牙键盘(2) - 理解HID报文描述符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久草在线久| 7777xxxx | 91av电影在线 | 麻豆va一区二区三区久久浪 | 4p变态网欧美系列 | 99精品在线免费观看 | 国产精品视频大全 | 中文字幕 国产视频 | 91激情小视频 | 久久久久久久久久久久久9999 | 久草精品在线 | 最新av免费 | 国产午夜精品在线 | 久久精品中文字幕 | 欧美成人一二区 | 国产网站在线免费观看 | 婷婷久草| 五月天天色 | 精品一区 精品二区 | japanese黑人亚洲人4k | www夜夜操| 色吊丝在线永久观看最新版本 | 中文成人字幕 | 992tv在线 | 在线黄色观看 | 亚洲专区欧美 | 久久在线看 | 国产精品99在线观看 | 蜜臀av.com| 青青草视频精品 | 中文字幕在线观看你懂的 | 欧美国产一区在线 | 四虎影视久久久 | 99热只有精品在线观看 | 欧美日韩三区二区 | 99热亚洲精品 | 狠狠干成人 | 欧美激情h | 天天摸日日摸人人看 | 亚洲国产欧美在线看片xxoo | 福利网址在线观看 | 国产精品6 | 国产中文欧美日韩在线 | 欧美色噜噜 | 91福利社区在线观看 | 中文字幕av播放 | www久久精品| 久久久免费在线观看 | 精品久久一区 | 91九色国产蝌蚪 | 日韩成人邪恶影片 | 日韩三级久久 | 婷婷综合五月 | 蜜臀av在线一区二区三区 | 成人在线一区二区 | 特黄免费av| 毛片一二区 | 久久精品国产精品亚洲 | 日日插日日干 | 亚洲高清视频在线观看免费 | 欧美精品少妇xxxxx喷水 | 中文字幕亚洲五码 | 欧美激情亚洲综合 | 国产成人三级三级三级97 | 97成人精品视频在线观看 | 欧美一级日韩免费不卡 | 国产在线观看免 | 久久精品79国产精品 | 五月天六月色 | 91入口在线观看 | 2024av| 色99在线 | 成人在线电影观看 | 日本在线视频网址 | 黄色一级大片在线免费看产 | 国产精品国产三级国产aⅴ无密码 | 欧美淫aaa免费观看 日韩激情免费视频 | 天天做天天爱天天爽综合网 | 中国成人一区 | www.久久爱.cn | 久久少妇 | 国产亚洲成av人片在线观看桃 | 久久久国产精品成人免费 | 黄色一级性片 | 午夜av在线电影 | 日韩一区二区久久 | 亚洲激情av | 欧美福利在线播放 | 免费男女羞羞的视频网站中文字幕 | 久久午夜免费视频 | 精品美女国产在线 | 日韩黄色在线电影 | 色综合www| av中文字幕网站 | 麻花天美星空视频 | 午夜久久网站 | 日本黄色免费网站 | 国产麻豆视频 | 久草在线这里只有精品 | 狠狠色免费 | 2019天天干天天色 | www五月婷婷| 亚洲婷婷伊人 | 婷婷丁香狠狠爱 | 欧美亚洲一区二区在线 | 久久精品美女视频 | 成人av片免费观看app下载 | www日韩在线观看 | 国产毛片久久久 | 91精品一区国产高清在线gif | 丁香电影小说免费视频观看 | 91精品网站| 亚洲激情在线观看 | 久热只有精品 | www.黄色小说.com | 97福利 | 日韩免费一区二区 | 一级黄色片在线 | 97av精品 | 久久99国产精品免费网站 | av天天在线观看 | 精品国产99| 九色视频网址 | 精品免费视频123区 午夜久久成人 | 天天干天天天天 | 国产精品系列在线播放 | 激情av网 | 成人在线观看网址 | 欧美成人xxxx | 久久综合久久综合久久综合 | 丁香六月婷婷开心 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 日韩欧美在线视频一区二区 | 免费看一级黄色 | 在线免费性生活片 | 久草爱 | 天天干一干 | 91漂亮少妇露脸在线播放 | 亚洲网站在线 | 国产成免费视频 | 欧美日韩中文字幕综合视频 | 欧美另类色图 | 免费激情网 | 特级西西444www高清大视频 | 欧美一级性生活 | 99 精品 在线 | 精品国产大片 | 天天操天天摸天天爽 | 欧美日韩精品在线视频 | 国产精品一区二区在线观看免费 | 激情欧美一区二区免费视频 | 久9在线 | 久久精品一二三区白丝高潮 | 国产日韩欧美在线观看 | 免费av大片 | 中文字幕中文字幕在线中文字幕三区 | www.啪啪.com | 99精品一区二区三区 | 亚洲精品短视频 | 在线免费性生活片 | 国产精品99久久久久久宅男 | 91精品一区二区在线观看 | 欧美高清视频不卡网 | 亚洲精品h| 丰满少妇一级片 | 久久久噜噜噜久久久 | 日韩欧美高清免费 | 色福利网 | www黄色大片| 亚洲免费黄色 | 亚洲国产片 | 久久久999精品视频 国产美女免费观看 | 不卡av电影在线观看 | 人人天天夜夜 | 日本最新一区二区三区 | 欧美日韩精品在线观看 | av资源在线观看 | 操操日 | 日韩系列在线 | 亚洲国产精品久久久久 | 久久超碰在线 | 国内精品久久久久国产 | 国产伦理久久 | 91成人黄色 | 午夜久久久久久久久 | 日韩在观看线 | 狠狠狠狠狠狠狠狠干 | 国产欧美综合视频 | 成人三级黄色 | 欧美一级片在线免费观看 | 成 人 黄 色视频免费播放 | 黄色一二级片 | 999久久久| 久热电影 | 亚洲欧美观看 | 欧美激情视频三区 | 日韩精品播放 | 国内精品久久影院 | 91精品电影| 中文在线8新资源库 | av在线看片 | 国产精品aⅴ | 伊人五月在线 | 日韩电影在线视频 | 超碰在线97免费 | 99se视频在线观看 | 91视频高清免费 | 亚洲一区二区三区精品在线观看 | 五月婷av| 免费看污片 | 亚洲免费一级电影 | 久久经典国产视频 | 国产精品午夜久久 | 99免费国产| 久久免费播放 | 99午夜 | 国产三级在线播放 | 国产精品国产三级国产aⅴ无密码 | 久久久久久久久久久久久国产精品 | 天天做综合网 | 99久久夜色精品国产亚洲 | 日本久久电影网 | 日韩精品一区二区三区不卡 | 日韩视频免费在线观看 | 国产精品6| 超碰在线98| 狠狠精品| 久久九九免费 | 天天插狠狠插 | 999成人| 波多野结衣视频在线 | 免费在线观看av片 | 黄色午夜 | 一二区av| 91丨九色丨91啦蝌蚪老版 | 96视频免费在线观看 | 日韩免费观看视频 | 激情综合交 | 2024av| 伊人伊成久久人综合网小说 | 欧美国产三区 | 国产精品不卡在线 | 99久久综合精品五月天 | 在线观看日韩中文字幕 | 欧美日韩国产一区二区在线观看 | 在线99视频| 色资源二区在线视频 | 精品在线观看一区二区 | 久草在线欧美 | 99精品热视频只有精品10 | 97精品国产91久久久久久久 | 国产人成一区二区三区影院 | 91精品一区国产高清在线gif | 国产成人精品999在线观看 | 天天干亚洲 | 97在线视频免费播放 | 91入口在线观看 | 日操操 | 中文乱码视频在线观看 | 色婷婷一 | 成人手机在线视频 | 欧美激情综合五月色丁香小说 | 国产男女无遮挡猛进猛出在线观看 | 国产高清小视频 | 成人久久久久久久久久 | 国产精品久久网 | 国产精品高清一区二区三区 | 91精品国产91久久久久福利 | 日本中文字幕在线电影 | 在线午夜av | 欧美一级片免费播放 | 92av视频 | 国内精品在线观看视频 | 国产高清免费在线观看 | 久久免费视频一区 | 亚洲国产成人精品久久 | 日日爱网址 | 亚洲精品国偷自产在线91正片 | 婷婷激情综合五月天 | 久久久久免费精品视频 | 色婷婷综合在线 | 久久观看免费视频 | 国产精品第10页 | 日韩成人精品在线观看 | 国产专区在线看 | 亚洲成年人av | 亚洲精品国产电影 | 激情五月婷婷综合网 | 国产精品自产拍在线观看桃花 | 日韩精品一区二区三区三炮视频 | 香蕉日日 | 欧美日韩精品在线播放 | av中文字幕免费在线观看 | 免费在线激情电影 | 在线电影日韩 | 麻豆国产精品永久免费视频 | 国产精品11 | 久久99亚洲热视 | 国产精品99久久久久人中文网介绍 | 手机在线看永久av片免费 | 91在线视频播放 | 中文字幕乱码日本亚洲一区二区 | 97夜夜澡人人双人人人喊 | 亚洲国产剧情 | 五月天久久综合网 | 久久精品站 | 亚洲网站在线看 | 久久国产精品视频 | 国产精品免费在线播放 | 黄色一级免费网站 | 久久呀 | av电影 一区二区 | 中文字幕在线观看视频一区二区三区 | 亚洲综合视频在线 | 日本精品久久久久中文字幕 | 日本三级在线观看中文字 | 国产黄色片在线免费观看 | 国产成人精品久久久 | 色资源在线观看 | 亚洲综合视频在线 | www.黄色片网站 | 视频 天天草 | 亚洲做受高潮欧美裸体 | www.超碰| 九色精品免费永久在线 | 激情影音先锋 | 国产色黄网站 | 久久久久久久久福利 | 中文字幕丝袜美腿 | 伊人狠狠色 | 天天爽网站 | 成人在线免费看视频 | 国产糖心vlog在线观看 | 国产精品一区二区美女视频免费看 | 99久热精品 | 亚洲精品在线观看网站 | 精品久久久久久国产偷窥 | 日本精品视频在线观看 | 久久综合天天 | 丁香在线观看完整电影视频 | 国产精品国产三级在线专区 | 亚洲天堂激情 | 国产一区二区在线免费播放 | 久久手机精品视频 | 国内精品亚洲 | 亚洲综合欧美精品电影 | 中文字幕在线不卡国产视频 | 国内精品小视频 | 九九九热精品免费视频观看 | 久久免费精品视频 | 国产区在线看 | 久久精品国产一区二区电影 | 久久精品影视 | 国产成人精品久久二区二区 | 免费男女羞羞的视频网站中文字幕 | 五月婷婷精品 | 亚洲电影av在线 | 久久综合久久综合这里只有精品 | 日韩精品视频免费看 | www.天天射.com| 日韩欧美在线一区二区 | 国产精品免费不卡 | 日韩在线| 亚洲欧美国产精品 | 久久久不卡影院 | 91丨九色丨蝌蚪丨老版 | 欧美激情综合五月色丁香 | 欧美日韩成人一区 | 国产精品porn| 国产黄色一级片 | 97视频在线观看播放 | 西西44人体做爰大胆视频 | 国产黄色精品网站 | 色网站视频 | 欧美精品乱码久久久久久按摩 | 免费亚洲黄色 | 欧美日韩不卡在线观看 | 日韩在线视频国产 | 国产精品久久久久四虎 | 亚洲 av网站 | www.婷婷色| 午夜视频不卡 | 久久免费国产视频 | 欧美在线视频不卡 | 欧美韩国日本在线观看 | 久久香蕉电影网 | 最近乱久中文字幕 | 又黄又爽的视频在线观看网站 | 伊人国产女 | 精品一区二区精品 | 免费精品 | 五月天色丁香 | 午夜视频99| 日韩 在线观看 | 日韩av五月天 | av在线一级 | 99久久精品国产一区二区成人 | 精品久久久久久国产偷窥 | 91中文字幕在线播放 | 福利片视频区 | 91麻豆精品国产91久久久久久 | 一级免费片| 少妇搡bbbb搡bbb搡aa | 久久久久久国产精品 | 日韩精品一区二区三区水蜜桃 | 99久久这里有精品 | av高清不卡 | 婷婷丁香狠狠爱 | 国内精品久久久久久中文字幕 | 狠狠久久婷婷 | 在线免费高清 | 婷婷在线视频观看 | 最近中文字幕视频完整版 | 亚洲国产精品成人va在线观看 | 99久久精品一区二区成人 | 97视频亚洲| 最新婷婷色 | 久久不卡日韩美女 | 在线观看视频黄 | 国产一区二区在线观看视频 | 99久久精品一区二区成人 | 亚洲成人国产精品 | 最新av网址在线观看 | 偷拍精偷拍精品欧洲亚洲网站 | 免费视频二区 | 久草在线在线精品观看 | 亚洲黄色精品 | 五月天久久狠狠 | av黄色在线播放 | 国产91精品一区二区麻豆亚洲 | 久久婷婷一区二区三区 | 97视频久久久 | 亚洲免费在线观看视频 | 国产视频亚洲精品 | 永久免费视频国产 | 国产亚洲精品久久久久久无几年桃 | 日韩精品一区二区三区电影 | 亚洲影视九九影院在线观看 | www.日日日.com| 亚洲黄色app | 91看片在线观看 | 色网站视频 | 久久久久国产精品一区二区 | 成人在线电影观看 | 天天爽天天搞 | 久久精品视频国产 | 成人日批视频 | 亚洲午夜精品福利 | 精精国产xxxx视频在线播放 | 日本爱爱免费视频 | 久久精品欧美一 | 五月天综合在线 | 欧美一区二区在线免费观看 | 91精品国产91久久久久久三级 | 国产精品第二页 | 在线观看不卡视频 | 久久99精品一区二区三区三区 | 国产一区二区高清不卡 | 久久久亚洲网站 | 色婷婷狠狠操 | 国产永久免费观看 | 在线观看视频三级 | 69热国产视频 | 色噜噜日韩精品一区二区三区视频 | 国产精品永久免费视频 | 狠狠狠色丁香婷婷综合久久五月 | 日p在线观看 | 亚洲理论在线观看电影 | 黄色一级免费电影 | 一区二区三区污 | av黄色大片 | 久久激情视频免费观看 | 国产综合香蕉五月婷在线 | 爱爱一区| 国产无遮挡猛进猛出免费软件 | 精品资源在线 | 久久免费视频在线观看 | 综合伊人久久 | 黄色影院在线免费观看 | 久久久久久久久久久久国产精品 | 在线视频你懂得 | 国产成人精品一二三区 | 中文字幕网站 | 亚洲国产精品va在线看黑人 | 日韩中文字幕免费看 | 一区二区三区高清在线 | 国产黄免费看 | 成片免费观看视频大全 | 中文字幕日韩免费视频 | 国产一区网 | 国产精品欧美久久久久久 | 日韩电影久久久 | 国产一级淫片免费看 | 99精品影视 | 亚洲网久久 | 成人中文字幕在线观看 | 亚洲精品一区二区久 | 免费久久精品视频 | 美女视频黄免费的久久 | 欧美日韩高清在线一区 | 国产一级在线播放 | 国产啊v在线观看 | 午夜影院三级 | 黄色大全免费网站 | 日韩av在线一区二区 | 免费精品国产va自在自线 | 狂野欧美激情性xxxx | 色婷婷色 | 亚洲综合射 | 成年人免费看的视频 | 97激情影院 | 干综合网| 亚洲少妇自拍 | av福利在线 | 不卡电影一区二区三区 | 亚洲综合欧美激情 | 久久综合九色综合久久久精品综合 | 久久不卡国产精品一区二区 | 深夜视频久久 | 国产精品不卡一区 | 欧美日韩国产区 | 精品久久久国产 | www黄色com| 国产精品videoxxxx | 亚洲天堂网在线播放 | 日日夜夜骑 | 在线国产精品一区 | 久久综合导航 | 99在线精品免费视频九九视 | 黄色电影小说 | 亚洲撸撸 | 日韩在线免费小视频 | 久久艹久久 | 综合精品久久久 | 亚洲精品午夜久久久久久久 | 日本中文在线 | 欧美日韩亚洲国产一区 | 中文在线资源 | 成人av影视观看 | 人人爽人人爽人人片 | 五月天久久综合 | 亚洲精品国产综合久久 | 日韩大片在线 | 久久99婷婷 | 成人精品一区二区三区电影免费 | 日韩一二三在线 | 99久久精品国产毛片 | 91天堂在线观看 | 免费又黄又爽的视频 | 国内视频在线 | 午夜精品久久久久久久99水蜜桃 | 美女视频久久黄 | 日韩久久精品一区二区三区下载 | 天天综合久久 | 免费看片网址 | 精品国产一区二区三区免费 | 伊人天天综合 | 久久五月婷婷综合 | 午夜av剧场 | 狠狠色免费 | 亚一亚二国产专区 | 在线播放91 | 国产成人av电影在线观看 | 99在线观看精品 | 国产精品成人自产拍在线观看 | 2023av在线| 在线免费观看亚洲视频 | 涩av在线 | 99成人在线视频 | 亚洲综合视频在线播放 | 精品国产成人av在线免 | 三级黄色网址 | www.天天干.com| 久久久久久免费毛片精品 | 国产18精品乱码免费看 | 亚洲精品99 | 欧美a性 | 婷婷亚洲最大 | 亚洲成人欧美 | 欧美午夜激情网 | 久久精品伊人 | 亚洲最大av在线播放 | 婷婷综合久久 | 国产精品6999成人免费视频 | 日韩精品一区二区在线视频 | 超碰公开在线 | 国产一二三四在线视频 | 91中文在线 | 在线观看中文字幕网站 | 国产一线二线三线性视频 | 国产精品k频道 | 欧美激情一区不卡 | 精品成人在线 | 亚洲一级黄色片 | 久久99国产精品久久99 | 国产一区二区午夜 | 亚洲aⅴ在线 | 精油按摩av | 国产一区二区三区免费视频 | www黄色软件 | 久久成人免费视频 | 国产成人精品一区二三区 | 91视频三区 | 五月婷婷一区二区三区 | 欧美a在线免费观看 | 99精品99 | 亚洲香蕉视频 | 成人在线视频论坛 | 一区二区中文字幕在线观看 | 色综合久久久久综合99 | 国产女人免费看a级丨片 | 国产手机在线精品 | 三级黄色a| 久久精品人 | 操操综合网 | 久热香蕉视频 | a√资源在线 | 在线观看精品黄av片免费 | 日韩电影一区二区在线 | 久久人人看 | 色视频成人在线观看免 | 丁香五香天综合情 | 超碰在线日本 | 日本久久成人中文字幕电影 | 欧美性生活久久 | 久久这里只有精品23 | 九九免费在线视频 | 国产爽妇网 | 亚洲视频每日更新 | 91精品国产乱码久久 | 丁香婷婷激情国产高清秒播 | 国产999精品久久久久久绿帽 | 日韩久久久 | 免费视频黄 | 久草在线视频精品 | 黄网站免费看 | 一级成人免费视频 | 丰满少妇在线观看 | 亚州精品国产 | 免费在线观看中文字幕 | 中文av资源站 | 国产高清一区二区 | 国产麻豆精品95视频 | 91麻豆.com| 久久久久久久久久福利 | 亚洲区另类春色综合小说 | 国产色秀视频 | 99高清视频有精品视频 | 亚洲国产影院av久久久久 | 久久成人国产精品入口 | 丁香六月久久综合狠狠色 | 一区二区三区高清在线 | 日韩国产精品久久 | 蜜桃视频色 | 欧美精品亚洲精品日韩精品 | 97超碰香蕉 | 中文字幕永久免费 | 亚洲精品高清视频在线观看 | 麻豆精品国产传媒 | 久久久久高清 | 亚洲国产中文字幕在线 | 九色在线视频 | 国产va精品免费观看 | 亚洲日韩欧美视频 | 天天艹天天干天天 | 欧美一区二区在线刺激视频 | 狠狠干夜夜 | 国产理伦在线 | 最近日本韩国中文字幕 | 欧美成天堂网地址 | 中文字幕在线观看第二页 | 欧美另类xxx | 国产日本亚洲高清 | 成人在线观看免费视频 | 激情大尺度视频 | 91丨九色丨丝袜 | 日韩资源在线播放 | 福利一区二区 | 91精品在线免费 | 久久成人国产精品一区二区 | 91在线国内视频 | 国产三级香港三韩国三级 | 久久久久久久久久久免费视频 | 成人亚洲精品国产www | 亚洲有 在线 | 九九精品无码 | 在线日韩一区 | 免费看片网页 | 香蕉在线视频播放网站 | 91精选在线| 精品福利在线视频 | 一区二区国产精品 | 亚洲成av人影院 | 久久精品国产免费看久久精品 | 久久艹中文字幕 | 99精品免费久久久久久日本 | 成 人 黄 色 视频免费播放 | 97人人爽人人 | 久久综合国产伦精品免费 | 亚洲精品免费视频 | 精品一区二区6 | 精品视频免费看 | 在线观看视频中文字幕 | 国产99一区视频免费 | 国产精品成人国产乱 | 色视频在线观看免费 | 亚洲涩涩网站 | 中文字幕 国产精品 | 日日综合网 | 超碰在线人 | 99视频偷窥在线精品国自产拍 | 日韩欧美精品一区二区三区经典 | 日日夜夜狠狠操 | 91成人黄色| 精品av在线播放 | 激情久久网 | 永久免费毛片在线观看 | 欧美精品乱码久久久久久 | 99色免费视频 | 成人黄色中文字幕 | 在线国产小视频 | 亚洲精品乱码久久久久久9色 | av免费看看 | 亚洲一区二区三区毛片 | 色婷婷激情电影 | 中文字幕在线观看一区二区 | 国产午夜精品久久久久久久久久 | 91av手机在线 | 国产最新视频在线 | 精品在线一区二区三区 | 亚洲综合在线观看视频 | a天堂免费 | 99视频在线精品免费观看2 | 一区二区三区在线观看 | 国产精品视频免费观看 | 亚洲国产成人在线观看 | 91成人在线网站 | 五月婷丁香网 | 国产精品中文久久久久久久 | 一区二区中文字幕在线 | 久久在线 | 国产精品视频观看 | 久久精品xxx | 人人爽人人香蕉 | 久久免费国产精品 | 久久久久福利视频 | 亚洲人毛片 | 久久激情小说 | av一级黄| 日韩三级久久 | 91热精品 | www激情久久 | 日韩电影一区二区三区在线观看 | 黄网站a | 97视频在线播放 | 美女久久久久 | 综合黄色网 | 在线之家免费在线观看电影 | 四虎在线永久免费观看 | www.99在线观看 | 欧美成人影音 | av在线播放不卡 | 99在线精品视频 | 99久久精品免费看 | 国产伦精品一区二区三区无广告 | 国产精品99久久久久久久久久久久 | 日韩高清在线看 | 夜夜嗨av色一区二区不卡 | av资源免费在线观看 | 色综合久久久久久久久五月 | 97人人模人人爽人人少妇 | 中文字幕观看av | 日韩久久视频 | 天天五月天色 | 国产成人精品一区二三区 | 丁香五月缴情综合网 | av片在线观看免费 | 久久久999免费视频 日韩网站在线 | 天天天操天天天干 | 久久久免费 | 色在线免费 | 成人久久免费 | 天天综合在线观看 | 亚洲日本激情 | 在线观看你懂的网站 | 伊人成人久久 | 久草资源在线观看 | 久久99久久99久久 | 久久久精品在线观看 | 国产一区在线免费 | 亚洲涩涩色 | 国产小视频在线播放 | 波多野结衣视频在线 | 99九九热只有国产精品 | 涩涩网站免费 | 色噜噜狠狠色综合中国 | 日韩视频一区二区在线 | 超碰成人av | 日韩在线观 | 中文字幕在线影视资源 | 国产成人久久av免费高清密臂 | 午夜婷婷综合 | 久草在线精品观看 | 激情丁香久久 | 成人黄色av网站 | 丁香激情网 | 国产精品va在线观看入 | 欧美午夜视频在线 | 国产精品美女久久久久久2018 | 国外成人在线视频网站 | 国产日韩精品一区二区三区在线 | 中文字幕之中文字幕 | 国产精品福利av | 日本免费一二三区 | 免费看成人| 九九久久电影 | 国产精品久久久久影院日本 | 中文 一区二区 | 欧美成人精品欧美一级乱 | 欧美激情视频在线观看免费 | 91在线精品秘密一区二区 | 成年人国产视频 | 91天天操 | 99久久综合狠狠综合久久 | 亚洲综合在线发布 | 免费看三级黄色片 | 日韩久久一区 | 久久这里只有精品23 | 久久精品com| 日韩中文字幕网站 | 国产免费视频一区二区裸体 | 日韩高清毛片 | 97超在线| 欧美日韩视频精品 | 国产精品午夜av | 91手机视频在线 | 日韩黄色影院 | 成人手机在线视频 | 免费av高清 | 久久久免费精品国产一区二区 | 午夜影视剧场 | 国产精品久久精品国产 | 日韩在线观看精品 | 成人九九视频 | 国产传媒一区在线 | 97超视频| 久久伦理电影网 | 久久精品理论 | 三上悠亚一区二区在线观看 | 亚洲码国产日韩欧美高潮在线播放 | 国产精品一区二区久久久 | 国产 视频 久久 | 国产成人久久精品一区二区三区 | 日韩av成人免费看 | 美女啪啪图片 | 婷婷激情综合网 | 久久久久久久免费观看 | 国产精品黄 | 国产综合在线视频 | 日韩免费高清在线 | 国产欧美精品xxxx另类 | 在线激情电影 | a黄色一级片 | 国产精品18久久久久vr手机版特色 | 欧美成人高清 | 亚洲精品久久久蜜臀下载官网 | av在线a| 色婷婷亚洲综合 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 欧美日韩性视频 | 丁香九月婷婷综合 | 黄色免费在线视频 | 久久手机精品视频 | 精品免费久久久久 | 国产精品成人在线观看 | 狠狠狠狠狠狠天天爱 | 亚洲免费精品视频 | 91天堂在线观看 | 四月婷婷在线观看 | 嫩模bbw搡bbbb搡bbbb | 99精品区 | 2023年中文无字幕文字 | 五月婷av | 中文字幕乱码亚洲精品一区 | 免费在线观看一区二区三区 | 久久精品影视 | 成年人看片网站 | 久章草在线 | 色网站免费在线观看 | 亚洲欧美日韩精品一区二区 | 99亚洲国产精品 | 91久久久久久国产精品 | 日韩在线观看你懂的 | 中文字幕在线播放第一页 | 九色免费视频 | 麻豆视频网址 | 高清久久久久久 | 91精品国产成人观看 | 欧美日韩国产一区二区三区在线观看 | 国产精品永久免费在线 | 国产精品日韩久久久久 | 91精品国产麻豆国产自产影视 | 久久免费黄色大片 | 国产手机视频在线播放 | 中文字幕视频在线播放 | 精品国产乱码久久久久久1区二区 | 91成人精品一区在线播放69 | 日狠狠| 亚洲永久av| 久久激情综合 | 中文字幕免费播放 | 福利视频网址 | 久久综合婷婷综合 | 成人在线免费小视频 | 国产精品一区二区在线观看 | 免费在线观看的av网站 | 在线观看一二三区 | 久久久精品国产一区二区电影四季 | 99久久久久久久 | 久久精品精品电影网 | 99精品国产在热久久下载 | 色播五月激情综合网 | 97视频在线免费观看 | 在线99视频 | 国产视频 亚洲精品 | 国产99久久精品 | 欧美性生活一级片 | 色综合久久久网 | 91视频麻豆| 免费在线观看黄色网 | 国产不卡免费 | 99re视频在线观看 | 国产精品网站一区二区三区 | 可以免费观看的av片 | 久久精品久久久精品美女 | 欧美精品乱码久久久久久 | 日韩二三区 | 99国产在线观看 | 久久av电影 | 丁香六月在线观看 | 香蕉视频网址 | 在线成人短视频 | 午夜成人影视 | 国产成人一区二区在线观看 | 欧美精品二 | 天天操人| 国产精品激情偷乱一区二区∴ | 狠色狠色综合久久 | 不卡国产在线 | 亚洲在线视频网站 | 亚洲精品资源在线观看 | 手机在线中文字幕 | 99资源网 | 国际精品久久久久 | 久久精品欧美日韩精品 | 99久久99久久精品国产片果冰 | av不卡在线看 | 国产精品午夜av | 亚洲另类在线视频 | 久草爱视频 | 精品在线视频一区二区三区 | 亚洲综合激情小说 | 精品人妖videos欧美人妖 | 欧美激情视频三区 | 日韩三级在线观看 | 亚洲精品国产精品国自 | 久久理论影院 | 天海翼一区二区三区免费 | 亚洲一级理论片 | 人人插人人搞 | 精品a在线 | 日日干日日操 | 美女国产网站 | 欧美成人h版电影 | 中文字幕在线日本 | 日韩免费三区 | 亚洲午夜久久久影院 | 最近中文字幕完整视频高清1 | 精品一区二区精品 | 日韩精品专区 | 波多野结衣在线播放视频 | 国产精品网站一区二区三区 | 天天干夜夜爱 | 色的网站在线观看 | 麻豆91视频 | 婷婷在线视频观看 | 97成人在线观看视频 | 日本 在线 视频 中文 有码 | 久草香蕉在线 | 国产精品久久久毛片 | 国产一二三在线视频 | 免费国产ww | 欧美久久影院 | 久久av不卡 | 日韩欧美视频一区二区三区 | 国产一级精品绿帽视频 | 中文字幕欧美三区 | 99精品视频精品精品视频 |