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

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

?? kbdptr.c

?? 遠程桌面連接工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * kbdptr.c - deal with keyboard and pointer device over TCP & UDP. * * *//* *  Copyright (C) 1999 AT&T Laboratories Cambridge.  All Rights Reserved. * *  This 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 software 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 software; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, *  USA. */#include <stdio.h>#include "X11/X.h"#define NEED_EVENTS#include "X11/Xproto.h"#include "inputstr.h"#define XK_CYRILLIC#include <X11/keysym.h>#include <Xatom.h>#include "rfb.h"extern WindowPtr *WindowTable; /* Why isn't this in a header file? */#define KEY_IS_PRESSED(keycode) \    (kbdDevice->key->down[(keycode) >> 3] & (1 << ((keycode) & 7)))static void XConvertCase(KeySym sym, KeySym *lower, KeySym *upper);static DeviceIntPtr kbdDevice;/* If TRUE, then keys META == ALT as in the original AT&T version. */Bool compatibleKbd = FALSE;unsigned char ptrAcceleration = 50;#define MIN_KEY_CODE		8#define MAX_KEY_CODE		255#define NO_OF_KEYS		(MAX_KEY_CODE - MIN_KEY_CODE + 1)#define GLYPHS_PER_KEY		2static KeySym kbdMap[] = {    /* Modifiers */    XK_Control_L,	NoSymbol,#define CONTROL_L_KEY_CODE	MIN_KEY_CODE    XK_Control_R,	NoSymbol,#define CONTROL_R_KEY_CODE	(MIN_KEY_CODE + 1)    XK_Shift_L,		NoSymbol,#define SHIFT_L_KEY_CODE	(MIN_KEY_CODE + 2)    XK_Shift_R,		NoSymbol,#define SHIFT_R_KEY_CODE	(MIN_KEY_CODE + 3)    XK_Meta_L,		NoSymbol,#define META_L_KEY_CODE		(MIN_KEY_CODE + 4)    XK_Meta_R,		NoSymbol,#define META_R_KEY_CODE		(MIN_KEY_CODE + 5)    XK_Alt_L,		NoSymbol,#define ALT_L_KEY_CODE		(MIN_KEY_CODE + 6)    XK_Alt_R,		NoSymbol,#define ALT_R_KEY_CODE		(MIN_KEY_CODE + 7)    /* Standard US keyboard */    XK_space,		NoSymbol,    XK_0,		XK_parenright,    XK_1,		XK_exclam,    XK_2,		XK_at,    XK_3,		XK_numbersign,    XK_4,		XK_dollar,    XK_5,		XK_percent,    XK_6,		XK_asciicircum,    XK_7,		XK_ampersand,    XK_8,		XK_asterisk,    XK_9,		XK_parenleft,    XK_minus,		XK_underscore,    XK_equal,		XK_plus,    XK_bracketleft,	XK_braceleft,    XK_bracketright,	XK_braceright,    XK_semicolon,	XK_colon,    XK_apostrophe,	XK_quotedbl,    XK_grave,		XK_asciitilde,    XK_comma,		XK_less,    XK_period,		XK_greater,    XK_slash,		XK_question,    XK_backslash,	XK_bar,    XK_a,		XK_A,    XK_b,		XK_B,    XK_c,		XK_C,    XK_d,		XK_D,    XK_e,		XK_E,    XK_f,		XK_F,    XK_g,		XK_G,    XK_h,		XK_H,    XK_i,		XK_I,    XK_j,		XK_J,    XK_k,		XK_K,    XK_l,		XK_L,    XK_m,		XK_M,    XK_n,		XK_N,    XK_o,		XK_O,    XK_p,		XK_P,    XK_q,		XK_Q,    XK_r,		XK_R,    XK_s,		XK_S,    XK_t,		XK_T,    XK_u,		XK_U,    XK_v,		XK_V,    XK_w,		XK_W,    XK_x,		XK_X,    XK_y,		XK_Y,    XK_z,		XK_Z,    /* Other useful keys */    XK_BackSpace,	NoSymbol,    XK_Return,		NoSymbol,    XK_Tab,		NoSymbol,    XK_Escape,		NoSymbol,    XK_Delete,		NoSymbol,    XK_Home,		NoSymbol,    XK_End,		NoSymbol,    XK_Page_Up,		NoSymbol,    XK_Page_Down,	NoSymbol,    XK_Up,		NoSymbol,    XK_Down,		NoSymbol,    XK_Left,		NoSymbol,    XK_Right,		NoSymbol,    XK_F1,		NoSymbol,    XK_F2,		NoSymbol,    XK_F3,		NoSymbol,    XK_F4,		NoSymbol,    XK_F5,		NoSymbol,    XK_F6,		NoSymbol,    XK_F7,		NoSymbol,    XK_F8,		NoSymbol,    XK_F9,		NoSymbol,    XK_F10,		NoSymbol,    XK_F11,		NoSymbol,    XK_F12,		NoSymbol,    /* Plus blank ones which can be filled in using xmodmap */};#define N_PREDEFINED_KEYS (sizeof(kbdMap) / (sizeof(KeySym) * GLYPHS_PER_KEY))voidPtrDeviceInit(){}voidKbdDeviceInit(pDevice, pKeySyms, pModMap)    DeviceIntPtr pDevice;    KeySymsPtr pKeySyms;    CARD8 *pModMap;{    int i;    kbdDevice = pDevice;    for (i = 0; i < MAP_LENGTH; i++)	pModMap[i] = NoSymbol;    pModMap[CONTROL_L_KEY_CODE] = ControlMask;    pModMap[CONTROL_R_KEY_CODE] = ControlMask;    pModMap[SHIFT_L_KEY_CODE] = ShiftMask;    pModMap[SHIFT_R_KEY_CODE] = ShiftMask;    if (compatibleKbd) {	pModMap[META_L_KEY_CODE] = Mod1Mask;	pModMap[META_R_KEY_CODE] = Mod1Mask;    } else {	pModMap[META_L_KEY_CODE] = Mod4Mask;	pModMap[META_R_KEY_CODE] = Mod4Mask;    }    pModMap[ALT_L_KEY_CODE] = Mod1Mask;    pModMap[ALT_R_KEY_CODE] = Mod1Mask;    pKeySyms->minKeyCode = MIN_KEY_CODE;    pKeySyms->maxKeyCode = MAX_KEY_CODE;    pKeySyms->mapWidth = GLYPHS_PER_KEY;    pKeySyms->map = (KeySym *)xalloc(sizeof(KeySym)				     * MAP_LENGTH * GLYPHS_PER_KEY);    if (!pKeySyms->map) {	rfbLog("xalloc failed\n");	exit(1);    }    for (i = 0; i < MAP_LENGTH * GLYPHS_PER_KEY; i++)	pKeySyms->map[i] = NoSymbol;    for (i = 0; i < N_PREDEFINED_KEYS * GLYPHS_PER_KEY; i++) {	pKeySyms->map[i] = kbdMap[i];    }}voidKbdDeviceOn(){}voidKbdDeviceOff(){}voidPtrDeviceOn(pDev)    DeviceIntPtr pDev;{    ptrAcceleration = (char)pDev->ptrfeed->ctrl.num;}voidPtrDeviceOff(){}voidPtrDeviceControl(dev, ctrl)    DevicePtr dev;    PtrCtrl *ctrl;{    ptrAcceleration = (char)ctrl->num;    if (udpSockConnected) {	if (write(udpSock, &ptrAcceleration, 1) <= 0) {	    rfbLogPerror("PtrDeviceControl: UDP input: write");	    rfbDisconnectUDPSock();	}    }}voidKbdAddEvent(down, keySym, cl)    Bool down;    KeySym keySym;    rfbClientPtr cl;{    xEvent ev, fake;    KeySymsPtr keySyms = &kbdDevice->key->curKeySyms;    int i;    int keyCode = 0;    int freeIndex = -1;    unsigned long time;    Bool fakeShiftPress = FALSE;    Bool fakeShiftLRelease = FALSE;    Bool fakeShiftRRelease = FALSE;    Bool shiftMustBeReleased = FALSE;    Bool shiftMustBePressed = FALSE;#ifdef CORBA    if (cl) {	CARD32 clientId = cl->sock;	ChangeWindowProperty(WindowTable[0], VNC_LAST_CLIENT_ID, XA_INTEGER,			     32, PropModeReplace, 1, (pointer)&clientId, TRUE);    }#endif    if (down) {	ev.u.u.type = KeyPress;    } else {	ev.u.u.type = KeyRelease;    }    /* First check if it's one of our predefined keys.  If so then we can make       some attempt at allowing an xmodmap inside a VNC desktop behave       something like you'd expect - e.g. if keys A & B are swapped over and       the VNC client sends an A, then map it to a B when generating the X       event.  We don't attempt to do this for keycodes which we make up on the       fly because it's too hard... */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜精品网| 亚洲天堂a在线| 播五月开心婷婷综合| 国产99久久精品| 国产成人av影院| 免费观看在线综合色| 毛片不卡一区二区| 国产精一区二区三区| 国产 日韩 欧美大片| 9人人澡人人爽人人精品| 91亚洲精品乱码久久久久久蜜桃| 91久久免费观看| 制服丝袜中文字幕一区| 26uuu亚洲综合色| 国产精品免费看片| 国产精品欧美经典| 亚洲成av人片一区二区梦乃| 偷偷要91色婷婷| 国产精品乡下勾搭老头1| 91美女片黄在线| 欧美一级片在线看| 国产三级三级三级精品8ⅰ区| 中文字幕在线观看一区| 亚洲一区在线看| 黄色精品一二区| 91影院在线免费观看| 欧美日韩精品一二三区| 制服丝袜亚洲网站| 日韩一区国产二区欧美三区| 久久综合久久综合久久| 亚洲人快播电影网| 中文字幕在线免费不卡| 亚洲日本中文字幕区| 亚洲欧洲成人自拍| 麻豆91在线播放| 一本大道久久a久久综合婷婷| 色综合天天综合网天天狠天天| 91麻豆精品国产| 国产精品色哟哟| 日产国产欧美视频一区精品| 麻豆成人久久精品二区三区小说| 国产一区二区调教| 欧美亚洲愉拍一区二区| 久久综合九色综合欧美亚洲| 亚洲一区在线看| 精品一区二区成人精品| 日韩情涩欧美日韩视频| 日韩久久一区二区| 9久草视频在线视频精品| 中文字幕一区二区三区色视频 | 国产精品久久久久7777按摩| 九九在线精品视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品国产区一区| 亚洲精品成人在线| 国内精品不卡在线| 欧美日韩国产综合视频在线观看| 国产精品女人毛片| 精油按摩中文字幕久久| 国产成人免费高清| 欧美一区二区性放荡片| 亚洲制服欧美中文字幕中文字幕| 国产精品白丝av| 久久久高清一区二区三区| 国产在线精品不卡| 精品噜噜噜噜久久久久久久久试看| 天堂成人免费av电影一区| 在线视频欧美区| 亚洲欧美一区二区在线观看| 在线亚洲+欧美+日本专区| 99久久婷婷国产| 欧美成人video| 2023国产一二三区日本精品2022| 亚洲国产精品二十页| 麻豆精品视频在线观看| 欧美二区在线观看| 亚洲国产精品影院| 成人伦理片在线| 中文字幕欧美国产| 国产露脸91国语对白| 欧美一区二区大片| 日韩一区精品字幕| 欧美日韩一区国产| 午夜天堂影视香蕉久久| 欧美日韩美少妇| 麻豆91免费看| 日韩一区二区在线观看| 五月综合激情网| 欧美二区三区的天堂| 污片在线观看一区二区| 欧美日韩高清一区二区| 五月激情综合网| 在线播放视频一区| 日韩国产欧美在线观看| 91精品国产综合久久精品图片| 午夜不卡av在线| 5566中文字幕一区二区电影| 秋霞影院一区二区| 日韩欧美黄色影院| 国产一区二区不卡| 国产拍欧美日韩视频二区| 国产精品123| 日本一区二区三区在线观看| 成人精品电影在线观看| 亚洲欧美精品午睡沙发| 91福利在线播放| 亚洲成人免费电影| 欧美一区二区三区在| 久久精品国产99国产精品| 久久久综合精品| av在线这里只有精品| 亚洲精品中文字幕乱码三区| 欧美亚洲国产一卡| 天天操天天综合网| 精品国内片67194| 国产成人精品免费| 一区二区三区欧美视频| 欧美日韩激情一区二区三区| 久久精品在线免费观看| 日韩精品专区在线影院重磅| 91麻豆福利精品推荐| 不卡的电视剧免费网站有什么| 久久不见久久见免费视频7| 亚洲成人一区二区在线观看| 亚洲三级免费观看| 亚洲美女一区二区三区| 国产精品免费免费| 中文字幕一区二区三区四区不卡 | 大美女一区二区三区| 成人精品电影在线观看| 91麻豆免费看片| 7777精品久久久大香线蕉| 91精品国产色综合久久不卡电影 | 久久久久久黄色| 国产精品视频一区二区三区不卡| 久88久久88久久久| 538在线一区二区精品国产| 欧美探花视频资源| 欧美图片一区二区三区| 精品99999| 成人手机在线视频| 亚洲国产精品欧美一二99| 午夜免费欧美电影| 中文字幕五月欧美| 久久夜色精品国产欧美乱极品| 在线观看区一区二| 波多野结衣中文一区| 国产综合久久久久影院| 亚洲成a人v欧美综合天堂| 国产精品沙发午睡系列990531| 精品久久久久久久久久久院品网| 日本精品一区二区三区四区的功能| 国产精品88888| 青青草伊人久久| 粉嫩高潮美女一区二区三区| 欧美三级中文字幕| 亚洲视频一区二区在线| 国产精品69久久久久水密桃| 91精选在线观看| 亚洲国产精品一区二区久久| 经典三级在线一区| 欧美精品一卡两卡| 日韩电影在线看| 欧美三片在线视频观看| 亚洲欧洲日产国产综合网| 国产九色sp调教91| 五月激情综合婷婷| 亚洲成人在线网站| 欧美xxx久久| 国产麻豆精品在线| 久久精品国产第一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲自拍偷拍麻豆| 一区二区三区中文在线| 亚洲精品乱码久久久久| 亚洲日韩欧美一区二区在线| 亚洲欧美一区二区三区极速播放 | 日韩成人免费在线| 亚洲地区一二三色| 亚洲国产精品麻豆| 丝袜国产日韩另类美女| 日韩高清在线一区| 青青草成人在线观看| 免费不卡在线视频| 欧美aaaaa成人免费观看视频| 日韩影院精彩在线| 美女在线视频一区| 久久99九九99精品| 国产在线不卡一卡二卡三卡四卡| 久久99精品网久久| 丰满放荡岳乱妇91ww| 成人av电影在线播放| 日本乱人伦aⅴ精品| 欧美日韩综合在线| 3atv一区二区三区| 精品精品欲导航| 久久久精品国产免费观看同学| 国产喷白浆一区二区三区| 中文字幕一区二区三区四区不卡| 亚洲乱码日产精品bd|