当时有一个想法,想用我珍藏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

关于LVGL下物理按键的使用相关推荐

  1. Android TV 悬浮球模拟物理按键

      最近在体验实习的时候做了一个TV的内存管家,其中有个要求是实现一个悬浮球,模拟TV控制器的按键,实现上下左右,back,menu,home等效果,并且做一个火箭升空的效果.这时候才发现网上有关tv ...

  2. android物理健代码,Android 物理按键整理及实例代码

    先给大家看一段代码,然后说明. import android.app.Activity; import android.os.Bundle; import android.util.Log; impo ...

  3. python代码物理_python+appium的物理按键代码

    代码就一句driver.keyevent()括号内填入的是物理按键的数字代号 代号表: 电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOM ...

  4. 案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/111241205 长期持续带来更多项目与技术分 ...

  5. linux系统下键盘按键的重新映射——xmodmap工具和xev工具

    虽然linux下小键盘还是不能用,但是找到一篇好文章 linux系统下键盘按键的重新映射--xmodmap工具和xev工具 文章目录 1. xev工具: 2. xmodmap工具 大家会不会有时候,感 ...

  6. 非自锁物理按键实现自锁功能控制的方法总结

    非自锁物理按键实现自锁功能控制的方法 Proteus仿真演示效果 在仿真里面要实现这个效果,需要将IO口设置为上拉输入模式(INPUT_PULLUP),INPUT模式没有效果 代码示例实现方法一 /非 ...

  7. Android 10 新增物理按键

    1.当驱动层添加完成配置后,通过getevent命令查看底层驱动配置的键值 Seoul_TF:/ $ Seoul_TF:/ $ getevent add device 1: /dev/input/ev ...

  8. Cocos2dx 3.1.1 之 加速传感器、监听物理按键

    //打开加速传感器(默认是关闭的)Device::setAccelerometerEnabled(true);//监听函数Director::getInstance()->getEventDis ...

  9. 三星 android 自定义物理按键,新机皇驾到!三星Note10将取消物理按键,网友:这造型逼死强迫症...

    原标题:新机皇驾到!三星Note10将取消物理按键,网友:这造型逼死强迫症 在安卓阵营中,三星一直以来都是一个非常特殊的厂家.因为其在屏幕.芯片等方面都可以自给自足的特性让其在旗舰机型领地中一直保持王 ...

最新文章

  1. OpenCV(实战)二值图颜色填充(彩色图形、硬币)
  2. Java中数组常见的几种排序方法!
  3. python opencv二值化图像_python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘...
  4. 总结一些关于操作数据库是sql语句还是存储过程问题
  5. UA MATH524 复变函数2 指数、对数与三角函数
  6. 把mac地址转换为标准mac地址
  7. python调用c代码
  8. ios sqlite3 初级应用
  9. h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法
  10. KVM中断虚拟化(一)
  11. 网络知识和交换机的基本配置知识培训
  12. LeetCode31.下一个排列 JavaScript
  13. 显卡坏,导致机器无法启动
  14. 高一下学期计算机,高一信息技术下学期教学计划
  15. 电子元器件的识别与换算
  16. python字符串重复元素的删除_python删除列表重复元素
  17. 完全没有建站经验的人,怎么自己做网站
  18. 水滴的“创益矩阵”:“万物”皆可连接公益
  19. CRA与craco配置移动端
  20. JVM快速入门(下)

热门文章

  1. 三维数据可视化软件html5,基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型 | 3D组态|图扑软件|数据可视化|blog...
  2. 猪悟能淘宝店商品下载专家 v1.2
  3. 怎样才能在微信朋友圈发长视频?
  4. MySql数据的完整性
  5. Calendar获取当前日期,或前几天,或后几天的日期
  6. C语言--小学生计算机辅助教学系统
  7. Bryntum Gantt 5.0 JS
  8. php获取客户端ip端口,Phpwind获取用户真实IP
  9. Web Services Ksoap 下载多张图片
  10. python跳过本次循环_python跳过循环