在终端之间操作对象的方法及终端的制作方法

xiaoxiao2020-6-26  18

专利名称:在终端之间操作对象的方法及终端的制作方法
技术领域
本发明涉及终端之间的相互扩展显示,协同共享,具体涉及一种 在两个终端之间操作诸如光标之类的对象的方法和相应的终端,能够 提高两台视距范围内终端协同工作的效率。
背景技术
目前两台计算机之间协同工作的时候,需要通过相互扩展彼此的 显示部分,达到信息共享的目的,尤其是在两台计算机在视距范围内 共同协同计算的时候。目前现有的一些常见方案是两台计算机采用远 程控制的方法,其中由一台计算机对另外一台计算机的屏幕进行控制 和桌面共享,但是由于一方的桌面被另外一方完全控制,做不了别的
事情,效率大打折扣,而且双方看到的是相同的屏幕内容,因而在显 示效率上也降低一半。上述方法虽然是针对远程控制提出的,但是可 以应用在视距范围内两台计算机之间的控制,缺点也是很明显1, 任何时刻只能由一方操作,2,只能看到其中被控制方的桌面。
专利文献l (CN200510099693.5)提出采用两个主机同时向一个 显示器上输出显示内容,然后通过通讯的方式来协调两边的键盘鼠标 输入。将2台个人计算机与监视器连接,同时连接键盘和鼠标等输入 设备。从2台个人计算机供给的视频信号,分别通过缓冲器写入可存 储相应于多个画面的视频信号的存储器。但是,在该方案中,必须需 要一个额外的显示器和相应的存贮器以及通讯装置来专门协调键盘 鼠标的输入,成本比较高,使用上也不方便。
专利文献2 (CN01812134.9)采用分时的方案,其采用一套键盘 鼠标输入装置,向两套系统输出键盘鼠标信号,以提高两个计算机系 统之间的传递信息的效率。但是,在该方案中,只有一套键盘鼠标操 作系统,不方便两个人同时操作,而且采用的是分时的方法,也就是
说有一时间段是通讯模式,对第二终端进行操作,另外的时间段是非 通讯模式,只能对本机操作,因此不能同时控制两个计算机系统。这 显然无法提高协同计算的工作效率。
专利文献3 (SYNERGY技术,http:〃synergv2.sourceforge.net/)
允许在具有不同操作系统的计算机之间共享单一的鼠标和键盘,为具 有多台计算机的用户提供方便。该技术采用跨平台的方式,设置主从 关系,这样可以使多台计算机公用一个鼠标的光标,当光标漫游到其 他计算机上的时候,通过热键返回到主机上来。但是该方案的缺点也 是显而易见的,就是在应用SYNERGY工作的时候,多台计算机只 能由主控制计算机的键盘鼠标来控制,这样就无法起到多人多台计算 机同时协同的作用。

发明内容
针对上述问题提出了本发明。本发明的目的是提出一种在多个终 端之间操作对象的方法和相应的终端,能够提高多台终端协同工作的 效率。
在本发明的一个方面,提出了一种在第一终端和第二终端之间操
作对象的方法,包括步骤将第一终端和第二终端任何一方的显示空 间扩展到另一方;在第一终端和第二终端任何一方截获本机的与所述 对象相关的事件,以获知对象的位置;将对象的位置通知给第一终端 和第二终端的另一方;以及第一终端和第二终端的另一方根据接收到 的位置,在本机屏幕上重画该对象。
根据本发明的优选实施方式,当第一终端有一部分显示的内容要 在第二终端上显示时,通过网络把该部分内容数据发送给第二终端, 并在第二终端上显示。
根据本发明的优选实施方式,将第一终端和第二终端任何一方的 显示空间扩展到另一方包括将第一终端和第二终端任何一方的坐标 系统沿任意方向映射到另一方的坐标系统。
根据本发明的优选实施方式,按照坐标系统来区分要一个窗口中 要显示在第一终端上的第一部分和显示在第二终端上的第二部分,第
一部分由第一终端处理,第二部分由第二终端处理。
根据本发明的优选实施方式,将第一终端和/或第二终端的显示
模式进行转换,使得所述第一终端和第二终端的显示模式变为相同。 根据本发明的优选实施方式,重画该对象包括通过GDI或者
DIRECTX将与该对象相关的信息放到该终端的显存中。
根据本发明的优选实施方式,第一终端和第二终端,采用网络连 接,通过网络传输数据。
根据本发明的优选实施方式,该网络包括有线网络和无线网络。 根据本发明的优选实施方式,所述对象是光标或者视图。
在发明的另一方面,提出了一种具备显示功能的终端,包括将 该终端的显示空间扩展到另一终端的装置;在该终端截获本终端的与 所述对象相关的事件以获知对象的位置的装置;以及将对象的位置通 知给该另一终端的装置;其中,该另一终端根据接收到的位置,在该 另一终端的屏幕上重画该对象。
利用本发明的方法和终端,光标可以在两台计算机屏幕之间自由 漫游,视图可以在两台计算机屏幕之间随意拖动,提高了两台视距范 围内计算机协同工作的效率,任何一台计算机的光标可以控制另外一 台做任何控制操作动作。


