一种嵌入式linux设备的按键控制方法及装置制造方法及图纸

技术编号:16345651 阅读:29 留言:0更新日期:2017-10-03 22:14
本发明专利技术提供了一种嵌入式linux设备的按键控制方法及装置,该方法包括:判断是否有按键事件发生;若有,则根据按键事件调用按键事件的键码和键值;根据按键事件的键码和键值标记按键事件的行为选项;根据按键事件的行为选项创建和启动按键线程;将按键事件的行为选项传入按键线程内;在按键线程内处理按键事件的行为。本发明专利技术针对嵌入式linux设备多按键和多种响应情况的问题,提供了一套简单易用,代码可读性好,并且基于此方法实现的按键功能可使得用户有更好的体验。

【技术实现步骤摘要】
一种嵌入式linux设备的按键控制方法及装置
本专利技术涉及嵌入式linux设备
,尤其涉及一种嵌入式linux设备的按键控制方法及装置。
技术介绍
Linux内核有完善的input框架,可以基于USB-HID和ADC采样实现按键功能,PC用的USB键盘一般是采用USB-HID实现,智能硬件上的按键一般采用ADC实现。Linux内核会为用户空间提供按键事件的读取接口,对用户空间来说就是系统调用,应用程序通过系统调用可以获取到按键的键码和键值。现有的一种技术就是通过系统调用获取到键码和键值后直接对按键进行解析然后做按键的响应动作。但现有的这种技术存在很多缺点:首先,很难适应多按键,每个按键都有可能有多种响应动作的情况,对于很多智能硬件设备来说,交互简单易用是设计考量的重要因素。按键过多会增加使用的复杂性,按键过少很难把功能覆盖全,因此,按键的短按按下,短按松开,长按,长按松开都会被利用于响应按键交互的动作,现有的这种技术并不能解决很好的解决复杂的按键交互情况,而且代码的可读性差,按键扩展性差,需要增加、减少按键或者按键功能调整时需要花费很多时间,可维护性差;其次,不能很好地和linux线程配合起来使用,这样,当有些按键响应比较费时,就将会影响到下一个按键的及时响应。如何针对嵌入式linux设备多按键和多种响应情况的问题,提供一套简单易用,代码可读性好,并且基于此方法实现的按键功能可使得用户有更好的体验是目前亟待解决的技术问题。
技术实现思路
本专利技术的目的在于克服上述现有技术的不足,提供一种嵌入式linux设备的按键控制方法及装置,旨在解决现有技术针对嵌入式linux设备多按键和多种响应情况的问题,无法提供一套简单易用,代码可读性好,并且无法实现按键功能可使得用户有更好体验的技术问题。本专利技术是这样实现的,一种嵌入式linux设备的按键控制方法,包括以下步骤:判断是否有按键事件发生;若有,则根据所述按键事件调用所述按键事件的键码和键值;根据所述按键事件的键码和键值标记所述按键事件的行为选项;根据所述按键事件的行为选项创建和启动按键线程;将所述按键事件的行为选项传入所述按键线程内;在所述按键线程内处理所述按键事件的行为。进一步地,所述判断是否有按键事件发生的步骤之前还包括:预先定义嵌入式linux设备的键码、键值及按键事件触发的行为选项;其中,所述键码包括收藏键、语音键、英语键、下一曲键、上一曲键、暂停播放键、微信键、童言童语键、故事键、儿歌键及国学键;所述键值包括短按按下、长按及松开;所述行为选项为所述键码和所述键值组合后的结果。进一步地,所述短按按下用于停止上一个按键响应的动作,所述长按用于触发人机交互动作,所述松开用于响应当前按键的事件。进一步地,所述根据所述按键事件的键码和键值标记所述按键事件的行为选项的步骤包括:根据所述按键事件的键码和键值标记所述按键短按按下的行为选项;或者,根据所述按键事件的键码和键值标记所述按键长按的行为选项;或者,根据所述按键事件的键码和键值标记所述按键松开的行为选项。进一步地,所述根据所述按键事件的行为选项创建和启动按键线程的步骤包括:根据所述按键短按按下的行为选项创建和启动按键短按按下线程;或者,根据所述按键长按的行为选项建和启动按键长按线程;或者,根据所述松开的行为选项建和启动按键松开线程。进一步地,所述将所述按键事件的行为选项传入所述按键线程内的步骤包括:将所述按键短按按下的行为选项传入所述按键短按按下线程内;或者,将所述按键长按的行为选项传入所述按键长按线程内;或者,将所述按键松开的行为选项传入所述按键松开线程内。进一步地,所述在所述按键线程内处理所述按键事件的行为的步骤包括:在所述按键短按按下线程内处理所述按键短按按下的行为;或者,在所述按键长按线程内处理所述按键长按的行为;或者,在所述按键松开线程内处理所述按键松开的行为。进一步地,所述判断是否有按键事件发生的步骤还包括:若判断未有按键事件发生,则继续判断是否有按键事件发生的步骤。相应地,本专利技术还提供了一种嵌入式linux设备的按键控制装置,包括:预先定义模块,用于预先定义嵌入式linux设备的键码、键值及按键事件触发的行为选项;其中,所述键码包括收藏键、语音键、英语键、下一曲键、上一曲键、暂停播放键、微信键、童言童语键、故事键、儿歌键及国学键;所述键值包括短按按下、长按及松开;所述行为选项为所述键码和所述键值组合后的结果;判断模块,用于判断是否有按键事件发生;调用模块,用于在所述判断模块判断有按键事件发生时,则根据所述按键事件调用所述按键事件的键码和键值;标记模块,用于根据所述按键事件的键码和键值标记所述按键事件的行为选项;创建和启动模块,用于根据所述按键事件的行为选项创建和启动按键线程;传入模块,用于将所述按键事件的行为选项传入所述按键线程内;处理模块,用于在所述按键线程内处理所述按键事件的行为。进一步地,所述标记模块包括:第一标记单元,用于根据所述按键事件的键码和键值标记所述按键短按按下的行为选项;第二标记单元,用于根据所述按键事件的键码和键值标记所述按键长按的行为选项;第三标记单元,用于根据所述按键事件的键码和键值标记所述按键松开的行为选项;所述创建和启动模块包括:第一创建和启动单元,用于根据所述按键短按按下的行为选项创建和启动按键短按按下线程;第二创建和启动单元,用于根据所述按键长按的行为选项建和启动按键长按线程;第三创建和启动单元,用于根据所述松开的行为选项建和启动按键松开线程;所述传入模块包括:第一传入单元,用于将所述按键短按按下的行为选项传入所述按键短按按下线程内;第二传入单元,用于将所述按键长按的行为选项传入所述按键长按线程内;第三传入单元,用于将所述按键松开的行为选项传入所述按键松开线程内;所述处理模块包括:第一处理单元,用于在所述按键短按按下线程内处理所述按键短按按下的行为;第二处理单元,用于在所述按键长按线程内处理所述按键长按的行为;第三处理单元,用于在所述按键松开线程内处理所述按键松开的行为。本专利技术的有益效果:本专利技术提供的嵌入式linux设备的按键控制方法,当判断有按键事件发生时,则根据按键事件调用按键事件的键码和键值;根据按键事件的键码和键值标记按键事件的行为选项;根据按键事件的行为选项创建和启动按键线程;将按键事件的行为选项传入按键线程内;在按键线程内处理按键事件的行为。本专利技术针对嵌入式linux设备多按键和多种响应情况的问题,提供了一套简单易用,代码可读性好,并且基于此方法实现的按键功能可使得用户有更好的体验,从而使得本专利技术具有以下优点:第一,通过本专利技术实现的按键功能,代码可读性好,利于扩展和维护;第二,通过本专利技术可以很好的处理多个按键和多种触发类型的按键交互设计,给产品带来更简洁的体验;第三,短按按下用于停止上一个按键响应的动作,松开时响应当前按键的事件,长按时触发一些人机交互动作。通过这种方式可以提高按键的响应效率;第四,行为选项标记和线程结合起来可以很好的解决快速多次按键时按键如何响应的问题。附图说明图1是本专利技术第一实施例提供的嵌入式linux设备的按键控制方法的流程示意图。图2是本专利技术第二实施例提供的嵌入式linux设备的按键控制装置的结构示意图。图3是图2提供本文档来自技高网...
一种嵌入式linux设备的按键控制方法及装置

