CN108696271B - 一种基于电容触摸按键的滑动手势识别方法及系统 - Google Patents
一种基于电容触摸按键的滑动手势识别方法及系统 Download PDFInfo
- Publication number
- CN108696271B CN108696271B CN201810522944.3A CN201810522944A CN108696271B CN 108696271 B CN108696271 B CN 108696271B CN 201810522944 A CN201810522944 A CN 201810522944A CN 108696271 B CN108696271 B CN 108696271B
- Authority
- CN
- China
- Prior art keywords
- key
- pressed
- state
- keys
- released
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/94—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
- H03K17/96—Touch switches
- H03K17/962—Capacitive touch switches
- H03K17/9622—Capacitive touch switches using a plurality of detectors, e.g. keyboard
Landscapes
- Electronic Switches (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种基于触摸按键的滑动手势识别方法及系统,系统包括触摸按键电路模块,用于提供按键通路的使能信号;按键扫描控制模块,用于轮询输出触摸按键电路模块中所有按键通路的使能信号;按键采样值生成模块,用于对触摸按键电路模块输出的时钟信号进行采样计数;按键阈值生成模块,用于生成判别按键状态的阈值;数值比较器,用于按键的采样值和按键阈值之间的大小比较;按键状态生成模块,用于根据数值比较器的比较结果判断得出按键的状态;手势识别模块,用于根据按键状态生成模块输出的按键的状态,判别出正确的手势动作。采用轮询扫描各个触摸按键的方法设计的识别系统,不仅降低了系统的成本,而且系统结构稳定,手势识别准确稳定。
Description
技术领域
本发明涉及触摸按键技术领域,具体涉及一种基于电容触摸按键的滑动手势识别方法及系统。
背景技术
现有技术中在触摸按键手势识别判断时采用的方法在识别一个按键按下时将另外一个按键通道关闭,直到当前所识别的按键释放时,才使能另外一个按键通道,判别另外一个按键在接下来的时间片内是否被按下。如果被按下,则该方法会识别出一次滑动操作。在这种方法下,如果两个按键同时按下,且某一个按键先释放一段时间,则该方法会将该过程识别为一次滑动手势操作。然而这对于用户来说,给设备激励的并不是一个滑动手势。因此该方案存在一定的误触发识别。对于一个成熟、可使用的电容触控产品,能够准确、实时的识别出滑动手势,对于用户来说至关重要。然而现有技术中并没有针对该点给出明确的解决方案与规避的方法。
发明内容
基于现有技术的不足,本发明的目的在于在提供一种基于电容触摸按键的滑动手势识别方法的同时,还提供了一种可实现该方法的基于电容触摸按键的滑动手势识别系统,解决现有技术中按键误触发识别的问题。
为实现上述目的,本发明的技术方案为:
一种基于触摸按键的滑动手势识别方法,用在两个电容式单点触摸按键上或用在两个电容式单点触摸按键为一组的多个按键的判别上,其特征在于所述方法包括:
步骤1,对每轮两个按键S0和按键S1的状态进行扫描,判断按键S0和按键S1的状态,若按键S0且按键S1保持释放状态,则返回初始空闲状态;若按键S0按下且S1释放,则进入步骤2;若按键S0释放且按键S1按下,则进入步骤3;
步骤2,继续对两按键进行至少两轮扫描,若按键S0按下且按键S1释放,则保留在按键S0先按下状态;若按键S0释放且按键S1释放,或按键S0按下且按键S1按下,则进入步骤4;若按键S0释放且按键S1按下,则进入步骤5;
步骤3,继续对两按键进行至少两轮扫描,若按键S0释放且按键S1按下,则保留在按键S1先按下状态;若按键S0释放且按键S1释放或按键S0按下且按键S1按下,则进入步骤6;若按键S0按下且按键S1释放,则进入步骤7;
步骤4,若按键S0按下且按键S1释放,则进入步骤2;若按键S0和按键S1的状态与之前进入步骤4时的状态一致,则电路还是保留在按键S0先按下去抖状态;若按键S0释放且按键S1按下,则进入步骤5;若按键S0和按键S1状态与之前进入步骤4的状态全部不一致,则结束本次手势识别流程;
步骤5,电路进入按键S1后按下状态,输出手势按键S0到按键S1有效信号;在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态;若按键S0释放且按键S1按下,则保留在本状态;若产生按键S1释放,则结束本次手势识别流程;
步骤6,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态,若按键S1按下且按键S0释放,则进入步骤3;若按键S0和按键S1的状态与之前进入步骤6时的状态一致,则保留在按键S1先按下状态,若按键S0按下且按键S1释放,则进入步骤7;若按键S0和按键S1状态与之前进入步骤6的状态全部不一致,则结束本次手势识别流程;
步骤7,进入按键S0后按下状态,输出手势按键S1到按键S0有效信号,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态,若按键S0按下且按键S1释放,则保留在本状态;若产生按键S0释放,则结束本次手势识别流程。
进一步的,所述方法还包括对按键按S0和按键S1的状态判断方法,所述按键S0和按键S1的状态判断方法包括:每一个识别过程同时判断两个按键的状态,根据两个触摸按键的状态判断是否有滑动动作产生,对每一个识别过程同时判断两个按键的状态包括将不同按键通道在同一轮按键扫描周期内的按键采样值当作不同按键通道在同一个时刻的按键状态,对一段连续的时间串口内的按键状态进行判断,识别出按键操作。
进一步的,所述方法还包括当按键S0和按键S1的前一次状态不同,后一次的状态相同时,在对按键S0和按键S1前一次按键状态判断之后对先按下按键进行去抖。
进一步的,所述方法包括按键是否按下的状态判断方法,按键是否按下的状态判断方法包括:开始对按键的手指电容作用下产生的张弛时钟进行扫描计数,当一次扫描周期完成后,断开按键,并得到扫描周期内计数的累加值n,将按键的扫描值n与按键的阈值进行比较,若n大于阈值,则判定按键未按下,若n小于阈值,则判定按键按下。
进一步的,所述阈值的判定方法包括:
步骤1,动态的锁存6个判定为非按下的按键扫描采样值,每产生一个新的按键扫描采样值,变更新6个按键采样值的序列;
步骤2,在每次6个锁存的非按下的按键扫描采样值更新后,去除一个最大值,去除一个最小值,将剩余的4个中间值进行求和平均,将所得的输出值乘以60%后得到的值,便是每次产生新的按键采样值时所比较按键状态的阈值。
一种基于触摸按键的滑动手势识别系统,其特征在于:包括
触摸按键电路模块,用于提供按键通路的使能信号,该使能信号为人手触摸按键时输出的时钟信号;
按键扫描控制模块,用于轮询输出触摸按键电路模块中所有按键通路的使能信号;
按键采样值生成模块,用于对触摸按键电路模块输出的时钟信号在扫描时间窗口内进行采样计数,得到两个按键的扫描采样值;
按键阈值生成模块,用于生成判别按键状态的阈值;
数值比较器,用于按键的采样值和按键阈值之间的大小比较;
按键状态生成模块,用于根据数值比较器的比较结果判断得出按键的状态;
手势识别模块,用于根据按键状态生成模块输出的按键的状态,判别出正确的手势动作,并输出结果。
进一步的,所述触摸按键电路模块采用多按键张弛电路模块,所述多按键张弛电路模块包括依次连接的基底电容、施密特触发器及反相器,施密特触发器的输入端并联多个手指电容,施密特触发器的输入端由电流源为其供电,反相器的输出端连接有信号处理电路。
进一步的,所述按键阈值生成模块,用于动态的锁存6个判定为非按下的按键扫描值,去掉一个最大值,一个最小值后,求和平均,并乘以一个固定比例后,生成判别按键的阈值。
进一步的,所述按键状态生成模块,用于根据数值比较器输出的结果,当按键采样值小于按键阈值时,判定为按键按下,否则,判定为按键释放或未按下。
本发明的有益效果为:本手势识别方法在每次判别过程中把所有按键的状态同时作为输出因子进行判别,考虑了触摸按键实际的工作场景,可以准确的判断出正确的手势动作,滤除了其他干扰的动作;
本方法还根据按键工作环境变化,提供的自适应的触摸按键阈值生成方法,提升了触摸按键工作的稳定性;
同时,针对各个按键在电路板子上的排布情况,加入了手势滑动过程中的中间去抖状态,使按键状态判断更加精准和稳定;
本手势识别系统采用轮询扫描各个触摸按键的方法设计的识别系统,不仅降低了系统的成本,而且系统结构稳定,手势识别准确稳定;
特别的,本系统基于张弛电路实现,多个按键通道共用一套张弛电路,降低了多通道按键的电路面积,特别是在按键通道数变多的情况下,电路结构大大降低电路的成本。
附图说明
图1为本发明具体实施例的方法流程图;
图2为本发明具体实施例的系统框图;
图3为本发明具体实施例的多路触摸按键的张驰电路原理图;
图4为本发明具体实施例的触摸按键轮询扫描时序图;
图5为本发明具体实施例的按键扫描计数时序图;
图6为本发明具体实施例的双触摸按键识别系统工作流程图;
图7为本发明具体实施例的双按键判断时刻示意图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
本发明设计了一个基于电容触摸按键的滑动手势识别方法,流程图如图1所示。其中,本实施例方法可用在以按键S0和按键S1可组成的单独按键上,也用在两个按键为一组的多个按键的判别上,所用到的按键为电容式单点触摸按键。所述方法包括:
步骤1,使能手势识别功能后进入初始空闲状态,在完成每轮两个按键状态的扫描后,判断按键S0和按键S1的状态。若按键S0且按键S1保持释放状态,返回初始空闲状态;若按键S0按下且S1释放,则进入步骤2;若按键S0释放且按键S1按下,则进入步骤3。
步骤2,进入按键S0先按下状态,表示此时检测到了触摸按键S0先按下,在完成每轮两个按键状态的扫描后,判断按键S0和按键S1的状态。若按键S0按下且按键S1释放,表示此时按键的状态与当前表征的状态一致,还是保留在按键S0先按下状态;若按键S0释放且按键S1释放,或者按键S0按下且按键S1按下,则进入步骤4;若按键S0释放且按键S1按下,则进入步骤5。
步骤3,进入按键S1先按下状态,表示此时检测到了触摸按键S1先按下,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态。若按键S0释放且按键S1按下,表示此时按键的状态与当前表征的状态一致,还是保留在按键S1先按下状态;若按键S0释放且按键S1释放或者按键S0按下且按键S1按下,则进入步骤6;若按键S0按下且按键S1释放,则进入步骤7。
步骤4,进入按键S0先按下去抖状态,表示此时进入按键S0已按下,且已检测到按键状态处于变换的过程中。在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态。若按键S0按下且按键S1释放,则进入步骤2;若按键S0和按键S1的状态与之前进入步骤4时的状态一致,还是保留在按键S0先按下去抖状态。若按键S0释放且按键S1按下,则进入步骤5;若按键S0和按键S1状态与之前进入步骤4的状态全部不一致,则结束本次手势识别流程。
步骤5,进入按键S1后按下状态,进入本状态说明电路检测到了一次从按键S0到按键S1滑动手势的检测,输出手势按键S0到按键S1有效信号。在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态。若按键S0释放且按键S1按下,还是保留在本状态;若产生按键S1释放(此情况不关心按键S0的状态),则结束本次手势识别流程。
步骤6,进入按键S1先按下去抖状态,表示此时进入按键S1已按下,且已检测到按键状态处于变换的过程中,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态。若按键S1按下且按键S0释放,则进入步骤3;若按键S0和按键S1的状态与之前进入步骤6时的状态一致,还是保留在按键S1先按下去抖状态。若按键S0按下且按键S1释放,则进入步骤7;若按键S0和按键S1状态与之前进入步骤6的状态全部不一致,则结束本次手势识别流程。
步骤7,进入按键S0后按下状态,进入本状态说明电路检测到了一次从按键S1到按键S0滑动手势的检测,输出手势按键S1到按键S0有效信号。在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态。若按键S0按下且按键S1释放,则还是保留在本状态;若产生按键S0释放(此情况不关心按键S1的状态),则结束本次手势识别流程。
所述方法还包括对按键按S0和按键S1的状态判断方法,所述按键S0和按键S1的状态判断方法包括:每一个识别过程同时判断两个按键的状态,根据两个触摸按键的状态判断是否有滑动动作产生,对每一个识别过程同时判断两个按键的状态包括将不同按键通道在同一轮按键扫描周期内的按键采样值当作不同按键通道在同一个时刻的按键状态,对一段连续的时间串口内的按键状态进行判断,识别出按键操作。
所述方法还包括当按键S0和按键S1的前一次状态不同,后一次的状态相同时,在对按键S0和按键S1前一次按键状态判断之后对先按下按键进行去抖。在本实施例中的去抖动作具体体现在步骤4中按键S0先按下去后和步骤6中按键S1先按下去后。
所述方法包括按键是否按下的状态判断方法,按键是否按下的状态判断方法包括:开始对按键的手指电容作用下产生的时钟进行扫描计数,当一次扫描周期完成后,断开按键,并得到扫描周期内计数的累加值n,将按键的扫描值n与按键的阈值进行比较,若n大于阈值,则判定按键未按下,若n小于阈值,则判定按键按下。
所述阈值的判定方法包括:
步骤1,动态的锁存6个判定为非按下的按键扫描采样值,每产生一个新的按键扫描采样值,变更新6个按键采样值的序列;
步骤2,在每次6个锁存的非按下的按键扫描采样值更新后,去除一个最大值,去除一个最小值,将剩余的4个中间值进行求和平均,将所得的输出值乘以60%后得到的值,便是每次产生新的按键采样值时所比较按键状态的阈值。
如图2所示,一种基于触摸按键的滑动手势识别系统,包括
触摸按键电路模块,用于提供按键通路的使能信号,该使能信号为人手触摸按键时输出的时钟信号;
按键扫描控制模块,用于轮询输出触摸按键电路模块中所有按键通路的使能信号;
按键采样值生成模块,用于对触摸按键电路模块输出的时钟信号在扫描时间窗口内进行采样计数,得到两个按键的扫描采样值;
按键阈值生成模块,动态的锁存6个判定为非按下的按键扫描值,去掉一个最大值,一个最小值后,求和平均,并乘以一个固定比例后,生成判别按键状态的阈值;
数值比较器,用于按键的采样值和按键阈值之间的大小比较;
按键状态生成模块,用于根据数值比较器的比较结果判断得出按键的状态,当按键采样值小于按键阈值时,判定为按键按下,否则,判定为按键释放或未按下;
手势识别模块,用于根据按键状态生成模块输出的按键的状态,判别出正确的手势动作,并输出结果。
所述触摸按键电路模块采用多按键张弛电路模块,所述多按键张弛电路模块包括依次连接的基底电容、施密特触发器及反相器,施密特触发器的输入端并联多个手指电容,施密特触发器的输入端由电流源为其供电,反相器的输出端连接有信号处理电路。
使用本实施例的基于触摸按键的滑动手势识别系统判定基于触摸按键的滑动手势识别的方法具体阐述如下:
本实施例基于共用一个张弛电路的多路触摸按键实现滑动手势的识别功能。对于多路触摸按键的张驰电路原理图如图3所示。多路触摸按键采用分时复用的方式进行按键识别。对于两个触摸按键的示例而言,其扫描时序如图4所示。
根据图4的时序,触摸按键电路周期性的使能某一路触摸按键S0,S1。如图3所示,如果开关S0闭合,则外部的手指电容(假如外部有人手触摸,则存在一定的人手电容Cf0,否则外部的电容值为0)和触摸电路的基底电容Cp并联;开关S1闭合,结果亦然。由于张弛电路输出的频率与其参加充放电电容的容值存在相关性,因此我们计算每次开关闭合期间的张弛电路输出的频率来判定外部是否有人手电容触摸按键。
为了保证人手触摸按键最快的速度下也不会漏检按键动作,在目前人手最快的反应速率测试中,作为普通人10s内点击74次。假设最快的选手,点击速率为普通人的两倍,即10s点击140次,则点击一次的时间是71ms,这71ms的时间分为三个阶段,手指下落,手指接触按键,手指抬起,三个阶段为一次完整的触摸按键过程,假设三个阶段是相等的,因此最快的手指接触按键的时间可以认为大约为24ms。因此为保证不会漏检按键动作,单次检查按键的时间不能大于24ms。我们以5ms来作为每个按键检测的时间窗口。如图4所示。
由于电容触摸按键产生人手触摸后,内部张弛电路频率会发生明显的变化。因此通过检测该变化可以判断手指是否按下。在按键检测的时间窗口内,对张弛时钟进行采样计数得到计数值n。通过判断该计数值n与触摸按键的阈值比较大小,判定按键是否被按下。人手触摸后,张弛电路的充电电容值变大,张弛电路的输出频率值会变小,因此在扫描周期内得到的计数值n会变小。因此当得到的扫描计数值n相比按键阈值小时,就判定为一次按键按下。计数时序如图5所示。
根据以上段落的描述,以2通道的触摸按键为例,按键状态识别电路工作的流程图如图6所示。步骤1,使能张弛电路开关S0,图3中开关S0闭合,电路开始对按键0的手指电容作用下产生的张弛时钟进行扫描计数。当一次扫描周期完成后,断开开关S0,并得到扫描周期内计数的累加值n0。步骤2,将按键0的扫描值n0与按键0的阈值进行比较,若n0大于阈值,则判定按键0未按下,若n0小于阈值,则判定按键0按下。步骤3,使能张弛电路开关S1,电路开始对按键1的手指电容作用下产生的张弛时钟进行扫描计数。当一次扫描周期完成后,断开开关S1,并得到扫描周期内计数的累加值n1。步骤4,将按键1的扫描值n1与按键1的阈值进行比较,若n1大于阈值,则判定按键1未按下,若n1小于阈值,则判定按键1按下。步骤5,电路进行空闲状态。完成空闲状态的等待后,电路重新回到步骤1,进行新一轮的按键状态扫描。
电容触摸按键电路衡量是否被按下一个重要的因素是按键的判定阈值。可以证明张弛电路输出时钟的周期和电容大小的关系如式1,其中C代表张弛电路的充电电容大小,VIH为施密特比较器的高电压阈值,VIL为施密特比较器的低电压阈值,I为充电电流源的电流大小。
T=2C(VIH-VIL)/I 式1
因此,若按键没有按下的情况下,按键的固定扫描时间窗口W内所得的采样个数n的关系如式2,其中Cp和Cf分别表示基底电容和手指电容的容值。
n=W/T=WI/2Cp(VIH-VIL) 式2
若按键按下的情况下,按键采样个数n的值为式3,
n=W/T=WI/2(Cp+Cf)(VIH-VIL)
式3
正常情况下,人的手指的电容Cf为5pF~15pF之间。把电路本身基底电容Cp控制在5pF以内,则在保守的情况下,按键按下n值与按键未按下的n值至少会产生50%的偏差。因此,根据这个推导,把按键比较是否按下的阈值设定为按键未按下时产生的n值的60%,作为判定按键是否按下的阈值。
由于按键触摸电路在工作的过程中,张弛电路输出的频率变化不仅仅只受到人手触摸电容值的影响。在实际环境中,张弛电路输出的频率还受到电路工艺,工作温度,工作电压的影响,而这些影响是随着环境因素的变化而动态变化。因此如果判定按键的阈值固定不变的话,就可能会导致外部没有按键时触摸按键,或者按键按下时由于采样的n值大于阈值而被判决为没有按下的结果,引起按键状态的误判定。为解决该问题,增强电容触摸按键使用的稳定性,设计了如前面所述的阈值的判定方法。目的是随着当前工作环境的变化,按键的判定阈值可以动态的自适应调整。针对一系类的循环扫描触摸按键得到的采样值n的序列,采用动态去脉冲平均值滤波的方式计算得出判定阈值。
通过两个触摸按键的状态组合,判断出按键的滑动识别功能。如果两个触摸按键S0,S1在PCB上并排分布。当人手从S0往S1方向滑动时,按照时间先后分别产生S0按下,S0释放,S1按下三个事件,可以判断出此时产生了一个S0到S1的滑动手势。按照时间的先后分别产生S1按下,S1释放,S0按下三个事件,可以判断出此时产生了一个S1到S0的滑动手势。另外,当两个按键同时按下,或一个按键按下,再过一段特定时间后另外一个按键按下都不能使电路判定为当前手势为滑动操作。
触摸按键的手势识别,每一个识别过程必须同时判断两个按键的状态。根据两个触摸按键的状态判断是否有滑动的动作产生。由于两个按键通道采用的是轮询扫描每个按键。在每个扫描时刻,张驰电路只能获得单个按键动作,因此在按键的扫描机制上,自然存在按键检测的先后问题。为了解决该问题,将不同按键通道在同一轮按键扫描周期内的按键采样值当作不同按键通道在同一个时刻的按键状态,对一段连续的时间串口内的按键状态进行判断,识别出按键操作。
参阅图7,为手势识别时两个按键进行判断状态的示意图。其中所表示的箭头分别为某一按键产生新的按键扫描值的时刻,每条虚线表示进行两个按键状态判断的时刻。根据前后两次判定按键状态,可以分别识别出手势状态,如表1~2所示。
表1按键S0到按键S1的滑动操作
表2按键Y到按键X的滑动操作
手势滑动识别系统还必须可以识别出一些伪滑动操作,并且不会对这些操作进行响应,如表3~4所示。
表3某一按键按下,到按键S0和按键S1同时按下
表4按键S0按键S1同时按下,某一键值释放
在现实的按键应用中,由于在电路板子上,用来实现滑动识别的两个按键可能在物理排布的时候存在一定的距离,或者两个滑动按键的排布很紧密。当滑动按键分布存在距离时,手指从S0滑动到S1的动作,可能会经过一段即没有接触到S0,也没有接触到S1的物理空间。此时,在识别系统上识别到的状态如表5。
表5按键S0到按键S1滑动操作,中间经历若干个两者同时释放的情况
当滑动按键分布的比较紧密时,手指从按键S0滑动到按键S1的动作,可能会经过一段即接触到按键S0也接触到按键S1,导致两个按键都识别为按下的空间。此时在识别系统上识别到的状态如表6。
表6按键S0到按键S1滑动操作,中间经历若干个同时按下的情况
因此根据上面的分析,在按键状态转换的过程中,手势识别系统需要加入相对应的去抖流程(相对应表5和表6中的tdbc0~tdbc)。去抖流程中去抖的次数根据应用的电路板按键设计方案具体调试。手势识别系统在进入去抖流程后,需要记住触发进入去抖流程时两个按键的状态。如触发进入去抖流程时按键的状态是S0和S1都释放,则系统能够继续留在去抖流程的条件是在额定的去抖次数之内,两个按键的状态不能改变。若在去抖流程内按键的状态发生了改变。则立即离开该流程,进入相应的下一流程。
需要说明的是,以上所述只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
Claims (5)
1.一种基于触摸按键的滑动手势识别方法,用在两个电容式单点触摸按键上或用在两个电容式单点触摸按键为一组的多个按键的判别上,其特征在于所述方法包括:
步骤1,对每轮两个按键S0和按键S1的状态进行扫描,判断按键S0和按键S1的状态,若按键S0且按键S1保持释放状态,则返回初始空闲状态;若按键S0按下且S1释放,则进入步骤2;若按键S0释放且按键S1按下,则进入步骤3;
步骤2,继续对两按键进行至少两轮扫描,若按键S0按下且按键S1释放,则保留在按键S0先按下状态;若按键S0释放且按键S1释放,或按键S0按下且按键S1按下,则进入步骤4;若按键S0释放且按键S1按下,则进入步骤5;
步骤3,继续对两按键进行至少两轮扫描,若按键S0释放且按键S1按下,则保留在按键S1先按下状态;若按键S0释放且按键S1释放或按键S0按下且按键S1按下,则进入步骤6;若按键S0按下且按键S1释放,则进入步骤7;
步骤4,若按键S0按下且按键S1释放,则进入步骤2;若按键S0和按键S1的状态与之前进入步骤4时的状态一致,则电路还是保留在按键S0先按下去抖状态;若按键S0释放且按键S1按下,则进入步骤5;若按键S0和按键S1状态与之前进入步骤4的状态全部不一致,则结束本次手势识别流程;
步骤5,电路进入按键S1后按下状态,输出手势按键S0到按键S1有效信号;在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态;若按键S0释放且按键S1按下,则保留在本状态;若产生按键S1释放,则结束本次手势识别流程;
步骤6,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态,若按键S1按下且按键S0释放,则进入步骤3;若按键S0和按键S1的状态与之前进入步骤6时的状态一致,则保留在按键S1先按下状态,若按键S0按下且按键S1释放,则进入步骤7;若按键S0和按键S1状态与之前进入步骤6的状态全部不一致,则结束本次手势识别流程;
步骤7,进入按键S0后按下状态,输出手势按键S1到按键S0有效信号,在完成每轮两个按键的状态扫描后,判断按键S0和按键S1的状态,若按键S0按下且按键S1释放,则保留在本状态;若产生按键S0释放,则结束本次手势识别流程。
2.如权利要求1所述的基于触摸按键的滑动手势识别方法,其特征在于,所述方法还包括对按键按S0和按键S1的状态判断方法,所述按键S0和按键S1的状态判断方法包括:每一个识别过程同时判断两个按键的状态,根据两个触摸按键的状态判断是否有滑动动作产生,对每一个识别过程同时判断两个按键的状态包括将不同按键通道在同一轮按键扫描周期内的按键采样值当作不同按键通道在同一个时刻的按键状态,对一段连续的时间串口内的按键状态进行判断,识别出按键操作。
3.如权利要求1所述的基于触摸按键的滑动手势识别方法,其特征在于:所述方法还包括当按键S0和按键S1的前一次状态不同,后一次的状态相同时,在对按键S0和按键S1前一次按键状态判断之后对先按下按键进行去抖。
4.如权利要求1所述的基于触摸按键的滑动手势识别方法,其特征在于,所述方法包括按键是否按下的状态判断方法,按键是否按下的状态判断方法包括:开始对按键的手指电容作用下产生的张弛时钟进行扫描计数,当一次扫描周期完成后,断开按键,并得到扫描周期内计数的累加值n,将按键的扫描值n与按键的阈值进行比较,若n大于阈值,则判定按键未按下,若n小于阈值,则判定按键按下。
5.如权利要求4所述的基于触摸按键的滑动手势识别方法,其特征在于,所述阈值的判定方法包括:
步骤1,动态的锁存6个判定为非按下的按键扫描采样值,每产生一个新的按键扫描采样值,变更新6个按键采样值的序列;
步骤2,在每次6个锁存的非按下的按键扫描采样值更新后,去除一个最大值,去除一个最小值,将剩余的4个中间值进行求和平均,将所得的输出值乘以60%后得到的值,便是每次产生新的按键采样值时所比较按键状态的阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810522944.3A CN108696271B (zh) | 2018-05-28 | 2018-05-28 | 一种基于电容触摸按键的滑动手势识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810522944.3A CN108696271B (zh) | 2018-05-28 | 2018-05-28 | 一种基于电容触摸按键的滑动手势识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696271A CN108696271A (zh) | 2018-10-23 |
CN108696271B true CN108696271B (zh) | 2022-02-25 |
Family
ID=63846999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810522944.3A Active CN108696271B (zh) | 2018-05-28 | 2018-05-28 | 一种基于电容触摸按键的滑动手势识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696271B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109428579B (zh) * | 2018-11-30 | 2024-01-23 | 广州巨晟微电子股份有限公司 | 一种电容式触摸按键抗干扰检测装置及检测方法 |
CN111459346B (zh) | 2020-03-31 | 2021-09-07 | 深圳市汇顶科技股份有限公司 | 电容式触控装置及其手势识别方法、芯片和存储介质 |
CN112532226B (zh) * | 2020-11-05 | 2024-05-10 | 广东瑞德智能科技股份有限公司 | 一种新型触摸人机交互处理方法 |
CN113126815B (zh) * | 2021-03-01 | 2023-09-01 | 卧安科技(深圳)有限公司 | 一种按键响应控制方法、装置、终端设备及存储介质 |
CN113867577B (zh) * | 2021-09-23 | 2024-06-14 | 珠海一微半导体股份有限公司 | 一种电容式触摸按键的数字检测系统、芯片及检测方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1260937B1 (en) * | 2001-05-15 | 2005-02-16 | Fujitsu Limited | Touch panel device |
CN101739805A (zh) * | 2009-12-21 | 2010-06-16 | 康佳集团股份有限公司 | 实现遥控按键释放消息的方法 |
CN102023768A (zh) * | 2009-09-09 | 2011-04-20 | 比亚迪股份有限公司 | 触摸点定位方法、系统及显示终端 |
CN102193033A (zh) * | 2010-03-08 | 2011-09-21 | 上海海栎创微电子有限公司 | 一种具有快速响应的自电容变化测量电路 |
CN102782625A (zh) * | 2010-04-30 | 2012-11-14 | 密克罗奇普技术公司 | 多点触摸输入装置中的互电容测量 |
CN104123026A (zh) * | 2013-04-28 | 2014-10-29 | 北京汇冠新技术股份有限公司 | 一种触摸屏触摸轨迹运动方向识别的方法 |
CN104238901A (zh) * | 2013-06-19 | 2014-12-24 | 义隆电子股份有限公司 | 通过识别扫滑手势来开启窗口控制栏的方法及触控系统 |
CN104340132A (zh) * | 2013-08-09 | 2015-02-11 | 本田技研工业株式会社 | 输入装置 |
CN104951139A (zh) * | 2015-07-09 | 2015-09-30 | 合肥鑫晟光电科技有限公司 | 触摸屏及其制造方法、触控响应方法、触摸装置 |
CN106020568A (zh) * | 2016-05-11 | 2016-10-12 | 青岛海信电器股份有限公司 | 触摸区域提取方法、装置和显示设备 |
CN106708254A (zh) * | 2015-08-19 | 2017-05-24 | 恩智浦有限公司 | 检测器 |
CN106775177A (zh) * | 2017-02-15 | 2017-05-31 | 江苏沁恒股份有限公司 | 一种感应按键检测方法和检测装置 |
CN107710135A (zh) * | 2015-03-08 | 2018-02-16 | 苹果公司 | 使用可旋转输入机构的用户界面 |
CN108063617A (zh) * | 2017-11-20 | 2018-05-22 | 珠海慧联科技有限公司 | 一种低频rc振荡器的时钟频率校准方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7265746B2 (en) * | 2003-06-04 | 2007-09-04 | Illinois Tool Works Inc. | Acoustic wave touch detection circuit and method |
JP5104150B2 (ja) * | 2007-09-14 | 2012-12-19 | オムロン株式会社 | 検知装置および方法、並びにプログラム |
TW200942459A (en) * | 2008-04-07 | 2009-10-16 | rui-yang Zhang | Auto-inflatable capsule |
US8735755B2 (en) * | 2011-03-07 | 2014-05-27 | Synaptics Incorporated | Capacitive keyswitch technologies |
JP6203549B2 (ja) * | 2013-06-27 | 2017-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
KR102081253B1 (ko) * | 2013-12-09 | 2020-02-26 | 삼성디스플레이 주식회사 | 표시 장치 및 그 구동 방법 |
-
2018
- 2018-05-28 CN CN201810522944.3A patent/CN108696271B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1260937B1 (en) * | 2001-05-15 | 2005-02-16 | Fujitsu Limited | Touch panel device |
CN102023768A (zh) * | 2009-09-09 | 2011-04-20 | 比亚迪股份有限公司 | 触摸点定位方法、系统及显示终端 |
CN101739805A (zh) * | 2009-12-21 | 2010-06-16 | 康佳集团股份有限公司 | 实现遥控按键释放消息的方法 |
CN102193033A (zh) * | 2010-03-08 | 2011-09-21 | 上海海栎创微电子有限公司 | 一种具有快速响应的自电容变化测量电路 |
CN102782625A (zh) * | 2010-04-30 | 2012-11-14 | 密克罗奇普技术公司 | 多点触摸输入装置中的互电容测量 |
CN104123026A (zh) * | 2013-04-28 | 2014-10-29 | 北京汇冠新技术股份有限公司 | 一种触摸屏触摸轨迹运动方向识别的方法 |
CN104238901A (zh) * | 2013-06-19 | 2014-12-24 | 义隆电子股份有限公司 | 通过识别扫滑手势来开启窗口控制栏的方法及触控系统 |
CN104340132A (zh) * | 2013-08-09 | 2015-02-11 | 本田技研工业株式会社 | 输入装置 |
CN107710135A (zh) * | 2015-03-08 | 2018-02-16 | 苹果公司 | 使用可旋转输入机构的用户界面 |
CN104951139A (zh) * | 2015-07-09 | 2015-09-30 | 合肥鑫晟光电科技有限公司 | 触摸屏及其制造方法、触控响应方法、触摸装置 |
CN106708254A (zh) * | 2015-08-19 | 2017-05-24 | 恩智浦有限公司 | 检测器 |
CN106020568A (zh) * | 2016-05-11 | 2016-10-12 | 青岛海信电器股份有限公司 | 触摸区域提取方法、装置和显示设备 |
CN106775177A (zh) * | 2017-02-15 | 2017-05-31 | 江苏沁恒股份有限公司 | 一种感应按键检测方法和检测装置 |
CN108063617A (zh) * | 2017-11-20 | 2018-05-22 | 珠海慧联科技有限公司 | 一种低频rc振荡器的时钟频率校准方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于Android平台的手势识别图像裁剪应用研究;王慧杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130115(第01(2013年)期);I138-1590 * |
Also Published As
Publication number | Publication date |
---|---|
CN108696271A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696271B (zh) | 一种基于电容触摸按键的滑动手势识别方法及系统 | |
US10983633B2 (en) | Key detecting method and apparatus | |
US9367156B2 (en) | Touch-control method, device, and electronic device | |
CN103164067B (zh) | 判断触摸输入的方法及电子设备 | |
TW201135515A (en) | Gesture identification method and apparatus applied in a touchpad | |
CN105867822B (zh) | 一种信息处理方法及电子设备 | |
CN108900941A (zh) | 耳机的音量控制方法及装置 | |
CN111052034B (zh) | 设备开合盖检测的方法、触摸控制器、触控板和电子设备 | |
KR100531800B1 (ko) | 터치 스크린의 노이즈 필터링 방법 | |
CN104184449A (zh) | 电容式触控装置、方法与系统 | |
EP2751647A1 (en) | Touchscreen system | |
JP2009157755A (ja) | 静電容量型デジタル式タッチパネル | |
CN105389116A (zh) | 用于终端设备的终端应用处理方法和系统、终端设备 | |
CN108418908A (zh) | 一种手机左右手操作识别装置及方法 | |
CN110275639B (zh) | 触摸数据处理方法、装置、终端及存储介质 | |
CN111459340A (zh) | 触摸按键抗干扰处理方法及触摸按键装置 | |
TWI510969B (zh) | 輸入裝置及控制單元 | |
CN109478115A (zh) | 噪声感测电路及触控装置 | |
CN107957827A (zh) | 一种基于电容触摸面板的触控识别方法及系统 | |
CN102436310B (zh) | 以键盘模拟鼠标装置的方法及输入装置 | |
EP2722988B1 (en) | A method of the touch detection for capacitive touch sensors | |
CN103414456A (zh) | 具近接感测的侦测电路 | |
JP2018036903A (ja) | 入力装置、端末装置および入力制御プログラム | |
CN109661644A (zh) | 一种压力触控方法及终端 | |
CN113703659B (zh) | 状态的检测方法及装置、可穿戴设备、可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |