CN107077221A - 虚拟键盘 - Google Patents

虚拟键盘 Download PDF

Info

Publication number
CN107077221A
CN107077221A CN201480081966.0A CN201480081966A CN107077221A CN 107077221 A CN107077221 A CN 107077221A CN 201480081966 A CN201480081966 A CN 201480081966A CN 107077221 A CN107077221 A CN 107077221A
Authority
CN
China
Prior art keywords
button
user
dummy keyboard
mapping
finger
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
Application number
CN201480081966.0A
Other languages
English (en)
Inventor
约翰·周
乔·许
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN107077221A publication Critical patent/CN107077221A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0421Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials

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)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

示例涉及改进使用虚拟键盘的打字准确度。一个示例使能检测虚拟键盘的按键已被按压以及识别用于按压虚拟键盘的按键的用户手指。可基于所确定的按键、用户手指以及手指放置与虚拟键盘的按键的映射,确定期望要按压的按键。可执行与按压期望按键相关联的功能。

Description

虚拟键盘
背景技术
虚拟键盘可投射到表面上并可通信地耦接至计算设备。用户与键盘的交互可被监视,并且经由投射的虚拟键盘获得的输入可提供给计算机用于处理。
附图说明
以下详细描述参照附图,附图中:
图1是用于改进虚拟键盘的打字准确度的示例***的框图;
图2是用于改进虚拟键盘的打字准确度的示例***的框图;
图3是用于改进虚拟键盘的打字准确度的示例***的框图;
图4是用于改进虚拟键盘的打字准确度的由***执行的示例方法的流程图;
图4A是由***执行的用于执行与在示例虚拟键盘上按压期望按键相关联的功能的示例方法的流程图;
图4B是由***执行的用于修正示例虚拟键盘的按键的映射的示例方法的流程图;
图5是包括虚拟键盘的按键的示例映射的示例表;
图6是由***执行的用于改进虚拟键盘的打字准确度的示例方法的流程图;以及
图7是由***执行的用于改进虚拟键盘的打字准确度的示例方法的流程图。
具体实施方式
以下详细描述参照附图。只要有可能,在附图和以下描述中,相同的附图编号用于指代相同或相似的部分。虽然在本文件中描述若干示例,但修改、调整和其它实施也是可能的。相应地,以下详细描述不限制所公开的示例,相反,所公开的示例的适当范围可由所附权利要求限定。
虚拟键盘可投射到表面上并可通信地联接至计算设备。来自虚拟键盘的用户的打字准确度可低于联接至计算设备和/或与计算设备整合的物理键盘的用户的打字准确度。例如,由于不会通过按压虚拟键盘的按键带来触觉反馈,因此用户可更有可能接触非期望按键。
为了解决该问题,***可检测投射的虚拟键盘的按键已被按压,并可识别用于按压虚拟键盘上的按键的用户手指。然后,***可基于按压的按键、识别的手指、以及手指放置与投射的虚拟键盘的按键的映射,来预测期望按压哪个按键。这样,可通过采用选择用户期望按压的按键而非用户按压的非期望按键的预测技术,来改进来自虚拟键盘的用户的打字准确度。于是,***可执行与按压期望按键相关联的任何功能,从而改进关于虚拟键盘的用户体验。
用户手指到虚拟键盘的按键的映射可基于投射的虚拟键盘,基于结合虚拟键盘是否使用了电容式传感器、摄像机和/或其它部件,和/或基于其它因素,可关于特定的用户进行校准,可关于特定的应用进行校准。
现在参照附图,图1是用于改进虚拟键盘的打字准确度的示例***100的框图。***可包括笔记本、台式机、平板、工作站、移动设备、售卖设备的零售点、智能电话、一体型(AiO)计算机、游戏设备或适于执行以下描述的功能的任何其它设备。在图1中绘出的示例中,***100包括非瞬时性机器可读存储介质120和处理器110。
处理器110可以是一个或多个中央处理单元(CPU)、微处理器和/或适于获取和执行存储于机器可读存储介质120中的指令的其它硬件设备。如下所述,处理器110可撷取、解码和执行程序指令121、122、123、124和/或其它指令,以改进在虚拟键盘上的打字准确度。作为获取和执行指令的替代或附加,处理器110可包括一个或多个电子电路,该电子电路包括用于执行一个或多个指令121、122、123、124和或其它指令的功能的多个电子部件。
在一个示例中,程序指令121、122、123、124和/或其它指令可以是可由处理器110执行以实施本文描述的功能的安装包的部分。在此情形下,存储器120可以是从中可下载和安装安装包的诸如CD、DVD之类的便携介质,或可由计算设备保持的闪存驱动或存储器。在另一示例中,程序指令可以是已经安装在***100上的应用或一些应用的部分。
机器可读存储介质120可以是用于保持对于***100来说可访问的数据的任何硬件存储设备。例如,机器可读存储介质120可包括一个或多个硬盘驱动、固态驱动、带式驱动和/或任何其它存储设备。存储设备可位于***100中和/或与***100通信的其它设备中。例如,机器可读存储介质120可以是存储可执行指令的电、磁、光或其它物理存储设备。因此,机器可读存储介质120可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动、光盘等等。如以下详细描述的,机器可读存储介质120可用可执行指令编码,以改进在虚拟键盘上的打字准确度。如下详述,存储介质120可保持和/或存储本文描述的数据和信息。
在一些示例中,存储介质120可存储与键盘的按键到用户的手指的映射相关的信息。映射可包括与键盘的每个按键、可被同时按压的多种按键组合和/或键盘上的其它按键集合相关的信息。例如,对于独立的按键(例如,f)或按键的组合(例如,Ctrl-Alt-Delete),映射可包括与以下相关的信息:按键/组合(例如,被按压的一个或多个键)的标识、用户的标识、键盘中的一行(或多行)按键的指示、可用于按压按键的用户的手指(或多个手指)的指示、上次修正按键/组合的映射的时间/日期、映射可能相关的应用的标识,和/或与将按键/组合映射到手指(或手指集合)相关的其它信息。
在一些示例中,存储介质120可存储单个映射,该映射可存储用来在多种应用中使用。在一些示例中,存储介质120可存储缺省映射以及定制映射的集合,这里每个单独的定制映射与用户、应用和/或可使用该定制映射的环境相关。在一些示例中,存储介质120也可针对***100的每个用户和/或虚拟键盘的用户存储映射。
在一些示例中,虚拟键盘可以被投射用于与***100通信。虚拟键盘可以由***100的部件投射,可由第三方设备投射和/或其它可供***100使用。可通信地联接至***100的部件可投射虚拟键盘,使得***100的处理器110和/或其它部件可接收经由虚拟键盘输入的信息,并可促使响应于接收自虚拟键盘的信息的改变。
按键按压确定指令121,当由处理器110执行时,可检测虚拟键盘的按键已经被按压。在一些示例中,按键按压确定指令121,当由处理器110执行时,可记录用户与虚拟键盘之间的交互。例如,按键按压确定指令121,当由处理器110执行时,可通过以下方式检测到虚拟键盘的按键已经被按压:响应于接收到按键已经被按压的指示、响应于获得与按键按压相关的输入、响应于通信联接至***100的摄像机看到按键按压、响应于接收来自通信联接至***100的电容式传感器的按键按压的反馈(例如,设置在虚拟键盘所投射到的幕上,和/或其它能够从用户按压按键接收反馈),和/或以其它方式。
在一些示例中,按键按压确定指令121,当由处理器110执行时,可检测到虚拟键盘的按键集合已被同时按压。按键按压确定指令121,当由处理器110执行时,可以与检测单个按键已经被按压相同或相似的方式检测到按键集合已经被按压。
手指按压确定指令122,当由处理器110执行时,可识别用于按压虚拟键盘的按键的用户的手指。手指按压确定指令122,当由处理器110执行时,可基于从摄像机、传感器和/或通信联接至***100的其它输入设备接收的信息确定用户的哪个手指按压了虚拟键盘的按键。如上所提到的,***100可记录用户与虚拟键盘之间的交互(例如,经由摄像机、向***100提供信息的电容式传感器,和/或其它记录设备)。手指按压确定指令122,当由处理器110执行时,可基于记录的信息确定用户的哪个手指按压了虚拟键盘的按键。
在按键按压确定指令121,当由处理器110执行时,已确定按键集合已经被按压的一些示例中,手指按压确定指令122,当由处理器110执行时,可识别用于按压虚拟键盘的按键集合的手指集合。手指按压确定指令122,当由处理器110执行时,可以与识别用于按压单个按键的手指相同或相似的方式识别手指集合。
期望按键确定指令123,当由处理器110执行时,可基于所确定的按键、用户的手指和手指放置与虚拟键盘的按键之间的映射,确定期望要按压哪个按键。期望按键确定指令123,当由处理器110执行时,可确定按压的按键所在的行。例如,期望按键确定指令123,当由处理器110执行时,可以与确定哪个按键被按压和/或哪个手指用于按压按键类似的方式确定该行。
期望按键确定指令123,当由处理器110执行时,可通过从虚拟键盘上的按键、与行关联的按键以及用于按压按键的手指之间的映射来确定哪个按键期望被按压。在一些示例中,当从映射确定期望按键时,也可考虑与用户的环境相关的附加信息。
在一些示例中,期望按键确定指令123,当由处理器110执行时,可选择要用于确定期望按键的映射。例如,期望按键确定指令123,当由处理器110执行时,可基于存储在存储介质120中的映射确定应当使用哪个映射。例如,期望按键确定指令123,当由处理器执行110时,可确定映射中是否有为用户定制的映射。
响应于没有为用户定制的映射,期望按键确定指令123,当由处理器110执行时,可确定映射中是否有为使用中的应用定制的映射。响应于没有为用户或使用中的应用定制的映射,期望按键确定指令123,当由处理器110执行时,可基于环境确定是否有任何其它相关的定制映射。响应于没有为用户、使用中的应用或其它环境定制的映射,期望按键确定指令123,当由处理器110执行时,可选择缺省映射来使用。
响应于至少一个映射是为用户定制,期望按键确定指令123,当由处理器110执行时,可基于环境(例如,基于使用中的应用、使用中的键盘和/或其它环境)确定是否有任何其它相关的定制映射。响应于没有映射为用户定制并基于环境,期望按键确定指令123,当由处理器110执行时,可选择为用户定制的映射。响应于映射可用为用户定制并基于环境,期望按键确定指令123,当由处理器110执行时,可基于合适的定制方案选择映射。响应于没有映射是为用户定制,期望按键确定指令123,当由处理器110执行时,可仅基于环境以相同或相似的方式选择合适的定制映射。
在按键按压确定指令121,当由处理器110执行时,已确定按键集合已经被按压的一些示例中,期望按键确定指令123,当由处理器110执行时,可基于所确定的按键集合、用户的手指的集合以及手指放置与虚拟键盘的按键之间的映射,来确定期望要按压哪个按键集合。期望按键确定指令123,当由处理器110执行时,可以采用与确定期望要按压哪个单个按键相同或相似的方式,确定期望要按压哪个按键集合。
期望按键功能指令124,当由处理器110执行时,可执行与按压期望按键相关联的功能。功能可通过***100的环境确定(例如,基于当前正执行的应用,和/或基于其它环境)。例如,期望按键功能指令124,当由处理器110执行时,可使得与期望按键相关联的字母的指示可用于向用户显示。在该示例中,与期望按键相关联的字母可不同于与用户按压的按键相关联的字母。
在一些示例中,***100可包括可由处理器110执行以执行功能的附加指令。例如,***100可包括这样的指令:当由处理器110执行时,基于响应于使得与期望按键相关联的字母的指示可用于向用户显示而从用户接收的输入,来修正手指放置与虚拟键盘的按键的映射。在另一示例中,***100可包括这样的指令:当由处理器110执行时,基于用户用虚拟键盘进行的校准确定映射,其中校准包括监视用户的手指在虚拟键盘的按键上的放置。
图2是用于改进使用虚拟键盘的打字准确度的示例***200的框图。与***100一样,***200可以是云服务器、大型计算机、笔记本、台式机、平板、工作站、移动设备或适于执行以下描述的功能的任何其它设备。与图1的处理器110一样,处理器220可以是一个或多个CPU、微处理器和/或适于获取和执行指令的其它硬件设备。与图1的存储介质120一样,机器可读存储介质220可以是用于保持***100可访问的数据的任何硬件存储设备,并可包括与存储于存储介质120中的信息相似的信息。
如下详述,***200可包括用于改进使用虚拟键盘的打字准确度的一系列引擎230-240。每个引擎可一般性地表示硬件和编程的任意组合。例如,用于引擎的编程可以是存储于非瞬时性机器可读存储介质中的处理器可执行的指令,并且用于引擎的硬件可包括***200中的至少一个处理器以执行那些指令。附加地或作为替换,每个引擎可包括一个或多个硬件设备,该硬件设备包括用于实施以下描述的功能的电子电路。
在一些示例中,***200也可包括摄像机,电容式传感器的集合和/或可用于改进虚拟键盘的打字准确度的其它部件(例如,如以下关于图3所描述的)。
手指检测引擎230可基于从电容式传感器或摄像机中的一个或两个接收的反馈,检测虚拟键盘的按键已被用户的手指按压。在一些示例中,手指检测引擎230可以采用与按键按压确定指令121、手指按压确定指令122和/或***的其它指令相同或相似的方式来执行该功能。关于手指检测引擎230的示例实施的进一步详述在以上关于按键按压确定指令121、手指按压确定指令122和/或图1的其它指令提供。
映射确定引擎240可基于用于按压被检测的按键的用户手指、虚拟键盘的按键所在的行以及虚拟键盘的按键的映射,来预测期望要按压哪个按键。映射确定引擎240也可执行与按压期望按键相关联的功能。例如,映射确定引擎240可通过使得与期望按键相关联的字母的指示可用于向用户显示,来执行与按压期望按键相关联的功能,其中与期望按键相关联的字母不同于与按压的按键相关联的字母。
在一些示例中,映射确定引擎240可以采用与期望按键确定指令123、期望按键功能指令124和/或***100的其它指令相同或相似的方式执行该功能。关于映射确定引擎240的示例实施的进一步详述在以上关于期望按键确定指令123、期望按键功能指令124和/或图1的其它指令提供。
图3是用于改进使用虚拟键盘的打字准确度的示例***200的框图。与***100一样,***200可以是云服务器、大型计算机、笔记本、台式机、平板、工作站、移动设备或适于执行以下描述的功能的任何其它设备。与图1的处理器110一样,处理器320可以是一个或多个CPU、微处理器和/或适于获取和执行指令的其它硬件设备。与图1的存储介质320一样,机器可读存储介质320可以是用于保持***100可访问的数据的任何硬件存储设备,并可包括与存储于存储介质320中相似的信息。例如,机器可读存储介质320可包括虚拟键盘的按键的映射321(和/或映射的集合321)。在一些示例中,映射的集合321可包括缺省映射、定制映射的集合,和/或虚拟键盘的按键的其它映射。
如下详述,***300可包括用于改进使用虚拟键盘的打字准确度的一系列引擎330-370。每个引擎可一般性地表示硬件和编程的任意组合。例如,用于引擎的编程可以是存储于非瞬时性机器可读存储介质中的处理器可执行指令,并且用于引擎的硬件可包括***200中的至少一个处理器以执行那些指令。附加地或作为替换,每个引擎可包括一个或多个硬件设备,该硬件设备包括用于实施以下描述的功能的电子电路。
在一些示例中,***300也可包括摄像机311,电容式传感器的集合312和/或可用于改进虚拟键盘的打字准确度的其它部件。
手指检测引擎330可基于从电容式传感器312或摄像机311中的一个或两个接收的反馈,检测虚拟键盘的按键已被用户的手指按压。在一些示例中,手指检测引擎330可以采用与按键按压确定指令121、手指按压确定指令122,和/或***100的其它指令,和/或***200的手指检测引擎230相同或相似的方式来执行功能。关于手指检测引擎330的示例实施的进一步详述在以上关于按键按压确定指令121、手指按压确定指令122和/或***100的其它指令和/或***200的手指检测引擎230提供。
映射确定引擎340可基于用于按压被检测的按键的用户手指、虚拟键盘的按键所在的行以及虚拟键盘的按键的映射,来预测期望要按压哪个按键。在一些示例中,映射确定引擎340可以采用与期望按键确定指令123、期望按键功能指令124和/或***100的其它指令和/或***200的映射确定引擎240相同或相似的方式执行功能。关于映射确定引擎340的示例实施的进一步详述在以上关于期望按键确定指令123、期望按键功能指令124和/或***100的其它指令和/或***200的映射确定引擎240提供。
映射定制引擎350可修正虚拟键盘的按键的映射。例如,映射定制引擎350可基于从用户接收的输入来修正按键的映射。从用户接收的输入可在校正过程期间获得,可响应于使得与期望按键相关联的字母的指示可用于向用户显示而获得,和/或可用其它方式获得。
在一些示例中,映射定制引擎350可基于与用户进行的校正过程来修正按键的映射。例如,映射定制引擎350可提示用户输入特定文本,可监视用户的输入,并可基于用户输入的文本来修正用户的映射。在另一示例中,映射定制引擎350可检测用户的打字倾向以修正映射。例如,响应于用户使用特定的手指来按压非期望按键(而非来自用户被提示键入的文本的期望按键)预定的次数比例,映射定制引擎350可修正映射以指示在非期望按键被按压的行中使用特定手指映射到用户期望按压的按键。
在一些示例中,映射定制引擎350可基于响应于使得与确定的期望按键相关联的字母的指示可用于向用户显示而从用户接收的输入来修正映射。例如,响应于使得与确定的期望按键相关联的字母的指示可用于显示以及接收来自用户的改变所显示的字母的输入(例如,其中响应包括字母的删除或修改),映射定制引擎350可修正用户手指、与按压的按键关联的行以及期望按键之间的映射,使得用户更换后的按键代替现有的期望按键。
在一些示例中,在映射定制引擎350改变存储于存储介质320中的映射之前,映射定制引擎350可提示用户确认对映射的可能修正。响应于接收到改变映射的确认,映射定制引擎350可改变存储于存储介质320中存储的映射。响应于没有接收到确认,映射定制引擎350可不改变映射。在一些示例中,响应于在提示用户后的预定时间段内没有从用户接收到响应,映射定制引擎350可改变映射。
在一些示例中,映射定制引擎350可基于使用***300的用户和/或使用的环境(例如,正被使用的应用、正被使用的键盘和/或使用的环境的其它特征)选择要修正的映射(和/或映射的集合)。
映射定制引擎350也可以采用其它方式修正,而不限于本文描述的示例。
按键选择引擎360可从用户接收与供***300使用的虚拟键盘的类型相关的信息。例如,多种类型的键盘能够被投射供***300使用。基于输入与要使用的键盘的类型有关,当确定期望按键并改进打字准确度时,键盘选择引擎360可促使投射所选键盘类型,并可促使使用所选键盘类型的映射。按键的示例类型包括但不限于全键盘(QWERTY)、Dvorak、Colemak和/或其它类型的键盘。
图4是由***执行的用于改进虚拟键盘的打字准确度的示例方法的流程图。
尽管以下描述的方法的执行参照图3的***300,但执行该方法的其它合适的设备对本领域技术人员来说是显而易见的(例如,图1的***100和/或图2的***200和/或其它设备)。图4和其它附图中描述的方法可以存储在诸如存储介质320之类的机器可读存储介质上的可执行指令的形式,由本文描述的一个或多个引擎,和/或以电子电路的形式实施。
在操作400中,可记录用户与虚拟键盘之间的交互。例如,***300(和/或手指检测引擎330或***300的其它资源)可记录交互。***300可以采用与以上描述的关于手指检测引擎330和/或***300的其它资源的执行的方式相似或相同的方式记录交互。
在操作410中,可确定被按压的虚拟键盘的按键。例如,***300(和/或手指检测引擎330、映射确定引擎340或***300的其它资源)可确定按压了哪个按键。***300可以采用与以上描述的关于手指检测引擎330、映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式确定哪个按键被按压。
在操作420中,可确定用于按压按键的手指。例如,***300(和/或手指检测引擎330或***300的其它资源)可确定用于按压按键的手指。***300可以采用与以上描述的关于手指检测引擎330和/或***300的其它资源的执行的方式相似或相同的方式来确定手指。
在操作430中,可基于使用的手指、按压的按键所在的行以及虚拟键盘的按键的映射来确定期望要按压的按键。例如,***300(和/或映射确定引擎340或***300的其它资源)可确定期望要按压哪个按键。***300可以采用与以上描述的关于映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式确定哪个按键期望被按压。
在操作440中,可执行与按压期望按键相关联的功能。例如,***300(和/或映射确定引擎340或***300的其它资源)可执行功能。***300可以采用与以上描述的关于映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式来执行功能。
图4A是由***执行的用于执行与在示例虚拟键盘上按压期望按键相关联的功能的示例方法的流程图。
在一些示例中,并如图4A中所例示,在操作441中,与期望按键相关联的字母可供显示,这里,可用于显示的字母不同于与按压的按键相关联的字母。例如,***300(和/或映射确定引擎340,或***300的其它资源)可使得与期望按键相关联的字母可用于显示。***300可使得与期望按键相关联的字母可用于以与以上描述的关于映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式显示。
参照图4,在操作450中,可基于响应于执行与按压期望按键相关联的功能从用户接收的输入来修正虚拟键盘的按键的映射。例如,***300(和/或映射定制引擎350或***300的其它资源)可修正映射。***300可以采用与以上描述的关于映射定制引擎350和/或***300的其它资源的执行的方式相似或相同的方式修正映射。
图4B是由***执行的用于修正示例虚拟键盘的按键映射的示例方法的流程图。
在一些示例中,且如图4B中所例示,在操作451中,对映射的可能修正可响应于接收到来自用户的预定数目的编辑而确定。例如,***300(和/或映射定制引擎350,或***300的其它资源)可确定可能修正。***300可以采用与以上描述的关于映射定制引擎350和/或***300的其它资源的执行的方式相似或相同的方式确定可能修正。
在操作452中,可提示用户确认对映射的可能修正。例如,***300(和/或映射定制引擎350或***300的其它资源)可提示用户。***300可以采用与以上描述的关于映射定制引擎350和/或***300的其它资源的执行的方式相似或相同的方式提示用户。
在操作453中,可响应于接收用户确认而修正映射。例如,***300(和/或映射定制引擎350或***300的其它资源)可修正映射。***300可以采用与以上描述的关于映射定制引擎350和/或***300的其它资源的执行的方式相似或相同的方式修正映射。
图5是包括虚拟键盘的按键的示例映射的示例表。如上所提到的,存储介质120可存储单个映射,该单个映射可被存储以用于各种应用。在一些示例中,存储介质120可存储缺省映射以及定制映射的集合,这里每个单独的定制映射与可使用该定制映射的应用和/或环境相关。在一些示例中,存储介质120也可存储***100的每个用户和/或虚拟键盘的用户的映射。图5中绘出的示例映射可包括针对应用的定制映射。
这样,图5中绘出的示例映射可包括与虚拟键盘中的单个行中的按键集合相关的信息。信息可包括例如独立按键的标识,键盘中的按键的行的指示、可用于按压按键的用户的手指的指示、上一次修正按键/组合的映射的时间/日期、映射可能相关的应用的标识,和/或与将按键/组合映射到手指的其它信息。
图6是由***执行的用于改进虚拟键盘的打字准确度的示例方法的流程图。
在操作600中,可记录用户与虚拟键盘之间的交互。例如,***300(和/或手指检测引擎330或***300的其它资源)可记录交互。***300可以采用与以上描述的关于手指检测引擎330和/或***300的其它资源的执行的方式相似或相同的方式记录交互。
在操作610中,可确定同时被按压的虚拟键盘的按键集合。例如,***300(和/或手指检测引擎330、映射确定引擎340或***300的其它资源)可确定被按压的按键集合。***300可以采用与以上描述的关于手指检测引擎330、映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式确定被按压的按键集合。
在操作620中,可确定用于按压按键集合的手指。例如,***300(和/或手指检测引擎330或***300的其它资源)可确定用于按压按键集合的手指。***300可以采用与以上描述的关于手指检测引擎330和/或***300的其它资源的执行的方式相似或相同的方式确定手指。
在操作630中,可基于所使用的手指、被按压的按键所在的行以及虚拟键盘的按键的映射,确定期望按压的按键集合。例如,***300(和/或映射确定引擎340或***300的其它资源)可确定期望按压哪个按键集合。***300可以采用与以上描述的关于映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式确定期望按压的按键集合。
在操作640中,可执行与按压期望的按键集合相关联的功能。例如,***300(和/或映射确定引擎340或***300的其它资源)可执行功能。***300可以采用与以上描述的关于映射确定引擎340和/或***300的其它资源的执行的方式相似或相同的方式执行功能。
图7是由***执行的用于改进虚拟键盘的打字准确度的示例方法的流程图。
在操作700中,可基于用户用虚拟键盘进行的校准来确定映射。例如,***300(和/或映射定制引擎350或***300的其它资源)可确定映射。***300可以采用与以上描述的关于映射定制引擎350和/或***300的其它资源的执行的方式相似或相同的方式确定映射。
前述公开描述了用于改进虚拟键盘的打字准确度的多个示例。所公开的示例可包括用于改进虚拟键盘的打字准确度的***、设备、计算机可读存储介质和方法。出于解释的目的,某些示例参照图1-7例示的部件描述。然而,例示的部件的功能可重叠,也可以更少或更多数目的元件和部件呈现。进一步,所例示元件的功能的全部或部分可共存或可在若干地理上分散的位置之间分布。此外,所公开的示例可在各种环境中实施,而不限于所例示的示例。
另外,结合图1-7描述的操作序列是示例,而不意图限制。可使用附加的或更少的操作或操作组合,或可在不偏离所公开的示例的范围的情况下改变。进一步,与所公开的示例一致的实施不需要以任何特定的顺序执行操作序列。因此,本公开仅给出实施的可能的示例,并且可对所描述的示例进行很多改变和修改。所有的这种修改和改变意在包括在本公开的范围内并由所附权利要求保护。

