CN105683879B - 用于基于触摸的设备上的访客应用的无缝的主机系统手势体验 - Google Patents

用于基于触摸的设备上的访客应用的无缝的主机系统手势体验 Download PDF

Info

Publication number
CN105683879B
CN105683879B CN201380080271.6A CN201380080271A CN105683879B CN 105683879 B CN105683879 B CN 105683879B CN 201380080271 A CN201380080271 A CN 201380080271A CN 105683879 B CN105683879 B CN 105683879B
Authority
CN
China
Prior art keywords
gesture
visitor
logic unit
host
hge
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.)
Active
Application number
CN201380080271.6A
Other languages
English (en)
Other versions
CN105683879A (zh
Inventor
Y·靳
J·李
T·李
X·林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN105683879A publication Critical patent/CN105683879A/zh
Application granted granted Critical
Publication of CN105683879B publication Critical patent/CN105683879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明描述了与基于触摸的设备上的访客应用的无缝的主机系统手势体验有关的方法和装置。在一个实施例中,主机手势捕获(HGC)逻辑响应于触摸事件而检测手势。HGC逻辑响应于确定该手势与主机系统的操作无关而将该手势转发给主机手势仿真器(HGE)逻辑。HGE逻辑根据主机系统的访客操作系统进行操作。还要求保护并且描述了其它实施例。

Description

用于基于触摸的设备上的访客应用的无缝的主机系统手势 体验
技术领域
概括地说,本公开内容涉及计算领域,更具体地说,实施例一般涉及用于基于触摸的设备上的访客应用的无缝的主机系统手势体验。
背景技术
基于触摸的计算系统通常依赖于系统手势来为用户提供操作该基于触摸计算系统的便利方式。一些系统手势与系统功能有关,例如,调用系统菜单、返回到主机启动器等等,而其它系统手势可能与应用有关,例如,调用应用菜单、退出应用、将前台状态从当前应用改变到下一个应用等等。但是,随着基于触摸的计算系统的类型增加,系统手势的实现复杂度也随之增加。因此,需要更高效且无缝的技术,来在基于触摸的计算系统上实现系统手势。
附图说明
参照附图来提供具体实施方式。在附图中,附图标记的最左侧的(一个或多个)数字标识该附图标记第一次出现于其中的附图。不同附图中对于相同附图标记的使用,指示相似或者相同的项。
图1根据一个实施例,描绘了设备上的屏幕配置。
图2根据一个实施例,描绘了在提供对于(一个或多个)系统手势的无缝体验的系统中的组件的框图。
图3根据一个实施例,描绘了用于在访客应用上提供无缝手势体验的方法的流程图。
图4-6描绘了可以用于实现本文所讨论的一些实施例的计算系统的实施例的框图。
具体实施方式
在下面的描述中,为了提供各个实施例的透彻理解,阐述了众多特定的细节。但是,可以在无需这些特定细节的情况下,实现各个实施例。在其它实例中,没有详细地描述公知的方法、过程、组件和电路,以便不对这些特定的实施例造成模糊。此外,可以利用各种方式来执行实施例的各个方面,例如,半导体集成电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)、或者硬件和软件的某种组合。为了本公开的目的,对于“逻辑”的引用应当意味着硬件、软件、固件(FM)或者上述各项的某种组合。
一些实施例提供了针对于基于触摸的设备上的访客应用的无缝的主机系统手势体验。例如,用户可以利用(一个或多个)主机系统手势来与主机和访客应用两者进行交互。因此,访客应用能够对主机系统手势进行响应,并递送无缝体验。在一个实施例中,逻辑电路截取/识别一个或多个主机系统手势,将它们重定向到访客OS(操作系统),和/或对响应进行模拟。这允许用户将主机系统手势应用于访客应用和主机应用两者,并且接收类似的或者相同的响应。此外,基于触摸的设备可以是任何基于触摸的设备,例如,具有触摸屏的设备或者其它触摸输入设备,其包括诸如智能手机、台式计算机(例如,具有触摸屏显示器或者其它触摸输入设备)、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表、智能眼镜等等。
此外,系统手势提供了用于操作基于触摸的计算设备的便利方式。一些系统手势与系统功能有关,例如,调用系统菜单、返回到主机启动器等等,而其它系统手势可能与应用有关,例如,调用应用菜单、退出应用、将前台状态从当前应用改变到下一个应用等等。
此外,当访客应用在主机系统上运行时,这些访客应用通常运行在主机应用(称为仿真器)之内,所以在将系统手势应用到访客应用时,用户可能体验到不同的效果。例如,当用户尝试从一个访客应用滑动到另一个访客应用时,该滑动可能跳过所有访客应用而转到另一个主机应用,或者,当用户调用访客应用菜单时,设备却弹出了仿真器的菜单。因此,系统手势可能未被正确地识别,且反而造成主机应用对主机系统手势进行响应。这可能转而在用户使用系统手势与访客应用进行交互时使用户困惑。
为此,实施例利用逻辑来截取/识别一个或多个主机系统手势,将它们重定向到访客OS,和/或对(一个或多个)响应进行仿真(emulate)。例如,图1根据一个实施例,描绘了设备上的屏幕配置100,其中该设备运行主机OS并且支持滑动手势以便在访客应用之间进行切换。该设备可以是任何基于触摸的设备,例如,智能手机、具有触摸屏显示器的台式计算机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表、智能眼镜等等。配置100允许系统手势(例如,诸如所示的滑动)使用户能够在两个访客应用(例如,作为访客应用#1和#2被示出)之间进行切换。在图1中,访客OS运行在仿真器的全屏视窗之中。因此,根据一个实施例,借助于无缝手势,可以利用相同的主机滑动手势来切换访客应用。
在仿真器的一些实现中,仿真器的仿真触摸设备(ETD)逻辑将主机OS的触摸事件重定向到访客OS。每当在仿真器的应用窗(例如,全屏幕)中发生触摸事件时,ETD都从主机OS接收触摸事件,并随后将该事件重定向到访客OS中的事件管理器。这样的实现取决于访客事件管理器确定如何对该事件进行响应。此外,一些系统手势可能已经被处理过(例如,由主机OS进行处理),因此根本不递送给ETD。此外,可以将事件管理器实现成服务,该服务接收用户输入并将用户输入分派到前台应用或者另一个系统组件。事件管理器可以:从一个应用滑动到下一个应用、退出应用、弹出应用菜单、或者调用系统菜单,等等。
图2根据一个实施例,描绘了提供对于(一个或多个)系统手势的无缝体验的系统200中的组件的框图。如图所示,系统200包括主机内核202(例如,具有虚拟机管理器(VMM)204以支持一个或多个访客OS 206)、主机事件管理器逻辑208(例如,用于从主机内核202向仿真器逻辑212的ETD逻辑210发送事件数据(如,系统手势事件或原始触摸事件))。此外,访客OS 206可以包括一个或多个访客应用214和访客事件管理器逻辑216(例如,用于对检测到的并从仿真器212传达到访客OS 206的系统手势事件进行管理)。
为了提供对于系统手势的无缝的用户体验,一些实施例利用主机手势捕获器(HGC)逻辑220(例如,其位于主机OS中的仿真器的ETD 210之内)和主机手势仿真器(HGE)逻辑222(例如,其位于访客OS 206的事件管理器216中)。如图2中所示,HGC 220和HGE 222可以在主机(例如,经由仿真器212)和访客OS 206之间交换命令和数据,如将参照图2进一步讨论的。当仿真器212变成前台应用时,其请求主机事件管理器208将原始触摸事件重定向到仿真器212(而不是在负责对手势进行响应的主机系统中的另一个模块)。以此方式,主机将不对(一个或多个)系统手势进行响应,仿真器212变成进行响应的(responsive),并获得完全控制,以便对(一个或多个)系统手势进行响应。随后,HGC 220对原始触摸事件进行分析,并识别(一个或多个)系统手势。(一个或多个)系统手势可以从设备的屏幕边缘开始。所以,在一个实施例中,当HGC 220接收到坐标靠近设备的屏幕边缘的任何原始触摸事件时,触发该系统手势识别。此外,在一个实施例中,将HGC 220实现成针对仿真器的ETD 210的增强。
在一个实施例中,HGC 220根据主机系统手势本质来有差别地对其进行处理。例如,如果该系统手势与主机系统范围的操作有关(例如,调用主机系统菜单,或者返回到主机启动器),则HGC 220调用主机系统API(应用程序接口)以完成这些任务。对于与前台应用有关的系统手势而言,HGC 220可以将该手势传递给HGE 222。HGE 222可以实现成针对访客事件管理器216的增强,其在(一个或多个)访客应用214上仿真该主机系统手势的效果。
此外,如果某些手势依赖于应用的对于该手势的响应的实现,则HGE 222可以将该主机手势转换(translate)成访客手势,并将该访客手势应用于该访客应用。如果不存在相应的访客手势,则HGE 222可以利用使得用户知道访客应用不支持该手势的方式来进行响应,例如,类似于当主机应用不支持一个手势时。另外,如果某些手势效果不依赖于应用的对于该手势的响应的实现,则HGE 222可以对手势效果进行独立地仿真。例如,HGE 222可以通过首先使应用缩小到四分之一大小,并随后使其消失(例如,类似于当用户将该手势对本地主机应用时),来模拟退出该应用的动画。
在一些实施例中,HGE 222将检测到的手势传递回HGC 220,使得HGC可以在主机中处理该系统手势。一些实施例可以提供各种使用情况。一些动画可能涉及:示出先前应用和最后(last)应用。例如,8可以将当前应用滑动到先前应用或者最后应用。对于这种类型的手势,HGE 222可以跟踪所有访客应用以及它们的最后视窗表面。当需要时,HGE可以获取邻居应用以及其视窗表面,并构建动画。如果当前访客应用是访客OS中的第一应用或者最后应用,则he可能不能够进行仿真(这是由于其邻居应用是主机应用)。在该情况下,HGE可以将该手势传递回HGC。在接收到该手势之后,HGC调用系统API来完成该响应。在Windows 8滑动示例中,仿真器应用将会滑出(slide out),并被邻居主机应用所替代。此外,在一个实施例中,(一个或多个)访客应用呈现为系统用户界面(UI)中的主机应用,例如,访客应用可以是直接从主机启动器(例如,8的“开始”)中启动的。
图3根据一个实施例,描绘了用于利用图2的主机手势捕获(HGC)和主机手势仿真器(HGE)逻辑以在访客应用上提供无缝手势体验的方法300的流程图。在一些实施例中,本文所讨论的其它附图中的一个或多个组件(例如,一个或多个处理器核心、显示设备、存储设备等等)执行图3的一个或多个操作。如图3中所示,操作302-312和350-354可以在图2的HGC 220处执行,而操作320-338可以在图2的HGE 222处执行。
参见图2-3,在操作302处,接收原始(即,未处理的)触摸事件。在操作304处,使用该触摸事件来识别或者检测相应的系统手势。在操作306处,判断所识别的手势是否与主机系统有关。如果有关,则操作308将该手势转发给主机系统;否则,在操作310处,将该手势转发给HGE。
在操作320处,在HGE 222接收所识别的手势。在操作322处,判断访客应用是否需要对该手势进行响应。如果需要,则操作324判断是否通过访客定义手势来仿真该手势,且若如此进行,则将该手势分派给相应的访客应用(例如,该应用是屏幕上的活动应用)。在操作326之后,方法300转到操作328,以等待下一个手势,接着是操作320。
如果在操作322处不需要该应用进行响应,则操作330准备作为主机来执行动画(to perform animation as host)。如果该动画涉及(一个或多个)主机应用(在操作332处),则在操作334处,将该手势分派返回给HGC;否则(例如,如果主机手势体验能够由访客操作系统独立地仿真),则在操作336处,对主机动画进行仿真,并且方法300返回到操作328。此外,如果操作324导致否定判断,则执行操作338(即,不进行响应),接着是操作328。在操作350处,在HGC接收从HGE返回的手势。随后,在操作352处,将该手势转发给主机。操作354等待下一个系统手势,并且方法300返回到操作350。
因此,一些实施例介绍了主机OS中的主机手势捕获器(HGC)和访客OS中的主机手势仿真器(HGE)。HGC截取原始触摸事件,识别系统手势,并将其传递给HGE。HGC可以应对与主机系统有关、但与特定的应用无关的针对系统手势的响应中的一些。HGE可以在访客OS中对于系统手势的响应进行仿真,并在需要时将HGC回调。
图4根据一个实施例,描绘了一种计算系统400的框图。计算系统400可以包括经由链路404进行通信的一个或多个中央处理单元(CPU)402或者处理器(其中,如本文所讨论的,在各个实施例中,链路可以包括互连或者总线)。处理器402可以包括通用处理器、网络处理器(其对通过计算机网络403传达的数据进行处理)或者其它类型的处理器(其包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。
此外,处理器402可以具有单内核或者多内核设计。具有多内核设计的处理器402可以在同一个集成电路(IC)管芯上集成不同类型的处理器核心。此外,具有多内核设计的处理器402可以实现成对称的或者非对称的多处理器。另外,参照图1-3所讨论的操作可以由系统400的一个或多个组件来执行。此外,参照图1-3所讨论的各种设备(例如,台式计算机、智能手机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表、智能眼镜等等)可以包括图4中的组件里的一个或多个。
例如,存储器412可以存储在(一个或多个)处理器402上执行的参照图2-3所讨论的HGC 220和HGE 222。此外,系统400可以包括图像捕获设备405。此外,图像捕获设备405(例如,数码相机(其可以嵌入在诸如智能手机、平板设备、膝上型计算机、独立相机等等之类的另一个设备中),或者模拟设备(所捕获的图像随后被转换成数字形式))可以捕获场景、图像或者帧(例如,在各个实施例中,它们可以由图形逻辑进行处理)。此外,在一个实施例中,图像捕获设备可以能够捕获多个帧。另外,在一些实施例中,场景中的帧里的一个或多个在计算机上进行设计/生成。此外,可以经由显示器(例如,显示器416,其包括例如平板显示设备等等)来呈现该场景的帧中的一个或多个。
芯片组406还可以与互连网络404进行通信。芯片组406可以包括图形和存储器控制集线器(GMCH)408。GMCH 408可以包括与存储器412进行通信的存储器控制器410。存储器412可以存储包括指令序列的数据,其中该指令序列可以由处理器402或者计算系统400中包括的任何其它设备执行。在一个实施例中,存储器412可以包括一个或多个易失性存储设备(或存储器),诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)等,或者其它类型的存储设备。此外,还可以使用诸如硬盘等非易失性存储器。另外的设备诸如多个处理器和/或多个系统存储器等可以经由互连网络404进行通信。
GMCH 408还可以包括与显示设备416进行通信的图形接口414。在一个实施例中,图形接口414可以经由加速图形端口(AGP)或者外围组件互连(PCI)或者(PCI快速(PCIe)接口),与显示设备416进行通信。在一个实施例中,显示器416(例如,平板显示器)可以通过例如信号转换器与图形接口414进行通信,其中信号转换器将存储设备(例如,视频存储器或系统存储器)中存储的图像的数字表示转换成由显示器416进行解释和显示的显示信号。显示设备所产生的显示信号可以在被解释并随后在显示器416上进行显示之前,传递经过各种控制设备。
集线器接口418可以允许GMCH 408和输入/输出控制集线器(ICH)420进行通信。ICH 420可以提供针对于与计算系统400进行通信的(一个或多个)I/O设备的接口。ICH 420可以通过外围桥接器(或控制器)424(例如,外围组件互连(PCI)桥接器、通用串行总线(USB)控制器或者其它类型的外围桥接器或控制器),借助于链路422进行通信。桥接器424可以提供在处理器402和外围设备之间的数据路径。也可以使用其它类型的拓扑。此外,多个链路可以与ICH 420进行通信(例如,通过多个桥接器或控制器)。此外,在各个实施例中,与ICH 420进行通信的其它外围设备可以包括(一个或多个)集成驱动电子设备(IDE)或小型计算机系统接口(SCSI)硬件驱动器、(一个或多个)USB端口、键盘、鼠标、并口、串口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))或者其它设备。
链路422可以与音频设备426、一个或多个磁盘驱动器428和网络接口设备430进行通信(其中网络接口设备430与计算机网络403进行通信)。其它设备也可以经由链路422进行通信。此外,在一些实施例中,各个组件(例如,网络接口设备430)可以与GMCH 408进行通信。此外,可以将处理器402和GMCH 408进行组合以形成单一芯片,和/或可以将GMCH 408的一部分或者全部包括在处理器402中(而不是将GMCH 408包括在例如芯片组406中)。此外,在其它实施例中,可以将图形加速器416包括在GMCH 408中。
此外,计算系统400可以包括易失性和/或非易失性存储器(或存储设备)。例如,非易失性存储器可以包括下面中的一种或多种:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动器(例如,项(item)428)、软盘、光盘(CD-ROM)、数字多用途盘(DVD)、闪存、磁光盘、或者能够存储电子数据(例如,其包括指令)的其它类型的非易失性机器可读介质。
在一个实施例中,系统400中的组件可以被布置成诸如参照图5所讨论的点对点(PtP)配置。例如,处理器、存储器和/或输入/输出设备可以通过多个点对点接口来互连。
具体而言,图5根据一个实施例,描绘了被布置成点对点(PtP)配置的计算系统500。具体地说,图5示出了通过多个点对点接口,对处理器、存储器和输入/输出设备进行互连的系统。参照图1-4所讨论的操作可以由系统500的一个或多个组件来执行。
如图5中所示,系统500可以包括若干个处理器,但为了清楚起见,只示出了其中的两个处理器502和504。处理器502和504均包括本地存储器控制器集线器(MCH)506和508,以使能与存储器510和512的通信。存储器510和/或512可以存储诸如参照图4的存储器412所讨论的那些之类的各种数据。
在一个实施例中,处理器502和504可以是参照图4所讨论的处理器402中的一个。处理器502和504可以分别使用PtP接口电路516和518,经由点对点(PtP)接口514来交换数据。此外,处理器502和504可以使用点对点接口电路526、528、530和532,经由各自的PtP接口522和524来与芯片组520交换数据。芯片组520还可以经由图形接口536,例如使用PtP接口电路537,与图形电路534交换数据。
可以在处理器502和504中提供至少一个实施例。此外,参照图1-4所讨论的操作可以由系统500的一个或多个组件来执行。例如,存储器510/512可以存储在处理器502/504上执行的参照图2-3所讨论的HGC 220和HGE 222。此外,参照图1-4所讨论的各种设备(例如,台式计算机、智能手机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表、智能眼镜等等)可以包括图5的组件中的一个或多个。系统500还可以包括图像捕获设备405。
但是,其它实施例也可以存在于图5的系统500中的其它电路、逻辑单元或设备之中。此外,其它实施例可以分布在图5中所示出的若干个电路、逻辑单元或者设备之中。
芯片组520可以使用PtP接口电路541,与链路540进行通信。链路540可以与诸如链路桥接器542和/或I/O设备543之类的一个或多个设备进行通信。链路桥接器542可以经由链路544,与诸如键盘/鼠标545、通信设备546(例如,调制解调器、网络接口设备或者可以与计算机网络403进行通信的其它通信设备)、音频I/O设备547和/或数据存储设备548之类的其它设备进行通信。数据存储设备548可以存储由处理器502和/或504执行的代码549。
在一些实施例中,本文所讨论的组件中的一个或多个可以体现成片上系统(SOC)设备。图6根据一个实施例,描绘了一种SOC封装的框图。如图6中所示,SOC 602包括一个或多个处理器核心620(例如,通用处理器核心)、一个或多个图形处理器单元(GPU)核心630、输入/输出(I/O)接口640和存储器控制器642。SOC封装602的各个组件可以耦合到本文参照其它附图所讨论的链路。此外,SOC封装602可以包括更多或者更少的组件,例如本文参照其它附图所讨论的那些。此外,SOC封装620的每一个组件可以包括一个或多个其它组件,例如,如参照本文的其它附图所讨论的。在一个实施例中,在一个或多个集成电路(IC)管芯上提供SOC封装602(以及其组件),其中这些IC管芯例如被封装到单一半导体设备中。
如图6中所示,SOC封装602经由存储器控制器642,耦合到存储器660(其可以与本文参照其它附图所讨论的存储器相类似或者相同)。在一个实施例中,可以将存储器660(或者其一部分)集成在SOC封装602上。
I/O接口640可以例如经由本文参照其它附图所讨论的链路,耦合到一个或多个I/O设备670。(一个或多个)I/O设备670可以包括下面中的一个或多个:键盘、鼠标、触摸板、显示器(例如,显示器416)、图像/视频捕获设备(例如,照相机或者便携式摄像机/录像机(如,图4或图5的照相机))、触摸屏、扬声器等等。
下面的例子与另外的实施例有关。示例可以包括诸如下面的主题:具有用于根据本文所描述的一些实施例和示例,用于在基于触摸的设备上的访客应用的无缝的主机系统手势体验的方法、用于执行该方法的动作的单元、包括指令的至少一个机器可读介质(所述指令当由机器执行时使得该机器执行该方法的动作),或者装置或系统。
示例1包括一种装置,该装置包括主机手势捕获(HGC)逻辑,用于响应于触摸事件而检测手势,其中,响应于确定该手势与主机系统的操作无关,HGC逻辑用于将该手势转发给主机手势仿真器(HGE)逻辑,其中HGE逻辑根据主机系统的访客操作系统进行操作。
示例2包括示例1所述的装置,其中,HGE逻辑用于,至少部分地基于由HGE逻辑响应于该手势而确定存在访客应用的访客定义操作,将该手势转发给该访客应用。
示例3包括示例1或者2中的任意一项所述的装置,其中,访客应用用于在主机系统的访客操作系统上运行。
示例4包括示例1所述的装置,其中,HGE逻辑用于,至少部分地基于由HGE逻辑响应于该手势而确定将由除了通过访客操作系统能够获得的那些应用之外的应用执行动画,来将该手势发送回HGC逻辑。
示例5包括示例1所述的装置,其中,HGC逻辑用于,响应于确定该手势与主机系统的操作有关,将该手势转发给主机系统。
示例6包括示例1到5中的任意一项所述的装置,其中,主机系统包括从包含以下各项的组中选定的计算设备:台式计算机、智能手机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表或智能眼镜。
示例7包括示例1所述的装置,其中,主机事件管理器用于将所述触摸事件重定向到包括HGC逻辑的仿真器,而不是另一个主机系统组件。
示例8包括示例7所述的装置,其中,所述仿真器包括仿真触摸设备逻辑,其用于经由HGC逻辑将该手势转发给HGE逻辑。
示例9包括示例1所述的装置,其中,HGC逻辑用于,至少部分地基于确定访客操作系统不能够处理该手势或者该手势与主机系统的操作有关,将该手势转发给主机系统。
示例10包括示例1所述的装置,其中,主机系统包括位于单一集成电路设备上的存储器和一个或多个处理器核心。
示例11包括示例1到10中的任意一项所述的装置,其中,HGE用于,至少部分地基于响应于该手势而确定主机手势体验能够由访客操作系统独立地仿真,来引起仿真。
示例12包括一种方法,该方法包括:响应于触摸事件,在主机手势捕获(HGC)逻辑处检测手势,其中,响应于确定该手势与主机系统的操作无关,HGC逻辑将该手势转发给主机手势仿真器(HGE)逻辑,其中HGE逻辑根据主机系统的访客操作系统进行操作。
示例13包括示例12所述的方法,其还包括:至少部分地基于由HGE逻辑响应于该手势而确定存在访客应用的访客定义操作,HGE逻辑将该手势转发给访客应用。
示例14包括示例12所述的方法,其还包括:至少部分地基于由HGE逻辑响应于该手势而确定主机手势体验能够由访客操作系统独立地仿真,HGE逻辑引起仿真。
示例15包括示例12所述的方法,其还包括:至少部分地基于由HGE逻辑响应于该手势而确定将由除了通过访客操作系统能够获得的那些应用之外的应用执行动画,HGE逻辑将该手势发送回HGC逻辑。
示例16包括示例12所述的方法,其还包括:响应于由HGC逻辑确定该手势与主机系统的操作有关,HGC逻辑将该手势转发给主机系统。
示例17包括示例12到16中的任意一项所述的方法,其中,主机系统包括从包含以下各项的组中选定的计算设备:台式计算机、智能手机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表或智能眼镜。
示例18包括示例12到17中的任意一项所述的方法,其还包括:主机事件管理器将触摸事件重定向到包括HGC逻辑的仿真器,而不是另一个主机系统组件。
示例19包括示例12所述的方法,其还包括:至少部分地基于由HGC逻辑确定访客操作系统不能够处理该手势或者该手势与主机系统的操作有关,HGC逻辑将该手势转发给主机系统。
示例20包括一种计算系统,其中该计算系统包括:一个或多个处理器核心;存储器,用于存储由所述处理器核心中的至少一个进行访问的数据;主机手势捕获(HGC)逻辑,其耦合到所述处理器核心中的至少一个,用于响应于触摸事件而检测手势,其中,所述HGC逻辑响应于确定该手势与主机系统的操作无关而将该手势转发给主机手势仿真器(HGE)逻辑,其中HGE逻辑根据主机系统的访客操作系统进行操作。
示例21包括示例20所述的系统,其中,HGE逻辑用于,至少部分地基于HGE逻辑响应于该手势而确定存在访客应用的访客定义操作,来将该手势转发给访客应用。
示例22包括示例20所述的系统,其中,HGE逻辑用于,至少部分地基于由HGE逻辑响应于该手势而确定主机手势体验能够由访客操作系统独立地仿真,来引起仿真。
示例23包括示例20所述的系统,其中,HGE逻辑用于,至少部分地基于由HGE逻辑响应于该手势而确定将由除了通过访客操作系统能够获得的那些应用之外的应用执行动画,来将该手势发送回HGC逻辑。
示例24包括一种装置,其包括用于执行如示例12到19中的任意一项所阐述的方法的单元。
示例25:机器可读存储设备包括有机器可读指令,其中当这些指令被执行时,如示例12到19中的任意一项所阐述地实现方法或者实现装置。
示例26包括至少一个计算机可读介质,其包括一个或多个指令,所述指令当在处理器上执行时使得该处理器执行如示例12到19中的任意一项所述的方法。
示例27包括一种用于为基于触摸的设备上的访客应用提供无缝的主机系统手势体验的装置,其中该装置包括:用于响应于触摸事件在主机手势捕获(HGC)逻辑处检测手势的单元,其中,HGC逻辑响应于确定该手势与主机系统的操作无关而将该手势转发给主机手势仿真器(HGE)逻辑,其中HGE逻辑用于根据主机系统的访客操作系统进行操作。
示例28包括示例27所述的装置,还包括:用于至少部分地基于响应于该手势而确定存在访客应用的访客定义操作来将该手势转发给该访客应用的单元。
示例29包括示例27所述的装置,还包括:用于至少部分地基于响应于该手势而确定主机手势体验能够由访客操作系统独立地仿真,来引起仿真的单元。
示例30包括示例27所述的装置,还包括:用于至少部分地基于响应于该手势而确定将由除了通过访客操作系统可获得的那些应用之外的应用执行动画来将该手势发送回HGC逻辑的单元。
示例31包括示例27所述的装置,还包括:用于响应于确定该手势与主机系统的操作有关来将该手势转发给主机系统的单元。
示例32包括示例27所述的装置,其中,主机系统包括从包含以下各项的组中选定的计算设备:台式计算机、智能手机、平板设备、UMPC(超移动个人计算机)、膝上型计算机、超极本TM计算设备、智能手表或智能眼镜。
示例33包括示例27到32中的任意一项所述的装置,还包括:用于将所述触摸事件重定向到包括HGC逻辑的仿真器而不是另一个主机系统组件的单元。
示例34包括示例27所述的装置,还包括:用于至少部分地基于确定访客操作系统不能够处理该手势或者该手势与主机系统的操作有关来将该手势转发给主机系统的单元。
在各个实施例中,本文例如参照图1-6所讨论的操作可以实现成硬件(例如,逻辑电路)、软件、固件或者其组合,它们可以提供成包括有形(例如,非暂态)机器可读介质或计算机可读介质的计算机程序产品,例如,该介质上存储有用于对计算机进行编程以执行本文所讨论的处理的指令(或软件过程)。机器可读介质可以包括诸如参照图1-6所讨论的那些存储设备(例如,其包括ROM、RAM、闪存、硬盘驱动器、固态驱动器等等)。
另外,可以将这样的计算机可读介质作为计算机程序产品下载,其中,该程序可以经由通信链路(例如,链路、调制解调器或网络连接),以载波或者其它传播介质所提供的数据信号的方式,从远程计算机(例如,服务器)传送到请求方计算机(例如,客户端)。
本说明书中对于“一个实施例”或者“某个实施例”的引用,意味着结合该实施例描述的特定特征、结构和/或特性可以包括在至少一个实现中。在说明书中的各个地方出现的短语“在一个实施例中”,可以全部指代同一实施例,也可以不是指代同一实施例。
此外,在说明书和权利要求书中,可以使用术语“耦合”和“连接”连同它们的派生词。在一些实施例中,可以使用“连接”来指示两个或更多元素彼此之间直接物理接触或电接触。“耦合”可以意味着两个或更多元素处于直接物理接触或者电接触。但是,“耦合”还可以意味着两个或更多元素不是彼此之间进行直接接触,但仍然可以彼此协作或者交互。
因此,虽然以特定于结构特征和/或方法动作的语言来描述实施例,但应当理解的是,本发明并不限于所描述的特定特征或者动作。相反,这些特定的特征和动作只是被公开成实现本发明的示例形式。

