CN104331170B - 实现矩阵键盘中组合按键的方法及装置 - Google Patents

实现矩阵键盘中组合按键的方法及装置 Download PDF

Info

Publication number
CN104331170B
CN104331170B CN201410602085.0A CN201410602085A CN104331170B CN 104331170 B CN104331170 B CN 104331170B CN 201410602085 A CN201410602085 A CN 201410602085A CN 104331170 B CN104331170 B CN 104331170B
Authority
CN
China
Prior art keywords
button
value
pressed
flag bit
numerical value
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
CN201410602085.0A
Other languages
English (en)
Other versions
CN104331170A (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 Hailan Yinghua Technology Co ltd
Hainan Hailan Huanyu Ocean Information Technology Co ltd
Original Assignee
Beijing Highlander Ying Hua 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 Highlander Ying Hua Technology Co Ltd filed Critical Beijing Highlander Ying Hua Technology Co Ltd
Priority to CN201410602085.0A priority Critical patent/CN104331170B/zh
Publication of CN104331170A publication Critical patent/CN104331170A/zh
Application granted granted Critical
Publication of CN104331170B publication Critical patent/CN104331170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明公开了一种实现矩阵键盘中组合按键的方法及装置。组合按键包括第一按键和第二按键,该方法包括:检测第一按键是否被按下;在检测到第一按键被按下时,检测第二按键是否被按下;如果检测到第二按键被按下,则发送组合按键所对应的输入指令;以及如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。通过本发明,解决了在矩阵键盘中难以实现复杂组合按键的功能的问题。

Description

实现矩阵键盘中组合按键的方法及装置
技术领域
本发明涉及电子领域,具体而言,涉及一种实现矩阵键盘中组合按键的方法及装置。
背景技术
键盘是很多电子产品的必须输入设备,通常,大规模键盘有三种设计方法,第一种是采用专用键盘编码芯片,按键按照行和列输入,编码后的数据以USB接口输出,此方法需要专用键盘编码芯片并设计USB接口,增加了设计复杂性。第二种是将按键分别接入CPLD的IO脚,利用CPLD的IO引脚多的优势分别对每一个按键状态进行判断并将结果输出到处理单元,此方法需要增加CPLD芯片,增加了硬件成本。第三种是采用MCU设计的通用矩阵键盘,让按键接入到矩阵相应的行和列,此方法具有成本低廉、占用硬件资源少等优点。采用MCU设计的矩阵键盘能实现单个按键和简单组合按键的功能,但难以实现一些复杂组合按键的功能,因此极大地限制了采用MCU设计的矩阵键盘在需要组合逻辑按键场合的应用。
针对现有技术中在矩阵键盘中难以实现复杂组合按键的功能,目前尚未提出有效的解决方案。
发明内容
针对在矩阵键盘中难以实现复杂组合按键的功能的问题而提出本发明,为此,本发明的主要目的在于提供一种实现矩阵键盘中组合按键的方法及装置,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种实现矩阵键盘中组合按键的方法,该方法包括:检测第一按键是否被按下;在检测到第一按键被按下时,检测第二按键是否被按下;如果检测到第二按键被按下,则发送组合按键所对应的输入指令;如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。
进一步地,检测第一按键是否被按下包括:将矩阵键盘的列值设为零;对矩阵键盘的行进行扫描;检测矩阵键盘的行值是否为零;如果检测到矩阵键盘的行值为零,查找行值为零的行对应的列;由列值为零的列和行值为零的行,检测到第一按键被按下。
进一步地,在获取第一输入信息之前,该方法还包括:创建第一标志位、第二标志位和第三标志位,其中,第一标志位的值包括第一数值、第二数值和第三数值,第二标志位的值包括第四数值和第五数值,第三标志位的值包括第六数值和第七数值;将第一标志位的值设置为第一数值,其中,第一数值表示第一按键没有被按下;将第二标志位的值设置为第四数值,其中,第四数值表示第二按键没有被按下;将第三标志位的值设置为第六数值,其中,第六数值表示没有按键被按下。
进一步地,在检测到第一按键被按下时,检测第二按键是否被按下包括:将第一标志位更新为第二数值,其中,第二数值表示第一按键被按下;判断第二标志位是否为第五数值,其中,第五数值表示第二按键被按下;在判断出第二标志位为第五数值的情况下,检测到第二按键被按下;在判断出第二标志位不为第五数值的情况下,未检测到第二按键被按下。
进一步地,如果检测到第二按键被按下,则发送组合按键所对应的输入指令包括:将第一标志位更新为第三数值,其中,第三数值表示第一按键被抬起;将第三标志位更新为第七数值,其中,第七数值表示有按键被按下,需要发送被按下按键对应的输入指令;发送组合按键所对应的输入指令;将第三标志位更新为第六数值,其中,第六数值表示没有按键被按下,不需要发送指令;将第一标志位更新为第一数值。
进一步地,如果检测到第二按键未被按下,则发送第一按键所对应的输入指令包括:检测第一按键是否被抬起;如果检测到第一按键被抬起,将第二标志位更新为第四数值,其中,第四数值表示第二按键没有被按下;判断第一标志位是否为第二数值,其中,第二数值表示第一按键被按下;如果判断出第一标志位为第二数值,发送第一按键所对应的输入指令;将第一标志位更新为第一数值。
为了实现上述目的,根据本发明的另一个方面,提供了一种实现矩阵键盘中组合按键的装置。组合按键包括第一按键和第二按键,该装置包括:第一检测单元,用于检测第一按键是否被按下;第二检测单元,用于在检测到第一按键被按下时,检测第二按键是否被按下;第一发送单元,用于在检测到第二按键被按下的情况下,则发送组合按键所对应的输入指令;第二发送单元,用于在检测到第二按键未被按下的情况下,则发送第一按键所对应的输入指令。
进一步地,第一检测单元包括:预设模块,用于将矩阵键盘的列值设为零;扫描模块,用于对矩阵键盘的行进行扫描;第一检测模块,用于检测矩阵键盘的行值是否为零;查找模块,用于在检测到矩阵键盘的行值为零的情况下,查找行值为零的行对应的列;第二检测模块,用于由列值为零的列和行值为零的行,检测到第一按键被按下。
进一步地,第一发送单元包括:第一更新模块,用于将第一标志位更新为第三数值,其中,第三数值表示第一按键被抬起;第二更新模块,用于将第三标志位更新为第七数值,其中,第七数值表示有按键被按下,需要发送被按下按键对应的输入指令;第一发送模块,用于发送组合按键所对应的输入指令;第三更新模块,用于将第三标志位更新为第六数值,其中,第六数值表示没有按键被按下,不需要发送指令;第四更新模块,用于将第一标志位更新为第一数值。
进一步地,第二发送单元包括:第三检测模块,用于检测第一按键是否被抬起;第五更新模块,用于在检测到第一按键被抬起的情况下,将第二标志位更新为第四数值,其中,第四数值表示第二按键没有被按下;判断模块,用于判断第一标志位是否为第二数值,其中,第二数值表示第一按键被按下;第二发送模块,用于如果判断出第一标志位为第二数值,发送第一按键所对应的输入指令;第六更新模块,用于将第一标志位更新为第一数值。
通过本发明,采用包括以下步骤的方法:检测第一按键是否被按下;在检测到第一按键被按下时,检测第二按键是否被按下;如果检测到第二按键被按下,则发送组合按键所对应的输入指令;如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。通过本发明,解决了在矩阵键盘中难以实现复杂组合按键的功能的问题。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的实现矩阵键盘中组合按键的方法的第一实施例的流程图;
图2是根据本发明的实现矩阵键盘中组合按键的方法的第二实施例的流程图;以及
图3是根据本发明的实现矩阵键盘中组合按键的装置的第一实施例的示意图。
具体实施方式
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的实现矩阵键盘中组合按键的方法的第一实施例的流程图。如图1所示,该方法包括如下的步骤S101至步骤S104:
步骤S101,检测第一按键是否被按下。
检测矩阵键盘中第一按键是否被按下。
矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。通常,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比其直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合适的。
检测矩阵键盘中第一按键是否被按下之前,创建第一标志位、第二标志位和第三标志位,其中,第一标志位的值包括第一数值、第二数值和第三数值,第二标志位的值包括第四数值和第五数值,第三标志位的值包括第六数值和第七数值;将第一标志位的值设置为第一数值,其中,第一数值表示第一按键没有被按下;将第二标志位的值设置为第四数值,其中,第四数值表示第二按键没有被按下;将第三标志位的值设置为第六数值,其中,第六数值表示没有按键被按下,不需要发送指令。
具体地,检测第一按键是否被按下,将矩阵键盘中的列值预设为零,对矩阵键盘的行进行扫描,检测矩阵键盘的行值是否为零;如果检测到矩阵键盘的行值为零,查找行值为零的行对应的列;由列值为零的列和行值为零的行,检测出第一按键被按下。检测出第一按键被按下之后,将第一标志位更新为第二数值,其中,第二数值表示第一按键被按下。
步骤S102,在检测到第一按键被按下时,检测第二按键是否被按下。
在矩阵键盘中,检测出第一按键被按下,继续检测第二按键是否被按下。
具体地,在矩阵键盘中,如果检测到第一按键被按下,判断第二标志位是否为第五数值,其中,第五数值表示第二按键被按下,在判断出第二标志位为第五数值的情况下,表示检测出第二按键被按下。如果判断出第二标志位不为第五数值,表示未检测到第二按键被按下。
步骤S103,如果检测到第二按键被按下,则发送组合按键所对应的输入指令。
在矩阵键盘中,如果检测到第二按键被按下,则发送组合按键所对应的输入指令。组合按键包括:第一按键和第二按键。
具体地,在矩阵键盘中,如果检测到第二按键被按下,将第一标志位更新为第三数值,第三数值表示第一按键被抬起。将第三标志位更新为第七数值,第七数值表示有按键被按下,需要发送被按下的组合键对应的输入指令。在检测出第三标志位为第七数值时,发送组合按键所对应的输入指令。然后,将第三标志位更新为第六数值,第六数值表示没有按键被按下,不需要发送指令;将第一标志位更新为第一数值。
步骤S104,如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。
在矩阵键盘中,如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。
具体地,在矩阵键盘中,通过定时器预设的扫描周期,循环扫描第一按键上一个时间周期与当前时间周期的状态是否一致,当检测出第一按键上一个时间周期与当前时间周期的状态不一致,检测出第一按键被抬起;将第二标志位更新为第四数值,其中,第四数值表示第二按键没有被按下;判断第一标志位是否为第二数值,其中,第二数值表示第一按键被按下;如果判断出第一标志位为第二数值,发送第一按键所对应的输入指令;将第一标志位更新为第一数值。
本发明实施例提供的实现矩阵键盘中组合按键的方法,通过检测第一按键是否被按下,在检测到第一按键被按下时,检测第二按键是否被按下,如果检测到第二按键被按下,则发送组合按键所对应的输入指令,如果检测到第二按键未被按下,则发送第一按键所对应的输入指令。通过本发明中先后检测出第一按键和第二按键是否被按下,确定出需要发送的指令,解决了在矩阵键盘中难以实现复杂组合按键的功能的问题。
图2是根据本发明的实现矩阵键盘中组合按键的方法的第二实施例的流程图。如图2所示:定义了3个标志位,标志位1用于记录A键的按下,标志位2用于记录B键和C键的按下,标志位3用于记录当前是否有按键按下。该方法包括如下的步骤S201至步骤S215:
步骤S201,列扫描并读取行值。
通过将矩阵键盘中所有列预设为0,对矩阵键盘中所有行进行循环扫描。
步骤S202,A键被按下并且标志位2为零?
在对矩阵键盘中所有行进行循环扫描时,当扫描出行值为0时,判断出A键被按下。判断标志位2是否为0,在此,标志位2为0表示当前按键被按下,标志位2不为0,表示当前有按键被按下。
步骤S203,A键抬起?
A键被按下后,判断出标志位2不为零的情况下,检测A键是否被抬起。
步骤S204,标志位2清零?
在检测出A键被抬起的情况下,判断标志位2是否清零。
步骤S205,标志位1为1?
判断标志位1是否为1。
步骤S206,置A键值,标志位1置3,标志位3置1。
在判断出标志位1为1的情况下,发送A键对应的输入指令,同时将标志位1预设为3,标志位3预设为1。
步骤S207,标志位1置1。
在检测出A键被抬起,判断出标志位2为0的情况下,将标志位1置1。
步骤S208,标志位1为1?
判断将标志位1是否为1。
步骤S209,标志位2为1?
在判断出标志位1为1的情况下,判断标志位2是否为1。
步骤S210,置A+B键值,标志位1置2,标志位3置1。
在判断出标志位2为1的情况下,将A+B键对应的输入指令确定为即将发送的USB数据包,同时将标志位1预设为2,标志位3预设为1。
步骤S211,标志位2为2?
在判断出标志位2不为1的情况下,判断标志位2是否为2。
步骤S212,置A+C键值,标志位1置2,标志位3置1。
在判断出标志位2为2的情况下,将A+C键对应的输入指令确定为即将发送的USB数据包,同时将标志位1预设为2,标志位3预设为1。
步骤S213,标志位3为1?
判断标志位3是否为1,其中,判断标志位3为1代表当前有按键被按下。
步骤S214,发送USB数据包,标志位3清零。
在判断出标志位3为1的情况下,发送相应的USB数据包,标志位3清零。USB数据包括:通过A+B或A+C所对应的输入指令确定的USB数据包。
步骤S215,结束。
当检测到A键按下后,将标志位1预设为1。此时如果抬起A键,将标志位2清零,判断标志位1,如果为1则预设为A键值,将标志位1预设为3,标志位3预设为1,程序在经过几个条件判断后会将A键值发送出去。如果按下A键后不抬起A键,而是按下B键,程序预设为标志位2为1,此时标志位2逻辑判断满足条件,程序预设为A+B组合按键值,并将标志位1预设为2,将标志位3预设为1,之后程序会将A+B组合按键值发送出去。A+C组合功能工作过程类似。
以Windows键作为A键进行举例,具体解决复杂组合按键的功能的相关代码如下:
Windows_Key1=Windows_Key2;
Windows_Key2=GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_5);
if(Windows_Key1==0x00&&Windows_Key2==0x00&&over_flag==1&&Windows_
Func_flag==0x00)
{
Windows_Down_flag=0x01;
}
else if(Windows_Key1==0x00 && Windows_Key2==0x01 && over_flag==1 )
{
Windows_Func_flag=0x00;
if(Windows_Down_flag==0x01)
{
Key_Buffer[2]=0xE3;
Key_flag=1;
Windows_Down_flag=0x03;//单个按键抬起
}
}
if(Windows_Down_flag==0x01)
{
if(Windows_Func_flag==0x01) //Windows+R
{
// Windows_Func_flag=0x03;
Key_Buffer[3]=0x15;
Key_Buffer[2]=0xE3;
Key_flag=1;
Windows_Down_flag=0x02;//组合按键
}
else if(Windows_Func_flag==0x02)//Windows+D
{
Key_Buffer[3]=0x07;
Key_Buffer[2]=0xE3;
Key_flag=1;
Windows_Down_flag=0x02;
}
}
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种实现矩阵键盘中组合按键的装置,需要说明的是,本发明实施例的实现矩阵键盘中组合按键的装置可以用于执行本发明实施例所提供的用于实现矩阵键盘中组合按键的方法。以下对本发明实施例提供的实现矩阵键盘中组合按键的装置进行介绍:
图3是根据本发明的一种实现矩阵键盘中组合按键的装置的第一实施例的示意图。如图3所示,该装置包括:第一检测单元10、第二检测单元20、第一发送单元30和第二发送单元40。
第一检测单元10,用于检测第一按键是否被按下。
第二检测单元20,用于在检测到第一按键被按下时,检测第二按键是否被按下。
第一发送单元30,用于在检测到第二按键被按下的情况下,则发送组合按键所对应的输入指令。
第二发送单元40,用于在检测到第二按键未被按下的情况下,则发送第一按键所对应的输入指令。
本发明实施例提供的实现矩阵键盘中组合按键的装置,第一检测单元10,用于检测第一按键是否被按下;第二检测单元20,用于在检测到第一按键被按下时,检测第二按键是否被按下;第一发送单元30,用于在检测到第二按键被按下的情况下,则发送组合按键所对应的输入指令;第二发送单元40,用于在检测到第二按键未被按下的情况下,则发送第一按键所对应的输入指令。通过本发明中,检测单元先后检测出第一按键和第二按键是否被按下,通过发送单元发送按键对应的指令,解决了在矩阵键盘中难以实现复杂组合按键的功能的问题。
优选地,在本发明实施例提供的实现矩阵键盘中组合按键的装置中,第一检测单元还包括:预设模块,用于将矩阵键盘的列值设为零;扫描模块,用于对矩阵键盘的行进行扫描;第一检测模块,用于检测矩阵键盘的行值是否为零;查找模块,用于在检测到矩阵键盘的行值为零的情况下,查找行值为零的行对应的列;第二检测模块,用于由列值为零的列和行值为零的行,检测到第一按键被按下。
优选地,为了准确地发送组合按键所对应的输入指令,在本发明实施例提供的实现矩阵键盘中组合按键的装置中,第一发送单元包括:第一更新模块,用于将第一标志位更新为第三数值,其中,第三数值表示第一按键被抬起;第二更新模块,用于将第三标志位更新为第七数值,其中,第七数值表示有按键被按下,需要发送被按下按键对应的输入指令;第一发送模块,用于发送组合按键所对应的输入指令;第三更新模块,用于将第三标志位更新为第六数值,其中,第六数值表示没有按键被按下,不需要发送指令;第四更新模块,用于将第一标志位更新为第一数值。
优选地,为了准确地发送第一按键所对应的输入指令,在本发明实施例提供的实现矩阵键盘中组合按键的装置中,第二发送单元包括:第三检测模块,用于检测第一按键是否被抬起;第五更新模块,用于在检测到第一按键被抬起的情况下,将第二标志位更新为第四数值,其中,第四数值表示第二按键没有被按下;判断模块,用于判断第一标志位是否为第二数值,其中,第二数值表示第一按键被按下;第二发送模块,用于如果判断出第一标志位为第二数值,发送第一按键所对应的输入指令;第六更新模块,用于将第一标志位更新为第一数值。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种实现矩阵键盘中组合按键的方法,其特征在于,所述组合按键包括第一按键和第二按键,所述方法包括:
检测所述第一按键是否被按下;
在检测到所述第一按键被按下时,检测所述第二按键是否被按下;
如果检测到所述第二按键被按下,则发送所述组合按键所对应的输入指令;以及
如果检测到所述第二按键未被按下,发送所述第一按键所对应的输入指令;
其中,在检测矩阵键盘中第一按键是否被按下之前,创建第一标志位、第二标志位和第三标志位,其中,第一标志位的值包括第一数值、第二数值和第三数值,第二标志位的值包括第四数值和第五数值,第三标志位的值包括第六数值和第七数值;将第一标志位的值设置为第一数值,其中,第一数值表示第一按键没有被按下;将第二标志位的值设置为第四数值,其中,第四数值表示第二按键没有被按下;将第三标志位的值设置为第六数值,其中,第六数值表示没有按键被按下;
其中,如果检测到所述第二按键被按下,则发送所述组合按键所对应的输入指令包括:将所述第一标志位更新为所述第三数值,其中,所述第三数值表示所述第一按键被抬起;将所述第三标志位更新为所述第七数值,其中,所述第七数值表示有按键被按下,需要发送被按下按键对应的输入指令;发送所述组合按键所对应的输入指令;将所述第三标志位更新为所述第六数值,其中,所述第六数值表示没有按键被按下,不需要发送指令;将所述第一标志位更新为所述第一数值。
2.根据权利要求1所述的方法,其特征在于,检测所述第一按键是否被按下包括:
将矩阵键盘的列值设为零;
对所述矩阵键盘的行进行扫描;
检测所述矩阵键盘的行值是否为零;
如果检测到所述矩阵键盘的行值为零,查找行值为零的行对应的列;以及
由列值为零的列和行值为零的行,检测到所述第一按键被按下。
3.根据权利要求1所述的方法,其特征在于,在检测到所述第一按键被按下时,检测所述第二按键是否被按下包括:
将第一标志位更新为所述第二数值,其中,所述第二数值表示所述第一按键被按下;
判断第二标志位是否为所述第五数值,其中,所述第五数值表示所述第二按键被按下;
在判断出所述第二标志位为所述第五数值的情况下,检测到所述第二按键被按下;以及
在判断出所述第二标志位不为所述第五数值的情况下,未检测到所述第二按键被按下。
4.根据权利要求1所述的方法,其特征在于,如果检测到所述第二按键未被按下,则发送所述第一按键所对应的输入指令包括:
检测所述第一按键是否被抬起;
如果检测到所述第一按键被抬起,将所述第二标志位更新为第四数值,其中,所述第四数值表示所述第二按键没有被按下;
判断第一标志位是否为第二数值,其中,所述第二数值表示所述第一按键被按下;
如果判断出第一标志位为第二数值,发送所述第一按键所对应的输入指令;以及
将所述第一标志位更新为所述第一数值。
5.一种实现矩阵键盘中组合按键的装置,其特征在于,所述组合按键包括第一按键和第二按键,所述装置包括:
第一检测单元,用于检测所述第一按键是否被按下;
第二检测单元,用于在检测到所述第一按键被按下时,检测所述第二按键是否被按下;
第一发送单元,用于在检测到所述第二按键被按下的情况下,则发送所述组合按键所对应的输入指令;以及
第二发送单元,用于在检测到所述第二按键未被按下的情况下,则发送所述第一按键所对应的输入指令;
其中,在检测矩阵键盘中第一按键是否被按下之前,所述装置还用于:创建第一标志位、第二标志位和第三标志位,其中,第一标志位的值包括第一数值、第二数值和第三数值,第二标志位的值包括第四数值和第五数值,第三标志位的值包括第六数值和第七数值;将第一标志位的值设置为第一数值,其中,第一数值表示第一按键没有被按下;将第二标志位的值设置为第四数值,其中,第四数值表示第二按键没有被按下;将第三标志位的值设置为第六数值,其中,第六数值表示没有按键被按下;
其中,所述第一发送单元包括:第一更新模块,用于将第一标志位更新为第三数值,其中,所述第三数值表示所述第一按键被抬起;第二更新模块,用于将第三标志位更新为第七数值,其中,所述第七数值表示有按键被按下,需要发送被按下按键对应的输入指令;第一发送模块,用于发送所述组合按键所对应的输入指令;第三更新模块,用于将第三标志位更新为第六数值,其中,所述第六数值表示没有按键被按下,不需要发送指令;第四更新模块,用于将第一标志位更新为第一数值。
6.根据权利要求5所述的装置,其特征在于,所述第一检测单元包括:
预设模块,用于将矩阵键盘的列值设为零;
扫描模块,用于对所述矩阵键盘的行进行扫描;
第一检测模块,用于检测所述矩阵键盘的行值是否为零;
查找模块,用于在检测到所述矩阵键盘的行值为零的情况下,查找行值为零的行对应的列;以及
第二检测模块,用于由列值为零的列和行值为零的行,检测到所述第一按键被按下。
7.根据权利要求5所述的装置,其特征在于,所述第二发送单元包括:
第三检测模块,用于检测所述第一按键是否被抬起;
第五更新模块,用于在检测到所述第一按键被抬起的情况下,将第二标志位更新为第四数值,其中,所述第四数值表示所述第二按键没有被按下;
判断模块,用于判断第一标志位是否为第二数值,其中,所述第二数值表示所述第一按键被按下;
第二发送模块,用于如果判断出第一标志位为第二数值,发送所述第一按键所对应的输入指令;以及
第六更新模块,用于将第一标志位更新为第一数值。
CN201410602085.0A 2014-10-30 2014-10-30 实现矩阵键盘中组合按键的方法及装置 Active CN104331170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410602085.0A CN104331170B (zh) 2014-10-30 2014-10-30 实现矩阵键盘中组合按键的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410602085.0A CN104331170B (zh) 2014-10-30 2014-10-30 实现矩阵键盘中组合按键的方法及装置

