CN103959206B - 用于动态适应虚拟键盘的方法和装置 - Google Patents

用于动态适应虚拟键盘的方法和装置 Download PDF

Info

Publication number
CN103959206B
CN103959206B CN201180075349.6A CN201180075349A CN103959206B CN 103959206 B CN103959206 B CN 103959206B CN 201180075349 A CN201180075349 A CN 201180075349A CN 103959206 B CN103959206 B CN 103959206B
Authority
CN
China
Prior art keywords
dummy keyboard
input object
electrical form
input
textual
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.)
Expired - Fee Related
Application number
CN201180075349.6A
Other languages
English (en)
Other versions
CN103959206A (zh
Inventor
A.比尔根
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103959206A publication Critical patent/CN103959206A/zh
Application granted granted Critical
Publication of CN103959206B publication Critical patent/CN103959206B/zh
Expired - Fee Related 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/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/0485Scrolling or panning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

在一个示例实施例中,移动计算设备显示电子表格的至少一部分,该电子表格含有输入对象以接受用户输入。虚拟键盘模块解析该电子表格以发现输入对象的属性,以及基于解析的结果自动地确定该表格是否包含命令按钮或其它非文本输入对象。响应于发现电子表格包含非文本输入对象,虚拟键盘模块自动地将对应的非文本虚拟键盘组件添加到虚拟键盘,以及虚拟键盘模块在移动计算设备的显示器上显示具有所添加的非文本虚拟键盘组件的虚拟键盘。所添加的非文本虚拟键盘模块可以被配置为允许用户从虚拟键盘来调用与表格中的对应的非文本输入对象相关联的功能。描述了其它实施例并对其要求保护。

Description

用于动态适应虚拟键盘的方法和装置
技术领域
本公开一般涉及数据处理系统。更具体地,本公开涉及用于例如诸如手持型移动计算设备的数据处理系统的虚拟键盘。
背景技术
当人(“用户”)与数据处理系统上的软件应用交互时,软件应用可以使得数据处理系统显示各种输入对象以用于收集来自用户的信息。这些输入对象可以包含:文本域和其它用户界面(UI)对象。例如,电子邮件应用可以呈现提示用户登录凭据的弹出式窗口,记账应用可以呈现用于记录业务花费的用户界面,或者互联网浏览器应用可以呈现用于向社交网站注册的网页或用于参与在线聊天的窗口。
出于本公开的目的,名词“显示器”和“监视器”指硬件组件,数据处理系统使用该硬件组件向用户呈现虚拟信息。名词“屏幕”指在时间中的特定点呈现在监视器上的所有内容。名词“窗口”指由应用使用的将一组相关的内容项一起呈现的显示器的一部分。名词“页面”指将一起呈现在单个窗口中的一组相关的内容项,即使一次不能将所有的项符合在窗口中;以及可能需要滚动、平移(panning)和/或缩放以将页面的一些部分放入到窗口中。名词“电子表格”指含有用于收集来自用户的信息的一个或多个输入对象的页面。因此,例如,数据处理系统可以呈现含有多个窗口的屏幕。这些窗口中的一个窗口可以呈现来自基于网络的电子邮件应用的网页。该页面可以包含用于向该电子邮件应用注册的输入对象。因此,该网页可以被称为电子表格。在窗口中,电子表格的一部分可以是可见的。用户可以在窗口中向下滚动以看到电子表格的更多部分。
在具有全尺寸的监视器、单独的全尺寸键盘和鼠标或其它指点设备的台式计算机或膝上型计算机上填充电子表格可能是相对容易的。全尺寸的监视器可以使得用户能够看到电子表格的大多数或所有文本域和其它UI对象。全尺寸的键盘可以包含“制表(Tab)”键,“制表”键允许用户容易地在电子表格的邻近文本域之间进行导航。而且鼠标可以使得用户能够与电子表格上的特定输入对象(例如,用于如提交、保存或发送功能的按钮)进行交互-只要电子表格足够小或监视器的屏幕足够大以显示那些输入对象连同表格的其余部分。
然而,在近年来,一些数据处理系统已经被设计成在没有诸如键盘和鼠标的单独输入设备的情况下进行操作。例如,手持型移动计算设备(“手持型设备”)可以使用触摸屏技术以通过显示器屏幕来提供虚拟输出和用户输入两者。特别地,手持型设备可以在它的显示器上呈现按钮和/或其它对象(“虚拟键盘组件”)的集合,其合在一起看起来像键盘。并且当用户碰触看起来像键的虚拟键盘组件时,手持型设备可以进行响应,就好像用户已经在真实的键盘上按下对应的键一样。出于本公开的目的,术语“虚拟键盘”表示在显示幕的预定部分中由数据处理系统显示的可选择的虚拟键盘组件(例如,字母数字按钮)的集合。显示器屏幕的这部分可以被称为虚拟键盘框或窗口。作为对比,术语“常规键盘”表示与显示器不同的物理键盘。类似地,术语“键”指将被压下以提供用户输入的常规键盘的一部分,而术语“虚拟键”指被显示作为虚拟键盘一部分的可选择的虚拟键盘组件。如上所指示的,虚拟键还可以被称为按钮。
通常,手持型设备的操作系统(OS)将提供标准虚拟键盘,并且在该设备上执行的应用可以默认地使用该标准虚拟键盘。因为此类虚拟键盘能够由多个应用使用,所以它可以被称为通用虚拟键盘。此外,第三方可以创建具有不同特征的虚拟键盘,以供在手持型设备上安装和使用。例如,Swype Inc.的Swype™虚拟键盘允许用户在键之间不抬起他或她的手指的情况下选择一连串的虚拟键,以及手持型设备可以允许它的用户安装和使用Swype™键盘以替代标准虚拟键盘。因为此类虚拟键盘还可以由多个应用使用,所以它还被称为通用虚拟键盘。另外,可能的是,软件应用的开发者来创建特定用于那个应用的新的虚拟键盘。甚至可能的是,开发者针对那个应用中的每个不同屏幕或电子表格建立具有不同虚拟键的不同虚拟键盘。这些类型的虚拟键盘可以被称为专用虚拟键盘或表格特定虚拟键盘。然而,应用开发者避免专用虚拟键盘或表格特定虚拟键盘的原因有许多,包含关于与创建和维护此类虚拟键盘相关联的时间和成本的原因。因此,用于手持型设备的应用通常使用由OS提供的通用虚拟键盘。
相对于具有监视器和单独的常规键盘的设备而言,虚拟键盘使得手持型设备的开发者生产具有更小尺寸和更少机械部件的设备成为可能。然而,在具有虚拟键盘的手持型设备上填充电子表格可能颇具挑战性。例如,一些用户偏爱具有压下的键的物理键盘的感觉。另外,因为手持型设备可以使用仅提供非常有限空间数量或“不动产(real estate)”以便为用户显示信息的小屏幕,因此显示器屏幕的尺寸可以导致许多挑战。
例如,由于屏幕的小尺寸,如果用于手持型设备的电子表格包含许多内容,则用户可能需要把该电子表格的一部分进行放大以使得在该部分中的文本或其它UI对象大的能够阅读和使用。然而,放大通常减少了在该屏幕上可见的电子表格的比例,使得看不到结束在显示器的边界外部的表格的部分。此外,当虚拟键盘占据了很大部分屏幕时,加重了这些类型的挑战。另外,虚拟键盘不提供如常规键盘的制表键操作以帮助在电子表格的内部进行导航的任何虚拟键。因此,用户可能需要使用另外的缩放操作,以及平移操作和选择操作,以查看和选择已经缩放出屏幕的电子表格的那些部分上的输入对象。
附图说明
根据所附权利要求书、以下一个或多个示例实施例的详细描述以及对应附图,本发明的特征和优点将变得明显,其中:
图1是根据至少一个示例实施例的具有虚拟键盘模块的数据处理系统的框图;
图2A、2B和图2C提供了根据至少一个示例实施例的描绘各种输出配置的示意图;
图3呈现了根据至少一个示例实施例的用于动态地适应虚拟键盘的过程的流程图;以及
图4A到图4D呈现了根据各种备选实施例的说明用于提供虚拟键盘的组件的框图。
具体实施方式
可以将通用虚拟键盘默认地布置成基本上如标准的QWERTY键盘。此外,通过轻触虚拟键盘上的选项按钮,用户可以使得可以使用的虚拟键或按钮改变。例如,通过轻触“SYM”按钮,用户可以使得虚拟键盘改变以示出数字和常见符号,而不是字母字符。具有除非用户请求改变(例如,通过轻触“SYM”按钮或“切换(Shift)”按钮)否则不变的虚拟键的通用虚拟键盘可以被称为静态虚拟键盘。
当人使用具有静态虚拟键盘的手持型设备以与电子表格交互时,该人可能需要执行许多不同的操作,且那些操作中的至少一些操作可能是相当困难的。开始,用户可能需要放大以将电子表格中的文本和其它UI对象的尺寸增加到可读的尺寸。然后,该用户可能需要选择用于输入的第一域(例如,用户名域)。响应于用户选择字母数字输入域,OS可以自动地使得在屏幕的预定部分中显示(或“弹出”)虚拟键盘,同时还使得在所选择的输入域的开始处显示闪动的光标。当已经选择了输入域时,该域可以被称为活动的或具有焦点(focus)。类似地,当显示虚拟键盘时,可以认为它是活动的,以及当不显示它时,可以认为它是不活动的。当虚拟键盘是活动的时,虚拟键盘窗口可能覆盖显示空间的底半部,因此大大地减少了可用于显示电子表格的空间。因此,虚拟键盘有可能掩盖电子表格中的文本域和其它UI对象(例如,用于此类提交、保存或发送功能的命令按钮)。
在任何情况下,在虚拟键盘弹出后,用户可以使用虚拟键盘以输入用于活动输入域的字母数字数据。在输入了用于第一输入域的期望数据后,用户可能需要跨越屏幕对电子表格进行缩小和/或平移以将下一个输入域放入到未被虚拟键盘占据的屏幕的部分中的视野中。然后,用户可能需要放大以使得电子表格中的文本足够大以进行阅读,以验证他或她已经找到下一个期望的输入域。然后,该用户可以选择那个输入域并且使用虚拟键盘来输入另外的数据。平移、缩放、选择和输入的过程可能继续直到用户已经输入了电子表格所需的所有数据。然后,用户可以进行另外的缩放和平移操作以找到和选择用于期望动作(例如,提交、保存或发送)的UI对象。另外,贯穿于这个过程中,如果输入对象是小的和/或紧挨着,则选择期望的输入对象可能是困难的。
根据本公开,在至少一个实施例中,虚拟键盘模块解析使用中的特定电子表格,并且基于该表格的发现的属性来动态地修改虚拟键盘。因此,虚拟键盘模块提供了动态定制的、通用的虚拟键盘。
例如,如果虚拟键盘模块发现电子表格具有超过一个输入对象,则虚拟键盘模块可以自动地将一个或两个导航按钮添加到虚拟键盘(例如,“下一个”按钮和“上一个”按钮),使用这些导航按钮使得该用户能够容易地将焦点从当前输入对象改变到下一个输入对象或上一个输入对象。
另外,虚拟键盘模块可以自动地检测表格中的命令按钮,以及作为响应,自动地将对应的命令按钮添加到虚拟键盘。例如,如果电子表格是用于登陆凭证的弹出窗口,其具有用于用户标识(userid)和密码的文本域,以及“提交”和“取消”按钮,则虚拟键盘模块可以自动地将“提交”按钮添加到虚拟键盘。当用户轻触虚拟键盘中的“提交”按钮时,虚拟键盘模块可以将那种输入转换成指示用户选择了表格上的“提交”按钮的输入,并且然后底层应用可以相应地处理该输入。虚拟键盘模块还可以自动地检测表格中的其它输入对象,并且作为响应,自动地将对应的虚拟键盘组件添加到虚拟键盘。例如,如果电子表格包含用于选择颜色的输入对象,则虚拟键盘模块可以自动地将颜色拾取器添加到虚拟键盘,以及如果电子表格包含用于接收日期数据的文本域,则虚拟键盘模块可以将日期拾取器添加到虚拟键盘。
图1是根据一个示例实施例的具有虚拟键盘模块60的数据处理系统20。在所说明的实施例中,数据处理系统20是手持型移动计算设备20,其具有至少一个处理器30以及数据存储设备34和响应于处理器30的显示器40。在所说明的实施例中,虚拟键盘模块60被实现成软件,该软件存储在数据存储设备34中并且由处理器30来执行以提供以下所述功能。OS 50和一个或多个应用52也被存储在数据存储设备34中,并且当在处理器30上执行这些组件时,它们可以调用虚拟键盘模块60。
在图1的实施例中,虚拟键盘模块60包含解析引擎62、布局引擎64、和输入管理器66。如以下更详细描述的,解析引擎62、布局引擎64、和输入管理器66进行合作以基于用户正在与之进行交互的电子表格的属性来提供用于虚拟键盘的动态适应。在图1中,组件遵从特定设计架构。在备选的实施例中,可以使用不同的架构来提供动态定制的、通用的虚拟键盘。例如,替代使用含有解析引擎、布局引擎和输入管理器作为子组件的中央虚拟键盘模块,可以使用虚拟键盘系统来实现该功能性,该虚拟键盘系统使用合作以提供动态定制、通用虚拟键盘的两个或多个对等组件。
另外,其中一些功能性可以由其它模块来提供。例如,可以将输入管理器的一些功能或全部功能实现成文本子系统的一部分、OS的一部分或一些其它模块的一部分。同样地,可以将解析引擎和其它组件的一些或全部功能实现成一些其它模块的一部分。在不同的实施例中可以使用许多另外的变型以提供本文所述的功能性。
图4A-4D呈现了说明根据各种备选的实施例架构410-425的用于提供虚拟键盘的组件的框图。例如,根据架构410,虚拟键盘管理器、解析引擎、布局引擎和输入管理器被实现成与OS相同层级级别处的相对独立的同属(sibling)。架构411是类似的,但是布局引擎被实现成虚拟键盘模块的一部分。架构412类似于架构411,但是解析引擎被实现成输入管理器的一部分。架构413类似于架构411,但是虚拟键盘模块被实现成布局引擎的一部分。在这种层级中,布局引擎还可以从多个不同的虚拟键盘模块中进行选择。架构414与架构413相像,但是解析引擎被实现成输入管理器的一部分。还是在这个层级中,布局引擎可以从多个不同的虚拟键盘模块中进行选择。架构415与架构411相像,但是输入管理器也被实现成虚拟键盘模块的一部分。对于架构410-415,组件不直接地是OS的一部分。
在架构416中,组件被实现成OS内相对独立的同属。架构417与架构416相像,但是布局引擎被实现成虚拟键盘模块的一部分。架构418与架构417相像,但是解析引擎被实现成输入管理器的一部分。架构419与架构416相像,但是虚拟键盘模块被实现成布局引擎的一部分。架构420与架构419相像,但是解析引擎被实现成输入管理器的一部分。对于架构419和架构420,布局引擎可以从多个虚拟键盘中进行选择。架构421与图1中所描绘的架构相像,但是虚拟键盘模块被实现成OS的一部分。架构422与架构421相像,但是相对地独立于虚拟键盘模块来实现解析引擎。
在架构423-425中,用于提供虚拟键盘的组件中的一个或多个组件被实现成应用的一部分。例如,根据架构423,解析引擎被实现成应用的一部分,根据X来植入其它组件,此处X匹配来自包含架构410-422的组的任何架构(此处由应用内的解析引擎来替换来自那些架构的解析引擎)。类似地,对于架构424,Y表示来自包含架构410-422的组的任何架构(此处由来自架构424的虚拟键盘模块、布局引擎和解析引擎来替换来自那些架构的虚拟键盘模块、布局引擎和解析引擎)。同样的,对于架构425,Z表示来自包含架构410-422的组的任何架构(此处由来自架构425的虚拟键盘模块、布局引擎和解析引擎来替换来自那些架构的虚拟键盘模块、布局引擎和解析引擎)。
各种不同编程语言或编程语言的组合等可以用于实现各种不同环境中的必要组件。例如,可以使用C和C++的组合,以及特定于每种UI技术(例如用于超文本标记语言(HTML)的Java描述语言(JavaScript)、Qt元语言或建模语言(QML)和用于QML的C++,等)的UI钩(hook)。对于针对不同平台或设备(诸如使用安卓(Android)OS的设备、使用iPhone OS的设备、使用视窗(Windows)CE OS的设备等)设计的实现方式,实现细节还可以变化。
图2A、2B和图2C呈现了描绘在移动设备20的显示器40上的各种输出配置的示意图。例如,图2A描绘了由与OS 50和虚拟键盘模块60合作的应用52在显示器40上呈现的一系列的图形用户界面(GUI)屏幕。应用52可以是网络浏览器应用,或允许用户输入的不同类型的应用。出于说明本发明的一个或多个实施例的一个或多个特征的目的,所说明的屏幕描绘了使得用户能够注册电子邮件账户的各种选项和操作。当然,相同的特征、类似的特征和/或相关的特征可以由许多不同类型的应用用于许多其它目的。
图2A中的屏幕100描绘了窗口,该窗口使用显示器40上的所有不动产以向用户显示各种项。这些项包含:一些文本性解释和指令、跟随着两个文本域112和114、以及命令按钮118。出于本公开的目的,术语“文本域”或“本文框”表示接受字母输入、数字输入、或字母和数字(字母数字)输入两者的输入域。在图2A到图2C中,文本域112用于接收来自用户的用户标识,以及文本域114用于接收来自用户的密码。命令按钮118用于在用户已经输入用户标识和密码后触发注册功能或事件。出于本公开的目的,接受字母或数字输入的对象(例如,文本域112和文本域114)可以被称为文本输入域或文本输入对象。作为对比,不接受字母或数字输入的输入对象可以被称为非文本输入对象。类似地,不同于文本按钮(诸如字母按钮和数字按钮)的虚拟键盘组件可以被称为非文本虚拟键盘组件。
如由屏幕120上的斜线圆122所示出的,在开始输入用户标识时,用户可以在文本域112上轻触。
作为响应,如在屏幕40上示出的,虚拟键盘模块60可以在显示器40的底半部上打开键盘窗口160,在显示器40的顶部留下节略的电子表格窗口150。(作为对比,电子表格窗口150未在屏幕120中示出,因为在那种情况下表格窗口150与显示器40共同延伸(即,占据整个显示器40)。出于本公开的目的,键盘窗口160还可以被称为虚拟键盘160。如在屏幕140中示出的,当虚拟键盘160是打开的或活动的时,由应用52使用的电子表格的供用户输入的一些重要部分在电子表格窗口150中是不可见的。
然而,在虚拟键盘模块60显示虚拟键盘160之前,虚拟键盘模块60执行各种操作以基于使用的电子表格的属性来动态地适应虚拟键盘160。
图3呈现了根据至少一个示例实施例的用于动态地适应虚拟键盘的过程的流程图。当用户在电子表格的文本域(例如,诸如文本域112)上轻触时,所说明的过程可以开始。如在框300处所示出的,响应于检测到文本域上的轻触,移动设备20将把控制传递给虚拟键盘模块60。如在框310示出的,虚拟键盘模块60然后可以确定电子表格的内容是否已经改变。例如,如果对于当前的电子表格而言正在首次调用虚拟键盘模块60,则虚拟键盘模块60将推断内容已经改变。此外,在以下的情况下虚拟键盘模块160可以推断内容已经改变:如果(a)向表格提供信息的组件提供了更新的数据;(b)对于源自一个或多个在线源的表格,或对于需要连接以接受用户输入或使用用户输入继续进行的表格,检测到丢失网络连接性;或(c)检测到其它变化。
如果内容已经改变,则如在框312示出的,解析引擎62可以解析电子表格。特别地,解析引擎62识别或认出表格中的不同输入对象或微件(widget),并且记录与那些对象相关联的各种属性。例如,对于在图2A中的屏幕100中所示出的电子表格,解析引擎62可以记录该表格包含文本域112,该文本域112被标记为“用户标识”,以及该文本域112接受高达某一长度的字母数字数据。解析引擎62可以记录用于文本域114的类似信息。解析引擎62还可以记录该电子表格包含命令按钮118,该命令按钮118被标记为“注册!”,以及该命令按钮118被配置为当被选择时触发特定事件或功能。在其它实例中,电子表格可以包含许多其它种类的输入对象,以及解析引擎62可以记录用于那些对象的相关属性。解析引擎62可以对其提取属性的输入对象包含而不限制于以下类型的对象:下拉列表、组合框、日期域、时间域、数字域、地址、颜色、地图、联系人、统一资源定位符(URL)或其它文件路径、音频/视频对象、签名、以及手写输入(例如,日文汉字字母输入)。
解析引擎62还可以基于与那些对象相关联的标签来记录用于输入对象的属性。例如,电子表格可以包含类别标签以将输入对象识别为用于输入特定类型数据的输入。例如,那些类别标签可以遵从特定微格式的约定。例如,可以由HTML文档中的以下标签组和类别来表示地理坐标:
见面在<跨度类别=“geo”>
<跨度类别= “纬度”>52.48</跨度>,
<跨度类别= “经度”>-1.89</跨度>,
</跨度>
书写成HTML的电子表格能够使用相同类别来对要求用户输入准确位置的一组框进行编码:
见面在<表格类别= “geo”>
<输入类型=“文本框”类别=“纬度”名字=“lat”>52.48</输入>,
<输入类型=“文本框”类别=“经度”名字=“long”>-1.89</输入>
<输入类型=“提交”/>
</表格>
当解析了该表格时,解析引擎62可以记录输入域“lat”用于纬度坐标,以及输入域“long”用于经度坐标。类似的技术可以用于解析具有用于将位置指定作为地址的输入域的电子表格,以及用于解析具有其它类型输入域的表格。
当解析电子表格时或在解析后,解析引擎62可以将所提取的信息中一些或全部信息布置在一个或多个列表中,以用于生成用于虚拟键盘的动态按钮。例如,当解析来自屏幕120的电子表格时,解析引擎62可以生成UI元素描述的以下结构化列表:
<1, 用户标识, 文本框, 焦点>
<2, 密码, 文本框, 非焦点>
<3, 注册!, 提交, 非焦点>
解析引擎62还可以向UI元素描述的结构化列表填入状态信息,诸如是否填充复选框,在下拉列表中什么项被选择等。另外,解析引擎可以基于先前使用向该列表填入上下文信息。例如,解析引擎62可以创建包含关于被键入到文本框中的先前条目的信息的状态数据的列表或树。
当电子表格是结构化的UI时,解析引擎62可以检查描述屏幕上的最终布局的UI框架的对象存储设备以从该表格中提取相关的输入对象和属性。结构化的UI包含但不限制于:基于HTML的界面、基于QML的界面、基于GNU图像处理程序(GIMP)工具集(GTK)的界面、基于启示基础库(Enlightenment Foundation Libraries)(EFL)的界面、基于克拉特(CLutter)软件库的界面、以及基于可扩展应用标记语言(XAML)的界面。如果电子表格不是结构化的UI,则解析引擎62可以检查该表格的其它方面以提取相关的输入对象和属性。
在解析了电子表格后,或在判定内容没有改变后,该过程到达框316,虚拟键盘模块60评估与该表格相关联的当前应用的上下文和系统上下文。例如,对于应用上下文,虚拟键盘模块60可以评估哪个输入对象具有焦点。对于系统上下文,虚拟键盘模块60可以确定什么类型的应用正在使用该电子表格或使用该应用的人的一般目的是什么。例如,虚拟键盘模块60可以判定用户的目的是拍照、创建联系人条目、或是获得一些其它最终结果。因此,在至少一个实施例中,虚拟键盘模块自动地检测电子表格的输入对象的控制语义或含义,并且基于所检测的控制语义来动态地适应用于虚拟键盘的输入布局。当在特定上下文内使用时,控制具有特定含义。虚拟键盘模块可以认出这种含义并且将它转换成虚拟键盘内的另外功能性。例如,电子邮件客户端能够使用纯文本框以得到来自该用户的“至(To):”地址。开发者能够超越这种基本功能并且将该文本框宣告为“电子邮件输入 ”域。所添加的宣告提供了另外的语义或含义,其然后使得文本框能够执行输入验证,例如以确保用户输入正确的电子邮件地址。根据本公开的虚拟键盘模块可以使用这些和其它类型的控制语义以提供更好的虚拟键盘。此外,虚拟键盘模块可以基于电子表格布局来推断新的控制语义或含义。例如,电子邮件客户端可以呈现具有“至(To):”“主题”和“体(body)”域和“发送”按钮的表格。如果“至:”域不包括有效的电子邮件地址,则键盘中的“发送”按钮的副本能够禁用自己,尽管其被塑造为用于表格的缺省动作。
此外,用户与系统、或与虚拟键盘的任何交互、以及系统中的一般上下文的改变可以导致虚拟键盘模块60重新扫描和重新解析电子表格并且动态地改变虚拟键盘。作为系统上下文改变的示例,如果提供新的输入模式(例如,地图位置拾取器)的背景安装完成,以及如果用户正在与具有关联于地址条目的输入对象的电子表格交互,则虚拟键盘模块60可以动态地将地图位置拾取器添加到虚拟键盘。
如在框318示出的,在虚拟键盘模块60解析了电子表格并评估了上下文后,布局引擎64使用解析结果和所提取的上下文数据以算出在虚拟键盘中应当包含哪些动态的虚拟键盘组件。也就是说,布局引擎64基于UI元素的结构化列表和所提取的上下文数据来确定虚拟键盘布局和呈现。
例如,再次参照图2A中的屏幕120,当用户在文本域112上轻触时,虚拟键盘模块60可以通过如上所述使用解析引擎62来解析电子表格并且分析上下文,然后通过使用布局引擎64基于解析和分析的结果来动态地确定哪些虚拟键盘组件应当被包含在虚拟键盘中来进行响应,如上所述。例如,就屏幕120而言,布局引擎64可以确定虚拟键盘应当具有以下虚拟键盘组件:
a)导航按钮(例如,“上一个”和“下一个”),其用于将焦点从当前的输入对象移动到上一个或下一个输入对象;
b)用于下一个输入对象的标签,显示在“下一个”导航按钮中(具有或不具有其它文本,诸如“下一个:”);
c)更多或更少的常规字母数字虚拟键;
d)命令按钮,其用于触发与电子表格上的“注册”命令按钮相关联的事件或动作;以及
e)用于“注册”按钮的标签,显示在虚拟键盘中的对应命令按钮中。
响应于确定电子表格一般包含超过一个输入对象或尤其是超过一个文本域,布局引擎64可以判定应当包含导航按钮。
如在框320处示出的,输入管理器66然后可以使得包含那些特征的动态适应的虚拟键盘在显示器40上呈现。例如,如在图2A的屏幕140中示出的,输入管理器66可以显示包含“上一个”或“前一个”导航按钮162、“下一个”导航按钮164和各种更多或更少的常规字母数字按钮166的虚拟键盘160。如示出的,输入管理器66还可以包含虚拟键盘160中的“注册!”命令按钮168。此外,输入管理器66可以以响应于用户选择命令按钮168使得调用与命令按钮118相关联的功能或事件的方式,来配置命令按钮168。
在其它实施例中,或当与其它电子表格一起使用时,输入管理器可以将其它种类的动态虚拟键盘组件添加到虚拟键盘。此类虚拟键盘组件可以包含但不限制于:下拉列表、组合框、日期域、时间域、微调控件(spinner)(具有与它们相关联的向上和向下箭头的数字域)、地址拾取器、颜色拾取器、地址拾取器地图、联系人拾取器、文件浏览器、具有预览的音频/视频拾取器、签名簿(signature pad)和手写输入(例如,用于日文汉字字符输入)。
再次参照屏幕140,输入管理器66还可以将焦点放置在文本域112中。出于本公开的目的,导航控制涉及控制哪个输入对象具有焦点。作为对比,光标控制涉及控制输入域内的光标或插入符号的位置。
再次参照图3,如在框322和框324指示的,输入管理器66然后可以接收用户输入并且处理用户输入。然后,过程可以返回到框310,如上所述,虚拟键盘模块60确定电子表格的内容是否已经改变并且执行其它操作。如在框318和框320示出的,然后,虚拟键盘模块60可以继续动态地适应或修改虚拟键盘160。
例如,当处理用户输入时,输入管理器66可以基于由用户所轻触的字母数字按钮在文本域112填入输入(例如,“JSmith”)。然后,当用户轻触“下一个”按钮时(如在图2B的屏幕170示出的,具有斜线圆172),输入管理器66可以自动地向上滚动电子表格直到文本域114在虚拟键盘160上是可见的,并且将焦点放置在该文本域中。另外,布局引擎64可以相应地修改“下一个”和“上一个”按钮。例如,布局引擎64可以用“注册!”来更新导航按钮164中的文本,以指示用户能够通过轻触导航按钮164将焦点转移到命令按钮118。在另一个实施例中,布局引擎64包含来自“上一个”和“下一个”按钮两者中的对应输入对象的标签。
如在屏幕180示出的,虽然焦点是在文本域114处,但是输入管理器66可以基于由用户轻触的字母数字按钮在文本域114中填入输入。
此外,如由图2C的屏幕190中的斜线圆192示出的,用户能够轻触虚拟键盘160内的动态生成的“注册!”命令按钮168以触发注册功能,即使来自电子表格的原始“注册”命令按钮118在屏幕40上不可见。响应于检测到用户已经轻触了命令按钮168,输入管理器66可以自动地调用原始地与命令按钮118相关联的功能或事件。
另外,当与移动设备20上的电子表格交互时,虚拟键盘模块60可以提供另外的特征以改进用户体验。例如,虚拟键盘模块60可以将虚拟键盘组件中的一个或多个虚拟键盘组件配置为具有认出两个或更多不同模式的输入(例如,短轻触和按下并按住,或短轻触和长轻触)的能力,以及取决于使用了哪种输入模式,虚拟键盘模块60可以提供两个或更多不同的功能。例如,虚拟键盘模块60可以在虚拟键盘160中的导航按钮装配有额外功能性,当用户按下并按住导航按钮而不是仅是轻触它时,将调用该额外的功能性。在屏幕200中的斜线圆202表示用户按下并且按住导航按钮162。如在屏幕200中示出的,在一个实施例中,这个额外或附属功能将提供列出表格中的所有输入对象的弹出菜单210,使得用户能够简单地通过轻触用于该弹出菜单中的那个域的标签容易地将焦点直接转移到任何期望的对象。在其它实施例中,虚拟键盘模块可以提供用于其它类型的附属功能。
如已经描述的,解析方法可以解析电子表格以便确定是否存在与表格中的输入对象相关联的控制语义。该方法还可以涉及响应于那些输入对象的类型和属性来动态地适应虚拟键盘。
根据一个示例实施例,虚拟键盘模块解析由软件应用生成和呈现的电子表格。软件应用可以是网络浏览器、电子邮件应用、字处理器或几乎任何其它种类的应用。在解析了电子表格并分析了上下文后,虚拟键盘模块呈现针对该表格进行动态适应的虚拟键盘。例如,虚拟键盘模块可以向虚拟键盘添加特定的虚拟键盘组件,该组件将连同更多或更少的常规字母数字按钮一起呈现。备选地,虚拟键盘模块可以显示含有特定虚拟键盘组件而没有任何字母数字按钮的虚拟键盘。例如,当焦点移动到电子表格上与颜色选择相关联的输入对象时,虚拟键盘模块可以颜色拾取器来填充虚拟键盘。备选地,虚拟键盘模块还可以将一些其它虚拟键盘组件(例如,导航按钮和命令按钮)与颜色拾取器一起包含虚拟键盘中。
动态并入虚拟键盘组件可以允许用户在文本域之间更有效地导航,移除了对用户平移表格以便激活不同文本域的需求。动态的虚拟键盘还可以向用户呈现用于输入数据的更简单的机制。此外,动态包含如“提交”或“保存”的命令按钮(或其它虚拟键盘组件)可以允许用户执行动作,该动作否则将需要电子表格的平移。
在以上描述中,已经将某些特征称为输入对象。然而,应当理解的是,术语“输入对象”不限制于通过面向对象编程实现的特征,而是覆盖使用其它类型的编程方法(包含,过程编程方法、结构化标记语言(例如,HTML、XAML等)和其它方法)实现的用于接收用户输入的特征。
鉴于本文所描述和说明的原理和示例实施例,应当认识到的是,在不背离此类原理的情况下,能够在布置和细节中对所说明的实施例进行修改。此外,上述论述已经关注于特定实施例,但是可以设想其它配置。此外,即使在本文中使用了诸如“在一个实施例中”、“在另一个实施例中”或诸如此类的表述,但是这些短语意在一般地参考实施例的可能性,而不是旨在将本发明限制于特定的实施例配置。如本文所使用的,这些术语可以参考被组合到其它实施例中的相同或不同实施例。
此外,被描述为彼此通信或彼此响应的组件不必彼此连续地通信,除非以其它方式明确地指出。还应当理解的是,本文中所描述的硬件和软件组件表示合理地自主的功能元素,以便基本上能够独立于其它组件来设计、建造或更新每个组件。在备选实施例中,可以将其中的许多组件实现成硬件、软件或硬件和软件的组合以用于提供本文所描述和说明的功能性。例如,备选实施例包含机器可访问的介质,该介质编码有用于执行本发明的操作的指令或控制逻辑。还可以将此类实施例称为程序产品。此类机器可访问介质可以包含但不限制于有形的存储介质,诸如磁盘、光盘、RAM、只读存储器(ROM)、闪速存储器等。在至少一个实施例中,可以将用于所有组件的指令存储在一个非短暂性的机器可访问介质中。在至少一个其它实施例中,两个或更多的非短暂性的机器可访问介质可以用于存储用于组件的指令。例如,可以将用于一个组件的指令存储在一个介质中,以及可以将用于另一个组件的指令存储在另一个介质中。
备选地,可以将用于一个组件的一部分指令存储在一个介质中,以及可以将用于该组件的其余指令(以及用于其它组件的指令)存储在一个或多个其它介质中。指令还可以用在分布式环境中,以可以被本地和/或远程存储以用于由单个或多个处理器机器来访问。在一些实施例中,可以将用于实现所述操作的一些或全部的控制逻辑实现成硬件逻辑(例如,作为集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等的一部分)。
类似地,虽然相对于以特定序列执行的特定操作描述了一个或多个示例过程,但是许多修改可以应用于那些过程以获得本发明的许多备选实施例。例如,备选实施例可以包含:使用少于所有所公开的操作的过程,使用另外操作的过程,以及本文所公开的个体操作被组合、细分、重新布置或以其它方式改变的过程。
鉴于可以容易地从本文所述的示例实施例中获得广泛的各种有用的排列,因此这些细节的描述旨在仅是说明性的,并且不应当被认为是限制本发明的范围。因此,本发明所要求保护的是落入所附权利要求书的范围内的所有实现方式和此类实现方式的所有等同物。