Claims (21)

1.一种用于为基于触摸的设备上的访客应用提供无缝的主机系统手势体验的装置,所述装置包括:
主机手势捕获HGC逻辑单元,用于从基于触摸的设备接收系统手势,其中,所述系统手势响应于在所述基于触摸的设备处的触摸事件而被检测,
其中,响应于确定所述系统手势与主机系统的操作无关,所述HGC逻辑单元将所述手势转发给主机手势仿真器HGE逻辑单元,其中所述HGE逻辑单元根据所述主机系统的访客操作系统进行操作,其中,至少部分地基于响应于所述系统手势而确定存在访客应用的访客定义操作,所述系统手势被转发给所述访客应用,以允许所述访客应用而不是所述主机系统对主机系统手势进行响应,其中,响应于确定不存在针对所述系统手势的相应的所述访客应用的访客定义操作,所述HGE逻辑单元将所述系统手势作为访客手势进行仿真。
2.根据权利要求1所述的装置,其中,所述访客应用用于在所述主机系统的所述访客操作系统上运行。
3.根据权利要求1所述的装置,其中,所述HGE逻辑单元用于,至少部分地基于由所述HGE逻辑单元响应于所述手势而确定将由除了通过所述访客操作系统能够获得的那些应用之外的应用执行动画,来将所述手势发送回所述HGC逻辑单元。
4.根据权利要求1所述的装置,其中,所述HGC逻辑单元用于,响应于由所述HGC逻辑单元确定所述手势与所述主机系统的操作有关,将所述手势转发给所述主机系统。
5.根据权利要求1所述的装置,其中,所述主机系统包括从包含以下各项的组中选定的计算设备:台式计算机、智能手机、平板设备、UMPC超移动个人计算机、膝上型计算机、超极本TM计算设备、智能手表或智能眼镜。
6.根据权利要求1所述的装置,其中,主机事件管理器用于当包括所述HGC逻辑单元的仿真器变成前台应用时,将所述触摸事件重定向到所述仿真器,而不是另一个主机系统组件。
7.根据权利要求1所述的装置,其中,所述HGC逻辑单元用于,至少部分地基于由所述HGC逻辑单元确定所述访客操作系统不能够处理所述手势,将所述手势转发给所述主机系统。
8.根据权利要求1所述的装置,其中,所述主机系统包括位于单一集成电路设备上的存储器和一个或多个处理器核心。
9.根据权利要求1至8中的任意一项所述的装置,其中,所述HGE逻辑单元用于,至少部分地基于由所述HGE逻辑单元确定对所述系统手势的响应能够由所述访客操作系统仿真,来引起仿真。
10.一种用于为基于触摸的设备上的访客应用提供无缝的主机系统手势体验的方法,所述方法包括:
从基于触摸的设备接收系统手势,其中,所述系统手势响应于在所述基于触摸的设备处的触摸事件而在主机手势捕获HGC逻辑单元处被检测,
其中,响应于确定所述系统手势与主机系统的操作无关,所述HGC逻辑单元将所述手势转发给主机手势仿真器HGE逻辑单元,其中所述HGE逻辑单元根据所述主机系统的访客操作系统进行操作,其中,至少部分地基于响应于所述系统手势而确定存在访客应用的访客定义操作,所述系统手势被转发给所述访客应用,以允许所述访客应用而不是所述主机系统对主机系统手势进行响应,其中,响应于确定不存在针对所述系统手势的相应的所述访客应用的访客定义操作,所述HGE逻辑单元将所述系统手势作为访客手势进行仿真。
11.根据权利要求10所述的方法,还包括:
至少部分地基于由所述HGE逻辑单元确定对所述系统手势的响应能够由所述访客操作系统仿真,所述HGE逻辑单元引起仿真。
12.根据权利要求10所述的方法,还包括:
至少部分地基于所述HGE逻辑单元响应于所述手势而确定将由除了通过所述访客操作系统能够获得的那些应用之外的应用执行动画,所述HGE逻辑单元将所述手势发送回所述HGC逻辑单元。
13.根据权利要求10所述的方法,还包括:
响应于由所述HGC逻辑单元确定所述手势与所述主机系统的操作有关,所述HGC逻辑单元将所述手势转发给所述主机系统。
14.根据权利要求10所述的方法,其中,所述主机系统包括从包含以下各项的组中选定的计算设备:台式计算机、智能手机、平板设备、UMPC超移动个人计算机、膝上型计算机、超极本TM计算设备、智能手表或智能眼镜。
15.根据权利要求10所述的方法,还包括:
当包括所述HGC逻辑单元的仿真器变成前台应用时,主机事件管理器将所述触摸事件重定向到所述仿真器,而不是另一个主机系统组件。
16.根据权利要求10所述的方法,还包括:
至少部分地基于由所述HGC逻辑单元确定所述访客操作系统不能够处理所述手势,所述HGC逻辑单元将所述手势转发给所述主机系统。
17.一种用于为基于触摸的设备上的访客应用提供无缝的主机系统手势体验的计算系统,所述系统包括:
一个或多个处理器核心;
存储器,用于存储由所述处理器核心中的至少一个进行访问的数据;
主机手势捕获HGC逻辑单元,其耦合到所述处理器核心中的至少一个,用于从基于触摸的设备接收系统手势,其中,所述系统手势响应于在所述基于触摸的设备处的触摸事件而被检测,
其中,所述HGC逻辑单元响应于确定所述系统手势与主机系统的操作无关而将所述手势转发给主机手势仿真器HGE逻辑单元,其中所述HGE逻辑单元根据所述主机系统的访客操作系统进行操作,其中,至少部分地基于响应于所述系统手势而确定存在访客应用的访客定义操作,所述系统手势被转发给所述访客应用,以允许所述访客应用而不是所述主机系统对主机系统手势进行响应,其中,响应于确定不存在针对所述系统手势的相应的所述访客应用的访客定义操作,所述HGE逻辑单元将所述系统手势作为访客手势进行仿真。
18.根据权利要求17所述的系统,其中,所述HGE逻辑单元用于,至少部分地基于由所述HGE逻辑单元确定对所述系统手势的响应能够由所述访客操作系统仿真,来引起仿真。
19.根据权利要求17所述的系统,其中,所述HGE逻辑单元用于,至少部分地基于由所述HGE逻辑单元响应于所述手势而确定将由除了通过所述访客操作系统能够获得的那些应用之外的应用执行动画,来将所述手势发送回所述HGC逻辑单元。
20.一种用于为基于触摸的设备上的访客应用提供无缝的主机系统手势体验的装置,其包括用于执行如权利要求10到16中的任意一项所述的方法的单元。
21.至少一个计算机可读介质,其包括当在处理器上执行时,使得所述处理器执行如权利要求10到16中的任意一项所述的方法的一个或多个指令。
CN201380080271.6A 2013-11-15 2013-11-15 用于基于触摸的设备上的访客应用的无缝的主机系统手势体验 Active CN105683879B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/087244 WO2015070440A1 (en) 2013-11-15 2013-11-15 Seamless host system gesture experience for guest applications on touch based devices

