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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

视频播放的时候不拦截OK键

發(fā)布時間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 视频播放的时候不拦截OK键 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.首先分析為了將OK鍵轉(zhuǎn)換成鼠標(biāo)左鍵的工作:

EventHub.h中

(1)定義NEED_CHANGE_MODE:

#define NEED_CHANGE_MODE

????????? 修改RawEvent的結(jié)構(gòu),增加 keyCode、flags兩個成員

struct RawEvent {nsecs_t when;int32_t deviceId;int32_t type;int32_t code;int32_t value;int32_t keyCode;uint32_t flags; };

EventHub.cpp中

(2)在EventHub::openDeviceLocked()中不自動獲取deviceID,而是通過指定(可能可以優(yōu)化):

// Allocate device. (The device object takes ownership of the fd at this point.)int32_t deviceId = mNextDeviceId++;

改成:

// Allocate device. (The device object takes ownership of the fd at this point.)int32_t deviceId; #ifdef NEED_CHANGE_MODEif(strstr(identifier.name,"Hillcrest")){//identifier.name=="Hillcrest Labs Virtual Pointer"||identifier.name=="Hillcrest MotionEngine Cursor Mover: #0"){//Compatible with two kinds of DongledeviceId = SENSOR_MOUSE_ID;}else if(identifier.name=="XXX"){deviceId = IR_RC_ID;}else{deviceId = mNextDeviceId++;} #else deviceId = mNextDeviceId++; #endif


(3)在InputReader.h中

定義一些會用到的變量:

#ifdef NEED_CHANGE_MODE#define SCANCODE_LEFT_MOUSE 272#define SCANCODE_CENTER 28#define SCANCODE_DPAD_LEFT 105#define SCANCODE_DPAD_RIGHT 106#define SCANCODE_DPAD_UP 103#define SCANCODE_DPAD_DOWN 108#define SCANCODE_MOUSE_WAKE 704#define AKEYCODE_MOUSE_WAKE 4021enum {LOCAL_INDEX_FIRST ,LOCAL_INDEX_SECOND ,LOCAL_INDEX_THIRD ,};enum{KEYEVENT_ACTION_UP,KEYEVENT_ACTION_DOWN,KEYEVENT_ACTION_REPEAT,};bool mMousetoFocus;bool mOktoMouseSure;bool mFlags;bool mTrueMouse;nsecs_t mWaitTime;bool mPowerOn;uint32_t isCursor;void removeFocusEventLocked(RawEvent* rawEvents, size_t count); #endif


(4)在InputReader.cpp中做具體修改:

定義全局bool變量,用于判斷是否要顯示鼠標(biāo)

static bool bEnablePointer = false;

在InputReader的構(gòu)造函數(shù)中定義一些局部變量

#ifdef NEED_CHANGE_MODEmMousetoFocus=false;mOktoMouseSure=true;isCursor=0;mFlags=false;mWaitTime=0;mTrueMouse=false;mPowerOn=false; #endif

添加一個移除焦點的函數(shù):

#ifdef NEED_CHANGE_MODE void InputReader::removeFocusEventLocked(RawEvent* rawEvents, size_t count){RawEvent* rawEvent = rawEvents;int32_t deviceId = IR_RC_ID;rawEvent->deviceId=deviceId;rawEvent->flags=0;rawEvent->keyCode=AKEYCODE_MOUSE_WAKE;rawEvent->code=SCANCODE_MOUSE_WAKE;rawEvent->type=1;rawEvent->value=1;//down event rawEvent[LOCAL_INDEX_SECOND].deviceId=deviceId;rawEvent[LOCAL_INDEX_SECOND].flags=0;rawEvent[LOCAL_INDEX_SECOND].keyCode=AKEYCODE_MOUSE_WAKE;rawEvent[LOCAL_INDEX_SECOND].code=SCANCODE_MOUSE_WAKE;rawEvent[LOCAL_INDEX_SECOND].type=1;rawEvent[LOCAL_INDEX_SECOND].value=0;//up eventprocessEventsForDeviceLocked(deviceId, rawEvent, count); } #endif


處理在void InputReader::processEventsLocked()函數(shù)中:

