lvgl lv_indev_t (一)之 _lv_indev_drv_t 解读

_lv_indev_drv_t driver

输入设备驱动句柄,由lv_indev_add()接口注册

  • lv_indev_type_t type 输入设备类型

    LV_INDEV_TYPE_NONE,    /**< 未初始化状态*/
    LV_INDEV_TYPE_POINTER, /**< 触摸板,鼠标,外部按钮 */
    LV_INDEV_TYPE_KEYPAD,  /**< 键盘*/
    LV_INDEV_TYPE_BUTTON,  /**< 外部(硬件按钮),分配给屏幕的特定点*/
    LV_INDEV_TYPE_ENCODER, /**< 编码器只有左,右转和一个按钮*/
    

  • *read_cb 获取输入设备数据回调接口

    void (*read_cb)(struct _lv_indev_drv_t * indev_drv, lv_indev_data_t * data);
    

    这个回调在输入设备定时任务中周期调用,用来获取输入设备的状态和数据


  • *feedback_cb 反馈回调接口

    void (*feedback_cb)(struct _lv_indev_drv_t *, uint8_t);
    

    这个回调在输入设备有动作时触发事件发送时调用,反馈事件信息给驱动,第二个参数为lv_event_t


  • void * user_data 用户数据


  • struct _lv_disp_t * disp; 存放显示句柄的指针

    lv_indev底层输入设备代码用来获取显示信息用的


  • lv_timer_t * read_timer; 输入设备周期定时器句柄

    用于创建输入设备定时任务句柄


  • uint8_t scroll_limit; 在实际拖动对象之前要滑动的像素数

    默认值为:#define LV_INDEV_DEF_SCROLL_LIMIT 10 (10个像素点)


  • uint8_t scroll_throw; 滚动减速百分比,值越大减速越快


  • uint8_t gesture_min_velocity; 判断触发手势的最小差值

    手势分为左滑,右划,上滑,下滑。如果坐标偏移量低于这个值,则系统判定不会触发手势行为。默认值为

    #define LV_INDEV_DEF_GESTURE_MIN_VELOCITY 3 (3个像素点)


  • uint8_t gesture_limit; 手势阈值

    只有滑动偏移累计(绝对值)超过这个值才会触发手势动作,这个值默认为

    #define LV_INDEV_DEF_GESTURE_LIMIT 50(50个像素点)

    void indev_gesture(_lv_indev_proc_t * proc) 手势处理都在这个函数内


  • uint16_t long_press_time; 长按时间(ms)

    当按住一个点时间超过这个时间阈值触发长按事件 (LV_EVENT_LONG_PRESSED)

    #define LV_INDEV_DEF_LONG_PRESS_TIME 400(ms)


  • uint16_t long_press_repeat_time; 长按重复触发时间

    当触发过上面的长按事件之后,如果继续保持长按超过这个设定值,则会触发长按重复事件 (LV_EVENT_LONG_PRESSED_REPEAT)

    默认值为#define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100 (ms)

总结

_lv_indev_drv_t  结构体主要存放输入设备的一些设定参数包括长按设定时间,滑动限制范围,手势触发阈值,屏幕参数指针,以及获取外部输入设备实时参数接口,用于lvgl底层根据实际获取到的数据变化判断不同的行为
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值