Publications (2)

Publication Number Publication Date
CN105683879A CN105683879A (zh) 2016-06-15
CN105683879B true CN105683879B (zh) 2019-05-28

Family

ID=53056656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380080271.6A Active CN105683879B (zh) 2013-11-15 2013-11-15 用于基于触摸的设备上的访客应用的无缝的主机系统手势体验

Country Status (4)

Country Link
US (1) US10152335B2 (zh)
EP (1) EP3069217A4 (zh)
CN (1) CN105683879B (zh)
WO (1) WO2015070440A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394871B (zh) * 2020-11-30 2021-11-02 北京麟卓信息科技有限公司 一种Linux平台支持安卓系统多点触摸的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1220745A (zh) * 1996-04-01 1999-06-23 开型连接体系股份有限公司 与传统主机系统操作持续相连的全球信息网/仿真器的服务器和全球信息网浏览器的终端仿真器

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730401B2 (en) * 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
US20030093174A1 (en) * 2002-06-12 2003-05-15 Serge Nikulin Fabrication process control system emulator
US8016681B2 (en) * 2004-03-31 2011-09-13 Nintendo Co., Ltd. Memory card for a game console
US7771280B2 (en) * 2004-03-31 2010-08-10 Nintendo Co., Ltd. Game console connector and emulator for the game console
US7837558B2 (en) * 2004-03-31 2010-11-23 Nintendo Co., Ltd. Game console and emulator for the game console
US9606821B2 (en) * 2004-12-17 2017-03-28 Intel Corporation Virtual environment manager for creating and managing virtual machine environments
US20070061126A1 (en) * 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
US8686959B2 (en) * 2010-02-16 2014-04-01 Maurice Payne Touch screen multi-control emulator
US20110291964A1 (en) * 2010-06-01 2011-12-01 Kno, Inc. Apparatus and Method for Gesture Control of a Dual Panel Electronic Device
US9001050B2 (en) * 2010-07-19 2015-04-07 Red Hat Israel, Ltd. Touch screen emulation for a virtual machine
US9465457B2 (en) * 2010-08-30 2016-10-11 Vmware, Inc. Multi-touch interface gestures for keyboard and/or mouse inputs
WO2012040576A1 (en) 2010-09-24 2012-03-29 International Business Machines Corporation Evidence profiling
WO2012048007A2 (en) * 2010-10-05 2012-04-12 Citrix Systems, Inc. Touch support for remoted applications
US9250854B2 (en) * 2011-08-25 2016-02-02 Vmware, Inc. User interface virtualization for remote devices
US9304662B2 (en) * 2011-08-25 2016-04-05 Vmware, Inc. User interface virtualization techniques
CN102591659A (zh) * 2011-12-28 2012-07-18 中标软件有限公司 一种移动终端主界面上的微件实现方法及其管理方法
US9542080B2 (en) * 2012-04-25 2017-01-10 Vmware, Inc. User interface virtualization of context menus
US9128548B2 (en) * 2012-10-17 2015-09-08 Perceptive Pixel, Inc. Selective reporting of touch data
US8954638B2 (en) * 2012-10-17 2015-02-10 Perceptive Pixel, Inc. Selective reporting of touch data
US9575649B2 (en) * 2013-04-25 2017-02-21 Vmware, Inc. Virtual touchpad with two-mode buttons for remote desktop client

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1220745A (zh) * 1996-04-01 1999-06-23 开型连接体系股份有限公司 与传统主机系统操作持续相连的全球信息网/仿真器的服务器和全球信息网浏览器的终端仿真器

