CN109656534A - 一种有限按键模拟键盘功能的方法及*** - Google Patents
一种有限按键模拟键盘功能的方法及*** Download PDFInfo
- Publication number
- CN109656534A CN109656534A CN201811551911.8A CN201811551911A CN109656534A CN 109656534 A CN109656534 A CN 109656534A CN 201811551911 A CN201811551911 A CN 201811551911A CN 109656534 A CN109656534 A CN 109656534A
- Authority
- CN
- China
- Prior art keywords
- key
- key assignments
- mcu
- sent
- configuration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提供一种有限按键模拟键盘功能的方法及***,在MCU代码中,加入串口功能,用于同Windows的应用程序通信。开发Windows应用程序,获取用户对按键的功能定义,并封装成数据包通过串口发送给单片机。单片机接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表,将相应的按键设定为需要的功能键。减少按键的数量以减小便携式设备的体积。
Description
技术领域
本发明涉及便携式计算设备涉及技术领域,具体涉及一种有限按键模拟键盘功能的方法及***。
背景技术
现如今,是移动互联的时代,移动设备发展速度越来越快,在移动互联的时代,便携式设备应用场景越来越多,与传统的计算设备相比,便携式计算设备具有体积小、易携带等众多优点。
在传统的计算设备中,每个键盘按键需要与一个唯一的按键扫描值相对应,这就导致按键数量较多,便携式设备的体积较大。我们注意到,实际应用中,键盘上的很多按键是没有被用到的,因此我们设计一种方法减少按键的数量以减小便携式设备的体积。
发明内容
为了克服上述现有技术中的不足,本发明提供一种有限按键模拟键盘功能的方法及***,以解决上述技术问题。
本发明的技术方案是:
一种有限按键模拟键盘功能的方法,包括如下步骤:
根据配置信息修改按键键值表;
根据键值表生成相应的键值;
将键值表对应生成的键值发送到主机。
进一步的,步骤根据配置信息修改按键键值表,之前还包括:
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接口单元发送到主机。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种有限按键模拟键盘功能的方法,其特征在于,包括如下步骤:
根据配置信息修改按键键值表;
根据键值表生成相应的键值;
将键值表对应生成的键值发送到主机。
2.根据权利要求1所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤根据配置信息修改按键键值表,之前还包括:
Windows程序发送的配置信息到MCU;
MCU解析Windows程序发送来的配置信息。
3.根据权利要求2所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤Windows程序发送的配置信息到MCU,之前还包括:
在MCU代码加入串口功能,初始化串口,用于同Windows的应用程序通信。
4.根据权利要求3所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤Windows程序发送的配置信息到MCU,包括:
Windows应用程序获取用户对按键的功能定义,并封装成数据包通过串口发送给MCU。
5.根据权利要求4所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤根据配置信息修改按键键值表,包括:
MCU接收到串口数据后,对数据包进行解析,根据数据包的定义,修改键盘配置表即按键键值表。
6.根据权利要求5所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤根据键值表生成相应的键值,包括:
在MCU代码中添加按键扫描程序,对按键进行扫描,并根据键值表生成相应的键值。
7.根据权利要求6所述的一种有限按键模拟键盘功能的方法,其特征在于,步骤将键值表对应生成的键值发送到主机,包括:
在MCU代码中添加USB程序,根据键值表读取对应的键值并通过USB发送到主机。
8.一种有限按键模拟键盘功能的***,其特征在于,包括MCU和Windows程序模块;MCU通过串口与Windows程序模块进行通信;
Windows程序,用于发送的配置信息到MCU;
MCU包括解析单元、键值表修改单元、键值设置单元和发送单元;
解析单元,用于解析Windows程序发送来的配置信息;
键值表修改单元,用于根据配置信息修改按键键值表;
键值设置单元,用于根据键值表生成相应的键值;
发送单元,用于将键值表对应生成的键值发送到主机。
9.根据权利要求8所述的一种有限按键模拟键盘功能的***,其特征在于,MCU 还设有USB接口单元;
发送单元,用于将MCU根据键值表读取对应的键值通过USB接口单元发送到主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551911.8A CN109656534A (zh) | 2018-12-18 | 2018-12-18 | 一种有限按键模拟键盘功能的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551911.8A CN109656534A (zh) | 2018-12-18 | 2018-12-18 | 一种有限按键模拟键盘功能的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656534A true CN109656534A (zh) | 2019-04-19 |
Family
ID=66114592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811551911.8A Pending CN109656534A (zh) | 2018-12-18 | 2018-12-18 | 一种有限按键模拟键盘功能的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656534A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314485A (zh) * | 2020-03-11 | 2020-06-19 | 山东超越数控电子股份有限公司 | 一种自定义按键模组网络化可扩展化的方法 |
CN111930646A (zh) * | 2020-08-10 | 2020-11-13 | 天津七一二通信广播股份有限公司 | Android嵌入式设备外置按键扩展模块的实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690934A (zh) * | 2004-04-30 | 2005-11-02 | 大唐移动通信设备有限公司 | 移动通信终端键盘按键功能动态设置的方法 |
CN1744007A (zh) * | 2004-09-03 | 2006-03-08 | 袁德云 | 微型键盘以及使用该键盘的输入方法 |
US20090160681A1 (en) * | 2007-12-20 | 2009-06-25 | Chicony Electronics Co. Ltd | Numeiric keyboard device with voice interaciton and the method thereof |
CN101795308A (zh) * | 2010-03-22 | 2010-08-04 | 山东超越数控电子有限公司 | 一种手持机按键设计及动态更改按键的方法 |
CN202331361U (zh) * | 2011-11-11 | 2012-07-11 | 陕西科技大学 | 一种多功能键盘 |
-
2018
- 2018-12-18 CN CN201811551911.8A patent/CN109656534A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690934A (zh) * | 2004-04-30 | 2005-11-02 | 大唐移动通信设备有限公司 | 移动通信终端键盘按键功能动态设置的方法 |
CN1744007A (zh) * | 2004-09-03 | 2006-03-08 | 袁德云 | 微型键盘以及使用该键盘的输入方法 |
US20090160681A1 (en) * | 2007-12-20 | 2009-06-25 | Chicony Electronics Co. Ltd | Numeiric keyboard device with voice interaciton and the method thereof |
CN101795308A (zh) * | 2010-03-22 | 2010-08-04 | 山东超越数控电子有限公司 | 一种手持机按键设计及动态更改按键的方法 |
CN202331361U (zh) * | 2011-11-11 | 2012-07-11 | 陕西科技大学 | 一种多功能键盘 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314485A (zh) * | 2020-03-11 | 2020-06-19 | 山东超越数控电子股份有限公司 | 一种自定义按键模组网络化可扩展化的方法 |
CN111930646A (zh) * | 2020-08-10 | 2020-11-13 | 天津七一二通信广播股份有限公司 | Android嵌入式设备外置按键扩展模块的实现方法 |
CN111930646B (zh) * | 2020-08-10 | 2022-12-06 | 天津七一二移动通信有限公司 | Android嵌入式设备外置按键扩展模块的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hyde | USB design by example | |
CN107861713B (zh) | 数据调用方法、装置及计算机可读存储介质 | |
CN100419808C (zh) | 一种远程控制被控设备的方法及*** | |
CN109656534A (zh) | 一种有限按键模拟键盘功能的方法及*** | |
CN103327083A (zh) | 一种基于异构网络Android平台的嵌入式家庭监测*** | |
CN101409743A (zh) | 一种移动通信终端及其与计算机进行无线通信的方法 | |
CN111970353A (zh) | 云计算平台物联网中异构设备的数据处理方法及装置 | |
CN103795814B (zh) | 一种基于全国产cpu和os的短信设备通用通信接口 | |
CN107229480A (zh) | 一种基于web技术的桌面应用构建方法及装置 | |
CN109471667A (zh) | 电脑与手机一体化智能交互方法 | |
CN105898678A (zh) | 一种配对方法和电子设备 | |
CN109684202A (zh) | 一种在应用中调试嵌入式***程序中函数功能的方法 | |
WO2023082926A1 (zh) | 一种配置方法、装置、设备及存储介质 | |
CN108388372A (zh) | 一种自适应触摸数据的方法、装置、设备及存储介质 | |
CN113467777A (zh) | 路径识别方法、装置和*** | |
CN107783470A (zh) | 一种无人机挂载识别*** | |
CN113220651B (zh) | 运行数据压缩方法、装置、终端设备以及存储介质 | |
CN105005496B (zh) | 一种跨语言转换网络数据包定义文件的处理***及方法 | |
CN103888297A (zh) | 交换机网络管理方法和*** | |
WO2017049556A1 (zh) | 数据传输方法和移动终端 | |
EP1598739A4 (en) | NATIVE COMPILATION METHOD, NATIVE COMPILATION PRETREATMENT METHOD, COMPUTER PROGRAM, AND SERVER | |
US20040267764A1 (en) | Method to efficiently describe configuration settings in a standardized format | |
CN109446052B (zh) | 一种应用程序的校验方法及设备 | |
US7487227B2 (en) | Scripting engine having a sequencer table and a plurality of secondary tables for network communication software | |
CN116755828A (zh) | 参数取值配置方法、解析方法、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |
|
RJ01 | Rejection of invention patent application after publication |