Claims (15)

1.一种用于提供动态定制的虚拟键盘的方法,所述方法包括:
在移动计算设备的显示器上,显示含有输入对象以接受用户输入的电子表格的至少一部分;
自动解析所述电子表格以发现所述输入对象中的至少一个输入对象的属性;
基于所述解析的结果自动地确定所述电子表格是否包含非文本输入对象;
响应于发现所述电子表格包含非文本输入对象,自动地将对应的非文本虚拟键盘组件添加到虚拟键盘;以及
在所述移动计算设备的所述显示器上显示具有所添加的非文本虚拟键盘组件的所述虚拟键盘;
其中所添加的非文本虚拟键盘组件被配置为允许用户从所述虚拟键盘来调用与所述电子表格中的所述对应的非文本输入对象相关联的功能。
2.根据权利要求1所述的方法,其中:
在所述电子表格中的所述非文本输入对象包括命令按钮;以及
在所述虚拟键盘中的所添加的非文本虚拟键盘组件包括对应的命令按钮,所述对应的命令按钮被配置为允许所述用户从所述虚拟键盘调用与所述电子表格中的所述命令按钮相关联的所述功能。
3.根据权利要求1所述的方法,其中在所述电子表格中的所述非文本输入对象包括来自由命令按钮和列表框组成的群组中的对象。
4.根据权利要求1所述的方法,其中:
所述显示所述电子表格的至少一部分的操作包括在所述显示器的第一部分上显示不包含所述非文本输入对象的所述电子表格的第一部分;以及
所述显示具有所添加的非文本虚拟键盘组件的所述虚拟键盘的操作包括在所述显示器的第二部分上显示所述虚拟键盘,同时在所述显示器的所述第一部分上显示不包含所述非文本输入对象的所述电子表格的所述第一部分。
5.根据权利要求4所述的方法,还包括:
使得所述用户能够经由所述虚拟键盘间接地与所述电子表格中的所述非文本输入对象进行交互,即使所述非文本输入对象位于所述电子表格的第二、未显示的部分。
6.根据权利要求1所述的方法,其中所述电子表格包括由软件应用生成的输入屏幕。
7.根据权利要求6所述的方法,其中所述软件应用包括网络浏览器。
8.根据权利要求1所述的方法,其中:
所述解析所述电子表格的操作包括发现所述电子表格中的两个或更多输入对象;以及
所述方法还包括响应于发现所述电子表格中的两个或更多输入对象自动地将一个或多个导航控制按钮添加到所述虚拟键盘。
9.根据权利要求8所述的方法,还包括:
检测所述用户已经选择了所述虚拟键盘中的所添加的导航控制按钮中的一个导航控制按钮;
作为响应,自动地将焦点移动到不同的输入对象;
自动地确定所述不同的输入对象是否被呈现在所述显示器中;以及
响应于确定所述不同的输入对象没有被呈现在所述显示器中,自动地滚动所述显示器中的所述电子表格,以使得所述不同的输入对象被呈现在所述显示器中。
10.根据权利要求9所述的方法,其中:
所述两个或多个输入对象包括第一文本输入域和第二文本输入域;以及
所述自动地将焦点移动到不同的输入对象的操作包括自动地将焦点从所述第一文本输入域移动到所述第二文本输入域。
11.根据权利要求1所述的方法,其中所述方法还包括:
向所述虚拟键盘添加虚拟键盘组件,所述虚拟键盘组件被配置为响应于用户与所述虚拟键盘组件的交互使得在所述虚拟键盘中显示来自所述电子表格的输入对象的列表。
12.根据权利要求11所述的方法,还包括:
检测所述用户已经选择了来自显示在所述虚拟键盘中的所述列表中的所述输入对象中的一个输入对象;以及
作为响应,自动地将焦点移动到所选择的输入对象。
13.根据权利要求11所述的方法,还包括:
检测所述用户已经选择了来自显示在所述虚拟键盘中的所述列表中的所述输入对象中的一个输入对象;
作为响应,自动地将焦点移动到所选择的输入对象;
自动地确定所选择的输入对象是否被呈现在所述显示器中;以及
响应于确定所选择的输入对象没有被呈现在所述显示器中,自动地滚动所述显示器中的所述电子表格,以使得所选择的输入对象呈现在所述显示器中。
14.一种移动设备,用于执行权利要求1至13中的任何一项所述的方法。
15.一种移动计算设备,包括:
处理器;
响应于所述处理器的至少一个本地存储设备;以及
所述本地存储设备中的指令,当由所述移动计算设备执行所述指令时,所述指令使得所述移动计算设备能够执行权利要求1至13中的任何一项所述的方法。
CN201180075349.6A 2011-12-08 2011-12-08 用于动态适应虚拟键盘的方法和装置 Expired - Fee Related CN103959206B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/064019 WO2013085528A1 (en) 2011-12-08 2011-12-08 Methods and apparatus for dynamically adapting a virtual keyboard