Also Published As

Publication number Publication date
WO2015070440A1 (en) 2015-05-21
EP3069217A1 (en) 2016-09-21
US10152335B2 (en) 2018-12-11
US20160246609A1 (en) 2016-08-25
CN105683879A (zh) 2016-06-15
EP3069217A4 (en) 2017-07-05

Similar Documents

Publication Publication Date Title
US11023282B2 (en) Method and apparatus for migrating virtual machine for improving mobile user experience
US20210318898A1 (en) Tenant-side detection, classification, and mitigation of noisy-neighbor-induced performance degradation
CN103608769B (zh) 用于支持虚拟机迁移的系统和方法
CN106843715B (zh) 用于远程化的应用的触摸支持
CN110147256B (zh) 一种多屏交互方法及装置
CN108124475B (zh) 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备
EP3133481B1 (en) Terminal device display method and terminal device
CN109076125A (zh) 一种显示方法及设备
WO2015105756A1 (en) Increasing touch and/or hover accuracy on a touch-enabled device
US20160080451A1 (en) Real-time dynamic hyperlinking system and method
WO2014193657A1 (en) Systems and methods for moving display objects based on user gestures
JP2022519283A (ja) 強化学習を利用する3d環境リスク識別
US10620792B2 (en) Computing device with an appropriate adaptable user hardware interface
CN105335176B (zh) 一种调用安装于电子设备上的应用的方法及装置
CN104598294A (zh) 用于移动设备的高效安全的虚拟化方法及其设备
CN109656646B (zh) 一种远程桌面控制方法、装置、设备及虚拟化芯片
CN103455363B (zh) 一种虚拟机的指令处理方法、装置及物理主机
CN104303145A (zh) 根据应用的转化配置文件将触摸输入转化成本地输入
CN113359995B (zh) 人机交互方法、装置、设备以及存储介质
CN109451130B (zh) 移动终端测试方法、装置、移动终端及存储介质
CN104516782A (zh) 用于进行智能系统运行环境切换的方法及其设备
CN109542272A (zh) 触摸屏扫描方法和装置、电子设备及计算机可读存储介质
Murugesan et al. Cloud based mobile application testing
WO2018129269A1 (en) Execution of multiple applications on a device
US20200089512A1 (en) Method and Apparatus for Invoking Input Method, Server, and Terminal

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant