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

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

?? pinyinapp.c

?? 電子秤部分源碼 功能:鍵盤輸入英文
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 
File:  PinyinApp.c
Func:  PinyinApp
Auth:  Yingchen.Xie
Date:  2008-10-23
*/

#include "util/PinyinApp.h"
#include "util/plu.h"
#include "kernel/socket.h"
#if PINYIN

/* the English char that want to be displayed */
UINT8 InputEnglish = 0;
UINT8 InputMode = 0;       // 0->Chinese      1->English     2->Number
/* display the current mode */
UINT8 DisMode[3] = {0};
/* key interrupt flag */
extern UINT8 key_int_flag;					
/* key value */
extern UINT16 Vkey;
/* the buffer of the input letters */						
UINT8 input_string[10] = {0};			  
/* letters index */
UINT8 input_index = 0;        
/* the buffer of the Chinese characters which are stored in characters library */
UINT8 chinese_string[255] = {0};	

UINT8 SelectNum[9] = {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};		
/* roll row */
UINT8 roll_row = 0;          
/* number index */
UINT8 num_index = 0;			
/* the buffer of the Chinese characters which will be printing on the last row */
UINT8 print_string[6][19] = {0};	
/* the buffer of the selected Chinese characters */
UINT8 need_string[21] = {0};					  
/* the selected Chinese characters index*/
UINT8 need_index = 0;							  
/* use to turnover the page */
UINT8 *page_str = chinese_string;	
/* use to choose the different letters on the same key */
UINT8 F_value9 = 0;		
UINT8 F_value8 = 0;
UINT8 F_value7 = 0;
UINT8 F_value6 = 0;
UINT8 F_value5 = 0;
UINT8 F_value4 = 0;
UINT8 F_value3 = 0;
UINT8 F_value2 = 0;

/* use to judge if press the shift key or not */
UINT8 F_shift = 0;			

extern INT8 dispersion;

/**
*	left key parse
*/
void key_left(UINT8 value)
{
	UINT8 EBalanceBuf = 0x18, i = 0, disp_buf[33] = {0} ;
	
	switch(value)
	{
		case 0x00:
			trayAdjust = 1;
			break;
		case 0x02:
			adjustFlag = 1;
			break;
		case 0x03:
			Tgm_buf[0] = 0x18;				 //串口向Printer發命令
			gm_SendData2();
			break;
		case 0x04:
			TestPluAPP();
			break;
		case 0x05:
			send(SOCKET_PRINTER, &EBalanceBuf, 1);		
			break;
		case 0x06:									   //set time
			SetTimeFlag = 1;		
			break;	  
		case 0x07:									   //show time	
			TimeShowFlag = TimeShowFlag?0:1;
			pcfLcd__Disp(0, 0x00, disp_buf, 33);
			if(!TimeShowFlag)
			{
				showW();								 //show weight
			  	LcdDisPlu(1); 						//show plu
			}		
			break;
	}
}

/**
* 	copy string to output buffer
*/
void CopyString(UINT8 *str)
{
	UINT8 len = strlen(str);
	UINT8 n = 0;
	memset(print_string[0],0,19);
	memset(print_string[1],0,19);
	memset(print_string[2],0,19);
	memset(print_string[3],0,19);
	memset(print_string[4],0,19);
	memset(print_string[5],0,19);
	for (n = 0; n < 6; n++)
	{
		memcpy(print_string[n], str, 18);
		str += 18;	
	}
}

