CN110799943A - 从图形键盘内访问应用程序功能 - Google Patents
从图形键盘内访问应用程序功能 Download PDFInfo
- Publication number
- CN110799943A CN110799943A CN201880043454.3A CN201880043454A CN110799943A CN 110799943 A CN110799943 A CN 110799943A CN 201880043454 A CN201880043454 A CN 201880043454A CN 110799943 A CN110799943 A CN 110799943A
- Authority
- CN
- China
- Prior art keywords
- application
- keyboard
- embedded
- embedded application
- graphical
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
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)
- Telephone Function (AREA)
Abstract
描述了一种在计算装置处执行的键盘应用程序,该键盘应用程序输出用于显示的包括嵌入式应用程序条的图形键盘。嵌入式应用程序条包括一个或多个图形元素,每个图形元素对应于来自多个嵌入式应用程序的特定的嵌入式应用程序,每个嵌入式应用程序可由键盘应用程序执行。键盘应用程序接收选择嵌入式应用程序条的用户输入,基于用户输入确定特定的嵌入式应用程序,并启动特定的嵌入式应用程序。
Description
背景技术
尽管能够同时执行若干个应用程序,但是一些移动计算装置一次只能呈现单个图形用户界面(GUI)。这种移动计算装置的用户可能必须提供输入以在不同的应用程序GUI之间切换以完成特定任务。例如,当移动计算装置的用户用在消息传递GUI中显示的图形键盘键入消息时,用户可能希望将信息插入到在消息传递GUI外部维持的消息中。用户可能需要提供以下输入:第一,导航到消息传递GUI的外部;第二,复制信息;以及第三,导航回到消息传递GUI,以将信息粘贴到消息中。提供若干个输入来进行各种任务可能是繁琐、重复和耗时的。
发明内容
总体上,本公开涉及一种技术,其使键盘应用程序能够从键盘GUI内提供对内容的访问,该内容通常只能从在键盘应用程序外部执行的其他应用程序或服务访问。键盘应用程序执行一个或多个嵌入式应用程序,每个嵌入式应用程序分别充当获取信息的管道(conduit),否则这些信息只能通过在键盘GUI外部导航才能访问。每个嵌入式应用程序都能使键盘应用程序完全在键盘GUI内提供与该嵌入式应用程序相关联的完整用户体验。键盘GUI提供了界面元素,用户可以通过该界面元素在嵌入式应用程序体验之间快速切换。
通过提供能够快速访问在键盘应用程序内执行的一个或多个嵌入式应用程序的键盘GUI,示例键盘应用程序可以从键盘GUI内提供对内容的访问,该内容通常仅可从在图形键盘应用程序外部执行的应用程序或服务的GUI访问。以这种方式,本公开的技术可以减少从键盘应用程序内获取信息所需的时间量和用户输入的数量,这可以简化用户体验并且可以减少计算装置的功耗。
在附图和下面的描述中阐述了一个或多个示例的细节。本公开其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。
附图说明
图1A和图1B是示出根据本公开的一个或多个方面的示例计算装置的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图2是示出根据本公开的一个或多个方面的示例计算装置的框图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图3是示出根据本公开的一个或多个方面的计算装置的示例操作的流程图,该计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图4A–4C是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图5A和5B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图6A和6B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图7A和7B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
具体实施方式
图1A和图1B是示出根据本公开的一个或多个方面的示例计算装置110的概念图,该示例计算装置110配置为呈现执行一个或多个嵌入式应用程序的图形键盘。计算装置110可以代表移动装置,例如智能电话、平板计算机、膝上型计算机、计算机手表、计算机眼镜、计算机手套或任何其他类型的便携式计算装置。计算装置110的其他示例包括台式计算机、电视、个人数字助理(PDA)、便携式游戏系统、媒体播放器、电子书阅读器、移动电视平台、汽车导航和娱乐系统、车辆(例如,汽车、飞机或其他车辆)座舱显示器,或可以输出用于显示的图形键盘的任何其他类型的可穿戴和不可穿戴、移动或非移动计算装置。
计算装置110包括存在感应显示器(presence-sensitive display,PSD)112,用户界面(UI)模块120和键盘模块122。模块120和122可以使用驻留在计算装置110中和/或在计算装置110处执行的软件、硬件、固件或硬件、软件和固件的混合来进行所描述的操作。计算装置110的一个或多个处理器可以执行存储在计算装置110的存储器或其他非暂时性存储介质上的指令,以进行模块120和122的操作。
计算装置110可以将模块120和122作为在底层硬件上执行的虚拟机来执行。模块120和122可以作为操作系统或计算平台的一个或多个服务来执行。模块120和122可以作为一个或多个可执行程序在计算平台的应用层执行。
计算装置110的PSD 112可以用作计算装置110的相应输入和/或输出装置。可以使用各种技术来实现PSD 112。例如,PSD 112可以用作使用存在感应输入屏幕的输入装置,例如电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射电容式触摸屏、压敏屏幕、声脉冲识别触摸屏或其他存在敏感显示技术。PSD 112还可以用作使用任何一个或多个显示装置的输出(例如显示)装置,例如液晶显示器(LCD)、点矩阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水、或能够向计算装置110的用户输出可见信息的类似的单色或彩色显示器。
PSD 112可以检测到来自相应的计算装置110的用户的输入(例如,触摸和非触摸输入)。PSD 112可以通过检测来自用户的一个或多个手势(例如,用户用手指或手写笔在PSD 112的一个或多个位置处或附近触摸、指向和/或滑动)来检测输入的指示。PSD 112可以以用户界面(例如,用户界面114A和114B)的形式向用户输出信息,该用户界面可以与计算装置110提供的功能相关联。这样的用户界面可以与在计算装置110上执行或可从计算装置110访问的计算平台、操作系统、应用程序和/或服务相关联(例如,电子消息应用程序、聊天应用程序、互联网浏览器应用程序、移动或桌面操作系统、社交媒体应用程序、电子游戏以及其他类型的应用程序)。例如,PSD 112可以呈现用户界面114A和114B(统称为“用户界面114”),如图1A和1B所示,其是在计算装置110处执行的聊天应用程序的图形用户界面,并且包括在PSD 112的各个位置处显示的各种图形元素。
如图1A和1B所示,用户界面114是聊天用户界面。然而,用户界面114可以是包括图形键盘的任何图形用户界面。用户界面114均包括输出区域116A、图形键盘116B和编辑区域116C。计算装置110的用户可以在图形键盘116B处提供输入以在编辑区域116C内生成字符,这些字符形成在输出区域116A内显示的电子消息的内容。在输出区域116A内显示的消息形成计算装置110的用户与不同计算装置的用户之间的聊天对话。
UI模块120管理与PSD 112和计算装置110的其他组件的用户交互。换句话说,UI模块120可以充当计算装置110的各个组件之间的中介,以基于由PSD 112检测到的用户输入来进行确定,并且响应于用户输入而在PSD 112处生成输出。UI模块120可以从计算装置110的应用程序、服务、平台或其他模块接收指令,以使PSD 112输出用户界面(例如,用户界面114)。UI模块120可以在用户查看PSD 112处呈现的用户界面并与其交互时,管理由计算装置110接收的输入,并响应于从正在处理用户输入的计算装置110的应用程序、服务、平台或其他模块接收到附加指令来更新用户界面。
键盘模块122代表在计算装置110处执行或可被其访问的应用程序、服务或组件,其为计算装置110提供图形键盘116B,图形键盘116B配置为从图形键盘116B内提供对内容的访问,该内容通常由在键盘模块122外部执行的其他应用程序或服务维持。计算装置110可以从服务提供商的应用程序或应用程序扩展存储库中下载并安装键盘模块122(例如,经由互联网)。在其他示例中,键盘模块122可以在计算装置110的生产期间被预加载。
键盘模块122可以管理或执行一个或多个嵌入式应用程序,每个嵌入式应用程序用作获取信息(例如,安全的和/或不安全的信息)的相应管道,否则这些信息只能通过在键盘GUI外部导航来访问(例如,到与键盘模块122分离且不同的应用程序或计算平台的GUI)。键盘模块122可以在文本输入模式和嵌入式应用程序模式之间进行切换,在文本输入模式中,键盘模块122的功能类似于传统的图形键盘(例如,生成用于在PSD 112处显示的图形键盘布局,将在PSD 112处检测到的输入映射到图形键的选择,基于所选键确定字符,或者基于从所选键确定的字符预测或自动校正单词和/或文本短语),在嵌入式应用程序模式中,键盘模块122提供各种嵌入式应用程序体验。
为了提供对安全信息的访问(否则这些安全信息只能通过在键盘GUI外部导航来访问),键盘模块122需要来自用户的明确许可才能访问此类信息。在某些情况下,键盘模块122允许用户从图形键盘116B内提供凭证,以授权(和撤销)键盘模块122对安全信息的访问。并且在某些情况下,键盘模块122经由在图形键盘116B外部获得的事先用户同意(例如,通过不同的应用程序或计算平台)获得对安全信息的访问。在任一情况下,键盘模块122都为用户提供了明确且清楚的方式来撤销对此类信息的访问。
键盘模块122可以是在计算装置110处执行的独立的应用程序、服务或模块,在其他示例中,键盘模块122可以是子组件(例如扩展程序),充当其他应用程序或装置功能的服务。例如,键盘模块122可以是键盘扩展,该键盘扩展可以在每当计算装置110需要图形键盘输入功能时,作为独立键盘应用程序的子组件工作。键盘模块122可以集成到在计算装置110处执行的聊天或消息传递应用程序中,而在其他示例中,键盘模块122可以是独立的应用程序,也可以是由容器应用程序调用的子例程,该容器应用程序例如是计算装置110的单独的应用程序或操作平台,每当容器应用程序需要图形键盘输入功能时,它就会调用键盘模块122。
例如,当键盘模块122形成在计算装置110处执行的聊天或消息传递应用程序的一部分时,键盘模块122可以为聊天或消息传递应用程序提供文本输入能力以及对作为键盘模块122的一部分执行的一个或多个嵌入式应用程序的访问。类似地,当键盘模块122是独立的应用程序或子例程(每当计算装置110的应用程序或操作平台需要图形键盘输入功能时,它就会由应用程序或操作平台调用)时,键盘模块122可以为调用应用程序或操作平台提供文本输入能力以及对作为键盘模块122的一部分执行的一个或多个嵌入式应用程序的访问。
图形键盘116B包括图形元素,其显示为图形键118A、嵌入式应用程序体验118B-1和118B-2(统称为“嵌入式应用程序体验118B”),以及嵌入式应用程序条118D。键盘模块122可以向UI模块120输出信息,该信息指定在用户界面114内图形键118A、嵌入式应用程序条118D和嵌入式应用程序体验118B的布局。
例如,信息可以包括指定图形键118A的位置、大小、颜色和其他特征的指令。基于从键盘模块122接收到的信息,UI模块120可以使PSD 112显示图形键118A作为用户界面114的图形键盘116B的一部分。
图形键118A的每个键可以与键内显示的一个或多个相应的字符(例如,字母、数字、标点符号或其他字符)相关联。计算装置110的用户可以在显示有一个或多个图形键118A的PSD 112的位置处提供输入,以将内容(例如,字符、图像符号短语预测等)输入到编辑区域116C中(例如,用于编写消息,这些消息在输出区域116A内发送和显示,或者用于输入计算装置110从图形键盘116B内执行的搜索查询)。键盘模块122可以从UI模块120接收信息,该信息指示相对于每个图形键的位置的与由PSD 112检测到的输入相关联的位置。使用空间和/或语言模型,键盘模块122可以将输入转换为对键和字、单词和/或短语的选择。
例如,当计算装置110的用户在PSD 112的PSD 112呈现图形键118A的位置处或其附近提供用户输入时,PSD 112可以检测到用户输入。用户可以在图形键118A处进行键入以在编辑区域116C处输入消息的文本。UI模块120可以从PSD 112接收由PSD 112检测到的用户输入的指示,并向键盘模块122输出关于用户输入的信息。关于用户输入的信息可以包括由PSD 112检测到的一个或多个触摸事件的指示(例如,位置和关于输入的其他信息)。
基于从UI模块120接收的信息,键盘模块122可以将在PSD 112处检测到的输入映射到对图形键118A的选择,基于所选键118A来确定字符,并预测或自动纠正基于与所选键118A相关联的字符所确定的单词和/或短语。例如,键盘模块122可以包括空间模型,该空间模型可以基于键118A的位置和关于输入的信息来确定当用户键入消息文本时最有可能选择的一个或多个键118A。响应于确定最可能被选择的一个或多个键118A,键盘模块122可以确定组成消息文本的一个或多个字符、单词和/或短语。例如,在PSD 112处从用户输入选择的一个或多个键118A中的每个键都可以表示单独的字符或键盘操作。键盘模块122可以确定基于一个或多个所选键118A选择的字符的序列。在一些示例中,键盘模块122可以将语言模型应用于字符的序列,以基于对键118A的选择来确定用户试图输入的一个或多个最可能的候选字母、词素、单词和/或短语。键盘模块122可以将字符的序列和/或候选单词和短语发送到UI模块120,并且UI模块120可以使PSD 112将根据对一个或多个键118A的选择而确定的字符和/或候选单词呈现为编辑区域116C内的文本。
除了进行用于文本输入的传统的图形键盘操作之外,计算装置110的键盘模块122还执行一个或多个嵌入式应用程序,每个嵌入式应用程序配置为从图形键盘116B内提供嵌入式应用程序体验,其使用户可以访问通常由在键盘模块122外部执行的其他应用程序或服务维持的内容。也就是说,不要求计算装置110的用户导航离开用户界面114(例如,导航到在计算装置110处执行或可从其访问的不同应用程序或服务)以访问由在键盘模块122外部执行的其他应用程序或服务所维持的内容,键盘模块122可以在嵌入式应用程序模式下操作,其中,键盘模块122可以执行一个或多个嵌入式应用程序,这些嵌入式应用程序配置为从显示图形键盘116B的PSD 112的同一区域内获取并呈现在键盘应用程序模块122外部维持或存储的内容。
嵌入式应用程序条118D是图形键盘116B的用户界面元素,它为用户提供了一种使键盘模块122从文本输入模式转换为嵌入式应用程序模式以及在不同的嵌入式应用程序体验118B之间转换的方式,这些嵌入式应用程序体验由键盘模块122呈现,同时以嵌入式应用程序模式执行。嵌入式应用程序条118D包括带有图标、图形元素和/或标签的一个或多个图形按钮。每个按钮与特定的嵌入式应用程序相关联,当以嵌入式应用程序模式操作时,键盘模块122管理并执行该特定的嵌入式应用程序。用户可以在PSD 112处提供输入(例如,手势)以从嵌入式应用程序条118D选择嵌入式应用程序。在某些示例中,无论哪个嵌入式应用程序体验是当前的嵌入式应用程序体验,嵌入式应用程序条118D可以在嵌入式应用程序模式期间持续存在,从而使用户更容易在嵌入式应用程序体验之间进行切换。并且在某些情况下,例如,如用户界面114A中搜索嵌入式应用程序按钮的突出显示所示,键盘模块122可以使嵌入式应用程序条118D突出显示与当前嵌入式应用程序体验相关联的按钮。在其他情况下,当显示嵌入式应用程序体验时,键盘模块122可以隐藏或最小化嵌入式应用程序条118D。嵌入式应用程序条118D可以包括成行、网格或其他布置的图形按钮。嵌入式应用程序条118D可以潜在地基于用户上下文(例如,一天中的时间、位置、键118A处的输入,应用程序焦点等)动态地更改显示哪些图形按钮或图形按钮的位置和顺序。嵌入式应用程序条可以是可定制的,使得用户可以向计算装置110提供输入,该输入使键盘模块122在嵌入式应用程序条118D上添加或移除和布置图形按钮以反映他们的个人偏好。
嵌入式应用程序体验118B是由嵌入式应用程序提供的专用GUI环境,嵌入式应用程序在键盘模块122内并在其控制下(或换句话说,在其操作上下文内)执行以访问由传统上在图形键盘应用程序外部操作的服务和应用程序提供的信息。每个嵌入式应用程序可以是由与键盘应用程序模块122相同的开发人员创建的第一方应用程序,也可以是由与键盘应用程序模块122不同的开发人员创建的第三方应用程序。在一些示例中,文本输入模式可以由键盘模块122用嵌入式应用程序条118D中的相关联的按钮实现为文本输入嵌入式应用程序体验。
每个嵌入式应用程序可以作为单独的例程或子例程执行,该例程或子例程在键盘模块122的控制下(或再次换句话说,在其操作上下文内)。键盘模块122可以在其控制下发起或终止与每个嵌入式应用程序相关联的(多个)应用程序线程,在其控制下请求或管理与每个嵌入式应用程序相关联的内存,或在其控制下以其他方式管理或处理提供给每个嵌入式应用程序的功能和/或资源(例如,内存、存储空间等)。
每个嵌入式应用程序比链接到其他类型的键盘应用程序可以提供的外部服务或应用程序更复杂。每个嵌入式应用程序本身是键盘模块122的单独应用程序或一部分,并配置为提供特定功能或操作,同时仍受键盘模块122的控制。换句话说,每个嵌入式应用程序比链接到在键盘模块122外部执行或可从其访问的单独应用程序或服务更复杂。即,作为键盘模块122的一部分执行的嵌入式应用程序可以提供输出,解密输入并进行用于维持嵌入式应用程序体验的功能,以使键盘应用程序能够进行与每个嵌入式应用程序体验相关的一个或多个复杂功能,而无需调用或导航到在键盘应用程序外周执行的其他服务或资源。
图1A的嵌入式应用程序体验118B-1是与作为键盘模块122的一部分执行的搜索类型嵌入式应用程序相关联的GUI。搜索类型嵌入式应用程序可以进行搜索操作(例如,互联网上的和/或计算装置110本地的信息搜索)。嵌入式应用程序体验118B-1包括位于搜索查询输入框118F上方的热门搜索查询列表,搜索查询输入框118F配置为接收文本输入,以供用户输入特定的搜索查询。
如图1B所示,嵌入式应用程序体验118B-2是与作为键盘模块122的一部分执行的地图或导航类型嵌入式应用程序相关的GUI。地图或导航类型嵌入式应用程序可以进行地图或导航操作(例如,对地点的信息搜索)。嵌入式应用程序体验118B-2包括位置输入框118F,其配置为接收文本输入,以供用户输入特定位置。位置输入框位于搜索结果118E的轮播(carousel)的上方,该搜索结果的轮播是地图或导航类型嵌入式应用程序通过对位置输入框118F中包含的信息执行位置搜索而返回的。用户可以在搜索结果118E处提供输入(例如,滑过),以滑过轮播中包含的不同结果卡。用户可以在搜索结果118E处提供输入(例如,向上滑动),以将特定的结果卡插入编辑区域116C中(例如,用于随后作为文本消息的一部分发送)。
嵌入式应用程序体验118B-2可以包括应用程序控件,例如图1B的应用程序控件118G。每个应用程序控件可以控制与正在提供嵌入式应用程序体验的嵌入式应用程序相关的特定功能。例如,应用程序控件118G包括:“返回文本输入模式”控件,用于使键盘模块122返回到文本输入模式;“插入当前位置”控件,用于配置嵌入式应用程序以获得计算装置110的当前位置;“热门位置”控件,用于配置嵌入式应用程序以提供附近的一个或多个热门位置;以及“位置搜索”控件,用于配置嵌入式应用程序以进行位置搜索。每个嵌入式应用程序可以由键盘模块122启动、控制和/或终止。每个嵌入式应用程序可以操作为与在键盘模块122提供的键盘应用程序的外部执行的应用程序或服务进行通信的管道(或换句话说,用来通信的接口),以获得可以在键盘应用程序内使用的信息。可由作为键盘模块122的一部分执行的嵌入式应用程序访问的应用程序或服务的示例包括:多媒体流应用程序、地图或导航应用程序、照片应用程序、搜索应用程序或任何其他类型的嵌入式应用程序。
通过使键盘应用程序能够执行一个或多个嵌入式应用程序,这些嵌入式应用程序能够从图形键盘上下文快速访问由在键盘应用程序外部执行的其他应用程序或服务所维持的内容,示例计算装置可以为用户提供一种快速获得由在键盘应用程序外部执行的其他应用程序或服务维持的内容的方式,而不必在几个不同的应用程序和应用程序GUI之间进行切换。以这种方式,本公开的技术可以减少从键盘上下文内获取信息所需的时间量和用户输入的数量,这可以简化用户体验并且可以减少计算装置的功耗。例如,该技术可以消除用户提供多个输入以导航到键盘应用程序外部或调用键盘应用程序的容器应用程序外部存在的不同应用程序的需求。
图2是示出根据本公开的一个或多个方面的示例计算装置的框图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。下面以图1的计算装置110为例描述图2的计算装置210。图2仅示出了计算装置210的一个示例,并且在其他情况下可以使用计算装置210的许多其他示例。计算装置210可以包括图2中包括的组件的子集,或者可以包括图2中未示出的附加组件。
如图2的示例所示,计算装置210包括PSD 212、一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246以及一个或多个存储组件248。存在感应显示器212包括显示组件202和存在感应输入组件204。计算装置210的存储组件248包括UI模块220、键盘模块222、登录模块230A以及一个或多个应用程序模块224。键盘模块222包括文本输入模块228、登录模块230B和嵌入式应用程序模块232。登录模块230A和230B统称为登录模块230。
通信信道250可以互连组件212、240、242、244、246和248中的每个,以进行组件间通信(物理地、通信地和/或可操作地)。
在一些示例中,通信通道250可以包括系统总线、网络连接、进程间通信数据结构或用于通信数据的任何其他方法。
计算装置210的一个或多个通信单元242可以通过在一个或多个网络上发送和/或接收网络信号来经由一个或多个有线和/或无线网络与外部装置通信。通信单元242的示例包括网络接口卡(例如,以太网卡)、光收发器、射频收发器、GPS接收器或任何其他类型的可以发送和/或接收信息的装置。通信单元242的其他示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电以及通用串行总线(USB)控制器。
计算装置210的一个或多个输入组件244可以接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,计算装置210的输入组件242包括存在感应输入装置(例如,触敏屏幕、PSD)、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自人或机器的输入的任何其他类型的装置。在一些示例中,输入组件242可以包括一个或多个传感器组件、一个或多个位置传感器(GPS组件、Wi-Fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个运动传感器(例如,加速度计、陀螺仪)、一个或多个压力传感器(例如气压计)、一个或多个环境光传感器、以及一个或多个其他传感器(例如麦克风、相机、红外接近传感器、湿度计等)。其他传感器可以包括心率传感器、磁力计、葡萄糖传感器、湿度计传感器、嗅觉传感器、罗盘传感器,步数计数器传感器,仅举几个其他非限制性示例。
计算装置110的一个或多个输出组件246可以生成输出。输出的示例是触觉、音频和视频输出。在一个示例中,计算装置210的输出组件246包括PSD、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或用于向人或机器生成输出的任何其他类型的装置。
计算装置210的PSD 212可以类似于计算装置110的PSD 112,并且包括显示组件202和存在感应输入组件204。显示组件202可以是由PSD 212在其上显示信息的屏幕,并且存在感应输入组件204可以检测显示组件202处和/或附近的对象。作为示例范围,存在感应输入组件204可以检测在显示组件202的两英寸或更短范围内的对象,例如手指或手写笔。存在感应输入组件204可以确定显示组件202的检测到对象的位置(例如,[x,y]坐标)。在另一个示例范围中,存在感应输入组件204可以检测距离显示组件202不到六英寸的对象,其他范围也是可能的。存在感应输入组件204可以使用电容、感应、和/或光学识别技术来确定显示组件202的由用户的手指选择的位置。在一些示例中,如关于显示组件202所描述的,存在感应输入组件204还使用触觉、音频或视频刺激向用户提供输出。在图2的示例中,PSD212可以呈现用户界面(诸如图1A和1B的图形用户界面114A和114B)。
虽然被图示为计算装置210的内部组件,但PSD 212也可以表示与计算装置210共享数据路径以发送和/或接收输入和输出的外部组件。例如,在一个示例中,PSD 212表示计算装置210的内置组件,该组件位于计算装置210的外包装内并与之物理连接(例如,手机上的屏幕)。在另一个示例中,PSD212表示计算装置210的外部组件,该组件位于计算装置210的包装或外壳的外部并与之物理分离(例如,监视器、投影仪等,其与计算装置210共享有线和/或无线数据路径)。
计算装置210的PSD 212可以检测二维和/或三维手势作为来自计算装置210的用户的输入。例如,PSD 212的传感器可以检测用户在PSD 212的传感器的阈值距离内的移动(例如,移动手、手臂、笔、手写笔等)。PSD 212可以确定运动的二维或三维矢量表示,并将矢量表示与具有多个维度的手势输入(例如,手波、捏、拍手、笔触等)相关联。换句话说,PSD212可以检测到多维手势,而无需用户在PSD 212在其上输出用于显示的信息的屏幕或表面处或附近进行手势操作。相反,PSD 212可以检测在传感器处或附近进行的多维手势,该传感器可以位于或者可以不位于PSD 212在其上输出用于显示的信息的屏幕或表面附近。
一个或多个处理器240可以实现功能和/或执行与计算装置210相关联的指令。处理器240的示例包括应用程序处理器、显示控制器、辅助处理器、一个或多个传感器枢纽、以及配置为用作处理器、处理单元或处理装置的任何其他硬件。模块220、222、224、228、230和232可以由处理器240操作以进行计算装置210的各种动作、操作或功能。例如,计算装置210的处理器240可以取回并执行由存储组件248存储的指令,所述指令使处理器240进行模块220、222、224、228、230和232的操作。当由处理器240执行时,指令可以使计算装置210将信息存储在存储组件248内。
计算装置210内的一个或多个存储组件248可以存储用于在计算装置210的操作期间进行处理的信息(例如,计算装置210可以存储在计算装置210处执行期间由模块220、222、224、228、230和232访问的数据)。在一些示例中,存储组件248是临时存储器,这意味着存储组件248的主要目的不是长期存储。计算装置210上的存储组件248可以作为易失性存储器配置为用于信息的短期存储,因此如果断电则不保存所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非暂时性计算机可读存储介质。存储组件248可以配置为存储比通常由易失性存储器存储的信息量更多的信息。存储组件248还可以作为非易失性存储器空间而配置为将信息长期存储,并且在通电/断电周期之后保存信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。存储组件248可以存储与模块220、222、224、228、230和232相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括配置为存储与模块220、222、224、228、230和232相关联的数据或其他信息的存储器。
UI模块220可以包括图1的计算装置110的UI模块120的所有功能,并且可以进行与用于管理用户界面(例如,用户界面114A和114B)的UI模块120类似的操作,计算装置210在存在感应显示器212处提供用户界面以处理来自用户的输入。例如,计算装置210的UI模块220可以向键盘模块222查询键盘布局(例如,英语QWERTY键盘等)。UI模块220可以通过通信通道250将对键盘布局的请求发送到键盘模块222。键盘模块222可以接收请求,并使用与键盘布局相关联的数据答复UI模块220。UI模块220可以通过通信通道250接收键盘布局数据,并且使用该数据来生成用户界面。UI模块220可以通过通信信道250发送显示命令和数据,以使PSD 212在PSD 212处呈现用户界面。
在一些示例中,UI模块220可以接收在PSD 212处检测到的一个或多个用户输入的指示,并且可以将关于用户输入的信息输出到键盘模块222。例如,PSD 212可以检测到用户输入并将关于用户输入的数据发送到UI模块220。UI模块220可以基于检测到的输入来生成一个或多个触摸事件。触摸事件可以包括表征用户输入的信息,例如用户输入的位置分量(例如,[x,y]坐标)、时间分量(例如,何时接收到用户输入)、力分量(例如,用户输入施加的压力量)、或其他关于用户输入的数据(例如速度、加速度、方向、密度等)。
基于从用户输入生成的触摸事件的位置信息,UI模块220可以确定检测到的用户输入与图形键盘相关联。UI模块220可以将一个或多个触摸事件的指示发送到键盘模块222以用于进一步解释(interpretation)。键盘模块22可以基于从UI模块220接收的触摸事件,确定检测到的用户输入代表对图形键盘的一个或多个键的初始选择。应用程序模块224代表可以在计算装置210处执行并且可从其进行访问的所有各种单独的应用程序和服务,该计算装置210可以依赖于具有集成的图像符号短语预测的图形键盘。计算装置210的用户可以与和一个或多个应用程序模块224相关联的图形用户界面进行交互,以使计算装置210进行操作或进行功能。应用程序模块224的示例很多且包括:健身应用程序、日历应用程序、个人助理或预测引擎、搜索应用程序、地图或导航应用程序、运输服务应用程序(例如公交车或火车跟踪应用程序)、社交媒体应用程序、游戏应用程序、电子邮件应用程序、聊天或消息传递应用程序、互联网浏览器应用程序、或可在计算装置210处执行的任何其他应用程序。
键盘模块222可以包括图1的计算装置110的键盘模块122的所有功能,并且可以进行与键盘模块122类似的操作,以从图形键盘内提供对通常由在键盘模块222外部运行的其他应用程序或服务维持的内容的访问。键盘模块222可以包括各种子模块,例如文本输入模块228、登录模块230、以及可以进行键盘模块222的功能的嵌入式应用程序模块232。
文本输入模块228可以包括空间模型,该空间模型接收一个或多个触摸事件作为输入,并输出可能代表一个或多个触摸事件的字符或字符序列,以及指示一个或多个字符定义触摸事件的可能性或准确性的确定性或空间模型得分。换句话说,文本输入模块228的空间模型可以将触摸事件推断为对键盘的一个或多个键的选择,并且可以基于对一个或多个键的选择来输出字符或字符序列。
文本输入模块228还可以包括语言模型。当键盘模块222在文本输入模式下操作时,文本输入模块228的语言模型可以接收字符或字符序列作为输入,并输出一个或多个候选字符、单词或短语,语言模型从词典识别出所述候选字符、单词或短语为被语言模型接收作为给定语言上下文的输入的字符序列的潜在替换(例如,书面语言的句子)。键盘模块222可以使UI模块220在用户界面114A和114B的编辑区域116C处呈现一个或多个候选单词。
嵌入式应用程序模块232代表一个或多个嵌入式应用程序,每个嵌入式应用程序用作获取信息的相应管道,否则这些信息只能通过导航到由键盘模块222提供的键盘GUI的外部来访问。键盘模块222的操作可以在文本输入模式和嵌入式应用程序模式之间切换:在文本输入模式中,键盘模块222的功能类似于传统的图形键盘,在嵌入式应用程序模式中,键盘模块222进行用于执行一个或多个集成的嵌入式应用程序的各种操作并提供各种嵌入式应用程序体验。嵌入式应用程序模块232的每个嵌入式应用程序可以由键盘模块222管理,并且可以在键盘模块222的判断(discretion)和控制下执行。例如,不同于独立于键盘模块222执行的每个应用程序模块224,键盘模块222可以发起和终止在处理器240执行的每个嵌入式应用程序线程。键盘模块222可以代表每个嵌入式应用程序模块232请求内存和/或存储空间。
与在键盘应用程序外部提供用户体验的应用程序模块224相反,嵌入式应用程序模块232从键盘模块222提供的键盘GUI内提供用户体验。例如,应用程序模块224的消息传递应用程序可以调用键盘模块222以在消息传递应用程序的用户界面内提供图形键盘用户界面。如果用户希望在与应用程序模块224的视频应用程序相关联的消息中共享内容,则对于其他装置,用户可能需要导航离开消息传递应用程序的用户界面来获取该内容。然而,键盘模块222可以提供接口元素(例如,嵌入式应用程序条),从该接口元素,用户可以提供输入以使键盘模块222启动视频、嵌入式应用程序模块232的嵌入式应用程序,用户可以从中获取他或她希望在消息中共享的内容,而无需导航到键盘模块222提供的键盘GUI和/或消息传递应用程序界面的外部。
键盘模块222可以例如经由互联网从服务提供商的应用程序或应用程序扩展存储库下载并安装嵌入式应用程序模块232。嵌入式应用程序模块232可以在计算装置210的生产期间预先加载,或可以作为键盘模块222的初始安装的一部分安装在计算装置210中。键盘模块222可以提供对嵌入式应用程序商店的访问,用户可以从中提供输入以选择并使键盘模块222下载并安装特定的嵌入式应用程序。
嵌入式应用程序模块232的示例很多且包括:健身应用程序、照片应用程序、视频应用程序、音乐应用程序、日历应用程序、个人助理或预测引擎、搜索应用程序、地图或导航应用程序、运输服务应用程序(例如公交车或火车跟踪应用程序)、社交媒体应用程序、游戏应用程序、电子邮件应用程序、聊天或消息传递应用程序、互联网浏览器应用程序、或可在计算装置210处执行的任何其他应用程序。
在一些情况下,嵌入式应用程序模块232可以与个人或基于云的用户帐户或其他“个人信息”相关联。登录模块230可以使用户能够提供凭证(例如,从由键盘模块222提供的图形键盘内,或者经由设置菜单或来自外部键盘模块222外部的其他界面),以使键盘模块222能够访问与由键盘模块222执行的一个或多个嵌入式应用程序模块232相关联的个人信息或基于云的用户帐户。
登录模块230A代表计算装置210的操作平台或操作系统的组件或模块,而登录模块230B代表键盘模块222的组件或模块。组合地,登录模块230代表键盘模块222提供以下描述的功能,以用于获得用户凭证以及基于凭证获得和撤销对信息的访问。换句话说,键盘模块222可以使用登录模块230来发起从键盘模块222的登录流程,但是为了保护隐私,实际登录可以由登录模块230A在键盘模块222外部进行。取决于与键盘模块222相关联的安全权限,键盘模块222可以在登录模块230A和230B之间来回切换。
例如,在从用户获得使用和存储用户的个人信息的明确许可之后,来自应用程序模块224的搜索应用程序可以维持与用户相关联的搜索历史(例如,与提供的识别用户的凭据相关联的用户帐户)。搜索应用程序可以在远程计算装置(例如,云中的服务器)处维持搜索历史或搜索历史的副本。从键盘模块222提供的图形键盘内,登录模块230可以调用计算装置210的操作系统的安全组件,以请求该安全组件获取用于访问搜索历史的用户凭据并使用凭据,安全组件可以授权登录模块230以使来自嵌入式应用程序模块232的相应的与搜索有关的嵌入式应用程序能够访问存储在远程计算装置处的搜索历史。
搜索历史记录是用户可以使用键盘模块222和由登录模块230提供的功能可以访问的个人信息的一个示例。个人信息的其他示例包括由其他应用程序模块224维持的非搜索信息(例如,个人照片、电子邮件、日历邀请等)。作为个人信息的示例,还包括与应用程序关联的“零状态”信息。换句话说,通过访问应用程序的存储的个人零状态信息,键盘模块222可以使嵌入式应用程序模块232的用户体验看起来与相应的独立应用程序在上次用户与该独立应用程序进行交互时的外观相似。
除了向嵌入式应用程序模块232提供对个人信息的访问之外,登录模块230还可类似地在用户选择的任何时间撤消对个人信息的访问。也就是说,登录模块可以为键盘模块222的用户提供一种登出键盘模块222的方式,并防止任何嵌入式应用程序模块232访问用户的个人信息。
在一些情况下,登录模块230可以使用户能够从由键盘模块222提供的图形键盘内提供凭证,以使键盘模块222能够访问与由键盘模块222执行的一个或多个嵌入式应用程序模块232相关联的个人信息或基于云的用户帐户。附加地或替代地,登录模块230可以使用户能够经由外部实体提供凭证(例如,来自外部键盘模块222外部的设置菜单或其他界面),以使键盘模块222能够访问与由键盘模块222执行的一个或多个嵌入式应用程序模块232相关联的个人信息或基于云的用户帐户。例如,用户可以向应用程序模块224之一提供凭证,登录模块230可以将其用作访问用户的个人信息的授权。用户可以向计算装置210的操作系统或操作系统平台提供凭证,登录模块230可以将其用作访问用户的个人信息的授权。以这种方式,代替要求用户明确地必须登入,键盘模块222可以在用户已经登录到外部实体时自动提供个性化的键盘体验。
登录模块230可以与应用程序224以及计算装置210可访问的其他应用程序和服务进行通信,以获得由这样的应用程序和服务维持的安全信息。例如,登录模块230可以将为用户获得的凭证发送到远程计算装置(例如,服务器)以进行验证。登录模块230可以将凭证发送到本地应用程序或在计算装置210本地执行的过程以进行验证。在任何情况下,响应于输出用于验证的凭证,键盘模块222的登录模块230可以接收关于验证的授权或拒绝。例如,登录模块230可以接收验证凭证的消息,从而授权键盘模块222使用和访问与凭证相关联的安全信息。替代地,登录模块230可以接收拒绝凭证的消息,从而防止键盘模块222利用和访问与凭证相关联的安全信息。
图3是示出根据本公开的一个或多个方面的计算装置的示例操作的流程图,该计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。图3的操作可以由计算装置的一个或多个处理器执行,例如图1A和1B的计算装置110或图2的计算装置210。仅出于说明的目的,下面在图1A和1B的计算装置110的上下文中描述图3。
在操作中,计算装置110可以输出用于显示的图形键盘(300)。例如,在计算装置110处执行的聊天应用可以调用键盘模块122(例如,与聊天应用分开的计算装置110的独立应用或功能)以在PSD 112处呈现图形键盘116B。
计算装置110可以输出包括嵌入式应用程序条的图形键盘以供显示(300)。例如,计算装置110的用户可以向UID 112提供输入,该输入使计算装置110执行消息传递应用程序。UI模块120可以从消息传递应用程序接收信息,该信息使UI模块120输出用户界面114A以在UID 112处显示。用户界面114A包括:输出区域116A,用于查看发送和接收的消息;编辑区域116C,用于预览可以作为消息发送的内容;以及图形键盘116B,用于编写插入到编辑区域116C中的内容。
UI模块120可以直接从键盘模块122接收信息,或者经由消息传递应用程序接收信息,该信息指示UI模块120如何在UID 112处显示图形键盘116B。例如,键盘模块122可以向UI模块120发送指令,以使UI模块120显示键118A,嵌入式应用程序条118D、以及初始嵌入式应用程序体验118B-1。在其他示例中,键盘模块122可以向消息传递应用程序发送指令,该指令传递给UI模块120,以使UI模块120显示键118A、嵌入式应用程序条118D以及初始嵌入式应用程序体验118B-1。
计算装置110可以接收选择嵌入式应用程序条的用户输入(302)。例如,计算装置110的用户可能希望与键盘模块122的地图或导航嵌入式应用程序进行交互。用户可以在显示嵌入式应用程序条118D的UID 112的位置处或其附近进行手势操作。
计算装置110可以基于用户输入来确定特定的嵌入式应用程序(304)。例如,键盘模块122可以从UI模块120和UID 112接收信息,其指示输入的位置或其他特征,并确定对应于对嵌入式应用程序条118D内的与地图或导航嵌入式应用程序相关联的图形按钮的选择的输入。
计算装置110可以启动特定的应用程序(306)。例如,响应于检测到选择嵌入式应用程序条118D的用户输入并且响应于确定特定的嵌入式应用程序,键盘模块122可以启动或调用地图或导航嵌入式应用程序,使得该地图或导航嵌入式应用程序作为一个或多个受键盘模块122控制的应用程序线程或进程来执行。
计算装置110可以输出与特定的嵌入式应用程序相关联的嵌入式应用程序体验,以进行显示(308)。例如,通过启动地图或导航嵌入式应用程序,键盘模块122可以使UI模块120和UID 112显示代替初始的嵌入式应用程序体验的第二嵌入式应用程序体验。键盘模块122可以向UI模块120发送指令,以使UI模块120显示键118A、嵌入式应用程序条118D、以及与地图或导航嵌入式应用程序相关的后续嵌入式应用程序体验118B-2。
计算装置110可以接收与嵌入式应用程序体验相关联的用户输入(310)。例如,从嵌入式应用程序体验118B-2,计算装置110的用户可以在键118A处提供输入,以在位置输入框118F中输入针对“电影院”的位置搜索查询。
计算装置110可以基于与嵌入式应用程序体验相关联的用户输入来执行一个或多个操作(312)。例如,键盘模块122可以获得搜索结果118E的轮播,该搜索结果的轮播是地图或导航类型嵌入式应用程序通过对位置输入框118F中包含的信息执行位置搜索而返回的。用户可以在搜索结果118E处提供输入(例如,滑过),以滑过轮播中包含的不同结果卡。用户可以在搜索结果118E处提供输入(例如,向上滑动),以将特定的结果卡插入编辑区域116C中(例如,用于随后作为文本消息的一部分发送)。
计算装置110可以响应于与嵌入式应用程序体验相关联的用户输入而进行许多其他操作。例如,键盘模块122可以修改与由日历类型嵌入式应用程序维持或访问的日历相关联的日历条目。键盘模块122可以流传输由嵌入式应用程序提供的媒体内容(例如,电影、音乐、电视节目、视频片段、游戏等)。键盘模块122可以显示或搜索由照片管理类型的嵌入式应用程序提供的照片。键盘模块122可以显示由搜索类型嵌入式应用程序提供的搜索结果。
图4A–4C是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。图4A-4C分别示出了示例图形用户界面614A-614C(统称为用户界面614)。但是,在其他情况下,也可以使用图形用户界面的许多其他示例。每个图形用户界面614可以对应于图1A、1B和2的计算装置110或210显示的图形用户界面。下面在计算装置110的上下文中描述图4A-4C。
图形用户界面614包括输出区域616A、编辑区域616C和图形键盘616B。图形键盘616B包括多个键618A、以及嵌入式应用程序体验618B-1和嵌入式应用程序条618D-1、嵌入式应用程序体验618B-2和嵌入式应用程序条618D-2、或嵌入式应用程序体验618B-3和嵌入式应用程序条618D-3。
图4A-4C示出了键盘模块122如何经由突出显示、颜色改变等使嵌入式应用程序条改变外观,以向用户指示正在执行哪个特定的嵌入式应用程序并提供嵌入式应用程序体验。例如,如图4A所示,嵌入式应用程序条618D-1示出了突出显示的搜索元素,以向计算装置110的用户指示嵌入式应用程序体验618B-1与由键盘模块122执行的搜索类型嵌入式应用程序相关联。如图4B所示,嵌入式应用程序条618D-2示出了突出显示的地图或导航元素,以向计算装置110的用户指示嵌入式应用程序体验618B-2与由键盘模块122执行的地图或导航类型嵌入式应用程序相关联。如图4C所示,嵌入式应用程序条618D-3示出了突出显示的视频元素,以向计算装置110的用户指示嵌入式应用程序体验618B-3与由键盘模块122执行的视频类型嵌入式应用程序相关联。
图4A-4C还示出了键盘模块122如何使嵌入式应用程序体验的输入区域向用户指示正在执行哪个特定的嵌入式应用程序并提供嵌入式应用程序体验。例如,如图4A所示,嵌入式应用程序体验618B-1包括输入区域旁边的搜索元素,如图4B所示,嵌入式应用程序条618D-2包括输入区域旁边的地图或导航元素,且如图4C所示,嵌入式应用程序体验618B-3包括输入区域旁边的视频元素。
图5A和5B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。图5A和5B分别示出了示例图形用户界面714A-714B(统称为用户界面714)。但是,在其他情况下,也可以使用图形用户界面的许多其他示例。每个图形用户界面714可以对应于图1A、1B和2的计算装置110或210显示的图形用户界面。下面在计算装置110的上下文中描述图5A和5B。
图形用户界面714包括输出区域716A、编辑区域716C和图形键盘716B。图形键盘716B包括多个键718A、嵌入式应用程序体验718B和嵌入式应用程序条718D。
虽然在某些情况下,键盘模块122可以使UID 112在键718A上方或在键718A与编辑区域716C之间显示嵌入式应用程序条718D,在其他示例中,键盘模块122使UID 112在图形键盘716B的不同位置显示应用程序条718D。例如,图5A示出了键盘模块122如何使UID 112在键118A的左侧或右侧显示嵌入式应用程序条718D。图5B示出了键盘模块122如何使UID112在键118A下方显示嵌入式应用程序条718D。键盘模块122可以使UID 112在改进可用性的图形键盘716B的任何部分内显示嵌入式应用程序条718。换句话说,嵌入式应用程序条718D可以放置在图形键盘716B内的任何地方。在某些情况下,键盘模块122可以使UID 112将嵌入式应用程序条718D分成多个部分,嵌入式应用程序条718D的一部分位于图形键盘716B的一部分处,而嵌入式应用程序条718D的其他部分则位于图形键盘716B的不同部分处。
图6A和6B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。图6A和6B分别示出了示例图形用户界面814A-814B(统称为用户界面814)。但是,在其他情况下,也可以使用图形用户界面的许多其他示例。每个图形用户界面814可以对应于图1A、图1B和图2的计算装置110或210显示的图形用户界面。下面在计算装置110的上下文中描述图6A和6B。
图形用户界面814包括输出区域816A、编辑区域816C和图形键盘816B。图形键盘816B包括多个键818A、嵌入式应用程序体验818B-1和嵌入式应用程序条818D-1、或嵌入式应用程序体验818B-2和嵌入式应用程序条818D-2。
图6A和6B示出了,尽管键盘模块122可以使嵌入式应用程序条818D-1和818D-2是静态,键盘模块122如何使嵌入式应用程序条818D-1和818D-2可滚动或具有多个选项卡或页面。例如,图6A示出了键盘模块122如何使UID 112显示包括第一组图形按钮的嵌入式应用程序条818D-1。图6B示出了在检测到在显示嵌入式应用程序条818D-1的位置处的UID112处的输入之后,键盘模块122如何使UID 112显示包括第二组图形按钮的嵌入式应用程序条818D-2。第一组图形按钮代表按钮的第一页面或选项卡,第二组图形按钮代表按钮的不同页面或选项卡。
图6A进一步示出了键盘模块122如何在显示嵌入式应用程序条818D-1的同时,使UID 112显示嵌入式应用程序体验818B-1作为默认的嵌入式应用程序体验。图6B示出了在检测到在显示嵌入式应用程序条818D-1的位置处的UID 112处的输入之后,键盘模块122如何在显示嵌入式应用程序条818D-2的同时,使UID 112显示嵌入式应用程序体验818B-2作为默认的嵌入式应用程序体验。通过启用页面或不同的默认嵌入式应用程序体验,键盘模块122可以提高图形键盘816B的可用性,因为可以减少用户切换到不同的嵌入式应用程序体验所需的输入量。
图7A和7B是示出根据本公开的一个或多个方面的示例计算装置的示例图形用户界面的概念图,该示例计算装置配置为呈现执行一个或多个嵌入式应用程序的图形键盘。
图7A-7B分别示出了示例图形用户界面914A-914B(统称为用户界面914)。但是,在其他情况下,也可以使用图形用户界面的许多其他示例。每个图形用户界面914可以对应于图1A、图1B和图2的计算装置110或210显示的图形用户界面。下面在计算装置110的上下文中描述图7A和7B。
图形用户界面914包括输出区域916A、编辑区域916C和图形键盘916B。图形键盘916B包括多个键918A-1或多个键918A-2、嵌入式应用程序体验918B和嵌入式应用程序条918D。
如图7A所示,在一些示例中,当在文本输入模式下操作时,键盘模块122可以使图形键盘116B包括图形元素918C作为键918A-1中的一个。图形元素918C代表图形键盘116B的可选择的元素(例如,图标、图像、键盘键或其他图形元素),用于手动调用可从图形键盘116B内访问的各种嵌入式应用程序体验中的一个或多个。
例如,如图7B所示,响应于在显示图形元素918C的UID 112位置处检测到输入,键盘模块122可以确定用户选择了图形元素918C。键盘模块122可以从以文本输入模式操作转变为以嵌入式应用程序模式操作,并且响应于检测到与图形元素918C相关联的输入,使UID112显示图形键918A-2来代替图形键918A-1。当以嵌入式应用程序模式操作时,键盘模块122可以使图形键盘在图形键盘916B内显示嵌入式应用程序体验918B和/或嵌入式应用程序条918D。
本公开的一些方面包括由在计算装置处执行的键盘应用程序输出用于显示的包括嵌入式应用程序条的图形键盘。在一些方面,嵌入式应用程序条包括一个或多个图形元素,每个图形元素对应于来自多个嵌入式应用程序的特定的嵌入式应用程序,每个嵌入式应用程序可由键盘应用程序执行。在一些情况下,多个嵌入式应用程序包括搜索类型嵌入式应用程序、日历类型嵌入式应用程序、视频类型嵌入式应用程序、照片类型嵌入式应用程序、地图或导航类型嵌入式应用程序、音乐类型嵌入式应用程序,等等。
一些方面包括接收选择嵌入式应用程序条的用户输入,由键盘应用程序基于用户输入确定特定的嵌入式应用程序,以及由键盘应用程序启动特定的嵌入式应用程序。在某些情况下,响应于接收到选择嵌入式应用程序条的用户输入,键盘应用程序在嵌入式应用程序条内突出显示特定的嵌入式应用程序的图形元素。在某些情况下,启动特定的嵌入式应用程序包括通过键盘应用程序发起一个或多个应用程序线程,以执行特定的嵌入式应用程序的操作。
一些方面包括通过键盘应用程序输出与特定的嵌入式应用程序相关联的嵌入式应用程序体验以用于显示。在一些示例中,输出嵌入式应用程序体验包括显示特定的嵌入式应用程序的GUI,以代替图形键盘的某些或所有的图形键。在某些情况下,特定的嵌入式应用程序体验包括专用于特定的嵌入式应用程序的应用程序控件。在某些情况下,特定的嵌入式应用程序体验包括可选择的内容,例如一个或多个内容卡。
一些方面包括接收与嵌入式应用程序体验相关联的用户输入,以及基于与嵌入式应用程序体验相关联的用户输入来进行操作。在某些情况下,与嵌入式应用程序体验相关联的用户输入包括用于选择嵌入式应用程序体验的内容的输入。并且在某些情况下,基于与嵌入式应用程序体验相关联的用户输入进行操作包括将所选内容输入到用键盘应用程序的图形键盘编写的文本的主体中。在某些情况下,文本的主体是消息或文档,或者是用于编写消息或文档的GUI的编辑区域。
一些方面包括接收与嵌入式应用程序条相关联的附加的用户输入,并且响应于该附加的用户输入:由键盘应用程序启动不同的嵌入式应用程序,并由键盘应用程序进行与不同的嵌入式应用程序相关的操作。在某些情况下,进行与不同的嵌入式应用程序相关的一个或多个操作包括用与不同的应用程序相关联的新的嵌入式应用程序体验替换先前显示的嵌入式应用程序体验。在一些方面,嵌入式应用程序条是可滚动的。在一些方面,所述嵌入式应用程序条包括可选择的图形元素的多个页面。在某些方面,嵌入式应用程序条位于图形键盘的至少一些键上方。在某些方面,嵌入式应用程序条位于图形键盘的至少一些键的下方或一侧。在某些方面,嵌入式应用程序条的一部分位于图形键盘的一个区域中,且嵌入式应用程序条的其他部分位于图形键盘的其他区域中。
在某些方面,图形键盘包括特定的图形元素或键,当其被选择时,使得键盘应用程序显示嵌入式应用程序条。
在一个或多个示例中,可以以硬件,软件、固件或其任何组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者通信介质,其包括有助于根据通信协议将计算机程序从一个地方转移到另一地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以取回指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁性存储装置、闪存或任何其他介质,其可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问。另外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆、双绞线、数字用户线(DSL)、或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电和微波的无线技术。但是,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是涉及非瞬态有形存储介质。所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘则通过激光以光学方式复制数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其他等效集成的或分立逻辑电路。因此,如所使用的,术语“处理器”可以指任何前述结构或适合于实现所描述的技术的任何其他结构。另外,在某些方面,可以在专用硬件和/或软件模块内提供所描述的功能。而且,该技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)的多种设备或装置中实现。在本公开中描述各种组件、模块或单元以强调配置为执行所公开的技术的装置的功能方面,但不一定需要由不同硬件单元来实现。而是,如上所述,各种单元可以组合在硬件单元中,或者由互操作的硬件单元的集合提供,包括与合适的软件和/或固件结合的如上所述的一个或多个处理器。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (15)
1.一种方法,包括:
由在计算装置处执行的键盘应用程序来输出用于显示的图形键盘,所述图形键盘包括嵌入式应用程序条,其中所述嵌入式应用程序条包括一个或多个图形元素,每个图形元素对应于来自多个嵌入式应用程序的特定的嵌入式应用程序,每个嵌入式应用程序可由所述键盘应用程序执行;
由所述键盘应用程序接收选择所述嵌入式应用程序条的用户输入;
由所述键盘应用程序基于所述用户输入确定特定的嵌入式应用程序;以及
由所述键盘应用程序启动所述特定的嵌入式应用程序。
2.如权利要求1所述的方法,其中所述多个嵌入式应用程序包括以下中的两个或多个:搜索类型嵌入式应用程序、日历类型嵌入式应用程序、视频类型嵌入式应用程序、照片类型嵌入式应用程序、地图或导航类型嵌入式应用程序、音乐类型嵌入式应用程序。
3.如权利要求1或2中任一项所述的方法,还包括:
响应于接收到选择所述嵌入式应用程序条的所述用户输入,由所述键盘应用程序在所述嵌入式应用程序条内突出显示所述特定的嵌入式应用程序的图形元素。
4.如权利要求1-3中任一项所述的方法,其中启动所述特定的嵌入式应用程序包括通过所述键盘应用程序发起一个或多个应用程序线程,以执行所述特定的嵌入式应用程序的操作。
5.如权利要求1-4中任一项所述的方法,还包括:
通过至少显示所述特定的嵌入式应用程序的图形用户界面来代替所述图形键盘的至少一些图形键,由所述键盘应用程序输出用于显示的与所述特定的嵌入式应用程序相关联的嵌入式应用程序体验。
6.如权利要求5所述的方法,还包括:
由所述键盘应用程序接收与所述嵌入式应用程序体验相关联的用户输入;以及
由所述键盘应用程序基于与所述嵌入式应用程序体验相关联的用户输入来进行一个或多个操作。
7.如权利要求1-6中任一项所述的方法,还包括:
由所述键盘应用程序接收与所述嵌入式应用程序条相关联的附加的用户输入;以及
响应于接收到所述附加的用户输入:
由所述键盘应用程序启动不同的嵌入式应用程序;以及
由所述键盘应用程序进行与所述不同的嵌入式应用程序相关的一个或多个操作。
8.如权利要求7所述的方法,其中与所述不同的嵌入式应用程序相关的所述一个或多个操作包括,用与所述不同的应用程序相关联的新的嵌入式应用程序体验替换先前显示的嵌入式应用程序体验。
9.如权利要求1-8中任一项所述的方法,其中所述嵌入式应用程序条是可滚动的。
10.如权利要求1-9中任一项所述的方法,其中所述嵌入式应用程序条包括可选择的图形元素的多个页面。
11.如权利要求1-10中任一项所述的方法,其中所述嵌入式应用程序条位于所述图形键盘的至少一些键的上方,或者所述嵌入式应用程序条位于所述图形键盘的至少一些键的下方的或其一侧。
12.如权利要求1-11中任一项所述的方法,其中所述嵌入式应用程序条位于所述图形键盘的一个区域中,且所述嵌入式应用程序条的其他部分位于所述图形键盘的其他区域中。
13.如权利要求1-12中任一项所述的方法,其中所述图形键盘包括特定的图形元素或键,当所述图形元素或键被选择时,使得所述键盘应用程序显示所述嵌入式应用程序条。
14.一种计算装置,包括至少一个处理器,所述处理器配置为进行如权利要求1-13所述的方法中的任一个。
15.一种系统,包括构件,所述构件用于进行如权利要求1-13所述的方法中的任一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762525571P | 2017-06-27 | 2017-06-27 | |
US62/525,571 | 2017-06-27 | ||
PCT/US2018/024639 WO2019005245A1 (en) | 2017-06-27 | 2018-03-27 | ACCESSING APPLICATION FEATURES FROM A GRAPHIC KEYBOARD |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110799943A true CN110799943A (zh) | 2020-02-14 |
Family
ID=62044975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880043454.3A Pending CN110799943A (zh) | 2017-06-27 | 2018-03-27 | 从图形键盘内访问应用程序功能 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200142718A1 (zh) |
EP (1) | EP3622391A1 (zh) |
JP (1) | JP2020525933A (zh) |
KR (1) | KR20200009090A (zh) |
CN (1) | CN110799943A (zh) |
WO (1) | WO2019005245A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102079063B1 (ko) | 2018-06-20 | 2020-04-13 | 한국화학연구원 | 경질올레핀 제조용 촉매, 이의 제조방법, 및 이를 이용하여 경질올레핀을 제조하는 방법 |
USD983223S1 (en) * | 2021-01-29 | 2023-04-11 | Beijing Zitiao Network Technology Co., Ltd. | Display screen or portion thereof with a graphical user interface |
USD981429S1 (en) * | 2021-03-25 | 2023-03-21 | Beijing Zitiao Network Technology Co., Ltd. | Display screen or portion thereof with a graphical user interface |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246944A1 (en) * | 2010-04-06 | 2011-10-06 | Google Inc. | Application-independent text entry |
US20140223372A1 (en) * | 2013-02-04 | 2014-08-07 | 602531 British Columbia Ltd. | Method, system, and apparatus for executing an action related to user selection |
WO2017065987A1 (en) * | 2015-10-12 | 2017-04-20 | Microsoft Technology Licensing, Llc | Multi-window keyboard |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842856B2 (en) * | 2001-05-11 | 2005-01-11 | Wind River Systems, Inc. | System and method for dynamic management of a startup sequence |
US10481769B2 (en) * | 2013-06-09 | 2019-11-19 | Apple Inc. | Device, method, and graphical user interface for providing navigation and search functionalities |
CN103309618A (zh) * | 2013-07-02 | 2013-09-18 | 姜洪明 | 移动操作系统 |
-
2018
- 2018-03-27 US US16/619,067 patent/US20200142718A1/en not_active Abandoned
- 2018-03-27 KR KR1020197038031A patent/KR20200009090A/ko not_active Application Discontinuation
- 2018-03-27 EP EP18719715.7A patent/EP3622391A1/en not_active Withdrawn
- 2018-03-27 JP JP2019572012A patent/JP2020525933A/ja active Pending
- 2018-03-27 CN CN201880043454.3A patent/CN110799943A/zh active Pending
- 2018-03-27 WO PCT/US2018/024639 patent/WO2019005245A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246944A1 (en) * | 2010-04-06 | 2011-10-06 | Google Inc. | Application-independent text entry |
US20140223372A1 (en) * | 2013-02-04 | 2014-08-07 | 602531 British Columbia Ltd. | Method, system, and apparatus for executing an action related to user selection |
WO2017065987A1 (en) * | 2015-10-12 | 2017-04-20 | Microsoft Technology Licensing, Llc | Multi-window keyboard |
Also Published As
Publication number | Publication date |
---|---|
JP2020525933A (ja) | 2020-08-27 |
WO2019005245A1 (en) | 2019-01-03 |
EP3622391A1 (en) | 2020-03-18 |
US20200142718A1 (en) | 2020-05-07 |
KR20200009090A (ko) | 2020-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7003170B2 (ja) | タッチ感知デバイス上におけるインタラクティブ通知の表示 | |
CN108700993B (zh) | 具有建议的搜索查询区域的键盘 | |
US8504842B1 (en) | Alternative unlocking patterns | |
US20170308247A1 (en) | Graphical keyboard application with integrated search | |
US10169467B2 (en) | Query formulation via task continuum | |
KR101633842B1 (ko) | 연속적인 제스쳐 입력을 위한 복수의 그래픽 키보드들 | |
US9946773B2 (en) | Graphical keyboard with integrated search features | |
WO2018132152A1 (en) | Application extension for generating automatic search queries | |
JP2019511771A (ja) | グラフィカルキーボード内での図像シンボル検索 | |
KR20130132810A (ko) | 시스템 레벨 검색 사용자 인터페이스 | |
CN107451439B (zh) | 用于计算设备的多功能按钮 | |
US20190034080A1 (en) | Automatic translations by a keyboard | |
KR20180051782A (ko) | 사용자 인증과 관련된 사용자 인터페이스 표시 방법 및 이를 구현한 전자 장치 | |
KR102064623B1 (ko) | 언어 독립적인 확률적 콘텐츠 매칭 기법 | |
CN110799943A (zh) | 从图形键盘内访问应用程序功能 | |
US11243679B2 (en) | Remote data input framework | |
WO2019005246A1 (en) | ACCESSING SECURE INFORMATION FROM A GRAPHIC KEYBOARD | |
US11822869B2 (en) | User interface with command-line link creation for generating graphical objects linked to third-party content |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200214 |
|
WD01 | Invention patent application deemed withdrawn after publication |