亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? keyboardps2_44b0.c

?? 標(biāo)準(zhǔn)PS2鍵盤源程序(S3C44B0X) ****** 沒辦法
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <string.h>
#include "KeyboardPS2_44B0.h"
#include "44B.h"
#include "GUI.H"
#include	"ucos_ii.h"

/**********************************************************************/
/** PS2_SCLK接44B0的Uart1->TxD1引腳;PS2_SDATA接44B0的Uart1->RxD1引腳 **/
/**********************************************************************/

#define PS2_SCLK_BIT  (0x01<<12)
#define PS2_SDATA_BIT (0x01<<13)

#define Timer2_Update (0x1 << 13)
#define Timer2_Start  (0x1 << 12)

/**********************************************************************/
/************************* 鍵盤按鍵掃描碼定義 *************************/
/**********************************************************************/
#define SCAN_KEY_UP			0x63
#define SCAN_KEY_DOWN		0x60
#define SCAN_KEY_RIGHT		0x6a
#define SCAN_KEY_LEFT		0x61
#define SCAN_KEY_HOME		0x6e
#define SCAN_KEY_END		0x65
#define SCAN_KEY_LSHIFT		0x12
#define SCAN_KEY_RSHIFT		0x59
#define SCAN_KEY_LCTRL		0x11
#define SCAN_KEY_RCTRL		0x58
#define SCAN_KEY_BACK		0x66
#define SCAN_KEY_INSERT		0x67
#define SCAN_KEY_DELETE		0x64

#define SCAN_KEY_LALT		0x19
#define SCAN_KEY_RALT		0x39

/**************************** 定義三個LED鍵 ****************************/
#define CapsLock		0x14
#define NumLock			0x76
#define ScrollLock		0x5f

/************************************************************************/
/*** 鍵盤所有按鍵的狀態(tài);若某按鍵按下,該按鍵對應(yīng)字節(jié)的Bit7置1,放開置0; ***/
/*** PS/2 104鍵盤按鍵掃描碼最大值為0x84,所以要定義133個元素.		  ***/
/************************************************************************/
static unsigned char KeyboardState[133];


/*******************************************************************************/
/* 由于uCGUI的某些功能按鍵為自定義,所以要做鍵盤掃描碼與uCGUI功能按鍵碼對應(yīng)轉(zhuǎn)換 */
/*******************************************************************************/
typedef struct 
{
	int Scan_Key;
	int Gui_Key;
}
SCAN_KEY2GUI_KEY;


static const SCAN_KEY2GUI_KEY ScanKey_GuiKey[] =
{
	{SCAN_KEY_UP,		GUI_KEY_UP			},
	{SCAN_KEY_DOWN,		GUI_KEY_DOWN		},
	{SCAN_KEY_RIGHT,	GUI_KEY_RIGHT		},
	{SCAN_KEY_LEFT,		GUI_KEY_LEFT		},
	{SCAN_KEY_HOME,		GUI_KEY_HOME		},
	{SCAN_KEY_END,		GUI_KEY_END			},
	{SCAN_KEY_LSHIFT,	GUI_KEY_SHIFT		},
	{SCAN_KEY_RSHIFT,	GUI_KEY_SHIFT		},
	{SCAN_KEY_LCTRL,	GUI_KEY_CONTROL		},
	{SCAN_KEY_RCTRL,	GUI_KEY_CONTROL		},
	{SCAN_KEY_BACK,		GUI_KEY_BACKSPACE	},
	{SCAN_KEY_INSERT,	GUI_KEY_INSERT		},
	{SCAN_KEY_DELETE,	GUI_KEY_DELETE		},
	{0,					0					}	//The End
};


/********************************************************************************/
/*********************** 鍵盤按鍵掃描碼與其ASCII碼轉(zhuǎn)換表 ************************/
/********************************************************************************/
typedef struct
{
	unsigned char KeyScanCode;
	unsigned char KeyAscii;
	unsigned char KeyShiftAscii;
	unsigned char KeyCtrlAscii;
	unsigned char KeyAltAscii;
}
KEYBOARD_MAP;

