查看: 4085|回复: 1

[求助] LVGL 同时只能支持一种输入设备吗?

[复制链接]

该用户从未签到

4

主题

8

帖子

0

新手上路

Rank: 1

积分
49
最后登录
2021-12-8
发表于 2021-8-16 15:36:47 | 显示全部楼层 |阅读模式
本帖最后由 eefocus_3738594 于 2021-8-16 15:39 编辑

type can be
• LV_INDEV_TYPE_POINTER touchpad or mouse
• LV_INDEV_TYPE_KEYPAD keyboard or keypad
• LV_INDEV_TYPE_ENCODER encoder with left/right turn and push options
• LV_INDEV_TYPE_BUTTON external buttons virtually pressing the screen

上边是从LVGL的document抄出来的,

我的设备设置了  输入类型为 LV_INDEV_TYPE_POINTER,触摸屏操作正常
然后,增加了一个输入设备为 LV_INDEV_TYPE_BUTTON,关键代码如下:

    /* Initialize and register a display input driver */
    lv_indev_drv_t indev_drv;
    lv_indev_drv_init(&indev_drv);      /*Basic initialization*/

    indev_drv.type = LV_INDEV_TYPE_POINTER;
    indev_drv.read_cb = evdev_read;   //lv_gesture_dir_t lv_indev_get_gesture_dir(const lv_indev_t * indev)
    lv_indev_t * my_indev = lv_indev_drv_register(&indev_drv);


    keyboard_init();
    lv_indev_drv_t indev_drv_btn;
    lv_indev_drv_init(&indev_drv_btn);
    indev_drv_btn.type = LV_INDEV_TYPE_BUTTON;
    indev_drv_btn.read_cb = keypad_read;
    lv_indev_t *indev_keypad = lv_indev_drv_register(&indev_drv_btn);


  然后,发现物理按键正常了,但是触摸屏幕上的button没反应了,

  我的问题:  1.  难道LVGL里这几种输入方式,这个只能支持一种吗?  如果我需要触摸屏和物理按键同时工作,怎么办?
  2. 物理按键还必须通过lv_indev_set_button_points()依附于虚拟button 吗?


我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24901
最后登录
2025-7-21
发表于 2021-8-18 10:44:05 | 显示全部楼层
https://docs.lvgl.io/latest/en/html/porting/indev.html是这个文档吗?
我看里面button_read的feedback,你确定这个回调没有被调用?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 15:25 , Processed in 0.083557 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表