Claims (15)

1.一种非瞬时性机器可读存储介质,包括用于改进使用虚拟键盘的打字准确度的指令,所述指令由计算设备的处理器可执行以:
确定所述虚拟键盘的按键已被按压;
确定用于按压所述虚拟键盘的所述按键的用户的手指;
基于所确定的按键、所述用户的所述手指以及手指放置与所述虚拟键盘的按键的映射,确定期望要按压哪个按键;以及
执行与按压期望按键相关联的功能。
2.如权利要求1所述的存储介质,其中用以执行与按压所述期望按键相关联的功能的指令包括用以使得与所述期望按键相关联的字母的指示可用于向所述用户显示的指令。
3.如权利要求2所述的存储介质,其中与所述期望按键相关联的字母不同于与所按压的按键相关联的字母。
4.如权利要求3所述的存储介质,进一步包括由所述计算设备的所述处理器可执行的指令,用以:
基于响应于使得与所述期望按键相关联的字母的指示可用于向所述用户显示而从所述用户接收的输入,对所述手指放置与所述虚拟键盘的按键的映射进行修正。
5.如权利要求1所述的存储介质,进一步包括由所述计算设备的所述处理器可执行的指令,用以:
基于所述用户用所述虚拟键盘进行的校准确定所述映射,其中所述校准包括检测用户的手指在所述虚拟键盘的按键上的放置。
6.如权利要求1所述的存储介质,进一步包括由所述计算设备的所述处理器可执行的指令,用以:
确定所述虚拟键盘的按键集合已经被同时按压;
确定所述用户的用于按压所述虚拟键盘的所述按键集合的手指集合;
基于所确定的按键集合、所述用户的所述手指集合以及手指放置与所述虚拟键盘的按键的所述映射,确定期望被按压的期望按键集合;以及
执行与按压所述期望按键集合相关联的功能。
7.一种用于改进使用虚拟键盘的打字准确度的***,所述***包括:
电容式传感器集合和摄像机中的一种,用以记录用户与所述虚拟键盘之间的交互;
手指检测引擎,用以基于所记录的交互确定所述虚拟键盘的按键已被所述用户的手指按压;以及
映射确定引擎,用以:
基于所述用户的所述手指、所述虚拟键盘的所述按键所在的行以及所述虚拟键盘的按键的映射,确定期望要按压哪个按键;以及
执行与按压期望按键相关联的功能。
8.如权利要求7所述的***,其中所述映射确定引擎通过使得与所述期望按键相关联的字母的指示可用于向用户显示,执行与按压所述期望按键相关联的功能,其中与所述期望按键相关联的字母不同于与所按压的按键相关联的字母。
9.如权利要求8所述的***,进一步包括:
映射定制引擎,用以基于响应于使得与所述期望按键相关联的字母的指示可用于向所述用户显示而从所述用户接收的输入,修正所述虚拟键盘的按键的所述映射。
10.如权利要求7所述的***,进一步包括:
键盘选择引擎,用以从所述用户接收与用于所述***的虚拟键盘的类型相关的信息。
11.一种改进使用虚拟键盘的打字准确度的方法,该方法包括:
由计算设备记录用户与所述虚拟键盘之间的交互;
由所述计算设备确定所述虚拟键盘的按键已经被按压;
由所述计算设备确定用于按压所述虚拟键盘的所述按键的所述用户的手指;
由所述计算设备基于所述用户的所述手指、所述虚拟键盘的所述按键所在的行以及所述虚拟键盘的按键的映射,确定期望要按压哪个按键;
由所述计算设备执行与按压期望按键相关联的功能;以及
由计算设备基于响应于执行与按压所述期望按键相关联的功能而从所述用户接收的输入,修正所述虚拟键盘的按键的所述映射。
12.如权利要求11所述的方法,其中修正所述按键的所述映射包括:由所述计算设备基于所接收的输入提示所述用户确认对所述虚拟键盘的按键的所述映射的可能修正;以及响应于从所述用户接收确认,由所述计算设备用所述可能修正来修正所述映射。
13.如权利要求12所述的方法,其中执行与按压所述期望按键相关联的功能包括由所述计算设备使得与所述期望按键相关联的校正后字母的指示可用于向所述用户显示,其中所述校正后字母不同于所选择的与所按压的按键相关联的字母,并且其中从所述用户接收的输入是对所述校正后的字母的编辑。
14.如权利要求12所述的方法,其中所述按键的所述映射响应于从所述用户接收到预定数目的编辑而被修正。
15.如权利要求11所述的方法,进一步包括:
由所述计算设备确定所述虚拟键盘的按键集合已经被同时按压;
由所述计算设备确定用于按压所述虚拟键盘的所述按键集合的所述用户的手指集合;
由所述计算设备基于所确定的按键集合、所述用户的所述手指集合以及手指放置与所述虚拟键盘的按键之间的映射,确定期望要按压的期望按键的集合;以及
由所述计算设备执行与按压所述期望按键的集合相关联的功能。
CN201480081966.0A 2014-09-29 2014-09-29 虚拟键盘 Pending CN107077221A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/058047 WO2016053239A1 (en) 2014-09-29 2014-09-29 Virtual keyboard

Publications (1)

Publication Number Publication Date
CN107077221A true CN107077221A (zh) 2017-08-18

Family

ID=55631100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480081966.0A Pending CN107077221A (zh) 2014-09-29 2014-09-29 虚拟键盘

Country Status (5)

Country Link
US (1) US10585584B2 (zh)
EP (1) EP3201737B1 (zh)
CN (1) CN107077221A (zh)
TW (1) TWI626581B (zh)
WO (1) WO2016053239A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138117A (zh) * 2021-12-06 2022-03-04 塔普翊海(上海)智能科技有限公司 一种基于虚拟现实场景的虚拟键盘输入方法及***

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997869B2 (en) * 2018-07-05 2021-05-04 EdClub, Inc. Methods and systems for providing typing practice to users

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666170A (zh) * 2002-07-04 2005-09-07 皇家飞利浦电子股份有限公司 自适应虚拟键盘
US20090195506A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Dynamic Soft Keyboard
CN101685342A (zh) * 2008-09-26 2010-03-31 联想(北京)有限公司 一种动态虚拟键盘的实现方法及装置
CN102339205A (zh) * 2010-04-23 2012-02-01 罗彤 用于从手持计算机化设备的背板进行用户输入的方法
CN103186329A (zh) * 2011-12-27 2013-07-03 富泰华工业(深圳)有限公司 电子设备及其触摸输入控制方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844914B2 (en) * 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
TWI277895B (en) 2005-01-05 2007-04-01 Lite On Technology Corp Library extracting device and method for automatically extracting libraries of an embedded operating system
US9274551B2 (en) * 2005-02-23 2016-03-01 Zienon, Llc Method and apparatus for data entry input
US10133479B2 (en) * 2007-07-07 2018-11-20 David Hirshberg System and method for text entry
US9110590B2 (en) * 2007-09-19 2015-08-18 Typesoft Technologies, Inc. Dynamically located onscreen keyboard
US9489086B1 (en) * 2013-04-29 2016-11-08 Apple Inc. Finger hover detection for improved typing
KR101352994B1 (ko) * 2007-12-10 2014-01-21 삼성전자 주식회사 적응형 온 스크린 키보드 제공 장치 및 그 제공 방법
CN101581951B (zh) 2008-05-14 2011-11-09 富准精密工业(深圳)有限公司 电脑
KR20100011131A (ko) 2008-07-24 2010-02-03 (주)세현 이동통신 단말기, 이를 갖는 단말기 모듈 및 노트북 컴퓨터
WO2010042880A2 (en) * 2008-10-10 2010-04-15 Neoflect, Inc. Mobile computing device with a virtual keyboard
US8300023B2 (en) * 2009-04-10 2012-10-30 Qualcomm Incorporated Virtual keypad generator with learning capabilities
US20100315266A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
CN102447837A (zh) 2009-06-16 2012-05-09 英特尔公司 手持装置中的摄像机应用
US8390583B2 (en) * 2009-08-31 2013-03-05 Qualcomm Incorporated Pressure sensitive user interface for mobile devices
CN101655771B (zh) 2009-09-07 2011-07-20 上海合合信息科技发展有限公司 多触点字符输入方法及***
US20110248914A1 (en) * 2010-04-11 2011-10-13 Sherr Alan B System and Method for Virtual Touch Typing
US8982160B2 (en) * 2010-04-16 2015-03-17 Qualcomm, Incorporated Apparatus and methods for dynamically correlating virtual keyboard dimensions to user finger size
US9430147B2 (en) * 2010-04-23 2016-08-30 Handscape Inc. Method for user input from alternative touchpads of a computerized system
EP2599227B1 (en) * 2010-07-28 2020-04-01 BlackBerry Limited Method and device for compression of binary sequences by grouping multiple symbols
CN103282869B (zh) * 2010-08-12 2017-10-13 谷歌公司 触摸屏上的手指识别
KR20120045218A (ko) * 2010-10-29 2012-05-09 삼성전자주식회사 멀티 터치를 이용한 문자 입력 방법 및 장치
US20120166995A1 (en) 2010-12-24 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Smart virtual keyboard for touchscreen devices
US9430145B2 (en) * 2011-04-06 2016-08-30 Samsung Electronics Co., Ltd. Dynamic text input using on and above surface sensing of hands and fingers
US20130212515A1 (en) * 2012-02-13 2013-08-15 Syntellia, Inc. User interface for text input
US20130076633A1 (en) 2011-09-27 2013-03-28 Ctx Virtual Technologies Integrated, portable computing and entertainment device
US9448651B2 (en) * 2012-01-09 2016-09-20 Google Inc. Intelligent touchscreen keyboard with finger differentiation
US20130222247A1 (en) * 2012-02-29 2013-08-29 Eric Liu Virtual keyboard adjustment based on user input offset
JP5907762B2 (ja) 2012-03-12 2016-04-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 入力装置、入力支援方法及びプログラム
US20130257732A1 (en) * 2012-03-29 2013-10-03 Robert Duffield Adaptive virtual keyboard
US9122395B2 (en) * 2012-05-29 2015-09-01 Garett Engle Method of capturing system input by relative finger positioning
KR101947034B1 (ko) * 2012-08-21 2019-04-25 삼성전자 주식회사 휴대 기기의 입력 장치 및 방법
US8497841B1 (en) 2012-08-23 2013-07-30 Celluon, Inc. System and method for a virtual keyboard
US20150067571A1 (en) * 2012-10-04 2015-03-05 Randal J. Marsden Word prediction on an onscreen keyboard
US9164623B2 (en) 2012-10-05 2015-10-20 Htc Corporation Portable device and key hit area adjustment method thereof
EP2920678A1 (en) * 2012-11-15 2015-09-23 Schönleben, Oliver Method and device for typing on mobile computing devices
US20140184511A1 (en) * 2012-12-28 2014-07-03 Ismo Puustinen Accurate data entry into a mobile computing device
JP2014170427A (ja) 2013-03-04 2014-09-18 Funai Electric Co Ltd ソフトウェアキーボード機能を有する電子機器およびソフトウェアキーボード機能を有する電子機器の制御方法
US9940016B2 (en) * 2014-09-13 2018-04-10 Microsoft Technology Licensing, Llc Disambiguation of keyboard input
US20160132235A1 (en) * 2014-11-11 2016-05-12 Steven Scott Capeder Keyboard

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666170A (zh) * 2002-07-04 2005-09-07 皇家飞利浦电子股份有限公司 自适应虚拟键盘
US20090195506A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Dynamic Soft Keyboard
CN101932990A (zh) * 2008-02-04 2010-12-29 微软公司 动态软键盘
CN101685342A (zh) * 2008-09-26 2010-03-31 联想(北京)有限公司 一种动态虚拟键盘的实现方法及装置
CN102339205A (zh) * 2010-04-23 2012-02-01 罗彤 用于从手持计算机化设备的背板进行用户输入的方法
CN103186329A (zh) * 2011-12-27 2013-07-03 富泰华工业(深圳)有限公司 电子设备及其触摸输入控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138117A (zh) * 2021-12-06 2022-03-04 塔普翊海(上海)智能科技有限公司 一种基于虚拟现实场景的虚拟键盘输入方法及***
CN114138117B (zh) * 2021-12-06 2024-02-13 塔普翊海(上海)智能科技有限公司 一种基于虚拟现实场景的虚拟键盘输入方法及***

