CN105634503B - 检测键盘键值的方法及装置 - Google Patents

检测键盘键值的方法及装置 Download PDF

Info

Publication number
CN105634503B
CN105634503B CN201511000814.6A CN201511000814A CN105634503B CN 105634503 B CN105634503 B CN 105634503B CN 201511000814 A CN201511000814 A CN 201511000814A CN 105634503 B CN105634503 B CN 105634503B
Authority
CN
China
Prior art keywords
state
current
keyboard
key
button
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511000814.6A
Other languages
English (en)
Other versions
CN105634503A (zh
Inventor
彭浩
隋平礼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING JINHONG XIDIAN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING JINHONG XIDIAN INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING JINHONG XIDIAN INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING JINHONG XIDIAN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201511000814.6A priority Critical patent/CN105634503B/zh
Publication of CN105634503A publication Critical patent/CN105634503A/zh
Application granted granted Critical
Publication of CN105634503B publication Critical patent/CN105634503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明提供一种检测键盘键值的方法及装置,该方法包括:执行键盘扫描,获取当前键盘检测状态,所述当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态。该方法通过四种键盘检测状态来表示按键从按下到最终被识别并且生效的过程,使得对于键盘检测状态的划分清晰简单,从而保证了MCU资源的高效利用。同时将键值信息的存储分发独立开来,提高了MCU的使用率、系统的实时性和模块的兼容性。

Description

检测键盘键值的方法及装置
技术领域
本发明涉及微处理器技术,尤其涉及一种检测键盘键值的方法及装置。
背景技术
在电子设备中,键盘是最常见的人机交互手段。具有键盘的电子设备中一般将键盘上的按键通过直连、矩阵连接等方式与电子设备中的微型控制单元(MicrocontrollerUnit,简称MCU)的通用输入输出I/O端口连接,MCU再以定期扫描等方式读取通用I/O端口对应的键盘的键值,再通过一定的算法进行键盘消抖并确定最终的键值。
现有技术中,在使用定期扫描方式检测键盘的键值时,会在每个扫描周期时确定一个按键状态,在下一次扫描周期时根据读取到的键值信息确定一个新的按键状态,并根据前一次的按键状态和新的按键状态确定出一个当前按键的变化状态。进而,再根据每次的变化状态的关系来确定最终的键值。
但是,现有技术在确定键盘键值时,对按键状态的划分不清晰,使得键盘的键值检测实现复杂,从而占用过多MCU资源,导致MCU资源消耗过大。
发明内容
本发明提供一种检测键盘键值的方法及装置,用于解决现有技术中由于案件状态划分不清晰导致的MCU资源消耗过大的问题。
本发明第一方面提供一种检测键盘键值的方法,包括:
执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及所述当前按键的状态,所述当前按键的状态包括按下以及释放;
获取当前键盘检测状态,所述当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,其中,所述第一键盘检测状态表示空闲状态,所述第二键盘检测状态表示按键按下状态,所述第三键盘检测状态表示按键按下时长状态,所述第四键盘检测状态表示按键释放状态;
根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态。
结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为第一键盘检测状态,则判断所述当前按键的标识是否为有效标识以及所述当前按键的状态是否为按下,若所述当前按键的标识为有效标识并且所述当前按键的状态为按下,则将所述当前按键的标识作为预检测按键标识,将所述当前按键的状态作为预检测按键状态,并且,将所述当前键盘检测状态更新为第二键盘检测状态。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第二键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将按键状态计数器的值置为零,并且,将所述当前键盘检测状态更新为所述第三键盘检测状态,其中,所述按键状态计数器用于记录按键按下时长;或者,
若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则将所述当前键盘检测状态更新为第一键盘检测状态。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第三键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将所述按键状态计数器的值加1,作为更新后的按键状态计数器的值,并且,判断所述更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为短按类型;若更新后的按键状态计数器的值大于或等于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为长按类型,并将所述当前键盘检测状态更新为所述第四键盘检测状态、以及根据所述当前按键的键值信息执行键值信息存储及分发;或者,
若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则判断所述按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则将所述当前键盘检测状态更新为所述第四键盘检测状态,若否,则将所述当前键盘检测状态更新为所述第一键盘检测状态。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第四键盘检测状态,则判断所述当前按键的标识是否为无效标识以及所述当前按键的状态是否为释放,若所述当前按键的标识为无效标识并且所述当前按键的状态为释放,则根据所述当前按键的键值信息执行键值信息存储及分发,并且,将所述当前键盘检测状态更新为所述第一键盘检测状态,其中,所述当前按键的键值信息包括所述当前按键的标识、所述当前按键的状态以及所述当前按键的按键类型。
结合第一方面的第三种或第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述根据所述当前按键的键值信息执行键值信息存储及分发,包括:
将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾,其中,所述预设的键值缓冲队列为先入先出FIFO队列。
结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾之后,还包括:
读取所述预设的键值缓冲队列中排列在第一位的键值信息,并执行所述排列在第一位的键值信息对应的分发处理;
删除所述键值缓冲队列中所述排列在第一位的所述键值信息。
结合第一方面的第二种、第三种或者第四种可能的实施方式,在第一方面的第七种可能的实施方式中,所述将所述当前键盘检测状态更新为所述第一键盘检测状态之后,还包括:
将所述预检测按键标识以及所述预检测按键状态置为初始无效值。
本发明第二方面提供一种检测键盘键值的装置,包括:
扫描模块,用于执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及所述当前按键的状态,所述当前按键的状态包括按下以及释放;
获取模块,用于获取当前键盘检测状态,所述当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,其中,所述第一键盘检测状态表示空闲状态,所述第二键盘检测状态表示按键按下状态,所述第三键盘检测状态表示按键按下时长状态,所述第四键盘检测状态表示按键释放状态;
更新模块,用于根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态。
结合第二方面,在第二方面的第一种可能的实施方式中,所述更新模块,具体用于:
若所述当前键盘检测状态为第一键盘检测状态,则判断所述当前按键的标识是否为有效标识以及所述当前按键的状态是否为按下,若所述当前按键的标识为有效标识并且所述当前按键的状态为按下,则将所述当前按键的标识作为预检测按键标识,将所述当前按键的状态作为预检测按键状态,并且,将所述当前键盘检测状态更新为第二键盘检测状态。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述更新模块,具体包括:
第一判断单元,用于若所述当前键盘检测状态为所述第二键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
第一更新单元,用于若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将按键状态计数器的值置为零,并且,将所述当前键盘检测状态更新为所述第三键盘检测状态,其中,所述按键状态计数器用于记录按键按下时长;或者,若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则将所述当前键盘检测状态更新为第一键盘检测状态。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述更新模块,具体还包括:
第二判断单元,用于若所述当前键盘检测状态为所述第三键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
第二更新单元,用于若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将所述按键状态计数器的值加1,作为更新后的按键状态计数器的值,并且,判断所述更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为短按类型;若更新后的按键状态计数器的值大于或等于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为长按类型,并将所述当前键盘检测状态更新为所述第四键盘检测状态、以及根据所述当前按键的键值信息执行键值信息存储及分发;或者,若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则判断所述按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则将所述当前键盘检测状态更新为所述第四键盘检测状态,若否,则将所述当前键盘检测状态更新为所述第一键盘检测状态。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述更新模块,具体还用于:
若所述当前键盘检测状态为所述第四键盘检测状态,则判断所述当前按键的标识是否为无效标识以及所述当前按键的状态是否为释放,若所述当前按键的标识为无效标识并且所述当前按键的状态为释放,则根据所述当前按键的键值信息执行键值信息存储及分发,并且,将所述当前键盘检测状态更新为所述第一键盘检测状态,其中,所述当前按键的键值信息包括所述当前按键的标识、所述当前按键的状态以及所述当前按键的按键类型。
结合第二方面的第三种或第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述更新模块具体还用于:
将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾,其中,所述预设的键值缓冲队列为先入先出FIFO队列。
结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述更新模块具体还包括:
读取单元,用于读取所述预设的键值缓冲队列中排列在第一位的键值信息,并执行所述排列在第一位的键值信息对应的分发处理;
删除单元,用于删除所述键值缓冲队列中所述排列在第一位的所述键值信息。
结合第二方面的第二种、第三种或者第四种可能的实施方式,在第二方面的第七种可能的实施方式中,所述更新模块具体还用于:在将所述当前键盘检测状态更新为所述第一键盘检测状态之后,将所述预检测按键标识以及所述预检测按键状态置为初始无效值。
本发明所提供的检测键盘键值的方法,通过设置第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态来表示按键从按下到最终被识别并且生效的过程,通过这四种状态间的切换更新,不仅能够保证有效按键被正确识别以及无效按键被丢弃,即保证了键盘检测的准确性,并且,在此基础上,由于仅使用了上述四种键盘检测状态,使得对于键盘检测状态的划分清晰简单,从而使得其具体实现变得简单,从而不会占用多余的MCU资源,保证了MCU资源的高效利用。同时,将键值信息的存储分发独立开来,解决了MCU的不同模块间执行速度的差异,提高了MCU的使用率、系统的实时性和模块的兼容性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的检测键盘键值的方法实施例一的流程示意图;
图2为本发明提供的检测键盘键值的方法实施例二的各状态间切换的流程示意图;
图3为本发明提供的检测键盘键值的方法实施例三的状态切换示意图;
图4为本发明提供的检测键盘键值的方法实施例四的FIFO队列的读写操作示意图;
图5为本发明提供的检测键盘键值的方法实施例五的按键消息分发示意图;
图6为本发明提供的检测键盘键值的方法实施例六的键值检测的总体流程示意图;
图7为本发明提供的检测键盘键值的装置实施例一的模块结构图;
图8为本发明提供的检测键盘键值的装置实施例二的模块结构图;
图9为本发明提供的检测键盘键值的装置实施例三的模块结构图;
图10为本发明提供的检测键盘键值的装置实施例四的模块结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的检测键盘键值的方法实施例一的流程示意图,该方法的执行主体为MCU、微处理器或系统级芯片(System on Chip,简称Soc)等,以下都以MCU为例进行说明。如图1所示,该方法包括:
S101、执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及当前按键的状态,其中,当前按键的状态包括按下以及释放。
具体地,可以通过MCU的硬件定时器或者嵌入式操作系统的软件定时器按照预设频率,周期性地执行键盘扫描,扫描周期一般可以设置为10ms至20ms。
执行键盘扫描,即是获取键盘中各按键的使用状态,包括按按键的标识和按键的状态。其中,按键的标识即表明当前按键是哪个按键,按键的标识优选地可以使用按键的物理标识,即物理ID作为按键标识。比如合法的按键都会有一个合法的ID,例如处于1-100这个范围内,如果某次扫描键盘所获取到的按键的ID不在这个范围内,则该按键的ID为不合法的ID,则说明该按键是无效的按键。另外,按键的状态表示当前按键是被按下还是被释放。
S102、获取当前键盘检测状态,当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态。其中,第一键盘检测状态表示空闲状态,第二键盘检测状态表示按键按下状态,第三键盘检测状态表示按键按下时长状态,第四键盘检测状态表示按键释放状态。
上述四种键盘检测状态表示了键盘操作的过程中,按键从开始按下到最终被识别并生效的状态。在不同的状态下,MCU会进行不同的判断和操作。
具体地,上述第一键盘检测状态表示空闲状态,在这一状态下,键盘中的按键未被操作。上述第二键盘检测状态表示按键按下状态,即,一旦扫描到按键被按下,就进入第二键盘检测状态。上述第三键盘检测状态表示按键按下时长状态,具体来说,当键盘当前已经处于第二键盘检测状态,并且键盘扫描结果显示按键依然被按下,则说明当前按键的被按下的状态稳定,按键不处于抖动状态,则可以将键盘状态切换到第三键盘检测状态。即第二键盘检测状态和第三键盘检测状态的切换表示了键盘去抖动的过程。上述第四键盘检测状态表示按键释放状态,即当按键被按下后又被释放的状态。
MCU在每次完成键盘扫描后都会获取当前的键盘检测状态,键盘检测状态信息预先被存储在MCU内,当键盘检测状态信息发生变化时,MCU会将其更新为新的键盘检测状态以供下次键盘扫描完成后使用。
S103、根据上述当前键盘检测状态以及上述当前按键的状态执行当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将当前键盘检测状态更新为新的键盘检测状态。
根据不同的键盘检测状态以及不同的按键状态,MCU会执行不同的判断和操作,并根据判断结果和操作结果进行键盘检测状态的切换。如果用户正常按下了某些按键,则键盘检测状态会按照正常的顺序从上述第一键盘检测状态不断更新到上述第四检测状态,并最终生成有效的键值信息。否则,键盘检测状态不会更新到上述第四检测状态,也不会生成有效的键值信息。
本实施例中,通过设置第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态来表示按键从按下到最终被识别并且生效的过程,通过这四种状态间的切换更新,不仅能够保证有效按键被正确识别以及无效按键被丢弃,即保证了键盘检测的准确性,并且,在此基础上,由于仅使用了上述四种键盘检测状态,使得对于键盘检测状态的划分清晰简单,从而使得其具体实现变得简单,从而不会占用多余的MCU资源,保证了MCU资源的高效利用。
图2为本发明提供的检测键盘键值的方法实施例二的各状态间切换的流程示意图,如图2所示,在每次键盘扫描结束后,MCU都会根据当前键盘检测状态执行相应的判断和操作,并根据判断结果和操作结果进行当前键盘检测状态的更新。其中,S0表示第一键盘检测状态,S1表示第二键盘检测状态,S2表示第三键盘检测状态,S3表示第四键盘检测状态。每次键盘扫描结束后仅会执行下述步骤1-步骤4中的一种。具体过程为:
步骤1、判断当前键盘检测状态是否为第一键盘检测状态S0,若当前键盘检测状态为S0,则执行下述子步骤:
子步骤1.1、判断当前按键的标识是否为有效标识以及当前按键的状态是否为按下,若当前按键的标识为有效标识并且当前按键的状态为按下,则继续执行以下子步骤。
子步骤1.2、将当前按键的标识作为预检测按键标识。
子步骤1.3、将当前按键的状态作为预检测按键状态。
子步骤1.4、将当前键盘检测状态更新为第二键盘检测状态S1。
执行完上述子步骤1.4之后则退出本次扫描后的处理,等待下一次键盘扫描,当下一次键盘扫描到有效键值时再进行下一次的状态处理。
其中,判断当前按键的标识是否为有效标识可以使用上述实施例一所述的方法,判断当前按键的状态是否为按下可以使用现有技术进行判断,此处不再赘述。
一旦按键被按下,则将按键标识和按键状态值赋予预检测按键标识和预检测按键状态,后续完成键盘扫描后会首先判断本次扫描的按键是否和预检测按键标识和预检测按键状态相同,即预检测按键标识和预检测按键状态用来作为判断有效按键的基准。
步骤2、判断当前键盘检测状态是否为第二键盘检测状态S1,若当前键盘检测状态为S1,则执行下述子步骤:
子步骤2.1、判断当前按键的标识是否与上述预检测按键标识相同以及当前按键的状态是否与上述预检测按键状态相同。若当前按键的标识与上述预检测按键标识相同并且当前按键的状态与上述预检测按键状态相同,则继续执行以下子步骤。
子步骤2.2、将按键状态计数器的值置为零。
子步骤2.3、将当前键盘检测状态更新为第三键盘检测状态S2,其中,所述按键状态计数器用于记录按键按下时长。
执行完上述子步骤2.3之后则退出本次扫描后的处理,等待下一次键盘扫描,当下一次键盘扫描到有效键值时再进行下一次的状态处理。
在子步骤2.1中若判断出当前按键的标识与上述预检测按键标识不同,和/或,当前按键的状态与上述预检测按键状态不同,则执行步骤5,将当前键盘检测状态更新为第一键盘检测状态S0。
上述按键状态计数器用于记录按键按下的时长,对于一次按键,其按下的时间必须处于一个合理的范围,才能说明其是一个有效按键,如果一次按键的按下时间保持过短,那么就不能算一个有效按键。因此,使用上述按键状态计数器来记录按键按下的时长并作为后续判断是否为有效按键的一个条件。
当MCU判断出本次按键的标识和状态与前一次扫描时所记录的按键标识和状态相同时,则说明按键状态稳定,可以进行下一步的判断,即完成了去抖动的过程。
当MCU判断出本次按键的标识和状态与前一次扫描时所记录的按键标识和状态不同时,则说明键盘抖动,则不再进行下一步判断,而是直接将当前键盘检测状态恢复为初始的空闲状态,从头再开始进行扫描和检测。
步骤3、判断当前键盘检测状态是否为第三键盘检测状态S2,若当前键盘检测状态为S2,则执行下述子步骤:
子步骤3.1、判断当前按键的标识是否与上述预检测按键标识相同以及当前按键的状态是否与上述预检测按键状态相同。若当前按键的标识与上述预检测按键标识相同并且当前按键的状态与上述预检测按键状态相同,则继续下述子步骤3.2,否则执行子步骤3.9。
子步骤3.2、将上述按键状态计数器的值加1,作为更新后的按键状态计数器的值。
子步骤3.3、判断上述更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于预设的长按类型门限值,则继续执行子步骤3.4,否则执行子步骤3.6。
子步骤3.4、将当前按键的按键类型设置为短按类型。
子步骤3.5、将当前键盘检测状态更新为S2。
执行完上述子步骤3.5之后则退出本次扫描后的处理,等待下一次键盘扫描,当下一次键盘扫描到有效键值时再进行下一次的状态处理。
子步骤3.6、将当前按键的按键类型设置为长按类型,
子步骤3.7、将当前键盘检测状态更新为第四键盘检测状态S3。
子步骤3.8、根据当前按键的键值信息执行键值信息存储及分发。
执行完上述子步骤3.8之后则退出本次扫描后的处理,等待下一次键盘扫描,当下一次键盘扫描到有效键值时再进行下一次的状态处理。
子步骤3.9、判断上述按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则执行子步骤3.10,否则执行步骤5,将当前键盘检测状态更新为第一键盘检测状态S0。
子步骤3.10、将当前键盘检测状态更新为第四键盘检测状态S3。
执行完上述子步骤3.10之后则退出本次扫描后的处理,等待下一次键盘扫描,当下一次键盘扫描到有效键值时再进行下一次的状态处理。
如前所述,上述按键状态计数器用于记录按键按下的时长,使用上述按键状态计数器作为后续判断是否为有效按键的一个条件。在键盘处于S2状态时,根据按键状态计数器的值来判断当前按键是短按类型还是长按类型,如果是长按类型,则认为按键有效,直接进行键值信息的存储和分发。如果是短按类型,则需要在按键被释放后再进行键值信息的存储和分发。
如果S2状态下的判断结果不满足短按类型或长按类型,则说明本次按键是无效按键,则不再进行下一步判断,而是直接将当前键盘检测状态恢复为初始的空闲状态,从头再开始进行扫描和检测。
步骤4、判断当前键盘检测状态是否为第四键盘检测状态S3,若当前键盘检测状态为S3,则执行下述子步骤:
子步骤4.1、判断当前按键的标识是否为无效标识以及当前按键的状态是否为释放,若当前按键的标识为无效标识并且当前按键的状态为释放,则继续执行下述子步骤4.2。
子步骤4.2、根据当前按键的键值信息执行键值信息存储及分发,并且,继续执行步骤5,将当前键盘检测状态更新为第一键盘检测状态S0,其中,当前按键的键值信息包括当前按键的标识、当前按键的状态以及当前按键的按键类型。
S3状态是针对短按类型的按键,在确定出其是一个有效的短按类型后,再判断其是否已经被释放,如果被释放,则说明本次按键已经正常完成,则进行键值信息的存储和分发。
并且,在完成信息的存储和分发时,也要将当前键盘检测状态恢复为S0状态,以便开始新一轮的键盘检测。
需要说明的是,进行存储和分发的键值信息必须包括按键的标识、按键的状态和按键的类型,其中,按键类型包括短按类型和长按类型。
前述各实施例中,在将当前键盘检测状态更新为第一键盘检测状态时,还需要将上述预检测按键标识以及上述预检测按键状态置为初始无效值,以保证下一轮键盘检测时不会使用错误的预检测按键标识以及预检测按键状态信息。
图3为本发明提供的检测键盘键值的方法实施例三的状态切换示意图,如图3所示,S0为空闲状态,后续的状态S1、S2和S3都可以向后切换回S0状态,但是各状态向前只能切换到自身的下一个状态,例如,S0只能向前切换到S1状态,S1只能向前切换到S2状态,而不能向前切换到S3状态。
另一实施例中,MCU在进行键值信息的存储分发时,会通过预先设置在MCU中的键值缓冲队列来存储键值信息,该键值缓冲队列为先入先出(first in,first out,简称FIFO)队列。当产生一个当前按键的键值信息后,MCU会将当前按键的键值信息添加到该键值缓冲队列的队尾。
图4为本发明提供的检测键盘键值的方法实施例四的FIFO队列的读写操作示意图,如图4所示,键值信息写入时会增加到FIFO队列的队尾,键值信息读取时会从FIFO队列的队首读取。
另一实施例中,在键值信息被存储到FIFO队列之后,会通过MCU中的消息分发模块来进行键值消息的读取和分发。
具体地,在键值信息被存储到FIFO队列时,MCU会向消息分发模块发出指示,指示有新的键值信息生成,按键分发模块接收到该指示后,会在处理能力允许的情况下,读取FIFO队列中排列在第一位的键值信息,并执行排列在第一位的键值信息对应的分发处理,并且,删除FIFO队列中排列在第一位的键值信息。按键分发模块具体的分发处理过程可以参考现有技术,此处不再赘述。
图5为本发明提供的检测键盘键值的方法实施例五的按键消息分发示意图,参照图5,按键分发模块按照FIFO队列的顺序来逐个分发键值信息。
上述两个实施例中,FIFO队列专用于键值信息的存储,按键分发模块专用于键值信息的分发处理,当MCU生成有效的键值信息后,将键值信息存储于FIFO队列中即可处理其他任务,而不像现有技术一样等到键值响应后才可以处理其他任务。按键分发模块在处理能力允许时再从FIFO队列中读取键值信息并进行分发处理。即将键值信息的存储分发独立开来,从而解决了现有技术中键值输出和键值响应属于硬链接、兼容性差、实时性差的问题,解决了MCU的不同模块间执行速度的差异,提高了MCU的使用率、系统的实时性和模块的兼容性。
图6为本发明提供的检测键盘键值的方法实施例六的键值检测的总体流程示意图,如图6所示,键值检测的总体流程为:
S201、执行按键扫描。
S202、根据键盘扫描结果及当前键盘检测状态进行状态切换。
S203、将有效的键值信息存储在键值缓冲队列即FIFO队列中。
S204、按键分发模块进行键值信息分发。
具体的执行过程可以参照前述实施例,此处不再赘述。
图7为本发明提供的检测键盘键值的装置实施例一的模块结构图,如图7所示,该装置包括:
扫描模块701,用于执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及当前按键的状态,当前按键的状态包括按下以及释放。
获取模块702,用于获取当前键盘检测状态,当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,其中,第一键盘检测状态表示空闲状态,第二键盘检测状态表示按键按下状态,第三键盘检测状态表示按键按下时长状态,第四键盘检测状态表示按键释放状态。
更新模块703,用于根据当前键盘检测状态以及当前按键的状态执行当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将当前键盘检测状态更新为新的键盘检测状态。
该装置用于实现前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
另一实施例中,更新模块703具体用于:
若当前键盘检测状态为第一键盘检测状态,则判断当前按键的标识是否为有效标识以及当前按键的状态是否为按下,若当前按键的标识为有效标识并且当前按键的状态为按下,则将当前按键的标识作为预检测按键标识,将当前按键的状态作为预检测按键状态,并且,将当前键盘检测状态更新为第二键盘检测状态。
图8为本发明提供的检测键盘键值的装置实施例二的模块结构图,如图8所示,更新模块703具体包括:
第一判断单元7031,用于若当前键盘检测状态为第二键盘检测状态,则判断当前按键的标识是否与上述预检测按键标识相同以及当前按键的状态是否与上述预检测按键状态相同。
第一更新单元7032,用于若当前按键的标识与上述预检测按键标识相同并且当前按键的状态与上述预检测按键状态相同,则将按键状态计数器的值置为零,并且,将当前键盘检测状态更新为第三键盘检测状态,其中,按键状态计数器用于记录按键按下时长;或者,若当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则将所述当前键盘检测状态更新为第一键盘检测状态。
图9为本发明提供的检测键盘键值的装置实施例三的模块结构图,如图9所示,更新模块703具体还包括:
第二判断单元7033,用于若当前键盘检测状态为第三键盘检测状态,则判断当前按键的标识是否与上述预检测按键标识相同以及当前按键的状态是否与上述预检测按键状态相同。
第二更新单元7034,用于若当前按键的标识与上述预检测按键标识相同并且当前按键的状态与上述预检测按键状态相同,则将按键状态计数器的值加1,作为更新后的按键状态计数器的值,并且,判断更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于预设的长按类型门限值,则将当前按键的按键类型设置为短按类型;若更新后的按键状态计数器的值大于或等于预设的长按类型门限值,则将当前按键的按键类型设置为长按类型,并将当前键盘检测状态更新为第四键盘检测状态、以及根据当前按键的键值信息执行键值信息存储及分发;或者,若当前按键的标识与上述预检测按键标识不同,和/或,当前按键的状态与上述预检测按键状态不同,则判断按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则将当前键盘检测状态更新为第四键盘检测状态,若否,则将当前键盘检测状态更新为第一键盘检测状态。
另一实施例中,更新模块703具体还用于:
若当前键盘检测状态为第四键盘检测状态,则判断当前按键的标识是否为无效标识以及当前按键的状态是否为释放,若当前按键的标识为无效标识并且当前按键的状态为释放,则根据当前按键的键值信息执行键值信息存储及分发,并且,将当前键盘检测状态更新为第一键盘检测状态,其中,当前按键的键值信息包括当前按键的标识、当前按键的状态以及当前按键的按键类型。
进一步地,更新模块703具体还用于:
将当前按键的键值信息添加到预设的键值缓冲队列的队尾,其中,预设的键值缓冲队列为先入先出FIFO队列。
图10为本发明提供的检测键盘键值的装置实施例四的模块结构图,如图10所示,更新模块703具体还包括:
读取单元7035,用于读取预设的键值缓冲队列中排列在第一位的键值信息,并执行排列在第一位的键值信息对应的分发处理。
删除单元7036,用于删除键值缓冲队列中排列在第一位的所述键值信息。
进一步地,更新模块703具体还用于:
在将当前键盘检测状态更新为第一键盘检测状态之后,将预检测按键标识以及预检测按键状态置为初始无效值。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种检测键盘键值的方法,其特征在于,包括:
执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及所述当前按键的状态,所述当前按键的状态包括按下以及释放;
获取当前键盘检测状态,所述当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,其中,所述第一键盘检测状态表示空闲状态,所述第二键盘检测状态表示按键按下状态,所述第三键盘检测状态表示按键按下时长状态,所述第四键盘检测状态表示按键释放状态;
根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态;
所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为第一键盘检测状态,则判断所述当前按键的标识是否为有效标识以及所述当前按键的状态是否为按下,若所述当前按键的标识为有效标识并且所述当前按键的状态为按下,则将所述当前按键的标识作为预检测按键标识,将所述当前按键的状态作为预检测按键状态,并且,将所述当前键盘检测状态更新为第二键盘检测状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第二键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将按键状态计数器的值置为零,并且,将所述当前键盘检测状态更新为所述第三键盘检测状态,其中,所述按键状态计数器用于记录按键按下时长;或者,
若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则将所述当前键盘检测状态更新为第一键盘检测状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第三键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将所述按键状态计数器的值加1,作为更新后的按键状态计数器的值,并且,判断所述更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为短按类型;若更新后的按键状态计数器的值大于或等于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为长按类型,并将所述当前键盘检测状态更新为所述第四键盘检测状态、以及根据所述当前按键的键值信息执行键值信息存储及分发;或者,
若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则判断所述按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则将所述当前键盘检测状态更新为所述第四键盘检测状态,若否,则将所述当前键盘检测状态更新为所述第一键盘检测状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态,包括:
若所述当前键盘检测状态为所述第四键盘检测状态,则判断所述当前按键的标识是否为无效标识以及所述当前按键的状态是否为释放,若所述当前按键的标识为无效标识并且所述当前按键的状态为释放,则根据所述当前按键的键值信息执行键值信息存储及分发,并且,将所述当前键盘检测状态更新为所述第一键盘检测状态,其中,所述当前按键的键值信息包括所述当前按键的标识、所述当前按键的状态以及所述当前按键的按键类型。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述当前按键的键值信息执行键值信息存储及分发,包括:
将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾,其中,所述预设的键值缓冲队列为先入先出FIFO队列。
6.根据权利要求5所述的方法,其特征在于,所述将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾之后,还包括:
读取所述预设的键值缓冲队列中排列在第一位的键值信息,并执行所述排列在第一位的键值信息对应的分发处理;
删除所述键值缓冲队列中所述排列在第一位的所述键值信息。
7.根据权利要求2、3或4所述的方法,其特征在于,所述将所述当前键盘检测状态更新为所述第一键盘检测状态之后,还包括:
将所述预检测按键标识以及所述预检测按键状态置为初始无效值。
8.一种检测键盘键值的装置,其特征在于,包括:
扫描模块,用于执行键盘扫描,根据键盘扫描结果获取当前按键的标识以及所述当前按键的状态,所述当前按键的状态包括按下以及释放;
获取模块,用于获取当前键盘检测状态,所述当前键盘检测状态包括下述任一种:第一键盘检测状态、第二键盘检测状态、第三键盘检测状态以及第四键盘检测状态,其中,所述第一键盘检测状态表示空闲状态,所述第二键盘检测状态表示按键按下状态,所述第三键盘检测状态表示按键按下时长状态,所述第四键盘检测状态表示按键释放状态;
更新模块,用于根据所述当前键盘检测状态以及所述当前按键的状态执行所述当前键盘检测状态对应的操作,并在操作结果满足状态更新条件时将所述当前键盘检测状态更新为新的键盘检测状态;
所述更新模块,具体用于:
若所述当前键盘检测状态为第一键盘检测状态,则判断所述当前按键的标识是否为有效标识以及所述当前按键的状态是否为按下,若所述当前按键的标识为有效标识并且所述当前按键的状态为按下,则将所述当前按键的标识作为预检测按键标识,将所述当前按键的状态作为预检测按键状态,并且,将所述当前键盘检测状态更新为第二键盘检测状态。
9.根据权利要求8所述的装置,其特征在于,所述更新模块,具体包括:
第一判断单元,用于若所述当前键盘检测状态为所述第二键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
第一更新单元,用于若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将按键状态计数器的值置为零,并且,将所述当前键盘检测状态更新为所述第三键盘检测状态,其中,所述按键状态计数器用于记录按键按下时长;或者,若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则将所述当前键盘检测状态更新为第一键盘检测状态。
10.根据权利要求9所述的装置,其特征在于,所述更新模块,具体还包括:
第二判断单元,用于若所述当前键盘检测状态为所述第三键盘检测状态,则判断所述当前按键的标识是否与所述预检测按键标识相同以及所述当前按键的状态是否与所述预检测按键状态相同;
第二更新单元,用于若所述当前按键的标识与所述预检测按键标识相同并且所述当前按键的状态与所述预检测按键状态相同,则将所述按键状态计数器的值加1,作为更新后的按键状态计数器的值,并且,判断所述更新后的按键状态计数器的值是否小于预设的长按类型门限值,若更新后的按键状态计数器的值小于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为短按类型;若更新后的按键状态计数器的值大于或等于所述预设的长按类型门限值,则将所述当前按键的按键类型设置为长按类型,并将所述当前键盘检测状态更新为所述第四键盘检测状态、以及根据所述当前按键的键值信息执行键值信息存储及分发;或者,若所述当前按键的标识与所述预检测按键标识不同,和/或,所述当前按键的状态与所述预检测按键状态不同,则判断所述按键状态计数器的值是否小于预设的短按类型最大门限值并且大于预设的短按类型最小门限值,若是,则将所述当前键盘检测状态更新为所述第四键盘检测状态,若否,则将所述当前键盘检测状态更新为所述第一键盘检测状态。
11.根据权利要求10所述的装置,其特征在于,所述更新模块,具体还用于:
若所述当前键盘检测状态为所述第四键盘检测状态,则判断所述当前按键的标识是否为无效标识以及所述当前按键的状态是否为释放,若所述当前按键的标识为无效标识并且所述当前按键的状态为释放,则根据所述当前按键的键值信息执行键值信息存储及分发,并且,将所述当前键盘检测状态更新为所述第一键盘检测状态,其中,所述当前按键的键值信息包括所述当前按键的标识、所述当前按键的状态以及所述当前按键的按键类型。
12.根据权利要求10或11所述的装置,其特征在于,所述更新模块具体还用于:
将所述当前按键的键值信息添加到预设的键值缓冲队列的队尾,其中,所述预设的键值缓冲队列为先入先出FIFO队列。
13.根据权利要求12所述的装置,其特征在于,所述更新模块具体还包括:
读取单元,用于读取所述预设的键值缓冲队列中排列在第一位的键值信息,并执行所述排列在第一位的键值信息对应的分发处理;
删除单元,用于删除所述键值缓冲队列中所述排列在第一位的所述键值信息。
14.根据权利要求9、10或11所述的装置,其特征在于,所述更新模块具体还用于:在将所述当前键盘检测状态更新为所述第一键盘检测状态之后,将所述预检测按键标识以及所述预检测按键状态置为初始无效值。
CN201511000814.6A 2015-12-28 2015-12-28 检测键盘键值的方法及装置 Active CN105634503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511000814.6A CN105634503B (zh) 2015-12-28 2015-12-28 检测键盘键值的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511000814.6A CN105634503B (zh) 2015-12-28 2015-12-28 检测键盘键值的方法及装置

Publications (2)

Publication Number Publication Date
CN105634503A CN105634503A (zh) 2016-06-01
CN105634503B true CN105634503B (zh) 2018-07-31

Family

ID=56049112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511000814.6A Active CN105634503B (zh) 2015-12-28 2015-12-28 检测键盘键值的方法及装置

Country Status (1)

Country Link
CN (1) CN105634503B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107976624B (zh) * 2016-10-24 2020-10-09 佛山市顺德区美的电热电器制造有限公司 按键状态的检测方法及装置
CN106781842B (zh) * 2016-11-29 2020-05-19 大连佳音科技有限公司 一种钢琴按键动作自适应识别系统及方法
CN108270447B (zh) * 2016-12-30 2024-05-24 北京普源精电科技有限公司 键盘消抖方法、扫描控制器、主控制器及测量仪器
CN109814735B (zh) * 2019-01-25 2023-04-07 超越科技股份有限公司 按键弹起后的键值发送处理方法及系统
CN114257249A (zh) * 2021-12-23 2022-03-29 西安芯海微电子科技有限公司 键盘扫描电路、键盘按键识别方法、芯片和键盘

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953334A (zh) * 2006-11-17 2007-04-25 北京中星微电子有限公司 一种扫描键盘的方法和系统
CN101924563A (zh) * 2009-06-16 2010-12-22 厦门敏讯信息技术股份有限公司 一种键盘扫描方法
CN102508556A (zh) * 2011-10-31 2012-06-20 深圳市元征软件开发有限公司 键盘扫描的实现方法
CN103034336A (zh) * 2011-09-29 2013-04-10 无锡华润矽科微电子有限公司 键盘矩阵及其按键扫描方法
CN103226391A (zh) * 2013-05-22 2013-07-31 湖南工业大学 一种独立式键盘的扫描定位方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953334A (zh) * 2006-11-17 2007-04-25 北京中星微电子有限公司 一种扫描键盘的方法和系统
CN101924563A (zh) * 2009-06-16 2010-12-22 厦门敏讯信息技术股份有限公司 一种键盘扫描方法
CN103034336A (zh) * 2011-09-29 2013-04-10 无锡华润矽科微电子有限公司 键盘矩阵及其按键扫描方法
CN102508556A (zh) * 2011-10-31 2012-06-20 深圳市元征软件开发有限公司 键盘扫描的实现方法
CN103226391A (zh) * 2013-05-22 2013-07-31 湖南工业大学 一种独立式键盘的扫描定位方法

Also Published As

Publication number Publication date
CN105634503A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105634503B (zh) 检测键盘键值的方法及装置
CN102257469B (zh) 存储系统及用于控制存储系统的方法
CN109800047B (zh) 游戏中技能的切换方法及装置、存储介质及电子设备
US8074000B2 (en) Hotkey processing method and computer system
US20060213754A1 (en) Method and system for computer application program task switching via a single hardware button
CN112764872B (zh) 计算机设备、虚拟化加速设备、远程控制方法及存储介质
CN105335099A (zh) 一种内存清理方法及终端
JP2003006003A (ja) Dmaコントローラおよび半導体集積回路
CN102147756B (zh) 终端测试方法和系统
CN109865285B (zh) 游戏中的信息处理方法及装置、计算机存储介质
CN105843731B (zh) 计算机系统及通过计算机系统执行的性能监控方法
US20120159136A1 (en) Computer system boot enhancements with user override
WO2023116130A1 (zh) 键盘扫描电路、键盘按键识别方法、芯片和键盘
CN103180829B (zh) 中断信号接收装置及计算机装置
CN111124519B (zh) 基于输入响应优化安卓应用程序启动速度的方法及系统
CN104298432A (zh) 信息展示方法和装置
EP2608042A2 (en) Method for estimating power consumption of a virtual machine and corresponding apparatus and recording medium
EP4354293A1 (en) Detection method and apparatus, and electronic device
CN105867685A (zh) 终端设备的控制方法和装置
CN110347639A (zh) 片上系统及其操作方法
WO2022237083A1 (zh) 信息显示方法、装置、终端、存储介质及计算机程序产品
CN106155886B (zh) 一种键鼠脚本处理的方法和装置
JP2001229038A (ja) マルチオペレーテング計算機システム
CN107797891A (zh) 一种续航测试方法、终端设备及计算机可读介质
JPH08137703A (ja) タスク切替装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant