WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-05-03 12:23:15

ffplay
会员
注册时间: 2019-08-31
累计积分: 88

有没有熟悉minigui的前辈指教一下如何使用自定义的按键,不用键盘,我想通过自己的实体按键去控制gui

目前按键识别没问题,不知道怎么加入消息队列中处理

离线

#2 2020-05-03 15:04:17

ffplay
会员
注册时间: 2019-08-31
累计积分: 88

Re: 有没有熟悉minigui的前辈指教一下如何使用自定义的按键,不用键盘,我想通过自己的实体按键去控制gui

case MSG_TIMER:
        if(wParam == _ID_TIMER)
        {
            //hdc=GetClientDC(hWnd);
            SelectFont(hdc,logfont_rbf_gb16_song);;
            SetBkColor (hdc, PIXEL_black );
            SetBkMode( hdc,BM_TRANSPARENT);
            SetTextColor (hdc, PIXEL_lightwhite);
            SetDlgItemText (hWnd, _ID_TIME_STATIC, GetTime (psTime));
            SetDlgItemText (hWnd, _ID_DATE_STATIC, GetDate(psDate));
            int keys_fd;                                                    
            struct input_event key_event;
            keys_fd = open(DEV_PATH, O_RDONLY);
   
            if(keys_fd <= 0)
            {
                printf("open /dev/input/event0 device error!\n");
                return -1;
            }
            else 
            printf("open /dev/input/event0 device successfuly.\n");
       
        if(read(keys_fd, &key_event, sizeof(key_event))==sizeof(key_event))
            {
                if(key_event.type==EV_KEY && key_event.value==EV_PRESS)
                {
                    printf("\ntplayerdemo_key#");   
                    switch(key_event.code)
                {
                    case VOL_UP:
                        tplayer_setvolume(20);
                        break;
                    case VOL_DOWN:
                        tplayer_setvolume(0);
                        break;
                    default:    break;
                }
                }
            }

            //ReleaseDC(hdc);
        }
在定时器中加了按键识别,read调用是会阻塞吗

离线

#3 2020-05-03 15:10:41

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,392

Re: 有没有熟悉minigui的前辈指教一下如何使用自定义的按键,不用键盘,我想通过自己的实体按键去控制gui

默认是以阻塞的方式open设备的, 你可以用非阻塞(O_NONBLOCK)的方式:

https://stackoverflow.com/questions/5616092/non-blocking-call-for-reading-descriptor

离线

#4 2020-05-21 10:58:37

ffplay
会员
注册时间: 2019-08-31
累计积分: 88

Re: 有没有熟悉minigui的前辈指教一下如何使用自定义的按键,不用键盘,我想通过自己的实体按键去控制gui

有人知道静态框的字体颜色怎么改吗

离线

页脚

工信部备案:粤ICP备20025096号-1 Powered by FluxBB