Publications (2)

Publication Number Publication Date
CN103959206A CN103959206A (zh) 2014-07-30
CN103959206B true CN103959206B (zh) 2016-10-19

Family

ID=48574736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075349.6A Expired - Fee Related CN103959206B (zh) 2011-12-08 2011-12-08 用于动态适应虚拟键盘的方法和装置

Country Status (5)

Country Link
US (1) US9507519B2 (zh)
CN (1) CN103959206B (zh)
DE (1) DE112011105933T5 (zh)
GB (1) GB2510761B (zh)
WO (1) WO2013085528A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487577A3 (en) * 2011-02-11 2017-10-11 BlackBerry Limited Presenting buttons for controlling an application
US9507519B2 (en) 2011-12-08 2016-11-29 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard
US8788269B2 (en) 2011-12-15 2014-07-22 Microsoft Corporation Satisfying specified intent(s) based on multimodal request(s)
US10209954B2 (en) * 2012-02-14 2019-02-19 Microsoft Technology Licensing, Llc Equal access to speech and touch input
CN103366137A (zh) * 2012-04-06 2013-10-23 腾讯科技(深圳)有限公司 一种输入信息的方法及装置
KR101958747B1 (ko) * 2012-05-02 2019-03-15 삼성전자주식회사 휴대단말기의 텍스트 입력 방법 및 장치
JP5998690B2 (ja) * 2012-07-10 2016-09-28 富士ゼロックス株式会社 情報処理装置及びプログラム
US20140035823A1 (en) * 2012-08-01 2014-02-06 Apple Inc. Dynamic Context-Based Language Determination
US9996213B2 (en) * 2012-12-24 2018-06-12 Nokia Technology Oy Apparatus for a user interface and associated methods
CN104035942B (zh) * 2013-03-08 2018-09-07 腾讯科技(深圳)有限公司 屏幕显示模式切换时的输入框调整方法及装置
US9807085B2 (en) * 2013-03-15 2017-10-31 Veracode, Inc. Systems and methods for automated detection of login sequence for web form-based authentication
JP5786887B2 (ja) * 2013-04-22 2015-09-30 コニカミノルタ株式会社 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム、および操作端末の制御プログラム
CN104346053A (zh) 2013-07-30 2015-02-11 阿里巴巴集团控股有限公司 一种表单处理方法和终端
US9419935B2 (en) * 2013-08-02 2016-08-16 Whatsapp Inc. Voice communications with real-time status notifications
US9734135B2 (en) * 2013-09-09 2017-08-15 Paypal, Inc. Auto-scroll on in-context modules
US20150084871A1 (en) * 2013-09-26 2015-03-26 Mark D. Yarvis Customized display and function for keys on a keyboard
US20150153949A1 (en) * 2013-12-03 2015-06-04 Google Inc. Task selections associated with text inputs
EP2990925A1 (en) * 2014-08-25 2016-03-02 Thomson Licensing Apparatus and method for displaying a virtual keyboard
US20170192673A1 (en) * 2014-09-16 2017-07-06 Nec Corporation Information processing apparatus, information processing method, and information processing program
US10459608B2 (en) 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
KR102367184B1 (ko) * 2014-12-11 2022-02-25 삼성메디슨 주식회사 스크린 키보드를 이용한 정보 입력 방법 및 이를 위한 장치
CN115357818A (zh) 2014-12-29 2022-11-18 创新先进技术有限公司 一种信息展示方法及装置
CN113094728A (zh) * 2015-01-21 2021-07-09 微软技术许可有限责任公司 在刚性软件开发环境中允许数据分类的方法
WO2016131180A1 (zh) 2015-02-16 2016-08-25 华为技术有限公司 一种键盘的显示方法、装置及终端设备
US20160364140A1 (en) * 2015-06-15 2016-12-15 Gary Shkedy Prompted touchscreen for teaching user input and data entry
JP2017010428A (ja) * 2015-06-25 2017-01-12 京セラドキュメントソリューションズ株式会社 電子機器およびアプリケーションプログラム
US10379737B2 (en) * 2015-10-19 2019-08-13 Apple Inc. Devices, methods, and graphical user interfaces for keyboard interface functionalities
US10976923B2 (en) 2016-02-11 2021-04-13 Hyperkey, Inc. Enhanced virtual keyboard
US20170364260A1 (en) 2016-02-11 2017-12-21 Hyperkey, Inc. Enhanced keyboard including multiple application execution
CN109074207A (zh) 2016-02-11 2018-12-21 海佩吉公司 社交键盘
US10803237B2 (en) * 2016-09-28 2020-10-13 Netsuite, Inc. Systems and methods for data entry into a region of a display
CN108459781B (zh) * 2016-12-13 2021-03-12 阿里巴巴(中国)有限公司 输入框的展现控制方法、装置及用户终端
JP6594359B2 (ja) * 2017-01-31 2019-10-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
CN109426721B (zh) * 2017-08-29 2022-05-24 腾讯科技(深圳)有限公司 基于虚拟键盘的安全提示方法和装置
US11194463B2 (en) * 2017-11-08 2021-12-07 Google Llc Methods, systems, and media for presenting offset content
US10453560B2 (en) * 2018-01-30 2019-10-22 Perkinelmer Informatics, Inc. Context-aware virtual keyboard for chemical structure drawing applications
JP6901418B2 (ja) * 2018-02-21 2021-07-14 ヤフー株式会社 入力プログラム、入力方法および端末装置
CN112334870A (zh) 2018-07-27 2021-02-05 三星电子株式会社 用于配置触摸屏键盘的方法和电子设备
AU2018448950A1 (en) * 2018-11-09 2021-06-24 Citrix Systems, Inc. Automated keyboard mapping for virtual desktops
CN114868103A (zh) * 2019-12-26 2022-08-05 富士胶片株式会社 信息通信设备以及信息通信设备的控制程序
TWI746022B (zh) * 2020-06-19 2021-11-11 英業達股份有限公司 控制讀寫屬性以避免彈出虛擬鍵盤之系統及方法
US20220382969A1 (en) * 2021-04-30 2022-12-01 Bank Of America Corporation Cross channel digital data archiving and utilization system
US11704484B2 (en) 2021-04-30 2023-07-18 Bank Of America Corporation Cross channel digital data parsing and generation system
CN113282227A (zh) * 2021-07-22 2021-08-20 北京易真学思教育科技有限公司 虚拟键盘的控制方法、装置、虚拟键盘、电子设备和介质
CN114547285B (zh) * 2022-03-03 2023-03-24 创新奇智(浙江)科技有限公司 表格数据含义推断方法、装置、计算机设备和存储介质
US20240126412A1 (en) * 2022-10-18 2024-04-18 Bank Of America Corporation Cross channel digital data structures integration and controls

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620660A (zh) * 2001-12-21 2005-05-25 诺基亚有限公司 超媒体中接入功能
CN101075188A (zh) * 2006-05-17 2007-11-21 联想(北京)有限公司 一种基于虚拟机的安全输入方法
WO2009104940A2 (ko) * 2008-02-24 2009-08-27 Park Taeun 터치 키패드를 이용한 문자입력 방법
CN102033609A (zh) * 2010-12-10 2011-04-27 深圳市云舒网络技术有限公司 键盘鼠标一体化虚拟装置及其实现方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020173721A1 (en) * 1999-08-20 2002-11-21 Novasonics, Inc. User interface for handheld imaging devices
US7240067B2 (en) 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
US20020075317A1 (en) * 2000-05-26 2002-06-20 Dardick Technologies System and method for an on-demand script-activated virtual keyboard
US20030074647A1 (en) * 2001-10-12 2003-04-17 Andrew Felix G.T.I. Automatic software input panel selection based on application program state
JP4179553B2 (ja) * 2004-03-15 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法、表示制御情報を生成するコンピュータ、およびプログラム
US20060253478A1 (en) * 2005-03-16 2006-11-09 Graham Michael L Client centric document preparation interface
KR100576370B1 (ko) 2005-09-13 2006-05-03 (주)드림투리얼리티 휴대용 디스플레이 디바이스에서의 컨텐츠 자동 최적화장치
US8068605B2 (en) * 2006-03-07 2011-11-29 Sony Ericsson Mobile Communications Ab Programmable keypad
US20080082909A1 (en) * 2006-10-03 2008-04-03 Adobe Systems Incorporated Form magnifier
US9015616B2 (en) * 2008-10-22 2015-04-21 Google Inc. Search initiation
KR20100070759A (ko) 2008-12-18 2010-06-28 한국전자통신연구원 사용자 인터페이스 장치 및 그 방법
US20100265183A1 (en) * 2009-04-20 2010-10-21 Microsoft Corporation State changes for an adaptive device
US8321810B2 (en) * 2009-04-30 2012-11-27 Microsoft Corporation Configuring an adaptive input device with selected graphical images
US8812972B2 (en) * 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
US20110260976A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Tactile overlay for virtual keyboard
US8248373B2 (en) * 2010-06-18 2012-08-21 Microsoft Corporation Contextual control of dynamic input device
US9507519B2 (en) 2011-12-08 2016-11-29 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard
US20130162411A1 (en) * 2011-12-22 2013-06-27 Qualcomm Incorporated Method and apparatus to adapt a remote control user interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620660A (zh) * 2001-12-21 2005-05-25 诺基亚有限公司 超媒体中接入功能
CN101075188A (zh) * 2006-05-17 2007-11-21 联想(北京)有限公司 一种基于虚拟机的安全输入方法
WO2009104940A2 (ko) * 2008-02-24 2009-08-27 Park Taeun 터치 키패드를 이용한 문자입력 방법
CN102033609A (zh) * 2010-12-10 2011-04-27 深圳市云舒网络技术有限公司 键盘鼠标一体化虚拟装置及其实现方法

Also Published As

Publication number Publication date
DE112011105933T5 (de) 2014-11-20
WO2013085528A1 (en) 2013-06-13
GB2510761A (en) 2014-08-13
US9507519B2 (en) 2016-11-29
CN103959206A (zh) 2014-07-30
US20130283195A1 (en) 2013-10-24
GB201408839D0 (en) 2014-07-02
GB2510761B (en) 2020-05-13

Similar Documents

Publication Publication Date Title
CN103959206B (zh) 用于动态适应虚拟键盘的方法和装置
US10642933B2 (en) Method and apparatus for word prediction selection
CN102763079B (zh) 用自定义控件取代键盘的应用程序编程接口(api)
CN102754071B (zh) 具有包含具有另一设备的显示分辨率的模式的多个应用程序显示模式的设备和方法
CN102763065B (zh) 用于导航经过多个查看区域的装置、方法和图形用户接口
CN106484266A (zh) 一种文本处理方法及装置
US8042042B2 (en) Touch screen-based document editing device and method
EP2461228A2 (en) Haptic feedback assisted text manipulation
CN105659194B (zh) 用于屏幕上键盘的快速任务
US20130007606A1 (en) Text deletion
EP2404230A1 (en) Improved text input
CN101452354B (zh) 电子装置的输入方法、内容显示方法及其应用
CN103827779A (zh) 使用输入的文本访问和处理上下文信息的系统和方法
CN102999274A (zh) 语义缩放动画
CN102763058A (zh) 用于存取可选键的装置、方法和图形用户接口
JP6182636B2 (ja) インタラクションを通じてキーワードを検索する端末、サーバ及び方法
CN106485173B (zh) 敏感信息展示方法和装置
US20190012301A1 (en) Information processing apparatus, information processing method, and information processing program
CN103262049A (zh) 带有事件属性的电子表单数据的采集方法
WO2019206332A1 (zh) 一种聊天界面信息翻译方法、装置及终端设备
US20070209021A1 (en) Data Input Method And Apparatus
CN108052212A (zh) 一种输入文字的方法、终端及计算机可读介质
CN107015722A (zh) 页面展示方法及装置
US11593570B2 (en) System and method for translating text
CN105912534A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161019

Termination date: 20181208