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

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

?? uglpckbd.c

?? windriver_VxWorks.zinc60t22 zin6.0 for tornado 2.2 patch
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品视频yy9299一区| 调教+趴+乳夹+国产+精品| 另类小说色综合网站| 欧美日韩国产免费| 亚洲欧洲另类国产综合| av欧美精品.com| 1024成人网| 欧美午夜影院一区| 婷婷开心激情综合| 欧美xxxxx牲另类人与| 精品亚洲成a人| 中文在线资源观看网站视频免费不卡 | 国产精品77777| 精品国产一区二区国模嫣然| 激情六月婷婷久久| 日韩三级精品电影久久久| 亚洲欧美在线视频观看| 欧美伊人久久大香线蕉综合69| 亚洲高清视频中文字幕| 日韩写真欧美这视频| 久草中文综合在线| 欧美高清在线一区二区| 在线亚洲人成电影网站色www| 天天色综合成人网| 久久一二三国产| 91免费版在线| 免费精品视频在线| 欧美韩日一区二区三区四区| 色噜噜狠狠色综合欧洲selulu| 欧美mv和日韩mv国产网站| 国产精品白丝jk白祙喷水网站| 成人欧美一区二区三区小说| 欧美剧情电影在线观看完整版免费励志电影| 美女网站一区二区| 国产精品久久一级| 欧美午夜一区二区三区免费大片| 久久99精品久久只有精品| 一级日本不卡的影视| 欧美一区二区三区播放老司机| 成熟亚洲日本毛茸茸凸凹| 亚洲成av人片观看| 国产精品久久久久三级| 欧美一区二区网站| 色综合久久88色综合天天| 极品少妇一区二区| 一二三区精品视频| 国产午夜精品久久久久久久 | 国产欧美视频一区二区| 欧美日韩一区中文字幕| www.亚洲精品| 国产真实乱对白精彩久久| 一级特黄大欧美久久久| 色噜噜狠狠色综合中国| 国产丶欧美丶日本不卡视频| 日韩精品国产精品| 一区二区三区.www| 亚洲欧洲成人精品av97| 国产日产欧美一区二区三区| 日韩一区二区中文字幕| 精品久久久久99| jlzzjlzz亚洲女人18| 精品一区二区综合| 免费在线观看视频一区| 亚洲成年人影院| 亚洲黄色尤物视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美精品一区二区三区视频| 日韩一区二区精品在线观看| 欧美日韩国产精选| 欧美日韩卡一卡二| 欧美日韩免费观看一区三区| 色猫猫国产区一区二在线视频| aaa欧美色吧激情视频| 国产91色综合久久免费分享| 国产91精品一区二区麻豆网站| 国产麻豆视频一区| 久久视频一区二区| 久久婷婷国产综合国色天香| 精品国产99国产精品| 精品国产区一区| 久久综合色婷婷| 国产偷国产偷亚洲高清人白洁| 久久久国产一区二区三区四区小说 | 欧美大片在线观看一区| 欧美日韩国产123区| 欧美精品第1页| 91精品婷婷国产综合久久性色| 91麻豆精品国产91久久久资源速度| 欧美亚一区二区| 欧美日韩的一区二区| 欧美一卡2卡三卡4卡5免费| 日韩欧美激情一区| 欧美成人一区二区三区| 久久久精品综合| 国产精品美女久久久久aⅴ| ㊣最新国产の精品bt伙计久久| 亚洲欧美日韩国产一区二区三区| 一区二区国产盗摄色噜噜| 7777女厕盗摄久久久| 欧美mv和日韩mv国产网站| 国产精品午夜久久| 亚洲美女屁股眼交| 日本三级亚洲精品| 国产福利电影一区二区三区| 99久久99久久综合| 欧美日韩精品一区二区三区| 日韩欧美你懂的| 亚洲伦在线观看| 亚洲小说欧美激情另类| 免费观看一级欧美片| 国产aⅴ综合色| 欧美午夜电影网| 精品国产欧美一区二区| 国产精品不卡一区| 日韩精品久久理论片| 床上的激情91.| 5566中文字幕一区二区电影| 久久奇米777| 亚洲精品中文字幕乱码三区| 国产一区二区三区在线观看精品| 婷婷综合另类小说色区| 国产伦精品一区二区三区在线观看| 成人黄色小视频在线观看| 欧美三级电影精品| 国产女主播一区| 欧美一级片在线| 亚洲私人黄色宅男| 另类欧美日韩国产在线| 91在线视频在线| 欧美va亚洲va国产综合| 樱桃国产成人精品视频| 国产乱一区二区| 欧美日韩高清一区二区三区| 韩国av一区二区| 日本系列欧美系列| 99精品久久99久久久久| 欧美mv日韩mv国产网站app| 一区二区免费看| av资源站一区| 2020国产精品久久精品美国| 亚洲成人自拍偷拍| av在线播放成人| 久久日韩粉嫩一区二区三区| 婷婷综合在线观看| 在线影视一区二区三区| 国产精品国产三级国产a| 久久99精品久久久久久久久久久久| 欧美视频一区二区三区四区| 国产精品久久久久久久久久免费看 | 欧美美女bb生活片| 国产精品久99| 亚洲青青青在线视频| 国产精品主播直播| 日韩欧美一二三| 日韩成人伦理电影在线观看| 在线亚洲精品福利网址导航| 欧美一级黄色片| 人禽交欧美网站| 欧美日韩小视频| 亚洲福利视频一区| 国产精品美日韩| 亚洲人成网站精品片在线观看| 成人18精品视频| 中文字幕欧美三区| 国产大片一区二区| 久久免费国产精品 | 久88久久88久久久| 91麻豆精品国产91久久久久久| 亚洲线精品一区二区三区 | 成人在线视频一区| 国产亚洲污的网站| 丁香五精品蜜臀久久久久99网站 | 久久国产麻豆精品| 欧美不卡123| 国产精品1区2区3区在线观看| 久久久国产午夜精品| 国产日韩欧美精品电影三级在线| 国内偷窥港台综合视频在线播放| 精品国产欧美一区二区| 国产在线精品一区二区三区不卡| 精品国产污污免费网站入口| 国产乱人伦偷精品视频免下载| 国产欧美日韩在线| 成人av在线影院| 亚洲乱码国产乱码精品精小说| 精品国产一区二区三区忘忧草| 亚洲自拍偷拍麻豆| 欧美猛男gaygay网站| 精品伊人久久久久7777人| 国产欧美精品一区二区色综合| 丰满亚洲少妇av| 一区二区三区四区精品在线视频| 国产午夜精品久久久久久久 | 欧洲一区二区av| 视频一区视频二区中文| 精品欧美一区二区三区精品久久| 国产精品白丝av| 一区二区三区成人| 欧美大胆一级视频| 成人动漫一区二区在线|