System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及键盘设备,具体涉及一种六键无冲和全键无冲自动切换方法。
技术介绍
1、键盘设备是计算机的基本输入设备,常规键盘设备一般由104个按键组成,作为用户体验的重要一环,在确保计算机能正常识别按键输入前提下需要满足足够多的按键被同时按下。
2、标准键盘数据格式为六键八字节,也即最多可以同时按下6个按键,计算机可以确保正常识别按键输入,以使标准的键盘设备只支持六键无冲,在实际应用中六键无冲输入无法满足超多6个按键以上的输入需求,现有技术中,通过采用更换键盘设备的方式来满足超多个数按键输入需求,所更换的键盘设备支持全键无冲,但全键无冲不适用于所有键盘设备系统兼容使用,如某些计算机的基本输入输出系统b i so,全键无冲的键盘在该系统上存在使用障碍。
技术实现思路
1、本专利技术的目的在于提供一种六键无冲和全键无冲自动切换方法,用于解决现有技术中全键无冲兼容性使用效果差的问题。
2、本专利技术的目的可以通过以下技术方案实现:
3、一种六键无冲和全键无冲自动切换方法,包括以下步骤:
4、键盘设备进行枚举,将预设的标准六键无冲描述表和全键无冲描述表发送至外部主机,所述外部主机的设备管理器通过两个h id键盘端点与所述键盘设备建立usb输入连接;
5、对所述键盘设备的矩阵按键状态进行遍历扫描,获取当前的矩阵按键状态信息;
6、根据所述矩阵按键状态信息,判断已按下的按键个数是否为规定值六个以下,若是,将当前变动的按键数
7、作为本专利技术进一步的方案:判断已按下的按键个数是否为规定值六个以下的方法包括:根据所述矩阵按键状态信息,判断当前按键变动的报告段值为1或0;
8、其中,若当前按键变动的报告段值为1时,则表示该当前按键处于按下状态,判断已按下的按键个数是否为规定值六个以下;若当前按键变动的报告段值为0时,则表示该当前按键处于弹起状态,判断弹起按键后仍按下的按键个数是否为规定值六个以下。
9、作为本专利技术进一步的方案:将当前变动的按键数据报文中规定值六个以下的按键数据报文仍以对应的预设标准六键无冲数据格式输出至外部主机,并将超出规定值部分的按键数据报文以对应的预设全键无冲数据格式输出至外部主机的方法包括以下步骤:
10、s1、外部主机获取上一次六键无冲数据报文和全键无冲数据报文,以及获取当前的矩阵按键状态信息;
11、s2、将当前的矩阵按键状态信息中第一字节数据直接赋值至当前六键无冲数据报文;
12、s3、键盘设备按键位进行遍历扫描,若遍历扫描当前按键变动的报告段值为0时,则继续遍历下一按键位,若遍历扫描当前按键变动的报告段值为1时,则执行步骤s4;
13、s4、判断上一次六键无冲数据报文中是否包括当前按键,若是,将当前按键对应的键值拷贝到当前六键无冲报文中,并执行步骤s7,反之,则执行步骤s5;
14、s5、判断上一次全键无冲数据报文中是否包括当前按键,若是,将当前按键对应的键值拷贝到当前全键无冲数据报文中,并执行步骤s7,反之,则执行步骤s6;
15、s6、判断当前六键无冲报文中是否空余按键存储区,若是,将当前按键对应的键值拷贝到当前六键无冲报文中,反之,将当前按键对应的键值拷贝到当前全键无冲数据报文中;
16、s7、判断键盘设备的遍历键位是否为最后一个按键位,若是,则执行步骤s8,反之,返回步骤s3;
17、s8、判断上一次六键无冲数据报文是否与当前六键无冲数据报文一致,若不一致,将当前六键无冲数据报文通过六键八字节格式传送至外部主机,并将当前六键无冲数据报文覆盖上一次六键无冲数据报文进行存储;
18、s9、判断上一次全键无冲数据报文是否与当前全键无冲数据报文一致,若不一致,将当前全键无冲数据报文以对应的全按键无冲突数据格式输出至外部主机,并将当前全键无冲数据报文覆盖上一次全键无冲数据报文进行存储。
19、作为本专利技术进一步的方案:所述当前的矩阵按键状态信息包括14字节按键输出格式,其中,1字节为控制按键,所述控制按键以预设标准六键无冲数据格式输出至外部主机,剩余13字节为普通按键。
20、作为本专利技术进一步的方案:所述预设标准六键无冲数据格式为六键八字节的按键数据格式。
21、作为本专利技术进一步的方案:所述预设全键无冲数据格式为十三字节以上的按键数据格式。
22、本专利技术的有益效果:本申请的六键无冲和全键无冲自动切换方法中,外部主机的设备管理器通过两个h id键盘端点与键盘设备建立usb输入连接,当前变动的按键数据报文优先以预设标准六键无冲数据格式输出至外部主机,当已按下的按键个数超过规定值,规定值以外的按键数据报文以对应的预设全键无冲数据格式输出至外部主机。也即说键盘设备能够根据按键的数据通过不同的按键描述报文格式发送键盘数据给外部主机,有效的解决了b i so下标准键盘数据格式的兼容性问题,同时在不支持全键无冲协议的系统上使用该键盘,也可以确保键盘正常使用。
本文档来自技高网...【技术保护点】
1.一种六键无冲和全键无冲自动切换方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种六键无冲和全键无冲自动切换方法,其特征在于,判断已按下的按键个数是否为规定值六个以下的方法包括:根据所述矩阵按键状态信息,判断当前按键变动的报告段值为1或0;
3.根据权利要求2所述的一种六键无冲和全键无冲自动切换方法,其特征在于,将当前变动的按键数据报文中规定值六个以下的按键数据报文仍以对应的预设标准六键无冲数据格式输出至外部主机,并将超出规定值部分的按键数据报文以对应的预设全键无冲数据格式输出至外部主机的方法包括以下步骤:
4.根据权利要求1所述的一种六键无冲和全键无冲自动切换方法,其特征在于,所述当前的矩阵按键状态信息包括14字节按键输出格式,其中,1字节为控制按键,所述控制按键以预设标准六键无冲数据格式输出至外部主机,剩余13字节为普通按键。
5.根据权利要求1所述的一种六键无冲和全键无冲自动切换方法,其特征在于,所述预设标准六键无冲数据格式为六键八字节的按键数据格式。
6.根据权利要求1所述的一种六键无冲和全键无冲自
...【技术特征摘要】
1.一种六键无冲和全键无冲自动切换方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种六键无冲和全键无冲自动切换方法,其特征在于,判断已按下的按键个数是否为规定值六个以下的方法包括:根据所述矩阵按键状态信息,判断当前按键变动的报告段值为1或0;
3.根据权利要求2所述的一种六键无冲和全键无冲自动切换方法,其特征在于,将当前变动的按键数据报文中规定值六个以下的按键数据报文仍以对应的预设标准六键无冲数据格式输出至外部主机,并将超出规定值部分的按键数据报文以对应的预设全键无冲数据格式输出至外部主机的方法...
【专利技术属性】
技术研发人员:朱国正,马冰,马升,徐寒,
申请(专利权)人:合肥马道信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。