一种外接设备模拟键盘的实现方法、装置及系统制造方法及图纸

技术编号:26341859 阅读:36 留言:0更新日期:2020-11-13 20:27
本发明专利技术公开一种外接设备模拟键盘的实现方法、装置及系统,涉及电子技术领域。当外接设备检测到用户按下按键时生成键值数据;当外接设备接收到苹果设备发送的数据请求时将开始命令发送给苹果设备;苹果设备接收到开始命令后将软键盘退出,苹果设备继续向外接设备发送数据请求;当外接设备接收到数据请求时将包含键值数据的附属报告命令发送给苹果设备;苹果设备接收到附属报告命令后显示附属报告命令中的键值数据,苹果设备继续向外接设备发送数据请求;当外接设备接收到数据请求时将结束命令发送给苹果设备;苹果设备接收到结束命令后重新弹出软键盘。本发明专利技术技术方案使外接设备模拟键盘的同时苹果软键盘能正常使用。

【技术实现步骤摘要】
一种外接设备模拟键盘的实现方法、装置及系统
本专利技术涉及电子
,尤其涉及一种外接设备模拟键盘的实现方法、装置及系统。
技术介绍
现有技术中,苹果设备(即苹果设备指的是iphone、ipad等使用iOS操作系统的设备)可与外接键盘连接进行使用,但是当外接键盘与苹果设备以HID协议进行通讯时,苹果设备的软键盘与外接键盘就会发生冲突,导致苹果设备的软键盘不能使用,使用非常不便。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种外接设备模拟键盘的实现方法、装置及系统。本专利技术提供了一种外接设备模拟键盘的实现方法,所述方法适用于苹果设备,所述方法包括:步骤T1:外接设备与苹果设备建立连接,等待并接收所述苹果设备持续发送的数据请求,当所述外接设备通过USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据,当所述外接设备在等待接收所述苹果设备持续发送的数据请求的过程中如检测到用户按下按键则执行步骤T2;步骤T2:所述外接设备生成键值数据,根据预设的HID标识组织开始命令并存储到所述发送缓存中,将发送标识设为第一预设值;所述开始命令用于申明所述外接设备为键盘设备;步骤T3:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第一预设值,是则通过所述USB接口将所述发送缓存中的开始命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T4,否则通过所述USB接口给所述苹果设备返回响应数据;步骤T4:当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中,将所述发送标识设为第二预设值;步骤T5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第二预设值,是则通过所述USB接口将所述发送缓存中的附属报告命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T6,否则通过所述USB接口给所述苹果设备返回响应数据;步骤T6:当所述外接设备检测到所述发送缓存被清空时组织结束命令并存储到所述发送缓存中,将所述发送标识设为第三预设值;步骤T7:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第三预设值,是则通过所述USB接口将所述发送缓存中的结束命令发送给所述苹果设备并清空所述发送缓存和所述发送标识,等待接收所述苹果设备持续发送的数据请求,否则给通过所述USB接口给所述苹果设备返回响应数据。进一步地,所述步骤T1包括:当所述外接设备通过Lighting接口与所述苹果设备建立物理连接之后,进行硬件系统初始化;接收所述苹果设备持续发送的数据请求,当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据。进一步地,所述步骤T1还包括:所述外接设备将检测指令存储到所述发送缓存中;所述步骤T1与步骤T2之间还包括:步骤Z1:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送缓存中是否有数据,是则通过所述USB接口将所述发送缓存中的检测指令发送给所述苹果设备并接收所述苹果设备发送的支持认证协议信息,所述外接设备与所述苹果设备协商同步包数据,否则所述外接设备通过所述USB接口给所述苹果设备返回响应数据;步骤Z2:当所述外接设备通过所述USB接口接收到所述苹果设备发送的认证成功信息和设备鉴别指令时,组织鉴别响应并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的鉴别响应返回给所述苹果设备。进一步地,所述步骤Z2之前还包括:当所述外接设备通过所述USB接口接收到所述苹果设备发送的获取证书指令时,所述外接设备从内部认证芯片中读取证书并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的证书返回给所述苹果设备;当所述外接设备通过所述USB接口接收到所述苹果设备发送的挑战指令时,所述外接设备解析所述挑战指令并将解析得到的挑战值发送给所述内部认证芯片,从所述内部认证芯片中读取挑战值签名结果并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的挑战值签名结果返回给所述苹果设备。进一步地,所述步骤T4中的根据所述键值数据生成附属报告命令并存储到所述发送缓存中具体为:将所述键值数据转换为按键信息,根据所述按键信息生成附属报告命令并存储到所述发送缓存中。本专利技术再提供了一种外接设备模拟键盘的实现方法,所述方法适用于包括苹果设备和外接设备的系统,所述方法包括:步骤S1:苹果设备与外接设备建立连接,所述苹果设备持续向所述外接设备发送数据请求,当所述外接设备通过USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据,所述苹果设备对所述外接设备进行认证,如认证成功则执行步骤S2,如认证失败则结束,报错;步骤S2:所述苹果设备提示用户在所述外接设备上按下按键;当所述外接设备在等待接收所述苹果设备持续发送的数据请求的过程中如检测到用户按下按键时生成键值数据,根据预设的HID标识组织开始命令并存储到所述发送缓存中,将发送标识设为第一预设值,执行步骤S3;所述开始命令用于申明所述外接设备为键盘设备;步骤S3:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第一预设值,是则通过所述USB接口将所述发送缓存中的开始命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中,将所述发送标识设为第二预设值,执行步骤S4;否则通过所述USB接口给所述苹果设备返回响应数据;步骤S4:所述苹果设备接收到所述开始命令后将软键盘退出,所述苹果设备继续向所述外接设备发送数据请求,执行步骤S5;步骤S5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第二预设值,是则通过所述USB接口将所述发送缓存中的附属报告命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求;当所述外接设备检测到所述发送缓存被清空时组织结束命令并存储到所述发送缓存中,将所述发送标识设为第三预设值,执行步骤S6;否则通过所述USB接口给所述苹果设备返回响应数据;步骤S6:所述苹果设备接收到所述附属报告命令后显示附属报告命令中的键值数据,所述苹果设备继续向所述外接设备发送数据请求,执行步骤S7;步骤S7:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第三预设值,是则通过所述USB接口将所述发送缓存中的结束命令发送给所述苹果设备并本文档来自技高网...