void InputReader::processEventsLocked(const RawEvent* rawEvents, size_t count) {for (const RawEvent* rawEvent = rawEvents; count;) {int32_t type = rawEvent->type;size_t batchSize = 1;if (type < EventHubInterface::FIRST_SYNTHETIC_EVENT) {int32_t deviceId = rawEvent->deviceId;while (batchSize < count) {if (rawEvent[batchSize].type >= EventHubInterface::FIRST_SYNTHETIC_EVENT|| rawEvent[batchSize].deviceId != deviceId) {break;}batchSize += 1;} #if DEBUG_RAW_EVENTSALOGD("BatchSize: %d Count: %d", batchSize, count); #endif #ifdef NEED_CHANGE_MODEuint32_t classes = mEventHub->getDeviceClasses(deviceId);if(SENSOR_MOUSE_ID != deviceId && (classes & INPUT_DEVICE_CLASS_CURSOR)){ #if DEBUG_RAW_EVENTSALOGD("type:%d scancode:%d keycode:%d vlaue:%d flags:%d",rawEvent->type,rawEvent->code,rawEvent->keyCode,rawEvent->value,rawEvent->flags); #endif}else{if(!mPowerOn && rawEvent->type== EV_REL){//wake mouse for the first timemOktoMouseSure = false;//Allows you to convert the OK key to mouse left keymMousetoFocus = true;//unfade the cursormPowerOn = true;// the first use of the mouse after system launch}RawEvent* rawEventLocal = const_cast<RawEvent*>(rawEvent);nsecs_t now;now = systemTime(SYSTEM_TIME_MONOTONIC);if(mWaitTime==0){mWaitTime=now;}else{if((now-mWaitTime)*0.000000001>15){if(rawEventLocal->code == SCANCODE_CENTER/*||rawEvent[1].scanCode==28*/){processEventsForDeviceLocked(deviceId, rawEventLocal, batchSize);mWaitTime=now;mMousetoFocus=false;//fade the cursorbreak;}else{if(rawEventLocal->type==EV_REL){//wake up the mouse after sleepmOktoMouseSure = false;//Allows you to convert the OK key to mouse left keymMousetoFocus = true;//unfade the cursor}else if(rawEventLocal->code == SCANCODE_LEFT_MOUSE/*The left Key of Mouse of the Remote Controller*/||rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_LEFT_MOUSE/*The left Key of Any Mouse*/){mMousetoFocus=false;//fade the cursor}else{mOktoMouseSure=true;//Don't intercept the OK keymFlags = true;//Mark the mouse after dormancy}}}mWaitTime=now; }if(mFlags && rawEventLocal->type==EV_REL){//The mouse be awakened first after dormancymOktoMouseSure = false;//Allows you to convert the OK key to mouse left keymFlags = false;mMousetoFocus = true;//unfade the cursor//Change the current event into the eliminational focus event.removeFocusEventLocked(rawEventLocal, batchSize);break;}if(!mTrueMouse){if(rawEventLocal->code == SCANCODE_LEFT_MOUSE||rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_LEFT_MOUSE){ if(!mMousetoFocus){mMousetoFocus=true;//unfade the cursormOktoMouseSure=false;//Allows you to convert the OK key to mouse left keyALOGD("get mouse left click!: deviceid %d scancode: %d", deviceId, rawEvent->code);//Change the current event into the eliminational focus event.removeFocusEventLocked(rawEventLocal, batchSize);break;}}else if(rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_UP || rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_DOWN|| rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_LEFT|| rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_RIGHT|| rawEventLocal->code == SCANCODE_DPAD_UP || rawEventLocal->code == SCANCODE_DPAD_DOWN || rawEventLocal->code == SCANCODE_DPAD_LEFT || rawEventLocal->code == SCANCODE_DPAD_RIGHT/*The direction key of Remote Controller in IR mode.*/||(rawEventLocal->value>458830&&rawEventLocal->value<458835)/*The direction key of Keyboard.*/){mMousetoFocus=false;//fade the cursormOktoMouseSure = true;//Don't intercept the OK key}if(!mMousetoFocus/* Drop The Cursor offset event of Mouse */){for(size_t s=0;s<batchSize;s++){ if(rawEventLocal[s].type == EV_REL){ isCursor = 1; break; } } if(isCursor){ for(size_t j=0 ; j<batchSize; j++){ rawEventLocal[j].deviceId = 0; rawEventLocal[j].type = -1; rawEventLocal[j].code = -1; rawEventLocal[j].value = -1; rawEventLocal[j].keyCode = -1; rawEventLocal[j].flags = -1; rawEventLocal[j].when = -1; } isCursor = 0; }}} if(!mOktoMouseSure && !bEnablePointer){//The OK key is converted to the mouse left keyif(rawEventLocal[LOCAL_INDEX_SECOND].code== SCANCODE_CENTER){deviceId=SENSOR_MOUSE_ID;if(rawEventLocal[LOCAL_INDEX_SECOND].value==KEYEVENT_ACTION_DOWN){rawEventLocal->deviceId=SENSOR_MOUSE_ID;rawEventLocal->flags=0;rawEventLocal->value=KEYEVENT_ACTION_DOWN;rawEventLocal->keyCode=0;rawEventLocal->code=SCANCODE_LEFT_MOUSE;rawEventLocal->type=1;rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_SECOND].flags=0;rawEventLocal[LOCAL_INDEX_SECOND].code=0;rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;rawEventLocal[LOCAL_INDEX_SECOND].type=0;rawEventLocal[LOCAL_INDEX_SECOND].value=0;rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_THIRD].flags=0;rawEventLocal[LOCAL_INDEX_THIRD].code=0;rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;rawEventLocal[LOCAL_INDEX_THIRD].type=0;rawEventLocal[LOCAL_INDEX_THIRD].value=0; mTrueMouse=true;} else if(rawEventLocal[LOCAL_INDEX_SECOND].value==KEYEVENT_ACTION_UP){rawEventLocal->deviceId=SENSOR_MOUSE_ID;rawEventLocal->flags=0;rawEventLocal->value=KEYEVENT_ACTION_UP;rawEventLocal->keyCode=0;rawEventLocal->code=SCANCODE_LEFT_MOUSE;rawEventLocal->type=1;rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_SECOND].flags=0;rawEventLocal[LOCAL_INDEX_SECOND].code=0;rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;rawEventLocal[LOCAL_INDEX_SECOND].type=0;rawEventLocal[LOCAL_INDEX_SECOND].value=0; rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_THIRD].flags=0;rawEventLocal[LOCAL_INDEX_THIRD].code=0;rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;rawEventLocal[LOCAL_INDEX_THIRD].type=0;rawEventLocal[LOCAL_INDEX_THIRD].value=0; mTrueMouse=false;}}else if(rawEventLocal->code== SCANCODE_CENTER/*The enter key / "OK" key event in IR mode*/){deviceId=SENSOR_MOUSE_ID;if(rawEventLocal->value==KEYEVENT_ACTION_REPEAT){mTrueMouse=true;break;}if(batchSize==4){rawEventLocal->deviceId=SENSOR_MOUSE_ID;rawEventLocal->flags=0;rawEventLocal->value=KEYEVENT_ACTION_DOWN;rawEventLocal->keyCode=0;rawEventLocal->code=SCANCODE_LEFT_MOUSE;rawEventLocal->type=1;rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID; rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_THIRD].flags=0;rawEventLocal[LOCAL_INDEX_THIRD].code=SCANCODE_LEFT_MOUSE;rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;rawEventLocal[LOCAL_INDEX_THIRD].type=1;rawEventLocal[LOCAL_INDEX_THIRD].value=KEYEVENT_ACTION_UP;rawEventLocal[3].deviceId=SENSOR_MOUSE_ID;}else{ if(rawEventLocal->value==KEYEVENT_ACTION_DOWN){rawEventLocal->deviceId=SENSOR_MOUSE_ID;rawEventLocal->flags=0;rawEventLocal->value=KEYEVENT_ACTION_DOWN;rawEventLocal->keyCode=0;rawEventLocal->code=SCANCODE_LEFT_MOUSE;rawEventLocal->type=1;rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_SECOND].flags=0;rawEventLocal[LOCAL_INDEX_SECOND].code=0;rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;rawEventLocal[LOCAL_INDEX_SECOND].type=0;rawEventLocal[LOCAL_INDEX_SECOND].value=0;mTrueMouse=true;} else if(rawEventLocal->value==KEYEVENT_ACTION_UP){rawEventLocal->deviceId=SENSOR_MOUSE_ID;rawEventLocal->flags=0;rawEventLocal->value=KEYEVENT_ACTION_UP;rawEventLocal->keyCode=0;rawEventLocal->code=SCANCODE_LEFT_MOUSE;rawEventLocal->type=1;rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;rawEventLocal[LOCAL_INDEX_SECOND].flags=0;rawEventLocal[LOCAL_INDEX_SECOND].code=0;rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;rawEventLocal[LOCAL_INDEX_SECOND].type=0;rawEventLocal[LOCAL_INDEX_SECOND].value=0; mTrueMouse=false;}} } }} #endifprocessEventsForDeviceLocked(deviceId, rawEvent, batchSize);} else {switch (rawEvent->type) {case EventHubInterface::DEVICE_ADDED:addDeviceLocked(rawEvent->when, rawEvent->deviceId);break;case EventHubInterface::DEVICE_REMOVED:removeDeviceLocked(rawEvent->when, rawEvent->deviceId);break;case EventHubInterface::FINISHED_DEVICE_SCAN:handleConfigurationChangedLocked(rawEvent->when);break;default:ALOG_ASSERT(false); // can't happenbreak;}}count -= batchSize;rawEvent += batchSize;} }

這里做的工作就是:

1.

if(SENSOR_MOUSE_ID != deviceId && (classes & INPUT_DEVICE_CLASS_CURSOR))

先通過判斷是否是鼠標(biāo)設(shè)備。

如果是的話才做處理。

2.

if(!mPowerOn && rawEvent->type== EV_REL){//wake mouse for the first time
?????mOktoMouseSure = false;//Allows you to convert the OK key to mouse left key
?????mMousetoFocus = true;//unfade the cursor
?????mPowerOn = true;// the first use of the mouse after system launch
????}

如果不處于開機狀態(tài),那么這時候收到一個rawEvent->type == EV_REL事件的時候

就要mPowerOn = true;以便后續(xù)根據(jù)這個變量點亮屏幕,達(dá)到按任意一個按鍵喚醒電視機的作用。

同時,第一次喚醒的時候,保持焦點模式。

3.

if(mWaitTime==0){
?????mWaitTime=now;
????}else{
?????if((now-mWaitTime)*0.000000001>15){
??????if(rawEventLocal->code == SCANCODE_CENTER/*||rawEvent[1].scanCode==28*/){
???????processEventsForDeviceLocked(deviceId, rawEventLocal, batchSize);
???????mWaitTime=now;
???????mMousetoFocus=false;//fade the cursor
???????break;
??????}else{
???????if(rawEventLocal->type==EV_REL){//wake up the mouse? after sleep
????????mOktoMouseSure = false;//Allows you to convert the OK key to mouse left key
????????mMousetoFocus = true;//unfade the cursor
???????}else if(rawEventLocal->code == SCANCODE_LEFT_MOUSE
????????/*The left Key of Mouse of the Remote Controller*/
????????||rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_LEFT_MOUSE
????????/*The left Key of? Any Mouse*/){
????????mMousetoFocus=false;//fade the cursor
???????}else{
????????mOktoMouseSure=true;//Don't intercept the OK key
????????mFlags = true;//Mark the mouse after dormancy
???????}
??????}
?????}
?????mWaitTime=now;????
????}

這段代碼的意思是:

每次收到按鍵都更新mWaitTime為當(dāng)前時間。如果這一次的按鍵離上一次操作的時間超過了15min,也就是進入休眠了。

這個時候,如果按enter鍵,隱藏鼠標(biāo)。而如果收到鼠標(biāo)事件,則mOktoMouseSure = false;這樣允許將OK鍵轉(zhuǎn)換成左鍵。

mMousetoFocus = true;喚醒鼠標(biāo)。否則,mOktoMouseSure=true;不對OK鍵作轉(zhuǎn)換。

這里的mFlags用于標(biāo)記鼠標(biāo)處于休眠狀態(tài)

4.

if(mFlags && rawEventLocal->type==EV_REL){//The mouse be awakened first after dormancy
?????mOktoMouseSure = false;//Allows you to convert the OK key to mouse left key
?????mFlags = false;
?????mMousetoFocus = true;//unfade the cursor
?????//Change the current event into the eliminational focus event.
?????removeFocusEventLocked(rawEventLocal, batchSize);
?????break;
?? ??}

這里就是針對鼠標(biāo)的休眠狀態(tài)做處理了,利用了前面的mFlags標(biāo)記

5.

mTrueMouse,是用于標(biāo)記是否對按鍵進行攔截的,我們只對down事件進行攔截和轉(zhuǎn)換就可以了。

if(rawEventLocal->code == SCANCODE_LEFT_MOUSE
??????||rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_LEFT_MOUSE){??
??????if(!mMousetoFocus){
???????mMousetoFocus=true;//unfade the cursor
???????mOktoMouseSure=false;//Allows you to convert the OK key to mouse left key
?????? ?ALOGD("get mouse left click!: deviceid %d scancode: %d", deviceId, rawEvent->code);
???????//Change the current event into the eliminational focus event.
???????removeFocusEventLocked(rawEventLocal, batchSize);
???????break;
??????}
?????}

這里是對鼠標(biāo)左鍵的處理。

6.

else if(rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_UP
??????|| rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_DOWN
??????|| rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_LEFT
??????|| rawEventLocal[LOCAL_INDEX_SECOND].code == SCANCODE_DPAD_RIGHT
??????|| rawEventLocal->code == SCANCODE_DPAD_UP
??????|| rawEventLocal->code == SCANCODE_DPAD_DOWN
??????|| rawEventLocal->code == SCANCODE_DPAD_LEFT
??????|| rawEventLocal->code == SCANCODE_DPAD_RIGHT
??????/*The direction key of? Remote Controller in IR mode.*/
??????||(rawEventLocal->value>458830&&rawEventLocal->value<458835)
??????/*The direction key of? Keyboard.*/){
?????? ??mMousetoFocus=false;//fade the cursor
??????mOktoMouseSure = true;//Don't intercept the OK key
?????}

這里就是實現(xiàn)對按任意方向鍵消隱鼠標(biāo)的地方。

7.

if(!mMousetoFocus/* Drop The Cursor offset event of Mouse */){
??????for(size_t s=0;s<batchSize;s++){???????
???????if(rawEventLocal[s].type == EV_REL){????????
????????isCursor = 1;????????
????????break;???????
???????}???????
??????}??????
??????if(isCursor){???????
???????for(size_t j=0 ; j<batchSize; j++){????????
????????rawEventLocal[j].deviceId = 0;???????
????????rawEventLocal[j].type =??? -1;????????
????????rawEventLocal[j].code =??? -1;????????
????????rawEventLocal[j].value =?? -1;????????
????????rawEventLocal[j].keyCode = -1;????????
????????rawEventLocal[j].flags =?? -1;????????
????????rawEventLocal[j].when =??? -1;????????
???????}???????
???????isCursor = 0;?????
??????}
??? ???}

這就是,如果鼠標(biāo)處于消隱狀態(tài),那么丟掉所有鼠標(biāo)位移的事件

8

最后就是重點了

對OK鍵的處理:

if(!mOktoMouseSure && !bEnablePointer){//The OK key is converted to the mouse left key

前面的很多邏輯都是標(biāo)記mOktoMouseSure【OK鍵是否要轉(zhuǎn)換成鼠標(biāo)左鍵】,(bEnablePointer應(yīng)該可以去掉)

這里就是實現(xiàn)OK鍵轉(zhuǎn)換的邏輯了

if(rawEventLocal[LOCAL_INDEX_SECOND].code== SCANCODE_CENTER){
??????deviceId=SENSOR_MOUSE_ID;
??????if(rawEventLocal[LOCAL_INDEX_SECOND].value==KEYEVENT_ACTION_DOWN){
???????rawEventLocal->deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal->flags=0;
???????rawEventLocal->value=KEYEVENT_ACTION_DOWN;
???????rawEventLocal->keyCode=0;
???????rawEventLocal->code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal->type=1;
???????rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_SECOND].flags=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].code=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].type=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].value=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_THIRD].flags=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].code=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].type=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].value=0;?
???????mTrueMouse=true;
???????? ??}?
????? ??else if(rawEventLocal[LOCAL_INDEX_SECOND].value==KEYEVENT_ACTION_UP){
???????rawEventLocal->deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal->flags=0;
???????rawEventLocal->value=KEYEVENT_ACTION_UP;
???????rawEventLocal->keyCode=0;
???????rawEventLocal->code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal->type=1;
???????rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_SECOND].flags=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].code=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].type=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].value=0;????
???????rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_THIRD].flags=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].code=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].type=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].value=0;?
???????mTrueMouse=false;
????? ??}
?????}
???? ??else if(rawEventLocal->code== SCANCODE_CENTER/*The enter key / "OK" key event in IR mode*/){
???? ???deviceId=SENSOR_MOUSE_ID;
???? ???if(rawEventLocal->value==KEYEVENT_ACTION_REPEAT){
???????mTrueMouse=true;
???????break;
??????}
??????if(batchSize==4){
???????rawEventLocal->deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal->flags=0;
???????rawEventLocal->value=KEYEVENT_ACTION_DOWN;
???????rawEventLocal->keyCode=0;
???????rawEventLocal->code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal->type=1;
???????rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;??
???????rawEventLocal[LOCAL_INDEX_THIRD].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_THIRD].flags=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal[LOCAL_INDEX_THIRD].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_THIRD].type=1;
???????rawEventLocal[LOCAL_INDEX_THIRD].value=KEYEVENT_ACTION_UP;
???????rawEventLocal[3].deviceId=SENSOR_MOUSE_ID;
??????}else{???
?????? if(rawEventLocal->value==KEYEVENT_ACTION_DOWN){
???????rawEventLocal->deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal->flags=0;
???????rawEventLocal->value=KEYEVENT_ACTION_DOWN;
???????rawEventLocal->keyCode=0;
???????rawEventLocal->code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal->type=1;
???????rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_SECOND].flags=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].code=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].type=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].value=0;
???????mTrueMouse=true;
???????? ??}?
????? ??else if(rawEventLocal->value==KEYEVENT_ACTION_UP){
???????rawEventLocal->deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal->flags=0;
???????rawEventLocal->value=KEYEVENT_ACTION_UP;
???????rawEventLocal->keyCode=0;
???????rawEventLocal->code=SCANCODE_LEFT_MOUSE;
???????rawEventLocal->type=1;
???????rawEventLocal[LOCAL_INDEX_SECOND].deviceId=SENSOR_MOUSE_ID;
???????rawEventLocal[LOCAL_INDEX_SECOND].flags=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].code=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].keyCode=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].type=0;
???????rawEventLocal[LOCAL_INDEX_SECOND].value=0;??
???????mTrueMouse=false;
????? ??}
??????}?
???? ??}

其實就是對

rawEventLocal[LOCAL_INDEX_SECOND].code== SCANCODE_CENTER和rawEventLocal->code== SCANCODE_CENTER兩種情況作處理。

(這里rawEventLocal有三組值,通過getevent我們可以看到,每按一個按鍵,是會有三個數(shù)據(jù)顯示的,類似:

# getevent/dev/input/event0: EV_MSC MSC_SCAN 0000f00b /dev/input/event0: EV_KEY KEY_ENTER DOWN /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_KEY KEY_ENTER UP /dev/input/event0: EV_SYN SYN_REPORT 00000000


所以判斷的時候,要針對DOWN事件的第二組值作處理。

?那么問題來了?,F(xiàn)在鼠標(biāo)模式下在InputReader.cpp中將所有OK鍵進行了攔截轉(zhuǎn)換成鼠標(biāo)左鍵,以達(dá)到按OK鍵當(dāng)鼠標(biāo)左鍵的作用,那么Android系統(tǒng)中怎么樣在視頻播放這樣一個場景下,不對OK鍵進行攔截呢?

?


結(jié)論:


這個問題還是當(dāng)初的設(shè)計問題,如果決定在系統(tǒng)層將所有OK鍵轉(zhuǎn)換成鼠標(biāo)左鍵,那么自然上層所有的OK鍵都是起鼠標(biāo)左鍵的效果。這個時候你又要求某一個第三方應(yīng)用還是保留原來的OK鍵的效果,很明顯是矛盾的。


如果要解決這個問題,只能是在視頻全屏播放的時候,不開啟空鼠模式!!java層獲取到是否是視頻播放狀態(tài),然后通過jni調(diào)用接口來操作C++層,這個方式可行,但是動作太大了。而且在系統(tǒng)層對單一場景特別處理顯然不好。



總結(jié)

以上是生活随笔為你收集整理的视频播放的时候不拦截OK键的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

国产美女无遮挡永久免费 | 成年人在线观看 | 狠狠干免费| 九九免费在线观看视频 | 国产精品99久久久久人中文网介绍 | 99国产精品久久久久久久久久 | 国内视频在线 | 国产亚洲激情视频在线 | 亚洲一区网站 | 麻豆国产露脸在线观看 | 久久精品小视频 | 久久久精品一区二区三区 | 免费网址你懂的 | 日本久久久久 | 国产精品久久网站 | 中文字幕影视 | 久久精品99国产精品 | 日日躁夜夜躁xxxxaaaa | 国内久久久久 | 99久久9| 九九热精品国产 | 最近更新好看的中文字幕 | 深夜免费福利网站 | 中文高清av | 精品视频一区在线 | 国产精品12| 福利电影久久 | 成人禁用看黄a在线 | 国产精品久久一区二区三区, | 91福利视频网站 | 国产精品久久久久久久久久免费看 | 日韩在线 | 欧美在线视频一区二区三区 | www99精品| 中文字幕在线播出 | 深夜国产在线 | 国产韩国精品一区二区三区 | 日本久久免费视频 | 亚洲人人精品 | 免费av网站在线看 | 久久午夜影视 | 亚洲综合狠狠干 | 精品99免费 | 久久久国产视频 | 亚洲精品456在线播放乱码 | 狠狠色伊人亚洲综合网站野外 | 天天操天天舔天天干 | 成人a级大片 | 日韩精品无码一区二区三区 | 久久爱资源网 | av免费网站在线观看 | 九七视频在线观看 | 69精品视频在线观看 | 精品久久综合 | 少妇资源站 | 久久精品亚洲国产 | 中文字幕一二三区 | av视屏在线播放 | 超碰国产人人 | 国产美女视频一区 | 国产我不卡| 亚洲aaa级| 色a网| 日韩欧美国产成人 | 国产午夜精品av一区二区 | 国产资源在线播放 | 色婷婷久久一区二区 | 亚洲国产精品电影在线观看 | 在线之家免费在线观看电影 | 免费成人在线视频网站 | av在线影视 | 玖玖玖在线| 99久久精品视频免费 | 日韩欧美精品免费 | 福利网在线 | 久久精品99久久久久久 | 天天操月月操 | 久久精品99久久久久久 | 久久综合亚洲鲁鲁五月久久 | 亚洲精品一区二区三区在线观看 | 久久亚洲美女 | 一级一片免费视频 | 久草爱 | 中文字幕亚洲综合久久五月天色无吗'' | 亚洲免费一级 | 97在线精品视频 | 激情欧美日韩一区二区 | 一区二区三区电影大全 | 久久免费视频在线 | 欧美韩国日本在线 | 国产福利91精品张津瑜 | 97影视| 国产99久久久久久免费看 | 99热九九这里只有精品10 | 在线观看涩涩 | 摸bbb搡bbb搡bbbb| 欧美大香线蕉线伊人久久 | 欧美男女爱爱视频 | 久久久免费电影 | 国产精品二区在线 | 国产精品久久久久久久久久直播 | 色综合久久久久久久久五月 | 欧美另类z0zx | 国内揄拍国产精品 | 日日干网 | 久久草在线免费 | 三级黄色片在线观看 | 国内99视频 | 天堂在线成人 | 午夜视频欧美 | 成人国产精品久久久春色 | 久久久久国产精品一区 | 成年人在线免费视频观看 | 午夜av激情 | 日韩欧美网址 | 欧美日韩在线视频一区 | 99在线精品视频在线观看 | 麻豆视频在线观看免费 | 日韩中文字幕国产 | 深夜福利视频在线观看 | 国产精品亚州 | av天天干| 欧美精品中文 | 色噜噜日韩精品一区二区三区视频 | 国产成人av网 | 麻豆av一区二区三区在线观看 | 韩日精品在线 | 国产精品久久一 | 激情综合色图 | 很污的网站 | 亚洲精品视频中文字幕 | 欧美男同视频网站 | 亚洲区另类春色综合小说 | 国产精品视频地址 | 国产视频久 | 国产成在线观看免费视频 | 免费看片日韩 | 国产精品少妇 | 91香蕉视频色版 | 91香蕉视频 mp4 | 97人人模人人爽人人少妇 | 一区二区三区高清 | 高清日韩一区二区 | 午夜国产福利视频 | 久久 亚洲视频 | 国产免费成人av | 婷婷午夜 | 天天射天天干天天操 | 伊人五月婷| 中文字幕在线不卡国产视频 | 日韩精品一区二区三区高清免费 | 久久ww | 麻豆精品在线视频 | 国产一级高清 | 久久免费一 | 91精品色| 精品久久久久久久 | 亚洲精品91天天久久人人 | 黄色成人在线观看 | 婷婷久草 | 国产资源精品在线观看 | 国产九九精品视频 | 最近免费中文字幕mv在线视频3 | 欧美另类交人妖 | 久久精品毛片基地 | 手机看片午夜 | 国内精品久久久精品电影院 | 成人91在线 | 六月激情网 | 欧美亚洲免费在线一区 | 久久精品久久精品 | 国产精品自在欧美一区 | 五月婷婷电影网 | 久久色在线播放 | 日韩电影在线观看一区 | 99久久国产免费,99久久国产免费大片 | 国产精品免费视频网站 | 日韩91精品| 97超碰在线资源 | 国产在线视频一区二区 | 国产精品午夜在线观看 | 国产色久| 久久精品91久久久久久再现 | av免费看网站 | 国内丰满少妇猛烈精品播 | 中文日韩在线 | 中文字幕国产精品 | 国产精品免费视频一区二区 | 天天干天天操 | 免费黄色网止 | 天天干天天操天天拍 | 精品免费在线视频 | 天天操天天舔天天爽 | 欧美一级欧美一级 | 精品色999 | 一区免费在线 | 免费观看视频的网站 | 69夜色精品国产69乱 | 欧美激情精品久久久久久免费 | 久久久免费看视频 | 国产精品欧美激情在线观看 | 日韩在线影视 | 波多野结衣一区二区三区中文字幕 | 久久天天躁夜夜躁狠狠躁2022 | 五月天丁香亚洲 | 探花视频在线观看免费版 | 99精彩视频在线观看免费 | av一级片在线观看 | 国产精品综合久久久久久 | 超碰在线色| 99中文字幕在线观看 | 精品国产1区2区 | 久久国产一区二区 | 久久日本视频 | 97高清视频 | 丝袜美女在线观看 | 亚洲成人资源在线观看 | 国产精品乱码久久 | 欧美精品久久人人躁人人爽 | 欧美一级久久久久 | 999热线在线观看 | 午夜a区| 一色av| 中文字幕一二三区 | 黄色一区二区在线观看 | 成人欧美一区二区三区黑人麻豆 | 天天色天天干天天 | 欧美久久久久久久久久久久久 | 婷婷激情影院 | 亚洲一级二级三级 | 久久成人欧美 | 久久久久久久久久久免费 | 国产精品日韩久久久久 | 日韩欧美国产成人 | 97夜夜澡人人双人人人喊 | 欧美在线视频精品 | 亚洲综合射| 中文字幕在线专区 | 麻豆免费看片 | 国产破处精品 | 亚洲视频在线免费看 | 成人av资源网站 | 99精品电影 | 天天草视频 | 免费观看的av网站 | 日本视频久久久 | 精品成人网 | 五月婷婷激情五月 | 免费高清在线观看成人 | 欧美美女视频在线观看 | 国产精品不卡视频 | 97碰在线视频 | 中文综合在线 | 国产中出在线观看 | 国产高清视频在线观看 | 香蕉视频在线免费看 | 97精品在线视频 | 久久九九精品 | 在线视频91| 中文字幕专区高清在线观看 | 精精国产xxxx视频在线播放 | 国产不卡网站 | 午夜久久影院 | 日韩在线一区二区免费 | 99久久精品无码一区二区毛片 | 国产99久久精品一区二区300 | 日韩视频www | 国产精品入口a级 | 成人免费xxx在线观看 | 五月婷婷在线视频观看 | 婷婷网站天天婷婷网站 | 日韩系列| 五月天婷婷视频 | 免费网站色 | 久久高清国产视频 | 27xxoo无遮挡动态视频 | 操操操人人人 | 夜夜骑日日 | 欧美日韩中文在线观看 | 伊人伊成久久人综合网小说 | a在线观看国产 | 91丨九色丨高潮丰满 | 日韩精品在线播放 | 久久久久女人精品毛片九一 | 国产成人精品av在线观 | 狠狠的干狠狠的操 | 成av在线 | 欧美日韩一区二区视频在线观看 | 99精品国产一区二区三区不卡 | 天天操天天弄 | 国产麻豆剧传媒免费观看 | 色视频在线免费观看 | 最近中文字幕免费视频 | 欧美日韩高清国产 | 国产九色视频在线观看 | 国产精品 久久 | 精品久久视频 | 久久综合干 | 911在线| 国内精品久久久久影院一蜜桃 | www麻豆视频 | 久久九九影视网 | 久久99九九99精品 | 成 人 黄 色 免费播放 | 色综合久久久久综合99 | 中文字幕 在线看 | 911国产在线观看 | 国产又粗又猛又爽又黄的视频先 | 欧美精品一区二区在线观看 | 天天草综合 | 丁香六月久久综合狠狠色 | 国产黄 | 国产高清福利在线 | 国产日产欧美在线观看 | 中文字幕精品在线 | 久草视频在线新免费 | 亚洲精品资源在线观看 | 91视频91色| 免费网站黄 | 黄色av大片| 日韩欧美xxxx | 日韩欧美一区二区三区视频 | 免费观看性生活大片3 | 欧美91精品久久久久国产性生爱 | 女人高潮特级毛片 | 国产不卡视频在线播放 | 国产日韩视频在线 | 91麻豆免费版 | 黄色片视频在线观看 | 久久伊人五月天 | 天堂网一区 | 丁香六月婷婷开心 | 麻豆精品传媒视频 | 午夜丁香网 | 亚洲精品456在线播放乱码 | 日日夜夜天天干 | 日日夜夜人人天天 | 久久久免费播放 | 久久亚洲影院 | 免费av大全 | 欧美午夜一区二区福利视频 | 日韩免费一区 | 久久毛片高清国产 | 久久图 | 草久在线观看 | 午夜视频在线观看一区二区三区 | 国产成年人av | 色老板在线视频 | 黄色大片日本 | av女优中文字幕在线观看 | 日韩欧美一区二区三区免费观看 | 亚洲精品麻豆 | 高清av影院| 久久er99热精品一区二区三区 | 91视频国产免费 | 午夜免费在线观看 | 91久久爱热色涩涩 | www.天天射.com | 88av色| 亚洲伊人婷婷 | 韩国精品在线观看 | 一区二区三区四区精品视频 | 婷婷丁香在线观看 | 亚洲黄色区 | 精品一区电影国产 | 一区视频在线 | 精品在线免费视频 | 精品特级毛片 | 综合久久久久 | 免费在线观看日韩欧美 | 91成人精品 | 亚洲欧美日韩国产 | 国产视频在线观看一区二区 | 97成人啪啪网 | 欧美日韩不卡一区二区三区 | 99视频精品免费视频 | a在线v| 欧美乱大交 | 99精品欧美一区二区蜜桃免费 | 久久99精品久久久久婷婷 | 久久 地址 | 永久免费看av | 久久久久久久久久久高潮一区二区 | 午夜精品中文字幕 | 99国产一区 | 日本一区二区免费在线观看 | 人人射人人射 | a√国产免费a | 亚洲综合五月 | 日韩精品视频久久 | 免费高清男女打扑克视频 | 久青草影院 | 成人一级影视 | 色国产精品一区在线观看 | 国产精品久久一区二区三区, | 国产色视频123区 | 国产美女网站在线观看 | 久久九九视频 | 麻豆精品视频 | 精品欧美小视频在线观看 | 国产福利资源 | 久久久人人人 | 开心色激情网 | 久久九九影视 | 国产精品国内免费一区二区三区 | 韩国av电影在线观看 | 国产在线最新 | 狠狠色丁婷婷日日 | 日本免费一二三区 | 日韩欧美视频在线免费观看 | 日韩羞羞 | 成人av免费播放 | 日韩激情一二三区 | 国产精品观看 | 天堂网av 在线 | 高清av在线免费观看 | 国产色婷婷精品综合在线手机播放 | 天天干天天摸天天操 | 五月天婷亚洲天综合网鲁鲁鲁 | 懂色av一区二区三区蜜臀 | 六月色丁 | 激情 婷婷 | av在线免费播放 | 国产资源精品 | 国产麻豆电影 | www.国产视频 | 天天色天天操综合 | 成 人 黄 色视频免费播放 | 一本到视频在线观看 | 五月婷久久 | 天天玩天天干天天操 | 欧美激情精品久久久 | 天天干天天干天天色 | 国产aa免费视频 | 成人毛片一区二区三区 | 国产精品欧美一区二区 | 一区三区在线欧 | 国产精品1区2区3区 久久免费视频7 | 青青色影院 | 婷婷丁香自拍 | 成人试看120秒 | 日韩特级片 | 久久精品99 | 在线看片一区 | 97操碰| 免费三级在线 | 亚洲最新av在线 | 久久久久草 | 日韩三级不卡 | 中文字幕欲求不满 | 日日操天天操狠狠操 | av在线网站观看 | 婷婷av在线 | 丁香久久婷婷 | caobi视频| 欧美日韩视频 | 99操视频| 五月天久久久久 | 在线中文字幕av观看 | 日韩成人不卡 | 久久精品香蕉视频 | 九九九在线观看 | 日韩电影一区二区在线观看 | 91亚洲精品久久久蜜桃 | 亚洲第一区在线播放 | 亚洲欧美va | 亚洲91中文字幕无线码三区 | 国产一区二区久久精品 | 日韩视频中文 | 日本婷婷色 | 激情亚洲综合在线 | av福利免费 | 午夜影视av| 国产免码va在线观看免费 | 亚洲精品乱码久久久久久蜜桃欧美 | av在线免费网 | 日韩av在线看 | 91大神在线观看视频 | 色婷婷视频在线 | 亚洲精品综合欧美二区变态 | 国产69久久精品成人看 | 婷婷电影在线观看 | 久久黄色免费 | 99久久国产免费,99久久国产免费大片 | 99国内精品久久久久久久 | 日韩中文字幕电影 | 国际av在线| 国产在线不卡精品 | 国产在线探花 | 深爱五月激情网 | 免费观看日韩 | 亚洲精品乱码白浆高清久久久久久 | 欧美激情综合五月 | 国产一区二区在线精品 | 日韩一区二区三区免费视频 | 黄污视频大全 | 99精品国产一区二区三区麻豆 | 精品视频在线视频 | 久久久久亚洲天堂 | 五月天视频网站 | 免费看色视频 | 国产精品青草综合久久久久99 | 丝袜网站在线观看 | 欧美91av| 人人爽人人爱 | 亚洲精区二区三区四区麻豆 | 免费高清在线观看成人 | 亚洲区另类春色综合小说校园片 | 国产视频精品在线 | 国产成人精品午夜在线播放 | 国产麻豆果冻传媒在线观看 | 97超碰人人澡人人爱 | 婷婷午夜 | 涩涩在线 | 天天插夜夜操 | 亚洲国产精品女人久久久 | 91视频 - v11av| 中文字幕免费观看全部电影 | 粉嫩av一区二区三区四区 | 成年人视频在线免费播放 | 久久久久麻豆v国产 | 亚洲成人第一区 | 国产午夜精品一区二区三区四区 | 天天干天天干天天干天天干天天干天天干 | 2017狠狠干 | 欧美日韩在线精品一区二区 | 亚洲中字幕 | 天堂网一区二区 | 国产欧美最新羞羞视频在线观看 | 婷婷在线免费视频 | 婷五月天激情 | 久久免费看 | 欧美成人视 | 69国产盗摄一区二区三区五区 | 91九色精品女同系列 | 成人一级免费视频 | 西西444www | 成 人 黄 色 免费播放 | 亚洲精品中文字幕在线观看 | 中文字幕亚洲综合久久五月天色无吗'' | 青青草国产免费 | 亚洲精品影视在线观看 | 日韩69视频| 91麻豆产精品久久久久久 | 国产在线高清 | av中文资源在线 | 免费手机黄色网址 | 在线观看亚洲免费视频 | 日日爱网址 | 国产中文字幕免费 | 91视频 - 114av | 午夜性色 | 伊人狠狠 | 精品a级片| 97在线免费视频观看 | av噜噜噜在线播放 | 午夜精品电影一区二区在线 | 不卡中文字幕在线 | 婷婷丁香七月 | 亚洲欧美精品一区 | 97理论片 | 日韩在线视频不卡 | 中文字幕一区二区在线播放 | 国产综合香蕉五月婷在线 | 日韩高清在线不卡 | 成人av av在线 | 欧美色伊人 | 米奇四色影视 | 亚洲少妇久久 | 国产精品视频免费在线观看 | 国产第一页精品 | 九九九在线观看 | 婷婷深爱五月 | 久久精品资源 | 成人av电影免费在线播放 | 91免费观看 | 国产精品综合久久 | 狠狠色狠狠色终合网 | 国产91精品久久久久久 | 免费看日韩片 | 91av在线视频免费观看 | a级国产毛片 | 欧美色精品天天在线观看视频 | 99精品国产福利在线观看免费 | 香蕉视频啪啪 | 91香蕉视频污在线 | 96精品视频 | 中文字幕一区二区三区久久 | 亚洲精品自拍视频在线观看 | 9免费视频 | 娇妻呻吟一区二区三区 | 久草在线| 蜜桃视频日韩 | 精品日本视频 | 444av| 六月婷操| 成人一区二区三区中文字幕 | 亚洲欧洲日韩在线观看 | 精品久久国产一区 | 黄色软件视频大全免费下载 | 91香蕉视频污在线 | 国产精品日韩在线观看 | av日韩中文| 婷香五月 | 成人av中文字幕在线观看 | av高清一区二区三区 | 91九色在线播放 | 精品视频网站 | 在线观看一区视频 | 国产视频精品免费播放 | 久久综合加勒比 | 在线成人免费电影 | 91字幕| 操高跟美女 | 高清久久久久久 | av片子在线观看 | 黄色片网站大全 | 国产aa免费视频 | 草久久影院| 国产高清视频在线播放一区 | 欧美日韩久久一区 | 免费午夜视频在线观看 | 久久国产a| av在线网站大全 | 国产真实精品久久二三区 | 色 中文字幕 | 草久视频在线 | 久久99精品久久久久久久久久久久 | 久久精品欧美一 | 欧美日韩高清 | 中文字幕欲求不满 | 毛片播放网站 | 美女黄视频免费 | 日本大尺码专区mv | 97视频一区| a√天堂中文在线 | 国产亚洲精品福利 | 国产成人在线免费观看 | 久久国产精品视频观看 | 久久综合五月 | 国产999久久久 | 美女久久久久 | 国产一区成人在线 | 日本韩国精品一区二区在线观看 | 伊人热| 亚洲欧美国内爽妇网 | 久久九九国产精品 | 大型av综合网站 | 成人在线观看日韩 | 韩国精品视频在线观看 | 欧美久久久久久久 | 国产视频1区2区3区 久久夜视频 | 中文字幕乱码亚洲精品一区 | 97超碰人人| 国产99久久久国产精品免费二区 | 在线一区电影 | 国产精品 视频 | 亚洲 综合 国产 精品 | av线上看| 欧美一进一出抽搐大尺度视频 | 国产午夜精品一区 | 毛片.com| 亚洲无吗天堂 | 国产成人久久av977小说 | 国产理论影院 | 午夜精品一区二区国产 | 97视频资源| 久久99在线视频 | 中文字幕一区二区三区在线播放 | 欧美性直播 | 好看的国产精品视频 | 天天干夜夜爱 | 国产在线播放一区 | 涩av在线| 又色又爽又黄 | 91久久久国产精品 | 欧美激情片在线观看 | 在线成人免费av | 欧美日韩视频免费看 | 亚洲国产精品久久久久婷婷884 | 久久经典国产视频 | 国产自产在线视频 | 日日夜夜精品免费观看 | 九色精品免费永久在线 | 欧美国产日韩一区二区三区 | 精品欧美小视频在线观看 | 国产精品11| 337p日本欧洲亚洲大胆裸体艺术 | 午夜精品一区二区三区四区 | 国产又粗又长的视频 | 国产欧美精品xxxx另类 | 天天操天天插 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 欧美 日韩 国产 中文字幕 | 国产在线精 | 99久久精品免费看国产麻豆 | 免费观看日韩av | 成人久久久久久久久 | 久久天天躁夜夜躁狠狠躁2022 | 欧美91片| 97电影在线 | 精品国产诱惑 | 伊人色综合久久天天 | 日韩欧美一级二级 | 久久99精品久久久久久清纯直播 | 国产精品一区二区久久久久 | 97精品欧美91久久久久久 | 国产99久久久欧美黑人 | 久久久久9999亚洲精品 | www色网站 | 午夜成人影视 | 9797在线看片亚洲精品 | 日韩免费在线观看视频 | 国产a级精品 | 伊人五月天.com | 国产资源中文字幕 | 99麻豆视频 | 午夜电影 电影 | 在线影院 国内精品 | 九九有精品| 亚洲精品综合欧美二区变态 | 国产成人久久精品亚洲 | 亚洲一二三在线 | 97福利视频 | 亚洲一区黄色 | 国产伦精品一区二区三区四区视频 | 国产91精品一区二区麻豆亚洲 | 四虎国产永久在线精品 | 97超碰在线视 | 精品在线观看国产 | 欧美日韩精品影院 | 国产午夜精品免费一区二区三区视频 | 国产一区高清在线 | 亚洲va综合va国产va中文 | 五月婷影院| 伊人丁香 | 在线不卡的av | 国产 日韩 欧美 中文 在线播放 | 婷婷免费在线视频 | 91一区一区三区 | 91在线蜜桃臀 | 日韩 在线观看 | 日本久久综合网 | 亚洲干视频在线观看 | 开心丁香婷婷深爱五月 | 激情伊人| 国产一区在线观看免费 | 久久极品 | 国产无套一区二区三区久久 | 在线观看一区二区视频 | 丁香激情五月 | 婷婷色5月| 99精品免费网 | 日韩一二区在线观看 | 国产另类av| 日日麻批40分钟视频免费观看 | 五月综合激情网 | 欧美一区二区在线免费看 | 99国产在线视频 | 成人a毛片 | 精品视频99 | 亚洲精品在线一区二区 | 国产无套精品久久久久久 | www.五月天激情 | 欧美成人tv | 精品欧美一区二区精品久久 | 亚洲成av人片一区二区梦乃 | 国产精品99久久久久久有的能看 | 麻豆一二三精选视频 | 夜夜骑天天操 | 国产一区二区精品久久 | 免费婷婷| 国产 日韩 在线 亚洲 字幕 中文 | 久99久精品视频免费观看 | 色婷婷啪啪免费在线电影观看 | 国产色在线,com | 天天天插 | 国产精品成人久久 | 免费观看第二部31集 | 国产二区电影 | www黄在线| 91综合色 | 国产资源免费在线观看 | 97视频精品| 中文字幕一区二区三区在线观看 | 久保带人 | 日韩精品一区二区三区免费观看视频 | 日韩一级电影网站 | 欧美一区二区三区在线播放 | 91精品婷婷国产综合久久蝌蚪 | 欧美精品少妇xxxxx喷水 | 亚洲一级在线观看 | 成人av手机在线 | 久久精品这里精品 | 精品国产视频在线 | 99理论片| 国产一区二区在线播放视频 | 国产高清视频免费观看 | 天天操人 | 日韩在线三级 | 日韩在线观看中文 | 在线精品亚洲一区二区 | 久久精品99国产精品亚洲最刺激 | 天天舔天天射天天操 | 久草在线在线视频 | 亚洲特级毛片 | 2023年中文无字幕文字 | 国产精品久久久久av免费 | 91精品国产成人 | 成人黄色小说网 | 亚洲人成免费 | 久久看片网 | 久久久蜜桃 | 最近免费观看的电影完整版 | 亚洲 欧美 日韩 综合 | 国产精品久久久久久久av电影 | 欧美激情在线看 | 91成人在线观看高潮 | 久久福利综合 | 中文在线免费看视频 | 精品国产一区二区三区在线观看 | 久久精品国产亚洲精品2020 | 九九视频免费观看视频精品 | 色视频网站在线观看一=区 a视频免费在线观看 | 欧美一区二区免费在线观看 | 国产网站色| 欧美日韩中文视频 | 亚洲色图av | 欧美国产日韩一区 | 久久综合久久久久88 | zzijzzij亚洲成熟少妇 | 青青河边草免费直播 | 97操操操| 欧美成年人在线观看 | 免费网站在线观看人 | 欧美精品久久久久久久久久久 | 色综合久久精品 | 国产成人一级电影 | 日韩三级中文字幕 | 日韩欧美一区二区在线播放 | 亚洲另类在线视频 | 色射爱 | 91精品在线免费视频 | 成人四虎影院 | 人人精品久久 | 九九热精品视频在线播放 | 国产欧美日韩精品一区二区免费 | 国产成人一区二区啪在线观看 | 国产精品专区在线 | 成人小视频在线免费观看 | 日韩av成人免费看 | 国产视频午夜 | 激情开心站 | 国产精品99久久久久久武松影视 | 色婷婷狠狠五月综合天色拍 | 九色琪琪久久综合网天天 | 国产午夜精品在线 | 五月婷婷综合网 | 97免费在线观看视频 | 国产 视频 高清 免费 | 热久久国产 | 国产视频二区三区 | 在线成人中文字幕 | 24小时日本在线www免费的 | www.夜夜干.com | 色婷婷久久久 | 免费网站黄 | 伊人久久影视 | 国产第一页福利影院 | 91激情小视频 | www.狠狠干| 91精品办公室少妇高潮对白 | 天无日天天操天天干 | 中文字幕在线日 | 免费国产在线观看 | 免费观看黄色12片一级视频 | 日本久久久久久久久久 | 中文字幕在线观看视频一区二区三区 | 五月综合激情 | 天天干,天天操,天天射 | 欧美一级久久 | 久久高清av| 欧美精品v国产精品v日韩精品 | 成人免费在线观看电影 | 香蕉影视app| 色播亚洲婷婷 | 黄色www在线观看 | 免费日韩在线 | 婷婷四房综合激情五月 | 五月婷婷色丁香 | 99视频久 | 精品亚洲欧美无人区乱码 | 九热精品 | 日p视频在线观看 | 天天操天天射天天 | 伊人色综合久久天天网 | 亚洲日日夜夜 | 精品欧美一区二区精品久久 | 色网站在线 | 国产精品久久久久一区二区三区 | 欧美日韩不卡在线观看 | av成年人电影 | 亚洲区精品视频 | 亚洲视屏在线播放 | 国内精品久久久久久久影视简单 | 樱空桃av | 丰满少妇高潮在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 一区二区三区在线电影 | 久草剧场| 超碰大片 | 黄色三级av| 狠狠操综合网 | 人人要人人澡人人爽人人dvd | 欧美午夜a | 五月综合色 | 国内外成人在线 | 91在线日本| 激情久久婷婷 | 日韩精品一区二区三区免费视频观看 | 97在线资源| 香蕉影视在线观看 | 日韩三级视频 | 国产亚洲在线视频 | 日韩性网站 | 久久国产女人 | 精品成人在线 | 国产成人一区二区三区电影 | 日韩精品视频免费看 | 色多多视频在线 | 日韩激情综合 | 麻豆视传媒官网免费观看 | 精精国产xxxx视频在线播放 | 免费日韩一级片 | av中文天堂在线 | 天天干夜夜夜操天 | 久久国产成人午夜av影院宅 | 丝袜美女在线观看 | 亚洲婷婷在线 | 日韩大片在线观看 | 色av婷婷 | 日本久久久久久久久久 | 最新日本中文字幕 | 日韩精品免费一区二区三区 | a资源在线 | 黄色毛片观看 | 精品久久久久久亚洲综合网站 | 99久久99久久精品免费 | 99精品国产aⅴ | 一本一道久久a久久综合蜜桃 | 亚洲精品女 | 免费久久久久久久 | 国产精品18久久久久白浆 | 摸阴视频 | 国内精品视频在线 | 最新中文字幕在线资源 | 欧美日韩中文在线观看 | 亚洲成人精品影院 | 五月天色综合 | 深爱激情站 | 久久久在线视频 | 人人讲下载 | 国产一区二区高清视频 | 狠狠的日日 | 国产高清视频免费最新在线 | 91精品久久久久久综合乱菊 | 97人人射 | 999久久久久久久久 69av视频在线观看 | 亚洲一级免费电影 | 亚洲精品久久久久中文字幕二区 | 国产中文字幕在线播放 | 国产片免费在线观看视频 | 在线观看一区二区视频 | 国产日本在线观看 | 国产91成人在在线播放 | 中文字幕在线乱 | 久久精品日韩 | 成人av视屏| 99re在线视频观看 | 亚洲三区在线 | 久久免费视频这里只有精品 | 精品美女久久 | 天天激情天天干 | 免费看一级特黄a大片 | 天天干亚洲 | 亚洲视频www| 国产黄色av网站 | 99精品国产福利在线观看免费 | 天天av资源| 九九久久久久久久久激情 | 精品免费国产一区二区三区四区 | 亚洲精品美女 | 精品国产一区二区三区久久久蜜臀 | 久久这里只有精品视频99 | 99精品美女| av三区在线| 尤物97国产精品久久精品国产 | 中文字幕成人网 |