关于LVGL下物理按键的使用

您所在的位置:网站首页 没有秒传按键 关于LVGL下物理按键的使用

关于LVGL下物理按键的使用

2024-06-01 16:19| 来源: 网络整理| 查看: 265

    当时有一个想法,想用我珍藏3年全新未开封的mini开发板,使用LVGL显示,然后用物理按键控制,最终制作一个...好吧我编不下去了。其实就是想在LVGL界面下使用物理按键控制。

    然后就在网上疯狂找使用物理按键控制的相关资料和方法,可想而知,如你们所愿,当时基本上是找不到的,翻墙不知道有没有。

     接着只能想其它的办法了,当时也是绞尽脑汁。最后看到PC模拟器的官方历程是可以直接用键盘控制,然后就开始玩弄模拟器版本,最终发现了keyboard驱动,只需要把模拟器的keyboard驱动用法移植到单片机中就可以了。

以下的代码就是PC模拟器例子的键盘注册部分。

还有比较重要的键盘回调函数要写

 上面两个部分,就是PC模拟器LVGL物理键盘的核心了,关于键值,这边没有记录太多。

下面移植到单片机的LVGL中就可以了,回调函数会有一些变化,基本思想一样。

首先也是在你的页面布局好之后,添加键盘驱动,我的整个屏幕是一个grop对象,

lv_indev_set_group(real_kb_indev, grop);这句话就是让按键在这个grop里面生效。

然后就是写一下回调函数,回调函数其实LVGL会每一个周期都去运行这个函数,

data->state =1时LVGL才会处理data->key的值,等于0时则反之

 最后就是物理按键部分了

 演示视频:lvgl使用物理键盘控制_哔哩哔哩_bilibili

运行环境,原子哥mini开发板+屏幕

代码下载:https://download.csdn.net/download/HES_C/33136949

        



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3