【技术保护点】
1.一种外接设备模拟键盘的实现方法,其特征在于,所述方法适用于苹果设备,所述方法包括:/n步骤T1:外接设备与苹果设备建立连接,等待并接收所述苹果设备持续发送的数据请求,当所述外接设备通过USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据,当所述外接设备在等待接收所述苹果设备持续发送的数据请求的过程中如检测到用户按下按键则执行步骤T2;/n步骤T2:所述外接设备生成键值数据,根据预设的HID标识组织开始命令并存储到所述发送缓存中,将发送标识设为第一预设值;所述开始命令用于申明所述外接设备为键盘设备;/n步骤T3:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第一预设值,是则通过所述USB接口将所述发送缓存中的开始命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T4,否则通过所述USB接口给所述苹果设备返回响应数据;/n步骤T4:当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中,将所述发送标识设为第二预设值;/n步骤T5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第二预设值,是则通过所述USB接口将所述发送缓存中的附属报告命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T6,否则通过所述USB接口给所述苹果设备返回响应数据;/n步骤T6:当所述外接设备检测到所述发送缓存被清空时组织结束命令并存储到所述发送缓存中,将所述发送标识设为第三预设值;/n步骤T7:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第三预设值,是则通过所述USB接口将所述发送缓存中的结束命令发送给所述苹果设备并清空所述发送缓存和所述发送标识,等待接收所述苹果设备持续发送的数据请求,否则给通过所述USB接口给所述苹果设备返回响应数据。/n...

【技术特征摘要】
1.一种外接设备模拟键盘的实现方法,其特征在于,所述方法适用于苹果设备,所述方法包括:
步骤T1:外接设备与苹果设备建立连接,等待并接收所述苹果设备持续发送的数据请求,当所述外接设备通过USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据,当所述外接设备在等待接收所述苹果设备持续发送的数据请求的过程中如检测到用户按下按键则执行步骤T2;
步骤T2:所述外接设备生成键值数据,根据预设的HID标识组织开始命令并存储到所述发送缓存中,将发送标识设为第一预设值;所述开始命令用于申明所述外接设备为键盘设备;
步骤T3:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第一预设值,是则通过所述USB接口将所述发送缓存中的开始命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T4,否则通过所述USB接口给所述苹果设备返回响应数据;
步骤T4:当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中,将所述发送标识设为第二预设值;
步骤T5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第二预设值,是则通过所述USB接口将所述发送缓存中的附属报告命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,执行步骤T6,否则通过所述USB接口给所述苹果设备返回响应数据;
步骤T6:当所述外接设备检测到所述发送缓存被清空时组织结束命令并存储到所述发送缓存中,将所述发送标识设为第三预设值;
步骤T7:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第三预设值,是则通过所述USB接口将所述发送缓存中的结束命令发送给所述苹果设备并清空所述发送缓存和所述发送标识,等待接收所述苹果设备持续发送的数据请求,否则给通过所述USB接口给所述苹果设备返回响应数据。


