CN102750151A - 一种实现多键盘同时输入的方法和*** - Google Patents
一种实现多键盘同时输入的方法和*** Download PDFInfo
- Publication number
- CN102750151A CN102750151A CN201210203831XA CN201210203831A CN102750151A CN 102750151 A CN102750151 A CN 102750151A CN 201210203831X A CN201210203831X A CN 201210203831XA CN 201210203831 A CN201210203831 A CN 201210203831A CN 102750151 A CN102750151 A CN 102750151A
- Authority
- CN
- China
- Prior art keywords
- keyboard
- identifier
- mapping relations
- window
- module
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013507 mapping Methods 0.000 claims abstract description 70
- 238000013461 design Methods 0.000 abstract description 4
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明涉及多键盘输入技术领域,特别是涉及一种实现多键盘同时输入的方法和***。该方法步骤包括:建立接入的键盘与应用程序窗口的映射关系;根据所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口。本发明通过建立键盘及对应的应用程序窗口的映射关系,每个键盘输入的字符通过查找映射关系即可发送至对应的应用程序窗口,实现了多个键盘同时向不同的应用程序窗口发送字符;本发明的原理设计巧妙,实现方式简单,实现多人独立同时操作,大大提高了工作效率,实用性非常高,值得推广。
Description
技术领域
本发明涉及多键盘输入技术领域,特别是涉及一种实现多键盘同时输入的方法和一种实现多键盘同时输入的***。
背景技术
在现有的操作***上,传统的键盘消息的处理过程是:键盘输出扫描码到键盘驱动,驱动将扫描码封装为原始消息,然后发送到***消息队列,***将消息分发给获取了焦点的应用程序的窗口;而一个***中,拥有焦点的窗口只能有一个,也即是只能对拥有焦点的窗口发送字符,所以当一台电脑上拥有多个键盘,并且希望每个键盘独自输入信息到不同的应用程序窗口时,当前操作***的消息处理方式无法完成这个任务。
发明内容
基于此,本发明提供一种实现多键盘同时输入的方法,该方法通过建立键盘及对应的应用程序窗口的映射关系,每个键盘输入的字符通过查找映射关系即可发送至对应的应用程序窗口,实现了多个键盘同时向不同的应用程序窗口发送字符。
本发明的另一目的在于提供实现上述方法的***。
一种实现多键盘同时输入的方法,包括如下步骤:
建立接入的键盘与应用程序窗口的映射关系;
根据所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口。
一种实现多键盘同时输入的***,包括建立模块和发送模块;
所述建立模块用于建立接入的键盘与应用程序窗口的映射关系;
所述发送模块用于根据所述建立模块中的所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口。
本发明通过建立键盘与对应的应用程序窗口之间的映射关系,键盘输入的字符只需根据所述映射关系,即可将字符发送至对应的应用程序窗口,实现了多个键盘同时向不同应用程序窗口发送字符;
本发明的原理设计巧妙,实现方式简单,在现有的计算机操作***上都可以利用本发明的技术方案很容易地实现;
本发明可广泛应用于大型拼接墙领域,在拼接墙的控制器上接入多个键盘,即可在同一拼接墙上实现多人独立同时操作,大大提高了工作效率,实用性非常高,值得推广。
附图说明
图1为本发明实现多键盘同时输入的方法在一实施例中的流程示意图。
图2为本发明实现多键盘同时输入的方法在一实施例中建立映射关系步骤的流程示意图。
图3为本发明实现多键盘同时输入的方法在一实施例中发送字符步骤的流程示意图。
图4为本发明实现多键盘同时输入的***在一实施例中的结构示意图。
图5为本发明实现多键盘同时输入的***在一实施例中建立模块的结构示意图。
图6为本发明实现多键盘同时输入的***在一实施例中发送模块的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细说明,但本发明的实施方式不限于此。
如图1所示,是本发明实现多键盘同时输入的方法在一实施例中的流程示意图,包括如下步骤:
S11、建立接入的键盘与应用程序窗口的映射关系;
如图2所示,在一较佳实施例中,步骤S11可具体包括如下步骤:
S200、获取每一个接入的键盘的键盘标识符;
以现有常用的Windows操作***为例,该操作***的***函数RawInput函数用于识别接入的键盘信息,本实施例可通过GetRawInputDeviceList函数调用RawInput函数,获取到每一个接入的键盘信息,该键盘信息包括所述键盘标识符或键盘名称等,本实施例中只需获取键盘标识符即可;
其他的操作***如Linux操作***等,细节实现上略微不同,但其实现的思路大致如此,这里不予赘述,以下实施例都将以Windows操作***为例进行说明;
S210、获取已开启的应用程序窗口的窗口标识符;
在一较佳实施例中通过EnumWindows函数即可实现,EnumWindows枚举函数用于检查操作***中的应用程序窗口数量变化,通过此函数即可获取到已开启的应用程序窗口的信息,本实施例中只需获取到窗口标识符即可;
S220、建立所述键盘标识符与对应的所述窗口标识符之间的映射关系表;
对于本步骤,可通过新建一链表,将步骤S200获取的每个键盘的键盘标识符保存在此链表中,将步骤S210获取的每个应用程序窗口的窗口标识符保存在另一链表中;根据键盘和应用程序窗口之间的对应关系,可将某一键盘标识符与某一窗口标识符关联起来,设置键盘标识符链表与窗口标识符链表的一一对应关系;也可将键盘标识符和窗口标识符都保存在同一关系链表中,在同一链表中设置键盘标识符链表与窗口标识符链表的一一对应关系;
上述键盘与应用程序窗口之间对应关系的获取,可有多种实现方式;例如可将步骤S210中GetRawInputDeviceList函数获取到的键盘信息实时添加到***的鼠标右键列表中,用户将鼠标光标放置在已开启的应用程序窗口时,点击鼠标右键选择连接至对应的键盘,即可自行设置键盘与应用程序窗口的对应关系;也可新建一程序窗口,在此窗口中列举显示所有键盘信息和所有开启的应用程序窗口信息,用户在此窗口中自行设置键盘与应用程序窗口的对应关系;
S12、根据所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口;
如图3所示,在一较佳实施例中,步骤S12具体可包括如下步骤:
S300、接收每个所述键盘输入的字符;
S310、根据所述输入字符的键盘的键盘标识符,查询所述映射关系表,将所述字符发送至所述键盘对应的所述应用程序窗口;
操作***在接收键盘输入的字符时,可先根据该键盘的键盘标识符,查找步骤S220中建立的映射关系表,找到与该键盘对应的应用程序窗口;Windows操作***对于键盘输入字符的处理流程是将获取的字符和接收字符的应用程序窗口的窗口标识符封装好发送到***消息队列;因此在本步骤中,查找到该输入字符对应的窗口标识符,即可按照原操作***的处理流程,将字符发送到应用程序窗口中;
到此步骤,该方法已实现了多个键盘同时工作同时输入字符的任务,弥补了现有技术的缺陷,该方法的设计思路简单却巧妙,每个步骤对于本领域技术人员都能较容易实现;
在一较佳实施例中,本发明还可包括如下一个或多个步骤:
识别断开连接的所述键盘的键盘标识符,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
步骤S200中通过RawInput函数识别键盘的接入或断开,当识别到有键盘断开连接,则可通知映射关系表及时更新,删除映射关系表中记录的该断开连接键盘的键盘标识符,以及该键盘标识符对应的窗口标识符;
识别关闭的所述应用程序窗口的窗口标识符,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
步骤S210中通过EnumWindows函数识别***中应用程序窗口的开启或关闭,当识别到有应用程序窗口被关闭,则可通知映射关系表更新,删除映射关系表中记录的该关闭的程序窗口的窗口标识符,以及该窗口标识符对应的键盘标识符;
解除所述已建立的所述键盘及对应的应用程序窗口的映射关系,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
步骤S220中在获取键盘与应用程序窗口的对应关系的过程中,检测用户在某一应用程序窗口中,通过鼠标右键选择与原对应的键盘断开连接,则可通知映射关系表更新,解除所述已建立的所述键盘及对应的应用程序窗口的映射关系,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
上述三个步骤的目的都在于实时更新映射关系表,避免映射关系表存储数据过多,提高步骤S12中映射关系表的查询速度。
本发明还提供一种实现多键盘同时输入的***,如图4所示,是该***在一较佳实施例中的结构示意图,包括建立模块41和发送模块42;
所述建立模块41用于建立接入的键盘与应用程序窗口的映射关系;
如图5所示,在一较佳实施例中,所述建立模块41包括键盘标识符模块500、窗口标识符模块510和映射关系表模块520;
所述键盘标识符模块500用于获取每一个接入的键盘的键盘标识符;
所述窗口标识符模块510用于获取已开启的应用程序窗口的窗口标识符;
所述映射关系表模块520用于建立所述键盘标识符与对应的所述窗口标识符之间的映射关系表;
所述发送模块42用于根据所述建立模块41中的所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口;
如图6所示,在一较佳实施例中,所述发送模块42包括接收模块600和查询发送模块610;
所述接收模块600用于接收每个所述键盘输入的字符;
所述查询发送模块610用于根据所述输入字符的键盘的键盘标识符,查询所述映射关系表,将所述接收模块600中接收的所述字符发送至所述键盘对应的所述应用程序窗口;
所述实现多键盘同时输入的***,还包括删除模块,所述删除模块用于:
识别断开连接的所述键盘的键盘标识符,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符;
或/和识别关闭的所述应用程序窗口的窗口标识符,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符;
或/和解除所述已建立的所述键盘及对应的应用程序窗口的映射关系,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符。
本发明通过建立键盘与对应的应用程序窗口之间的映射关系,键盘输入的字符只需根据所述映射关系,即可将字符发送至对应的应用程序窗口,实现了多个键盘同时向不同应用程序窗口发送字符;
本发明的原理设计巧妙,实现方式简单,在现有的计算机操作***上都可以利用本发明的技术方案很容易地实现;
本发明可广泛应用于大型拼接墙领域,在拼接墙的控制器上接入多个键盘,即可在同一拼接墙上实现多人独立同时操作,大大提高了工作效率,实用性非常高,值得推广。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种实现多键盘同时输入的方法,其特征在于,包括如下步骤:
建立接入的键盘与应用程序窗口的映射关系;
根据所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口。
2.根据权利要求1所述的实现多键盘同时输入的方法,其特征在于,所述建立键盘与应用程序窗口的映射关系的步骤具体包括:
获取每一个接入的键盘的键盘标识符;
获取已开启的应用程序窗口的窗口标识符;
建立所述键盘标识符与对应的所述窗口标识符之间的映射关系表。
3.根据权利要求2所述的实现多键盘同时输入的方法,其特征在于,所述根据所述映射关系,将所述键盘的输入字符发送至对应的所述应用程序窗口的步骤具体包括:
接收每个所述键盘输入的字符;
根据所述输入字符的键盘的键盘标识符,查询所述映射关系表,将所述字符发送至所述键盘对应的所述应用程序窗口。
4.根据权利要求2所述的实现多键盘同时输入的方法,其特征在于,还包括以下的一个或多个步骤:
识别断开连接的所述键盘的键盘标识符,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
识别关闭的所述应用程序窗口的窗口标识符,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符;
解除所述已建立的所述键盘及对应的应用程序窗口的映射关系,删除所述映射关系表中的所述键盘标识符及对应的窗口标识符。
5.一种实现多键盘同时输入的***,其特征在于,包括建立模块和发送模块;
所述建立模块用于建立接入的键盘与应用程序窗口的映射关系;
所述发送模块用于根据所述建立模块中的所述映射关系,将所述键盘输入的字符发送至对应的所述应用程序窗口。
6.根据权利要求5所述的实现多键盘同时输入的***,其特征在于,所述建立模块包括键盘标识符模块、窗口标识符模块和映射关系表模块;
所述键盘标识符模块用于获取每一个接入的键盘的键盘标识符;
所述窗口标识符模块用于获取已开启的应用程序窗口的窗口标识符;
所述映射关系表模块用于建立所述键盘标识符与对应的所述窗口标识符之间的映射关系表。
7.根据权利要求6所述的实现多键盘同时输入的***,其特征在于,所述发送模块包括接收模块和查询发送模块;
所述接收模块用于接收每个所述键盘输入的字符;
所述查询发送模块用于根据所述输入字符的键盘的键盘标识符,查询所述映射关系表,将所述接收模块中接收的所述字符发送至所述键盘对应的所述应用程序窗口。
8.根据权利要求5所述的实现多键盘同时输入的***,其特征在于,还包括删除模块,所述删除模块用于:
识别断开连接的所述键盘的键盘标识符,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符;
或/和识别关闭的所述应用程序窗口的窗口标识符,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符;
或/和解除所述已建立的所述键盘及对应的应用程序窗口的映射关系,删除所述映射关系表模块中所述映射关系表中的键盘标识符及对应的窗口标识符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210203831.XA CN102750151B (zh) | 2012-06-19 | 2012-06-19 | 一种实现多键盘同时输入的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210203831.XA CN102750151B (zh) | 2012-06-19 | 2012-06-19 | 一种实现多键盘同时输入的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750151A true CN102750151A (zh) | 2012-10-24 |
CN102750151B CN102750151B (zh) | 2016-04-13 |
Family
ID=47030374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210203831.XA Expired - Fee Related CN102750151B (zh) | 2012-06-19 | 2012-06-19 | 一种实现多键盘同时输入的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750151B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593063A (zh) * | 2013-12-03 | 2014-02-19 | 广东威创视讯科技股份有限公司 | 一种时分使用多种输入法的方法与装置 |
CN104049732A (zh) * | 2013-03-11 | 2014-09-17 | 三星电子株式会社 | 多输入控制方法和***和支持该方法和***的电子装置 |
CN106033258A (zh) * | 2015-03-18 | 2016-10-19 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107656667A (zh) * | 2016-07-25 | 2018-02-02 | 宁波Gqy视讯股份有限公司 | 一种分布式拼接显示装置和方法 |
CN109145542A (zh) * | 2018-08-31 | 2019-01-04 | 广东虹勤通讯技术有限公司 | 一种实现多输入设备独立工作的权限分配方法及装置 |
CN112799526A (zh) * | 2021-01-29 | 2021-05-14 | 瑞芯微电子股份有限公司 | 一种单***多鼠标同时显示操作的方法和*** |
CN115543157A (zh) * | 2022-12-01 | 2022-12-30 | 中国人民解放军国防科技大学 | 基于单显卡的独立多图形用户人机交互方法、装置和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414242A (zh) * | 2008-11-19 | 2009-04-22 | 北京飞天诚信科技有限公司 | 多输入焦点的软键盘输入装置和方法 |
CN102053813A (zh) * | 2010-10-14 | 2011-05-11 | 广东威创视讯科技股份有限公司 | 一种拼接墙控制方法及其装置,拼接墙*** |
-
2012
- 2012-06-19 CN CN201210203831.XA patent/CN102750151B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414242A (zh) * | 2008-11-19 | 2009-04-22 | 北京飞天诚信科技有限公司 | 多输入焦点的软键盘输入装置和方法 |
CN102053813A (zh) * | 2010-10-14 | 2011-05-11 | 广东威创视讯科技股份有限公司 | 一种拼接墙控制方法及其装置,拼接墙*** |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049732A (zh) * | 2013-03-11 | 2014-09-17 | 三星电子株式会社 | 多输入控制方法和***和支持该方法和***的电子装置 |
CN104049732B (zh) * | 2013-03-11 | 2018-08-03 | 三星电子株式会社 | 多输入控制方法和***和支持该方法和***的电子装置 |
CN103593063A (zh) * | 2013-12-03 | 2014-02-19 | 广东威创视讯科技股份有限公司 | 一种时分使用多种输入法的方法与装置 |
CN103593063B (zh) * | 2013-12-03 | 2017-01-18 | 广东威创视讯科技股份有限公司 | 一种时分使用多种输入法的方法与装置 |
CN106033258A (zh) * | 2015-03-18 | 2016-10-19 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106033258B (zh) * | 2015-03-18 | 2019-01-15 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107656667A (zh) * | 2016-07-25 | 2018-02-02 | 宁波Gqy视讯股份有限公司 | 一种分布式拼接显示装置和方法 |
CN109145542A (zh) * | 2018-08-31 | 2019-01-04 | 广东虹勤通讯技术有限公司 | 一种实现多输入设备独立工作的权限分配方法及装置 |
CN109145542B (zh) * | 2018-08-31 | 2022-07-12 | 广东虹勤通讯技术有限公司 | 一种实现多输入设备独立工作的权限分配方法及装置 |
CN112799526A (zh) * | 2021-01-29 | 2021-05-14 | 瑞芯微电子股份有限公司 | 一种单***多鼠标同时显示操作的方法和*** |
CN115543157A (zh) * | 2022-12-01 | 2022-12-30 | 中国人民解放军国防科技大学 | 基于单显卡的独立多图形用户人机交互方法、装置和*** |
CN115543157B (zh) * | 2022-12-01 | 2023-04-07 | 中国人民解放军国防科技大学 | 基于单显卡的独立多图形用户人机交互方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN102750151B (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750151A (zh) | 一种实现多键盘同时输入的方法和*** | |
CN103778079B (zh) | 可共用usb装置的双操作***体系结构及共用方法 | |
CN109981878A (zh) | 一种图标管理的方法及装置 | |
CN101102565B (zh) | 一种通信终端中用户数据的处理方法、装置及设备 | |
US20210352059A1 (en) | Message Display Method, Apparatus, and Device | |
CN103226442B (zh) | 一种批量处理文件的方法和装置 | |
CN103346921B (zh) | 用户管理方法和相关设备及通信*** | |
CN106470110A (zh) | 向用户列表中的多个用户群发消息的方法及装置 | |
CN113918055A (zh) | 消息处理方法、装置和电子设备 | |
CN105468264A (zh) | 根据操控方式对应用程序进行操控的方法、装置与终端设备 | |
CN103838375A (zh) | 终端输入方法及终端 | |
CN113504859A (zh) | 传输方法和装置 | |
CN106302932A (zh) | 在通信终端中查看通讯记录的方法和设备 | |
CN103294175A (zh) | 一种电子设备及其自动切换输入模式的方法 | |
CN104133671B (zh) | 一种数字处理设备的硬件接口屏蔽装置及方法 | |
CN104317516A (zh) | 一种快速处理移动终端应用程序通知的方法及其实现*** | |
CN113867583A (zh) | 消息记录显示方法、装置及电子设备 | |
WO2018120882A1 (zh) | 移动终端上获取事件信息的方法和移动终端 | |
WO2023078460A1 (zh) | 信息发送方法、信息发送装置和电子设备 | |
CN105787323A (zh) | WiFi热点的安全保护方法及移动终端 | |
CN105867772A (zh) | 快速关闭应用通知的方法、装置及用户设备 | |
CN114817419A (zh) | 基于Kafka的媒资数据存储方法、装置、电子设备及存储介质 | |
CN110059215B (zh) | 适用于输电线路缺陷照片快速命名归档的整理*** | |
CN114398016A (zh) | 界面显示方法和装置 | |
CN102254358A (zh) | 一种考勤机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 510670 Guangdong Province, Guangzhou high tech Industrial Development Zone Kezhu Road No. 233 Patentee after: VTRON GROUP Co.,Ltd. Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No. Patentee before: VTRON TECHNOLOGIES Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160413 |
|
CF01 | Termination of patent right due to non-payment of annual fee |