CN103412704B - 用于通过姿势或触摸控制用户界面的优化方案 - Google Patents

用于通过姿势或触摸控制用户界面的优化方案 Download PDF

Info

Publication number
CN103412704B
CN103412704B CN201310211353.1A CN201310211353A CN103412704B CN 103412704 B CN103412704 B CN 103412704B CN 201310211353 A CN201310211353 A CN 201310211353A CN 103412704 B CN103412704 B CN 103412704B
Authority
CN
China
Prior art keywords
input
event
touch
browser
posture
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
CN201310211353.1A
Other languages
English (en)
Other versions
CN103412704A (zh
Inventor
R·德维
B·怀特非儿德
K·瑞安
T·哈里斯
M·菲儿兹
M·赫兹弗德
L·李
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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
Priority claimed from US13/671,832 external-priority patent/US8843858B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103412704A publication Critical patent/CN103412704A/zh
Application granted granted Critical
Publication of CN103412704B publication Critical patent/CN103412704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

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

Abstract

本申请涉及用于通过姿势或触摸控制用户界面的优化方案。一种web应用提供了用于编辑姿势或触摸屏上的文本的自定义选中。该应用用选中柄替换本机浏览器柄以提供跨平台一致的用户界面体验。该应用还可以提供一种用于浏览器姿势或触摸事件的语义解释的方案。应用可以将浏览器事件标准化为与多个设备和浏览器兼容的一致的语义事件流。应用还可以提供浏览器中的为姿势或触摸优化的用户界面。应用确定姿势或触摸输入并根据输入的类型优化用户界面。

Description

用于通过姿势或触摸控制用户界面的优化方案
本申请要求在2012年5月31日提交的美国临时专利申请序列号No.61/653,530的权益。通过引用,该临时专利申请的公开内容并入本申请以用于所有目的。
技术领域
本申请涉及用于通过姿势或触摸控制用户界面的优化方案。
背景技术
在姿势或触摸设备上显示的可编辑文本是通过操作系统实用工具来管理的。所述系统实用工具有助于在内容之上放置插入点或者作出选中,比如拖动柄。所述实用工具依赖于管理根据浏览器行为而受限的内容的用户。如果网页控制与内容的用户交互以便提供更丰富的web应用体验,则实用工具可能要么失灵、要么阻止用户。
在包括拖动和点击的场景中,在常规系统中,浏览器可能不一致地处理事件。另外,常规的系统可能以复杂的方式将新输入寻址到web应用。常规的系统通过用于处理分布在孤立的处理程序之中的点击和拖动的逻辑来解决这些挑战。常规系统的其他解决方案包括为类似事件重复事件处理程序中的代码。
用户可以从多种设备访问web应用:具有姿势或触摸监视器的台式机、平板计算机和膝上型计算机。大多数设备都支持鼠标、姿势、触摸或类似的输入机制。对基于鼠标的输入运行良好的用户界面(UI)不一定对没有光标的姿势或触摸输入和不精确手指运行良好。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在专门标识所要求保护的主题的关键特 征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例所针对的是,提供用户界面以通过在范围选中的插入点之下或末端处创建选中柄来操纵选中。所述柄可以替换浏览器柄。所述柄可以在基于姿势或触摸的环境中重复应用或操作系统选中行为。所述柄可以提供跨启用姿势或触摸的平台和浏览器的选中一致性。所述柄可以迫使选中行为更适于编辑内容而不是消费内容。
其他实施例所针对的是,提供一种用于浏览器姿势或触摸事件的语义解释的方案。应用的抽象层可以充当其他应用与浏览器之间的接口。启用触摸或姿势的设备中的所检测到的浏览器事件可以是非确定性的并且跨设备和浏览器而变动。根据各实施例的执行应用的系统可以接收浏览器事件并且在提供跨设备和浏览器的一致性的同时将所述浏览器事件标准化成一致的语义事件流(点击、上下文菜单、拖动等等)。
又一些实施例所针对的是,为浏览器提供为姿势或触摸优化的用户界面。在根据各实施例的执行应用的系统中,用户界面可以响应于用户动作被唤出。该用户界面可以被优化以匹配所检测到的输入的类型,比如触摸和鼠标。可替代地,用户界面的特定部分的行为可以基于输入类型来改变。另外,在初始化期间呈现的缺省用户界面是用户可根据所呈现的选中标准来改变的。
通过阅读下面的具体实施方式并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。
附图简述
图1示出可以实现各实施例的示例性网络图;
图2示出了根据各实施例的示例性缺省和自定义选中行为流程;
图3示出了根据各实施例的管理浏览器与应用之间的事件的示例性抽象层;
图4示出根据各实施例的示出用户界面的优化的流程图;
图5示出了根据各实施例的基于输入类型的表控件的经优化用户界面的示例;
图6示出了根据各实施例的基于所检测到的输入类型的颜色和字体控件的经优化用户界面的示例;
图7示出了根据各实施例的用于基于所检测到的输入类型的样式和搜索控件的经优化用户界面、以及被呈现以启用经优化的用户界面的选中控件的示例;
图8是其中可实现根据各实施例的系统的联网环境;
图9是其中可以实现各实施例的示例计算操作环境的框图;
图10A示出了在范围选中的插入点下和末端处提供选中柄的过程的逻辑流程图;
图10B示出了用于浏览器姿势或触摸事件的语义解释的方案的过程的逻辑流程图;以及
图10C示出了为浏览器提供针对姿势或触摸优化的用户界面的过程的逻辑流程图。
具体实施方式
如上面简述的那样,可以提供用户界面以通过在范围选中的插入点之下或末端处创建选中柄来操纵选中。还可以提供一种用于浏览器姿势或触摸事件的语义解释的方案。另外,可以为浏览器提供针对姿势或触摸优化的用户界面。
在下面的详细描述中,将参考构成本发明的一部分的附图,在附图中,通过例图,示出了特定实施例或示例。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,下面的具体实施方式不应以限制性的意义来理解,而是本公开的范围是由所附权利要求及其等效方案来定义的。
尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、 基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。计算机可读存储介质是计算机可读存储器设备。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
贯穿本说明书,术语"平台"可以是下列各项的组合:用于提供自定义选中以用于编辑姿势或触摸屏上的内容的软件和硬件组件、用于浏览器姿势或触摸事件的语义解释的方案、以及浏览器中的为姿势或触摸优化的用户界面。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语"服务器"一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下面将提供关于这些技术和示例操作的详细细节。
参考图1,图表100示出其中可以实现各实施例的示例性网络图。图表100中示出的组件和环境是出于说明目的。可以在各种本地计算环境、联网计算环境、基于云的计算环境和采用各种计算设备和系统、硬件和软件的类似计算环境中实现各实施例。
在图表100所示的示例性环境中,用于编辑触摸屏上的内容的自定义选中可以由客户端设备上的本地安装的应用或web应用来提供,所述客户端设备具有基于触摸和/或姿势的输入机制,比如静止计算设备(台式或膝上型计算机)、或者诸如手持式计算机、平板计算机106、智能电话108、车载计算机等等之类的移动计算机。该内容可以是文本、表、图像等等,并且可以使用根据实施例的技术来创建或编辑。
在web应用的情况下,服务器102可以提供服务(例如电子表格服务、文 字处理服务、电子邮件服务或类似服务),并且该服务可以经由一个或多个网络104通过web应用来访问。通常,特定服务可以被客户端设备106和108上的浏览器访问,所述客户端设备可以显示用户界面以用于查看和编辑各种类型的文档,比如电子表格、文字处理文档、演示、电子邮件、图形文档等等。
根据实施例的应用可以截取在客户端设备106和108上检测到的姿势、触摸和鼠标事件。应用可以使姿势和触摸事件停止激活依赖于浏览器或设备的选中柄。相反,应用可以发起为输入优化的选中柄,以为跨平台的内容选中提供一致的体验。
图2示出了根据各实施例的示例性缺省和自定义选中行为流程。在图表200,诸如web应用之类的应用可以截取如下事件:所述事件触发浏览器的选中行为和操作系统(OS)选中柄。该应用可以取消浏览器事件,这可以防止OS看见那些事件并基于那些事件采取动作。该应用可以确定与浏览器和/或OS事件相对应的选中。该应用可以显示与选中相对应的选中柄。该应用定位范围选中的末端并且根据末端的位置呈递相对应的选中柄。
在缺省选中行为202中,诸如所检测到的姿势或触摸事件之类的浏览器事件204可以发起对诸如应用(例如浏览器)中的文本之类的内容的选中。所检测到的浏览器事件可以发起浏览器动作以利用操作系统206处理选中。操作系统可以初始化选中实用工具。
在自定义选中行为208中,web应用可以提供用户界面,该用户界面截取浏览器事件并且用选中实用工具替换所述事件。附加地,该应用可以检测诸如姿势或触摸事件210之类的浏览器事件。该应用还可以截取浏览器事件并且可以取消事件212。此外,该应用可以使用由浏览器214提供的选中实用工具来作出选中。
根据各实施例的应用可以检测对文本的范围的选中。该选中可以通过姿势或触摸输入、鼠标输入、键盘输入等等。附加地,该应用可以在所检测到的选中的插入点之下创建选中柄。接着,该应用可以用为输入优化的选中柄替换本机浏览器柄。
另外,该应用可以在选中的末端处创建两个附加的选中柄以提供用户界面来管理选中。该用户界面可以使得作出该选中的用户能够展开或收缩该选中。 该应用还可以模拟本机浏览器柄的选中的行为。该应用可以根据所检测到的输入类型来模拟缺省浏览器选中行为,并且提供合适的柄以重新创建缺省行为。此外,应用可以提供选中的可替代的行为。该应用可以执行与可替代的选中行为相关联的规则。一示例可以包括示出与选中相关联的通知。
图3示出了根据各实施例的管理浏览器与web应用之间的事件的示例性抽象层。在图表300中,事件处理程序管理器(EHM)306可以将浏览器事件304从浏览器302传送给输入管理器。可能存在一个或多个输入管理器308、310和312。
输入管理器可以处理事件。输入管理器可以将事件转变为可被web应用316理解的语义事件314。然后,语义事件314可以被事件处理程序管理器306传送给该应用。在示例性场景中,如果输入管理器可以从浏览器接收姿势或触摸事件,则输入管理器可以将浏览器事件转换成姿势或触摸点击事件以用于传送给web应用316。
根据各实施例的方案可以包括用于来自浏览器的事件(触摸开始、触摸结束、触摸移动等等)的注册事件处理程序。注册事件处理程序可以在接收到浏览器事件以后将事件路由到输入管理器。输入管理器可以具有可被应用理解的语义事件(例如"点击")的知识。输入管理器还可以保存关于构成语义事件的浏览器事件系列(例如:触摸开始、以及然后的触摸结束构成点击事件)的信息。输入管理器可以接收浏览器事件并且使用它们关于语义事件的内部知识来决定是否向应用通知语义事件的发生。
如果有一个以上输入管理器处理浏览器事件,则一个输入管理器还可以具有与其他输入管理器通信这一能力。一示例可以包括来自浏览器的触摸开始事件,该事件要么发起点击事件、要么发起上下文菜单事件。结果,两个不同的输入管理器可以处理浏览器事件。
输入管理器可以通过将信息的高速缓存放置在事件的文档对象模型(DOM)元素上来进行通信。每个输入管理器都可以在接收到事件以后处理DOM元素,并且可以查询其他输入管理器以确定对相同事件的进一步处理。
事件处理程序管理器还可以决定将事件路由到输入管理器的顺序。事件处理程序管理器可以通过将输入管理器存储在优先级队列中来对事件的路由进 行排序。在示例性场景中,具有优先级1的输入管理器可以在具有优先级2的输入管理器之前接收事件。具有相同优先级的输入管理器可以以随机顺序接收事件。另外,输入管理器可以在确定诸如点击之类的语义事件发生以后通知应用。输入管理器还可以通知其他输入管理器停止监听相关联的语义事件。
在根据各实施例的应用中,事件处理程序管理器代码可以涵盖一个大组件而不是将从输入管理器接收浏览器事件的代码的部分、对浏览器事件进行操作的另一部分、以及转换浏览器事件的又一部分分开。此外,输入管理器可以通过如下方式彼此通信:维护对彼此的引用、而不是将信息的高速缓存附加到与由每个输入管理器处理的事件相关联的DOM元素上。
根据一示例性实施例,处理拖动事件的输入管理器可以取得鼠标和姿势或触摸事件并且将其归一化成可被应用理解的拖动事件。例如,拖动输入管理器(DIM)可以通过使用已经被处理键盘事件的输入管理器和处理上下文菜单事件的输入管理器使用的事件处理程序管理器来管理拖动事件。EHM可以跟踪事件处理程序代理向DOM中的浏览器的注册,事件处理器、其余应用向DOM注册。另外,使用EHM的输入管理器可以接收浏览器事件并且然后将它们归一化成可被应用理解的语义事件。然后,输入管理器可以将归一化的语义事件传递回EHM,该EHM通知应用中的合适监听者。
DIM可以通过EHM注册多个浏览器事件,包括:鼠标按下、鼠标释放、鼠标移动、点击、触摸按下、触摸抬起、触摸移动和触摸取消。DIM可以监听鼠标按下或触摸按下事件以便确定拖动事件。DIM可以在接收鼠标移动或触摸移动事件时将移动增量与拖动阈值相比。如果鼠标移动或触摸移动事件移动得足够远离原始值,则DIM可以通过将拖动事件传送给拖动适配器来触发拖动事件。拖动适配器可以是附加到特定DOM元素的web应用同伴(WAC)中所存在的代码。DIM还可以要么将鼠标事件自变量、要么将姿势或触摸事件自变量传送给拖动适配器以使得适配器能够区分鼠标拖动和触摸拖动。
针对特定事件向EHM注册的输入管理器可以被放置到优先级队列中。浏览器事件可以在EHM捕捉到浏览器事件以后按优先级顺序通知输入管理器。结果,DIM可以接收鼠标、姿势、触摸或类似事件以确定拖动是否正在发生,同时把被DIM解释成拖动事件的事件传送给鼠标输入管理器(MIM)或触摸 输入管理器(TIM)以用于附加的处理。
DIM可以在EHM中以比MIM和TIM更高的优先级注册。当DIM开始处理被DIM解释成拖动事件的事件以防止MIM或TIM处理所述事件时,DIM可以取消所述事件。在示例性场景中,DIM的防止可以使上下文菜单停止在触摸拖动期间运行。
在一些示例中,拖动特有的源代码可以被从MIM中移除并放置在DIM中。MIM可以通过EHM来传送。EHM可以移除重复EHM功能的MIM源代码。MIM可以是被优化为接收和归一化与拖动无关的鼠标事件的源代码。
TIM可以接收与拖动不相关的姿势或触摸事件并归一化所述事件以供应用使用。TIM还可以将EHM用于浏览器代理处理程序和应用处理程序管理。TIM可以针对下列浏览器事件向EHM注册:鼠标按下、触摸抬起、触摸移动和点击。TIM可以接收轻击事件、触摸并保持事件,并且将所述事件归一化成WAC可理解的事件。TIM可以将轻击事件归一化成点击事件。TIM可以接收下列事件:当用户在移动浏览器中轻击时的触摸按下、触摸抬起和点击。
在检测到点击事件以后,TIM可以在将姿势或触摸事件自变量对象附加到该事件之后将该点击事件传送给应用。TIM可以附加姿势或触摸事件以便向应用通知源自姿势或触摸事件而不是鼠标事件的该点击事件。移动浏览器一般而言可以在触摸按下或触摸抬起事件被浏览器检测到并被解释成点击事件以后生成点击事件。在示例性场景中,点击事件可以在浏览器确定用户曾试图轻拂或拖动而不是轻击的情况下不被检测到。DIM可以滤除在紧接在拖动事件之后的任何点击事件。TIM可以以将快速连续的两次轻击归一化成双击事件。在浏览器中作出快速连续的两次轻击的用户还可以生成下列事件:鼠标按下、触摸抬起和点击。
TIM还可以将点击事件传送给应用并且开始监听第二轻击。如果TIM可以在预定时间量(用户或系统可以定义该时间值)内接收第二点击事件,则TIM可以将第二点击事件传送给应用,然后是向该应用的双击事件传送。点击和双击二者都可以由该应用来处理。将点击和由双轻击发起的双击一起处理可以迫使应用对双轻击和双击作出一致的行为。
TIM可以将触摸并保持事件归一化成上下文菜单事件。TIM可以在用户可 以触摸并保持在浏览器的屏幕上时接收触摸按下事件。在接收触摸按下事件时,TIM可以发起定时器,该定时器可以在预定的时间以后显示上下文菜单。在预定时间期满以后,TIM可以将上下文菜单事件传送给应用。如果在预定时间期满以前检测到触摸抬起事件,则定时器可以被取消,并且上下文菜单可以不被显示。一旦TIM传送上下文菜单事件,则如果用户末结束触摸并保持,则TIM就通过浏览器来模拟触摸抬起事件以防止在显示上下文菜单以后处理拖动事件。
可以使得应用开发者能够提供自定义组件以注册和响应姿势或触摸事件。由于TIM可以通过将姿势或触摸事件归一化成鼠标事件或上下文菜单事件来操作,因此自定义组件可以针对上下文菜单通过注册处理程序向MIM或输入管理器注册。
当TIM归一化点击事件并且请求EHM处理点击事件时,EHM可以传送给应用处理程序。该应用中的处理程序方法可以接收事件处理程序自变量对象,所述对象可以用于与信息一起传送以处理事件。
可滚动内容通常可以存在于内联帧中。应用中的滚动可以包括由两个手指生成的事件。根据各实施例,事件处理程序管理器可以为平板计算机和类似设备提供基本的单手指滚动。这样的实施例可以执行下列动作:(1)创建附加到DOM元素的新滚动拖动适配器;以及(2)将该适配器以优先级"倒数第一"向DOM元素的DIM注册。DIM可以支持附加到元素的拖动适配器的队列。DIM可以按顺序处理滚动事件并且在当前拖动适配器不能处理拖动事件时将所述事件传送到下一拖动适配器上。优先级"倒数第一"可以指,任何其他拖动适配器都有机会在该拖动适配器处理拖动事件以前进行处理。
滚动拖动适配器可以是可实现拖动适配器接口的内部类。该接口可以处理相关联的DOM元素上的滚动事件。拖动中(on drag)开始方法可以记住当前位置。拖动中移动方法可以计算新位置与上一位置之间的差异。拖动中移动方法可以设置DOM元素的滚动顶部和滚动左边以匹配该差异。可以为每个经处理的拖动移动事件记录点和时间戳的列表。在拖动中结束方法中,可以计算抛物线回归以确定手指的加速度并相应地执行翻页动画。
图4示出根据各实施例的示出对用户界面的优化的流程图。在图表400中, 根据各实施例,应用可以检测由用户界面(UI)所显示的锚上的点击事件402。应用可以作出关于点击事件的姿势或触摸输入的确定404。如果应用可以确定触摸输入,则该应用可以显示为姿势或触摸优化的UI406。如果应用不能将输入的类型确定为姿势或触摸,则该应用可以作出关于鼠标输入的确定408。如果应用将输入的类型确定为基于鼠标的,则该应用可以显示为鼠标输入优化的UI410。如果否,则该应用可以显示上一状态或静止状态的UI412。
该应用可以发起实例化动态UI的锚元素。在示例性场景中,按钮控件可以发起新窗格。在另一示例性场景中,可编辑表面控件可以发起脱字符号(caret)。
如果应用检测到姿势或触摸输入,则UI可以针对基于姿势或触摸的控件进行优化。在示例性场景中,大UI控件可以被UI用于所检测到的姿势或触摸输入。如果应用检测到鼠标输入,则UI可以针对基于鼠标的控件进行优化。在示例性场景中,UI可以启用以鼠标控件为中心的特征,比如在UI内的悬停。
上下文菜单控件还可以简单地根据针对UI的输入的类型进行优化。如果应用曾检测到由鼠标事件发起的上下文菜单,则为鼠标控件优化的上下文菜单可以在UI内被发起。可替代地,为姿势或触摸控件优化的上下文菜单可以响应于为发起上下文菜单而检测到的姿势或触摸事件在UI内被发起。
应用可以通过为点击(或上下文菜单)注册、检测点击事件、以及针对输入类型评估点击事件来确定在锚上使用的输入的类型。如果浏览器不能提供输入的类型,则输入的类型可以使用输入管理器应用编程接口(API)来获得。输入管理器API的点击输入管理器(CIM)组件可以通知点击事件的类型并且传送点击事件的输入的类型。CIM可以监听多个事件以确定输入的类型。CIM可以监听点击事件以及其他浏览器特有的姿势或触摸事件。如果触摸开始事件紧接在点击在之前(例如300ms以内)发生,则应用可以作出如下结论:该点击事件是姿势或触摸输入的结果。可替代地,每当输入管理器接收到触摸开始事件以及随后的触摸结束事件而没有触摸移动事件时,输入管理器都可以立即决定发起点击事件并且确定姿势或触摸输入如果具有姿势或触摸输入的定点器事件紧接在点击事件之前发生,则应用可以确定该点击事件来自姿势或触摸输入。定点器事件可以不是姿势或触摸事件。由浏览器实现的自定义定点器事 件可以为浏览器所支持的每种类型的输入而发起,所述输入包括但不限于:姿势或触摸、笔和鼠标输入。浏览器可以针对通过自定义定点器所检测到的事件传送输入的类型。可替代地,应用可以监听姿势事件并且使用由浏览器提供的关于姿势事件的信息来确定输入的类型。
UI可以最初针对鼠标输入进行优化。之后,应用可以通过应用级联样式表单(CSS)来实现姿势或触摸输入定制,其中应用级联样式表单实现姿势或触摸输入的尺寸和间隔参数。CSS类可以添加到顶部CSS级,该顶部CSS级激活浏览器的DOM或UI元件的该部分中的姿势或者触摸特有的样式化。可替代地,当锚可以通过姿势或触摸输入被发起时,不同的DOM元素可以在动态UI上生成。该应用还可以发起为基于键盘的输入优化的UI。另外,该应用可以发起为基于笔的输入优化的动态UI。
UI的行为可以基于所检测到的输入类型而改变。该应用可以根据UI的组件上的所检测到的点击事件来改变UI的行为。可替代地,该应用可以根据由手指轻击发起的所检测到的姿势或触摸来改变UI的行为。在示例性场景中,UI可以显示拆分按钮控件。UI可以显示下拉菜单,该下拉菜单允许用户改变拆分按钮控件的类型。应用可以在用户用鼠标点击按钮控件时执行与按钮控件相关联的动作。可替代地,UI可以在用户轻击按钮控件时显示菜单。输入管理器可以根据对拆分按钮控件的用户动作来确定输入的类型。
应用可以使用用户代理串和浏览器特有的API来优化静态或引导时间UI。应用可以使用关于浏览器的信息来确定浏览器的鼠标、姿势或触摸或组合输入能力。静态UI可以在检测到具有仅限鼠标输入能力的浏览器时对鼠标输入进行优化。静态UI的优化还可以根据姿势或触摸输入以及组合输入场景来定制。附加地,可以提供按钮控件以在姿势或触摸和鼠标输入二者可以作为浏览器的能力被检测到时将静态UI在这二者之间切换。按钮控件可以将其在用户会话之间的状态持久保存在浏览器cookie中。
图5示出了根据各实施例的基于输入类型的表控件的经优化用户界面的示例,图表500显示了根据鼠标输入502和姿势或触摸输入512优化的示例性表控件。
管理UI的应用可以检测UI上的用户动作的输入类型。所检测到的用户动 作可以是姿势或触摸输入或基于鼠标的输入。UI可以最初针对鼠标输入的表控件502进行优化。UI可以显示标准尺寸表控件504和标准尺寸表尺寸选中控件506。标准尺寸可以是在应用的开发期间确定的对UI的每个组件的系统设定。UI可以显示标准尺寸控件,因为用户可能能够与其他输入类型相比以更高精度移动鼠标定点器。
可替代地,UI可以为所检测到的姿势或触摸输入显示经优化的表控件512。UI可以显示大尺寸表控件514和大尺寸表尺寸选中控件516。大尺寸可以是对根据显示特性确定的每个UI组件的系统设定。UI可以显示大尺寸控件,因为用户可能更少能够通过姿势或触摸输入在UI上提供精细的控制。
图6示出了根据各实施例的基于所检测到的输入类型的颜色和字体控件的经优化用户界面的示例。图表600显示了根据所检测到的输入类型优化的示例性颜色和字体控件。
管理UI的应用可以将UI上的用户动作的输入类型检测为鼠标或姿势、或者基于触摸的输入类型。如果应用检测到鼠标输入类型,则UI可以显示与相应用户动作相关联的为鼠标输入类型优化的颜色控件602或字体控件610。UI可以显示具有标准尺寸颜色选中控件606或具有标准尺寸字体选中控件614的字体控件610。UI可以显示标准大小控件,因为用户可能能够与其他输入类型相比以更高精度移动鼠标定点器。
可替代地,如果应用检测到姿势或触摸输入类型,则UI可以显示与相应用户动作相关联的为姿势或触摸输入优化的颜色控件604或字体控件612。UI可以显示具有大尺寸颜色选中控件608的颜色控件604或具有大尺寸字体选中控件616的字体控件612。UI可以显示大尺寸控件,因为用户可能更少能够通过姿势或触摸输入在UI上提供精细的控制。
图7示出了根据各实施例的基于所检测到的输入类型的样式和搜索控件的经优化用户界面、以及被呈现以启用经优化的用户界面的选中控件的示例。图表700显示了根据所检测到的输入类型优化的示例性文本样式和搜索控件、以及用于选中输入类型的下拉控件。
应用可以将UI上的用户动作的输入类型检测为要么鼠标输入,要么姿势或者触摸输入。如果应用检测到鼠标输入,则UI可以显示与相应用户动作相 关联的为鼠标输入优化的文本样式控件702或搜索控件710。UI可以显示具有标准文本样式选中控件706的文本样式控件702或者具有标准尺寸搜索框控件714的搜索控件710。UI可以显示标准大小控件,因为用户可能能够与其他输入类型相比以更高精度移动鼠标定点器。
可替代地,如果应用检测到姿势或触摸输入,则UI可以显示与相应用户动作相关联的为姿势或触摸输入优化的字体控件704或搜索控件712。UI可以显示具有大尺寸字体选中控件708的字体样式控件704或具有大尺寸搜索框控件716的字体控件712。UI可以显示大尺寸控件,因为用户可能更少能够通过姿势或触摸输入在UI上提供精细的控制。
应用还可以使得用户能够通过下拉菜单控件720选择输入类型。应用可以通知用户用手指轻击UI上的任何地方以激活下拉菜单726。UI还可以显示告知用户点击下拉菜单的控件表面以用于项目符号(bu11et)动作的通知722。项目符号动作可以提供与输入类型相关联的附加的控件,例如管理输入类型的行为。另外,UI可以显示通知以告知用户点击下拉菜单的箭头控件724以激活用于选择输入类型的选中控件。
根据一些实施例,启用触摸或姿势的输入设备和显示屏可被用于查看/编辑文档以及通过用户界面接收来自用户的输入。启用姿势的输入设备和显示屏可利用允许用户的触摸输入或光学捕捉的姿势被识别的任何技术。例如,一些技术可包括但不限于:热量、手指压力、高俘获率照相机、红外光、光学捕捉、调谐的电磁感应、超声波接收器、传感麦克风、激光测距仪、阴影捕捉等。启用触摸或启用姿势的设备的用户界面可显示与文字处理应用、演示应用、电子数据表应用以及网页内容相关联的内容和文档、以及用于与所显示的内容交互的动作的菜单。用户可使用姿势来与用户界面交互,以访问、创建、查看和编辑诸如文档、表、电子数据表、图表、列表以及任何内容(如音频、视频等)之类的内容。启用姿势的输入设备可利用专用于启用触摸或姿势的计算设备的特征,但也可与传统鼠标和键盘一起使用。诸如本文中所使用的轻击或重击动作之类的姿势或触摸输入动作可由用户通过手指、笔、鼠标或类似设备,以及通过预定义的键盘输入组合、眼睛跟踪和/或语音命令来提供。
图2至7中的示例性场景和方案是以特定组件、数据类型和配置示出的。 各实施例不仅限于根据这些示例配置的系统。提供用于编辑姿势或触摸屏上的内容的自定义选中、用于浏览器姿势或触摸事件的语义解释的方案、以及浏览器中的为姿势或触摸优化的用户界面可以在应用和用户界面中以采用更少或附加组件的配置来实现。此外,图2至7中所示的示例方案和组件及其子组件可以使用在此所述的原理通过类似方式以其他值来实现。
图8是可实现根据各实施例的系统的联网环境。本地和远程资源可以由诸如托管服务之类的一个或多个服务器814或者单个服务器(例如web服务器)816来提供。应用可以通过网络810与诸如下列各个计算设备上的客户机接口通信:膝上型计算机811、平板设备812或者智能电话813("客户端设备")。
如上所述,提供用于编辑姿势或触摸屏上的内容的自定义选中、用于浏览器姿势或触摸事件的语义解释的方案、以及浏览器中的为姿势或触摸优化的用户界面可以通过与浏览器交互的web应用来提供。如之前所讨论的,客户机设备811-813可允许访问在远程服务器(例如,服务器814中的一个)上执行的应用。服务器可直接地或通过数据库服务器818来从数据存储819中检索或向数据存储819存储相关的数据。
网络810可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络810可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络810还通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络810可包括诸如蓝牙或类似网络等短程无线网络。网络810提供此处描述的节点之间的通信。作为示例而非限制,网络810可以包括例如声学、RF、红外线和其它无线介质等无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其他配置来提供用于编辑姿势或触摸屏上的内容的自定义选中、用于浏览器姿势或触摸事件的语义解释的方案、以及浏览器中的姿势或触摸优化的用户界面。此外,图8中所讨论的联网环境仅用于说明目的。各实施例不仅限于示例应用、模块或过程。
图9及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图9,该图示出了诸如计算设备900之类的根据各实施例的应用的示例计算操作环境的框图。在基本配置中,计算设备900可包括至少一个 处理单元1602和系统存储器904。计算设备900还可以包括在执行程序时相互协作的多个处理单元。取决于计算设备的确切配置和类型,系统存储器904可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器904通常包括适于控制平台的操作的操作系统905,例如来自华盛顿州雷蒙德市的微软公司的操作系统。系统存储器904还可以包括一个或多个软件应用程序,比如程序模块906、应用922和用户界面模块924。
应用922可以提供根据各实施例的用于编辑姿势或触摸屏上的内容的自定义选中、用于浏览器姿势或触摸事件的语义解释的方案、和/或浏览器中的姿势或触摸优化的用户界面。用户界面模块924可以帮助应用922结合启用触摸和/或姿势的设备来提供上述服务。该基本配置在图9中由虚线908内的那些组件示出。
计算设备900可以具有附加特征或功能。例如,计算设备900还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。在图9中通过可移动存储909和不可移动存储910示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质是计算机可读存储器设备。系统存储器904、可移动存储909和不可移动存储910都是计算机可读存储介质的示例。计算机可读存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或能用于存储所需信息且能够由计算设备900访问的任何其它介质。任何这样的计算机可读存储介质都可以是计算设备900的一部分。计算设备900也可具有输入设备912,诸如键盘、鼠标、笔、语音输入设备、姿势或触摸输入设备和类似输入设备。还可以包括输出设备914,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。
计算设备900还可以包含允许该设备与其他设备918通信的通信连接916,诸如通过分布式计算环境中的无线网络、卫星链路、蜂窝链路和类似机制。其 他设备918可包括执行通信应用的计算机设备、存储服务器和类似设备。一个或多个通信连接916是通信介质的一个示例。通信介质可以包括计算机可读指令、数据结构、程序模块、或者诸如载波或其它传输机制等的已调制数据信号中的其它数据,并且包括任何信息传递介质。术语"已调制数据信号"指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的其一些来执行该方法的各个操作中的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图10A-C示出了在范围选中插入点之下以及末端处提供选中柄的过程、用于浏览器姿势或触摸事件的语义解释的方案、以及用于浏览器的为输入优化的用户界面的逻辑流程图。在一些示例中,过程1000、1002和1004可以由诸如web应用之类的应用来实现。
过程1000可以始于操作1010,在操作1010,应用可以检测对一定范围的文本的选中。在操作1020,该应用可以在选中的插入点之下创建选中柄。该应用可以截取和取消与浏览器所生成的选中相关联的事件。接着,在操作1030,该应用可以用选中柄替换本机浏览器柄。
过程1002可以始于操作1040,在操作1040,应用可以在应用与浏览器之间的抽象层处从启用触摸和姿势的设备接收一系列浏览器事件。在操作1050,应用可以将所接收的浏览器事件标准化为与多个设备和浏览器兼容的一致的语义事件流。
过程1004可以始于操作1060,在操作1060,应用可以检测输入。在操作1070,应用可以发起基于所检测到的输入的类型优化的用户界面。接着,在操作1080,应用可以基于所检测到的输入的类型修改用户界面的一部分的行为。
某些实施例可在包括通信模块、存储器和处理器的计算设备中实现,其中 处理器结合存储在存储器中的指令执行如上所述的方法或类似方法。其它实施例可被实现为其上存储有用于执行如上所述的方法或类似方法的指令的计算机可读存储介质。
包括在过程1000、1002和1004中的各操作仅出于说明目的。提供用于编辑姿势或触摸屏上的内容的自定义选中、用于浏览器姿势或触摸事件的语义解释的方案、以及浏览器中的为姿势或触摸优化的用户界面可以使用在此所述的原理通过具有更少或附加步骤、以及不同操作顺序的类似过程来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。

Claims (3)

1.一种在计算设备上执行的用于提供用于编辑触摸屏上的内容的自定义选中的方法,该方法包括:
在所述计算设备的处理器上检测对一内容范围的选中,所述选中由输入事件经由通过Web应用访问的浏览器发起,其中,所述输入事件包括在用于管理在所述计算设备上执行的浏览器和Web应用之间的事件的抽象层上的以下一个或多个输入:姿势输入、触摸输入、鼠标输入或键盘输入;
将所述输入事件标准化为与多个设备和用于处理所述输入事件的输入管理器处的浏览器兼容的一个或多个语义事件;
在所述处理器上截取与所述选中相关联的所述输入事件,并且取消所述输入事件以停止所述选中激活本机浏览器柄;
在所述处理器处确定所述选中的末端位置;
在所检测的选中的插入点之下创建输入优化的选中柄,以替换本机浏览器柄,并提供跨Web应用平台所显示的内容的一致性体验;以及
在与所述计算设备相关联的显示设备上,在所选中内容的所述末端位置处呈现所述选中柄。
2.如权利要求1所述的方法,其特征在于,还包括:
可以在所述选中的末端位置处创建两个附加的选中柄以提供用于管理所述选中的用户界面。
3.如权利要求1所述的方法,其特征在于,还包括:
检测输入的类型;以及
提供选中柄以根据所述输入的类型重新创建选中行为。
CN201310211353.1A 2012-05-31 2013-05-30 用于通过姿势或触摸控制用户界面的优化方案 Active CN103412704B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261653530P 2012-05-31 2012-05-31
US61/653,530 2012-05-31
US13/671,832 US8843858B2 (en) 2012-05-31 2012-11-08 Optimization schemes for controlling user interfaces through gesture or touch
US13/671,832 2012-11-08

Publications (2)

Publication Number Publication Date
CN103412704A CN103412704A (zh) 2013-11-27
CN103412704B true CN103412704B (zh) 2017-04-26

Family

ID=48538068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310211353.1A Active CN103412704B (zh) 2012-05-31 2013-05-30 用于通过姿势或触摸控制用户界面的优化方案

Country Status (1)

Country Link
CN (1) CN103412704B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6287435B2 (ja) * 2014-03-26 2018-03-07 日本電気株式会社 情報処理装置、情報処理方法およびプログラム
JP6274003B2 (ja) * 2014-05-09 2018-02-07 株式会社デンソー 表示操作システム
KR20150139336A (ko) * 2014-06-03 2015-12-11 삼성전자주식회사 디바이스 및 디바이스에서 유저 인터페이스 화면을 제공하는 방법
CN107391929B (zh) * 2017-07-21 2020-07-28 北京粒创科技有限公司 一种基于用户行为数据的虚拟平台系统
CN109542430B (zh) * 2017-09-22 2022-04-05 阿里巴巴集团控股有限公司 用于实现界面交互效果的方法、装置及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US8756534B2 (en) * 2009-03-16 2014-06-17 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US20120030566A1 (en) * 2010-07-28 2012-02-02 Victor B Michael System with touch-based selection of data items

Also Published As

Publication number Publication date
CN103412704A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
KR102033198B1 (ko) 제스처 또는 터치를 통해 사용자 인터페이스를 제어하는 최적화 기법
JP7263442B2 (ja) モバイルアプリケーションのリアルタイム遠隔制御のためのシステムおよび方法
KR102065900B1 (ko) 터치 감응형 이차 디스플레이에서 사용자 인터페이스 제어부들을 동적으로 제공하기 위한 시스템들, 디바이스들, 및 방법들
CN103649898B (zh) 用于基于上下文的菜单的启动器
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
US10394577B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
US20170024226A1 (en) Information processing method and electronic device
KR20210134675A (ko) 사용자 시연을 통하여 명령들을 학습하고 실행 가능하게 하기 위한 방법 및 시스템
US10831331B2 (en) Window control for simultaneously running applications
CN103412704B (zh) 用于通过姿势或触摸控制用户界面的优化方案
US10372512B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
CN101866299A (zh) 修改便携式电子设备上本地应用的执行的方法和系统
US20180121029A1 (en) Distributing a user interface for accessing files
CN107066188A (zh) 一种发送截屏图片的方法及终端
CN107408243A (zh) 提供用于管理对话中的附件的附件控件
CN116368468A (zh) 用于经由操作系统用户界面提供选项卡预览的系统和方法
JP2020161135A (ja) チャットスレッドを表示するための方法およびシステム
CN103562908A (zh) 利用不同文件宿主的文件访问
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
JP6317754B2 (ja) チャット機能を拡張するためのカスタムrtfコマンドの使用
CN110199511A (zh) 跨应用推送通知的安全目标对准
CN108780400A (zh) 数据处理方法及电子设备
US20190369827A1 (en) Remote data input framework
CN102446094A (zh) 用于有效地实现系统和桌面配置增强的装置和方法
CN106796605A (zh) 分段数据录入的验证

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1189680

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1189680

Country of ref document: HK