使用多点触摸输入的远程会话控制的制作方法

文档序号:6534223阅读:171来源:国知局
使用多点触摸输入的远程会话控制的制作方法
【专利摘要】使用本地计算系统的多点触摸显示器来访问和控制远程计算系统的远程桌面。远程桌面显示在多点触摸显示器上。当显示器没有作为轨迹板行使时一旦检测到与多点触摸显示器的用户接触,则多点触摸显示器就作为轨迹板行使;并且用户接触被指派为用于控制作为轨迹板的多点触摸显示器的光标指针。根据本文中所述的一些实施例,左指针控制和右指针控制(例如,鼠标左键和右键)也可以被模拟。这一远程桌面技术允许多点触摸显示器被用来操纵远程桌面(即使是那些不支持多点触摸的语义、交互技术或隐喻)。
【专利说明】使用多点触摸输入的远程会话控制
[0001]背景
[0002]远程桌面技术在本地计算系统的显示器上为用户提供远程计算系统的图形界面。这允许用户在本地计算系统上查看远程计算系统的桌面(下文中,“远程桌面”),并且在本地计算系统上提供被应用到远程计算系统处的远程桌面的用户输入。因此,用户能够访问和控制远程桌面。用户访问和控制远程桌面的概念在本文中被称作“远程桌面行为(remotedesktopping)”。
[0003]远程桌面技术在各种各样的场景中有用。例如,也许计算机专家正被授权接管远程客户的桌面以供排除故障或改进顾客的计算机的性能。或者,也许用户正在从在家、在休假或正在旅行中的用户的计算系统访问用户的工作计算机。
[0004]通常,本地计算系统与远程计算系统相比具有不同的显示或输入能力。例如,多点触摸显示器(诸如平板计算机)近来已被商品化。不使用常规指针设备(诸如鼠标、轨迹板、触摸板或笔)或除了使用常规指针设备之外,多点触摸输入通过检测用户与显示器的一个或多个部分的接触来检测用户输入。
[0005]简要概述
[0006]本文所述的至少一个实施例涉及使用本地计算系统的多点触摸显示器来访问并控制远程计算系统的桌面。远程桌面显示在多点触摸显示器上。当显示器没有作为轨迹板行使时一旦检测到与多点触摸显示器的用户接触,多点触摸显示器就作为轨迹板行使;并且用户接触被认为是光标指针(多点接触显示器被解释为轨迹板)。
[0007]根据本文中所述的一些实施例,左指针控制和右指针控制(例如,鼠标左键和右键)也可以被模拟。例如,在第一用户接触仍被施加到多点触摸显示器时一旦检测到第二用户接触,如果第二用户接触在关于第一用户接触的第一相对位置内(例如,在第一用户接触的左面),第二用户接触被解释为按压第一指针控制(左指针控制),且适当的控制按压命令被传送至远程计算系统。第一指针控制被解释为保持按压直到第一或第二用户接触已经结束,在此之后第一控制释放命令被传送到远程计算系统。
[0008]另一方面,如果第二用户接触在关于第一用户接触的第二相对位置内(例如,在第一用户接触的右面),第二用户接触被解释为按压第二指针控制(右指针控制),且适当的控制按压命令被传送至远程计算系统。第二指针控制被解释为保持按压直到第一或第二用户接触已经结束,在此之后第二控制释放命令被传送到远程计算系统。
[0009]这一远程桌面技术允许多点触摸显示器被用来操纵远程桌面(即使是那些不支持触摸的远程桌面)。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

【专利附图】

【附图说明】
[0010]为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0011]图1示出在其中可采用本文所述的一些实施例的计算系统;
[0012]图2示出其中用户与位置计算系统对接以便控制由远程计算系统生成的桌面的网络环境;
[0013]图3A和3B共同地示出用于使用多点触摸显示器来执行远程桌面功能的方法的流程图;
[0014]图4示出了手势识别器的操作方法的流程图;
[0015]图5示出可用在本地计算系统上以便执行图3的方法的架构;
[0016]图6A到6C显示使用多点触摸显示器作为轨迹板的基本光标移动;
[0017]图7A和7B显示按压左指针控制(诸如鼠标左键)的用户仿真;
[0018]图8A和8B显示按压右指针控制(诸如鼠标右键)的用户仿真;
[0019]图9A到9F示出其中用户把桌面图标从桌面的一部分拖拽到另一部分的第一用户场景;以及
[0020]图1OA到图1OH示出其中用户想要查看屏幕分辨率的第二示例。
[0021]详细描述
[0022]根据本文所述的实施例,描述了使用本地计算系统的多点触摸显示器来访问并控制远程计算系统的桌面。远程桌面显示在多点触摸显示器上。当显示器没有作为轨迹板行使时一旦检测到与多点触摸显示器的用户接触,多点触摸显示器就作为轨迹板行使;并且用户接触被认为是光标指针(多点接触显示器被解释为轨迹板)。根据本文中所述的一些实施例,左指针控制和右指针控制(例如,鼠标左键和右键)也可以被模拟。这一远程桌面技术允许多点触摸显示器被用来操纵远程桌面(即使是那些不支持触摸的远程桌面)。首先,将参考图1来描述关于计算系统的一些介绍性讨论。随后,将参考图2到5来描述远程桌面技术的各实施例。将参考随后的附图来描述特定的用户场景。
[0023]计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
[0024]如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
[0025]在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。计算系统还可以包括用于向用户提供图形用户界面的显示器112。
[0026]在此描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。在此描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0027]计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
[0028]“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
[0029]此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
[0030]计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0031]本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
[0032]图2示出包括具有多点触摸显示器211的第一计算系统210,以及与所述第一计算系统210对接213的相关联的用户212的网络环境200。第一计算系统210通过网络201连接至第二计算系统220,所述第二计算系统具有显示器221并潜在而非必须地具有用户222。第一计算系统210和第二计算系统220可各自按如图1的计算系统100所述的来构造,当然这不是必须的。网络201可以是因特网、另一广域网、局域网、任何其它类型的网络,以及它们的组合。
[0033]由于计算系统210对于用户212而言是本地的或者至少显示器211接近用户212,故而第一计算系统210将被称作“本地”计算系统。例如,第一计算系统210有可能被实现为虚拟机,其中第一计算系统210的底层处理能力对于用户212而言无需是本地的(但是显示器211对于用户212而言仍将是本地的)。由于第二计算系统220可以远离本地计算系统210的用户212,或者至少比本地显示器211离用户212更远,故而第二计算系统220也可被称作“远程”计算系统。
[0034]图3A和3B共同地示出用于使用多点触摸显示器来执行远程桌面功能性的方法300的流程图。响应于用户212与多点触摸显示器211交互,可以由例如图2的本地计算系统210来执行方法300,以便控制显示器221上所显示的(或者在远程显示器221关机的情况下至少由远程计算系统220生成的)图形用户界面(例如,桌面)。
[0035]例如,可以由本地计算系统210响应于本地计算系统执行计算机可执行指令而执行方法300。这样的计算机可执行指令可以例如存储在计算机可读介质(诸如计算机存储介质)上,所述计算机可读介质可以作为对本地计算系统210可用的计算机程序产品的一部分或全部被包括。因为方法300可被图2的计算系统210执行,所以现将临时参考图2来描述图3的方法300。
[0036]当指示光标采样事件的消息到达(动作301)时执行方法300,所述光标采样事件与多点触摸显示器211上显示的远程桌面同时发生。例如,此类消息可以响应于鼠标事件、笔事件、另一指针事件或多点触摸显示事件而被接收。多点触摸显示器211上显示的远程桌面表示远程显示器221上显示的图形用户界面(诸如桌面),或至少表示由远程计算系统220使用远程计算系统220的操作系统生成的图形用户界面(诸如桌面)。
[0037]在示出的方法300的特定实施例中,存在可以用来提供输入的三类指针设备。存在在某些情况下本身可以作为轨迹板行使的多点触摸显示器211。此外,当多点触摸显示器211不作为轨迹板行使时,所连接的鼠标或笔可以用来提供指针输入。
[0038]在判定框302中,方法300确定该消息是否是指针消息。假设例如该指针消息包括表示来自笔、或在作为轨迹板行使时来自多点触摸显示器、而非来自鼠标的指针输入的消息。
[0039]如果方法300确定该消息不是指针事件(判定框302中为否),则进一步确定该消息是否是表示物理鼠标向本地计算系统210提供输入所导致的鼠标事件的鼠标消息(判定框303)。如果方法300确定该消息也不是鼠标事件(判定框303中为否),则该消息被委托给本地计算系统210的常规消息/输入处理(动作304)。
[0040]返回判定框302,如果方法300确定该消息是指针事件(判定框302中为是),则它进一步确定该消息是否是触摸消息(判定框305)。触摸消息将指示用户212触摸多点触摸显示器211。如果该消息不是触摸消息(判定框305为否),则确定该消息是否是表示物理笔向本地计算系统210提供输入所导致的笔事件的笔消息(判定框306)。如果方法300确定该消息也不是笔标事件(判定框306中为否),则该消息被委托给本地计算系统210的常规消息/输入处理(动作304)。
[0041]如果I)该消息是鼠标消息(判定框303中为是)或者笔消息(判定框305中为是),则确定多点触摸显示器的轨迹板功能是否被启用和行使(判定框307)。例如,多点触摸显示器的轨迹板功能可能被用户212禁用,因为用户212感觉在与多点触摸显示器211对接时使用笔、鼠标或其它相连的定位设备更舒服。另一方面,当用户接合多点触摸显示器时如果用户想要多点触摸显示器表现为触摸板那样,则可以启用多点触摸显示器的轨迹板功能。另外,如果轨迹板功能被启用,则轨迹板功能性被行使,并且用户实际上与作为轨迹板的多点触摸显示器对接。在此情况下(判定框307中为是),因为在图3的实施例中轨迹板功能优先,故而鼠标消息或笔消息被忽略(动作308)。因此,其它外部指针设备并有效禁用。
[0042]如果I)多点触摸显示器的轨迹板功能被禁用,或者2)即使被启用,但轨迹板功能当前未被用户行使(判定框307中为否),则虚拟光标被隐藏且鼠标光标位置或笔光标位置被更新(动作309),并且处理进一步被委托给本地计算系统的常规消息/输入处理(动作304)。虚拟光标表不与作为轨迹板使用的多点触摸显不器211对应的光标。由于显不器211在这些情况下并没有用作轨迹板(判定框307中为否),因此虚拟光标被隐藏,从而避免与实际的鼠标光标或笔光标的冲突。
[0043]返回到判定框305,如果消息表示多点触摸显示器上的触摸事件(判定框305中为是)(诸如如果用户用手指接触多点触摸显示器将是这种情况),则确定多点触摸显示器211的轨迹板功能是否被启用(判定框310)。如果轨迹板功能没被启用(判定框310中为否),则触摸消息处理被委托给本地计算系统210的常规消息/输入处理(动作304)。
[0044]另一方面,如果多点触摸显示器211的轨迹板功能性被启用(判定框310中为是),则确定轻击是否是可能的(判定框311)。当不存在表示多点触摸显示器目前用作轨迹板的用户触摸接触时,在这一方法中轻击通常是可能的。如果轻击是不可能的(判定框311中为否),则确定触摸消息类型(判定框312-见图3B)。如果轻击是可能的(判定框311中为是),则触摸消息被馈送给手势识别器(动作313),并且随后确定触摸消息类型(判定框312-见图3B)。
[0045]手势识别器随后与沿着图3B的流程继续操作的方法300并行进行处理。图4示出手势识别器操作的方法400。手势识别器生成与这一方法400相关的三个不同事件(动作401)。如果用户接触已经持续了超过预定时间(即比通常用于轻击手势的时间长),则触发保持(On holding)事件。在此情况下,进入轻击是不可能的状态(动作402)。如果用户已经在多点触摸显示器上移动用户接触(同时保持接触)一预定距离,则触发操作开始(On Manipulat1n Started)事件。在此情况下,还是进入轻击是不可能的状态(动作402)。如果手势识别器检测到在保持与多点触摸显示器接触的同时没有明显移动的短暂用户接触,则触发轻击(On Tapped)事件。这表示轻击运动。在此情况下,如果轻击是可能的(判定框403中为是),这可以被解释为对指针计数器控制的点击(动作404)。例如,这可被解释为对选择控制的激活(诸如鼠标的左击或者鼠标的右击,当针对用左手的人配置计算系统时,经常是鼠标右击这种情况)。此外,通知远程计算系统该点击事件(动作404)。
[0046]返回图3B,记住当方法300确定触摸消息的类型(判定框312)时,方法400可以正在进行中。如果触摸消息是指针向下消息,这将表示用户已经与多点触摸显示器211作出了新的触摸接触。在此情况下,新的用户接触被指派一标识符(未示出),并且方法将进一步确定多点触摸显示器211的轨迹板功能是否被行使(判定框314)。如果轨迹板功能未被行使(判定框314中为否),则轨迹板功能被行使(动作315),并且用户接触被指派作为要被用以操作轨迹板的光标指针。在这一行使的状态中,多点触摸显示器211充当轨迹板。
[0047]如果轨迹板功能已经被行使(判定框314中为是),则这意味着新的用户接触不是初次用户接触而是后续用户接触,而光标位置仍对应于初始用户接触。根据本文中所述的实施例,这一后续用户接触可以被解释为按压指针控制。例如,如果该后续用户接触在关于初始用户接触的当前位置的相对位置内,则这可被解释为按压指针控制。因此,导致表示这一按压的相应指针命令被传送给远程计算系统220。
[0048]在图3的方法300的特定实施例中,如果随后的用户接触的相对位置在初始用户接触的当前位置的左面(判定框316中为左),则这一后续用户接触被添加至左指针列表(动作317),并且左指针列表的计数器递增I。因此,可以存在在左指针列表中表示的多个随后的用户接触。
[0049]例如,假设用户212仅使用右手与多点触摸显示器211对接。进一步假设用户212使用中指来进行初始用户接触,并且因此中指的移动控制光标位置。如果在中指保持接触的同时用户要使用食指在中指的左面接触多点触摸显示器,则这一第一个后续接触将被添加至左指针列表,并且左指针列表的计数器将从O递增为I。如果在中指和食指保持触摸多点触摸显示器的同时用户要使用拇指在中指的左面接触多点触摸显示器,则这一第二个后续接触将被添加至左指针列表,并且左指针列表的计数将从I递增为2。
[0050]如果对左指针列表的添加导致该列表的计数从O变成I或更大(判定框318中为是),则左指针控制激活消息被发送到远程计算系统220 (动作319),导致远程计算系统220处的桌面表现为如同按压了左指针控制(例如,鼠标左键)。
[0051]在图3的方法300的特定实施例中,如果后续用户接触的相对位置在初始用户接触的当前位置的右面(判定框316中为右),则这一后续用户接触被添加至右指针列表(动作320),并且右指针列表的计数器递增I。因此,还可以存在在右指针列表中表示的多个后续用户接触。
[0052]例如,假设用户212仅使用右手与多点触摸显示器211对接。进一步假设用户212使用中指来进行初始用户接触,并且因此中指的移动控制光标位置。如果在中指保持接触的同时用户要使用无名指在中指的右面接触多点触摸显示器,则这一第一个后续接触将被添加至右指针列表,并且右指针列表的计数器将从O递增为I。如果在中指和无名指保持触摸多点触摸显示器的同时用户要使用小拇指(即,小指)在中指的右面接触多点触摸显示器,则这一第二个后续接触将被添加至右指针列表,并且右指针列表的计数将从I递增为2。
[0053]如果对右指针列表的添加导致该列表的计数从O变成I或更大(判定框318中为是),则右指针控制激活消息被发送到远程计算系统220 (动作319),导致远程计算系统220处的桌面表现为如同按压了右指针控制(例如,鼠标右键)。
[0054]返回到判定框312,如果触摸消息是指针向上消息,或者以其它方式指示用户接触不再有效,则确定用户接触是否被指派给光标指针(判定框321)。
[0055]如果用户接触不是光标指针(例如,拇指、食指、无名指或小拇指从多点触摸显示器抬起)(判定框321中为否),则用户接触已经中止,并且从相应的指针列表移除(动作322),并且对应列表的计数被递减(未示出)。例如,在上面的示例中,如果用户要把(右手的)拇指或食指从多点触摸显示器移开,则对应的用户接触将从左指针列表移除,并且左指针计数将被递减。如果用户要把(右手的)无名指或小拇指从多点触摸显示器移开,则对应的用户接触将从右指针列表移除,并且右计数将被递减。
[0056]此外,如果递减导致该左指针列表的计数达到0(判定框323中为是),则左指针控制释放命令被发送到远程计算系统220 (动作324),导致远程计算系统220如同释放了左指针控制(例如,鼠标左键)那样处理图形用户界面(例如,桌面)。如果递减导致该右指针列表的计数达到O (判定框323中为是),则右指针控制释放命令被发送到远程计算系统220 (动作324),导致远程计算系统220如同释放了右指针控制(例如,鼠标右键)那样处理图形用户界面(例如,桌面)。
[0057]返回到判定框321,如果所结束的用户接触是光标指针(例如,在上面的示例中的中指)(判定框321中为是),则多点触摸显示器211的轨迹板功能被脱离,左指针列表和右指针列表被清除,并且它们各自计数被重置为O (动作325)。在这一状态下,其它外部指针设备可再次与多点触摸显示器交互(判定框307中为否-见图3A)。此外,由于两个指针列表的计数现在为O (判定框323中为是),如果存在正被按压的激活的左和/或右指针控制,则适当的控制释放命令被传送到远程计算系统220 (动作324),导致远程计算系统220如同释放了相应的指针控制(例如,鼠标左键和/或右键)那样处理图形用户界面(例如,桌面)。
[0058]返回判定框312,如果触摸消息是指针更新,这表示与用户接触的位置有关的新更新。例如,每一当前用户接触的位置可以每秒被监视多次。因此,指针更新可以表示用户接触的运动。如果用户接触不是光标指针(判定框326中为否),则运动被忽略。然而,如果用户接触是光标指针(例如,上面的示例中的中指)(判定框326中为是),则光标指针实际控制轨迹板功能。因此,光标位置在多点触摸显示器上被更新(动作327),并且导致对应的光标移动命令被传送到远程计算系统220 (动作326),导致远程计算系统220的图形用户界面(例如,桌面)也跟随该移动。
[0059]图5示出可用在本地计算系统210上以便执行图3的方法300的架构500。尽管并非必须,但该架构例如可以被实现为WINDOWS网络应用(WWA)501。应用501包括接收用户输入510的远程桌面ActiveX控制511。Javascript代码512包括自动滚动处理组件531。
[0060]响应于用户输入的每一项(例如,图3A中动作301的每一个发生的情况),远程桌面控制511接收那一用户输入。对于表示触摸控制的这些用户输入(例如,判定框305中为是),触摸用户输入被提供给触摸指针消息处理组件521,触摸指针消息处理组件521执行图3中判定框305为是的下游的剩余部分。
[0061]为了呈现虚拟光标,使用包括D3D/D2D呈现组件523、会话内容524和虚拟光标覆盖525的呈现栈522。例如,该栈522可用来响应于运动(见图3B的动作327)再次呈现虚拟光标,以在行使轨迹板功能(见图3B的动作315)时使虚拟光标可视化或在使用其它指针设备(见图3A的动作309)时隐藏虚拟光标。通信组件326被用来向远程计算系统转发光标命令(如图3B中的动作319、324和327)。
[0062]为了处理滚动,如果指示在邻近可视显示器边界的边缘位置处的虚拟光标指针的特定事件发生,该事件被提供给自动滚动处理531。自动滚动处理依据虚拟光标位置和虚拟光标最近的运动方向来确定是左滚动、右滚动、上滚动或下滚动。例如,如果虚拟光标的位置被施加于可视显示器的上边界可以执行上滚动,并且光标指针进一步的运动被向上推进,对于其它方向依此类推。在一个实施例中,如果(a)有可能沿那个方向滚动,且(b)光标在作为那个维度上视口长度一部分测量出的边界的某个百分比以内(例如,15% ),自动滚动处理在该特定方向上滚动。如此,举例而言,如果向上滚动,贝1J光标需位于距顶部垂直维度的15%以内,如果向右滚动,则光标需位于距右边水平维度的15%以内,诸如此类。在滚动时光标将保持在距边界15%处直到滚动不再可能,在该点处沿此方向进一步的运动将导致光标朝向边界移动直到接触该边界。
[0063]据此,已经描述了使用多点触摸显示器来执行远程桌面技术的有力机制。将参考图6A到1H来描述特定的用户场景。在这些用户场景的每一个中,用户使用右手与多点触摸显示器执行交互以藉此潜在地执行非常复杂的指针任务。
[0064]图6A到6C显不使用多点触摸显不器作为轨迹板的基本光标移动。在图6A中,用户用手指接触显示器由此把显示器作为轨迹板行使。光标的位置独立于用户接触的初始位置。在图6B中,用户把手指向左拖拽以导致对应的向左的光标的相对移动。在图6C中,用户已经完成了拖拽运动从而达成光标向左的期望移动。因此,显示器充当轨迹板输入设备,并且还实现了显示器功能。
[0065]在图7A和7B中,用户模拟左指针控制(诸如鼠标左键)的按压。图7A与图6C相似,除了没有箭头以清楚地示出远程桌面。在图7A中,用户接触(或保持接触)显示器,由此显示器作为轨迹板输入设备行使,尽管在图7A和7B的示例中不存在光标的移动。在图7B中,用户在最初手指的当前位置的左侧用第二根手指接触显示器。这模拟了对左指针控制(诸如鼠标左键)进行按压。用户通过简单地移开第二根手指来释放左指针控制。因此,用户可以直观地模拟左指针控制的按压和释放。
[0066]在图8A和8B中,用户模拟右指针控制(诸如鼠标右键)的按压。图8A与图6C相似除了没有箭头以清楚地示出远程桌面。在图8A中,用户接触(或保持接触)显示器,由此显示器作为轨迹板输入设备行使,尽管在图8A和SB的示例中不存在光标的运动。在图8B中,用户在最初的手指的当前位置的右侧用第二根手指接触显示器。这模拟了对右指针控制(诸如鼠标右键)进行按压。用户通过简单地移开第二根手指来释放右指针控制。因此,用户可以直观地模拟右指针控制的按压和释放。
[0067]总而言之,提供了一种用户可藉此直观地把显示器作为轨迹板输入设备行使并且直观地模拟左和/或右指针控制的按压和释放的机制。这允许用户快速学会高效地投入与显示器更加复杂的交互以使得更加复杂的任务能够被执行。
[0068]例如,图9A到9F示出其中用户把桌面图标从桌面的一部分拖拽到另一部分并把该桌面图标放到新位置处的用户场景。图9A示出在初始状态的桌面,其中在桌面的左上角有三个桌面图标。光标位置现在在要被移动的中间的桌面图标上。光标位置可以在之前已经由把显示器作为轨迹板行使的用户移动到那里。
[0069]图9B示出用户用最初的手指与显示器作出初始用户接触,由此把显示器作为轨迹板行使。同样,初始光标位置独立于初始用户接触的初始位置。在图9C中,用户随后在初始用户接触的当前位置的左侧用第二根手指接触,模拟左指针控制的按压,这选择要随光标位置移动的中间的图标。
[0070]图9D示出桌面图标和光标的预期移动方向。图9E示出桌面图标的方向与用户的初始手指的拖拽移动方向相同。由于左侧手指也拖拽,这模拟连续按压左指针控制,由此使得所选定的桌面图标能够继续随光标移动。然而,光标随最初的手指而不是左侧手指的拖拽运动而动。图9F示出用户释放左侧手指由此模拟左指针控制释放,由此把桌面图标放到其在此示例中的最终位置处。
[0071]图1OA到图1OH示出其中用户想要查看屏幕分辨率的第二示例。图1OA解说初始状态中的桌面。图1OB示出用户用最初的手指与显示器作出初始用户接触,由此把显示器作为轨迹板行使。在图1OC中,用户随后在初始用户接触的当前位置的右侧用第二根手指接触,模拟右指针控制的按压。图1OD示出用户释放右侧手指由此模拟右指针控制释放。在WINDOWS中,当光标位于桌面上时按压并在随后释放右鼠标控制导致一旦释放右鼠标控制就出现如图1OD中所解说的上下文菜单。然而,由于一旦释放鼠标右键菜单将通常保持显示故而菜单保持显示。
[0072]用户想要移动光标到菜单中的“屏幕分辨率”选项,因此用户打算沿图1OE中所示的方向移动最初的手指,使得光标也在相同的相对方向上移动(由此模拟轨迹板功能)。图1OF示出这一拖拽运动的完成,其中光标现在位于“屏幕分辨率”选项上。
[0073]在图1OC中,用户在初始接触的当前位置的左侧用手指接触,由此模拟按压左指针控制。用户随后释放所有用户接触,由此模拟左指针控制的释放(导致出现屏幕分辨率窗口)。此外,通过释放初始手指,显示器脱离作为轨迹板,并且由此启用轻击。事实上,在图1OH中,如果用户用手指在显示器上轻击,这将模拟在光标的当前位置处点击(按压并随后快速释放)左指针控制。
[0074]因此,已经描述了使用多点触摸显示器来执行远程桌面操作的有力机制。本文中所述的原理可以进一步扩展至使用多点触摸显示器的任何用户界面环境,即使这在远程桌面技术的上下文以外。本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。
【权利要求】
1.一种包括其上有计算机可执行指令的一个或多个计算机可读介质(104)的计算机程序产品,当所述指令被本地计算系统(100、210)的一个或多个处理器(102)执行时,使所述计算系统执行一种用于使用本地计算系统的多点触摸显示器(112、211)来访问和控制远程计算系统(220)的远程桌面(221),所述方法包括: 在所述本地计算系统的所述多点触摸显示器上显示远程桌面;以及 当所述显示器没有作为轨迹板行使时(314),一旦检测到与所述多点触摸显示器的用户接触(305、312),则所述多点触摸显示器就作为轨迹板行使(315);以及 所述用户接触被指派为用于控制作为轨迹板的多点触摸显示器的光标指针(315)。
2.如权利要求1所述的计算机程序产品,当所述显示器没有作为多点触摸轨迹板行使时在检测到与所述多点触摸显示器的用户接触之后,所述方法进一步包括以下步骤: 在所述多点触摸显示器作为所述轨迹板行使时禁用能够向所述多点触摸显示器提供指针输入的一个或多个指针设备。
3.如权利要求2所述的计算机程序产品,其特征在于,所述一个或多个指针设备包括鼠标。
4.如权利要求1所述的计算机程序产品,其特征在于,如果光标指针在距所述多点触摸显示器的边界的预定距离以内,则所述多点触摸显示器的内容被沿所述边界的方向自动滚动。
5.如权利要求1所述的计算机程序产品,其特征在于,所述用户接触是第一用户接触,在所述第一用户接触仍被施加到所述多点触摸显示器时,一旦检测到第二用户接触,则所述方法进一步包括以下步骤: 如果所述第二用户接触在关于所述第一用户接触的相对位置内,则把所述第二用户接触解释为按压指针控制,且导致控制按压命令被传送至所述远程计算系统。
6.如权利要求5所述的计算机程序产品,其特征在于,所述指针控制被解释为保持按压直到所述第一用户接触或所述第二用户接触已经结束,在此之后控制释放命令被传送到所述远程计算系统。
7.如权利要求5所述的计算机程序产品,其特征在于,所述相对位置是第一相对位置,并且所述指针控制是第一指针控制,其中 如果所述第二用户接触在关于所述第一用户接触的第二相对位置内,则把所述第二用户接触解释为按压第二指针控制,且导致所述解释被传送至所述远程计算系统。
8.如权利要求7所述的计算机程序产品,其特征在于,所述第一指针控制是左指针控制,而所述第二指针控制是右指针控制。
9.如权利要求8所述的计算机程序产品,其特征在于,所述第一相对位置在所述第一用户接触左侧,而所述第二相对位置在所述第一用户接触的右侧。
10.一种用于使用本地计算系统(100、210)的多点触摸显示器(112、211)来访问和控制远程桌面(221)的计算机实现的方法(300),所述方法包括: 在所述本地计算系统的所述多点触摸显示器上显示所述远程桌面; 当所述显示器没有作为轨迹板行使时(314),检测与所述多点触摸显示器的用户接触(305,312); 响应于检测,把所述多点触摸显示器作为轨迹板行使(315);以及 响应于检测,把所述用户接触指派为用于控制作为所述轨迹板的所述多点触摸显示器的光标指针(315)。
【文档编号】G06F3/038GK104364734SQ201380030238
【公开日】2015年2月18日 申请日期:2013年5月24日 优先权日:2012年6月8日
【发明者】C·R·布特那, B·H·梅斯特, E·索尔, R·M·库子伊尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1