【技术保护点】
一种嵌入式linux设备的按键控制方法,其特征在于,包括以下步骤:判断是否有按键事件发生;若有,则根据所述按键事件调用所述按键事件的键码和键值;根据所述按键事件的键码和键值标记所述按键事件的行为选项;根据所述按键事件的行为选项创建和启动按键线程;将所述按键事件的行为选项传入所述按键线程内;在所述按键线程内处理所述按键事件的行为。

【技术特征摘要】
1.一种嵌入式linux设备的按键控制方法,其特征在于,包括以下步骤:判断是否有按键事件发生;若有,则根据所述按键事件调用所述按键事件的键码和键值;根据所述按键事件的键码和键值标记所述按键事件的行为选项;根据所述按键事件的行为选项创建和启动按键线程;将所述按键事件的行为选项传入所述按键线程内;在所述按键线程内处理所述按键事件的行为。2.根据权利要求1所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述判断是否有按键事件发生的步骤之前还包括:预先定义嵌入式linux设备的键码、键值及按键事件触发的行为选项;其中,所述键码包括收藏键、语音键、英语键、下一曲键、上一曲键、暂停播放键、微信键、童言童语键、故事键、儿歌键及国学键;所述键值包括短按按下、长按及松开;所述行为选项为所述键码和所述键值组合后的结果。3.根据权利要求2所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述短按按下用于停止上一个按键响应的动作,所述长按用于触发人机交互动作,所述松开用于响应当前按键的事件。4.根据权利要求3所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述根据所述按键事件的键码和键值标记所述按键事件的行为选项的步骤包括:根据所述按键事件的键码和键值标记所述按键短按按下的行为选项;或者,根据所述按键事件的键码和键值标记所述按键长按的行为选项;或者,根据所述按键事件的键码和键值标记所述按键松开的行为选项。5.根据权利要求4所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述根据所述按键事件的行为选项创建和启动按键线程的步骤包括:根据所述按键短按按下的行为选项创建和启动按键短按按下线程;或者,根据所述按键长按的行为选项建和启动按键长按线程;或者,根据所述松开的行为选项建和启动按键松开线程。6.根据权利要求5所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述将所述按键事件的行为选项传入所述按键线程内的步骤包括:将所述按键短按按下的行为选项传入所述按键短按按下线程内;或者,将所述按键长按的行为选项传入所述按键长按线程内;或者,将所述按键松开的行为选项传入所述按键松开线程内。7.根据权利要求6所述的一种嵌入式linux设备的按键控制方法,其特征在于,所述在所述按键线程内处理所述按键事件的行为的步骤包括:在所述按键短按按下线程内处理所述按键短按按下的行为;...

【专利技术属性】
技术研发人员:丘文杰
申请(专利权)人:深圳酷旗互联网有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1