Publications (2)

Publication Number Publication Date
CN104331170A CN104331170A (zh) 2015-02-04
CN104331170B true CN104331170B (zh) 2017-12-01

Family

ID=52405913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410602085.0A Active CN104331170B (zh) 2014-10-30 2014-10-30 实现矩阵键盘中组合按键的方法及装置

Country Status (1)

Country Link
CN (1) CN104331170B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933553A (zh) * 2015-12-29 2017-07-07 研祥智能科技股份有限公司 一种基本输入输出系统设置的方法与系统
EP3497547A4 (en) * 2016-09-25 2019-12-11 Kordtech Pty Ltd HUMAN MACHINE INTERFACE SYSTEM
TWI644234B (zh) * 2017-12-26 2018-12-11 群光電子股份有限公司 鍵盤控制系統及其電腦輸入系統
CN109101118B (zh) * 2018-08-10 2022-11-22 超越科技股份有限公司 一种基于字符按键组合实现快捷键的方法与装置
CN110109788B (zh) * 2019-04-30 2023-11-10 惠州Tcl移动通信有限公司 多按键检测方法、装置、电子设备及存储介质
CN114116095B (zh) * 2021-11-10 2023-07-21 百度在线网络技术(北京)有限公司 一种输入方法、装置、电子设备、介质及产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001086B (zh) * 2007-01-12 2010-05-26 宁波天安(集团)股份有限公司 基于布尔处理的键盘矩阵解读方法
CN102262400A (zh) * 2010-05-24 2011-11-30 北京北广科技股份有限公司 基于can通信的步进电机驱动器的远程键控方法及装置
CN102541267B (zh) * 2010-12-31 2014-07-16 联芯科技有限公司 一种矩阵键盘电路、扫描方法、装置、处理器及手持终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7015896B2 (en) * 1998-01-23 2006-03-21 Digit Wireless, Llc Keyboards with both individual and combination key output

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001086B (zh) * 2007-01-12 2010-05-26 宁波天安(集团)股份有限公司 基于布尔处理的键盘矩阵解读方法
CN102262400A (zh) * 2010-05-24 2011-11-30 北京北广科技股份有限公司 基于can通信的步进电机驱动器的远程键控方法及装置
CN102541267B (zh) * 2010-12-31 2014-07-16 联芯科技有限公司 一种矩阵键盘电路、扫描方法、装置、处理器及手持终端

