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

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

?? vk.c

?? LINUX X11 16 key 中文簡單輸入源代碼
?? C
字號:
#include "ui.h"
#include "vk.h"
#include "all.h"
#include "py.h"

int 		iClear = 0;
int 		iNum_VK = VK_NUM;
int	   	iCur_VK = 2;
int		iCur_PYW= 0;
int		iCur_PYS= 0;
int 		iCur_ZHW= 0;
int		iCur_PUTS= 0;
int		iCur_SCW= 0;
char		Cur_py_win[PY_WIN_NUM][STR_SIZE];
char 		Cur_zh_buf[PY_NUM][ZH_NUM][STR_SIZE];
char		Cur_put_win[PUT_WIN_NUM][STR_SIZE];
extern char 		Cur_input_buf[STR_SIZE];
extern char 		Cur_py_buf[PY_NUM][STR_SIZE];
extern int		iCur_X;
extern int		iCur_Y;
extern int		iPrev_X;
extern int		iPrev_Y;
extern pid_t           VK_ID;
extern XftFont         *ListWinFont;
extern XftFont         *VKLabelFont;
extern XftFont         *PYListWinFont;
extern XftFont         *ZHListWinFont;

VKS     vks[] = {
                {{"Abc"}, {{"","abcABC","defDEF",""},{"ghiGHI","jklJKL","nmoNMO",""},
				{"pqrsPQRS","tuvTUV","wxyzWXYZ",""},{"*"," ","",""}}},
                {{"123"}, {{"1","2","3",""},{"4","5","6",""},{"7","8","9",""},{"*","0 ","",""}}},
                {{"簡體"}, {{"1","2","3",""},{"4","5","6",""},{"7","8","9",""},{""," ","",""}}},
		  {{"繁體"}, {{"1","2","3",""},{"4","5","6",""},{"7","8","9",""},{""," ","",""}}}
                };
char    *vk_sc[4]= {"`~!@#$%^","&*()-=\\|","+_][';/.",",{}:\">?<"};

int check_strarr_len(int max_len, char buf[][STR_SIZE])
{
	int i=0;
	for(;buf[i][0]!='\0';i++);
	if (i >= max_len)
		i=max_len;
	return i;
}

void clear_py_zh(void)
{
	iCur_PYS = 0;
        iCur_PYW = 0;
        iCur_ZHW=0;
        bzero(Cur_input_buf,sizeof(Cur_input_buf));
        bzero(Cur_py_buf,sizeof(Cur_py_buf));
        bzero(Cur_zh_buf,sizeof(Cur_zh_buf));
        bzero(Cur_py_win,sizeof(Cur_py_win));	
	bzero(Cur_put_win,sizeof(Cur_put_win));
}

void get_str_arr(char str[],char str_arr[][STR_SIZE])
{
	int i,n=0;
    	for(i=0;str[i] != '\0';i++){
	 	if(str[i] > 0xffffff80 ) {
			str_arr[n][0] = str[i++];
			str_arr[n][1] = str[i];
			str_arr[n][2] = '\0';
			n++;
    		}else{
			str_arr[n][0] = str[i];
			str_arr[n][1] = '\0';
			n++;
    		}
    	}
}

void get_win_str(char buf_str[][STR_SIZE], char win_str[][STR_SIZE], int win_start, int win_max)
{
    int i;
    for(i=0;i<win_max;i++){
        if(buf_str[win_start+i][0] == '\0'){
                break;
	}else{
                strcpy(win_str[i],buf_str[win_start+i]);
	}
    }
}

void str_to_tradition(char put_win[][STR_SIZE])
{
	int i=0;
	int n;
	i = check_strarr_len(PUT_WIN_NUM, Cur_put_win);
	for(n=0;n<i;n++){
		strcpy(Cur_put_win[n],simple_to_tradition(Cur_put_win[n]));
	}
}

void get_py_zh_win(void)
{
	bzero(Cur_py_win,sizeof(Cur_py_win));
        bzero(Cur_put_win,sizeof(Cur_put_win));
        get_win_str(Cur_py_buf, Cur_py_win, iCur_PYW, PY_WIN_NUM);
        get_win_str(Cur_zh_buf[iCur_PYW+iCur_PYS], Cur_put_win, iCur_ZHW, PUT_WIN_NUM);
	if (iCur_VK == 3)
		str_to_tradition(Cur_put_win);
}