static const KEYBOARD_MAP KeyboardMap[] =
{
	{0x1c,	0x61,	0x41,	0x01,	0	},		//a
	{0x32,	0x62,	0x42,	0x02,	0	},		//b
	{0x21,	0x63,	0x43,	0x03,	0	},		//c
	{0x23,	0x64,	0x44,	0x04,	0	},		//d
	{0x24,	0x65,	0x45,	0x05,	0	},		//e
	{0x2b,	0x66,	0x46,	0x06,	0	},		//f
	{0x34,	0x67,	0x47,	0x07,	0	},		//g
	{0x33,	0x68,	0x48,	0x08,	0	},		//h
	{0x43,	0x69,	0x49,	0x09,	0	},		//i
	{0x3b,	0x6a,	0x4a,	0x0a,	0	},		//j
	{0x42,	0x6b,	0x4b,	0x0b,	0	},		//k
	{0x4b,	0x6c,	0x4c,	0x0c,	0	},		//l
	{0x3a,	0x6d,	0x4d,	0x0d,	0	},		//m
	{0x31,	0x6e,	0x4e,	0x0e,	0	},		//n
	{0x44,	0x6f,	0x4f,	0x0f,	0	},		//o
	{0x4d,	0x70,	0x50,	0x10,	0	},		//p
	{0x15,	0x71,	0x51,	0x11,	0	},		//q
	{0x2d,	0x72,	0x52,	0x12,	0	},		//r
	{0x1b,	0x73,	0x53,	0x13,	0	},		//s
	{0x2c,	0x74,	0x54,	0x14,	0	},		//t
	{0x3c,	0x75,	0x55,	0x15,	0	},		//u
	{0x2a,	0x76,	0x56,	0x16,	0	},		//v
	{0x1d,	0x77,	0x57,	0x17,	0	},		//w
	{0x22,	0x78,	0x58,	0x18,	0	},		//x
	{0x35,	0x79,	0x59,	0x19,	0	},		//y
	{0x1a,	0x7a,	0x5a,	0x1a,	0	},		//z
	{0x45,	0x30,	0x29,	0	,	0	},		//0
	{0x16,	0x31,	0x21,	0	,	0	},		//1
	{0x1e,	0x32,	0x40,	0	,	0	},		//2
	{0x26,	0x33,	0x23,	0	,	0	},		//3
	{0x25,	0x34,	0x24,	0	,	0	},		//4
	{0x2e,	0x35,	0x25,	0	,	0	},		//5
	{0x36,	0x36,	0x5e,	0x1e,	0	},		//6
	{0x3d,	0x37,	0x26,	0	,	0	},		//7
	{0x3e,	0x38,	0x2a,	0	,	0	},		//8
	{0x46,	0x39,	0x28,	0	,	0	},		//9
	{0x0e,	0x60,	0x7e,	0	,	0	},		//` ~
	{0x4e,	0x2d,	0x5f,	0x1f,	0	},		//- _
	{0x55,	0x3d,	0x2b,	0	,	0	},		//= +
	{0x5c,	0x5c,	0x7c,	0	,	0	},		//\ |
	{0x29,	0x20,	0x20,	0x20,	0x20},		//" "  
	{0x0d,	0x09,	0	,	0	,	0	},		//Tab
	{0x5a,	0x0d,	0x0d,	0x0a,	0	},		//Enter
	{0x08,	0x1b,	0x1b,	0x1b,	0	},		//Esc
	{0x07,	0	,	0	,	0	,	0	},		//F1
	{0x0f,	0	,	0	,	0	,	0	},		//F2
	{0x17,	0	,	0	,	0	,	0	},		//F3
	{0x1f,	0	,	0	,	0	,	0	},		//F4
	{0x27,	0	,	0	,	0	,	0	},		//F5
	{0x2f,	0	,	0	,	0	,	0	},		//F6
	{0x37,	0	,	0	,	0	,	0	},		//F7
	{0x3f,	0	,	0	,	0	,	0	},		//F8
	{0x47,	0	,	0	,	0	,	0	},		//F9
	{0x4f,	0	,	0	,	0	,	0	},		//F10
	{0x56,	0	,	0	,	0	,	0	},		//F11
	{0x5e,	0	,	0	,	0	,	0	},		//F12
	{0x54,	0x5b,	0x7b,	0x1b,	0	},		//[ {
	{0x6f,	0xe0,	0xe0,	0xe0,	0	},		//Page Up
	{0x6d,	0xe0,	0xe0,	0xe0,	0	},		//Page Down
	{0x5b,	0x5d,	0x7d,	0x1d,	0	},		//	] }
	{0x4c,	0x3b,	0x3a,	0	,	0	},		//	; :
	{0x52,	0x27,	0x22,	0	,	0	},		//	' "
	{0x41,	0x2c,	0x3c,	0	,	0	},		//	, <
	{0x49,	0x2e,	0x3e,	0	,	0	},		//	. >
	{0x4a,	0x2f,	0x3f,	0	,	0	},		//	/ ?	
	{0,		0,		0,		0,		0	}		//The End
};

