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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jkdevice.c

?? motorola jw32 usb 源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:


#define JK_LENGTH   0x07




#define min_d (90)//79+10
#define max_d (164)//175-20
#define True 1
#define False 0
#define JKDMAX  0xfd
//#define JKDMIN  0x60
#define JKGRADE 0x02
#define JKDVS   0x70
#pragma DATA_SEG DEFAULT
static unsigned char Over;
 extern BYTE Joystick;
//mouse data format:0:(key,01 left.right 01). 1~4:x,y. 5:scroll
unsigned  char mose_buffer[KbLength]={0,0,0,0,0,0} ;	//他們分別是放:鼠標數據,遙感(4/8)鍵時的x,y值,鍵盤數據
//keyboard data format: 0:id=0x01,1:modify...
unsigned char kb_buffer[KbLength]={0,0,0,0,0,0} ;
unsigned char joystick_buffer1[KbLength]={0x7f,0x7f,0x7f,0x7f,0x0f,0} ;//send data id is seted by mac
unsigned char joystick_buffer2[KbLength]={0x7f,0x7f,0x7f,0x7f,0x0f,0} ;//send data id is seted by mac
//joystick data format: 0:id:0x06,0x07.1...
//unsigned char  Modifier;
typedef struct bkeybyte
{
	union {
  byte Val;
  struct {
    byte bLeftCtrl       :1;                                       /* modify key Data Bit 0 */
    byte bLeftShift       :1;                                       /* modify keyData Bit 1 */
    byte bLeftAlt       :1;                                       /*modify key Data Bit 2 */
    byte bLeftGUI        :1;                                       /* modify key Data Bit 3 */
    byte bRightCtrl        :1;                                       /* modify key Data Bit 4 */
    byte bRightShift        :1;                                       /* modify key Data Bit 5 */
    byte bRightAlt        :1;                                       /* modify key Data Bit 6 */
    byte bRightGUI        :1;                                       /* modify key Data Bit 7 */
  } Bits;
}Byte;
} KeyModify;
KeyModify  bkeyModify;
#define Modifier                       bkeyModify.Byte.Val
#define BKM                             bkeyModify.Byte
#define LeftCtrl_p                        BKM.Bits.bLeftCtrl
#define LeftShift_p                        BKM.Bits.bLeftShift
#define LeftAlt_p                        BKM.Bits.bLeftAlt
#define LeftGUI_p                        BKM.Bits.bLeftGUI
#define RightCtrl_p                        BKM.Bits.bRightCtrl
#define RightShift_p                        BKM.Bits.bRightShift
#define RightAlt_p                        BKM.Bits.bRightAlt
#define RightGUI_p                        BKM.Bits.bRightGUI
void Joystick_DevInit()
{
	byte i;
	for(i=0;i<KbLength;i++)
	{
		mose_buffer[i]=0x00;
		joystick_buffer1[i]=0x00;
		joystick_buffer2[i]=0x00;
		kb_buffer[i]=0x00;
	}
	joystick_buffer1[4]=0x0f;
	joystick_buffer2[4]=0x0f;
	bkeyModify.Byte.Val =0x00;
	Modifier=0x00;
}
/********************/
unsigned char  modifier_Pressed(unsigned char check_kye,unsigned char kk)
{

  switch(check_kye)
  {
    case LeftCtrl   : {

        if(kk) BKM.Bits.bLeftCtrl=1;
	    else   LeftCtrl_p=0;
	           return( True);
	           break;
    }
    case LeftShift  :if(kk) LeftShift_p=1;
	                 else   LeftShift_p=0;
	                 return( True);break;
    case LeftAlt    :if(kk) LeftAlt_p=1;
	                 else   LeftAlt_p=0;
	                 return( True);break;
    case LeftGUI    :if(kk) LeftGUI_p=1;
	                 else   LeftGUI_p=0;
	                 return( True);break;
    case RightCtrl  :if(kk) RightCtrl_p=1;
	                 else   RightCtrl_p=0;
	                 return( True);break;
    case RightShift :if(kk) RightShift_p=1;
	                 else   RightShift_p=0;
	                 return( True);break;
    case RightAlt   :if(kk) RightAlt_p=1;
	                 else   RightAlt_p=0;
	                 return( True);break;
    case RightGUI   :if(kk) RightGUI_p=1;
					         else   RightGUI_p=0;
	                 return( True);break;
    default         :return( False);break;
  }
}