Also Published As

Publication number Publication date
US10585584B2 (en) 2020-03-10
EP3201737B1 (en) 2021-10-27
TW201621608A (zh) 2016-06-16
WO2016053239A1 (en) 2016-04-07
EP3201737A1 (en) 2017-08-09
EP3201737A4 (en) 2018-05-23
US20170228153A1 (en) 2017-08-10
TWI626581B (zh) 2018-06-11

Similar Documents

Publication Publication Date Title
CN106327185B (zh) 一种支付应用的启动方法及移动终端
CN109542761B (zh) 软件质量评估方法、装置及存储介质
US11137909B2 (en) Secure data entry via a virtual keyboard
CN101387932B (zh) 显示***
CN107404577B (zh) 一种图像处理方法、移动终端及计算机可读存储介质
KR20100023914A (ko) 디스플레이 장치들을 위한 오브젝트 선택 메커니즘 제공 방법, 장치 및 컴퓨터 프로그램 제품
US20150160907A1 (en) Information processing method and electronic device
CN108268275B (zh) 软件版本控制方法及软件版本控制设备
CN104156305B (zh) 一种应用程序测试方法及装置
EP3182651A1 (en) Method of controlling operation of cataloged smart devices
CN105677788B (zh) 一种文件查找方法及用户终端
CN107329687B (zh) 一种虚拟输入键盘的显示方法及移动终端
CN106201509A (zh) 一种信息显示方法、装置及移动终端
CN109151167A (zh) 一种定时发送的方法、电子设备及存储介质
US20110316887A1 (en) Electronic device with a touch screen and touch operation control method utilized thereby
CN107077221A (zh) 虚拟键盘
CN108268206B (zh) 调整对象在界面中的显示结果的方法、装置和移动设备
CN106527937B (zh) 一种移动终端微件的添加方法及移动终端
CN108874282A (zh) 跨页选择文字的方法、电子设备和计算机存储介质
CN104503679A (zh) 一种基于终端界面触控操作进行搜索的方法及装置
CN107563212A (zh) 一种信息处理方法、移动终端及计算机可读存储介质
EP3460416B1 (en) Electronic device, measurement mode setting method, and program
CN106775421A (zh) 一种截图界面恢复的方法及移动终端
CN110569501A (zh) 用户账号生成方法、装置、介质和计算机设备
CN107315527B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170818