码迷,mamicode.com
首页 > 其他好文 > 详细

解决minigui在nvr上不支持鼠标热拔插

时间:2015-07-24 15:38:07      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

好几个月之前遇到的问题,nvr上鼠标拔下来再插进去就失效了。调试了下发现,鼠标拔出后,在nvr上,out集并不置位,但设备文件没了。

因此在每次收到鼠标事件都判断下设备文件是否存在,如果不存在就关掉套接字,让minigui在wait_event中尝试重连。

把minigui源码中src/ial/native/native.c的331~339行,替换为
if (kbddev == &kbddev_event && FD_ISSET (fd, out)){
    // FD_CLR (fd, out);
    // mousedev->Close();
    // mouse_fd = -1;
    // fprintf(stderr, "IAL Native Engine: mouse device has been disconnected.\n");
}else if (FD_ISSET (fd, in)) {
    if(access(mouse_device, F_OK) != 0)
    {
        mousedev->Close();
        mouse_fd = -1;
    }
    else
    {
        FD_CLR (fd, in);
        retvalue |= IAL_MOUSEEVENT;   
    }
}

解决minigui在nvr上不支持鼠标热拔插

标签:

原文地址:http://www.cnblogs.com/mynamepfd/p/4673468.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!