2.如权利要求1所述的方法,其特征在于,所述步骤T1包括:当所述外接设备通过Lighting接口与所述苹果设备建立物理连接之后,进行硬件系统初始化;接收所述苹果设备持续发送的数据请求,当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据。


3.如权利要求1所述的方法,其特征在于,所述步骤T1还包括:所述外接设备将检测指令存储到所述发送缓存中;
所述步骤T1与步骤T2之间还包括:
步骤Z1:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送缓存中是否有数据,是则通过所述USB接口将所述发送缓存中的检测指令发送给所述苹果设备并接收所述苹果设备发送的支持认证协议信息,所述外接设备与所述苹果设备协商同步包数据,否则所述外接设备通过所述USB接口给所述苹果设备返回响应数据;
步骤Z2:当所述外接设备通过所述USB接口接收到所述苹果设备发送的认证成功信息和设备鉴别指令时,组织鉴别响应并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的鉴别响应返回给所述苹果设备。


4.如权利要求3所述的方法,其特征在于,所述步骤Z2之前还包括:
当所述外接设备通过所述USB接口接收到所述苹果设备发送的获取证书指令时,所述外接设备从内部认证芯片中读取证书并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的证书返回给所述苹果设备;
当所述外接设备通过所述USB接口接收到所述苹果设备发送的挑战指令时,所述外接设备解析所述挑战指令并将解析得到的挑战值发送给所述内部认证芯片,从所述内部认证芯片中读取挑战值签名结果并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的挑战值签名结果返回给所述苹果设备。


5.如权利要求1所述的方法,其特征在于,所述步骤T4中的根据所述键值数据生成附属报告命令并存储到所述发送缓存中具体为:将所述键值数据转换为按键信息,根据所述按键信息生成附属报告命令并存储到所述发送缓存中。


6.一种外接设备模拟键盘的实现方法,其特征在于,所述方法适用于包括苹果设备和外接设备的系统,所述方法包括:
步骤S1:苹果设备与外接设备建立连接,所述苹果设备持续向所述外接设备发送数据请求,当所述外接设备通过USB接口接收到所述苹果设备发送的数据请求且发送缓存中无数据时通过所述USB接口给所述苹果设备返回响应数据,所述苹果设备对所述外接设备进行认证,如认证成功则执行步骤S2,如认证失败则结束,报错;
步骤S2:所述苹果设备提示用户在所述外接设备上按下按键;当所述外接设备在等待接收所述苹果设备持续发送的数据请求的过程中如检测到用户按下按键时生成键值数据,根据预设的HID标识组织开始命令并存储到所述发送缓存中,将发送标识设为第一预设值,执行步骤S3;所述开始命令用于申明所述外接设备为键盘设备;
步骤S3:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第一预设值,是则通过所述USB接口将所述发送缓存中的开始命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求,当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中,将所述发送标识设为第二预设值,执行步骤S4;否则通过所述USB接口给所述苹果设备返回响应数据;
步骤S4:所述苹果设备接收到所述开始命令后将软键盘退出,所述苹果设备继续向所述外接设备发送数据请求,执行步骤S5;
步骤S5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第二预设值,是则通过所述USB接口将所述发送缓存中的附属报告命令发送给所述苹果设备并清空所述发送缓存,等待接收所述苹果设备持续发送的数据请求;当所述外接设备检测到所述发送缓存被清空时组织结束命令并存储到所述发送缓存中,将所述发送标识设为第三预设值,执行步骤S6;否则通过所述USB接口给所述苹果设备返回响应数据;
步骤S6:所述苹果设备接收到所述附属报告命令后显示附属报告命令中的键值数据,所述苹果设备继续向所述外接设备发送数据请求,执行步骤S7;
步骤S7:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送标识是否为第三预设值,是则通过所述USB接口将所述发送缓存中的结束命令发送给所述苹果设备并清空所述发送缓存和所述发送标识,等待接收所述苹果设备发送的数据;否则通过所述USB接口给所述苹果设备返回响应数据;
步骤S8:所述苹果设备接收到结束命令后重新弹出软键盘。


7.如权利要求6所述的方法,其特征在于,所述步骤S1中所述苹果设备对所述外接设备进行认证之前还包括:
步骤E1:所述苹果设备检测自身是否支持认证协议,是则给所述外接设备返回支持认证协议信息,执行步骤E2,否则报错,结束;
步骤E2:所述外接设备通过所述USB接口接收到认证协议信息后,与所述苹果设备协商同步包数据;
所述步骤S1中的所述苹果设备对所述外接设备进行认证成功之后还包括:
步骤F1:所述苹果设备给所述外接设备发送设备鉴别指令,所述外接设备通过所述USB接口接收到鉴别指令后,组织鉴别响应并存储到所述发送缓存中,所述外接设备通过所述USB接口将所述发送缓存中的鉴别响应返回给所述苹果设备,执行步骤S2。


