一种键盘鼠标设备共享方法技术

技术编号:32326567 阅读:20 留言:0更新日期:2022-02-16 18:33
本发明专利技术公开了一种键盘鼠标设备共享方法,包括以下步骤,步骤1,在道系统中获取键盘鼠标数据;步骤2,将键盘鼠标数据组成网络数据帧发送到中标麒麟操作系统;步骤3,中标麒麟操作系统解析网络数据帧;步骤4,中标麒麟操作系统判断网络数据帧为键盘事件还是鼠标事件,根据事件类型调用对应的数据处理函数进行处理;步骤5,中标麒麟操作系统响应处理后的键盘鼠标事件,进行共享。本发明专利技术通过自定义网络协议及专用算法,解决道系统下的键盘鼠标数据域中标麒麟操作系统间的数据传输与数据通用性问题,实现嵌入式系统与桌面系统间的键盘鼠标设备共享功能;通过软件方式实现国产操作系统下输入设备的共享。设备的共享。设备的共享。

【技术实现步骤摘要】
一种键盘鼠标设备共享方法


[0001]本专利技术属于计算机控制
,具体属于一种键盘鼠标设备共享方法。

技术介绍

[0002]现有进行键盘鼠标设备共享的方法可以分为两类,一是通过硬件方式进行切换,如KVM切换器;二是通过软件方式,比如基于网络通过RDP协议或者VNC协议共享键盘鼠标设备。
[0003]KVM切换器又被称为多计算机控制器,一台KVM切换器可以控制多台计算机或者服务器,KVM切换器的控制端口主要是用来连接键盘和鼠标的USB端口和显示器的VGA端口。使用硬件连接情况下,如果待共享主机数量较大情况下,硬件设计复杂度、设计成本及切换逻辑复杂度会增加,到时可靠性下降。
[0004]RDP(Remote Display Protocol)协议,适用系统为windows和Linux,提供了客户端与服务器之间的远程桌面控制功能。RDP协议分为网络连接层、ISO数据层、虚拟通道层、加密解密层、功能数据层。连接过程主要包括,客户端连接服务器、ISO数据层建立连接、发送初始协议相关信息,接收加密、解密秘钥、虚拟通道申请、加密形式发送客户端系统信息,同时验证加密协议、平台软件证书验证、各功能建立连接,各功能数据传输,功能实现。
[0005]VNC(Virtual Network Computing)协议时基于RFB(Remote Frame Buffer)协议进行通信的,是一种屏幕画面分享及远程操作软件,借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。适用系统为windows和Linux。VNC连接可以分为4个阶段:握手过程、认证过程、桌面交互和挥手过程。
[0006]由于RDP协议和VNC协议仅适用于桌面操作系统,所以道系统作为没有图形桌面的嵌入式操作系统而且道系统下的键盘和鼠标事件码值不通用,导致道系统无法使用上述两种协议。

技术实现思路

