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

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

?? autotype_x11.cpp

?? KeePassX用于保護密碼的安全
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
 /*************************************************************************** *   Copyright (C) 2005-2006 by Tarek Saidi                                * *   tarek.saidi@arcor.de                                                  * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         * *   You should have received a copy of the GNU General Public License     * *   along with this program; if not, write to the                         * *   Free Software Foundation, Inc.,                                       * *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             * ***************************************************************************/#include <QApplication>#include "AutoType.h"#include <QTime>#include <QList>#include <QChar>QWidget* AutoType::MainWin=NULL; #ifdef Q_WS_X11int AutoType::getModifiers(Display *d,KeySym keysym, int keycode){int SymsPerKey;KeySym* Syms=XGetKeyboardMapping(d,keycode,1,&SymsPerKey);int c=-1;for(int i=0;i<4;i++)	if(Syms[i]==keysym){		c=i; break;}Q_ASSERT(c!=-1);XFree(Syms);return c;}void AutoType::releaseModifiers(Display* d,int mods){pressModifiers(d,mods,False);}void AutoType::pressModifiers(Display* d,int mods,bool press){int keycode;switch(mods){	case 0: //no modifier			break;	case 1: //Shift			XTestFakeKeyEvent(d,XKeysymToKeycode(d,XK_Shift_L),press,2);			break;	case 2: //AltGr			XTestFakeKeyEvent(d,XKeysymToKeycode(d,XK_ISO_Level3_Shift),press,2);			break;	case 3: //Shift+AltGr			XTestFakeKeyEvent(d,XKeysymToKeycode(d,XK_Shift_L),press,2);			XTestFakeKeyEvent(d,XKeysymToKeycode(d,XK_ISO_Level3_Shift),press,2);			break;}}void AutoType::perform(CEntry* entry, QString& err){struct timespec timeOut,remains;timeOut.tv_sec = 0;timeOut.tv_nsec = 300000000; /* 300 milliseconds */for(int i=0;i<10;i++)nanosleep(&timeOut, &remains);QString str;int c=entry->Additional.count("Auto-Type:");if(c>1){	err=tr("More than one 'Auto-Type:' key sequence found.\nAllowed is only one per entry.");	return;}if(c==1){	int start=entry->Additional.indexOf("Auto-Type:")+10;	int len;	if(entry->Additional.size()==10)return;	for(len=0;len<entry->Additional.size();len++){		if(entry->Additional.size()==(start+len))break;		if(entry->Additional.at(start+len)==QChar('\n'))break;}	if(!len)return;	str=entry->Additional.mid(start,len);}else	str="{USERNAME}{TAB}{PASSWORD}{ENTER}";QList<quint16> Keys;for(int i=0;i<str.size();i++){	if(str[i]=='{'){		int start=i;		QString tmpl;		i++;		while(str[i]!='}' && i<str.size()){			tmpl += str[i];			i++;		}		if(i>=str.size()){			err=tr("Syntax Error in Auto-Type sequence near character %1\n\					Found '{' without closing '}'").arg(i+10);			return;		}		templateToKeysyms(tmpl.toLower(),Keys,entry);		continue;	}	else		Keys << getKeysym(str[i]);}MainWin->hide();Display* pDisplay = XOpenDisplay( NULL );for(int i=0;i<Keys.size();i++){	int keycode=XKeysymToKeycode(pDisplay,Keys[i]);	int mods=getModifiers(pDisplay,Keys[i],keycode);	pressModifiers(pDisplay,mods);	XTestFakeKeyEvent(pDisplay,keycode,True,0);	XTestFakeKeyEvent(pDisplay,keycode,False,1);	releaseModifiers(pDisplay,mods);}XCloseDisplay(pDisplay);MainWin->show();}void AutoType::templateToKeysyms(const QString& tmpl, QList<quint16>& keys,CEntry* entry){//tmpl must be lower case!!!if(!tmpl.compare("title")){	stringToKeysyms(entry->Title,keys);	return;}if(!tmpl.compare("username")){	stringToKeysyms(entry->UserName,keys);	return;}if(!tmpl.compare("url")){	stringToKeysyms(entry->URL,keys);	return;}if(!tmpl.compare("password")){	entry->Password.unlock();	stringToKeysyms(entry->Password.string(),keys);	entry->Password.lock();	return;}if(!tmpl.compare("space")){	keys << getKeysym(' ');	return;}if(!tmpl.compare("backspace") || !tmpl.compare("bs") || !tmpl.compare("bksp")){	keys << XK_BackSpace;	return;}if(!tmpl.compare("break")){	keys << XK_Break;	return;}if(!tmpl.compare("capslock")){	keys << XK_Caps_Lock;	return;}if(!tmpl.compare("del") || !tmpl.compare("delete")){	keys << XK_Delete;	return;}if(!tmpl.compare("end")){	keys << XK_End;	return;}if(!tmpl.compare("enter")){	keys << XK_Return;	return;}if(!tmpl.compare("esc")){	keys << XK_Escape;	return;}if(!tmpl.compare("help")){	keys << XK_Help;	return;}if(!tmpl.compare("home")){	keys << XK_Home;	return;}if(!tmpl.compare("ins")){	keys << XK_Insert;	return;}if(!tmpl.compare("numlock")){	keys << XK_Num_Lock;	return;}if(!tmpl.compare("scroll")){	keys << XK_Scroll_Lock;	return;}if(!tmpl.compare("pgdn")){	keys << XK_Page_Down;	return;}if(!tmpl.compare("pgup")){	keys << XK_Page_Up;	return;}if(!tmpl.compare("prtsc")){	keys << XK_3270_PrintScreen;	return;}if(!tmpl.compare("up")){	keys << XK_Up;	return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线999| 国产欧美一二三区| 国产精品美女久久久久久2018| 亚洲国产精品尤物yw在线观看| 国内成人免费视频| 欧美剧情片在线观看| 亚洲精品视频在线观看网站| 国产精品亚洲人在线观看| 欧美高清视频在线高清观看mv色露露十八 | 91蜜桃传媒精品久久久一区二区| 欧美电影免费观看完整版| 亚洲一区二区在线播放相泽| 高清不卡一区二区在线| 精品福利一区二区三区免费视频| 亚洲第一主播视频| 欧美性受极品xxxx喷水| 一区二区三区在线视频免费| 99视频在线观看一区三区| 国产丝袜在线精品| 国产不卡视频一区二区三区| 久久综合av免费| 国产一区二区三区久久悠悠色av| 精品久久一区二区三区| 久久国产夜色精品鲁鲁99| 欧美一区二区视频免费观看| 婷婷久久综合九色综合绿巨人| 91视频91自| 亚洲人成精品久久久久久| 99精品视频一区| 亚洲欧美日韩小说| 日本道在线观看一区二区| 亚洲视频 欧洲视频| 91在线观看地址| 亚洲精品videosex极品| 欧美在线短视频| 天天射综合影视| 欧美大胆一级视频| 国产精品影视在线观看| 中文字幕高清一区| 91婷婷韩国欧美一区二区| 亚洲欧美日韩国产成人精品影院| 色狠狠色狠狠综合| 天天综合网天天综合色| 精品国产第一区二区三区观看体验| 韩日欧美一区二区三区| 国产喂奶挤奶一区二区三区 | 精品在线一区二区| 国产亚洲精品bt天堂精选| www.爱久久.com| 一区二区三区四区在线播放| 欧美日韩精品一区二区三区四区| 免费人成精品欧美精品| 国产欧美一区二区三区在线看蜜臀| 成人性生交大片免费看中文网站| 亚洲三级免费观看| 欧美一区二区高清| 国产不卡一区视频| 亚洲国产aⅴ天堂久久| 精品久久人人做人人爽| 丁香六月久久综合狠狠色| 亚洲另类在线视频| 337p日本欧洲亚洲大胆色噜噜| eeuss国产一区二区三区| 午夜久久久久久| 国产精品毛片高清在线完整版| 欧美午夜电影在线播放| 国产福利一区在线| 五月天婷婷综合| 国产人成亚洲第一网站在线播放| 欧美三级资源在线| 成人性生交大片免费看视频在线| 亚洲成av人片一区二区梦乃 | 成a人片亚洲日本久久| 视频一区在线播放| 中文字幕一区二区三区av| 这里只有精品99re| 91美女视频网站| 国产在线播放一区二区三区| 亚洲电影视频在线| 国产精品欧美久久久久一区二区| 制服丝袜在线91| 色偷偷88欧美精品久久久| 国产福利精品导航| 喷水一区二区三区| 亚洲图片自拍偷拍| 综合电影一区二区三区 | 日韩视频一区在线观看| 色综合久久久久久久久| 国产不卡视频在线播放| 免费成人在线网站| 亚洲高清视频中文字幕| 亚洲视频免费在线观看| 中文字幕乱码亚洲精品一区 | 欧美色窝79yyyycom| 成人a区在线观看| 国产精品18久久久久久久网站| 日韩高清不卡一区| 亚洲成人你懂的| 一区二区三区日韩精品视频| 国产精品久久久久久久久晋中| 日韩久久久精品| 91麻豆精品国产无毒不卡在线观看| 一本一道波多野结衣一区二区 | 亚洲美女视频在线观看| 国产精品―色哟哟| 国产精品天天摸av网| 国产欧美视频一区二区| 国产精品欧美极品| 国产精品久久久久久久蜜臀| 欧美国产日韩在线观看| 国产欧美日本一区二区三区| 国产女人aaa级久久久级| 国产三级精品三级在线专区| 国产欧美日韩精品a在线观看| 久久久精品综合| 中文字幕第一区二区| 国产精品欧美久久久久一区二区 | 日本欧美韩国一区三区| 日一区二区三区| 精品一区二区三区在线播放视频| 美国三级日本三级久久99| 久色婷婷小香蕉久久| 国产一区二区精品在线观看| 国产成a人亚洲| 99re热这里只有精品视频| 欧洲亚洲精品在线| 欧美日韩高清一区二区三区| 欧美一级午夜免费电影| 亚洲精品一区二区三区影院| 国产视频911| 一区2区3区在线看| 青青国产91久久久久久| 久久99精品国产| 国产成人免费网站| 色爱区综合激月婷婷| 欧美人牲a欧美精品| 久久夜色精品国产噜噜av| 国产河南妇女毛片精品久久久 | 26uuu亚洲综合色| 中文字幕电影一区| 亚洲国产日韩综合久久精品| 人妖欧美一区二区| 国产乱码精品一品二品| 一本一本大道香蕉久在线精品 | 丝袜亚洲精品中文字幕一区| 免费在线观看视频一区| 国产成人8x视频一区二区 | 91麻豆文化传媒在线观看| 欧美日韩国产电影| 欧美激情综合网| 亚洲国产成人porn| 粗大黑人巨茎大战欧美成人| 欧美区一区二区三区| 久久久影视传媒| 天天色 色综合| 欧美激情一区二区三区不卡 | 欧美浪妇xxxx高跟鞋交| 2019国产精品| 亚洲精品国产一区二区三区四区在线| 蜜桃免费网站一区二区三区| 99久久99久久综合| 精品国产一区二区在线观看| 亚洲精品伦理在线| 国产一二三精品| 欧美日韩国产大片| 亚洲视频在线一区| 国产精品综合在线视频| 91精品国产综合久久婷婷香蕉| 亚洲欧美综合另类在线卡通| 免费观看91视频大全| 欧美性受xxxx黑人xyx| 国产精品高潮呻吟| 国产福利91精品一区| 91精品麻豆日日躁夜夜躁| 亚洲柠檬福利资源导航| 国产成人免费视频网站| 精品免费日韩av| 日韩av一级片| 三级欧美韩日大片在线看| 欧美乱熟臀69xxxxxx| 国产精品你懂的在线欣赏| 久久超级碰视频| 制服.丝袜.亚洲.另类.中文| 一区二区三区成人| 99r国产精品| 亚洲色图19p| 99这里只有精品| 国产精品传媒入口麻豆| 粉嫩蜜臀av国产精品网站| 精品99一区二区三区| 免费视频最近日韩| 日韩美女在线视频| 国产主播一区二区| 久久精品一区四区| 国产伦理精品不卡| 欧美激情一区二区三区全黄| 成人动漫av在线| 亚洲美女精品一区| 色欧美88888久久久久久影院| 亚洲精品国产第一综合99久久 |