ls164013 发表于 2018-8-30 11:06:01

动态矩阵键盘实现原理

想要搞一个动态的矩阵键盘,要硬件那种,也就是说矩阵键盘同样的位置每次打开键盘并且按下读取到的数值也许都是不一样的,诸位大佬有没有什么好的实现思路,多谢指点

ls164013 发表于 2018-8-30 11:37:27

有没有大佬可以给点意见,或者有什么想法我们也可以沟通一下嘛:'(

yu0405jie 发表于 2018-8-30 11:50:58

定义一个数组,并对其中的元素随机赋值,作为键盘按下的值,按键的位置当做这个数组的索引,每次按下之后在给这个数组随机赋值,作为下一次按键的值,可行不

wolfgang2015 发表于 2018-8-30 12:01:01

矩阵键盘扫描
设置扫描码
扫描码转ASCII码

子曰好人 发表于 2018-8-30 13:27:02

用伪随机数吧,不过在下觉得这个没有什么实际意义,按键的键值不一样每次输入的值都是随机的

ls164013 发表于 2018-8-30 13:59:17

子曰好人 发表于 2018-8-30 13:27
用伪随机数吧,不过在下觉得这个没有什么实际意义,按键的键值不一样每次输入的值都是随机的 ...

不能确定按键值得话也没有啥用啊,不过可不可以实现屏幕上显示的数字0-9是随机排列然后显示出来的那种呢

ls164013 发表于 2018-8-30 14:00:32

yu0405jie 发表于 2018-8-30 11:50
定义一个数组,并对其中的元素随机赋值,作为键盘按下的值,按键的位置当做这个数组的索引,每次按下之后在 ...

这样的话 ,数组里面值随着按键按下随机产生,那这个产生的值不可控,也就没法拿来用了啊

子曰好人 发表于 2018-8-30 14:22:47

ls164013 发表于 2018-8-30 13:59
不能确定按键值得话也没有啥用啊,不过可不可以实现屏幕上显示的数字0-9是随机排列然后显示出来的那种呢 ...

还是可以用随机数嘛,随机数以10取余,只要十个数不相同就行了

ls164013 发表于 2018-8-30 14:25:50

子曰好人 发表于 2018-8-30 14:22
还是可以用随机数嘛,随机数以10取余,只要十个数不相同就行了

好,我去找下随机数的相关资料研究一下,谢谢

stm1024 发表于 2018-8-30 14:38:14

内部维护一个随机数组把按键的输入值作为数组的index。
这样的话, 虽然每次按键的值是一样的,但是查询index的时候,返回的值不一样。
例如:
arr1[]={0,1,2,3,4,5,6,7,8,9}这个是正常的键盘,你按键输入5,返回5。
arr2[]={3,1,6,4,8,0,7,9,5,2}这个是随机键盘,你输入输入5,返回的是0。
但是你需要告诉使用者键盘的对应情况。
页: [1] 2
查看完整版本: 动态矩阵键盘实现原理