8.如权利要求7所述的方法,其特征在于,所述苹果设备与外接设备建立连接之后还包括:所述外接设备将检测指令存储到所述发送缓存中;
所述步骤E1包括:
步骤E11:当所述外接设备通过所述USB接口接收到所述苹果设备发送的数据请求时,判断所述发送缓存中是否有数据,是则通过所述USB接口将所述发送缓存中的检测指令发送给所述苹果设备,否则报错,结束;
步骤E12:所述苹果设备接收到所述检测指令后判断自身是否支持认证协议,是则给所述外接设备返回苹果设备支持认证协议信息,执行步骤E2,否则报错,结束。


9.如权利要求8所述的方法,其特征在于,所述步骤E12具体为:所述苹果设备接收到检测指令后,判断自身支持的协议是否包括所述检测指令指定的认证协议,是则给所述外接设备返回苹果设备支持认证协议信息,执行步骤E2,否则报错,结束。


10.如权利要求6所述的方法,其特征在于,所述步骤S1中的所述苹果设备与外接设备建立连接,所述苹果设备持续向所述外接设备发送数据请求,包括:
步骤S11:所述苹果设备与所述外接设备通过Lighting接口进行物理连接,所述外接设备进行硬件系统初始化;
步骤S12:所述苹果设备进行USB枚举,USB枚举完成之后所述苹果设备持续向所述外接设备发送数据请求。


11.如权利要求6所述的方法,其特征在于,所述步骤S1中的所述苹果设备对所述外接设备进行认证,如认证成功则执行步骤S2,如认证失败则结束,报错,包括:
步骤A1:所述苹果设备向所述外接设备发送获取证书指令;
步骤A2:当所述外接设备通过所述USB接口接收到所述苹果设备发送的获取证书指令时,所述外接设备从内部认证芯片中读取证书并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的证书返回给所述苹果设备;
步骤A3:所述苹果设备对接收到的所述证书进行验证,如验证成功则执行步骤A4,如验证失败则报错,结束;
步骤A4:所述苹果设备生成挑战值,根据所述挑战值生成挑战指令并发送给所述外接设备;
步骤A5:当所述外接设备通过所述USB接口接收到所述苹果设备发送的挑战指令时,解析所述挑战指令并将解析得到的挑战值发送给所述内部认证芯片,从所述内部认证芯片中读取挑战值签名结果并存储到所述发送缓存中,通过所述USB接口将所述发送缓存中的挑战值签名结果返回给所述苹果设备;
步骤A6:所述苹果设备对接收到的所述挑战值签名结果进行验证,如验证成功则给所述外接设备发送认证成功信息,执行步骤S2,如验证失败则报错,结束。


12.如权利要求11所述的方法,其特征在于,所述步骤A3包括:所述苹果设备使用保存的公钥对所述证书中的签名值进行解密得到第一解密值,对所述证书中的待签名数据进行哈希运算得到第一哈希值,判断所述第一哈希值与所述第一解密值是否相同,是则证书验证成功,执行步骤A4,否则验证失败,报错,结束。


13.如权利要求11所述的方法,其特征在于,所述步骤A6包括:所述苹果设备使用保存的公钥对所述挑战值签名结果进行解密得到第二解密值,对生成的所述挑战值进行哈希运算得到第二哈希值,判断所述第二解密值是否与所述第二哈希值相同,是则验证成功,给所述外接设备发送认证成功信息,否则验证失败,报错,结束。


14.如权利要求6所述的方法,其特征在于,所述步骤S2中的所述苹果设备提示用户在所述外接设备上按下按键替换为:所述苹果设备的应用浏览器提示用户输入键值数据;
所述步骤S6替换为:所述苹果设备接收到所述附属报告命令后将所述附属报告命令中的键值数据发送给所述浏览器,所述浏览器接收到所述键值数据后进行相应操作,所述苹果设备继续向所述外接设备发送数据请求。


15.如权利要求6所述的方法,其特征在于,所述步骤S3中的当所述外接设备检测到所述发送缓存被清空时根据所述键值数据生成附属报告命令并存储到所述发送缓存中具体为:当所述外接设备检测到所述发送缓存被清空时将所述键值数据转换为按键信息,根据所述键值信息生成附属报告命令并存储到所述发送缓存中。


16.一种外接设备模拟键盘的实现装置,其特征在于,所述装置与苹果设备连接工作,所述装置包括:
连接接收返回模块,用于实现外接设备与...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1