一种有限按键模拟键盘功能的方法及系统与流程

文档序号:17473819发布日期:2019-04-20 05:59阅读:646来源:国知局
一种有限按键模拟键盘功能的方法及系统与流程

本发明涉及便携式计算设备涉及技术领域,具体涉及一种有限按键模拟键盘功能的方法及系统。



背景技术:

现如今,是移动互联的时代,移动设备发展速度越来越快,在移动互联的时代,便携式设备应用场景越来越多,与传统的计算设备相比,便携式计算设备具有体积小、易携带等众多优点。

在传统的计算设备中,每个键盘按键需要与一个唯一的按键扫描值相对应,这就导致按键数量较多,便携式设备的体积较大。我们注意到,实际应用中,键盘上的很多按键是没有被用到的,因此我们设计一种方法减少按键的数量以减小便携式设备的体积。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种有限按键模拟键盘功能的方法及系统,以解决上述技术问题。

本发明的技术方案是:

一种有限按键模拟键盘功能的方法,包括如下步骤:

根据配置信息修改按键键值表;

根据键值表生成相应的键值;

将键值表对应生成的键值发送到主机。

进一步的,步骤根据配置信息修改按键键值表,之前还包括:

windows程序发送的配置信息到mcu;

mcu解析windows程序发送来的配置信息。

进一步的,步骤windows程序发送的配置信息到mcu,之前还包括:

在mcu代码加入串口功能,初始化串口,用于同windows的应用程序通信。

进一步的,步骤windows程序发送的配置信息到mcu,包括:

windows应用程序获取用户对按键的功能定义,并封装成数据包通过串口发送给mcu。

进一步的,步骤根据配置信息修改按键键值表,包括:

mcu接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表即按键键值表。

进一步的,步骤根据键值表生成相应的键值,包括:

在mcu代码中添加按键扫描程序,对按键进行扫描,并根据键值表生成相应的键值。

进一步的,步骤将键值表对应生成的键值发送到主机,包括:

在mcu代码中添加usb程序,根据键值表读取对应的键值并通过usb发送到主机。

本发明技术方案还提供一种有限按键模拟键盘功能的系统,包括mcu和windows程序模块;mcu通过串口与windows程序模块进行通信;

windows程序,用于发送的配置信息到mcu;

mcu包括解析单元、键值表修改单元、键值设置单元和发送单元;

解析单元,用于解析windows程序发送来的配置信息;

键值表修改单元,用于根据配置信息修改按键键值表;

键值设置单元,用于根据键值表生成相应的键值;

发送单元,用于将键值表对应生成的键值发送到主机。

进一步的,mcu还设有usb接口单元;

发送单元,用于将mcu根据键值表读取对应的键值通过usb接口单元发送到主机。

从以上技术方案可以看出,本发明具有以下优点:在mcu代码中,加入串口功能,用于同windows的应用程序通信。开发windows应用程序,获取用户对按键的功能定义,并封装成数据包通过串口发送给单片机。单片机接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表,将相应的按键设定为需要的功能键。减少按键的数量以减小便携式设备的体积。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

图1为一种有限按键模拟键盘功能的方法流程图。

具体实施方式

本发明提供一种有限按键模拟键盘功能的方法及系统,在mcu代码中,加入串口功能,用于同windows的应用程序通信。开发windows应用程序,获取用户对按键的功能定义,并封装成数据包通过串口发送给单片机。单片机接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表,将相应的按键设定为需要的功能键。减少按键的数量以减小便携式设备的体积。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

mcu是便携式计算平台上的一个重要组件,带有usb控制器,且其上的gpio可根据实际需求配置为所需的功能接口,本设计中对部分gpio引脚进行配置,使其相连接组成一个键盘,然后通过usb控制器和主机端通信。

如图1所示,本发明实施例提供一种有限按键模拟键盘功能的方法,包括如下步骤:

s1:在mcu代码加入串口功能,初始化串口,用于同windows的应用程序通信;

需要说明的是,本实施例中,windows应用程序与mcu通信帧格式如表1所示;

表1

协议每帧包含8个字节(对应一个按键),每个字节定义如下

byte0~1:数据帧开始标志,约定为两个字节的0xaa;

byte2:按键号,取值范围[0,25](对应26个gpio按键);

byte3:当前按键对应的按键索引值;

byte4~5:鼠标位置的横轴位置(其中byte4为高字节,byte5为低字节),当按键为非鼠标功能时,该值约定两个字节的0xff;

byte6~7:鼠标位置的纵轴位置(其中byte6为高字节,byte7为低字节),当按键为非鼠标功能时,该值约定为两个字节的0xff;

byte8~9:数据帧结束标志,约定为两个字节的0xbb;

当需要复位(加载默认按键)时,byte2~byte7设置为0xff。

s2:windows程序发送的配置信息到mcu;

本步骤中,windows应用程序获取用户对按键的功能定义,并封装成数据包通过串口发送给mcu。

s3:mcu解析windows程序发送来的配置信息,并根据配置信息修改按键键值表;

mcu接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表即按键键值表。

s4:根据键值表生成相应的键值;

在mcu代码中添加按键扫描程序,对按键进行扫描,并根据键值表生成相应的键值。

需要说明的是,为了使mcu程序更健壮,易修改。mcu代码往往会加入一个或多个键盘扫描表格,然后通过用户按键,查找这些表格,将相对应的键盘扫描值取出。所以便携式计算设备厂商做键盘功能,就是添加这些表格。

s5:将键值表对应生成的键值发送到主机。

在mcu代码中添加usb程序,根据键值表读取对应的键值并通过usb发送到主机。

在mcu代码中初始化串口,注册中断处理函数,解析windows程序发送过来的配置信息,并根据配置信息修改按键键值表;在mcu代码中添加按键扫描程序,对按键进行扫描,并根据键值表生成相应的键值;在mcu代码中添加usb程序,用于将键值发送到主机。

实施例二

本发明技术方案还提供一种有限按键模拟键盘功能的系统,包括mcu和windows程序模块;mcu通过串口与windows程序模块进行通信;

windows程序,用于发送的配置信息到mcu;

mcu包括解析单元、键值表修改单元、键值设置单元和发送单元;

解析单元,用于解析windows程序发送来的配置信息;

键值表修改单元,用于根据配置信息修改按键键值表;

键值设置单元,用于根据键值表生成相应的键值;

发送单元,用于将键值表对应生成的键值发送到主机。

mcu还设有usb接口单元;

发送单元,用于将mcu根据键值表读取对应的键值通过usb接口单元发送到主机。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1