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

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

?? ps2.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 2 頁
字號:
        b = (dz1 & 0x0f) | ((s->mouse_buttons & 0x18) << 1);        ps2_queue(&s->common, b);        break;    }    /* update deltas */    s->mouse_dx -= dx1;    s->mouse_dy -= dy1;    s->mouse_dz -= dz1;}static void ps2_mouse_event(void *opaque,                            int dx, int dy, int dz, int buttons_state){    PS2MouseState *s = opaque;    /* check if deltas are recorded when disabled */    if (!(s->mouse_status & MOUSE_STATUS_ENABLED))        return;    s->mouse_dx += dx;    s->mouse_dy -= dy;    s->mouse_dz += dz;    /* XXX: SDL sometimes generates nul events: we delete them */    if (s->mouse_dx == 0 && s->mouse_dy == 0 && s->mouse_dz == 0 &&        s->mouse_buttons == buttons_state)	return;    s->mouse_buttons = buttons_state;    if (!(s->mouse_status & MOUSE_STATUS_REMOTE) &&        (s->common.queue.count < (PS2_QUEUE_SIZE - 16))) {        for(;;) {            /* if not remote, send event. Multiple events are sent if               too big deltas */            ps2_mouse_send_packet(s);            if (s->mouse_dx == 0 && s->mouse_dy == 0 && s->mouse_dz == 0)                break;        }    }}void ps2_mouse_fake_event(void *opaque){    ps2_mouse_event(opaque, 1, 0, 0, 0);}void ps2_write_mouse(void *opaque, int val){    PS2MouseState *s = (PS2MouseState *)opaque;#ifdef DEBUG_MOUSE    printf("kbd: write mouse 0x%02x\n", val);#endif    switch(s->common.write_cmd) {    default:    case -1:        /* mouse command */        if (s->mouse_wrap) {            if (val == AUX_RESET_WRAP) {                s->mouse_wrap = 0;                ps2_queue(&s->common, AUX_ACK);                return;            } else if (val != AUX_RESET) {                ps2_queue(&s->common, val);                return;            }        }        switch(val) {        case AUX_SET_SCALE11:            s->mouse_status &= ~MOUSE_STATUS_SCALE21;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_SET_SCALE21:            s->mouse_status |= MOUSE_STATUS_SCALE21;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_SET_STREAM:            s->mouse_status &= ~MOUSE_STATUS_REMOTE;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_SET_WRAP:            s->mouse_wrap = 1;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_SET_REMOTE:            s->mouse_status |= MOUSE_STATUS_REMOTE;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_GET_TYPE:            ps2_queue(&s->common, AUX_ACK);            ps2_queue(&s->common, s->mouse_type);            break;        case AUX_SET_RES:        case AUX_SET_SAMPLE:            s->common.write_cmd = val;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_GET_SCALE:            ps2_queue(&s->common, AUX_ACK);            ps2_queue(&s->common, s->mouse_status);            ps2_queue(&s->common, s->mouse_resolution);            ps2_queue(&s->common, s->mouse_sample_rate);            break;        case AUX_POLL:            ps2_queue(&s->common, AUX_ACK);            ps2_mouse_send_packet(s);            break;        case AUX_ENABLE_DEV:            s->mouse_status |= MOUSE_STATUS_ENABLED;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_DISABLE_DEV:            s->mouse_status &= ~MOUSE_STATUS_ENABLED;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_SET_DEFAULT:            s->mouse_sample_rate = 100;            s->mouse_resolution = 2;            s->mouse_status = 0;            ps2_queue(&s->common, AUX_ACK);            break;        case AUX_RESET:            s->mouse_sample_rate = 100;            s->mouse_resolution = 2;            s->mouse_status = 0;            s->mouse_type = 0;            ps2_queue(&s->common, AUX_ACK);            ps2_queue(&s->common, 0xaa);            ps2_queue(&s->common, s->mouse_type);            break;        default:            break;        }        break;    case AUX_SET_SAMPLE:        s->mouse_sample_rate = val;        /* detect IMPS/2 or IMEX */        switch(s->mouse_detect_state) {        default:        case 0:            if (val == 200)                s->mouse_detect_state = 1;            break;        case 1:            if (val == 100)                s->mouse_detect_state = 2;            else if (val == 200)                s->mouse_detect_state = 3;            else                s->mouse_detect_state = 0;            break;        case 2:            if (val == 80)                s->mouse_type = 3; /* IMPS/2 */            s->mouse_detect_state = 0;            break;        case 3:            if (val == 80)                s->mouse_type = 4; /* IMEX */            s->mouse_detect_state = 0;            break;        }        ps2_queue(&s->common, AUX_ACK);        s->common.write_cmd = -1;        break;    case AUX_SET_RES:        s->mouse_resolution = val;        ps2_queue(&s->common, AUX_ACK);        s->common.write_cmd = -1;        break;    }}static void ps2_reset(void *opaque){    PS2State *s = (PS2State *)opaque;    PS2Queue *q;    s->write_cmd = -1;    q = &s->queue;    q->rptr = 0;    q->wptr = 0;    q->count = 0;}static void ps2_common_save (QEMUFile *f, PS2State *s){    qemu_put_be32 (f, s->write_cmd);    qemu_put_be32 (f, s->queue.rptr);    qemu_put_be32 (f, s->queue.wptr);    qemu_put_be32 (f, s->queue.count);    qemu_put_buffer (f, s->queue.data, sizeof (s->queue.data));}static void ps2_common_load (QEMUFile *f, PS2State *s){    s->write_cmd=qemu_get_be32 (f);    s->queue.rptr=qemu_get_be32 (f);    s->queue.wptr=qemu_get_be32 (f);    s->queue.count=qemu_get_be32 (f);    qemu_get_buffer (f, s->queue.data, sizeof (s->queue.data));}static void ps2_kbd_save(QEMUFile* f, void* opaque){    PS2KbdState *s = (PS2KbdState*)opaque;    ps2_common_save (f, &s->common);    qemu_put_be32(f, s->scan_enabled);    qemu_put_be32(f, s->translate);}static void ps2_mouse_save(QEMUFile* f, void* opaque){    PS2MouseState *s = (PS2MouseState*)opaque;    ps2_common_save (f, &s->common);    qemu_put_8s(f, &s->mouse_status);    qemu_put_8s(f, &s->mouse_resolution);    qemu_put_8s(f, &s->mouse_sample_rate);    qemu_put_8s(f, &s->mouse_wrap);    qemu_put_8s(f, &s->mouse_type);    qemu_put_8s(f, &s->mouse_detect_state);    qemu_put_be32(f, s->mouse_dx);    qemu_put_be32(f, s->mouse_dy);    qemu_put_be32(f, s->mouse_dz);    qemu_put_8s(f, &s->mouse_buttons);}static int ps2_kbd_load(QEMUFile* f, void* opaque, int version_id){    PS2KbdState *s = (PS2KbdState*)opaque;    if (version_id != 2)        return -EINVAL;    ps2_common_load (f, &s->common);    s->scan_enabled=qemu_get_be32(f);    s->translate=qemu_get_be32(f);    return 0;}static int ps2_mouse_load(QEMUFile* f, void* opaque, int version_id){    PS2MouseState *s = (PS2MouseState*)opaque;    if (version_id != 2)        return -EINVAL;    ps2_common_load (f, &s->common);    qemu_get_8s(f, &s->mouse_status);    qemu_get_8s(f, &s->mouse_resolution);    qemu_get_8s(f, &s->mouse_sample_rate);    qemu_get_8s(f, &s->mouse_wrap);    qemu_get_8s(f, &s->mouse_type);    qemu_get_8s(f, &s->mouse_detect_state);    s->mouse_dx=qemu_get_be32(f);    s->mouse_dy=qemu_get_be32(f);    s->mouse_dz=qemu_get_be32(f);    qemu_get_8s(f, &s->mouse_buttons);    return 0;}void *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg){    PS2KbdState *s = (PS2KbdState *)qemu_mallocz(sizeof(PS2KbdState));    s->common.update_irq = update_irq;    s->common.update_arg = update_arg;    ps2_reset(&s->common);    register_savevm("ps2kbd", 0, 2, ps2_kbd_save, ps2_kbd_load, s);    qemu_add_kbd_event_handler(ps2_put_keycode, s);    qemu_register_reset(ps2_reset, &s->common);    return s;}void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg){    PS2MouseState *s = (PS2MouseState *)qemu_mallocz(sizeof(PS2MouseState));    s->common.update_irq = update_irq;    s->common.update_arg = update_arg;    ps2_reset(&s->common);    register_savevm("ps2mouse", 0, 2, ps2_mouse_save, ps2_mouse_load, s);    qemu_add_mouse_event_handler(ps2_mouse_event, s, 0, "QEMU PS/2 Mouse");    qemu_register_reset(ps2_reset, &s->common);    return s;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区综合| 国产精品区一区二区三区| 一本色道久久加勒比精品| 精品一区二区影视| 久草热8精品视频在线观看| 免播放器亚洲一区| 精品一区二区三区的国产在线播放| 午夜精品视频在线观看| 男人操女人的视频在线观看欧美| 天天色综合天天| 久久精品国产99国产| 国模娜娜一区二区三区| 国产黑丝在线一区二区三区| 国产乱码一区二区三区| 成人h动漫精品一区二区| 91天堂素人约啪| 777午夜精品免费视频| 日韩一区二区三区三四区视频在线观看 | 日本视频在线一区| 久久精品久久久精品美女| 久久精品国产精品亚洲红杏| 高清久久久久久| 欧美性做爰猛烈叫床潮| 精品欧美一区二区久久| 中文久久乱码一区二区| 亚洲午夜在线观看视频在线| 美国精品在线观看| www.av精品| 这里只有精品免费| 国产精品欧美精品| 日韩福利视频网| a级精品国产片在线观看| 欧美精品九九99久久| 久久理论电影网| 一区二区视频在线| 另类小说一区二区三区| 99视频在线观看一区三区| 欧美日韩精品久久久| 欧美激情一区三区| 日本欧美大码aⅴ在线播放| 波多野结衣中文一区| 91精品国产综合久久小美女| 国产精品美女久久久久久2018| 亚洲一区在线免费观看| 国产sm精品调教视频网站| 欧美日韩成人一区| 亚洲欧美激情一区二区| 国产精品乡下勾搭老头1| 欧美日韩视频第一区| 中文字幕中文字幕一区| 久久精品国产澳门| 欧美日韩精品一区二区三区四区 | 国产精品一区二区果冻传媒| 欧美日韩免费一区二区三区视频| 中文字幕第一区二区| 免费看日韩a级影片| 日本高清免费不卡视频| 国产精品视频一二| 国产一区日韩二区欧美三区| 欧美一区二区三区四区视频| 一色屋精品亚洲香蕉网站| 国产精品一线二线三线精华| 欧美人狂配大交3d怪物一区| 夜夜爽夜夜爽精品视频| 99久久99久久精品国产片果冻| 久久综合久久综合亚洲| 久久99国产精品免费网站| 在线电影欧美成精品| 亚洲va韩国va欧美va精品| 欧美亚男人的天堂| 亚洲高清视频在线| 欧美日本一区二区三区四区| 亚洲精品高清在线| 精品视频免费在线| 午夜伊人狠狠久久| 日韩一区二区麻豆国产| 欧美aaa在线| 精品欧美久久久| 国产一区二三区| 欧美精品一区二区三区很污很色的| 开心九九激情九九欧美日韩精美视频电影 | 亚洲综合色成人| 欧美午夜不卡视频| 日韩国产在线一| 欧美一级电影网站| 国内精品免费**视频| 久久亚洲精华国产精华液 | 国产乱人伦偷精品视频免下载| 欧美tk—视频vk| 国产精品12区| 国产精品高潮久久久久无| 94-欧美-setu| 亚洲成av人片在线观看无码| 欧美肥妇bbw| 国产精品一区二区三区网站| 中文字幕一区不卡| 欧美日韩一区三区| 狠狠色狠狠色合久久伊人| 欧美国产日韩一二三区| 色婷婷一区二区| 久久国产视频网| 国产精品久久久久久亚洲伦| 欧美色精品天天在线观看视频| 日本强好片久久久久久aaa| 久久久精品黄色| 在线看日本不卡| 黑人巨大精品欧美一区| 亚洲图片激情小说| 欧美草草影院在线视频| 成人18视频日本| 日本vs亚洲vs韩国一区三区二区| 国产欧美综合在线| 欧美精品久久天天躁| 成人综合在线视频| 日韩二区在线观看| 亚洲柠檬福利资源导航| 精品电影一区二区三区| 色8久久精品久久久久久蜜| 精品中文av资源站在线观看| 椎名由奈av一区二区三区| 欧美zozo另类异族| 欧美日高清视频| 亚洲成人av一区二区三区| 久久69国产一区二区蜜臀| 欧美日韩精品一区二区三区蜜桃| 日韩毛片精品高清免费| 欧美精品九九99久久| 国产91丝袜在线播放九色| 日韩电影在线免费看| 亚洲日本va在线观看| 亚洲国产精品精华液2区45| 337p亚洲精品色噜噜噜| 亚洲制服欧美中文字幕中文字幕| 日韩三级av在线播放| 欧美日韩免费在线视频| 欧美亚洲国产一卡| 99久久99久久免费精品蜜臀| 国产91精品一区二区麻豆网站 | 亚洲欧美在线高清| 久久久噜噜噜久噜久久综合| 日韩三级视频在线看| 欧美日韩电影在线| 91老师国产黑色丝袜在线| 麻豆国产精品一区二区三区 | 国产在线视频一区二区| 婷婷亚洲久悠悠色悠在线播放| 亚洲黄色小说网站| 欧美va亚洲va国产综合| 欧美亚洲国产bt| 成人涩涩免费视频| 成人av电影在线网| 91美女蜜桃在线| 暴力调教一区二区三区| 91伊人久久大香线蕉| 白白色亚洲国产精品| 成人美女在线视频| 91在线小视频| 欧美色图一区二区三区| 欧美高清精品3d| 日韩一区二区三| 国产欧美日韩另类一区| 国产精品国模大尺度视频| 亚洲日本va午夜在线电影| 亚洲综合图片区| 青娱乐精品在线视频| 久草精品在线观看| 本田岬高潮一区二区三区| 日本韩国精品一区二区在线观看| 欧美日韩免费一区二区三区 | 国产一区啦啦啦在线观看| 国产91精品欧美| 91福利区一区二区三区| 欧美吞精做爰啪啪高潮| 精品第一国产综合精品aⅴ| 中国av一区二区三区| 亚洲一二三专区| 久久国产福利国产秒拍| 成人午夜激情在线| 欧美日韩亚洲丝袜制服| 久久婷婷国产综合国色天香 | 亚洲一区二区不卡免费| 日韩成人精品视频| 寂寞少妇一区二区三区| 成人动漫在线一区| 狠狠色狠狠色综合| 欧美性猛交xxxxxxxx| 久久色在线视频| 亚洲午夜电影网| 一区二区三区日韩| 日本三级亚洲精品| 色综合视频在线观看| 欧美精品一区二区久久婷婷| 亚洲免费观看高清完整版在线观看 | 国产成人精品免费| 久久av老司机精品网站导航| 91黄色激情网站| 久久综合九色综合97婷婷女人| 久久久91精品国产一区二区三区| 欧美自拍偷拍午夜视频| 精品国产亚洲在线|