[0007]为了解决现有技术中存在的问题,本专利技术提供一种键盘鼠标设备共享方法,改变了传统的一对一的控制方式,而采用的一对多的管理方式,有利于节省空间,提高工作效率;在控制系统中设备较多的情况下,通过该方法能与其他设备相连,可同时对本地和远程进行控制。
[0008]为实现上述目的,本专利技术提供如下技术方案:
[0009]一种键盘鼠标设备共享方法,包括以下步骤,
[0010]步骤1,在道系统中获取键盘鼠标数据;
[0011]步骤2,将键盘鼠标数据组成网络数据帧发送到中标麒麟操作系统;
[0012]步骤3,中标麒麟操作系统解析网络数据帧;
[0013]步骤4,中标麒麟操作系统判断网络数据帧为键盘事件还是鼠标事件,根据事件类型调用对应的数据处理函数进行处理;
[0014]步骤5,中标麒麟操作系统响应处理后的键盘鼠标事件,进行共享。
[0015]优选的,步骤1中,道系统中获取键盘鼠标数据具体包括以下过程,
[0016]启动USB事件获取线程,在道系统BSP包中提供的USB驱动中获取传递给操作系统的键盘鼠标值;将获取到的键值,按照USB事件网络协议将键盘鼠标事件组成网络数据帧并放到发送缓冲区中。
[0017]进一步的,步骤1中,所述USB事件网络协议中包括数据帧头,键盘鼠标事件标志,按键码值,鼠标移动相对坐标,数据帧校验和。
[0018]优选的,步骤2中,按照配置文件中的对端的IP和端口号,在道系统中初始化发送网络套接字;启动网络发送线程,将发送缓冲区中的数据帧通过初始化的网络套接字发送到中标麒麟操作系统;中标麒麟操作系统初始化接收网络套接字,启动网络数据帧接收线程,接收网络数据帧并放到接收缓冲区中。
[0019]优选的,步骤3中,中标麒麟操作系统中启动USB事件解析线程,从接收缓冲区中依次解析USB事件数据包,首先根据数据包中的帧头字段和校验和字段判断该数据帧是否有效,若数据帧无效则丢弃;数据包有效时则执行下一步骤。
[0020]优选的,步骤4中,如果为键盘事件,则调用键盘事件处理函数,键盘处理函数首先判断键盘事件是组合按键或者单个按键;
[0021]当键盘事件是组合按键时,调用组合键处理函数,模拟Linux组合键处理流程;当键盘事件是单个按键时,调用单个按键处理函数,模拟Linux单个按键处理流程;
[0022]通过专用算法将道系统下的键盘数据转换为Linux下的通用键盘码值;将键盘数据组成Linux下的鼠标事件结构体并传入操作系统,使中标麒麟操作系统响应键盘事件。
[0023]优选的,步骤4中,如果为鼠标事件,则调用鼠标事件处理函数,鼠标事件处理函数将数据帧中的鼠标横向纵位置坐标信息组成Linux下的鼠标事件结构体传入操作系统,使中标麒麟操作系统响应鼠标事件。
[0024]与现有技术相比,本专利技术具有以下有益的技术效果:
[0025]本专利技术提供一种键盘鼠标设备共享方法,相比硬件方法实现,降低了整体设备的硬件复杂度,进而降低了故障风险,同时也降低硬件设计成本;传统USB设备共享协议无法在嵌入式系统上应用,本专利技术通过自定义网络协议及专用算法,解决道系统下的键盘鼠标数据域中标麒麟操作系统间的数据传输与数据通用性问题,实现嵌入式系统与桌面系统间的键盘鼠标设备共享功能;通过软件方式实现国产操作系统下输入设备的共享,可以实现多电脑切换的集中管理,可以节省空间,降低能源消耗,节省硬件成本,避免多余的键盘、鼠标造成的杂乱,使得设备件的管理更加简单方便,提升工作效率。
附图说明
[0026]图1为本专利技术一种键盘鼠标设备共享方法流程图。
具体实施方式
[0027]下面结合具体的实施例对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。
[0028]本专利技术一种键盘鼠标设备共享方法,包括以下步骤,
[0029]步骤1,在道系统中获取键盘鼠标数据;
[0030]步骤2,将键盘鼠标数据组成网络数据帧发送到中标麒麟操作系统;
[0031]步骤3,中标麒麟操作系统解析网络数据帧;
[0032]步骤4,中标麒麟操作系统判断网络数据帧为键盘事件还是鼠标事件,根据事件类型调用对应的数据处理函数进行处理;
[0033]步骤5,中标麒麟操作系统响应处理后的键盘鼠标事件,进行共享。
[0034]本专利技术提供一种键盘鼠标设备共享方法,相比硬件方法实现,降低了整体设备的硬件复杂度,进而降低了故障风险,同时也降低硬件设计成本;传统USB设备共享协议无法在嵌入式系统上应用,本专利技术通过自定义网络协议及专用算法,解决道系统下的键盘鼠标数据域中标麒麟操作系统间的数据传输与数据通用性问题,实现嵌入式系统与桌面系统间的键盘鼠标设备共享功能;通过软件方式实现国产操作系统下输入设备的共享,可以实现多电脑切换的集中管理,可以节省空间,降低能源消耗,节省硬件成本,避免多余的键盘、鼠标造成的杂乱,使得设备件的管理更加简单方便,提升工作效率。
[0035]实施例
[0036]如图1所示,本专利技术一种键盘鼠本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种键盘鼠标设备共享方法,其特征在于,包括以下步骤,步骤1,在道系统中获取键盘鼠标数据;步骤2,将键盘鼠标数据组成网络数据帧发送到中标麒麟操作系统;步骤3,中标麒麟操作系统解析网络数据帧;步骤4,中标麒麟操作系统判断网络数据帧为键盘事件还是鼠标事件,根据事件类型调用对应的数据处理函数进行处理;步骤5,中标麒麟操作系统响应处理后的键盘鼠标事件,进行共享。2.根据权利要求1所述的一种键盘鼠标设备共享方法,其特征在于,步骤1中,道系统中获取键盘鼠标数据具体包括以下过程,启动USB事件获取线程,在道系统BSP包中提供的USB驱动中获取传递给操作系统的键盘鼠标值;将获取到的键值,按照USB事件网络协议将键盘鼠标事件组成网络数据帧并放到发送缓冲区中。3.根据权利要求2所述的一种键盘鼠标设备共享方法,其特征在于,步骤1中,所述USB事件网络协议中包括数据帧头,键盘鼠标事件标志,按键码值,鼠标移动相对坐标,数据帧校验和。4.根据权利要求1所述的一种键盘鼠标设备共享方法,其特征在于,步骤2中,按照配置文件中的对端的IP和端口号,在道系统中初始化发送网络套接字;启动网络发送线程,将发送缓冲区中的数据帧通过初始化的网络套接字发送到中标麒麟操作系统;中标麒麟操作系统初...

【专利技术属性】
技术研发人员:高魏轩桂阳杜吉成秦海郭廓
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:

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

1