/************************************************************************
功能:將合法的鍵值裝入EP1_FIFO中
輸入:
描述:
************************************************************************/
void FoundKey(unsigned char key,unsigned char keyflag)
{

  unsigned char i,j=0;//LastTx=0;
  static unsigned char  EP1_FIFO_flig=2;
  if (key==0)
     return;
  if(!keyflag)
  {
     if(!modifier_Pressed(key,keyflag))
      {
		    for( i=2; i<KbLength; i++)
            {
              if(kb_buffer[i]==key)
			        j=i;
            }
		    if(j<2||j>(KbLength-1))
		          return;
			else
			{
		  	  for( i=j; i<KbLength-1; i++)
			    {
			       kb_buffer[i]=kb_buffer[i+1];
			    }
		  }
		   Over=0;
		   kb_buffer[KbLength-1]=0x00;
		   if(EP1_FIFO_flig>2)
		      EP1_FIFO_flig--;
		    //  TxRequired=True;
	   }
	   else
	   {
	      kb_buffer[0]=Modifier;
       // TxRequired=True;
     }
  }

 ////////////////////////////////////////////////////////////////////
 else
 {//key pressed
 	 // TxRequired=True;
  	  if(modifier_Pressed(key,keyflag))
  	  {
	      kb_buffer[0]=Modifier;
  	    return;
  	  }

  	  if(EP1_FIFO_flig>KbLength-1)
  	  {
			   Over=1;
         return;
      }
	   for( i=2; i<KbLength; i++)
       {
          if(kb_buffer[i]==key)
	        return;
       }
	     kb_buffer[EP1_FIFO_flig]=key;
       EP1_FIFO_flig++;
  }
}
 void diect(/*unsigned char dir,*/unsigned char opt_Joy,unsigned char *inBuffer1)
 {
 	   unsigned char x,y,output_x,output_y;
      if(opt_Joy==RJK){
    	x = inBuffer1[0];
    	y = inBuffer1[1];
    	}
      if(opt_Joy==LJK){
    	x = inBuffer1[2];
    	y = inBuffer1[3];
    	}
	if(x<min_d) 
  {
  	if(y>=0x7f)
  	 {
  	 	if((y-0x7f)>(0x7f-x))
  	 	      {output_x   =0x7f;
	           output_y   =0xff;} //up  
  	 	else  	   {
	     output_x   =0x00;
	     output_y   =0x7f;}  //left 
  	 }
  	 else
  	 {
  	 	if((0x7f-y)>(0x7f-x))
  	 	      {output_x   =0x7f;
	           output_y   =0x00;}  //down*/
  	 	else  	   {
	     output_x   =0x00;
	     output_y   =0x7f;}  //left 
  	 }
  }
else if(x>max_d)  
 {
 	if(y>=0x7f)
  	 {
  	 	if((y-0x7f)>(x-0x7f))
  	 	     {output_x   =0x7f;
	          output_y   =0xff;
  	 	     }  //up  
  	 	else  	    {
	      output_x   =0xff;
	      output_y   =0x7f;}   //right 
  	 }
  	else
  	 {
  	 	if((0x7f-y)>(x-0x7f))
  	 	     { output_x   =0x7f;
	           output_y   =0x00;
  	 	     	}  //down*/
  	 	else  	    {
	      output_x   =0xff;
	      output_y   =0x7f;}   //right 
  	 } 
 } 
 else 	{
 	       if(y>max_d)
          {output_x   =0x7f;
	         output_y   =0xff;
          } //up  
         else if(y<min_d)
          {output_x   =0x7f;
	         output_y   =0x00;}  //down*/  
         else {output_x   =0x7f;
	             output_y   =0x7f;} 
        }
	    if(Joystick==1)
	   	{joystick_buffer1[2]=output_x;
	     joystick_buffer1[3]=output_y;}
	    if(Joystick==2)
	   	{joystick_buffer2[2]=output_x;
	     joystick_buffer2[3]=output_y;}
	    //}
}


