【IMX6ULL驱动开发学习】20. input子系统(按键实现ls命令)

一、input子系统相关结构体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、input子系统实例实现:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

static struct input_dev *key_input;static void my_timer_handle(unsigned long data)
{....../* 5.input子系统上报事件 *///第三个参数要变,如果两次上报value相同,则input子系统不会响应input_report_key(key_input, key_gpio_irq->key, key_gpio_irq->value);  /* 6.同步事件 */input_sync(key_input);
}static irqreturn_t key_irq_handler(int irq, void *dev_id)
{mod_timer(xxx_timer , jiffies+HZ/50);return IRQ_HANDLED;
}......
......static int key_drv_init(void)
{............/* 1.申请空间 */key_input = input_allocate_device();if(key_input == NULL){printk("input alloc failed\n");return -ENOMEM;}/* 2.设置事件类型 */set_bit(EV_KEY, key_input->evbit);set_bit(EV_SYN, key_input->evbit);/* 3.设置子事件:具体按键 */set_bit(KEY_L,key_input->keybit);set_bit(KEY_S,key_input->keybit);set_bit(KEY_ENTER,key_input->keybit);/* 4.注册input子系统 */err = input_register_device(key_input);if(err){printk("input register failed\n");return -EAGAIN;}
}

三、测试结果

自定义了三个按键
按键1:l 键
按键2:s键
按键3:Enter键

如 果 在 ubuntu上 看 到 现 象
ctrl+alt+F1 (虚 拟 终 端 )
ctrl+alt+F7 (退 出 虚 拟 终 端)

如果想在板子上看到现象
exec 0</dev/tty1

在这里插入图片描述
在这里插入图片描述


input子系统详细介绍刊此链接:Linux input 子系统详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20688.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【项目管理】成本管理

一.成本管理的概述 在项目上对成本进行管理和控制是为了让项目经理真正了解完成项目所需要消耗的时间和所需要的资源&#xff0c;从而对其进行相应的成本控制。成本管理主要分成以下三个方面的内容&#xff1a; 二.成本估算 成本估算是对整个项目投入的各种资源的成本进行估算&…

java每日一题:手动触发垃圾回收(GC)

面试官: 首先&#xff0c;我想问一下&#xff0c;你能向我解释一下"手动触发Java垃圾回收"的过程吗&#xff1f;&#x1f914; 面试者: 在Java中&#xff0c;垃圾回收是自动进行的&#xff0c;由Java虚拟机&#xff08;JVM&#xff09;负责管理。但是&#xff0c;有…

30多个小程序一键发布——miniprogram-ci

概述 miniprogram-ci 是从微信开发者工具中抽离的关于小程序/小游戏项目代码的编译模块。 开发者可不打开小程序开发者工具&#xff0c;独立使用 miniprogram-ci 进行小程序代码的上传、预览等操作。 miniprogram-ci 从 1.0.28 开始支持第三方平台开发的上传和预览&#xff0…

Flutter底部导航BottomNavigationBar

Flutter底部导航BottomNavigationBar 主要代码&#xff1a; bottomNavigationBar: BottomNavigationBar(//选中菜单颜色fixedColor: Colors.red,//图标大小&#xff0c;默认24.0iconSize: 30,//第几个菜单选中currentIndex: currentIndex,//当item数量大于3个时需要设置type属…

simulink 结构体 bus creator

目录 结构体创建 bus creator 结构体引用Bus Selector 结构体赋值Bus Assignment 结构体对象 Bus 结构体数组打包Vector Concatenate 结构体数据存文件 结构体创建 bus creator 结构体引用Bus Selector 结构体赋值Bus Assignment 结构体对象 Bus 结构体数组打包Vector Co…

方便的记事本app有哪些 快捷方便的生活记事软件推荐

生活中很多时候都需要记事&#xff0c;比如去超市要买的物品清单&#xff0c;旅行时遇到的好看的风景、有趣的事情&#xff0c;以及脑海中不经意间产生的灵感、想法或思考感悟等&#xff0c;都可以随手用记事App软件记录下来&#xff0c;以便后续查看。那方便的记事本app有哪些…

计算机网络-网络层上篇

目录 一、网络层概述 二、网络层提供的两种服务 &#xff08;一&#xff09;面向连接的虚电路服务 &#xff08;二&#xff09;无连接的数据报服务 &#xff08;三&#xff09;虚电路服务与数据报服务的比较 三、IPv4地址及其应用 &#xff08;一&#xff09;IPv4地址概…

构建WebRTC技术需要的后端服务

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;我们面对的不是…

JS相关介绍

1.JS引入&#xff1a; 内部&#xff1a;直接在html文件内部使用script标签调用 外部&#xff1a;另外新建JS文件&#xff0c;再在html文件中调用 2.输入输出&#xff1a; 输入&#xff1a;prompt(请输入您的姓名&#xff1a;) 输出&#xff1a;document.write(你们真是天才) 注…

Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

一、需求说明 基于Nginx代理nginx.conf配置——反向代理&#xff0c;如果要添加websocket支持&#xff0c;需要进行如下配置 二、配置内容 在http中添加一下配置&#xff0c;添加对websocket支持 http {# 配置其它内容map $http_upgrade $connection_upgrade {default upgra…

开心档之CSS 测验

目录 CSS 测验 CSS 测验 CSS测验是一种衡量前端开发人员对CSS的熟练程度的测试。通过CSS测验&#xff0c;可以评估一个人对CSS语言的掌握程度和应用能力&#xff0c;帮助公司或招聘方挑选合适的人才。下面将介绍如何进行CSS测验以及一些常见的CSS考题。 一、CSS测验的类型 1…

GaussDB WDR报告分析

标题 问题描述问题现象告警业务影响原因分析处理方法步骤 1步骤 2步骤 3步骤 4步骤 6步骤 7步骤 8步骤9步骤 10步骤 11步骤 12 问题描述 CPU使用率高。 问题现象 出现CPU使用率超过阈值&#xff0c;CPU使用率快速上涨或短时间持续较高水平等现象。 告警 CPU使用率告警。 …