CN107077221A - 虚拟键盘 - Google Patents
虚拟键盘 Download PDFInfo
- 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
Links
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/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
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0421—Digitisers, 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
-
- 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/02—Input 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所述的方法,进一步包括:
由所述计算设备确定所述虚拟键盘的按键集合已经被同时按压;
由所述计算设备确定用于按压所述虚拟键盘的所述按键集合的所述用户的手指集合;
由所述计算设备基于所确定的按键集合、所述用户的所述手指集合以及手指放置与所述虚拟键盘的按键之间的映射,确定期望要按压的期望按键的集合;以及
由所述计算设备执行与按压所述期望按键的集合相关联的功能。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138117A (zh) * | 2021-12-06 | 2022-03-04 | 塔普翊海(上海)智能科技有限公司 | 一种基于虚拟现实场景的虚拟键盘输入方法及系统 |
Families Citing this family (1)
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)
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)
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 |
GB2440683B (en) * | 2005-02-23 | 2010-12-08 | Zienon L L C | Method and apparatus for data entry input |
US10133479B2 (en) * | 2007-07-07 | 2018-11-20 | David Hirshberg | System and method for text entry |
US9489086B1 (en) * | 2013-04-29 | 2016-11-08 | Apple Inc. | Finger hover detection for improved typing |
US9110590B2 (en) * | 2007-09-19 | 2015-08-18 | Typesoft Technologies, Inc. | Dynamically located onscreen keyboard |
KR101352994B1 (ko) * | 2007-12-10 | 2014-01-21 | 삼성전자 주식회사 | 적응형 온 스크린 키보드 제공 장치 및 그 제공 방법 |
CN101581951B (zh) | 2008-05-14 | 2011-11-09 | 富准精密工业(深圳)有限公司 | 电脑 |
KR20100011131A (ko) | 2008-07-24 | 2010-02-03 | (주)세현 | 이동통신 단말기, 이를 갖는 단말기 모듈 및 노트북 컴퓨터 |
US20100177035A1 (en) * | 2008-10-10 | 2010-07-15 | Schowengerdt Brian T | 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 |
EP3220180A1 (en) * | 2009-06-16 | 2017-09-20 | INTEL Corporation | Camera applications in a handheld device |
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 |
WO2012019297A1 (en) * | 2010-07-28 | 2012-02-16 | Research In Motion Limited | Method and device for compression of binary sequences by grouping multiple symbols |
CN107665089B (zh) | 2010-08-12 | 2021-01-22 | 谷歌有限责任公司 | 触摸屏上的手指识别 |
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 |
WO2013106300A1 (en) * | 2012-01-09 | 2013-07-18 | 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 |
CN104903836A (zh) | 2012-11-15 | 2015-09-09 | 奥利弗.舍恩勒本 | 用于在移动计算设备上打字的方法和设备 |
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 | ソフトウェアキーボード機能を有する電子機器およびソフトウェアキーボード機能を有する電子機器の制御方法 |
WO2014176370A2 (en) * | 2013-04-23 | 2014-10-30 | Handscape Inc. | Method for user input from alternative touchpads of a computerized system |
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 |
-
2014
- 2014-09-29 WO PCT/US2014/058047 patent/WO2016053239A1/en active Application Filing
- 2014-09-29 CN CN201480081966.0A patent/CN107077221A/zh active Pending
- 2014-09-29 EP EP14902948.0A patent/EP3201737B1/en active Active
- 2014-09-29 US US15/501,221 patent/US10585584B2/en not_active Expired - Fee Related
-
2015
- 2015-08-28 TW TW104128348A patent/TWI626581B/zh not_active IP Right Cessation
Patent Citations (6)
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)
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 |
---|---|
TWI626581B (zh) | 2018-06-11 |
WO2016053239A1 (en) | 2016-04-07 |
US10585584B2 (en) | 2020-03-10 |
TW201621608A (zh) | 2016-06-16 |
EP3201737A1 (en) | 2017-08-09 |
EP3201737B1 (en) | 2021-10-27 |
US20170228153A1 (en) | 2017-08-10 |
EP3201737A4 (en) | 2018-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542761B (zh) | 软件质量评估方法、装置及存储介质 | |
US9280276B2 (en) | Method for controlling electronic device with touch screen and electronic device thereof | |
US11137909B2 (en) | Secure data entry via a virtual keyboard | |
CN101387932B (zh) | 显示系统 | |
KR20100023914A (ko) | 디스플레이 장치들을 위한 오브젝트 선택 메커니즘 제공 방법, 장치 및 컴퓨터 프로그램 제품 | |
CN109101293A (zh) | 主题配置方法和装置、电子设备、计算机可读存储介质 | |
US20150160907A1 (en) | Information processing method and electronic device | |
CN107404577A (zh) | 一种图像处理方法、移动终端及计算机可读存储介质 | |
CN108268275B (zh) | 软件版本控制方法及软件版本控制设备 | |
CN104156305B (zh) | 一种应用程序测试方法及装置 | |
EP3182651A1 (en) | Method of controlling operation of cataloged smart devices | |
CN106598623A (zh) | 一种图片组合模板的生成方法及移动终端 | |
CN105677788B (zh) | 一种文件查找方法及用户终端 | |
CN107329687B (zh) | 一种虚拟输入键盘的显示方法及移动终端 | |
CN108268206B (zh) | 调整对象在界面中的显示结果的方法、装置和移动设备 | |
CN106527937B (zh) | 一种移动终端微件的添加方法及移动终端 | |
US20110316887A1 (en) | Electronic device with a touch screen and touch operation control method utilized thereby | |
CN107077221A (zh) | 虚拟键盘 | |
CN107563212A (zh) | 一种信息处理方法、移动终端及计算机可读存储介质 | |
EP3460416B1 (en) | Electronic device, measurement mode setting method, and program | |
CN106775421A (zh) | 一种截图界面恢复的方法及移动终端 | |
CN110569501A (zh) | 用户账号生成方法、装置、介质和计算机设备 | |
CN106406891A (zh) | 一种移动终端锁屏壁纸的处理方法及移动终端 | |
CN107315527B (zh) | 一种身份标识码识别方法和移动终端 | |
CN105282340A (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 |