麦克斯韦Maxwell 发表于 2024-3-13 17:13:44

关于复合按键的问题

使用复合按键进行按键的读取和处理,在读取过程中发现问题,使用独立按键程序时,FIFO会出现一个莫名其妙的QUICKTIME,经程序实测,不影响功能,且可以覆盖,使用复合按键时,程序FIFO出现空格,且不能被覆盖,在空格前,复合按键能够工作,过了空格区后,复合按键不能工作,但是单按键依然可以正常运行,求助各位大佬,为何使用复合按键后,我的FIFO区的写指针会直接跳过一些写入位,下面附上图示


eric2013 发表于 2024-3-14 00:37:05

把FIFO缓冲弄小点,有必要断点单步调试下了,看看FIFO每次的更新情况

会飞的猪_2020 发表于 2024-3-14 10:12:12

QUICKTIME是什么?没听懂

麦克斯韦Maxwell 发表于 2024-3-14 11:00:23

eric2013 发表于 2024-3-14 00:37
把FIFO缓冲弄小点,有必要断点单步调试下了,看看FIFO每次的更新情况

感谢大佬,找到问题所在了,我只给5个实体按键开了数组空间,还有两个实体键组成的复合键没有开数组空间,所以造成数组溢出,访问了一些莫名奇妙的数据出来

麦克斯韦Maxwell 发表于 2024-3-14 11:04:19

会飞的猪_2020 发表于 2024-3-14 10:12
QUICKTIME是什么?没听懂

QUICKTIME是我程序中设置的判断按键是否有重复按下的宏定义,当我检测到按键按下时,并不立刻把按键压入FIFO,而是等待一个QUICKTIME,在QUICKTIME时间内,如果有按键重复按下,则累加,最后看该按键时连按了几下,如果QUICKTIME内,没有按键重复按下,则输出该按键按了一次,把该键值压入FIFO,是我的一种按键实现方法

会飞的猪_2020 发表于 2024-3-15 08:39:56

麦克斯韦Maxwell 发表于 2024-3-14 11:04
QUICKTIME是我程序中设置的判断按键是否有重复按下的宏定义,当我检测到按键按下时,并不立刻把按键压入F ...

你是想用这种方式去判断双击,三击,四击..n击吗?

麦克斯韦Maxwell 发表于 2024-3-15 11:17:46

会飞的猪_2020 发表于 2024-3-15 08:39
你是想用这种方式去判断双击,三击,四击..n击吗?

是的,加一个QUICKTIME判断是双击,三击,n击等等
页: [1]
查看完整版本: 关于复合按键的问题