//+++++++++++++++++++++++++++++++++++++++++++++++++++

/*********************************************************************
 * Function:      Joystick_AnalogOutput(unsigned char mode,unsigned char x,unsigned char y,unsigned char *outbuffer,unsigned char *length)
 *
 * Input:         mode:joystick key map mode.
 									x:joystick analog x value.
 									y:joystick analog y value.
 *								outbuffer: device outbuffer data buffer.
 *								length:    outbuffer length
 * Output:        if have data output ,return 1.
 									else return 0
 *
 *
 *
 * Note:            joystick analog data should be indepensive
 ********************************************************************/
/*byte  Joystick_AnalogOutput(unsigned char mode,unsigned char x,unsigned char y,unsigned char *outbuffer,unsigned char *length)
{

}*/
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void mouse_tr(unsigned char opt_Joy,unsigned char *inBuffer1)
{
    unsigned char x,y;
    signed char smouse;
    if(opt_Joy==RJK){
    	y = inBuffer1[1];
    	x = inBuffer1[0];
    	}
      if(opt_Joy==LJK){
    	y = inBuffer1[3];
    	x = inBuffer1[2];
    	}
    	if(x>JKDMAX)
    	{
    		x=JKDMAX;
    	}
    	if(y>JKDMAX)
    	{
    		y=JKDMAX;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级视频免费观看在线| 精品久久久久久综合日本欧美| 日韩av中文字幕一区二区三区| 国产亚洲婷婷免费| 欧美日韩国产综合一区二区 | 精品国精品国产| 日本道精品一区二区三区 | 粉嫩av一区二区三区在线播放| 亚洲专区一二三| 国产精品网站在线| 欧美成人艳星乳罩| 欧美另类变人与禽xxxxx| 成人亚洲一区二区一| 日韩av二区在线播放| 亚洲精品视频自拍| 中日韩av电影| 久久蜜桃av一区二区天堂| 欧美久久免费观看| 色哟哟亚洲精品| 在线亚洲欧美专区二区| 成人免费精品视频| 韩日欧美一区二区三区| 日本麻豆一区二区三区视频| 亚洲免费观看高清| 国产精品丝袜一区| 国产亚洲综合av| 久久久久久免费网| 26uuu亚洲| 精品国精品国产尤物美女| 日韩女优av电影| 日韩精品一区二区三区四区视频| 538在线一区二区精品国产| 欧美日韩精品专区| 欧美日韩国产欧美日美国产精品| 欧美系列一区二区| 欧美视频日韩视频在线观看| 欧美午夜一区二区三区免费大片| 91女人视频在线观看| 91亚洲男人天堂| 色综合欧美在线视频区| 91麻豆精品在线观看| 在线免费观看日韩欧美| 欧美无乱码久久久免费午夜一区| 一本久道中文字幕精品亚洲嫩| 99免费精品在线观看| proumb性欧美在线观看| 日本大香伊一区二区三区| 91成人免费在线| 欧美日本一区二区三区四区| 成人ar影院免费观看视频| 99国产精品久| 91福利资源站| 欧美三级欧美一级| 欧美一区二区福利在线| 久久日韩精品一区二区五区| 久久色在线观看| 国产精品美女久久久久久久久| 国产精品进线69影院| 一区二区三区不卡在线观看| 性做久久久久久久免费看| 看片的网站亚洲| 国产成人免费视频网站| 91蝌蚪porny九色| 欧美日韩电影在线| 欧美v亚洲v综合ⅴ国产v| 欧美激情一区二区三区四区| 亚洲欧美在线aaa| 亚洲高清不卡在线观看| 免费高清在线一区| 成人午夜激情视频| 欧美久久免费观看| 久久色在线视频| 亚洲国产成人tv| 国产最新精品免费| 日本精品视频一区二区三区| 欧美精品vⅰdeose4hd| 久久久国产精品午夜一区ai换脸 | 奇米一区二区三区av| 成人福利视频在线| 成人综合在线视频| 91麻豆免费看| 精品视频在线视频| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲一区欧美一区| 亚洲午夜成aⅴ人片| 精品一二线国产| 日韩欧美精品在线视频| 91精品国产综合久久精品图片| 国产午夜一区二区三区| 久久精品国产秦先生| 欧美日韩一级视频| 樱桃视频在线观看一区| 不卡一卡二卡三乱码免费网站| 国产欧美综合在线观看第十页| 麻豆成人久久精品二区三区红| 欧美日韩综合在线| 香蕉久久一区二区不卡无毒影院 | 成人精品亚洲人成在线| 国产日韩视频一区二区三区| 狠狠色伊人亚洲综合成人| 91麻豆精品91久久久久同性| 亚洲不卡一区二区三区| 欧美日韩免费高清一区色橹橹| 亚洲在线观看免费视频| 精品视频色一区| 日韩成人dvd| 日韩欧美一级精品久久| 老司机午夜精品| 精品蜜桃在线看| 国产一区二区看久久| 国产亚洲欧美日韩俺去了| 成人午夜私人影院| 日韩一区日韩二区| 色999日韩国产欧美一区二区| 亚洲欧美日韩国产中文在线| 在线中文字幕不卡| 天天色图综合网| 日韩免费在线观看| 国产精品99久久久| 国产精品污www在线观看| 91免费小视频| 亚洲电影一区二区| 欧美哺乳videos| 国产成人精品三级麻豆| 中文字幕一区二区日韩精品绯色| 成人动漫视频在线| 亚洲午夜免费福利视频| 日韩欧美黄色影院| 国产精品12区| 亚洲乱码国产乱码精品精的特点 | 欧美a一区二区| 久久久无码精品亚洲日韩按摩| 成人国产电影网| 一二三四区精品视频| 91精品国产aⅴ一区二区| 国产乱淫av一区二区三区 | 99久久婷婷国产精品综合| 亚洲图片欧美色图| 欧美成人bangbros| 91麻豆国产在线观看| 五月天激情综合网| 国产日韩欧美综合一区| 欧美自拍偷拍午夜视频| 精品一区二区国语对白| 亚洲三级理论片| 日韩午夜精品电影| 93久久精品日日躁夜夜躁欧美| 日韩电影在线看| 国产精品电影一区二区| 91精品中文字幕一区二区三区| 成人久久久精品乱码一区二区三区| 亚洲成人综合视频| 国产日韩欧美不卡在线| 欧美日韩美少妇| gogogo免费视频观看亚洲一| 天天综合网 天天综合色| 中文字幕不卡在线观看| 欧美日韩高清在线播放| www.亚洲在线| 久色婷婷小香蕉久久| 亚洲精品成人a在线观看| 精品国产一区a| 欧美日韩aaaaa| www.亚洲激情.com| 玖玖九九国产精品| 亚洲综合激情网| 国产精品午夜电影| 精品国产一区二区三区忘忧草| 欧美色手机在线观看| 不卡的看片网站| 精品一区二区精品| 日日摸夜夜添夜夜添国产精品| 中文字幕在线不卡一区| 精品国产乱码久久久久久免费| 欧美最新大片在线看| 国产.欧美.日韩| 久久国产生活片100| 五月天欧美精品| 亚洲一区二区三区在线看| 国产精品青草综合久久久久99| 日韩午夜精品视频| 欧美日韩国产高清一区二区三区| 不卡的看片网站| 粉嫩av亚洲一区二区图片| 久久99国内精品| 免费看日韩a级影片| 午夜电影网一区| 亚洲韩国精品一区| 一区二区三区中文字幕电影| 最新高清无码专区| 日本一区二区免费在线| 久久综合国产精品| 日韩免费一区二区| 91精品综合久久久久久| 欧美精品123区| 欧美剧情片在线观看| 欧美年轻男男videosbes| 欧美亚洲尤物久久| 欧美午夜精品一区| 在线观看国产精品网站|