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

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

?? event.c

?? libminigui-1.3.0.tar.gz。 miniGUI的庫函數源代碼!
?? C
?? 第 1 頁 / 共 2 頁
字號:
                    shift1 = make;                    break;                                    case SCANCODE_RIGHTSHIFT:                    shift2 = make;                    break;                                    case SCANCODE_LEFTALT:                    alt1 = make;                    break;                case SCANCODE_RIGHTALT:                    alt2 = make;                    break;                                }            status &= ~(MASK_KS_SHIFTKEYS);            status |= (DWORD)((capslock << 8) |                             (numlock << 7)   |                             (slock << 6)     |                             (control1 << 5)  |                             (control2 << 4)  |                             (alt1 << 3)      |                             (alt2 << 2)      |                             (shift1 << 1)    |                             (shift2));                                         // Mouse button status            if (oldbutton & IAL_MOUSE_LEFTBUTTON)                status |= KS_LEFTBUTTON;            else if (oldbutton & IAL_MOUSE_RIGHTBUTTON)                status |= KS_RIGHTBUTTON;        }        ke->status = status;#ifndef _STAND_ALONE        SHAREDRES_SHIFTSTATUS = status;#endif        memcpy (oldkeystate, keystate, nr_keys);        memcpy (&old_lwe, lwe, sizeof (LWEVENT));        return 1;    }     old_lwe.type = 0;    return 0;mouseret:    status &= ~(MASK_KS_BUTTONS);    oldbutton = button;    if (oldbutton & IAL_MOUSE_LEFTBUTTON)        status |= KS_LEFTBUTTON;    if (oldbutton & IAL_MOUSE_RIGHTBUTTON)        status |= KS_RIGHTBUTTON;    me->status = status;#ifndef _STAND_ALONE    SHAREDRES_SHIFTSTATUS = status;#endif    memcpy (&old_lwe, lwe, sizeof (LWEVENT));    return 1;}#elseBOOL GetLWEvent (int event, PLWEVENT lwe){    static int timeout_count = 0;    static LWEVENT old_lwe = {0, 0};    int nr_keys = 0;    unsigned int interval;    int button;    PMOUSEEVENT me = &(lwe->data.me);    PKEYEVENT ke = &(lwe->data.ke);    const unsigned char* keystate;    int i;    int make;       /* 0 = release, 1 = presse */    if (event & IAL_MOUSEEVENT) {        if (!IAL_UpdateMouse ())            event &= ~IAL_MOUSEEVENT;    }    if (event & IAL_KEYEVENT) {        if ((nr_keys = IAL_UpdateKeyboard ()) == 0)            event &= ~IAL_KEYEVENT;    }        if (event == 0) {        if (__mg_event_timeout.tv_sec == 0 && __mg_event_timeout.tv_usec == 0) {            // set repeat time            __mg_event_timeout.tv_sec = 0;            __mg_event_timeout.tv_usec = repeatusec;            // repeat last event            if (old_lwe.type == LWETYPE_KEY                     && old_lwe.data.ke.event == KE_KEYDOWN) {               memcpy (lwe, &old_lwe, sizeof (LWEVENT));               lwe->data.ke.status |= KE_REPEATED;               return 1;            }            if (!(old_lwe.type == LWETYPE_MOUSE                    && (old_lwe.data.me.event == ME_LEFTDOWN ||                        old_lwe.data.me.event == ME_RIGHTDOWN ||                        old_lwe.data.me.event == ME_MIDDLEDOWN))) {                // reset delay time                __mg_event_timeout.tv_sec = 0;                __mg_event_timeout.tv_usec = timeoutusec;            }            lwe->type = LWETYPE_TIMEOUT;            lwe->count = ++timeout_count;            return 1;        }        old_lwe.type = 0;        return 0;    }    timeout_count = 0;    // There was a event occurred.    if (event & IAL_MOUSEEVENT) {        lwe->type = LWETYPE_MOUSE;        if (RefreshCursor(&me->x, &me->y, &button)) {            me->event = ME_MOVED;            time1 = 0;            time2 = 0;            if (oldbutton == button)                return 1;        }           if ( !(oldbutton & IAL_MOUSE_LEFTBUTTON) &&               (button & IAL_MOUSE_LEFTBUTTON) )        {            if (time1) {                interval = __mg_timer_counter - time1;                if (interval <= dblclicktime)                    me->event = ME_LEFTDBLCLICK;                else                    me->event = ME_LEFTDOWN;                time1 = 0;            }            else {                time1 = __mg_timer_counter;                me->event = ME_LEFTDOWN;            }            goto mouseret;        }        if ( (oldbutton & IAL_MOUSE_LEFTBUTTON) &&              !(button & IAL_MOUSE_LEFTBUTTON) )        {            me->event = ME_LEFTUP;            goto mouseret;        }        if ( !(oldbutton & IAL_MOUSE_RIGHTBUTTON) &&               (button & IAL_MOUSE_RIGHTBUTTON) )        {            if (time2) {                interval = __mg_timer_counter - time2;                if (interval <= dblclicktime)                    me->event = ME_RIGHTDBLCLICK;                else                    me->event = ME_RIGHTDOWN;                time2 = 0;            }            else {                time2 = __mg_timer_counter;                me->event = ME_RIGHTDOWN;            }            goto mouseret;        }        if ( (oldbutton & IAL_MOUSE_RIGHTBUTTON) &&             !(button & IAL_MOUSE_RIGHTBUTTON) )        {            me->event = ME_RIGHTUP;            goto mouseret;        }    }    if (event & IAL_KEYEVENT) {        lwe->type = LWETYPE_KEY;        keystate = IAL_GetKeyboardState ();        for (i = 0; i < nr_keys; i++) {            if(!oldkeystate[i] && keystate[i]) {                 ke->event = KE_KEYDOWN;                 ke->scancode = i;                 olddownkey = i;                 break;            }            if(oldkeystate[i] && !keystate[i]) {                 ke->event = KE_KEYUP;                 ke->scancode = i;                 break;            }        }        if (i == nr_keys) {            ke->event = KE_KEYDOWN;            ke->scancode = olddownkey;        }                make = (ke->event == KE_KEYDOWN) ? 1 : 0;        if (i != nr_keys) {            unsigned leds;            switch (ke->scancode) {                case SCANCODE_CAPSLOCK:                    if (make && caps_off) {                        capslock = 1 - capslock;                        leds = slock | (numlock << 1) | (capslock << 2);                        IAL_SetLeds (leds);                        status = (DWORD)leds << 16;                    }                    caps_off = 1 - make;                break;                                    case SCANCODE_NUMLOCK:                    if (make && num_off) {                        numlock = 1 - numlock;                        leds = slock | (numlock << 1) | (capslock << 2);                        IAL_SetLeds (leds);                        status = (DWORD)leds << 16;                    }                    num_off = 1 - make;                break;                                case SCANCODE_SCROLLLOCK:                    if (make & slock_off) {                        slock = 1 - slock;                        leds = slock | (numlock << 1) | (capslock << 2);                        IAL_SetLeds (leds);                        status = (DWORD)leds << 16;                    }                    slock_off = 1 - make;                    break;                case SCANCODE_LEFTCONTROL:                    control1 = make;                    break;                                    case SCANCODE_RIGHTCONTROL:                    control2 = make;                    break;                                    case SCANCODE_LEFTSHIFT:                    shift1 = make;                    break;                                    case SCANCODE_RIGHTSHIFT:                    shift2 = make;                    break;                                    case SCANCODE_LEFTALT:                    alt1 = make;                    break;                case SCANCODE_RIGHTALT:                    alt2 = make;                    break;                                }            status &= ~(MASK_KS_SHIFTKEYS);            status |= (DWORD)((capslock << 8) |                             (numlock << 7)   |                             (slock << 6)     |                             (control1 << 5)  |                             (control2 << 4)  |                             (alt1 << 3)      |                             (alt2 << 2)      |                             (shift1 << 1)    |                             (shift2));                                         // Mouse button status            if (oldbutton & IAL_MOUSE_LEFTBUTTON)                status |= KS_LEFTBUTTON;            else if (oldbutton & IAL_MOUSE_RIGHTBUTTON)                status |= KS_RIGHTBUTTON;        }        ke->status = status;        memcpy (oldkeystate, keystate, nr_keys);        memcpy (&old_lwe, lwe, sizeof (LWEVENT));        __mg_event_timeout.tv_sec = 0;        __mg_event_timeout.tv_usec = timeoutusec;        return 1;    }     old_lwe.type = 0;    return 0;mouseret:    status &= ~(MASK_KS_BUTTONS);    oldbutton = button;    if (oldbutton & IAL_MOUSE_LEFTBUTTON)        status |= KS_LEFTBUTTON;    if (oldbutton & IAL_MOUSE_RIGHTBUTTON)        status |= KS_RIGHTBUTTON;    me->status = status;    memcpy (&old_lwe, lwe, sizeof (LWEVENT));    __mg_event_timeout.tv_sec = 0;    __mg_event_timeout.tv_usec = timeoutusec;    return 1;}#endifBOOL GUIAPI GetKeyStatus (UINT uKey){#if defined (_LITE_VERSION) && !defined(_STAND_ALONE)    if (!mgIsServer) {        if (uKey & 0xF000)      // this is a mouse key            return SHAREDRES_BUTTON & (uKey >> 8);        return 0;    }#endif    if (uKey & 0xF000)      // this is a mouse key        return oldbutton & (uKey >> 8);    else if (uKey <= MGUI_NR_KEYS)        return oldkeystate [uKey];    return FALSE;}DWORD GUIAPI GetShiftKeyStatus (void){#if defined (_LITE_VERSION) && !defined(_STAND_ALONE)    return SHAREDRES_SHIFTSTATUS;#else    return status;#endif}BOOL InitLWEvent (void){    GetDblclickTime ();    GetTimeout ();    if (InitIAL ())        return FALSE;    ResetMouseEvent();    ResetKeyEvent();    return TRUE;}void TerminateLWEvent (void){#if 0    ResetMouseEvent ();    ResetKeyEvent ();#endif    TerminateIAL ();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美欧美欧美欧美首页| 亚洲欧美视频一区| 亚洲欧美色综合| 麻豆久久久久久| 色婷婷久久综合| 国产午夜精品一区二区| 天天综合网 天天综合色| 国产不卡一区视频| 在线成人免费视频| 亚洲欧美激情在线| 高清不卡在线观看| 91精品国产一区二区三区| 成人免费小视频| 国产精品2024| 日韩欧美你懂的| 天天综合日日夜夜精品| av资源网一区| 国产农村妇女精品| 精品无人码麻豆乱码1区2区| 欧美午夜电影网| 椎名由奈av一区二区三区| 国内精品国产三级国产a久久| 欧美日韩久久一区二区| 综合分类小说区另类春色亚洲小说欧美| 五月天国产精品| 欧美日韩国产综合一区二区三区| 最好看的中文字幕久久| 成人av电影免费在线播放| 久久五月婷婷丁香社区| 美女网站色91| 日韩欧美一区二区在线视频| 亚洲成av人片一区二区| 欧美三级三级三级爽爽爽| 亚洲欧美另类在线| 欧美在线观看一二区| 亚洲精品成人精品456| 色噜噜狠狠成人网p站| 亚洲免费观看高清完整版在线 | 亚洲一区二区视频在线观看| 成+人+亚洲+综合天堂| 亚洲欧洲日本在线| 在线免费观看不卡av| 亚洲一区二区三区中文字幕在线| 91国产成人在线| 亚洲一区二区三区中文字幕| 欧美人妖巨大在线| 丝瓜av网站精品一区二区| 91麻豆精品国产综合久久久久久| 日韩激情视频网站| 精品国产一区二区亚洲人成毛片 | 777色狠狠一区二区三区| 午夜视频一区二区| 日韩欧美自拍偷拍| 国产精品一二三区| ...中文天堂在线一区| 欧美综合天天夜夜久久| 三级成人在线视频| www国产精品av| 99麻豆久久久国产精品免费优播| 国产精品女上位| 日本久久电影网| 天天综合天天综合色| 久久午夜羞羞影院免费观看| 91视频观看视频| 五月天亚洲婷婷| 国产三级三级三级精品8ⅰ区| 成人福利视频网站| 亚洲影院久久精品| 久久综合久久鬼色中文字| 成人av网站免费观看| 亚洲午夜三级在线| 精品国产一区久久| 91在线精品一区二区| 丝袜亚洲另类欧美| 国产精品黄色在线观看| 欧美伦理电影网| 国产91综合一区在线观看| 午夜电影网亚洲视频| 亚洲国产精品激情在线观看| 欧美丝袜丝交足nylons| 国产乱码精品1区2区3区| 一区二区三区欧美激情| xfplay精品久久| 欧美日韩一区二区在线视频| 国产精品18久久久久久久久久久久| 亚洲免费观看在线视频| 久久亚洲一级片| 欧美日本在线视频| 91欧美一区二区| 国产成人在线视频播放| 琪琪一区二区三区| 亚洲色图制服诱惑| 久久九九久久九九| 精品美女一区二区三区| 欧美日韩三级在线| 9人人澡人人爽人人精品| 蜜桃视频在线观看一区二区| 亚洲综合一区在线| 国产精品乱码一区二区三区软件 | 日韩精品欧美成人高清一区二区| 国产偷v国产偷v亚洲高清| 日韩免费电影一区| 91精品国产一区二区三区香蕉| 色综合咪咪久久| 99re热这里只有精品视频| 国产一区二区主播在线| 蜜桃av噜噜一区二区三区小说| 一区二区三区.www| 亚洲麻豆国产自偷在线| 国产精品久久久久久户外露出| 久久久久久久精| 欧美精品一区二区三区一线天视频 | 亚洲第一会所有码转帖| 亚洲日本在线看| 综合久久给合久久狠狠狠97色| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩一区二区三区免费观看| 欧美综合久久久| 99视频精品全部免费在线| 成人性视频免费网站| 成人国产精品免费观看动漫| 懂色av噜噜一区二区三区av| 国产成人精品三级| av亚洲精华国产精华| 99re这里只有精品视频首页| 色天使色偷偷av一区二区| 在线免费观看日韩欧美| 欧美三级欧美一级| 日韩精品一区二| 久久久久97国产精华液好用吗| 欧美激情一区在线| 亚洲视频每日更新| 性做久久久久久免费观看欧美| 午夜精品久久久久久久99水蜜桃 | 91成人看片片| 欧美人伦禁忌dvd放荡欲情| 91麻豆精品国产91久久久久久| 欧美电视剧免费观看| 亚洲国产精品成人综合色在线婷婷| 欧美经典三级视频一区二区三区| 国产精品乱人伦中文| 亚洲午夜在线电影| 狠狠色丁香久久婷婷综合丁香| 懂色中文一区二区在线播放| 色婷婷亚洲婷婷| 欧美一区国产二区| 久久女同精品一区二区| 亚洲女同ⅹxx女同tv| 日韩成人精品视频| 成人av影院在线| 欧美日韩精品一二三区| 久久美女艺术照精彩视频福利播放| 国产精品欧美一级免费| 婷婷久久综合九色国产成人| 国产一区二区不卡| 在线国产亚洲欧美| 久久久91精品国产一区二区精品| 亚洲精品国产一区二区精华液 | 欧美精品久久99| 欧美精品一区二区久久婷婷| 亚洲视频一二三区| 精品午夜久久福利影院| 色老汉一区二区三区| 2024国产精品| 亚洲成av人影院| 9久草视频在线视频精品| 欧美一级xxx| 18欧美亚洲精品| 国产一本一道久久香蕉| 欧美日韩精品是欧美日韩精品| 国产欧美一区视频| 日产精品久久久久久久性色| 97se亚洲国产综合自在线不卡| 日韩一区二区三区三四区视频在线观看| 国产精品色呦呦| 国内成人免费视频| 欧美精品一级二级| 国产精品另类一区| 国产最新精品精品你懂的| 欧美日韩成人综合天天影院| 国产精品国产三级国产a| 国产在线精品一区二区夜色| 精品视频一区二区三区免费| 综合av第一页| yourporn久久国产精品| 久久久国产综合精品女国产盗摄| 三级精品在线观看| 欧美日本视频在线| 亚洲一区二区三区视频在线播放| 99久久伊人精品| 国产精品久久久久久久裸模| 国内欧美视频一区二区| 精品国产一区二区三区久久影院| 日本系列欧美系列| 欧美片网站yy| 日本成人在线不卡视频| 欧美男男青年gay1069videost| 午夜精品在线视频一区| 欧美日韩精品一区二区在线播放| 亚洲精品国产高清久久伦理二区|