高性能触摸拖放的制作方法

文档序号:9713525阅读:505来源:国知局
高性能触摸拖放的制作方法
【专利说明】
【背景技术】
[0001]持续使具有用户可接合的显示器(诸如,触摸显示器)的设备的设计师面临的挑战之一涉及通过可以利用该设备采用的手势为用户提供增强的功能。这不仅对于具有较大或多个屏幕的设备是如此,而且在具有较小占用面积的设备(诸如,平板电脑,手持设备,较小的多屏幕设备等)的背景中也是如此。
[0002]用基于手势的输入的一个挑战是提供使能鼠标输入的功能的web的web平台以使能触摸输入的类似功能的挑战。例如,现今在触摸界面中,轻击一项目以启动该项目是常见的。这使得难以提供二次功能,诸如选择项目的能力。此外,某些挑战与所谓的可平移(pannable)表面(即可以能够被平移并且使其内容移动的表面)共存。例如,可平移表面通常反应于手指拖动并且在用户的手指的方向上移动内容。如果表面包含用户可能想要重新安排的对象,则难以区分用户何时想要平移表面或重新排列内容。

【发明内容】

[0003]本
【发明内容】
被提供来介绍以简化形式的一系列概念,以下在【具体实施方式】中进一步描述该概念。本
【发明内容】
即不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0004]描述了用于高性能触摸拖放的技术。在至少一些实施例中,多线程体系结构被实施为至少包括操纵线程和独立命中测试线程。操纵线程接收与输入相关联的消息,并且发送与消息相关联的数据到独立命中测试线程。独立命中测试线程执行独立命中测试以确定输入是否命中了有资格用于特定动作的元素。独立命中测试线程还标识与输入相关联的交互模型,并且发送交互模型的指示到操纵线程,以使能操纵线程来检测特定动作是否被触发。
[0005]在一个或多个实施例中,接收基于与触摸输入相关联的指针消息的一个或多个操纵通知。指针消息配置为发起对页面的元素的拖放操作。将与指针消息相关联的更新与表示页面上的元素的拖动画面相关。一个或多个拖动通知被发送给拖放管理器,以使能拖放管理器来发起鼠标兼容的功能而不必理解触摸输入。
[0006]在至少一些实施例中,接收加载页面的请求,并标识页面上的一个或多个可拖动元素。可拖动元素在网页上被呈现到层中,该层与页面上的内容所呈现到的另一个层分离。接收发起在可拖动元素上的拖放操作的输入。响应于被发起的拖放操作,基于可拖动元素呈现拖动画面。
【附图说明】
[0007]参照附图来描述【具体实施方式】。在附图中,参考数字的(多个)最左边数字标识其中该参考数字首次出现的附图。描述和附图中的不同实例中的相同参考数字的使用可以指示类似或相同的项目。
[0008]图1是依据一个或多个实施例的示例实施方式中的环境的图示。
[0009]图2是更详细地示出图1的示例实施方式中的系统的图示。
[0010]图3是描述依据一个或多个实施例的方法中的步骤的流程图。
[0011]图4图示依据一个或多个实施例的示例客户端体系结构。
[0012]图5是描述依据一个或多个实施例的方法中的步骤的流程图。
[0013]图6是依据一个或多个实施例的示例实施方式的图示。
[0014]图7是描述依据一个或多个实施例的方法中的步骤的流程图。
[0015]图8图示依据一个或多个实施例的用于接收和处理鼠标和触摸输入的示例体系结构。
[0016]图9是描述依据一个或多个实施例的输入变换过程或方法中的步骤的流程图。
[0017]图10图示依据一个或多个实施例的示出可操作以采用自动滚动用于触摸输入的示例实施方式的系统。
[0018]图11是描述依据一个或多个实施例的方法中的步骤的流程图。
[0019]图12图示可以被用来实施本文中所描述的各种实施例的示例计算设备。
【具体实施方式】
[0020]概述
描述用于触摸显示器的高性能拖放操作。在至少一些实施例中,可以对在一个方向上平移或滚动的内容使用交叉滑动手势,以使能附加的动作,诸如内容选择,拖放操作,等等。在至少一些其它实施例中,可以对元素使用按下并保持的手势,以使能内容选择,拖放操作J等等。
[0021]典型的web浏览器可以使能拖放功能作为用鼠标来移动、重新排列、或复制元素的手段。大致地,该功能是经由标准化的超文本标记语言5(HTML5)拖放应用编程接口(API)来使能的。然而,这些web浏览器大致地缺乏类似拖放功能用于触摸输入。此外,一些Web浏览器不澄清拖动操作与滚动操作。
[0022]各种实施例通过使用交叉滑动手势或按下并保持手势来使能在拖动动作和滚动(例如,平移)动作之间澄清。在至少一些实施例中,独立于并行运行的应用程序或web页面代码来使能粘到您的手指的执行。这在至少一些实施例中经由多线程体系结构来实现,该多线程体系结构配置为在一个线程上操纵拖动画面同时在另一线程上提供输入事件。
[0023]在至少一些实施例中,可以大致地通过在触摸操纵期间预分层拖动画面并且也针对拖动画面实施z次序和元素的视觉复制来在手势的开始时同时地创建拖动画面。这些增强功能可以提供从呈现元素到呈现拖动画面的平滑转变。
[0024]在一个或多个实施例中,独立自动滚动可以被使能用于在拖动元素的同时滚动区域。自动滚动可以响应于用户拖动在滚动区域的边缘附近的元素而被发起。如果用户拖动元素到距离阈值内的区域中,则可滚动区域可以开始在该边缘方向上自动滚动。在至少一些实施例中,多点触摸交互使用户能够用第一手指拖动元素,并且在拖动期间使用第二手指滚动被拖动的元素背后的页面。
[0025]此外,至少一些实施例使能要被拖动的项目而不必进入模式。模式可以被看作是由用户发起的动作,其不必与直接操纵项目有关。例如,可以通过点击特定用户界面按钮,以然后被暴露于能够关于项目或对象执行的功能来进入模式。在所描述的实施例中,模式可以通过在至少一些实例中消除访问拖动功能的用户界面元素而被避免。
[0026]在又其它实施例中,使用被设计用于鼠标输入的拖放API的应用程序可以在不具有触摸特定代码的应用程序的情况下自动利用触摸输入工作。本文中所描述的各种实施例可以映射触摸输入事件到通常用于鼠标输入的拖动事件。此外,本文中所描述的实施例可以映射多点触摸输入,这用鼠标大致地是不可能的。
[0027]在下面的讨论中,首先描述示例环境,该环境可操作以采用本文中所描述的手势技术。然后描述可以被采用在示例环境中以及在其他环境中的手势和流程的示例图示。相应地,该示例环境不限于执行示例手势并且手势不限于在示例环境中的实施方式。
[0028]示例环境
图1是可操作以采用如本文所描述的高性能触摸拖放操作的示例实施方式中的环境100的图示。图示的环境100包括可以以各种方式配置的计算设备102的示例。例如,计算设备102可以配置为传统计算机(例如,台式个人计算机、膝上型计算机、等等)、移动站、娱乐器具、通信地耦接到电视的机顶盒、无线电话、上网本、游戏控制台、手持式设备、等等,如关于图2进一步描述的那样。因此,计算设备102的范围可以从具有大量存储器和处理器资源(例如,个人计算机、游戏控制台)的全资源设备到具有有限的存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持式游戏控制台)。计算设备102还包括软件,其使计算设备102能够执行如以下所描述的一个或多个操作。
[0029]计算设备102包括手势模块104和web平台106。手势模块104可操作以提供如本文档中描述的手势功能。手势模块104可以结合任何适合类型的硬件、软件、固件或其组合来实施。在至少一些实施例中,手势模块104以软件来实施,该软件驻留在某种类型的计算机可读存储介质上,以下提供该计算机可读存储介质的示例。
[0030]手势模块104表示识别手势(包括可以通过一个或多个手指来执行的拖放手势)并且使对应于该手势的操作被执行的功能。手势可以由模块104以各种不同的方式来识别。例如,手势模块104可以配置为识别触摸输入,诸如如接近计算设备102的显示设备110的用户的手108的手指使用触摸屏功能。特别地,手势模块104可以识别对可滚动内容使用的非滚动手势以使能非滚动动作,诸如内容选择、拖放操作、等等。
[0031]例如,在所图示的示例中,平移或滚动方向被示出为在如箭头所指示的垂直方向上。在一个或多个实施例中,可以执行交叉滑动手势,诸如在题为“Cross-slide Gestureto Select and Rearrange”的美国专利申请序号13/196272中描述的那样。例如,可以在与平移或滚动方向不同例如正交的方向上拖动项目或对象来执行交叉滑动手势。不同方向的拖动可以被映射到附加的动作或功能。关于方向是垂直还是水平的,垂直方向在至少在一些实例中可以被视为是大致地平行于显示设备的一侧的方向,并且水平方向可以被视为是通常与垂直方向正交的方向。因此,虽然计算设备的取向可以改变,但是特定交叉滑动手势的垂直性或水平性可保持如相对于并且沿着显示设备定义的标准。
[0032]例如,用户的手108的手指被图示为选择112由显示设备110显示的图象114。可以由手势模块104识别图像114的选择112和用户的手106的手指在一个方向上的随后移动,该方向与平移或滚动方向不同,例如大致地相对于平移或滚动方向正交。然后,手势模块104可以通过该移动的性质和特征标识该识别的移动,作为指示“拖放”操作改变图像114的位置到显示器中的一个点,在该点处用户的手108的手指从显示设备110抬离。因此,描述图像的选择的触摸输入的识别、选择点到另一位置的移动以及然后抬起用户的手106的手指可用于标识是要发起拖放操作的手势(例如,拖放手势)。
[0033]虽然在以上示例中讨论交叉滑动手势,但是要领会和理解,各种不同类型的手势可以由手势模块104识别,该手势模块104包括(通过示例而非限制)从单一类型的输入识别的手势(例如,触摸手势,诸如先前描述的拖放手势)以及涉及多种类型输入的手势。例如,可以利用模块104来识别单一手指手势和边框手势、多个手指/同一手的手势和边框手势和/或多个手指/不同手的手势和边框手势。
[0034]例如,计算设备102可以配置为检测和区分触摸输入(例如,由用户的手108的一个或多个手指提供)和手写笔输入(例如,由手写笔116提供)。可以以各种方式诸如通过检测由用户的手108的手指接触的显示设备1
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1