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

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

?? uglpckbd.c

?? zinc60t22.tar.gz:zinc在tornado2.2.x下的補(bǔ)丁
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* uglPcKbd.c - PC (AT) type keyboard device support *//* Copyright 1999-2003 Wind River Systems, Inc. All Rights Reserved *//*modification history--------------------01l,18jun03,jlb  Updated for Tornado 2.201k,16nov01,msr  Fixed SPR #70054: formatter loses key events.01j,25jul01,gav  Back out AltGr.01i,25jul01,gav  Added AltGr support to keyboard mapping.22dec00,pkr	Added handling of AltGr on german keyboard01h,01feb01,jlb  Do not convert key to control value when ctrl mod present (Java)01g,10nov00,jlb  Do not compile keyboard mappings when config changes01f,09nov00,jlb  Fixed num lock processing (SPR 62143)01e,23oct00,wdf  Changed copyright date.01d,24feb00,msr  Updated for event service API.01c,18jan00,jlb  Modified to have the init function to add the device01b,12jan00,jlb  Set the virtual console number01a,16dec99,jlb  writtenDESCRIPTIONThis file provides the PC At type keyboard protocol support for UGL.  Ithas a single global entry point <uglPcKbdInit> which initializes thePC keyboard.  The initialization function opens the specifiedI/O device, sets it to the proper mode, and registers the device formatter, control, and destroy functions.This keyboard handler uses a keyboard driver to control the physicaldevice.  The keyboard must be either a PC At 101/102 keyboard ora PS2 type keyboard that is set up to operate with scan code set 1.*/#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <ctype.h>#include <ioLib.h>#include <stdio.h>#include <drv/serial/pcConsole.h>#include <ugl/uglos.h>#include <ugl/uglmem.h>#include <ugl/uglinput.h>#include <ugl/uglevent.h>#include <ugl/uglucode.h>#include <ugl/driver/keyboard/uglpckbd.h>/* Forward references */UGL_LOCAL UGL_STATUS uglPcKbdInfo (UGL_INPUT_DEVICE * pDevice,                                   UGL_DEVICE_REQ  devRequest, void * arg);UGL_LOCAL UGL_STATUS uglPcKbdDestroy (UGL_INPUT_DEVICE * pDevice);UGL_LOCAL UGL_STATUS uglPcKbdFormatter (UGL_INPUT_DEVICE * pDevice,                                        UGL_EVENT *  pEvent);UGL_LOCAL UGL_UINT16 MapKeyValue(UGL_UINT16 keyValue, UGL_UINT32 modifiers);/******************************************************************************** uglPcKbdInit - initialize the PC AT keyboard** This routine initializes the PC keyboard for operation with UGL.  The* keyboard attached to the device <pDevName> is opened and set in the* proper mode to function with UGL.  It creates a device entry for the * input sercice <inSvcId>.** After the proper mode is set it fills in the formatter, control, and* destroy function pointers in the device descriptor and allocates device * specific control data.* * RETURNS: input device identifier assigned to keyboard when success;*          otherwise UGL_NULL** ERRNO: N/A** SEE ALSO: uglPcKbdDestroy()*/UGL_INPUT_DEVICE_ID uglPcKbdInit    (    char *                  pDevName,           /* name of the device */    UGL_EVENT_SERVICE_ID    eventServiceId      /* event service */    )    {            UGL_PC_KEYBOARD * pKbdData;    char * tmp;    int virtualConsole;    UGL_INPUT_DEVICE * pDevice;            /* Create the device */    pDevice = uglInputDeviceAdd (eventServiceId);    if (pDevice == UGL_NULL)        return (UGL_NULL);        /* open the device */    pDevice->fd = open (pDevName, 0, 0);    if (pDevice->fd >= 0)         {        if ((tmp = rindex(pDevName,(int)'/')) != 0)            {            /* set the proper virtual console as the active */            sscanf(tmp+1,"%d",&virtualConsole);            ioctl(pDevice->fd, CONIOCURCONSOLE,virtualConsole);            }                /* set the device type as a keyboard */        pDevice->deviceType = UGL_DEVICE_KEYBOARD;        /* device was opened, initialize */        ioctl (pDevice->fd, FIOSETOPTIONS, OPT_RAW);        ioctl (pDevice->fd, FIOFLUSH,0);        ioctl (pDevice->fd, CONIOCONVERTSCAN, FALSE);        /* set up function pointers for device */        pDevice->format = uglPcKbdFormatter;        pDevice->destroy = uglPcKbdDestroy;        pDevice->info = uglPcKbdInfo;        /* set device local data */        pKbdData = pDevice->data = UGL_MALLOC (sizeof(UGL_PC_KEYBOARD));        pKbdData->ledValue = 0;        pKbdData->extendedKey = FALSE;        pKbdData->ledControl = TRUE;        ioctl (pDevice->fd, CONIOLEDS, pKbdData->ledValue);        }    else        return (UGL_NULL);    return ((UGL_INPUT_DEVICE_ID) pDevice);    }/******************************************************************************** uglPcKbdPtrInfo - control the keyboard operations** This routine obtains information from the device and sets new information* within the device.   For the PC keyboard, the following operations are * provided:**\is*\i LED mode (UGL_DEVICE_SET_LED_CONTROL)*   Allow an application to control the LED state*\i set LED states (UGL_DEVICE_SET_LED)*   Turn on/off an LED*\i get LED states (UGL_DEVICE_GET_LED)*   Get the current setting of the keyboard LEDs*\ie** RETURNS: UGL_STATUS_OK** ERRNO: N/A** SEE ALSO: uglPcKbdInit()**/UGL_LOCAL UGL_STATUS uglPcKbdInfo    (    UGL_INPUT_DEVICE * pDevice,      /* device control structure */    UGL_DEVICE_REQ     request,      /* request to perform */    void *             arg           /* argument for request */    )    {    UGL_PC_KEYBOARD * pKbdData = (UGL_PC_KEYBOARD *) pDevice->data;    switch (request)         {        case UGL_DEVICE_SET_LED_CONTROL:    /* set app/LED control */            pKbdData->ledControl = (UGL_BOOL)arg;            break;        case UGL_DEVICE_SET_LED:            /* set LEDs */            pKbdData->ledValue = (UGL_UINT32) arg;            ioctl (pDevice->fd, CONIOLEDS, (int) arg);            break;        case UGL_DEVICE_GET_LED:            /* get state of LEDs */            *(int *)arg = pKbdData->ledValue;            break;        default:            break;        }    return UGL_STATUS_OK;    }/******************************************************************************** uglPcKbdDestroy - destory the device** This device terminates operations on a PC (AT) type keyboard.  It closes the* device and frees all resources.** RETURNS: UGL_STATUS_OK, or UGL_STATUS_ERROR if the operation fails.** ERRNO: N/A** SEE ALSO: uglPcKbdInit()**/UGL_LOCAL UGL_STATUS uglPcKbdDestroy    (    UGL_INPUT_DEVICE * pDevice      /* device control structure */    )    {    /* close the device */    close (pDevice->fd);    /* free local storage */    UGL_FREE (pDevice->data);    return UGL_STATUS_OK;    }/******************************************************************************** uglPcKbdFormatter - format keyboard input data to input event** This routine handles formatting of input device data into an appropriate* event. The scan code from the keyboard is read and processed to * approporately update state modifiers (ALT, CTRL, SHIFT) and update LED* states. An input event is generated that contains the updated modifier* states, the scan code, and the corresponding Unicode value.** RETURNS:  UGL_STATUS_OK, when a packet was recieved*   UGL_STATUS_DROP** ERRNO: N/A** SEE ALSO: uglMsPtrInit()*/UGL_LOCAL UGL_STATUS uglPcKbdFormatter    (        UGL_INPUT_DEVICE * pDevice,         /* device info */    UGL_EVENT *  pEvent                 /* event to build */    )    {    UGL_INPUT_EVENT * pInputEvent = (UGL_INPUT_EVENT *)pEvent;    UGL_BOOL    keyDown;    UGL_UINT32  modifiers = 0;    UGL_UINT32  newLedValue;    unsigned short scanCode = 0;    unsigned char atScanCode;    int readCnt = 1;    UGL_STATUS status = UGL_STATUS_DROP;    UGL_PC_KEYBOARD * pKbdData = (UGL_PC_KEYBOARD *) pDevice->data;    UGL_EVENT_SERVICE * pService = pDevice->pService;    /* Get data until no more data is present */    while (readCnt != 0)         {        ioctl (pDevice->fd, FIONREAD, (int) &readCnt);        if (readCnt > 0)             readCnt = read(pDevice->fd, &atScanCode, 1);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人h网站| 欧美午夜电影一区| 亚洲综合丝袜美腿| 久久伊99综合婷婷久久伊| 色菇凉天天综合网| 国产精品伊人色| 婷婷激情综合网| **网站欧美大片在线观看| 日韩精品一区二区三区老鸭窝 | 亚洲午夜电影在线| 久久精品视频免费| 欧美大肚乱孕交hd孕妇| 欧美色综合天天久久综合精品| 国产乱子伦视频一区二区三区| 日韩高清国产一区在线| 一区二区在线观看视频在线观看| 久久精品夜色噜噜亚洲a∨| 91精品国产综合久久久久久久| 91黄色小视频| 97国产精品videossex| 国产成人在线观看免费网站| 麻豆91精品91久久久的内涵| 视频在线在亚洲| 夜夜夜精品看看| 日韩美女精品在线| 国产精品女主播av| 国产亚洲1区2区3区| 精品久久免费看| 日韩女优视频免费观看| 91精品久久久久久蜜臀| 欧美日韩一区三区| 欧美怡红院视频| 色视频成人在线观看免| 91女人视频在线观看| 99re8在线精品视频免费播放| 国产成人av电影在线| 国产91精品免费| 国产成人夜色高潮福利影视| 国产乱人伦偷精品视频免下载| 国产综合成人久久大片91| 精品一区二区三区在线观看国产| 男女视频一区二区| 国内国产精品久久| 丁香桃色午夜亚洲一区二区三区| 国产精品白丝jk黑袜喷水| 高清久久久久久| 99热国产精品| 在线观看日韩一区| 欧美精选午夜久久久乱码6080| 91精品在线免费观看| 日韩精品一区二区三区三区免费 | 亚洲摸摸操操av| 一区二区三区四区国产精品| 亚洲午夜精品网| 丝袜美腿一区二区三区| 久久99日本精品| 国产精品99久久久久久似苏梦涵| 成人天堂资源www在线| 91免费版pro下载短视频| 色94色欧美sute亚洲线路一久| 欧美三级午夜理伦三级中视频| 欧美一区二区三级| 久久在线观看免费| 一区二区三区免费网站| 调教+趴+乳夹+国产+精品| 免费成人在线视频观看| 国产精品一二二区| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区免费在线看| 久久尤物电影视频在线观看| 亚洲欧美日韩国产成人精品影院 | 亚洲gay无套男同| 蓝色福利精品导航| 99久久婷婷国产综合精品电影| 欧美日韩高清影院| 国产日韩欧美高清在线| 亚洲你懂的在线视频| 天天色天天操综合| 成人精品鲁一区一区二区| 欧美性大战久久久| 久久久久久久久蜜桃| 亚洲综合一区二区三区| 国产中文字幕精品| 欧美曰成人黄网| 久久影院视频免费| 亚欧色一区w666天堂| 国产传媒日韩欧美成人| 91福利视频久久久久| 久久综合九色综合97婷婷 | 亚洲精品乱码久久久久久黑人| 日本91福利区| 色综合一个色综合亚洲| 精品国产精品网麻豆系列| 一区二区三区四区av| 韩国精品主播一区二区在线观看 | 欧美日韩高清一区二区| 国产精品福利av| 精品影视av免费| 欧美优质美女网站| 亚洲四区在线观看| 国产乱码精品一区二区三区忘忧草 | 欧美成人r级一区二区三区| 亚洲色图视频网站| 国产一区二区三区免费观看| 欧美日韩亚洲丝袜制服| 亚洲视频精选在线| 国产黄色精品视频| 欧美大度的电影原声| 香蕉久久夜色精品国产使用方法| av欧美精品.com| 久久婷婷国产综合国色天香| 亚洲第一搞黄网站| 日本精品裸体写真集在线观看| 久久丝袜美腿综合| 久久99精品久久久久久| 91精品国产91久久综合桃花| 亚洲综合区在线| 色丁香久综合在线久综合在线观看| 国产精品每日更新| 国产精品自拍在线| 精品国产乱码久久久久久久久 | 亚洲精品视频在线观看网站| 成人一区二区三区视频在线观看 | 成人a区在线观看| 中文无字幕一区二区三区 | 久久精品国产亚洲一区二区三区| 欧美日韩精品综合在线| 亚洲高清不卡在线| 欧美视频在线一区二区三区| 亚洲理论在线观看| 欧美主播一区二区三区美女| 亚洲黄色尤物视频| 日本高清不卡一区| 亚洲一卡二卡三卡四卡无卡久久 | 欧美不卡激情三级在线观看| 男人操女人的视频在线观看欧美| 777午夜精品视频在线播放| 日韩影院免费视频| 欧美一卡2卡三卡4卡5免费| 日韩精品色哟哟| 欧美一二三四区在线| 国模大尺度一区二区三区| 久久久久久一二三区| 成人视屏免费看| 亚洲日本一区二区三区| 欧美系列在线观看| 日韩福利视频网| 精品国产污污免费网站入口 | 国产精品亚洲а∨天堂免在线| 国产精品污污网站在线观看| 成人动漫视频在线| 亚洲国产精品久久人人爱蜜臀| 制服丝袜激情欧洲亚洲| 极品少妇xxxx精品少妇偷拍 | 欧美国产乱子伦 | 色国产精品一区在线观看| 亚洲国产欧美日韩另类综合| 欧美顶级少妇做爰| 国产揄拍国内精品对白| 亚洲色图色小说| 91精品蜜臀在线一区尤物| 国产精品中文欧美| 怡红院av一区二区三区| 欧美一级在线视频| 粉嫩av一区二区三区粉嫩| 一区二区在线看| 亚洲精品在线免费播放| 成人av在线影院| 亚洲va欧美va国产va天堂影院| 精品国产电影一区二区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久久久九九视频| 91久久香蕉国产日韩欧美9色| 日本不卡高清视频| 国产精品女同互慰在线看| 欧美日韩国产一区| 国产99久久久国产精品免费看| 夜夜精品视频一区二区 | 亚洲一区二区av在线| 久久久久久久性| 欧美色区777第一页| 国产高清一区日本| 亚洲高清不卡在线观看| 日本一区二区三区dvd视频在线| 欧美视频中文字幕| 国产成都精品91一区二区三| 午夜精品aaa| 中文字幕免费在线观看视频一区| 欧美日韩国产欧美日美国产精品| 国产一区二三区| 午夜亚洲国产au精品一区二区| 国产亚洲欧美日韩在线一区| 在线观看日韩一区| 成人黄色av电影| 精品一区在线看| 亚洲不卡在线观看| 亚洲欧美电影院| 国产亚洲欧美日韩日本| 欧美一级片免费看| 欧美亚洲一区三区|