技术新讯 > 控制调节装置的制造及其应用技术 > 一种通过构造特定的USBHID设备触发安卓物理按键的方法及系统与流程  >  正文

一种通过构造特定的USBHID设备触发安卓物理按键的方法及系统与流程

  • 国知局
  • 2024-07-31 23:50:18

本发明涉及虚拟按键,具体涉及一种通过构造特定的usbhid设备触发安卓物理按键的方法及系统。

背景技术:

1、android系统目前应用于大量设备中,常见的例如手机、收银机、售货机、收银机、车机等。不同的设备往往应对着不同的应用场景,厂商在定制这些硬件设备时往往会针对性的增加一些物理按钮以此方便用户操作。android的开源以及可定制性使得其具备强大的硬件扩展能力。但是往往这些物理按钮基本是以gpio等方式与主机进行连接,这种连接方式具备接口独占性、功能唯一性,意味着这些按键固定占用某些特定的物理接口,例如某些特定的gpio。

2、这些按键如果损坏必须进行更换才可以使用,无法增加备用按键。同时在开发调试时也意味着必须使用该gpio才能触发指定功能,往往针对某些接口无关功能研发时,开发者仍然要在硬件接口对接上花费时间,并且不能随意增加按键入口。

3、例如厂商开发的车机系统增加的自定义按钮,往往对应着主机的某些特定gpio。触发该按钮,只能使用物理按钮,或经过开发者工具登录到系统,使用shell才可以触发指定的按钮。

4、因此需要通过引入构造特定的usbhid设备触发安卓物理按键的方法技术手段,实现直接模拟出厂家自定义的按键,而无需采用原按键的物理连接方式,可通过该usb控制器直接触发安卓系统中指定的按键码,实现原按键功能。

技术实现思路

1、本申请通过提供了一种通过构造特定的usbhid设备触发安卓物理按键的方法及系统,旨在解决无法在车机系统增加的自定义按钮的技术问题。

2、鉴于上述问题,本申请提供了一种通过构造特定的usbhid设备触发安卓物理按键的方法及系统。

3、本申请公开的第一个方面,提供了一种通过构造特定的usbhid设备触发安卓物理按键的方法,所述方法包括:

4、获取要触发的车机系统中的按键名称和包含所述按键名称的键盘布局文件,所述按键名称用于定义在开发车机系统过程中的自定义物理按键,所述键盘布局文件包含文件名和文件内容,所述文件名包含车机系统的usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称,所述文件内容包含车机系统所支持的按键码以及对应的按键名称,所述按键码为整数值,用于标识机车系统定义的每个自定义按键;

5、连接车机系统和单片机上的usb设备控制器,车机系统根据usb协议获取usb设备控制器中的usb描述符信息,所述usb描述符信息包括usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称以及hid报告描述符,所述hid报告描述符包含usagepage,所述usagepage中引用了hid协议中的键盘页、按钮页;

6、当单片机控制器捕获到单片机上的物理按键被触发的信号,判断所述物理按键要触发车机系统的按键码小于255时,使用所述键盘页发送按键扫描码,当所述物理按键要触发车机系统的按键码大于255时,使用所述按钮页发送按键扫描码,所述按键扫描码为硬件扫描键盘时生成的原始编码;

7、车机系统通过usb接口接收单片机上的usb设备控制器发出的按键扫描码,经过usbhid驱动解析后触发车机系统的按键事件,实现模拟触发按键的效果。

8、第二方面,本申请还提供了一种通过构造特定的usbhid设备触发安卓物理按键的系统,其中,所述系统包括:

9、机车信息获取模块,所述机车信息获取模块用于获取要触发的车机系统中的按键名称和包含所述按键名称的键盘布局文件,所述按键名称用于定义在开发车机系统过程中的自定义物理按键,所述键盘布局文件包含文件名和文件内容,所述文件名包含车机系统的usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称,所述文件内容包含车机系统所支持的按键码以及对应的按键名称,所述按键码为整数值,用于标识机车系统定义的每个自定义按键;

10、车机系统与单片机系统连接模块,所述车机系统与单片机系统连接模块用于连接车机系统和单片机上的usb设备控制器,车机系统根据usb协议获取usb设备控制器中的usb描述符信息,所述usb描述符信息包括usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称以及hid报告描述符,所述hid报告描述符包含usagepage,所述usagepage中引用了hid协议中的键盘页、按钮页;