static const KEYBOARD_MAP SmallKeyboardMap_NumOn[]=	//數(shù)字小鍵盤Ascii碼表(NumLock燈開)
{
	{0x77,	0x2f,	0x2f,			0	,	0	},		//KP /
	{0x7e,	0x2a,	0x2a,			0	,	0	},		//KP *
	{0x84,	0x2d,	0x2d,			0	,	0	},		//KP -
	{0x7c,	0x2b,	0x2b,			0	,	0	},		//KP +
	{0x79,	0x0d,	0x0d,			0	,	0	},		//KP Enter
	{0x71,	0x2e,	GUI_KEY_DELETE,	0	,	0	},		//KP .
	{0x70,	0x30,	GUI_KEY_INSERT,	0	,	0	},		//KP 0
	{0x69,	0x31,	GUI_KEY_END,	0	,	0	},		//KP 1
	{0x72,	0x32,	GUI_KEY_DOWN,	0	,	0	},		//KP 2
	{0x7a,	0x33,	0xe0,			0	,	0	},		//KP 3
	{0x6b,	0x34,	GUI_KEY_LEFT,	0	,	0	},		//KP 4
	{0x73,	0x35,	0	,			0	,	0	},		//KP 5
	{0x74,	0x36,	GUI_KEY_RIGHT,	0	,	0	},		//KP 6
	{0x6c,	0x37,	GUI_KEY_HOME,	0	,	0	},		//KP 7
	{0x75,	0x38,	GUI_KEY_UP,		0	,	0	},		//KP 8
	{0x7d,	0x39,	0xe0,			0	,	0	},		//KP 9
	{0	,	0	,	0	,			0	,	0	}		//The end
};
static const KEYBOARD_MAP SmallKeyboardMap_NumOff[]=	//數(shù)字小鍵盤Ascii碼表(NumLock燈滅)
{
	{0x77,	0x2f,			0x2f,				0	,	0	},		//KP /
	{0x7e,	0x2a,			0x2a,				0	,	0	},		//KP *
	{0x84,	0x2d,			0x2d,				0	,	0	},		//KP -
	{0x7c,	0x2b,			0x2b,				0	,	0	},		//KP +
	{0x79,	0x0d,			0x0d,				0	,	0	},		//KP Enter
	{0x71,	GUI_KEY_DELETE,	GUI_KEY_BACKSPACE,	0	,	0	},		//KP .
	{0x70,	GUI_KEY_INSERT,	0	,				0	,	0	},		//KP 0
	{0x69,	GUI_KEY_END,	0	,				0	,	0	},		//KP 1
	{0x72,	GUI_KEY_DOWN,	0	,				0	,	0	},		//KP 2
	{0x7a,	0xe0,			0	,				0	,	0	},		//KP 3
	{0x6b,	GUI_KEY_LEFT,	0	,				0	,	0	},		//KP 4
	{0x73,	0	,			0	,				0	,	0	},		//KP 5
	{0x74,	GUI_KEY_RIGHT,	0	,				0	,	0	},		//KP 6
	{0x6c,	GUI_KEY_HOME,	0	,				0	,	0	},		//KP 7
	{0x75,	GUI_KEY_UP,		0	,				0	,	0	},		//KP 8
	{0x7d,	0xe0,			0	,				0	,	0	},		//KP 9
	{0	,	0	,			0	,				0	,	0	}		//The end
};