从下面结合附图的详细描述中,本发明的上述特征和优点将更明 显,其中
图1是说明将计算机B的显示空间映射到计算机A上的示意图2是说明将计算机A的显示空间映射到计算机B上的示意图3是说明由计算机执行的虚拟显示扩展过程的流程图4是说明跨两个显示器的窗口的操作,其中阴影部分由计算机
B处理,灰色部分由计算机A处理;
图5是计算机A光标漫游到计算机B屏幕上的处理流程图; 图6是在计算机A屏幕上的窗口通过任何一台计算机的鼠标拖
拉到计算机B屏幕上的过程的流程图;图7示出了本发明的方法的一个应用; 图8示出了本发明的方法的另一个应用;
图9示出了在任意方向上映射显示空间的示意图; 图10示出了在具有不同分辨率的两台计算机之间进行显示空间 映射的示意图。
具体实施例方式
下面,参考附图详细说明本发明的优选实施方式。在附图中,虽 然示于不同的附图中,但相同的附图标记用于表示相同的或相似的组 件。为了清楚和简明,包含在这里的已知的功能和结构的详细描述将 被省略,否则它们将使本发明的主题不清楚。
根据本发明的实施例,两台计算机,例如计算机A和计算机B 并排放置。这两台计算机A和B分别具有各自的屏幕、键盘、鼠标 以及满足计算机正常工作所需的其它组成部分,比如CPU、内存、 硬盘、外设等。两台计算机通过网络连接,放在一起在近距离供单个 人使用。
在本发明中,计算机A和计算机B都安装有虚拟扩展屏幕驱动, 用于扩展屏幕,也就是将计算机A的屏幕空间扩展到计算机B上, 同时将计算机B的屏幕空间扩展到计算机A上。也就是说,每台计 算机都带了虚拟的扩展屏幕,而同时本身又是其他计算机的扩展屏
如图1所示,计算机A和B分别有独立的坐标系统,计算机A 和B并排左右放置,然后计算机B的坐标系统映射到计算机A,就 是B^B的X轴+1024,或者B,(X, Y)=B((X+1024), Y)。
有了这个映射关系后,计算机B的所有窗口的坐标都可以映射 到计算机A,因此计算机A可以知道计算机B的所有窗口在计算机 A上的坐标,然后计算机B机上窗口的移动的距离等信息也可以传达 给计算机A。反之亦然,计算机A的坐标也可以映射到计算机B,如 图2所示。
图3是说明由计算机执行的虚拟显示扩展过程的流程图。如图3
所示,当要在两台计算机A和B之间移动光标之类的对象时,在步 骤SIO,两台计算机A和B分别启动虚拟扩展显示过程。
然后,在步骤Sll,在启动虚拟扩展显示之后,计算机A和计算 机B通过网络给对方发送各自的光标位置,或者显示的视图的位置。 接下来,在步骤S12,分别在计算机A和B按照上述的方式建立统 一的坐标系统,从而完成了将本机的光标或者视图在对方显示屏幕上 的映射的过程。
虚拟扩展屏幕驱动是给原来的系统增加了一个虚拟的扩展屏幕, 这个虚拟的扩展屏幕实际上是一个基于网络的扩展显卡驱动另外一 台计算机上的屏幕来作为本机的扩展屏幕。也就是说,计算机A的 屏幕作为计算机B的扩展屏幕,同时,计算机B的屏幕作为计算机 A的扩展屏幕,其中和一般实际的扩展屏幕由单个主机来处理所有多 个屏幕上的显示内容方案不同的是,所有在计算机A屏幕上显示的 内容图形全部都由计算机A来处理,所有在计算机B屏幕上显示的 内容图形全部由计算机B来处理,而这些显示的内容不限于来自那 台计算机,因此,原来在计算机A里的内容,可以在计算机B的屏 幕上显示,也可以一部分在计算机A的屏幕上显示,另外一部分在 计算机B的屏幕上显示,关键是,把需要在另外一台计算机的屏幕 上显示的内容通过网络传送到另外一台计算机,由另外一个计算机来 处理显示通过网络传送过来的那部分显示内容,并且显示在另外一台 计算机上。
注意,这里仅传输显存中的内容数据,并不涉及进程的内容,具 体地如图4所示,计算机A把窗口的一部分从计算机A屏幕移到计 算机B的屏幕上,那么只有阴影部分在显存中的内容数据通过网络 发送给计算机B。而窗口的灰色部分还留在计算机A上处理。图5 是计算机A光标漫游到计算机B屏幕上的处理流程图。
如图5所示,在步骤S20,计算机A等待鼠标之类的事件输入。 然后,在步骤S21,判断鼠标事件是来自本机还是计算机B。
如果判断结果是肯定的,也就是鼠标事件是从本机的鼠标发出
的,则在步骤S23,计算机A处理本机的鼠标事件。
如果在步骤S21的判断结果是否定的,则计算机A处理通过网 络从计算机B发来的鼠标事件。
然后,在步骤S24,在计算机A判断光标是否激活了窗口。如果 激活了窗口,则在步骤S25进行拖拉窗口操作,例如将窗口从计算机 A的屏幕拖拉到了计算机B的屏幕上。否则,流程转到步骤S20,重 复上述的操作过程。
在步骤S26,判断窗口是否部分跨越了计算机A屏幕的边界。如 果判断结果是肯定的,则在步骤S27,计算机A将越出部分的窗口数 据从网络发送给计算机B。如果拖拉操作没有导致窗口超出屏幕的边 界,则流程转到步骤S25,继续上述的操作。
然后,在步骤S28,计算机B通过网络接收到数据,重画窗口, 传送到显示存储器中进行显示。这样就完成了在不同的计算机屏幕上 拖拉窗口时的协同显示过程。
另外,在一个窗口的一部分跨越两个系统的显示的情况下,跨越 那部分按照坐标系统来区分,坐标在计算机A机的部分,由计算机A 处理,坐标在计算机B的部分由计算机B处理。跨越过程中,只是 把跨越显存部分的内容数据通过网络传递到另外一方。
如上所述,计算机B在接受到从计算机A发送过来的显存中内 容后,需要在计算机B上进行窗口重画,这个过程如下显存中的 有关窗口的内容携带了位置信息,把这些位置的坐标根据扩展方式的 坐标进行转化,然后映射到计算机B上。然后通过GDI或者DIRECTX 再放到计算机B的显存上,这样就相当于移动过来的窗口,在计算 机B上进行了重画。
当然,如果计算机A和计算机B的显示模式不同,还要进行相 应的显示模式的转化,以适合本机的显示模式。例如将两台计算机的 显示模式设置为一致的模式。
图6是在计算机A屏幕上的窗口通过任何一台计算机的鼠标拖 拉到计算机B屏幕上的过程的流程图。
当把计算机A上的光标移到计算机B上时,也需要对计算机B
上的新出现的光标进行重画,因为计算机B本身已经有一个光标了, 而此时又来了一个来自计算机A控制的光标。
如图6所示,在步骤S30,计算机A等待鼠标之类事件输入。在
接收到输入的鼠标事件之后,判断光标位置是否从计算机A的屏幕 上移动到了计算机B的屏幕上。
如果在步骤S31的判断结果是否定的,则步骤S32由计算机A 处理本机的鼠标事件,然后流程转到步骤S30,重复上述的操作。
接下来,在步骤S33,计算机A要把光标在扩展坐标系上的诸如 坐标之类的位置信息、方向之类的移动信息和按键信息通过网络发送 给计算机B。然后,在步骤S34,计算机B根据接受到的位置信息, 进行反向映射到计算机B上,然后计算机B,在计算机B的屏幕上 重画出一个光标来,其位置移动信息和按键信息都来自计算机A。同 时,计算机B也要向重画的光标开放控制权限,这样这个重画的光 标就可以在计算机A的鼠标的控制下,在计算机B的屏幕上移动, 同时计算机A的操作系统OS纪录所有的计算机A鼠标的输入动作, 通过网络发送给计算机B,计算机B的操作系统OS根据接受到的计 算机A鼠标的移动信息,计算出重画的光标的移动位置,然后输出 到计算机B的显示内存上,并根据通过网络接受到的计算机A鼠标 按键点击的信息,来进行对计算机B的窗口进行控制。在步骤S35, 计算机B继续处理不断从网络上接收到的计算机A对光标控制的鼠 标移动信息、位置信息和控制信息。这样,计算机A的光标就可以 顺利漫游到计算机B的屏幕上并且能对计算机A的窗口进行操作了。
因此,在两台计算机联网并扩展成相互的虚拟扩展显示后,就有 两个光标,分别由各自的计算机鼠标控制其控制。A机鼠标控制A 机的光标,B机鼠标控制B机的光标,并且这两个光标可以分别在A 机和B机的控制下,在任何一个屏幕上自由移动。并对两台计算机 进行控制,因此使用者操作其中的一台计算机的鼠标设备,就可以控 制使用两台计算机。还可以实现在A计算机上利用A的键盘,对B 计算机进行输入文字操作。比如可以把光标移动到B计算机,然后 利用鼠标在B计算机上建立一个新的文件,然后把该文件的窗口通过拖拽的方式,拖到A计算机上,然后进行输入操作,也可以在B 计算机的屏幕上,进行输入操作。
根据本发明的实施例,需要把两台计算机实际的空间位置信息和 驱动中的空间位置调整为一致,所采用的方式见现有实际扩展屏幕的
位置调整技术,比如微软windows XP操作系统中对实际扩展屏幕的调整。
虽然以上说明的是两台计算机水平并排放置的情况,但是两台计 算机也可以沿着垂直方向排列。在这种情况下,相当于在垂直方向上 扩展计算机的显示空间。
因此在近视距范围内,光标在两套计算机系统的屏幕之间自由移
动,'对于提高效率非常好的。比如用户A和用户B分别对着计算机 A机和计算机B在同一方向一起讨论,如果用户A想看计算机B上 的一个窗口,用户B可以直接利用鼠标的拖拽操作,把该窗口从B 计算机的屏幕上拖到计算机A的显示屏幕上来观看,而不需要把整 个文件拷贝给计算机A,然后由用户A在计算机A上打开文件来看。
图7示出了本发明的方法的一个应用,图中两台计算机通过无线 网络连接,其中同时使用两台计算机的时候,操作任意其中一台的键 盘鼠标,在笔记本上通常是鼠标类的输入设备,比如触控板,和触控 杆,或者也可以是鼠标,可以很方便地在两个屏幕之间进行窗口拖拉 操作。在图7中,操作者在计算机B上操作鼠标,把光标漫游到计 算机A的屏幕上,然后利用鼠标的拖拉操作,把原来属于计算机A 的窗口,拖拉到计算机B的屏幕上显示。也可以在窗口激活的时候, 对拖拉过来的窗口进行键盘的字符输入,输入的字符显示在拖拉过来 的窗口中。也可以利用计算机B的鼠标和键盘,在计算机B的光标 漫游到计算机A的屏幕上之后,对计算机A屏幕上的窗口进行激活, 并进一步利用计算机B的键盘进行字符的输入操作。
图8示出了本发明的方法的另一个应用,其中计算机A和计算 机B连在网络上。采用本发明的漫游方法,计算机B连接了投影机, 这时候,计算机A直接把窗口通过操作计算机A上的鼠标,把窗口 拖拉到投影机上显示。计算机B和投影机的关系可以是复制屏幕的 关系,也可以是实际扩展屏幕的关系。
通过以上的方法,可以实现光标在两台联网的计算机屏幕上自由 移动,并且进一步可以实现两个屏幕之间的窗口拖拉操作,分别输入 操作等。
更进一步,可以通过两台联网的计算机的各自的设置,其中一方 先发起激活驱动的邀请,另外一方接受邀请就可以完成激活,也可以 通过按某个开关来完成接受动作。完成上述虚拟网络扩展屏幕驱动的 激活和关闭。当关闭上述虚拟网络扩展显示驱动的时候,回到普通的 现实和控制状态,其中漫游到对方的窗口和光标全部都回到原来的归 属控制的计算机的屏幕上。比如计算机A的窗口或光标漫游到计算
机B的屏幕上,在虚拟扩展显示驱动关闭后,自动回到计算机A的
屏幕上显示。类似于实际的扩展显示关闭的动作。可以通过关闭相互 之间的映射关系来实现。
同样地,根据两台计算机联网之后,实现虚拟的扩展显示,采用 同样的方案原理,也可以扩展到更多的联网计算机来一起扩展显示的 情况,因此完全适用多个联网的计算机之间的虚拟扩展显示。
变型
虽然上面以水平方向和垂直方向为例对本发明的
具体实施例方式
进行了说明,但是也可以在其他的任意方向上映射显示空间。图6示 出了在任意方向上映射显示空间的示意图。
如图9所示,其中n, m为偏移量,偏移量为n=100, m=-260。 因此,从上图可以归纳出映射的关系原计算机B中的一个点的坐 标值(X, Y)在映射到计算机A之后的坐标点(X+1024+100,Y-260)。
另外,在计算机A和计算机B具有不同的分辨率的情况下,也 可以在这两台计算机之间进行显示空间映射。图7示出了在具有不同 分辨率的两台计算机之间进行显示空间映射的示意图。
如图10所示,计算机B的屏幕虽然和A计算机一样大,但是分 辨率设置低很多,在实际的映射中,按照实际的分辨率的象素点进行 映射。因此,在映射后的虚拟坐标空间中,计算机B的屏幕按照象 素点计算,应该小一些。因为是按照每个象素点都相同大小来做假设
的。但是实际上计算机B的实际象素点比计算机A的要大一些。
可见,根据本发明的实施例的方法解决了两个通过某种网络连接 在一起的计算机之间的显示空间统一问题。本发明采用类似单个系统 中扩展屏幕的方式,把另外一台计算机系统的独立坐标系统映射到一 台计算机上,使得任一计算机的显示空间都扩展到另一台计算机上。 截获每台计算机的鼠标键盘事件,并且通知到另外一方,另外一方会 跟踪光标的位置,如果光标在本机上,那么对本机进行处理。如果事 件是通过网络传递过来的,也进行处理。
上面的描述仅用于实现本发明的实施方式,本领域的技术人员应 该理解,在不脱离本发明的范围的任何修改或局部替换,均应该属于 本发明的权利要求来限定的范围,因此,本发明的保护范围应该以权 利要求书的保护范围为准。
权利要求
1、一种在第一终端和第二终端之间操作对象的方法,包括步骤将第一终端和第二终端任何一方的显示空间扩展到另一方;在第一终端和第二终端任何一方截获本机的与所述对象相关的事件,以获知对象的位置;将对象的位置通知给第一终端和第二终端的另一方;以及第一终端和第二终端的另一方根据接收到的位置,在本机屏幕上重画该对象。
2、 如权利要求1所述的方法,其中当第一终端有一部分显示的 内容要在第二终端上显示时,通过网络把该部分内容数据发送给第二 终端,并在第二终端上显示。
3、 如权利要求1所述的方法,其中将第一终端和第二终端任何一方的显示空间扩展到另一方包括将第一终端和第二终端任何一方 的坐标系统沿任意方向映射到另一方的坐标系统。
4、 如权利要求2所述的方法,其中按照坐标系统来区分要一个 窗口中要显示在第一终端上的第一部分和显示在第二终端上的第二 部分,第一部分由第一终端处理,第二部分由第二终端处理。
5、 如权利要求1所述的方法,其中将第一终端和/或第二终端的 显示模式进行转换,使得所述第一终端和第二终端的显示模式变为相 同。
6、 如权利要求l所述的方法,其中重画该对象包括通过GDI 或者DIRECTX将与该对象相关的信息放到该终端的显存中。
7、 如权利要求1所述的方法,其中第一终端和第二终端,采用 网络连接,通过网络传输数据。
8、 如权利要求7所述的方法,其中该网络包括有线网络和无线 网络。
9、 如权利要求l所述的方法,其中所述对象是光标或者视图。
10、 一种具备显示功能的终端,包括 将该终端的显示空间扩展到另一终端的装置;在该终端截获本终端的与所述对象相关的事件以获知对象的位 置的装置;以及将对象的位置通知给该另一终端的装置;其中,该另一终端根据接收到的位置,在该另一终端的屏幕上重 画该对象。
11、 如权利要求10所述的终端,其中将该终端的显示空间扩展 到另一终端的装置包括将该终端的坐标系统沿任意方向映射到该另 一终端的坐标系统。
12、 如权利要求10所述的终端,其中通过网络传输数据。
13、 如权利要求IO所述的终端,其中该网络包括有线网络和无 线网络。
14、 如权利要求10所述的终端,其中所述对象是光标或者视图。
全文摘要
公开了一种在第一终端和第二终端之间操作对象的方法和相应的终端。该方法包括步骤将第一终端和第二终端任何一方的显示空间扩展到另一方;在第一终端和第二终端任何一方截获本机的与所述对象相关的事件,以获知对象的位置;将对象的位置通知给第一终端和第二终端的另一方;以及第一终端和第二终端的另一方根据接收到的位置,在本机屏幕上重画该对象。利用本发明的方法,光标可以在两台计算机屏幕之间自由漫游,提高了两台视距范围内计算机协同工作的效率,任何一台计算机的光标可以控制另外一台做任何控制操作动作。
文档编号G09G5/00GK101354639SQ200710119478
公开日2009年1月28日 申请日期2007年7月25日 优先权日2007年7月25日
发明者李众庆 申请人:联想(北京)有限公司

最新回复(0)