一、按键长短按 只执行一次(只执行一次看上升沿
判断完上升沿,再判断时间
①按下按键,开始计时
②判断按键是否抬起
③再看抬起时的时间是否超过1000ms,超过就执行长按功能
否则执行短按功能
④清除0
二、长按一直执行(长按肯定先看时间
先判断时间和标志位,再判断上升沿orKey_Old
①按下按键,开始计时
②在1000ms内,并且标志位为1(保证0的时候不进去,因为是先判断时间)时看有没有产生上升沿,产生上升沿执行短按功能,标志位,时间清0(那种判断时间大于啥啥啥的就不用判断标志位)
③然后不断扫描,如果扫描到的时候计时超过1000ms,判断此时按键是否是按下的,是按下的就执行长按的功能,然后置位
三、长按跳转,松手返回
长按:判断时间,然后跳转
松手:判断上升沿,返回
①按下按键,开始计时
②计时到达,就跳转
③松手,就返回,并清0
四、按键双击
①按下按键
②计数值++,标志位置1,时间清0
③计时超过250(这个要自己慢慢试)
④看计数值:为2双击,执行双击功能
:为1单机,执行单击功能
⑤标志位,计数值,时间 清0
五、密码门输入
改底层了宝贝
①删除上一个值:先把现在的值赋成10,然后再--索引值(限制住
②清空输入的所有数据:直接将索引值清0
③密码门:
1.如果输入的值还没有到达极限
2.如果输入的数据在0--9之间
3.将键码值-1赋给输入数组
4.索引值再++
六、按键双击(多次点击)
改底层:判断这两个都按下了
1.如果两个按键都按下了:①把按键锁住 ②执行双按键功能
2.如果双按键按下了并且还是按下的就返回return
3.如果没有按下了,就把锁存的置0
后面执行其他正常功能