/********************************************************************************/
/***************** 為鍵盤串口定義一個軟件緩沖區(qū),以避免接收數(shù)據(jù)丟失 **************/
/********************************************************************************/
typedef struct
{
	unsigned char FIFO_RxCnt;			//軟件緩沖計數(shù)器
	unsigned char FIFO_Data[64];		//軟件緩沖數(shù)據(jù)區(qū)
}
SOFTFIFO;

static SOFTFIFO FIFO_KeyBoard;


static void PS2_Delay1us(unsigned int delay)	//Delay 1uS
{
	unsigned int i;
	for(;delay>0;delay--)
	{
		for(i=0;i<10;i++);
	}
}

/******************************************************************************/
/******************* 讀PS2鍵盤一字節(jié)數(shù)據(jù)(I/O口操作方式) ***********************/
/******************************************************************************/
static unsigned char PS2_ReadByte(void)
{
	unsigned int i = 0;
	unsigned char j,data;
	rPCONC &= ~(0x0f<<24);	//GPC12 = input,GPC13 = input;
	rPDATC |= (0x03<<12);	//GPC12 = 1,GPC13 = 1;
	rPUPC  |= (0x03<<12); 	//GPC12\GPC13 Disable pull-up
	PS2_Delay1us(2);		//Delay 2uS
	while((rPDATC & PS2_SCLK_BIT) && i<2000000)	//Wait PS2_SCLK = 0;START BIT
	{
		i++;
	}
	if(i >= 2000000)
	{
		return (0xFC);					//若沒接鍵盤;超時退出.
	}
		
	PS2_Delay1us(2);					//Delay 2uS
	while(!(rPDATC & PS2_SCLK_BIT));	//Wait PS2_SCLK = 1;
	PS2_Delay1us(2);					//Delay 2uS
	data = 0x00;						//Clear data;
	for(j=0;j<8;j++)
	{
		data >>= 1;
		while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK = 0;
		PS2_Delay1us(2);				//Delay 2uS
		if(rPDATC & PS2_SDATA_BIT)
		{
			data |= 0x80;
		}
		while(!(rPDATC & PS2_SCLK_BIT));//Wait PS2_SCLK = 1;
		PS2_Delay1us(2);				//Delay 2uS
	}
	while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK =0;PARITY BIT
	PS2_Delay1us(2);				//Delay 2uS
	while(!(rPDATC & PS2_SCLK_BIT));//Wait PS2_SCLK =1;
	PS2_Delay1us(2);				//Delay 2uS
	while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK =0;STOP BIT
	PS2_Delay1us(2);				//Delay 2uS
	while(!(rPDATC & PS2_SCLK_BIT));//Wait PS2_SCLK =1;
	PS2_Delay1us(2);				//Delay 2uS
	return (data);
}

/******************************************************************************/
/******************* 向PS2鍵盤寫一字節(jié)數(shù)據(jù)(I/O口操作方式) *********************/
/******************************************************************************/
static unsigned char PS2_SendByte(unsigned char data)
{
	unsigned int i;
	unsigned char j;
	unsigned char Parity_Even =0x01;
	unsigned char data_temp;
	data_temp = data;
	for( i=0; i<8; i++)  		//find the number of 1 in this uchar data is odd or not
  	{
    	if(data_temp & 0x01)
    	{
    		Parity_Even = ~Parity_Even;
    	}
    	data_temp >>=1;
  	}
	rPCONC &= ~(0x0f<<24);
	rPCONC |= (0x05<<24);		//GPC12 = output,GPC13 = output;
	rPUPC  |= (0x03<<12); 		//GPC12\GPC13 Disable pull-up
	rPDATC &= ~(PS2_SCLK_BIT);	//PS2_SCLK = 0;
	PS2_Delay1us(300);			//Delay 300uS
	rPDATC &= ~(PS2_SDATA_BIT);	//PS2_SDATA = 0;
	PS2_Delay1us(50);			//Delay 50uS
	rPDATC |= PS2_SCLK_BIT;		//PS2_SCLK = 1;
	rPCONC &= ~(0x03<<24);		//PS2_SCLK = input;
	PS2_Delay1us(2);			//Delay 2uS
	for(j=0;j<8;j++)
	{
		while((rPDATC & PS2_SCLK_BIT) && i<2000000)	//Wait PS2_SCLK = 0;
		{
			i++;
		}
		if(i >= 2000000)
		{
			return (0);					//若沒接鍵盤;超時退出.
		}
		if(data & 0x01)
			rPDATC |= PS2_SDATA_BIT;
		else
			rPDATC &= ~PS2_SDATA_BIT;
		PS2_Delay1us(2);				//Delay 2uS
		while(!(rPDATC & PS2_SCLK_BIT));//Wait PS2_SCLK =1;
		PS2_Delay1us(2);				//Delay 2uS
		data >>= 1;
	}
	while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK =0;PARITY BIT
	PS2_Delay1us(2);				//Delay 2uS
	if(Parity_Even & 0x01)
		rPDATC |= PS2_SDATA_BIT;
	else
		rPDATC &= ~PS2_SDATA_BIT;
	while(!(rPDATC & PS2_SCLK_BIT));//Wait PS2_SCLK =1;
	PS2_Delay1us(2);				//Delay 2uS
	while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK =0;STOP BIT
	PS2_Delay1us(2);				//Delay 2uS
	rPDATC |= PS2_SDATA_BIT;		//PS2_SDATA = 1;
	rPCONC &= ~(0x03<<26);			//PS2_SDATA = input;
	PS2_Delay1us(2);				//Delay 2uS
	while(rPDATC & PS2_SDATA_BIT);	//Wait PS2_SDATA = 0;
	PS2_Delay1us(2);				//Delay 2uS
	while(rPDATC & PS2_SCLK_BIT);	//Wait PS2_SCLK =0;
	PS2_Delay1us(2);				//Delay 2uS
	while(!(rPDATC & PS2_SCLK_BIT) || !(rPDATC & PS2_SDATA_BIT));//Wait PS2_SCLK=1 & PS2_SDATA=1;
	return (1);
}

/*********************************************************************************/
/******************* 鍵盤功能鍵掃描碼轉(zhuǎn)換為uCGUI自定義的功能碼 *******************/
/*********************************************************************************/
static unsigned char ScanKey2GuiKey(unsigned char ScanCode)
{  
  int i;
  for (i=0; ScanKey_GuiKey[i].Scan_Key; i++)
  {
    if (ScanKey_GuiKey[i].Scan_Key == ScanCode)
    {
      return ScanKey_GuiKey[i].Gui_Key;
    }
  }
  return 0;
}

