CN108885535B - 多窗口虚拟键盘 - Google Patents

多窗口虚拟键盘 Download PDF

Info

Publication number
CN108885535B
CN108885535B CN201780022162.7A CN201780022162A CN108885535B CN 108885535 B CN108885535 B CN 108885535B CN 201780022162 A CN201780022162 A CN 201780022162A CN 108885535 B CN108885535 B CN 108885535B
Authority
CN
China
Prior art keywords
application
input keyboard
soft input
window
user interface
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
CN201780022162.7A
Other languages
English (en)
Other versions
CN108885535A (zh
Inventor
S·J·元
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 US15/091,687 external-priority patent/US10802709B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108885535A publication Critical patent/CN108885535A/zh
Application granted granted Critical
Publication of CN108885535B publication Critical patent/CN108885535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

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

Abstract

本公开内容的示例描述了与多窗口软输入键盘应用相关联的系统和方法。显示了一种多窗口软输入键盘应用。所述软输入键盘应用用于为一个或多个应用提供应用命令控制。所述软输入键盘应用可以包括显示所述软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,所述第一应用窗口基于检测到的前台应用来进行显示/更新。所述用户界面元素可用于所述检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。所述第二应用窗口的显示可以更新,包括:基于对所述第一应用窗口的用户界面元素的选择来替换所述软输入键盘的显示。还描述了其他示例。

Description

多窗口虚拟键盘
背景技术
处理设备的使用通常迫使用户在应用之间切换以便将信息/内容从一个应用传输到另一个应用。例如,需要多个操作(例如,选择、复制和粘贴)来完成从一个应用到另一个应用的信息传输。这可能为用户造成了繁琐的体验。此外,应用通常缺乏与其他应用程序通信的能力,因此进一步限制了用户体验。因此,本申请所针对的是改进的应用命令控制的一般技术环境。
发明内容
本公开内容的非限制性示例描述了用于多窗口软输入键盘应用的系统和方法。在示例中,显示了多窗口软输入键盘应用。所述软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于对检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。所述第二应用窗口的显示可以更新,包括:基于对所述第一应用窗口的用户界面元素的选择来替换所述软输入键盘的显示。
本公开内容的另外的非限制性示例描述了关联于与其它其他正在执行的应用交互的多窗口软输入键盘应用的系统和方法。在示例中,显示了作为前台应用的第一应用操作。还显示了软输入键盘应用。软输入键盘应用可以检测接收到第一应用中的输入。软输入键盘应用将与第一应用中接收的输入相关联的数据中继到至少一个服务。在软输入键盘应用内显示从服务取回的结果。
此外,本公开内容的非限制性示例描述了可以提供软输入键盘应用作为服务的示例性系统。在示例中,显示了软输入键盘应用。示例性软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行更新。用户界面元素可用于对检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。在示例中,通过基于对第一应用窗口的用户界面元素的选择替换软输入键盘的显示来更新第二应用窗口的显示。可以在检测到的前台应用和软输入键盘应用中的至少一项中接收输入。从系统收集的用户上下文信号数据以及与所接收的输入相关联的数据分别通过分布式网络传输到与示例性系统连接的至少一个处理设备。所接收的结果数据可以被显示在系统上。
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在标识要求保护的发明主题的关键特征或重要特征,也不旨在用于限制要求保护的发明主题的范围。示例的另外的方面、特征和/或优点将部分地在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实践本公开内容来学习。
附图说明
参考以下附图描述了非限制性和非穷举性示例。
图1是示出可以用来实践本公开内容的方面的计算设备的示例的框图。
图2A和图2B是可以用来实践本公开内容的方面的移动计算设备的简化框图。
图3是可以在其中实践本公开内容的方面的分布式计算系统的简化框图。
图4A示出了可以用来实践本公开内容的方面的示例性处理设备视图,该视图示出了应用与软输入键盘应用之间的交互。
图4B-图4H示出了可以用来实践本公开内容的方面的示例性处理设备视图,该视图突出显示了示例性软输入键盘应用的示例性用户界面元素。
图5-图12示出了可以用来实践本公开内容的方面的示例性处理设备视图,该视图突出显示了应用与软输入键盘应用之间的交互。
图13示出了在可以在其上实践本公开内容的方面的一个或多个计算设备上可实现的示例性系统。
图14A-图14E示出了可以用来实践本公开内容的方面的涉及与示例性软输入键盘应用的交互的示例性方法。
图15是可以用来实践本公开内容的方面的用于与一个或多个前台应用交互的示例性方法。
图16是可以用来实践本公开内容的方面的用于提供示例性软输入键盘应用作为服务的示例性方法。
具体实施方式
本公开内容描述了可以与任何应用对接的通用软输入键盘应用的示例。软输入键盘可以是多窗口键盘应用,其为在处理设备上运行的操作系统(OS)的前台中进行执行的任何应用提供应用控制。前台应用是具有输入焦点的任何应用。作为示例,前台应用可以正在执行并被显示在处理设备的显示器上。示例性软输入键盘应用可以与其他正在执行的应用(例如,前台应用)通信,以改善用户与其他应用的交互。除了其他示例,软输入键盘应用可以用于:找到答案、定位文件、翻译数据、使用来自其他应用的特征、接收建议/推荐、改进对具有应用可扩展性的内容的选择、评估前台应用内的线程的上下文并提供内容的自动完成/自动插入到这样的前台应用中、容易地将数据传输到从与软输入键盘应用通信的服务获得的前台应用而无需选择/复制/粘贴并提供软输入键盘功能,所有这些都在一个产品中。在示例中,示例性软输入键盘应用的自动完成特征基于用户的上下文(例如,位置、日历)而不是典型键盘/软输入面板中呈现的通用自动完成。本领域技术人员应当认识到:示例性软输入键盘应用不限于上述动作/特征。本文提供了示例性软输入键盘应用的另外的细节和示例。
通常,在使用应用时,用户限于应用提供的功能。因此,用户通常同时执行多个应用以完成不同的任务。例如,考虑执行多个应用的移动设备的用户。由于移动设备上的可用显示空间的限制,可能迫使用户在多个应用之间来回切换以执行任务。本公开内容的示例提供了对这些技术问题的解决方案。因此,本公开内容提供了多种技术效果,包括但不限于:可调整和可扩展的单键盘应用,检测其他应用并与其他应用通信的能力,评估包括执行线程的前台应用的上下文的能力,通过使完成任务所需执行的应用的数量最小化来减少处理负载,向第三方服务的可扩展性,对用户与处理设备之间的交互的改进,提供软输入键盘应用作为服务的能力,以及减少需要存储在处理设备上以完成不同任务的应用的数量,以及其他好处。
图1-图3和相关联的描述提供了对可以在其中实践本发明的示例的各种操作环境的讨论。然而,针对图1-图3示出并且讨论的设备和系统是出于示例和说明的目的,并不限制可用于实践本文中描述的本发明的示例的广大计算设备配置。
图1是示出可以用来实践本公开内容的示例的计算设备102(例如,移动处理设备)的物理组件的框图。在基本配置中,计算设备102可以包括至少一个处理单元104和系统存储器106。根据计算设备的配置和类型,系统存储器106可以包括但不限于:易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存器或这样的存储器的任何组合。系统存储器106可以包括操作系统107和适于运行软件程序/模块120的一个或多个程序模块108(如IO管理器124、其他实用程序126和应用128)。例如,系统存储器106可以存储用于执行的指令。系统存储器106的其他示例可以存储与应用相关联的数据。例如,操作系统107可以适于控制计算设备102的操作。此外,本发明的示例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不局限于任何特定的应用或系统。这种基本配置在图1中由虚线122内的那些组件示出。计算设备102可以具有另外的特征或功能。例如,计算设备102还可以包括另外的数据存储设备(可移动和/或不可移动的),例如磁盘、光盘或磁带。这样的另外的存储装置在图1中由可移动存储设备109和不可移动存储设备110示出。
如上所述,多个程序模块和数据文件可以被存储在系统存储器106中。当在处理单元104上执行时,程序模块108(例如,输入/输出(I/O)管理器124、其他实用程序126和应用128)可以执行过程,包括但不限于贯穿本公开内容描述的操作的阶段中的一个或多个阶段。可以根据本发明的示例使用的其他程序模块可以包括:电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序、照片编辑应用、创作应用等。
此外,本发明的示例可以用包括分立电子元件、包含逻辑门的封装或集成的电子芯片、使用微处理器的电路的电路来实践,或者在包含电子元件或微处理器的单个芯片上实践。例如,本发明的示例可以经由片上系统(SoC)实践,在所述SOC中,图1所示的组件中的每个或许多组件可以被集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些可以被集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC操作时,本文中描述的功能可以经由与单个集成电路(芯片)上的计算设备502的其他组件集成在一起的应用专用逻辑单元来进行操作。还可以使用能够执行逻辑运算(例如,与(AND)、或(OR)和非(NOT))的其他技术来实践本公开内容的示例,这些技术包括但不限于:机械、光学、流体和量子技术。另外,可以在通用计算机内或在任何其他电路或系统中实践本发明的示例。
计算设备102还可以具有一个或多个输入设备112,如键盘、鼠标、笔、声音输入设备、用于语音输入/识别的设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备114。前述设备是示例,并且可以使用其他设备。计算设备104可以包括允许与其他计算设备118的通信的一个或多个通信连接116。合适的通信连接116的示例包括但不限于:RF发射机、接收机、和/或收发机电路、通用串行总线(USB)、并行和/或串行端口。
本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括用于存储诸如计算机可读指令、数据结构或程序模块的之类的信息的以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器106、可移动存储设备109和不可移动存储设备110都是计算机存储介质示例(即,存储器存储装置)。计算机存储介质可以包括:RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储信息且可以由计算设备102存取的任何其他制品。任何这样的计算机存储介质可以是计算设备102的一部分。计算机存储介质不包括载波波形或其他传播或调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块或经调制的数据信号(如载波波形或其他传输机制)中的其他数据体现,并且包括任何信息递送介质。术语“经调制的数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过举例而非限制的方式,通信介质可以包括诸如有线网络或直接线连接之类的有线介质,以及诸如声音、射频(RF)、红外线和其他无线介质之类的无线介质。
图2A和2B示出了可以用来实践本发明的示例的移动计算设备200,例如移动电话、智能电话、个人数据助理、平板个人计算机、平板手机、平板、膝上型计算机等。例如,移动计算设备200可以被实现为执行应用和/或应用命令控制。应用命令控制涉及对通过用户界面(UI)或图形用户界面(GUI)与应用一起使用的命令的呈现和控制。在一个示例中,可以专门对应用命令控制进行编程以便与单个应用一起工作。在其他示例中,应用命令控制可以被编程为跨越一个以上的应用工作。参考图2A,示出了用于实现这些示例的移动计算设备200的一个示例。在基本配置中,移动计算设备200是具有输入元件和输出元件二者的手持计算机。移动计算设备200通常包括显示器205和允许用户向移动计算设备200录入信息的一个或多个输入按钮210。移动计算设备200的显示器205也可以用作输入设备(例如,触摸屏显示器)。如果包括,那么可选的侧输入元件215允许进一步的用户输入。侧输入元件215可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替换示例中,移动计算设备200可以并入更多或更少的输入元件。例如,在一些示例中,显示器205可以是触摸屏。在又一个替换示例中,移动计算设备200是便携式电话系统(如蜂窝电话)。移动计算设备200还可以包括可选按键板235。可选按键板235可以是物理按键板或在触摸屏显示器或任何其他软输入面板(SIP)上生成的“软”按键板。在各个示例中,输出元件包括:用于示出GUI的显示器205、视觉指示器220(例如,发光二极管)、和/或音频换能器225(例如,扬声器)。在一些示例中,移动计算设备200并入用于向用户提供触觉反馈的振动换能器。在又一个示例中,移动计算设备200并入输入和/或输出端口,如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)、以及用于向外部设备发送信号或从外部设备接收信号的视频输出(例如,HDMI端口)。
图2B是示出移动计算设备的一个示例的架构的框图。也就是说,移动计算设备200可以并入系统(即,架构)202来实现一些示例。在一个示例中,系统202被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统202被集成为计算设备(如集成个人数字助理(PDA)、平板电脑和无线电话)。
一个或多个应用程序266可以被加载到存储器262中,并在操作系统264上运行或与操作系统264联合运行。应用程序的示例包括:电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统202还包括存储器262内的非易失性存储区域268。非易失性存储区域268可以用于存储如果系统202掉电不应当丢失的持久信息。应用程序266可以使用和存储非易失性存储区域268中的信息,如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也位于系统202上,并且被编程用于与驻留在主机计算机上的相应同步应用进行交互,以保持存储在非易失性存储区域268中的信息与存储在主机计算机处的相应信息同步。应当明白:其他应用可以被加载到存储器262中并在本文中描述的移动计算设备200上运行。
系统202具有电源270,其可以被实现为一个或多个电池。电源270可能还包括外部电源,如AC适配器或对电池进行补充或再充电的供电的底座。
系统202可以包括外围设备端口230,其执行促进系统202与一个或多个外围设备之间的连接的功能。去往和来自外围设备端口230的传输在操作系统(OS)264的控制下进行。换句话说,由外围设备端口230接收的通信可以经由操作系统264传播到应用程序266,反之亦然。
系统202还可以包括执行发送和接收射频通信的功能的无线接口层272。无线接口层272经由通信载波或服务提供商来促进系统202与“外部世界”之间的无线连接。去往和来自无线接口层272的传输在操作系统264的控制下进行。换句话说,由无线接口层272接收的通信可经由操作系统264传播到应用程序266,反之亦然。
视觉指示器220可以用于提供视觉通知,并且/或者音频接口274可以用于经由音频换能器225产生听觉通知。在图示示例中,视觉指示器220是发光二极管(LED),而音频换能器225是扬声器。这些设备可直接耦合到电源270,以便当被激活时,它们在由通知机制指示的持续时间内保持开启,即使处理器260和其他组件可能关闭以节省电池电量。可以将LED编程为一直处于开启直到用户采取行动来指示设备的上电状态为止。音频接口274用于向用户提供听觉信号以及从用户接收听觉信号。例如,除了耦合到音频换能器225之外,音频接口274还可以耦合到麦克风来接收音频输入,例如以促进电话交谈。根据本发明的示例,如同下文将描述的,麦克风还可以用作音频传感器来促进对通知的控制。系统202还可以包括视频接口276,其实现板上摄像头230的操作以记录静止图像、视频流等。
实现系统202的移动计算设备200可以具有另外的特征或功能。例如,移动计算设备200还可以包括另外的数据存储设备(可移动和/或不可移动的),如磁盘、光盘或磁带。这些另外的存储装置在图2B中由非易失性存储区域268示出。
由移动计算设备200生成或捕捉并经由系统202存储的数据/信息可以如上所述本地存储在移动计算设备200上,或者数据可以存储在可以由设备经由无线单元272或经由移动计算设备200与关联于移动计算设备200的单独的计算设备(例如,分布式计算网络(如互联网)中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当明白的是:可以经由无线单元272或经由分布式计算网络,经由移动计算设备200来访问这样的数据/信息。类似地,这样的数据/信息可以根据公知的数据/信息传输和存储手段(包括电子邮件和协作式数据/信息共享系统)容易地在计算设备之间传输来存储和使用。
图3示出了如上所述用于提供可靠地访问存储系统上的目标数据并处理一个或多个客户端设备的通信故障的应用的系统的架构的一个示例。与编程模块108、应用120和存储装置/存储器相关联访问的,与编程模块108、应用120和存储装置/存储器交互的,或与编程模块108、应用120和存储装置/存储器相关联编辑的目标数据可以存储在不同通信信道或其他存储类型中。例如,如本文所述,可以使用目录服务322、网络门户324、邮箱服务326、即时消息传送存储装置328或社交网站330、应用128、IO管理器124、其他实用程序126来存储各种文档,并且存储系统可以使用这些类型的系统等中的任何一种来实现数据使用。服务器320可以提供存储系统以供通过网络315在通用计算设备102和移动设备200上进行操作的客户端使用。作为示例,网络315可以包括互联网或任何其他类型的局域网或广域网,并且客户端节点可以被实现为体现在个人计算机、平板计算设备和/或移动计算设备200(例如,移动处理设备)中的计算设备102。客户端计算设备102或200的这些示例中的任何示例可以从存储装置316获得内容。
图4A示出了可以用来实践本公开内容的方面的示例性处理设备视图400,该视图示出了应用与软输入键盘应用之间的交互。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。可以基于根据一个或多个应用编程接口(API)执行的处理操作,或者用于构建和执行处理设备上的软件应用的处理操作、功能、例程、协议和/或工具的任何其他集合来生成/执行软输入键盘应用。在示例中,软输入键盘应用可以包括两个或更多个应用窗口,其是软输入键盘应用中的被配置为以有组织的方式显示与软输入键盘应用相关联的内容的编程部分。在一个示例中,软输入键盘应用可以包括第一应用窗口404、第二应用窗口406和第三应用窗口408,如下文进一步详细描述的。软输入键盘应用可以独立于操作系统,并且可以被配置为在任何处理设备上执行。
可以基于软输入键盘应用正在其上执行的设备以形状因子方式设置与软输入键盘应用相关联的布局和显示尺寸。应用窗口的尺寸(和数量)可以基于软输入键盘应用正在其上执行的处理设备而变化。用户可以自定义用于软输入键盘应用的显示空间。在其他示例中,与软输入键盘应用相关联的显示空间可以由开发者固定(并且编程到软输入键盘应用中)。本领域技术人员应当认识到,软输入键盘应用可以被编程为以适合用于在应用窗口内组织内容的开发者规范的任何方式组织数据。
如显示视图400中所示,软输入键盘应用(在图4A中集体示为404、406和408)可以与前台应用的应用画布402一起显示。应用画布402是可以由用户操纵的应用的可用部分。在图4A所示的示例中,应用画布402用于SMS应用并且包括多个部分,这些部分包括用于录入SMS消息的接收方的字段、用于录入文本/图像/对象等的字段、用于录入电话号码/电子邮件地址等的字段以及其他部分。本领域技术人员应当认识到图4A中所示的应用画布仅是一个示例,并且应用画布402可以基于正在执行/显示的应用的类型而改变,例如作为前台应用。
软输入键盘应用可以与前台应用通信,例如使用诸如一个或多个API、事件处理操作/控件/监听器/接口等之类的编程操作。作为示例,软输入键盘应用可以检测前台应用内的执行的一个或多个线程。线程正在程序/应用(如前台应用)内运行任务。软输入键盘应用可以被配置为检测在前台应用内执行的任何线程。作为示例,软输入键盘应用可以检测在前台应用内执行的当前线程,其中,所述当前线程可以是用户正在积极参与的线程。在一个示例中,API、处理操作、事件控件、监听器等可以用于检测应用画布402内的输入焦点。然而,应当认识到:用于检测当前线程的处理操作不限于这样的示例。在一些示例中,用户可以打开一个以上的线程。例如,在电子邮件应用或消息传送应用中,线程可以包括用户与一个或多个其他用户之间的电子邮件/消息通信。在这样的示例中,用户可以在活动线程之间切换。软输入键盘应用能够检测线程之间的变化并识别用户正在使用的当前线程。此外,应用中的线程可以动态地改变,例如,当新数据/内容/用户被添加到线程时。软输入键盘应用还能够检测前台应用中线程的改变更新。在示例中,软输入键盘应用可以被配置为:从前台应用接收信号数据,例如以便与前台应用通信。例如,软输入键盘应用可以基于从前台应用或软输入键盘应用正在其上进行执行的处理设备发送的信号数据来检测前台应用。在其他示例中,软输入键盘应用还可以基于从前台应用发送到软输入键盘应用的信号数据来检测前台应用的当前线程/前台应用的线程的变化。
在图4A所示的示例中,应用画布402内的当前线程是SMS消息线程,其中,用户正在建立线程以便向名为“Steve”的联系人发送消息。如图4A所示,软输入键盘应用(统称为404、406和408)被显示在应用画布402下方。然而,软输入键盘应用可以根据用户偏好进行调整,例如,在软输入键盘应用的尺寸、位置、状态等可以由用户操纵的情况下。
第一应用窗口404可以最初显示检测到的前台应用外部的服务的两个或更多个用户界面元素。在示例中,第一应用窗口404可以基于检测到的前台应用来呈现用户界面元素。例如,第一应用窗口404可以响应于检测到文字处理应用是前台应用而显示与文字处理应用有关的用户界面元素。在另一个示例中,响应于检测到前台应用是消息传送应用(例如,电子邮件或短消息服务(SMS)),在第一应用窗口404中显示的用户界面元素可以是不同的。在其他示例中,第一应用窗口404中显示的用户界面元素可以是例如由软输入键盘应用的开发者固定的。在这样的示例中,可以呈现用户界面元素,其提供被集成在软输入键盘应用内的服务的快捷方式。服务(例如,在处理设备/系统上执行的应用)是可以与软输入键盘应用对接的任何资源。服务可以包括但不限于可以由与软输入键盘应用相同的业务/组织管理的系统、应用/服务,以及软输入键盘应用的业务/组织外部的资源。服务可以包括诸如网络搜索服务、电子邮件应用、日历、设备管理服务、地址簿服务、信息服务,以及由第三方托管或控制的服务和/或网站等的资源。例如,服务可以包括业务线(LOB)管理服务、客户关系管理(CRM)服务、调试服务、会计服务、工资单服务等。服务还可以包括由第三方托管的其他网站和/或应用,如社交媒体网站;照片分享网站;视频和音乐流式传输网站;搜索引擎网站;体育、新闻或娱乐网站等。服务可以提供强大的报告、分析、数据编译和/或存储服务等,而可以集成在软输入键盘应用内的一些其他服务可以提供搜索引擎或对数据和信息、图像、视频等的其他访问。
在示例中,不需要在客户端设备上安装服务,以便软输入键盘应用访问这些服务。这对于不需要下载、安装和管理多个不同应用的用户来说是一个巨大的好处。然而,在一些示例中,可以在客户端设备上本地安装服务。作为示例,用户可以使用示例性软输入键盘来搜索文档。如果用户的客户端设备安装了可以打开文档的应用,则用户可以使用软输入键盘来启动应用并查看文档。在其他示例中,用户可以使用软输入键盘应用来存储使用软输入键盘应用取回的文档,并且即使在客户端设备不包括查看文档的应用的情况下也提供到文档的链接。虽然可以通过软输入键盘在分布式网络上访问一些服务,但是其他服务可以本地存储在客户端设备上。在一些示例中,服务可以是前台应用外部的服务,并且提供单个应用不提供的可扩展性和功能。例如,软输入键盘应用可以促进对第三方服务的集成以取回内容,完成单个应用可能无法完成的任务等。在其他示例中,软输入键盘应用能够比前台应用可以能够完成这样的任务更快地(例如,更少的处理操作)获得数据并将数据插入到前台应用中。在一些示例中,软输入键盘应用可以被编程为使得第三方输入字段能够在软输入键盘应用的用户界面元素内显示。这可以改进软输入键盘应用和第三方服务之间的交换的处理效率。此外,用户可能希望应用来自另一个应用的应用命令控制以完成可能不提供这样的应用命令控制的前台应用内的任务。例如,在SMS应用程序作为前台应用操作的示例中,用户可能希望具有在文字应用或电子表格处理应用或语言翻译应用等中可用的编辑命令。软输入键盘应用可以促进这样的交互以便在使用前台应用的同时改善用户体验。
在一些示例中,第一应用窗口404的用户界面元素可以是可搜索的,例如通过用户可以使用软输入键盘应用录入的搜索输入。示例性软输入键盘应用可以被配置为以任何形式接收和处理输入,包括但不限于:文本输入、音频/语音输入、手写输入、触摸输入、设备/选择输入等。软输入键盘应用可以具有在其内编程的用于接收和处理由软输入键盘应用的用户触发的输入的用户界面元素。在示例中,第一应用窗口404可以经由任何类型的输入(例如,触摸、设备、语音命令)可滚动(例如,水平或垂直可滚动)。软输入键盘应用被配置为不仅能够在其他应用(例如,前台应用)之间进行交互,而且还促进软输入键盘应用的组成部分(例如,第一应用窗口404、第二应用窗口406和第三应用窗口408)之间的交互。在图4B-图4H中提供了对第一应用窗口404的一些示例性用户界面元素的进一步描述。
示例性软输入键盘应用还可以包括显示软输入键盘以及其他内容的第二应用窗口406。在示例中,第二应用窗口406可以经由任何类型的输入(例如,触摸、设备、语音命令)可滚动(例如,水平或垂直可滚动)。第二应用窗口406促进软输入键盘应用的组成部分(例如,第一应用窗口404和第三应用窗口408)以及检测到的前台应用之间的交互。与第一应用窗口404类似,第二应用窗口406的显示是可更新的。在一个示例中,第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在这样的示例中,一个或多个另外的用户界面元素可以被显示在第二应用窗口406中。第二应用窗口406还可以被配置为:显示选择的用户界面元素(例如,在第一应用窗口404内选择的)的上下文。例如,如果用户选择第一应用窗口404内的用户界面,则可以在第二应用窗口406中呈现与所选择的用户界面元素相关联的内容。以这样的方式,第一应用窗口404的用户界面元素充当与用户界面元素相关联的服务的功能和内容的快捷方式。
此外,第二应用窗口406可以被配置为:利用第二应用窗口406来呈现来自多个服务的内容。以这种方式,通过使得来自多个服务的内容流能够在第二应用窗口406的应用空间内显示,第二应用窗口406本身是多窗口。当涉及移动设备时,在应用窗口(如第二应用窗口406)内呈现来自多个服务的内容从用户界面/用户体验的视角提供了技术优势,其中,可以利用从多个不同服务和/或应用命令控制特征取回的内容来连续更新第二应用窗口406。
此外,第二应用窗口406的软输入键盘(例如,软输入面板(SIP))可以包括用户界面元素,例如用于将数据输入到应用(例如,前台应用和/或软输入键盘应用)中的键类型。与软输入键盘相关联的一些特征包括但不限于:字母输入键,字母数字输入键,修改键,粗略键(cursory key),系统命令,输入识别命令,用于第一方服务、第二方服务、第三方服务的命令,插入命令和特征命令(例如,与软输入键盘应用相关联的定界符)等。用于录入输入的其他标准键类型可以被包括在软输入键盘内并且是本领域技术人员已知的。
示例性软输入键盘应用还可以包括显示软输入键盘以及其他内容的第三应用窗口408。在示例中,第三应用窗口408可以为软输入键盘应用提供命令控制。例如,第三应用窗口408可以提供包括但不限于以下各项的命令控制:改变软输入键盘应用的尺寸或状态(例如,最小化、最大化、关闭、增大视图/图标、减小视图/图标),应用窗口上的包括用于在应用窗口内的内容之间进行导航的命令控制的命令控制,用于切换软输入键盘的显示的命令控制,以及用于选择和取消选择内容的命令控制等。在示例中,第三应用窗口408可以经由任何类型的输入(例如,触摸、设备、语音命令)可滚动(例如,水平或垂直可滚动)。在其他示例中,尽管对其他应用窗口中的内容进行了更新,但第三应用窗口408可以是固定的并且均匀地呈现相同的用户界面特征。第三应用窗口408促进软输入键盘应用的组件之间的交互(例如第一应用窗口404和第二应用窗口406以及检测到的前台应用)。
图4B-图4H示出了可以用来实践本公开内容的方面的示例性处理设备视图,所述视图突出显示了示例性软输入键盘应用的示例性用户界面元素。图4B-图4H示出了可以在应用窗口(如针对图4A描述和示出的第一应用窗口404)中提供的示例性用户界面元素。
图4B示出了突出显示对示例性第一应用窗口404中的用户界面元素412的选择的示例性处理设备视图410。用户界面元素412是历史服务/剪贴板服务/应用的快捷方式。与用户界面元素412相关联的服务可以用于数据存储(例如,短期或长期数据存储),并且可以被配置用于在诸如软输入键盘应用和前台应用之类的应用之间传输数据。在示例中,数据或内容可以从软输入键盘应用外部的一个或多个服务接收,并被存储以供用户插入/操纵。用户还可以从前台应用内选择内容并使用用户界面元素412/414来存储数据/内容以供稍后在前台应用或诸如第二前台应用之类的另一个应用中使用。对用户界面元素412中的内容和存储的选择可以通过诸如单击、点击/拖/放、滑动、轻扫等的动作而变得更简单。
处理设备视图410示出了对第一应用窗口404中的用户界面元素412的选择。响应于对用户界面元素412的选择,可以更新第二应用窗口406的显示以显示剪贴板服务414和/或与剪贴板服务414相关的内容。作为示例,对用户界面元素412的选择使得利用剪贴板服务414来替换软输入键盘的显示。在示例中,软输入键盘应用被配置为以各种方式接收输入。例如,软输入键盘应用可以识别不同类型的输入,例如,可以将诸如轻敲图标/用户界面元素之类的动作与按压/保持操作区分开。在其他示例中,可以使用与所接收的输入相关联的力(例如,施加的压力、所接收的话语的语调等)来确定预期的动作。软输入键盘应用被编程为识别不同的输入并基于特定的识别出的输入采取不同的动作。作为示例,响应于按压/保持操作,可以启动应用/服务的多窗口视图。然而,本领域技术人员应当认识到:软输入键盘应用可以被编程或配置,其中,任何类型的接收的输入可以触发应用/服务的多窗口视图。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看剪贴板服务414的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示剪贴板服务414的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4C示出了突出显示对示例性第一应用窗口404中的用户界面元素422的选择的示例性处理设备视图420。用户界面元素422是位置/地图服务424的快捷方式。与用户界面元素422相关联的服务可以用于确定处理设备的位置、所确定的位置周围的地图区域,提供地理坐标和相关联的数据,查看其他地理位置/拓扑结构,提供方向等。例如,位置/地图服务424可以被编程和配置为:收集可以用于确定处理设备的确切位置的与位置数据有关的用户上下文信号。例如,与位置/地图服务424相关联的API可以被编程为被动地收集处理设备的位置数据(例如,信号数据)并且与其他信号数据相比较来对所收集的信号数据进行评估以确定处理设备的精确位置。在这样做时,位置/地图服务424可以准确地确定并输出用户可能位于的确切位置,例如在房屋的起居室或位置内的特定建筑物/公寓单元。注意,这样的信号数据的集合符合任何隐私法律以及用户所设置的偏好。位置/地图服务424可以在位置/地图服务424中显示与处理设备/用户的位置有关的数据,以使用户能够将这样的数据插入到前台应用中。在其他示例中,位置/地图服务424可以用于查找位置或地理信息(如地址、地名等),并将这样的数据插入到前台应用中。
处理设备视图420示出了对第一应用窗口404中的用户界面元素422的选择。响应于对用户界面元素422的选择,第二应用窗口406的显示可以更新以显示位置/地图服务424和/或与位置/地图服务424相关的内容。作为示例,对用户界面元素422的选择使得利用位置/地图服务424来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看位置/地图服务424的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示位置/地图服务424的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4D示出了突出显示对示例性第一应用窗口404中的用户界面元素432的选择的示例性处理设备视图430。用户界面元素432是日历/日程安排服务434的快捷方式。日历/日程安排服务434可以用于时间管理并提供对一个或多个用户/联系人等的日历的访问。在示例中,日历/日程安排服务434可以用于确定一个或多个用户或联系人(例如,与前台应用中检测到的线程相关联的用户)的可用性。日历/日程安排服务434可以用于访问和/或修改日历或日程表条目。在一个示例中,用户可以将输入录入到前台应用(如图4D中所示的SMS应用)中,其中,输入可以是“Steve,I am available to meet at...(史蒂夫,我可以在......见面)”。在该示例中,对用户界面元素432的选择可以提供对日历/日程安排服务434的访问,如第二应用窗口406中所示,其中,可以显示用户下次可用的空闲时间以供选择。在其他示例中,软输入键盘应用可以为录入到前台应用中的输入提供上下文自动完成。例如,用户可以将上面的示例性输入修改为类似“史蒂夫,我可以在[下一个空闲时间]见面”的输入。在该示例中,软输入键盘应用被配置为执行诸如下列各项之类的处理操作:检测与所接收的输入相关联的上下文,确定要调用的适当服务(例如,日历应用),向服务提供信号数据以使服务能够完成请求,以及插入从服务取回的结果数据以完成用户请求。在以上示例中,软输入键盘应用被配置为识别诸如“[下一个空闲时间]”之类的触发并确定与该触发相关联的上下文。可以由软输入键盘应用来调用日历/日程安排服务434以识别用户可以见面的下一个可用空闲时间。当软输入键盘应用接收到下一个可用空闲时间的数据时,软输入键盘应用可以在前台应用(例如,SMS应用)中插入这样的数据。例如,用户可以在第二应用窗口406中查看和/或修改日历/日程安排服务434中的条目。
处理设备视图430示出了对第一应用窗口404中的用户界面元素432的选择。响应于对用户界面元素432的选择,第二应用窗口406的显示可以更新以显示日历/日程安排服务434和/或与日历/日程安排服务434相关的内容。作为示例,对用户界面元素432的选择使得利用日历/日程安排服务434来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看日历/日程安排服务434的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示日历/日程安排服务434的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4E示出了突出显示对示例性第一应用窗口404中的用户界面元素442的选择的示例性处理设备视图440。用户界面元素442是搜索服务444的快捷方式。与用户界面元素442相关联的服务可以是搜索服务444。搜索服务444可以用于接收查询、处理查询和评估搜索结果数据,并将搜索结果数据返回到软输入键盘应用。在一个示例中,搜索服务444可以是通过分布式网络与软输入键盘应用对接的网页搜索引擎。软输入键盘应用可以评估与前台应用中(或软输入键盘应用内)的接收的输入相关联的上下文,并将输入连同用于评估上下文的信号一起发送以从搜索服务444取回结果数据。作为示例,可以基于软输入键盘应用对上下文的评估来返回接收的输入(查询)的结果以及建议的和/或推荐的内容/结果数据。包括一个或多个结果的结果数据可以返回到软输入键盘应用并显示在包括第一应用窗口404和第二应用窗口406的应用窗口中的一个或多个应用窗口中。
处理设备视图440示出了对第一应用窗口404中的用户界面元素442的选择。响应于对用户界面元素442的选择,第二应用窗口406的显示可以更新以显示搜索服务444和/或与搜索服务444相关的内容。作为示例,对用户界面元素442的选择使得利用搜索服务444来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看搜索服务444的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示搜索服务444的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4F示出了突出显示对示例性第一应用窗口404中的用户界面元素452的选择的示例性处理设备视图450。用户界面元素452是翻译服务454的快捷方式。翻译服务454可以用于评估和翻译到前台应用的输入和/或由软输入键盘应用显示/取回的内容。翻译服务454可以是用于将任何上下文(包括但不限于:文本、语音、图像、实时视频、文档)翻译成各种语言等的多语言统计机器翻译服务。作为示例,例如,用户可以将输入录入到前台应用的应用画布中,并且可以调用翻译服务454将输入翻译成另一种语言。
处理设备视图450示出了对第一应用窗口404中的用户界面元素452的选择。响应于对用户界面元素452的选择,第二应用窗口406的显示可以更新以显示翻译服务454和/或与翻译服务454相关的内容。作为示例,对用户界面元素452的选择使得利用翻译服务454来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看翻译服务454的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示翻译服务454的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4G示出了突出显示对示例性第一应用窗口404中的用户界面元素462的选择的示例性处理设备视图460。用户界面元素462是懒惰打字员服务(lazy typer service)464的快捷方式。懒惰打字员服务464可以用于转换或操纵较长版本的单词/短语/命令输入中录入的速记或缩写。作为示例,用户可以录入“NY”的缩写以表示“New York(纽约)”而不是键入单词“New York”。在另一个示例中,用户可能希望录入速记/缩写(LOL)用于短语“laugh out loud(大声笑)”。懒惰打字员服务464可以用于检测这样的缩写并为用户提供/完成缩写。例如,如果用户键入“NY”,则评估前台应用中的线程的软输入键盘应用可以调用懒惰打字员服务464以提供自动完成选项或建议/推荐以在前台应用的输入字段中进行输入。用户还可以通过对用户界面元素462的选择来手动调用懒惰打字员服务464,所述用户界面元素462在第二应用窗口406中显示懒惰打字员服务464。用户可以使用懒惰打字员服务464将缩写词等录入到前台应用的输入字段中。在一些示例中,懒惰打字员服务464可以根据用户偏好以编程的方式更新。例如,可以应用处理操作来确定最常用的缩写并且为用户优先显示它们。懒惰打字员服务464可以包括数千个缩写,并且动态地更新库以基于用户偏好、使用情况(例如,缩写的类型可以根据人和/或语言而不同)等来确定这些缩写的优先级。在示例中,懒惰打字员服务464还可以是可搜索的,以供用户识别、标记和使用缩写等。
处理设备视图460示出了对第一应用窗口404中的用户界面元素462的选择。响应于对用户界面元素462的选择,第二应用窗口406的显示可以更新以显示懒惰打字员服务464和/或与懒惰打字员服务464相关的内容。作为示例,对用户界面元素462的选择使得利用懒惰打字员服务464来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看懒惰打字员服务464的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示懒惰打字员服务464的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图4H示出了突出显示对示例性第一应用窗口404中的用户界面元素472的选择的示例性处理设备视图470。用户界面元素472是链接服务474的快捷方式。链接服务474可以用于识别可以与接收的输入相关联的内容,或者替代地识别用户也可以连接的另外的资源、应用、服务。在示例中,链接服务474还可以是可搜索的,以供用户搜索和评估文档、文件、应用/服务等。在一些示例中,当用户选择/突出显示/悬停在链接服务474的显示内的项目/元素上时,可以为用户显示关于文档的概要细节。作为示例,在前台中接收的输入可以是“lemurs weight 10lbs(狐猴体重10磅)”,其中对用户界面元素472的选择触发第二应用窗口406中的链接服务474的显示。在该示例中,如果用户悬停在显示的项目/文档/文件上,则可以为用户显示指示文档的相关性的上下文。在其他示例中,链接服务474可以用于标识要向其发送数据的其他应用/服务。在传输内容的先前示例中,用户将必须选择接收的输入的一部分,复制它,定位并打开另一个应用,并将该输入粘贴到该应用中。链接服务474通过呈现用户可以向其发送内容的可搜索的应用/服务列表来提供技术优势。作为示例,对链接服务474中的服务的选择(例如,通过用户界面元素)可以自动发起向所选择的应用/服务的数据传输。在上面的示例中,可以将“lemurs weight 10lbs(狐猴体重10磅)”的输入(其包括在给联系人“Steve”的SMS线程中)添加到演示文档、与另一个用户的对话(例如,“与John的对话”)、待办事项列表等。
处理设备视图470示出了对第一应用窗口404中的用户界面元素472的选择。响应于对用户界面元素472的选择,第二应用窗口406的显示可以更新以显示链接服务474和/或与链接服务474相关的内容。作为示例,对用户界面元素472的选择使得利用链接服务474来替换软输入键盘的显示。在示例中,用户可以滚动第二应用窗口406(例如,垂直或水平地)以查看链接服务474的内容。在一些示例中,用户可以轻扫以改变第二应用命令控制窗口406内的内容的显示。例如,可以通过轻扫来显示链接服务474的内容的不同页面。可以通过从诸如第一应用窗口404和第三应用窗口408(在图4A中描述)之类的其他应用窗口中的一个应用窗口中选择用户界面元素来进一步更新第二应用窗口406。
图5-图12示出了可以用来实践本公开内容的方面的示例性处理设备视图,所述视图突出显示了应用与软输入键盘应用之间的交互。图5-12突出显示了软输入键盘应用与上文图4A-图4H中所引用的至少一个前台应用之间的交互。
图5示出了处理设备视图502-506,其突出显示了前台应用与和多个服务对接的软输入键盘应用之间的交互。处理设备视图502示出了执行前台应用(例如,SMS应用程序)和执行软输入键盘应用的显示。在处理设备视图504中,“Senator of NY?(纽约的参议员?)”的输入被录入到前台应用的输入字段中。示例性软输入键盘应用检测并评估与前台应用中的输入相关联的上下文。软输入键盘应用可以确定要联系的应用/服务以取回针对所接收的输入的结果数据。作为示例,软输入键盘应用可以应用处理操作来评估输入的上下文,并确定搜索服务最适合于返回针对前台应用中的用户输入的结果。作为响应,软输入键盘应用可以将数据发送到应用/服务以取回结果数据。从服务返回的结果数据可以被提供给软输入键盘应用。软输入键盘应用可以更新应用窗口的显示(例如,图4A-图4H中示出和描述的第一应用窗口404)以示出从服务(如搜索服务)取回的结果数据。处理设备视图504示出了第一应用窗口中的结果数据“Chuck Schumer and Kirsten Gill...(Chuck Schumer和Kirsten Gill……)”。处理设备视图506示出了用户从软输入键盘应用的应用窗口中选择结果数据的结果。如处理设备视图506所示,将“Chuck Schumer and Kirsten Gill(ChuckSchumer和Kirsten Gill)”的结果数据插入到前台应用的输入字段中(替换“Senator ofNY(纽约的参议员)?”的原始查询。对软输入键盘应用内的内容的选择可以通过任何类型的动作发生,包括单击动作或拖动动作(触摸或设备输入),以及语音命令等。
图6示出了处理设备视图602-608,其突出显示了前台应用与和多个服务对接的软输入键盘应用之间的交互。在示例性处理设备视图602-608中,响应于向前台应用的输入,结果数据被返回并被显示在应用窗口(例如,图4A-图4H中描述的第一应用窗口404)中。处理设备视图602-608示出了示例性软输入键盘应用的可扩展性,其中,多个不同服务的结果可以与键盘应用对接,以便向在另一个应用(例如,前台应用)中接收的输入提供上下文相关的结果。
处理设备视图602示出了到前台应用(例如,SMS应用)中的输入的录入,其中,输入是“lemur doc(狐猴文档)”。软输入键盘应用可以检测到前台应用中的输入的录入并评估可能适合于满足与接收的输入相关联的用户意图的服务。在该示例中,软输入键盘应用可以使用链接服务(例如,图4H中描述的链接服务474)来取回结果数据,例如到名为“lemur.doc”的文档的链接。在示例中,用户可以选择将到“lemur.doc”的该文档的链接插入前台应用。在示例中,用户可能希望从在软输入键盘应用的应用窗口中显示的文档链接中选择不同的文档链接。在这样的示例中,用户可以使用软输入键盘的图形用户界面来导航到由链接服务提供的文档/应用/服务等的列表。
处理设备视图604示出了到前台应用(例如,SMS应用)中的输入的录入的一个示例,其中,输入为“Steve#”。软输入键盘应用可以检测到前台应用中的输入的录入并评估可能适合于满足与接收的输入相关联的用户意图的服务。在分析接收的输入的上下文时,软输入键盘应用可以被编程为检测诸如定界符之类的输入。定界符可以是软输入键盘应用进行特定命令处理的触发。可以预定义多个定界符以供在软输入键盘应用内使用,例如,其中,软输入键盘应用识别多个不同的预定义定界符。此外,定界符可以是用户定义的(例如,通过重复的用户输入)或由诸如第三方服务之类的其他应用/服务定义的。例如,软输入键盘应用可扩展以与第三方服务对接以便识别第三方特定定界符。软输入键盘应用可以使用第三方特定定界符来触发第三方服务以取回结果。此外,软输入键盘应用的用户可以搜索定界符。
回到处理设备视图604中接收的输入“Steve#”,软输入键盘应用可以使用联系人服务/地址簿服务来取回结果数据(如与用户联系人列表或地址簿相关联的名为“Steve”的联系人的电话号码)。在示例中,用户可以选择将名为“Steve”的联系人的电话号码插入到前台应用中。在示例中,用户可能希望找到“Steve”的不同联系人号码,例如,在可以显示个人电话号码但用户正在搜索工作电话号码的情况下。在这样的示例中,用户可以使用软输入键盘的图形用户界面来通过软输入键盘应用导航到联系人/地址簿服务。
处理设备视图606示出了到前台应用(例如,SMS应用)中的输入的录入,其中,输入为“pasta for dinner(晚餐的意大利面)”。软输入键盘应用可以检测在前台应用中接收的输入并返回结果(如餐馆(例如,意大利餐馆、食谱、购买食材的商店等))。在示例中,用户可能希望选择查看与在软输入键盘的第二应用窗口中提供的结果数据相关的更多信息。例如,用户可以选择内容的特定部分(如餐馆)或者滚动/轻扫在第二应用窗口中显示的不同结果数据内容。选择的内容可以由用户插入到前台应用的输入字段中。
处理设备视图608示出了上述上下文自动完成的示例。作为示例,用户可以录入“Iam at(我在)”的输入。软输入键盘应用可以检测该输入并使用处理操作来识别处理设备/用户所在的位置,例如“Building 36(建筑物36)”。用户可以选择在前台应用的输入字段中录入这样的内容。作为示例,这样的输入可以是用于接收方打开地图应用并且查看位置或位置的方向等的链接。用于上下文自动完成的其他示例性用例包括但不限于:我在[基于我的日程表我有空的时间]有空,现在的时间是[系统时间],我正在参加会议[当前会议信息],以及与你的距离是[从地图服务获取从我到你的距离&行程时间]等。
图7示出了处理设备视图702-704,其突出显示了前台应用与软输入键盘应用之间的交互。在处理设备视图702中,软输入键盘应用检测诸如“When was Eiffel Tower built(艾菲尔铁塔何时建成)?”之类的输入的录入。作为响应,软输入键盘应用评估所接收的输入,确定可以满足接收的输入的意图的服务,并与服务通信以获得结果数据。在该示例中,处理设备视图702示出了结果数据“1889”从搜索服务获得并被显示在软输入键盘应用的第一应用窗口(例如,图4A-图4H的第一应用窗口404)中。处理设备视图704示出了将结果数据从软输入键盘应用传输到前台应用的应用画布。响应于对软输入键盘应用中的结果数据的用户选择,软输入键盘应用将要显示的结果数据发送到前台应用。
图8示出了处理设备视图802-804,其突出显示了前台应用与软输入键盘应用之间的交互。如处理设备视图802中所示,用户可以将“Italian(意大利的)”的输入录入到前台应用的输入字段中。作为响应,软输入键盘应用可以以编程方式检测录入了输入,识别服务以返回结果数据,获得并在软输入键盘应用的应用窗口中显示结果数据。如处理设备视图804所示,用户可以选择查看由诸如搜索服务之类的服务提供的另外的信息,由此选择用户界面元素(例如,“...”)触发更新以显示软输入键盘应用的第二应用窗口。如处理设备视图804所示,结果数据/内容替换先前在第二应用窗口中显示的软输入键盘的显示(如处理设备视图802中所示)。
图9示出了处理设备视图902-906,其突出显示了前台应用与软输入键盘应用之间的交互。处理设备视图902示出了定界符命令(例如,#)向前台应用的应用画布的录入。软输入键盘应用可以检测定界符命令的录入,评估和处理定界符命令以及与定界符命令相关联的上下文。也就是说,定界符命令可以充当软输入键盘应用进行特定类型处理的触发。作为一个示例,响应于检测到诸如“#”的定界符命令,软输入键盘应用可以启动显示与录入的输入相关联的文档列表(例如,录入的定界符命令之后的字符、文字、短语)的服务。文档存储库服务或列表服务可以提供可以本地存储以及通过分布式网络或第三方服务存储的文档、文件等的列表。例如,可以显示与输入“le”相关联的文档列表。在示例中,列表可以被显示在软输入键盘应用窗口内,或者作为临时显示在前台应用的应用画布上的弹出窗口。然而,本领域技术人员应当认识到,可以使用其他用户界面效果来显示文档列表服务或任何内容列表。如处理设备视图904所示,选择到最近的“Lemurs research.docx”文档的链接。响应于对如处理设备视图904中所示的链接的选择,可以将文档链接插入到前台应用的应用画布中,如处理设备视图906中所示。
图10示出了处理设备视图1002-1006,其突出显示了前台应用与软输入键盘应用之间的交互。与图9中所示的过程流类似,图10突出显示了通过软输入键盘应用识别联系人列表以及在前台应用的应用画布内插入联系人。处理设备视图1002示出了另一个定界符命令(例如,@)向前台应用的应用画布的录入。响应于检测到诸如“@”之类的定界符命令,软输入键盘应用可以启动显示可能与录入的输入相关的联系人的列表(例如,录入的定界符命令之后的字符、文字、短语)的服务。例如,可以显示与“This is the number for di(这是di的数量)”的输入相对应的联系人列表。在示例中,列表可以被显示在软输入键盘应用窗口内,或者作为临时显示在前台应用的应用画布上的弹出窗口。然而,本领域技术人员应当认识到,可以使用其他用户界面效果来显示文档列表服务或任何内容列表。如处理设备视图1004所示,显示到联系人/协作者的链接,并选择联系人号码“Diana Kv”。响应于对如处理设备视图1004中所示的联系人号码的选择,可以将所选择的联系人的联系人号码插入到前台应用的应用画布中,如处理设备视图1006所示,提供用户的部分输入的完成。
图11示出了处理设备视图1100,其突出显示了前台应用与软输入键盘应用之间的交互。处理设备视图1100突出显示了使用翻译服务(如图4F中描述的翻译服务454)的能力。如处理设备视图1100中所示,输入1102可以被录入到前台应用的应用画布的输入字段中。可以用任何语言来接收输入。作为示例,输入1102用韩语显示。响应于对接收的输入的检测或者替代地对用于翻译服务的用户界面元素的选择,可以更新软输入键盘应用的应用窗口1104以显示用于翻译所接收的输入的选项,例如基于对前台应用中线程的评估、用户偏好、建议/推荐等。
图12示出了处理设备视图1200,其突出显示了前台应用与软输入键盘应用之间的交互。处理设备视图1200示出了上述上下文自动完成的示例。处理设备视图1200突出显示了另一个定界符命令的使用以提供上下文来帮助软输入键盘应用识别最合适的资源取回。作为示例,用户可以在输入字段中录入“我在”的输入1202,其包括“[位置]”的上下文定界符。软输入键盘应用可以检测该输入并使用处理操作来识别处理设备/用户所在的位置,例如“城市中心”。作为示例,软输入键盘应用的应用窗口1204可以更新以显示位置内容,例如指示当前位置的地图数据等。用户可以选择在前台应用的输入字段(如SMS应用的输入字段)中录入这样的内容。作为示例,这样的输入可以是用于接收方打开地图应用并且查看位置或位置的方向等的链接。
图13示出了可在可以在其上实践本公开内容的方面的一个或多个计算设备上实现的示例性系统1300。所呈现的示例性系统1300是相互依赖的组件的组合,其相互作用以基于用户示例性操作形成用于习得的程序生成的集成整体。系统1300的组件可以是在系统1300的硬件组件上实现和/或由系统1300的硬件组件执行的硬件组件或软件。在示例中,系统1300可以包括任何硬件组件(例如,ASIC、用于执行/运行OS的其他设备),以及在硬件上运行的软件组件(例如,应用、应用编程接口、模块、虚拟机、运行时库等)。在一个示例中,示例性系统1300可以提供用于软件组件运行的环境,遵守为操作设置的约束,并且利用系统/处理设备的资源或设施,其中,组件可以是在一个或多个处理设备上运行的软件(例如,应用、程序、模块等)。例如,软件(例如,应用、操作指令、模块等)可以在诸如计算机、移动设备(例如,智能电话/电话、平板电脑)的处理设备和/或任何其他电子设备上运行。作为处理设备操作环境的示例,参考图1-图3的操作环境。在其他示例中,本文中公开的系统的组件可以跨多个设备散布。例如,可以在客户端设备(例如,处理设备)上录入输入,并且可以从网络中的诸如一个或多个服务器设备之类的其他设备处理或访问信息。
本领域技术人员将领会:诸如系统1300之类的系统的规模可以变化,并且可以包括比图13中描述的组件更多或更少的组件。在一些示例中,系统1300的组件之间的对接可以远程发生,例如,在系统1300的组件可以跨分布式网络的一个或多个设备散布的情况下。在示例中,一个或多个数据存储设备/存储装置或其他存储器与系统1300相关联。例如,系统1300的组件可以具有与其相关联的一个或多个数据存储装置/存储器/存储设备。与系统1300的组件相关联的数据以及由系统1300的组件执行的处理操作/指令可以存储在其上。系统1300的组件可以与处理设备的OS对接,执行与启动和执行软输入键盘应用相关的处理操作。系统1300的一个或多个组件可以用于提供示例性软输入键盘应用作为可以由一个或多个入口点访问的服务。入口点是用于与应用或服务(如软输入键盘应用)进行通信的入口点或平台。在示例中,入口点可以包括但不限于:包括搜索应用的任何应用/服务、智能个人助理应用、第一方产品/服务、第二方产品/服务以及第三方产品/服务等。
此外,系统1300的组件具有处理单元,并且可以被配置为处理任何类型的输入,包括但不限于语音/声音输入、文本输入、手势输入、手写输入等。系统1300可以是可扩展的和可配置的,以便在各种处理设备上操作,这些处理设备包括但不限于:桌面式计算机、膝上型计算机,诸如电话、平板电脑、平板、可穿戴处理设备(例如,手表、眼镜、耳机)之类的移动处理设备、车辆处理设备,以及具有至少一个处理器的任何其他设备等。示例性系统1300包括软输入键盘应用组件1306,其包括用户界面组件1308、输入识别组件1310和键盘组件1312,其中,每个识别的组件可包括一个或多个另外的组件。
系统1300还可以包括一个或多个存储装置1314,其可以存储与系统1300的一个或多个组件的操作相关联的数据。存储装置1314是任何物理或虚拟存储器空间。存储装置1314可以存储用于处理由系统1300的组件执行的操作的任何数据、来自处理操作的保留数据、训练数据、用于执行处理操作的建模数据,以及知识数据等。此外,在示例中,系统1300的组件可以在系统1300的组件的处理中使用知识数据。知识数据是系统1300的组件可用于改进软输入键盘应用组件1306中的任何组件的处理的任何数据,其中,知识数据可以从系统1300内部或外部的资源获得。在示例中,知识数据可以被保存在存储装置1314中,或者通过知识获取操作从系统1300外部的一个或多个资源取回。作为示例,可以由示例性软输入键盘应用访问的服务可以被认为是可以本地存储或通过分布式网络访问的知识数据。
在图13中,处理设备1302可以是包括至少一个处理器和至少一个存储器/存储装置的任何设备。处理设备1302的示例可以包括但不限于:诸如桌面式计算机、服务器、电话、平板电脑、平板手机、平板、笔记本电脑、手表之类的处理设备,以及诸如具有一个或多个处理器或电路的设备之类的任何其他电子组件的集合。在一个示例中,处理设备1302可以是正在运行作为前台应用和示例性软输入键盘应用的应用/服务的用户的设备。在示例中,处理设备1302可以经由网络1304与软输入键盘应用组件1306通信。在一个方面中,网络1304是分布式计算网络,例如互联网。
软输入键盘应用组件1306是用于启动和管理软输入键盘应用的组件的集合。软输入键盘应用组件1306可以包括用户界面组件1308、输入识别组件1310和键盘组件1312。在替代示例中,可以创建一个或多个另外的组件以管理贯穿本公开内容描述的操作。软输入键盘应用组件1306可以被存储在一个或多个处理设备(例如,客户端设备)上,或者对软输入键盘应用组件1306中的一个或多个组件的访问可以是分布的,例如通过分布式网络。
用户界面组件1308是被配置为实现与和应用或服务相关联的应用或服务的用户的交互的一个或多个组件。通过用户界面组件1308将透明度和组织带给这样的应用程序/服务的用户,其中,用户可以通过用户界面元素与应用交互。作为示例,用户界面组件1308可以包括在处理设备的显示器上的一个或多个用户界面元素的生成和显示。例如,响应于将输入录入到设备中的用户动作,用户界面组件1308可以接收并处理该请求并发起动作以显示用于将输入录入到与应用/服务正在其上执行的处理设备相关联的应用/服务的提示。用户界面组件1308还可以充当前端,用于由其他软输入键盘应用组件1306执行的后端处理的显示(例如,图形用户界面)。在示例中,用户界面定义文件可以用于定义用于促进用户和系统/服务之间的交互的用户界面元素。用户界面定义文件可以包括用于管理和显示与用户界面组件1308相关联的用户界面元素的编程指令或操作。
输入识别组件1310是系统1300的组件,其接收、处理和标记接收的输入以供识别。输入识别组件1310是用于对所接收的输入进行处理的组件。当例如经由用户界面组件1308接收到输入时,输入被发送到输入识别组件1310以进行处理。作为上述示例,由输入识别组件1310处理的输入包括但不限于语音/声音输入(例如,话语)、文本输入、手势输入和手写输入等。在一个示例中,接收的输入可以是查询或搜索查询,其中,用户将数据录入到提示中并期望从采用软输入键盘应用的系统/服务接收结果数据。
在示例中,输入识别组件1310可以被配置为执行处理操作,所述处理操作利用软输入键盘应用和/或服务可以用来评估以供进一步处理的数据来评估和标记/标注接收的输入(例如)查询。作为示例,由输入识别组件1310评估的信号可以包括用户上下文信号。用户上下文信号是可以用于采集可用于评估接收的查询/查询数据的信息的任何类型的信号数据。用户上下文信号(或者替代地基于用户上下文的查询级别信号)的示例考虑用户、用户位置、用户语言数据、用户设备的形状因子、时间数据、入口点数据(例如,通过其录入了输入的应用)以及作为上下文的个性化等。获得这样的各种信号数据组可以提供技术益处,例如,系统/服务能够更好地排序并返回对用户最有用的结果。可以收集和评估的示例性用户上下文信号数据可以包括但不限于:
用户数据:标识发起了输入的用户的任何数据。用户数据还可以包括用户位置数据,例如当发出输入/查询时用户的纬度和经度。
语言数据:指示与用户相关联的语言的数据,例如OS、应用等的语言,或者用于取回结果数据的优选语言等。
位置数据:可以用于从输入/查询中标识任何位置数据的数据。
形状因子数据:标识与输入或应用或系统相关联的设备类型的数据。作为示例,这样的数据可以是重要的,因为输入的意图可能基于在其上发起查询的设备(例如,桌面式与移动的)或者获得特定形式/格式(例如,应用/服务的移动版本)的结果数据的用户意图/希望而非常不同。
入口点数据:指示发出了输入/查询的系统/应用程序/服务的数据。例如,入口点数据是识别是否从搜索应用、智能个人助理、文字处理应用、日历应用等发起查询的信号数据。
应用执行数据:指示正在处理设备/系统上执行的应用的数据。可以包括指示对一个或多个前台应用以及可能正在处理设备/系统上执行/运行的其他应用的检测的数据。
时间数据:提供与接收的输入/查询相关联的时间维度的数据。例如,时间戳数据可以用于评估结果数据与接收的输入的意图的相关性。
个性化/上下文数据:诸如设备或应用(例如,浏览器、搜索引擎等)的用户的位置和/或语言偏好设置之类的数据。还可以针对用户的先前查询、其他线程、线程中涉及的用户、其他执行的应用/服务、域类型、偏好等来考虑用户的上下文数据。
在示例中,输入识别组件1310可以获取针对用户上下文信号的数据以及标注输入/查询数据。可以将带标注的数据传递到系统1300的其他组件(如键盘组件1312)以供进一步处理。用于收集这样的用户上下文信号数据的处理操作可以是本领域技术人员已知的。在示例中,这样的处理操作可以包括一个或多个计算机可执行指令/编程操作、应用编程接口(API)、机器学习处理,以及可以提取和标注用户上下文信号数据的任何其他类型的编程应用或服务。本领域技术人员还应认识到:在遵守保护用户的隐私法律的同时,收集用于评估诸如用户上下文信号之类的输入/查询信号数据的数据。
键盘组件1312是被配置为启动、执行和管理软输入键盘应用的显示的组件。在示例中,键盘组件1312可以与一个或多个存储装置(1314)对接,以管理和以编程方式更新在处理设备上执行的软输入键盘应用的显示。在示例中,键盘组件1312可以被配置为提供贯穿本公开内容描述的功能,包括图4A-图12和图14A-图16中描述的功能。作为示例,键盘组件1312可以执行处理操作,这些处理操作包括但不限于:对前台应用的检测,对前台应用或软输入键盘应用中的录入的输入的检测,对与输入相关联的上下文的评估,对要与之对接以获得结果数据的一个或多个服务的确定,包括第三方服务的服务与软输入键盘应用的集成和可扩展性,对软输入键盘应用的显示和布局的用户界面元素管理,对建议/推荐的内容的提供,以及对与软输入键盘应用相关联的模型的训练和更新等。在示例中,软输入键盘应用可以连续更新以便改善和定制与软输入键盘应用的用户体验。训练数据的连续调整和更新可以发生,调试操作可以被执行,度量和遥测分析(包括采用分析工具、采样、测试操作、飞行操作等)可以被执行,以改善软输入键盘的处理和性能。在示例中,所收集的训练数据(如查询点击数据和/或点击图、用户反馈、开发者测试数据等)可以被收集并被用于通过键盘组件1312来管理软输入键盘应用的更新。
图14A-图14E示出了可以用来实践本公开内容的方面的涉及与示例性软输入键盘应用的交互的示例性方法。
图14A示出了用于示例性软输入键盘应用内的输入检测的示例性方法1400。作为示例,方法1400可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1400可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1400不限于这些示例。在至少一个示例中,方法1400可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1400中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1400可以在操作1402处开始,在该操作处,软输入键盘应用被显示。在示例中,操作1402可以包括显示多窗口软输入键盘应用。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在示例中,操作1402可以包括:与至少一个前台应用同时显示软输入键盘应用。所显示的软输入键盘应用可以与前台应用对接,包括:检测在前台应用中接收的输入以及内容向前台应用的传输。
流程可以进行到操作1404,在该操作处,在软输入键盘应用的第一应用窗口中接收对用户界面元素的选择。作为示例,第一应用窗口可以是在图4A-图4H的描述中以及在说明书的其他部分中描述的第一应用窗口404。对用户界面元素的选择可以包括集成在软输入键盘应用内的服务的快捷方式的选择。
流程可以进行到操作1406,在该操作处,响应于对第一应用窗口中用户界面元素的选择来更新软输入键盘应用的第二应用窗口。作为示例,第二应用窗口可以是在图4A-图4H的描述中以及在说明书的其他部分中描述的第二应用窗口406。对第二应用窗口的显示的更新可以包括:利用与第一应用窗口中的用户界面元素的选择相关联的内容来替换软输入键盘的显示。作为示例,可以在第二应用窗口中显示与对第一应用窗口中的选择相关联的一个或多个另外的用户界面元素。在其他示例中,可以响应于对第一应用窗口中的用户界面元素的选择,从与第二应用窗口中的软输入键盘应用集成的一个或多个服务取回内容。
流程可以进行到决策操作1408,在该操作处,确定是否在软输入键盘应用中进行了另一个选择。如果是,则流程分支为“是”并返回到处理操作1404以进行进一步处理。如果不是,则方法1400结束或软输入键盘保持空闲直到检测到进一步输入。
图14B示出了用于示例性软输入键盘应用内的输入检测的示例性方法1420。作为示例,方法1420可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1420可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1420不限于这些示例。在至少一个示例中,方法1420可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1420中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1420可以在操作1422处开始,在该操作处,软输入键盘应用被显示。在示例中,操作1422可以包括显示多窗口软输入键盘应用。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在示例中,操作1422可以包括:与至少一个前台应用同时显示软输入键盘应用。所显示的软输入键盘应用可以与前台应用对接,包括:检测在前台应用中接收的输入以及内容向前台应用的传输。
流程可以进行到操作1424,在该操作处,在软输入键盘应用的第三应用窗口中接收选择。作为示例,第三应用窗口可以是在图4A-图4H的描述中以及在说明书的其他部分中描述的第三应用窗口408。对第三应用窗口内的用户界面元素的选择可以触发用于软输入键盘应用内的命令控制的动作。
流程可以进行到操作1426,在该操作处,基于对第三应用窗口内的用户界面元素的选择来更新软输入键盘应用的显示。例如,第三应用窗口408可以提供包括但不限于以下各项的命令控制:改变软输入键盘应用的尺寸或状态(例如,最小化、最大化、关闭、增大视图/图标、减小视图/图标),应用窗口上的包括用于在应用窗口内的内容之间进行导航的命令控制的命令控制,用于切换软输入键盘的显示的命令控制,以及用于选择和取消选择内容的命令控制等。作为示例,可以基于该选择来更新第二应用窗口。对第二应用窗口的显示的更新可以包括:例如响应于对用于切换软输入键盘的显示的用户界面元素的选择,利用软输入键盘的显示来替换。
流程可以进行到决策操作1428,在该操作处,确定是否在软输入键盘应用中进行了另一个选择。如果是,则流程分支为“是”并返回到处理操作1426以进行进一步处理。如果不是,则方法1420结束或软输入键盘保持空闲直到检测到进一步输入。
图14C示出了用于示例性软输入键盘应用内的输入检测的示例性方法1440。作为示例,方法1440可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1440可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1440不限于这些示例。在至少一个示例中,方法1440可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1440中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1440可以在操作1442处开始,在该操作处,软输入键盘应用被显示。在示例中,操作1442可以包括显示多窗口软输入键盘应用。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在示例中,操作1442可以包括:与至少一个前台应用同时显示软输入键盘应用。所显示的软输入键盘应用可以与前台应用对接,包括:检测在前台应用中接收的输入以及内容向前台应用的传输。
流程可以继续检测(操作1444)前台应用中的线程。作为示例,前台应用可以与软输入键盘应用的显示同时执行。
在方法1440的一个示例中,流程可以进行到操作1446,在该操作处,在软输入键盘应用的窗口中接收对用户界面元素的选择。在一个示例中,用户可能希望使用软输入键盘应用内的一个或多个服务来将从服务取回的结果数据集成到前台应用中。例如,用户可能希望获得关于区域中的餐馆的数据以完成今晚“让我们在__吃晚餐”的输入。作为响应,软输入键盘应用的显示被更新(操作1448)。作为示例,可以更新(例如,在第二应用窗口中)软输入键盘应用的显示、对与标识餐馆或其他吃饭的场所相关联的服务的选择以示出餐馆。在替代示例中,与餐馆相关联的服务可以标识用户选择以查找该区域中的餐馆的不同应用。这样,对这些应用中的一个应用的选择可以触发对启动所选择的应用的应用窗口的显示的进一步更新。流程可以继续接收(操作1450)对软输入键盘应用的第二窗口内的选择。作为响应,可以将内容从软输入键盘应用插入(操作1452)到检测到的前台应用中。作为示例,操作1452可以包括将所选择的内容从软输入键盘应用发送到前台应用。
在方法1440的另一个示例中,流程可以从操作1444进行到操作1454,在该操作处,软输入键盘应用的第一应用窗口的显示被更新。也就是说,软输入键盘应用可以基于对前台应用和录入到前台应用的输入的检测来动态更新,而无需用户选择软输入键盘应用的用户界面元素。在操作1454中,可以利用从与软输入键盘应用集成的一个或多个服务取回的内容来更新第一应用程序窗口的显示。响应于取回的内容(例如,接收的输入/查询的结果数据)的显示,流程可以进行到操作1456,在该操作处,在软输入键盘应用的第一应用程序窗口内接收对内容的选择。响应于该选择(操作1456),流程可以进行到操作1458,在该操作处,将所选择的内容从软输入键盘应用发送到前台应用。流程可以进行到操作1460,在该操作处,在前台应用内(例如,在输入字段、线程、多个线程等中)显示内容。
图14D示出了用于示例性软输入键盘应用内的输入检测的示例性方法1470。作为示例,方法1470可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1470可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1470不限于这些示例。在至少一个示例中,方法1470可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1470中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1470可以在操作1472处开始,在该操作处,软输入键盘应用被显示。在示例中,操作1472可以包括显示多窗口软输入键盘应用。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在示例中,操作1472可以包括:与至少一个前台应用同时显示软输入键盘应用。所显示的软输入键盘应用可以与前台应用对接,包括:检测在前台应用中接收的输入以及内容向前台应用的传输。
流程可以进行到操作1474,在该操作处,在前台应用中检测到一个或多个当前线程。在先前的示例中已经详细描述了对前台应用内的线程的检测。流程可以继续使用软输入键盘应用来评估(操作1476)当前线程的上下文。作为示例,操作1476可以包括评估录入到前台应用中的输入,例如通过处理操作(例如,API、机器学习处理等)来识别与录入的输入相关联的上下文模式。操作1476还可以包括对所接收的输入内的定界符命令的录入的检测,例如,其可以触发特定服务以完成输入。操作1476还可以包括评估上下文信号(例如,图13以及本公开内容的其他部分中描述的用户上下文信号)以便最佳地确定可以满足接收的输入的意图的服务以及提供服务的上下文以评估该输入。流程可以进行到操作1478,在该操作处,执行上下文自动完成操作以将内容(经由自动完成)插入到前台应用和软输入键盘应用中的至少一个应用中。例如,由软输入键盘应用进行的处理操作可以将内容直接插入到前台应用中。或者,可以在软输入键盘应用中提供内容以供用户进一步评估内容、另外的建议等。流程可以进行到决策操作1480,在该操作处,确定当前线程是否被进一步更新。如果是,则流程分支为“是”并返回到处理操作1474以进行进一步处理。如果不是,则方法1480结束或软输入键盘保持空闲直到检测到进一步输入。
图14E示出了用于示例性软输入键盘应用内的输入检测的示例性方法1490。作为示例,方法1490可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1490可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1490不限于这些示例。在至少一个示例中,方法1490可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1490中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1490可以与对与软输入键盘应用相关联的定界符命令的检测相关联。在先前的示例中描述了定界符命令、检测和处理的示例。方法1490突出显示了与对检测到的定界符命令的处理相关联的用户界面交互。
方法1490可以在操作1492处开始,在该操作处,软输入键盘应用被显示。在示例中,操作1492可以包括显示多窗口软输入键盘应用。软输入键盘应用用于为一个或多个其他应用提供应用命令控制。软输入键盘应用可以包括显示软输入键盘应用的服务的两个或更多个用户界面元素的第一应用窗口。在示例中,第一应用窗口基于检测到的前台应用来进行显示/更新。用户界面元素可用于检测到的前台应用的应用命令控制。示例性软输入键盘应用还可以包括显示软输入键盘的第二应用窗口。第二应用窗口的显示可以更新,包括:基于对第一应用窗口的用户界面元素的选择来替换软输入键盘的显示。在示例中,操作1492可以包括:与至少一个前台应用同时显示软输入键盘应用。所显示的软输入键盘应用可以与前台应用对接,包括:检测在前台应用中接收的输入以及内容向前台应用的传输。
流程可以进行到操作1494,在该操作处,检测到定界符命令的插入。作为示例,操作1494可以在前台应用和软输入键盘应用中的至少一个应用中检测到定界符命令的录入。流程可以进行到操作1496,在该操作处,基于检测到的定界符命令来更新软输入键盘应用的显示。作为示例,可以基于对接收到的输入的评估来更新软输入键盘应用(操作1496)以显示与定界符命令相关联的服务,或者在其他示例中,显示从与定界符命令相关联的服务取回的内容。流程可以进行到操作1498,在该操作处,可以基于由软输入键盘应用进行的对定界符命令和接收的输入的处理,将内容插入到前台应用中。
图15是可以用来实践本公开内容的方面的用于与一个或多个前台应用交互的示例性方法1500。作为示例,方法1500可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1500可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1500不限于这些示例。在至少一个示例中,方法1500可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1500中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1500突出显示了对前台应用的检测和对前台应用的变化的检测,例如,在另一个应用被启动或检测为当前前台应用的情况下。作为示例,方法1500可以由单个处理设备(如客户端设备)执行。方法1500的流程开始于操作1502,在该操作处,前台应用被显示或启动。流程可以继续检测(操作1504)到可以与前台应用一起执行的软输入键盘应用的输入。或者,操作1504可以包括在前台应用中接收的检测输入。与所接收的输入相关联的数据可以被中继(操作1506)到与软输入键盘应用相关联的一个或多个服务。结果数据可以从一个或多个服务检索,并在前台应用和软输入键盘应用中的至少一个应用中被显示(操作1508)。
流程可以进行到决策操作1510,在该操作处,确定是否检测到了前台应用的变化。确定(操作1510)可以识别前台应用的变化,例如,在另一个应用被启动或检测为当前前台应用的情况下。响应于检测到前台应用的变化,流程分支为“是”并进行到操作1512,在该操作处,软输入键盘应用的显示被更新。作为示例,操作1512可以包括:动态更新软输入键盘应用的用户界面元素的显示,以提供可能最适合于新检测到的前台应用的一个或多个用户界面元素。在一些示例中,可以显示诸如建议/推荐之类的内容。可以在操作1512中更新软输入键盘应用的一个或多个应用窗口的显示。流程可以返回到操作1504,等待在前台应用或软输入键盘应用中接收输入。如果未检测到前台应用的变化,则流程分支为“否”并返回到操作1504,等待在前台应用或软输入键盘应用中接收输入。
图16是可以用来实践本公开内容的方面的用于提供示例性软输入键盘应用作为服务的示例性方法1600。作为示例,方法1600可以由诸如图1-图3和图13中所示的示例性系统执行。在示例中,方法1600可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上执行。然而,方法1600不限于这些示例。在至少一个示例中,方法1600可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如,云服务))来执行(例如,计算机实现的操作)。在示例中,在方法1600中执行的操作可以与由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作相对应。
方法1600突出显示了被提供为分布式网络上的服务的软输入键盘应用。方法1600可以在操作1602处开始,在该操作处,软输入键盘应用被显示。如上所述,先前已经提供了软输入键盘应用的示例。流程可以进行到操作1604,在该操作处,在检测到的前台应用和软输入键盘应用中的至少一个应用中检测到输入的录入。流程可以进行到操作1606,在该操作处,用户上下文信号数据以及与接收的输入相关联的数据被传输到通过分布式网络连接的一个或多个处理设备。在图13的描述中提供了用户上下文信号数据的示例。与接收的输入相关联的数据可以包括录入到前台应用或软输入键盘应用中的文本或输入以及由软输入键盘应用基于对与接收的输入相关联的上下文的评估而提供的另外的评估信息。流程可以到操作1608,在该操作处,结果数据被显示在软输入键盘应用中。操作1608可以包括基于传输(操作1606)从一个或多个服务接收结果数据以及在软输入键盘应用中显示结果数据/内容。在一些示例中,来回交换可以发生,其中,在软输入键盘应用和取回结果数据的服务之间进行多次交换。
流程可以进行到决策操作1610,在该操作处,确定是否接收到后续输入。如果是,则流程分支为“是”并返回到处理操作1604以进行进一步处理。如果不是,则方法1600结束或软输入键盘保持空闲直到检测到进一步输入。
在整个说明书中已经提及“一个示例”或“示例”,意指具体描述的特征、结构或特性被包括在至少一个示例中。因此,这些短语的使用可以不仅仅指代一个示例。此外,在一个或多个示例中可以以任何合适的方式对所描述的特征、结构或特性进行组合。
然而,相关领域的技术人员可以认识到:可以在没有这些具体细节中的一个或多个具体细节的情况下,或者利用其他方法、资源、材料等来实践示例。在其他情况下,没有详细示出或描述公知的结构、资源或操作仅仅是注意到模糊实施例的方面。
虽然已经示出和描述了示例和应用,但应当理解的是:示例不限于上述精确配置和资源。在不脱离要求保护的示例的范围的前提下,可以在本文中公开的方法和系统的布置、操作和细节方面进行对本领域技术人员来说显而易见的各种修改、改变和变化。

Claims (12)

1.一种方法,包括:
在与处理设备连接的显示器上显示前台应用;
在所述显示器上显示与所述前台应用对接的软输入键盘应用,其中所述软输入键盘应用包括用于显示多个用户界面元素的第一应用窗口和用于显示软输入键盘的第二应用窗口;
在所述软输入键盘应用的所述第一应用窗口中显示多个用户界面元素;
接收到前台应用的输入字段的输入;
通过所述软输入键盘应用确定服务以取回针对所接收的输入的结果数据;
更新所述显示器以在所述软输入键盘应用的所述第一应用窗口中包括所述结果数据中的内容;
接收对所述第一应用窗口中的所述内容的至少一部分的选择;以及
更新所述显示器以在所述前台应用内利用所选择的内容来替换所述第二应用窗口中的所述软输入键盘的显示。
2.根据权利要求1所述的方法,还包括:从多个正在执行的应用中检测所述前台应用,并且其中,从所述第一应用窗口选择的内容被发送到所检测到的前台应用。
3.根据权利要求1所述的方法,其中,对所述用户界面元素的选择的动作以及对所述内容的选择的动作是从包含下列各项的组中选择的至少一项:触摸输入、语音命令、文本输入、接收到所述处理设备中的输入、以及通过与所述处理设备连接的设备接收的输入。
4.根据权利要求1所述的方法,其中,所述用户界面元素是从包含下列各项的组中选择的至少一项的快捷方式:剪贴板服务、位置服务、日历服务、搜索服务、翻译服务、懒惰打字员服务、链接服务以及消息传送服务。
5.根据权利要求1所述的方法,其中,所述第一应用窗口是可垂直滚动和可水平滚动中的至少一种,并且其中,所述第一应用窗口响应于选择的用户界面元素的变化而动态更新。
6.根据权利要求1所述的方法,其中,所述第一应用窗口中的所述内容的所述显示基于对所述前台应用中的当前线程的处理而更新。
7.一种系统,包括:
至少一个处理器;以及
与所述至少一个处理器操作性连接的存储器,其存储计算机可执行指令,所述计算机可执行指令当在所述至少一个处理器上执行时使所述至少一个处理器:
在与所述系统连接的显示屏幕上显示前台应用;
在所述显示屏幕上显示与所述前台应用对接的软输入键盘应用,其中所述软输入键盘应用包括用于显示多个用户界面元素的第一应用窗口和用于显示软输入键盘的第二应用窗口;
在所述软输入键盘应用的所述第一应用窗口中显示多个用户界面元素;
接收输入至前台应用的输入字段;
通过所述软输入键盘应用确定服务以取回针对所接收的输入的结果数据;
更新所述显示以在所述软输入键盘应用的所述第一应用窗口中包括所述结果数据中的内容;
接收对所述第一应用窗口中的所述内容的至少一部分的选择;以及
更新所述显示以在所述前台应用内利用所选择的内容来替换所述第二应用窗口中的所述软输入键盘的显示。
8.根据权利要求7所述的系统,其中,所述计算机可执行指令还使所述至少一个处理器:从多个正在执行的应用中检测所述前台应用,并且其中,从所述第一应用窗口选择的内容被发送到所检测到的前台应用。
9.根据权利要求7所述的系统,其中,对所述用户界面元素的选择的动作以及对所述内容的选择的动作是从包含下列各项的组中选择的至少一项:触摸输入、语音命令、文本输入、接收到所述系统中的输入、以及通过与所述系统连接的设备接收的输入。
10.根据权利要求7所述的系统,其中,所述用户界面元素是从包含下列各项的组中选择的至少一项的快捷方式:剪贴板服务、位置服务、日历服务、搜索服务、翻译服务、懒惰打字员服务、链接服务以及消息传送服务。
11.根据权利要求7所述的系统,其中,所述第一应用窗口是可垂直滚动和可水平滚动中的至少一种,并且其中,所述第一应用窗口响应于选择的用户界面元素的变化而动态更新。
12.根据权利要求7所述的系统,其中,所述第一应用窗口中的所述内容的所述显示基于对所述前台应用中的当前线程的处理而更新。
CN201780022162.7A 2016-04-06 2017-03-30 多窗口虚拟键盘 Active CN108885535B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/091,687 US10802709B2 (en) 2015-10-12 2016-04-06 Multi-window keyboard
US15/091,687 2016-04-06
PCT/US2017/024876 WO2017176537A1 (en) 2015-10-12 2017-03-30 Multi-window virtual keyboard

Publications (2)

Publication Number Publication Date
CN108885535A CN108885535A (zh) 2018-11-23
CN108885535B true CN108885535B (zh) 2022-03-25

Family

ID=58545227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780022162.7A Active CN108885535B (zh) 2016-04-06 2017-03-30 多窗口虚拟键盘

Country Status (2)

Country Link
EP (1) EP3440536A1 (zh)
CN (1) CN108885535B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531872A (zh) * 2019-08-20 2019-12-03 北京小米移动软件有限公司 输入法窗口展示方法、装置、设备及存储介质
CN110515510B (zh) 2019-08-20 2021-03-02 北京小米移动软件有限公司 数据处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117241A1 (en) * 2013-02-04 2014-08-07 602531 British Columbia Ltd. Data retrieval by way of context-sensitive icons

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
KR102014778B1 (ko) * 2012-12-14 2019-08-27 엘지전자 주식회사 텍스트 메시징 서비스를 제공하는 디지털 디바이스 및 그 제어 방법
US10270720B2 (en) * 2012-12-20 2019-04-23 Microsoft Technology Licensing, Llc Suggesting related items
US10228819B2 (en) * 2013-02-04 2019-03-12 602531 British Cilumbia Ltd. Method, system, and apparatus for executing an action related to user selection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117241A1 (en) * 2013-02-04 2014-08-07 602531 British Columbia Ltd. Data retrieval by way of context-sensitive icons

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
APPFind:"iOS Custom Keyboards-Top 9 Free Keyboards for iOS 10";XP054980333;《URL:https://www.youtube.com/watch?v=lrMJ9kVrtag》;20151109;第1-4页 *

Also Published As

Publication number Publication date
CN108885535A (zh) 2018-11-23
EP3440536A1 (en) 2019-02-13

Similar Documents

Publication Publication Date Title
CN108139862B (zh) 多窗口键盘
US10666594B2 (en) Proactive intelligent personal assistant
US9646611B2 (en) Context-based actions
CN108369600B (zh) web浏览器扩展
CN109154935B (zh) 一种用于分析用于任务完成的捕获的信息的方法、系统及可读存储设备
CN111247778A (zh) 使用web智能的对话式/多回合的问题理解
US9910644B2 (en) Integrated note-taking functionality for computing system entities
EP3440608A1 (en) Intelligent personal assistant as a contact
US10558950B2 (en) Automatic context passing between applications
CN108027825B (zh) 在企业中暴露外部内容
US10534780B2 (en) Single unified ranker
CN108885535B (zh) 多窗口虚拟键盘
US20170140019A1 (en) Automated data replication
KR20190084051A (ko) 계층화된 콘텐츠 선택
CN109643215B (zh) 基于手势输入的应用处理

Legal Events

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