11、按键扫描码发送模块,所述按键扫描码发送模块用于当单片机控制器捕获到单片机上的物理按键被触发的信号,判断所述物理按键要触发车机系统的按键码小于255时,使用所述键盘页发送按键扫描码,当所述物理按键要触发车机系统的按键码大于255时,使用所述按钮页发送按键扫描码,所述按键扫描码为硬件扫描键盘时生成的原始编码;

12、模拟触发按键模块,所述模拟触发按键模块用于车机系统通过usb接口接收单片机上的usb设备控制器发出的按键扫描码,经过usbhid驱动解析后触发车机系统的按键事件,实现模拟触发按键的效果。

13、本申请中提供的一个或多个技术方案,至少具有如下技术效果或优点:

14、获取要触发的车机系统中的按键名称和包含所述按键名称的键盘布局文件,所述按键名称用于定义在开发车机系统过程中的自定义物理按键,所述键盘布局文件包含文件名和文件内容,所述文件名包含车机系统的usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称,所述文件内容包含车机系统所支持的按键码以及对应的按键名称,所述按键码为整数值,用于标识机车系统定义的每个自定义按键;连接车机系统和单片机上的usb设备控制器,车机系统根据usb协议获取usb设备控制器中的usb描述符信息,所述usb描述符信息包括usb设备控制器的设备厂家id、设备型号id、设备版本id、设备名称以及hid报告描述符,所述hid报告描述符包含usagepage,所述usagepage中引用了hid协议中的键盘页、按钮页;当单片机控制器捕获到单片机上的物理按键被触发的信号,判断所述物理按键要触发车机系统的按键码小于255时,使用所述键盘页发送按键扫描码,当所述物理按键要触发车机系统的按键码大于255时,使用所述按钮页发送按键扫描码,所述按键扫描码为硬件扫描键盘时生成的原始编码;车机系统通过usb接口接收单片机上的usb设备控制器发出的按键扫描码,经过usbhid驱动解析后触发车机系统的按键事件,实现模拟触发按键的效果。通过构造一个特定的usb描述符模拟出一个特殊的usb hid设备,当该控制器通过usb方式接入到车机系统时,通过发送特定的hid控制信息,可直接模拟出厂家自定义的按键,而无需采用原按键的物理连接方式,可通过该usb控制器直接触发车机系统中指定的按键码,实现原按键功能。

15、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

技术特征:

1.一种通过构造特定的usbhid设备触发安卓物理按键的方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述获取要触发的车机系统中的按键名称和包含所述按键名称的键盘布局文件,包括:

3.如权利要求1所述的方法,其特征在于,所述连接车机系统和单片机上的usb设备控制器,车机系统根据usb协议获取usb设备控制器中的usb描述符信息方法,包括:

4.如权利要求1所述的方法,其特征在于,所述当单片机控制器捕获到单片机上的物理按键被触发的信号,判断所述物理按键要触发车机系统的按键码小于255时,使用所述键盘页发送按键扫描码,当所述物理按键要触发车机系统的按键码大于255时,使用所述按钮页发送按键扫描码,所述按键扫描码为硬件扫描键盘时生成的原始编码的流程,包括:

5.一种通过构造特定的usbhid设备触发安卓物理按键的系统,其特征在于,用于实施权利要求1-4任一项所述的一种基于车机的通过构造特定的usbhid设备触发物理按键的系统,包括:

技术总结本发明提供一种通过构造特定的USBHID设备触发安卓物理按键的方法及系统,涉及车机系统虚拟按键技术领域,包括:获取要触发的车机系统中的按键名称和包含所述按键名称的键盘布局文件;连接车机系统和单片机上的USB设备控制器,车机系统根据USB协议获取USB设备控制器中的USB描述符信息;当单片机控制器捕获到单片机上的物理按键被触发的信号,判断物理按键要触发车机系统的按键码小于255时,使用键盘页发送按键扫描码,当物理按键要触发车机系统的按键码大于255时,使用按钮页发送按键扫描码;车机系统通过USB接口接收单片机上的USB设备控制器发出的按键扫描码,经过USBHID驱动解析后触发车机系统的按键事件,实现模拟触发按键的效果。技术研发人员:于鑫,袁忠泉受保护的技术使用者:点云灵动科技(大连)有限公司技术研发日:技术公布日:2024/6/23

本文地址:https://www.jishuxx.com/zhuanli/20240730/198760.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。