/**********************************************************************************/
/**************** ScrollLock,NumLock,CapsLock三個鍵處理程序 ***********************/
/**********************************************************************************/
static unsigned char HandleLockEven(void)
{
	unsigned char LockState = 0;
	unsigned char data;
	if(KeyboardState[ScrollLock]&0x80)
	{
		LockState |= 0x01;
	}
	if(KeyboardState[NumLock]&0x80)
	{
		LockState |= 0x02;
	}
	if(KeyboardState[CapsLock]&0x80)
	{
		LockState |= 0x04;
	}
	PS2_SendByte(0xED);
	PS2_Delay1us(2);				//Delay 2uS
	data = PS2_ReadByte();
	if(data != 0xFA)
	{
		return 0;
	}
	PS2_Delay1us(2);				//Delay 2uS
	PS2_SendByte(LockState);
	PS2_Delay1us(2);				//Delay 2uS
	data = PS2_ReadByte();
	if(data != 0xFA)
	{
		return 0;
	}
	rPCONC &= ~(0x0f<<24);
	rPCONC |= (0x0C<<24);		//GPC12 = input,GPC13 = RxD0;
	rPDATC |= (0x03<<12);		//GPC12 = 1,GPC13 = 1;
	rPUPC  |= (0x03<<12); 		//GPC12\GPC13 Disable pull-up
	return 1;
	
}

