你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

动态矩阵键盘实现原理

[复制链接]
ls164013 提问时间:2018-8-30 11:06 /
想要搞一个动态的矩阵键盘,要硬件那种,也就是说矩阵键盘同样的位置每次打开键盘并且按下读取到的数值也许都是不一样的,诸位大佬有没有什么好的实现思路,多谢指点
收藏 评论17 发布时间:2018-8-30 11:06

举报

17个回答
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。
但是你需要告诉使用者键盘的对应情况。
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
定义一个数组,并对其中的元素随机赋值,作为键盘按下的值,按键的位置当做这个数组的索引,每次按下之后在 ...

这样的话 ,数组里面值随着按键按下随机产生,那这个产生的值不可控,也就没法拿来用了啊
ls164013 回答时间:2018-8-30 11:37:27
有没有大佬可以给点意见,或者有什么想法我们也可以沟通一下嘛
随风飘扬 回答时间:2018-8-30 11:50:58
定义一个数组,并对其中的元素随机赋值,作为键盘按下的值,按键的位置当做这个数组的索引,每次按下之后在给这个数组随机赋值,作为下一次按键的值,可行不
wolfgang 回答时间:2018-8-30 12:01:01
矩阵键盘扫描
设置扫描码
扫描码转ASCII码
子曰好人 回答时间:2018-8-30 13:27:02
用伪随机数吧,不过在下觉得这个没有什么实际意义,按键的键值不一样每次输入的值都是随机的
子曰好人 回答时间: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取余,只要十个数不相同就行了

好,我去找下随机数的相关资料研究一下,谢谢
随风飘扬 回答时间:2018-8-30 14:38:59
ls164013 发表于 2018-8-30 14:00
这样的话 ,数组里面值随着按键按下随机产生,那这个产生的值不可控,也就没法拿来用了啊 ...

方法楼下已经说了,另外需要注意的就是对新产生的数要保证没有出现过,要不就会两个按键对应同一个值了
wenyangzeng 回答时间:2018-8-30 15:53:18
用一个随机数发生器对键值进行加密编码就可以了。
ls164013 回答时间:2018-8-30 16:18:32
yu0405jie 发表于 2018-8-30 14:38
方法楼下已经说了,另外需要注意的就是对新产生的数要保证没有出现过,要不就会两个按键对应同一个值了 ...

多谢,代码已经写好了
ls164013 回答时间:2018-8-30 16:18:53
wenyangzeng 发表于 2018-8-30 15:53
用一个随机数发生器对键值进行加密编码就可以了。

多谢。。。。。。。。。。。。。
wyxy163@126.com 回答时间:2018-8-30 20:46:05
提示: 作者被禁止或删除 内容自动屏蔽
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版