Also Published As

Publication number Publication date
CN104331170A (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
CN104331170B (zh) 实现矩阵键盘中组合按键的方法及装置
CN102880398B (zh) 一种基于随机数字阵列的手机解锁方法及手机
US3371320A (en) Multipurpose matrix
CN204066138U (zh) 具有指纹感测功能的电子装置
CN105224201A (zh) 一种界面显示的方法及终端
CN105117623A (zh) 一种解锁方法及移动终端
CN108038112A (zh) 文件处理方法、移动终端及计算机可读存储介质
CN105160218B (zh) 一种解锁方法及移动终端
KR101085490B1 (ko) 숄더 서핑 공격에 대응하기 위한 프라이버시 보호형 사용자 비밀번호 입력 시스템 및 그 방법
CN103227720B (zh) 一种应用于动态令牌的按键处理方法
CN103885714A (zh) 一种触控屏的锁屏方法、该触控屏及含该触控屏的终端
CN207216333U (zh) 一种旋钮档位开关的识别电路和烹饪器具
CN106407847A (zh) 一种解锁方法及装置
CN105045518A (zh) 一种图片解锁方法及移动终端
CN104618558B (zh) 一种终端
CN206441175U (zh) 一种移动存储设备的隔离器
CN103455148B (zh) 一种键盘和按键检测方法、以及移动设备
CN105138258A (zh) 一种移动终端屏幕锁屏的解锁方法及解锁装置
CN106371681B (zh) 感测电路及感测方法
CN106228929A (zh) 显示装置及显示装置的控制方法
CN104660807B (zh) 一种联系人列表的处理方法
CN203204635U (zh) 数码随机分布式密码输入器
CN104202055A (zh) 一种实时检测按键触发状态的按键电路、游戏手柄和方法
CN114898938B (zh) 具备温度监控显示功能的智能电缆装置
CN103279306B (zh) 一种网页输入框的字符显示方法及系统

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
TR01 Transfer of patent right

Effective date of registration: 20181012

Address after: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 8 Building 1902

Co-patentee after: Sanya Hai Lan world marine Mdt InfoTech Ltd.

Patentee after: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

Address before: 100083 Beijing Haidian District Zhongguancun East Road 1 hospital 8 Building 1902

Patentee before: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 8 Building 1902

Patentee after: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

Patentee after: Hainan Hailan Huanyu Ocean Information Technology Co.,Ltd.

Address before: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 8 Building 1902

Patentee before: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

Patentee before: Sanya Hai Lan world marine Mdt InfoTech Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20231120

Address after: Room 101, 1st Floor, Building 10, Yard 7, Dijin Road, Haidian District, Beijing, 100000

Patentee after: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

Address before: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 8 Building 1902

Patentee before: BEIJING HAILAN YINGHUA TECHNOLOGY CO.,LTD.

Patentee before: Hainan Hailan Huanyu Ocean Information Technology Co.,Ltd.

TR01 Transfer of patent right