/**
*	right key parse 
*/
void key_right(UINT8 value)
{
	static UINT8 CharPos = 0;
	static UINT8 CharRow = 0;
	switch (value)
	{
		case 0x19:
		    F_shift = (F_shift)?0:1;
			break;
		case 0x0D:
			if(!F_shift)
			{
				if (InputMode == 0)
				{
					InputMode = 1;
					strcpy(DisMode, "英");
				}
				else if(InputMode == 1)
				{
					InputMode = 2;
					strcpy(DisMode, "數");
				}
				else if(InputMode == 2)
				{
					InputMode = 0;
					strcpy(DisMode, "中");
				}
			}
			else
			{
				if(InputMode == 1)
					need_string[need_index++] = InputEnglish;
				F_value9 = 0;
				F_value7 = 0;
				F_value6 = 0;
				F_value5 = 0;
				F_value4 = 0;
				F_value8 = 0;
				F_value2 = 0;
				F_value3 = 0;
				input_index = 0;
				memset(input_string,0,10);
			}
			break;
		case 0x21:
			if (F_shift)
			{
			    CharRow--;			   //up
				if(CharRow < 0) 
				{
					CharRow = 0;
				}
			}
			break;
		case 0x29:
			if (F_shift)
			{
			    CharRow++;			   //down
				if(CharRow > 5) 
				{
					CharRow = 0;
				}
			}
			break;
		case 0x30:
			if (F_shift)
			{
			    CharPos--;			   //left
				if(CharPos < 0) CharPos = 0;
			}
			break;
		case 0x31:
			if (F_shift)
			{
			    CharPos++;			  //right
				break;
			}
		case 0x1a:						      //7  
			/* judge mode */
			if (F_shift)
			{
				CharRow = 0;
				/* spell mode */
				switch (F_value7)
				{
					case 4:												//重復按鍵時循環顯示字母
						input_index--;
						input_string[input_index] = 'p';
						InputEnglish = 'p';
						input_index++;
						F_value7 = 0;
						break;
					case 0:
						input_string[input_index] = 'p';
						InputEnglish = 'p';
						input_index++;
						break;	
					case 1:
						input_index--;
						input_string[input_index] = 'q';
						InputEnglish = 'q';
						input_index++;
						break;
					case 2:
						input_index--;
						input_string[input_index] = 'r';
						InputEnglish = 'r';
						input_index++;
						break;
					case 3:
						input_index--;
						input_string[input_index] = 's';
						InputEnglish = 's';
						input_index++;
						break;
					default:
						;					
				}
				F_value7++;										
			}
			else
			{
				
				if(InputMode == 0)
				{	
					/* number mode */
					num_index = 7;	 

					/* input the Chinese character into the corresponding buffer by the value of the key press */
					if(strlen(chinese_string) != 0)
					{
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2];
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2+1];
					} 	 
					/* at the end of a operation,reinitialize the corresponding buffers and flags */
					memset(print_string,0,19);
					memset(chinese_string,0,255);
					memset(input_string,0,10);
					CharRow = 0;
					input_index = 0;
					F_value7 = 0;
				}
				else if(InputMode == 2)
				{
					need_string[need_index++] = '7';	
				}				
			}
			/* clean key flag*/
			F_value8 = 0;
			F_value9 = 0;
			F_value6 = 0;
			F_value5 = 0;
			F_value4 = 0;
			F_value3 = 0;
			F_value2 = 0;
			break;
		case 0x1b:						      //8
			if (F_shift)
			{
				CharRow = 0;
				switch (F_value8)								   

				{
					case 3:
						input_index--;
						input_string[input_index] = 't';
						InputEnglish = 't';
						input_index++;
						F_value8 = 0;
						break;
					case 0:
						input_string[input_index] = 't';
						InputEnglish = 't';
						input_index++;
						break;	
					case 1:
						input_index--;
						input_string[input_index] = 'u';
						InputEnglish = 'u';
						input_index++;
						break;
					case 2:
						input_index--;
						input_string[input_index] = 'v';
						InputEnglish = 'v';
						input_index++;
						break;
					default:
						;					
				}
				F_value8++;
						
			}
			else
			{
				if(InputMode == 0)
				{
					num_index = 8;
					if(strlen(chinese_string) != 0)
					{
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2];
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2+1];
					}
					memset(print_string,0,19);
					memset(chinese_string,0,255);
					memset(input_string,0,10);
					CharRow = 0;
					input_index = 0;
					F_value8 = 0;
				}
				else if(InputMode == 2)
				{
					need_string[need_index++] = '8';	
				}
			}
			F_value7 = 0;
			F_value9 = 0;
			F_value6 = 0;
			F_value5 = 0;
			F_value4 = 0;
			F_value3 = 0;
			F_value2 = 0;
			break;
		case 0x1c:							  //9
			if (F_shift)
			{
				CharRow = 0;
				switch (F_value9)
				{
					case 4:
						input_index--;
						input_string[input_index] = 'w';
						InputEnglish = 'w';
						input_index++;
						F_value9 = 0;
						break;
					case 0:
						input_string[input_index] = 'w';
						InputEnglish = 'w';
						input_index++;
						break;	
					case 1:
						input_index--;
						input_string[input_index] = 'x';
						InputEnglish = 'x';
						input_index++;
						break;
					case 2:
						input_index--;
						input_string[input_index] = 'y';
						InputEnglish = 'y';
						input_index++;
						break;
					case 3:
						input_index--;
						input_string[input_index] = 'z';
						InputEnglish = 'z';
						input_index++;
						break;
					default:
						;					
				}
				F_value9++;
				
			}
			else
			{
				if(InputMode == 0)
				{
					num_index = 9;
					if(strlen(chinese_string) != 0)
					{
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2];
						need_string[need_index++] = print_string[CharRow][(num_index-1)*2+1];
					}
					memset(print_string,0,19);
					memset(chinese_string,0,255);
					memset(input_string,0,10);
					CharRow = 0;
					input_index = 0;
					F_value9 = 0;
				}
				else if(InputMode == 2)
				{
					need_string[need_index++] = '9';	
				}
			}
			F_value8 = 0;
			F_value7 = 0;
			F_value6 = 0;
			F_value5 = 0;
			F_value4 = 0;
			F_value3 = 0;
			F_value2 = 0;
			break;							
		case 0x22:						      //4
			if (F_shift)
			{
				CharRow = 0;
				switch (F_value4)
				{
					case 3:
						input_index--;
						input_string[input_index] = 'g';
						InputEnglish = 'g';
						input_index++;
						F_value4 = 0;
						break;
					case 0:
						input_string[input_index] = 'g';
						InputEnglish = 'g';
						input_index++;
						break;	
					case 1:
						input_index--;
						input_string[input_index] = 'h';
						InputEnglish = 'h';
						input_index++;
						break;
					case 2:
						input_index--;
						input_string[input_index] = 'i';
						InputEnglish = 'i';
						input_index++;
						break;
					default:
						;					
				}
				F_value4++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡高清视频| 首页亚洲欧美制服丝腿| 欧美美女激情18p| 国产一区不卡精品| 午夜伊人狠狠久久| 欧美国产日本视频| 精品久久久久av影院| 在线免费观看日本欧美| 国产精品自拍av| 日本在线观看不卡视频| 亚洲欧美一区二区三区极速播放| 日韩免费一区二区三区在线播放| 色偷偷久久一区二区三区| 国产一区二区三区黄视频| 偷拍一区二区三区四区| 亚洲三级小视频| 欧美国产日韩在线观看| 精品国产乱码91久久久久久网站| 欧美亚洲国产bt| 成人va在线观看| 国产毛片精品视频| 免费看黄色91| 婷婷综合久久一区二区三区| 亚洲精品国产精华液| 国产精品萝li| 国产午夜精品一区二区| www精品美女久久久tv| 欧美久久婷婷综合色| 欧美性生活久久| 欧美在线不卡一区| 色婷婷久久久亚洲一区二区三区 | 韩国欧美国产一区| 免费精品视频最新在线| 日韩国产欧美视频| 肉肉av福利一精品导航| 亚洲va韩国va欧美va精品| 亚洲一区二区欧美激情| 亚洲综合色成人| 亚洲一区中文日韩| 亚洲不卡av一区二区三区| 亚洲国产人成综合网站| 婷婷国产在线综合| 蜜臀av性久久久久av蜜臀妖精| 轻轻草成人在线| 久久草av在线| 国产精品亚洲一区二区三区妖精| 国产成人免费在线| 波多野结衣欧美| 色综合 综合色| 欧美日本一区二区| 日韩欧美一区二区免费| 精品乱码亚洲一区二区不卡| 国产视频一区在线播放| 亚洲视频一区在线观看| 亚洲国产精品一区二区久久| 男女男精品网站| 国产一区激情在线| 高清成人免费视频| 一本久久a久久精品亚洲| 欧美日韩精品三区| 久久久久久久av麻豆果冻| 亚洲国产成人一区二区三区| 亚洲综合丁香婷婷六月香| 日韩精品视频网站| 粉嫩欧美一区二区三区高清影视| 99国产欧美另类久久久精品| 在线精品亚洲一区二区不卡| 在线不卡a资源高清| 久久久久久久久久久久久久久99 | 欧日韩精品视频| 69久久99精品久久久久婷婷| 欧美不卡视频一区| 中文幕一区二区三区久久蜜桃| 亚洲精品日日夜夜| 日本女人一区二区三区| 波多野结衣中文字幕一区二区三区 | 午夜激情久久久| 久久精品99国产国产精| av网站一区二区三区| 91精品欧美福利在线观看| 亚洲国产精品黑人久久久| 亚洲午夜免费视频| 国产成人综合亚洲网站| 欧美日韩高清影院| 国产精品毛片久久久久久久| 婷婷成人综合网| 不卡在线观看av| 欧美成人精品3d动漫h| 亚洲色欲色欲www在线观看| 久久精工是国产品牌吗| 色哟哟一区二区三区| 2021久久国产精品不只是精品| 亚洲少妇30p| 久久99精品久久久| 欧美日韩在线三级| 国产精品乱人伦一区二区| 日本v片在线高清不卡在线观看| 97精品久久久久中文字幕| 欧美xfplay| 亚洲高清免费视频| 色综合天天狠狠| 久久久久国产精品人| 免费人成黄页网站在线一区二区| 一本大道久久a久久精二百| 久久久久久久久久久黄色| 日韩极品在线观看| 色综合天天性综合| 中文字幕第一区| 国内精品嫩模私拍在线| 在线91免费看| 亚洲综合色婷婷| 日本高清成人免费播放| 欧美国产成人在线| 国产精品一品视频| 精品av久久707| 美女高潮久久久| 欧美一级搡bbbb搡bbbb| 一区二区三区中文在线观看| 99久久精品情趣| 亚洲国产精品成人综合色在线婷婷| 精品一区二区三区欧美| 欧美一区二区播放| 日韩av一级电影| 91麻豆精品国产无毒不卡在线观看| 一区二区三区.www| 一本到不卡精品视频在线观看| 国产精品久久久久一区二区三区| 国产精品888| 国产调教视频一区| 国产福利电影一区二区三区| 久久久亚洲欧洲日产国码αv| 久久不见久久见免费视频1| 精品日产卡一卡二卡麻豆| 老司机免费视频一区二区| 日韩精品最新网址| 极品美女销魂一区二区三区免费| 精品国产一区a| 国产高清在线精品| 国产精品嫩草99a| 99视频热这里只有精品免费| 最新日韩在线视频| 色综合中文字幕| 亚洲二区在线观看| 911精品国产一区二区在线| 久久精品国产亚洲5555| wwwwxxxxx欧美| 99久久久久久| 亚洲精品大片www| 欧美理论电影在线| 久久99精品一区二区三区 | 中文字幕在线不卡一区| 99精品一区二区三区| 亚洲欧美视频一区| 久久久久青草大香线综合精品| 欧美性猛交xxxx乱大交退制版| 国产精品久久久久久久蜜臀| 成人国产视频在线观看| 综合久久综合久久| 欧美老人xxxx18| 国产精品夜夜嗨| 亚洲婷婷综合色高清在线| 一本色道久久综合亚洲精品按摩| 手机精品视频在线观看| 日韩精品中文字幕一区 | aa级大片欧美| 亚洲自拍欧美精品| 日韩午夜av一区| 成人网在线播放| 亚洲成人av一区| 2020国产精品自拍| 一本色道亚洲精品aⅴ| 免费国产亚洲视频| 1区2区3区精品视频| 91精品国产品国语在线不卡| 成人综合日日夜夜| 午夜日韩在线电影| 国产欧美精品一区aⅴ影院 | 日韩av一区二区三区四区| 欧美国产欧美亚州国产日韩mv天天看完整| 色94色欧美sute亚洲13| 国产原创一区二区| 亚洲精品ww久久久久久p站| 欧美变态凌虐bdsm| 在线观看亚洲精品视频| 国产一区在线观看视频| 亚洲成av人综合在线观看| 国产调教视频一区| 欧美一级二级三级蜜桃| 99久久国产免费看| 激情综合色播五月| 亚洲综合另类小说| 欧美国产亚洲另类动漫| 日韩欧美一区二区久久婷婷| 在线国产电影不卡| 国产福利一区在线观看| 婷婷成人综合网| 一区二区三区国产豹纹内裤在线| 久久精品亚洲一区二区三区浴池| 欧美日韩在线免费视频| 91丨porny丨首页|