/***************************************************************************************/
/*** 將按鍵的掃描碼轉(zhuǎn)換為ASCII碼,根據(jù)鍵盤按鍵狀態(tài)數(shù)組KeyboardMap[]可以實現(xiàn)組合鍵判斷 ***/
/***************************************************************************************/
static unsigned char ScanCode2Ascii(unsigned char ScanCode)
{
	int i;
	for(i=0; KeyboardMap[i].KeyScanCode; i++)
	{
		if(KeyboardMap[i].KeyScanCode == ScanCode)
		{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线视频| 精品成人在线观看| 国产精品毛片a∨一区二区三区 | 欧美mv和日韩mv国产网站| 性做久久久久久免费观看| 欧美在线999| 亚洲成人免费在线观看| 在线播放91灌醉迷j高跟美女| 婷婷国产在线综合| 欧美成人精品二区三区99精品| 国产一区二区剧情av在线| 国产亚洲综合在线| 午夜视频久久久久久| 国产精品自拍三区| 精品国产亚洲在线| 国产精品原创巨作av| 最近日韩中文字幕| 欧洲国内综合视频| 日韩高清在线电影| 久久久久久久久久久久电影| 成人av在线网| 亚洲狠狠爱一区二区三区| 欧美电影免费观看高清完整版| 国产精品一区二区黑丝| 一区二区在线电影| 91精品欧美久久久久久动漫 | av一区二区不卡| 国产精品国产三级国产aⅴ原创 | 国产在线精品一区二区夜色 | 亚洲私人影院在线观看| 精品视频一区二区不卡| 精品系列免费在线观看| 亚洲欧洲精品一区二区三区不卡| 欧美在线影院一区二区| 国产精品中文有码| 亚洲成人www| 中文字幕精品三区| 日韩一级片在线观看| 成人av在线播放网址| 天天色综合天天| 亚洲国产岛国毛片在线| 91精品国产一区二区三区香蕉| 国产91精品露脸国语对白| 国模一区二区三区白浆| 欧美在线免费视屏| 另类小说一区二区三区| 亚洲欧洲国产专区| 日韩一区二区高清| 在线免费不卡电影| 高清不卡在线观看av| 日本中文在线一区| 亚洲精品videosex极品| 久久精品人人做| 91精品福利在线一区二区三区| 精品综合免费视频观看| 亚洲高清在线精品| 日韩精品在线一区二区| 欧洲亚洲精品在线| 色综合久久久久综合体桃花网| 麻豆一区二区三| 亚洲成人你懂的| 悠悠色在线精品| 亚洲少妇中出一区| 国产精品久久一卡二卡| 欧美一区二区免费观在线| 国产精品亚洲午夜一区二区三区| 亚洲成人免费电影| 一区二区三区四区在线| 亚洲欧洲日产国码二区| 久久精品水蜜桃av综合天堂| 欧美一区二区三区男人的天堂| 欧美亚洲愉拍一区二区| 在线视频你懂得一区| 91小视频免费看| av一区二区三区在线| 成人激情免费网站| 不卡影院免费观看| a级精品国产片在线观看| 大胆亚洲人体视频| 国产91在线观看| 国产一区二区三区免费播放| 国产一区二区三区在线观看免费| 极品销魂美女一区二区三区| 国产一区二区三区四区五区美女| 精品一区二区三区香蕉蜜桃| 精品一区二区综合| 国产乱码字幕精品高清av| 国产传媒一区在线| 国产盗摄精品一区二区三区在线 | 91精品麻豆日日躁夜夜躁| 色欧美乱欧美15图片| 色综合久久久久久久久| 91丨porny丨最新| 91丨porny丨中文| 欧美亚洲综合久久| 欧美一区二区三区的| 日韩女同互慰一区二区| 久久久国际精品| 亚洲欧洲无码一区二区三区| 亚洲欧美视频在线观看视频| 一个色妞综合视频在线观看| 五月婷婷欧美视频| 久久爱www久久做| 岛国精品一区二区| 欧洲国内综合视频| 欧美mv和日韩mv国产网站| 久久精品视频一区| 亚洲男人电影天堂| 看国产成人h片视频| 高清beeg欧美| 欧洲生活片亚洲生活在线观看| 91精品国产综合久久精品图片| 26uuu色噜噜精品一区| 亚洲欧洲日韩在线| 日韩电影在线一区二区| 国产乱人伦偷精品视频免下载| 色噜噜夜夜夜综合网| 欧美大片拔萝卜| 亚洲欧美日韩一区二区| 日韩精品电影在线| 国产aⅴ精品一区二区三区色成熟| 在线观看欧美黄色| 欧美成人bangbros| 尤物在线观看一区| 国产一区二区三区国产| 94-欧美-setu| 精品女同一区二区| 亚洲综合激情另类小说区| 国内成人自拍视频| 在线免费不卡视频| 国产精品少妇自拍| 蜜桃视频在线观看一区二区| 99精品国产一区二区三区不卡| 日韩三级精品电影久久久 | 一区二区三区四区av| 另类小说色综合网站| 色婷婷综合久久久中文字幕| 精品蜜桃在线看| 偷拍一区二区三区| 日本电影亚洲天堂一区| 亚洲国产精品精华液2区45| 91天堂素人约啪| 精品日韩在线一区| 日日摸夜夜添夜夜添亚洲女人| 99re这里都是精品| 国产午夜精品理论片a级大结局| 日韩高清一级片| 欧美亚洲一区三区| 亚洲免费观看视频| hitomi一区二区三区精品| 欧美sm极限捆绑bd| 无吗不卡中文字幕| 欧美色中文字幕| 亚洲欧美韩国综合色| 成人黄色国产精品网站大全在线免费观看 | 91蜜桃网址入口| 久久成人免费日本黄色| 欧美亚洲日本一区| 亚洲丝袜精品丝袜在线| 国产高清亚洲一区| 欧美xxxx在线观看| 五月婷婷综合网| 欧美日韩一区二区三区四区| 亚洲女厕所小便bbb| 成人黄色小视频| 国产精品少妇自拍| 91网站在线播放| 亚洲欧美综合在线精品| av高清久久久| 日韩毛片高清在线播放| av不卡在线观看| 亚洲视频网在线直播| 日本高清不卡在线观看| 亚洲人成网站色在线观看| 一本高清dvd不卡在线观看| 中文字幕一区日韩精品欧美| 成人av网址在线| 1024亚洲合集| 欧美影片第一页| 日本亚洲视频在线| 精品国产一区二区三区久久久蜜月 | 国产亚洲欧美激情| 天堂一区二区在线| 欧美美女bb生活片| 五月综合激情网| 91麻豆精品国产自产在线观看一区| 免费观看在线综合| 亚洲精品一区二区三区精华液| 国产精品一级片在线观看| 国产欧美精品一区二区色综合朱莉| thepron国产精品| 有坂深雪av一区二区精品| 欧美福利电影网| 久久成人18免费观看| 久久精品亚洲精品国产欧美kt∨| 成人午夜av电影| 亚洲欧美日韩综合aⅴ视频| 欧美精品在线一区二区三区| 久久爱www久久做| 亚洲欧洲精品天堂一级 |