Bool vk_key_handler (int x, int y)
{
    int xindex = -1,yindex = -1;
    char *cmd=NULL;
    
    if(y >0 && y <= TOP_BAR_HEIGHT){
	if(iCur_VK >= 2 && check_strarr_len(PY_WIN_NUM,Cur_py_win) > 0){
		if(y >TOP_BAR_HEIGHT/2 && y <= TOP_BAR_HEIGHT ){
			if(x>300 && x<320){//next or prev button
				iCur_ZHW=iCur_ZHW+PUT_WIN_NUM;
				if(iCur_ZHW>=check_strarr_len(ZH_NUM,Cur_zh_buf[iCur_PYW+iCur_PYS]))
					iCur_ZHW=0;
				get_py_zh_win();
				rescan_vk_window();	
			}else if(x>ZH_WIN_X && x<(ZH_WIN_X+index_to_point(check_strarr_len(PUT_WIN_NUM,Cur_put_win),
                           ZH_WIDTH, Cur_put_win, ZHListWinFont, 1))){
				iCur_PUTS = point_to_index(x-ZH_WIN_X,ZH_WIDTH,Cur_put_win,PUT_WIN_NUM,ZHListWinFont);
				get_py_zh_win();
				out_put_str(iCur_PUTS);
				iClear = 1;
			}
		}else{
			if(x>PY_WIN_X && x<(PY_WIN_X+index_to_point(check_strarr_len(PY_WIN_NUM,Cur_py_win),
			   PY_WIDTH, Cur_py_win, PYListWinFont, 1))){
				iCur_ZHW = 0;
				iCur_PYS = point_to_index(x-PY_WIN_X,PY_WIDTH,Cur_py_win,PY_WIN_NUM,PYListWinFont);
				get_py_zh_win();
				rescan_vk_window();			
			}
		}
	}else if(x>WIN_X && x<(WIN_X+index_to_point(check_strarr_len(PUT_WIN_NUM,Cur_put_win),
                           CHAR_WIDTH, Cur_put_win, ListWinFont, 1))){
		iCur_PUTS = point_to_index(x-WIN_X,CHAR_WIDTH, Cur_put_win, PUT_WIN_NUM, ListWinFont);
		out_put_str(iCur_PUTS);
	}
    }else if (y > TOP_BAR_HEIGHT && y <= VK_WINDOW_HEIGHT) {
	if (x < 0 || x > VK_WINDOW_WIDTH)
		return False;
    	yindex = (y-TOP_BAR_HEIGHT)/BUTTON_HEIGHT;
    	xindex = x/BUTTON_WIDTH;
    	if (xindex > 4)
		xindex = 3;
    	if (yindex > 4)
		yindex = 3;
	//key: *
	if (xindex == 0 && yindex == 3) {
		if (iCur_VK >= 2){
			iCur_PYS = 0;
                        iCur_PYW = 0;
                        iCur_ZHW=0;
			bzero(Cur_input_buf,sizeof(Cur_input_buf));
			bzero(Cur_py_buf,sizeof(Cur_py_buf));
			bzero(Cur_zh_buf,sizeof(Cur_zh_buf));
			bzero(Cur_py_win,sizeof(Cur_py_win));
		}
		bzero(Cur_put_win,sizeof(Cur_put_win));
		get_str_arr(vk_sc[iCur_SCW],Cur_put_win);
		iPrev_X = -1;
		iPrev_Y = -1;
		if (iCur_SCW >= 3)
			iCur_SCW = 0;
		else 
			iCur_SCW++;
		rescan_vk_window();
		return True;
	}
	//key: #
    	if (xindex == 2 && yindex == 3) {
		iCur_SCW = 0;	
		iCur_VK++;
		if (iCur_VK  >= iNum_VK)
                      iCur_VK = 0 ;
		if (iCur_VK >= 2){
			iCur_PYS = 0;
			iCur_PYW = 0;
			iCur_ZHW=0;
			bzero(Cur_input_buf,sizeof(Cur_input_buf));
			bzero(Cur_py_buf,sizeof(Cur_py_buf)); 
			bzero(Cur_py_win,sizeof(Cur_py_win));
		}
		bzero(Cur_put_win,sizeof(Cur_put_win));
		rescan_vk_window();
		return True;
    	}
	//key: 0-9
	if (xindex != 3){
		if (iCur_VK >= 2){
			if (iClear == 1){
				clear_py_zh();	
				iClear = 0;
			}	
			py_get_zh(vks[iCur_VK].strSymbol[yindex][xindex]);
			get_py_zh_win();
		}else {
                	iPrev_X = xindex;
                	iPrev_Y = yindex;
			bzero(Cur_put_win,sizeof(Cur_put_win));
			get_str_arr(vks[iCur_VK].strSymbol[iPrev_Y ][iPrev_X],Cur_put_win);
			if(check_strarr_len(PUT_WIN_NUM,Cur_put_win) == 1){
                        	out_put_str(0);
				return True;
			}
		}
		rescan_vk_window();
	}
	//key:Del
	if (xindex == 3 && yindex <= 2) {
		if (iCur_VK>=2 && strlen(Cur_input_buf)>0){
			Cur_input_buf[strlen(Cur_input_buf)-1] = '\0';
			iCur_PYW = 0;
			iCur_PYS  = 0;
			iCur_ZHW = 0;
			py_get_str();
			get_py_zh_win();
			rescan_vk_window();
		}else {
			bzero(Cur_put_win,sizeof(Cur_put_win));
			iCur_SCW = 0;
			rescan_vk_window();	
		}
		return False;// move the VK window
        }
	//key:EXIT
	if (xindex == 3 && yindex == 3){
		sprintf(cmd,"kill %d",VK_ID);
		execvp(cmd, NULL);
	}
    }    
return True;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲一区二区三区妖精| 欧美一二三区在线| 欧美女孩性生活视频| 久久品道一品道久久精品| 亚洲免费毛片网站| 国产一区二区三区免费观看| 欧美日韩性生活| 中文字幕亚洲综合久久菠萝蜜| 捆绑紧缚一区二区三区视频| 色www精品视频在线观看| 国产亚洲精品bt天堂精选| 亚洲欧美另类在线| 成人av免费网站| 亚洲精品一区在线观看| 日韩黄色免费网站| 欧美又粗又大又爽| 亚洲婷婷综合色高清在线| 国产一区三区三区| 欧美成人精精品一区二区频| 亚洲高清在线精品| 欧日韩精品视频| 亚洲精品久久久久久国产精华液| 高清av一区二区| 国产亚洲综合在线| 国产一区二区三区精品欧美日韩一区二区三区 | 精品视频资源站| 中文字幕永久在线不卡| 国产91丝袜在线播放0| 久久久久久99精品| 国内精品国产成人国产三级粉色| 91精品国产综合久久婷婷香蕉| 亚洲国产精品影院| 欧美三区在线观看| 五月天一区二区三区| 欧美精品一卡二卡| 日韩av网站免费在线| 欧美一区二区在线免费观看| 欧美96一区二区免费视频| 日韩三级.com| 国产精品1区二区.| 欧美高清在线一区| 91麻豆.com| 午夜一区二区三区在线观看| 欧美高清dvd| 极品美女销魂一区二区三区免费| 久久久国产精华| 成人app在线| 亚洲国产精品自拍| 日韩一区二区免费视频| 国产一区二区三区观看| 国产精品美女久久久久av爽李琼 | 色综合久久久久| 亚洲香蕉伊在人在线观| 91麻豆精品国产91久久久资源速度| 三级亚洲高清视频| 久久久青草青青国产亚洲免观| 国产成人在线观看| 亚洲欧美另类久久久精品2019| 色噜噜狠狠色综合中国| 奇米一区二区三区av| 久久久久久久综合狠狠综合| www.亚洲色图.com| 亚洲成av人片在www色猫咪| 精品日韩在线观看| 91香蕉视频mp4| 日本vs亚洲vs韩国一区三区二区| 久久久久久影视| 97久久人人超碰| 蜜桃视频在线观看一区| 国产精品丝袜久久久久久app| 在线观看免费一区| 国产呦精品一区二区三区网站| 综合网在线视频| 日韩精品一区二区三区蜜臀| 99久久er热在这里只有精品66| 午夜视频一区二区三区| 中日韩av电影| 555www色欧美视频| 99re热这里只有精品视频| 视频在线观看一区| 国产精品每日更新在线播放网址| 欧美男女性生活在线直播观看| 国产精品一区二区视频| 亚洲h动漫在线| 日本一区二区三区在线不卡| 欧美精品久久久久久久久老牛影院| 国产不卡视频在线观看| 日韩电影在线观看一区| 亚洲欧美日韩电影| 国产欧美一区二区三区沐欲 | 性做久久久久久免费观看欧美| 久久青草国产手机看片福利盒子| 欧美性淫爽ww久久久久无| 粉嫩在线一区二区三区视频| 青青草国产成人av片免费| 中文字幕一区在线| 久久久久久麻豆| 日韩免费观看高清完整版| 欧美性大战久久久久久久| 成人av网址在线观看| 国产精品99久久久久久久vr| 六月丁香婷婷色狠狠久久| 亚洲.国产.中文慕字在线| 一区二区三区精密机械公司| 国产精品日韩成人| 久久久www免费人成精品| 精品国产sm最大网站免费看| 欧美一区二区三区四区在线观看| 欧美综合久久久| 欧美在线免费播放| 在线观看中文字幕不卡| 一本色道久久加勒比精品 | 国产在线视频不卡二| 毛片不卡一区二区| 玖玖九九国产精品| 午夜精品一区二区三区三上悠亚 | 国产精品嫩草影院av蜜臀| 日本一区二区三区dvd视频在线| 久久久综合激的五月天| 国产夜色精品一区二区av| 久久九九久精品国产免费直播| 精品国产污网站| 日本一区二区视频在线| √…a在线天堂一区| 一区二区三区在线影院| 一区二区三区四区激情| 亚洲高清在线视频| 日韩黄色在线观看| 国产精品系列在线观看| www.色精品| 欧美午夜片在线看| 欧美一区二区在线免费观看| 精品欧美久久久| 亚洲国产电影在线观看| 一区二区三区在线视频免费 | 久久成人久久鬼色| 国产精品1区2区| 91碰在线视频| 欧美精品tushy高清| 2024国产精品| 日韩理论片一区二区| 日日夜夜精品视频免费| 国内精品伊人久久久久av一坑 | 欧美在线播放高清精品| 91精品国产欧美一区二区 | 91.xcao| 国产午夜精品久久久久久久 | 国产午夜久久久久| 亚洲精品国产a久久久久久| 日韩avvvv在线播放| 懂色av中文字幕一区二区三区| 欧美在线三级电影| 久久综合九色综合97婷婷女人| 亚洲欧美一区二区三区国产精品| 日韩电影在线观看电影| 99久久伊人精品| 欧美一区二区三区公司| 亚洲欧洲精品一区二区精品久久久| 亚洲mv在线观看| 播五月开心婷婷综合| 日韩一区二区在线观看视频播放| 中文字幕亚洲成人| 九九国产精品视频| 欧洲亚洲国产日韩| 中文欧美字幕免费| 日韩在线a电影| 色噜噜狠狠成人中文综合| 精品国产一区二区三区忘忧草 | 青青草一区二区三区| 色婷婷精品大在线视频| 久久久久久亚洲综合影院红桃| 亚洲mv在线观看| 一本色道a无线码一区v| 久久久亚洲午夜电影| 久久成人精品无人区| 欧美男人的天堂一二区| 夜夜精品浪潮av一区二区三区| 国产精品影音先锋| 日韩精品一区二区三区视频播放| 亚洲一区日韩精品中文字幕| 成人av电影在线播放| 久久久久9999亚洲精品| 九一久久久久久| 欧美一区二区三区啪啪| 三级欧美韩日大片在线看| 欧洲精品视频在线观看| 亚洲乱码精品一二三四区日韩在线| 国产一区二区三区香蕉| 欧美电视剧在线观看完整版| 日韩av一级片| 51精品视频一区二区三区| 三级影片在线观看欧美日韩一区二区| 91在线码无精品| 亚洲人午夜精品天堂一二香蕉| 丁香五精品蜜臀久久久久99网站| 精品国产制服丝袜高跟| 国产精品一色哟哟哟| 精品日韩成人av| 国产乱人伦偷精品视频不卡| 久久久精品tv|