本发明涉及电控领域,尤其是一种基于KVM装置的多视窗合屏显示方法和系统。
背景技术:
现有的KVM装置中,通常采用多个显示屏拼接成大屏幕进行显示,每个显示屏显示一个主机的内容,需要对不同主机进行操作时可直接通过鼠标移动,并采用相应的鼠标跨屏设计来达到切换效果,然而在许多应用场景中,由于显示屏数量众多,使用者需要移动鼠标在不同的显示屏之间来回切换,在显示屏数量越多时,频繁的切换过程更加费时费力。
技术实现要素:
为了解决上述技术问题,本发明的目的是:提供一种基于KVM装置的在单个显示屏实现多视窗合屏显示及视窗漫游的方法。
为了解决上述技术问题,本发明的另一目的是:提供一种基于KVM装置的在单个显示屏实现多视窗合屏显示及视窗漫游的系统。
本发明所采用的技术方案是:一种基于KVM装置的多视窗合屏显示方法,所述KVM装置包括有多个主机以及与主机一一对应的第一数据传输装置、数据交换设备、多个显示设备以及与显示设备一一对应的第二数据传输装置、键盘和鼠标,所述主机通过与主机一一对应的第一数据传输装置连接至数据交换设备,所述数据交换设备通过与显示设备一一对应的第二数据传输装置连接至显示设备,所述键盘和鼠标均连接至与任一显示设备对应的第二数据传输装置;所述第二数据传输装置用于通过数据交换设备获取多个至少一个主机的视频信号组合后并显示在其对应的显示设备的多视窗分区上,所述第二数据传输装置还用于获取键盘和鼠标信号对上述至少一个主机进行控制并且组合的任意视频信号之一对应的电脑主机可以直接用与第二数据传输装置的键盘鼠标直接操控;
该方法包括有以下步骤:
根据第二数据传输装置获取的鼠标的相对位移,计算鼠标光标所在显示设备的位置并显示鼠标光标;
获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机;
根据鼠标光标所在显示设备的位置确定操作主机;
根据鼠标光标所在显示设备的位置和多视窗分区信息、操作主机的分辨率计算鼠标光标在操作主机的真实坐标;
将鼠标光标在操作主机的真实坐标和键盘的信号依次通过第二数据传输装置、数据交换设备和第一数据传输装置采用HID协议转换发送到操作主机。
进一步,所述根据第二数据传输装置获取的鼠标的相对位移,并计算鼠标光标所在显示设备的位置这一步骤,具体为:
根据第二数据传输装置获取的鼠标的相对位移;
计算鼠标光标的位置是否超出所在显示设备的显示范围,若超出则将鼠标位移信号转发至相应的显示设备所对应的第二数据传输装置,并由该第二数据传输装置计算鼠标光标在相应的显示设备的位置并显示鼠标光标,否则正常显示鼠标光标。
进一步,所述获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机这一步骤中,当第二数据传输装置检测到键盘或鼠标的调整指令时,根据键盘或鼠标的信号对鼠标光标所在显示设备的分区进行调整。
进一步,所述对鼠标光标所在显示设备的分区进行调整包括有对分区大小的设置、对分区位置的设置、对分区与主机映射关系的设置。
本发明所采用的另一技术方案是:一种基于KVM装置的多视窗合屏显示系统,所述KVM装置包括有多个主机以及与主机一一对应的第一数据传输装置、数据交换设备、多个显示设备以及与显示设备一一对应的第二数据传输装置、键盘和鼠标,所述主机通过与主机一一对应的第一数据传输装置连接至数据交换设备,所述数据交换设备通过与显示设备一一对应的第二数据传输装置连接至显示设备,所述键盘和鼠标均连接至与任一显示设备对应的第二数据传输装置;所述第二数据传输装置用于通过数据交换设备获取多个至少一个主机的视频信号组合后并显示在其对应的显示设备的多视窗分区上,所述第二数据传输装置还用于获取键盘和鼠标信号对上述至少一个主机进行控制并且组合的任意视频信号之一对应的电脑主机可以直接用与第二数据传输装置的键盘鼠标直接操控;
还包括有:
鼠标显示模块,用于根据第二数据传输装置获取的鼠标的相对位移,计算鼠标光标所在显示设备的位置并显示鼠标光标;
分区信息获取模块,用于获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机;
主机匹配模块,用于根据鼠标光标所在显示设备的位置确定操作主机;
鼠标真实坐标计算模块,用于根据鼠标光标所在显示设备的位置和多视窗分区信息、操作主机的分辨率计算鼠标光标在操作主机的真实坐标;
键鼠信号处理模块,用于将鼠标光标在操作主机的真实坐标和键盘的信号依次通过第二数据传输装置、数据交换设备和第一数据传输装置采用HID协议转换发送到操作主机。
进一步,所述鼠标显示模块包括有
相对位移计算子模块,用于根据第二数据传输装置获取的鼠标的相对位移;
显示范围判断子模块,用于计算鼠标光标的位置是否超出所在显示设备的显示范围;
显示子模块,用于在鼠标光标的位置超出所在显示设备的显示范围时将鼠标位移信号转发至相应的显示设备所对应的第二数据传输装置,并由该第二数据传输装置计算鼠标光标在相应的显示设备的位置并显示鼠标光标,或者在鼠标光标的位置未超出所在显示设备的显示范围时正常显示鼠标光标。
进一步,还包括有分区调整模块,用于在检测到键盘或鼠标的调整指令时,根据键盘或鼠标的信号对鼠标光标所在显示设备的分区进行调整。
进一步,所述分区调整模块对鼠标光标所在显示设备的分区进行调整包括有对分区大小的设置、对分区位置的设置、对分区与主机映射关系的设置。
本发明的有益效果是:在KVM装置中采用单一显示器实现对多个主机的多视窗合屏显示,可在单一显示器对多个主机实时操作,而不仅限于对显示内容的预览,可极大程度地减少用户需要使用的显示器数量,减少用户在操作过程中头部眼部的巡视面积和鼠标操作的移动距离,减少工作强度、提高响应速度。
附图说明
图1为本发明中KVM装置的结构示意图;
图2为本发明方法的步骤流程图;
图3为本发明中多个显示设备显示示意图;
图4为本发明中多个显示设备中分区位置调整示意图;
图5为本发明中多个显示设备中分区大小调整示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
一种基于KVM装置的多视窗合屏显示方法,所述KVM装置包括有多个主机以及与主机一一对应的第一数据传输装置、数据交换设备、多个显示设备以及与显示设备一一对应的第二数据传输装置、键盘和鼠标,所述主机通过与主机一一对应的第一数据传输装置连接至数据交换设备,所述数据交换设备通过与显示设备一一对应的第二数据传输装置连接至显示设备,所述键盘和鼠标均连接至与任一显示设备对应的第二数据传输装置;所述第二数据传输装置用于通过数据交换设备获取至少一个主机的视频信号并显示在其对应显示设备的多视窗分区上,所述第二数据传输装置还用于获取键盘和鼠标信号对上述至少一个主机进行控制;参照图1,每个计算机主机连接至一个第一数据传输装置,图形数据和键鼠信号可在主机与第一数据传输装置之间传输;每个显示设备连接至一个第二数据传输装置,用于接收第二数据传输装置的图形数据,而其中一个第二数据传输装置用于接收键鼠信号;其中的多个第一数据传输装置与多个第二数据传输装置之间通过数据交换设备连接。
参照图2,该方法包括有以下步骤:
根据第二数据传输装置获取的鼠标的相对位移,计算鼠标光标所在显示设备的位置并显示鼠标光标;
鼠标发送相对位移信息到第二数据传输装置B3,并且参照相对位移和上次光标所在的位置进行X、Y方向移位,得到新的坐标点;假设当前鼠标光标所在显示设备D3,按照其分辨率1920*1080坐标系确定当前鼠标光标的坐标参数(X0,Y0)。
获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机;
参照图3,当前鼠标光标所在显示设备D3的多视窗分区信息表示其采用的为四等分的分区方式,四等分的分区相对应显示的分别为主机A1、主机A2、主机A3和主机A4。除此之外,分区方式还可采用图3中显示设备D1所示的一大三小的分区方式、图3中显示设备D2所示的一大七小的分区方式,或采用一大一小、一大二小、二等分等,此处不一一列举,用户也可根据需要进行自定义分区布局。
根据鼠标光标所在显示设备的位置确定操作主机;以图3所示的显示设备D3为例,其中采用四等分的分区方式,因此每个分区的分辨率为960*540,对于当前鼠标光标的坐标参数(X0,Y0):
当0≤X0≤960,0≤Y0≤540时,光标落在主机A1所在区块,判定当前操作目标为A1节点对应的主机A1;
当960<X0≤1920,0≤Y0≤540时,光标落在主机A2所在区块,判定当前操作目标为A2节点对应的主机A2;
当0=<X0≤960,540<Y0≤1080时,光标落在主机A3所在区块,判定当前操作目标为A3节点对应的主机A3;
当540<X0≤1920,540<Y0≤1080时,光标落在主机A4所在区块,判定当前操作目标为A4节点对应的主机A4。
根据鼠标光标所在显示设备的位置和多视窗分区信息、操作主机的分辨率计算鼠标光标在操作主机的真实坐标;
对于当前鼠标光标的坐标参数(X0,Y0),当0≤X0≤960,0≤Y0≤540时,根据上一步骤可知鼠标光标落在主机A1所在分区,由于目标主机显示区域在显示模块B3所显示区域坐标为(0:0~960:540),要获得其在主机A1上的真实光标位置,还需要显示模块B3先读回主机A1的真实分辨率。
显示模块B3可直接通过数据交换设备向主机A1询问其接入的主机A1的真实分辨率,主机A1根据其视频接口的H和V信号获得真实分辨率Rxa1*Rya1,因此:
水平方向缩放率Sxa1=Rxa1/960
垂直方向缩放率Sya1=Rya1/540
由此,结合上述信息可计算得到在主机A1上,当前鼠标光标的光标位置应该为:
Xa1=X0*Sxa1
Ya1=Y0*Sya1
同理可以算得,当光标在主机A2上时,当前光标在主机A2的真实坐标应该为:
Xa2=(X0-960)*Sxa2
Ya2=Y0*Sya2
当光标在主机A3上时,当前光标在主机A3的真实位置应该为:
Xa3=X0*Sxa3
Ya3=(Y0-540)*Sya3
当光标在主机A4上时,当前光标在主机A4的真实位置应该为:
Xa4=(X0-960)*Sxa4
Ya4=(Y0-540)*Sya4
将鼠标光标在操作主机的真实坐标和键盘的信号依次通过第二数据传输装置、数据交换设备和第一数据传输装置采用HID协议转换发送到操作主机,从而实现键盘、鼠标的输入。
进一步作为优选的实施方式,所述根据第二数据传输装置获取的鼠标的相对位移,并计算鼠标光标所在显示设备的位置这一步骤,具体为:
根据第二数据传输装置获取的鼠标的相对位移;
计算鼠标光标的位置是否超出所在显示设备的显示范围,若超出则将鼠标位移信号转发至相应的显示设备所对应的第二数据传输装置,并由该第二数据传输装置计算鼠标光标在相应的显示设备的位置并显示鼠标光标,即采用鼠标跨屏方式来达到切换显示设备的效果,否则正常显示鼠标光标。
进一步作为优选的实施方式,所述获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机这一步骤中,当第二数据传输装置检测到键盘或鼠标的调整指令时,根据键盘或鼠标的信号对鼠标光标所在显示设备的分区进行调整。其中调整指令可自定义设置,例如采用键盘快捷键输入作为调整指令,按下快捷键时进入调整模式,然后采用鼠标进行调整。
进一步作为优选的实施方式,所述对鼠标光标所在显示设备的分区进行调整包括有对分区大小的设置、对分区位置的设置、对分区与主机映射关系的设置。
如图4所示,在调整模式下可采用鼠标左键拖动对显示设备D3中的分区A1进行设置。在特殊情况下,如图4中A1分区调整超出显示设备D3时,KVM装置可相应地进行跨屏操作,例如第二数据传输装置B3检测到A1分区移动超出左边显示边界时,获取显示设备D3左边的显示设备D2所对应的第二数据传输装置B2,向其发送开窗和裁剪指令,开窗坐标为:
Xb2=1920-(主机A1图块–显示设备B3上剩余的图块坐标)
Yb2=Y0
第二数据传输装置B2记录当前自己接管信号为主机A1,即对应的节点为主机A1。
如图5所示,在调整模式下还可采用鼠标左键拖动分区边角的方式对显示设备D3中的分区A1的大小进行设置;或者采用键盘和鼠标结合的方式对分区与主机映射关系进行设置,例如按住ctrl键的同时,鼠标左键拖动分区A1至分区A3上,实现分区A1与分区A3的互换,即调整后在图3中的分区A1显示主机A3的图像数据,而分区A3显示主机A1的图像数据。除此之外还可通过定义键盘和/或鼠标的组合实现多种调整操作,例如双击分区实现该分区对应主机的图像信号在单个显示设备上全屏显示、在全屏显示模式下双击恢复原来的多视窗分区显示等等,本实施例中不一一列举。
对应上述一种基于KVM装置的多视窗合屏显示方法,本发明还实现一种基于KVM装置的多视窗合屏显示系统,所述KVM装置包括有多个主机以及与主机一一对应的第一数据传输装置、数据交换设备、多个显示设备以及与显示设备一一对应的第二数据传输装置、键盘和鼠标,所述主机通过与主机一一对应的第一数据传输装置连接至数据交换设备,所述数据交换设备通过与显示设备一一对应的第二数据传输装置连接至显示设备,所述键盘和鼠标均连接至与任一显示设备对应的第二数据传输装置;所述第二数据传输装置用于通过数据交换设备获取至少一个主机的视频信号并显示在其对应显示设备的多视窗分区上,所述第二数据传输装置还用于获取键盘和鼠标信号对上述至少一个主机进行控制;
还包括有:
鼠标显示模块,用于根据第二数据传输装置获取的鼠标的相对位移,计算鼠标光标所在显示设备的位置并显示鼠标光标;
分区信息获取模块,用于获取鼠标光标所在显示设备的多视窗分区信息,所述多视窗分区的每一个分区对应一个主机;
主机匹配模块,用于根据鼠标光标所在显示设备的位置确定操作主机;
鼠标真实坐标计算模块,用于根据鼠标光标所在显示设备的位置和多视窗分区信息、操作主机的分辨率计算鼠标光标在操作主机的真实坐标;
键鼠信号处理模块,用于将鼠标光标在操作主机的真实坐标和键盘的信号依次通过第二数据传输装置、数据交换设备和第一数据传输装置采用HID协议转换发送到操作主机。
进一步作为优选的实施方式,所述鼠标显示模块包括有
相对位移计算子模块,用于根据第二数据传输装置获取的鼠标的相对位移;
显示范围判断子模块,用于计算鼠标光标的位置是否超出所在显示设备的显示范围;
显示子模块,用于在鼠标光标的位置超出所在显示设备的显示范围时将鼠标位移信号转发至相应的显示设备所对应的第二数据传输装置,并由该第二数据传输装置计算鼠标光标在相应的显示设备的位置并显示鼠标光标,或者在鼠标光标的位置未超出所在显示设备的显示范围时正常显示鼠标光标。
进一步作为优选的实施方式,还包括有分区调整模块,用于在检测到键盘或鼠标的调整指令时,根据键盘或鼠标的信号对鼠标光标所在显示设备的分区进行调整。
进一步作为优选的实施方式,所述分区调整模块对鼠标光标所在显示设备的分区进行调整包括有对分区大小的设置、对分区位置的设置、对分区与主机映射关系的设置。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变换或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。