CN117480483A - 用于增强现实设备的文本输入方法 - Google Patents
用于增强现实设备的文本输入方法 Download PDFInfo
- Publication number
- CN117480483A CN117480483A CN202280039075.3A CN202280039075A CN117480483A CN 117480483 A CN117480483 A CN 117480483A CN 202280039075 A CN202280039075 A CN 202280039075A CN 117480483 A CN117480483 A CN 117480483A
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual keyboard
- trajectory
- input
- detecting
- 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 title claims abstract description 69
- 230000003190 augmentative effect Effects 0.000 title abstract description 11
- 238000010200 validation analysis Methods 0.000 claims abstract description 69
- 230000004044 response Effects 0.000 claims description 30
- 238000012790 confirmation Methods 0.000 claims description 28
- 230000033001 locomotion Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 21
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 description 42
- 238000001514 detection method Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 23
- 210000003811 finger Anatomy 0.000 description 21
- 230000008859 change Effects 0.000 description 16
- 238000003384 imaging method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 210000003813 thumb Anatomy 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000001976 improved effect Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000004886 head movement Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000001429 visible spectrum Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
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/04883—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 for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0236—Character input methods using selection techniques to select from displayed items
-
- 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/04817—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 using icons
-
- 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
- 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04801—Cursor retrieval aid, i.e. visual aspect modification, blinking, colour changes, enlargement or other visual cues, for helping user do find the cursor in graphical user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
提供了一种在虚拟现实和增强现实设备上生成用于文本输入的虚拟键盘的系统和方法。本文公开的系统和方法可以在移动设备上生成虚拟键盘。虚拟键盘包括操作区、多个虚拟键区、以及多个边框,每个边框位于第一操作区与多个虚拟键区中的每个虚拟键区之间的界面。上述系统和方法提供了:检测移动设备上跨越多个边框中的第一边框的用户输入的第一轨迹,配置确认标准,检测跨越第一边框的用户输入的第二轨迹,基于检测满足确认标准的第一轨迹和第二轨迹选择虚拟键盘的输入键,以及基于选择的输入键显示文本。
Description
相关公开的交叉引用
本申请要求于2021年6月2日提交的申请号为63/196,082、发明名称为“用于头戴式显示器(HMD)文本输入的冷却-连续触摸-精进精出(CD-CT-RIO)交互范例”的美国临时专利申请的优先权,其全部内容以引入的方式并入本文。
技术领域
本公开实施例涉及视觉增强技术领域,尤其涉及用于虚拟现实和增强现实设备上的文本输入的系统和方法。
背景技术
现代计算和显示技术促进了用于所谓“扩展现实(extended reality,XR)”体验的系统的发展。XR体验指的是全部真实和虚拟环境均生成于计算和显示技术应用。XR体验包括“虚拟现实(virtual reality,VR)”、“增强现实(augmented reality,AR)”、以及“混合现实(mixed reality,MR)”体验。通过这些视觉增强显示技术数字化再现图像或其一部分,以一种看起来真实或可以被感知为真实的方式呈现给用户。VR体验涉及呈现相对于其他实际现实世界视觉输入不透明的数字或虚拟图像。AR体验通常涉及呈现数字或虚拟图像信息,作为对用户周围实际现实世界环境的增强。MR体验是AR体验的扩展,使得虚拟元素能够与环境中的现实世界元素进行交互。这些技术提供了用户可以与之交互的模拟环境,从而提供沉浸式体验。
视觉增强现实技术的文本输入可能会是挑战,尤其是对于用于执行视觉增强现实技术的包括显示屏的头戴式显示设备(head-mounted display device,HMD)。例如,物理键盘和鼠标可以连接到HMD。在物理键盘上,基于键位阻力的变化,用户通常可以分辨何时完全按下了键位。这种触觉反馈让用户不必经常看向物理键盘以目视验证正在键入输入。相应地,用户的眼睛从键盘上解放了出来。然而,在很多位置,用外置输入设备(例如物理键盘)连接HMD可能不实用或不经济。例如,在很多公共环境中(例如机场、商场等),物理键盘因为使用量大以及使用多样性,会很容易老化或损坏。作为另一示例,对于HMD的特定应用以及使用,外置输入设备也许不实际。例如,AR应用可以包括HMD以用于查看需要维修的物品(例如车辆或房屋维修)以及在现实世界视野上显示指令以辅助维修。在这种应用中,找到并连接物理键盘可能会繁琐,并且物理键盘可能只会阻碍维修。
因此,一些计算机系统使用基于“虚拟”键盘的软件。虚拟键盘本质上是例如在触摸屏上呈现给用户的真实键盘的复现(或部分复现)。要键入字符,用户在所需输入的位置接触触摸屏。然而,使用虚拟键盘无法得到与使用物理键盘类似的触觉反馈。因此,用户必须将注意力集中在触摸屏上的虚拟键盘以看到正在输入的字符。这使得用户很难在保持沉浸模拟体验的同时准确选择输入内容。相反,用户必须将注意力转移到触摸屏上以确保手指或拇指精确放置从而输入正确文本。这样键入每个字符效率低下并且可能给用户带来负担。
发明内容
根据本公开技术的各个实施例,提供了用于在虚拟现实和增强现实设备上生成用于文本输入的虚拟键盘的系统和方法。
根据一些实施例,提供了一种文本输入方法。该方法包括:在移动设备上生成虚拟键盘,其中,虚拟键盘包括操作区、多个虚拟键区、以及多个边框,每个边框位于第一操作区与多个虚拟键区中的每个虚拟键区之间的界面;检测移动设备上跨越多个边框中的第一边框的用户输入的第一轨迹;配置确认标准;检测跨越第一边框的用户输入的第二轨迹;基于检测满足确认标准的第一轨迹和第二轨迹,选择虚拟键盘的输入键;以及基于选择的输入键显示文本。
在另一方面,提供了一种文本输入系统。该系统包括用于存储指令的存储器以及通信耦合到存储器的一个或多个处理器。一个或多个存储器用于执行指令以执行方法,该方法包括:在移动设备上生成虚拟键盘,其中,虚拟键盘包括操作区、多个虚拟键区、以及多个边框,每个边框位于第一操作区与多个虚拟键区中的每个虚拟键区之间的界面;检测移动设备上跨越多个边框中的第一边框的用户输入的第一轨迹;配置确认标准;检测跨越第一边框的用户输入的第二轨迹;基于检测满足确认标准的第一轨迹和第二轨迹,选择虚拟键盘的输入键;以及基于选择的输入键显示文本。
在另一方面,提供了一种非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质存储可由一个或多个处理器执行的多个指令,当多个指令由一个或多个处理器执行时,使一个或多个处理器执行方法。该方法包括:生成虚拟键盘,虚拟键盘包括至少一个操作区、设置在操作区内的多个虚拟键区、以及位于至少一个操作区与多个虚拟键区之间的界面的多个边框;响应于检测到跨越多个边框中的边框的用户输入,配置确认标准;以及在显示屏上显示虚拟键盘的图形表示。
结合示出根据本公开实施例的特征的附图,本公开技术的其他特征和方面将在以下具体实施方式中清晰呈现。本发明内容无意限制本公开中描述的任何发明的范围,这些发明仅由本公开所附的权利要求定义。
附图说明
根据一个或多个不同的实施例,参照附图对本公开进行详细描述。提供这些图仅用于说明目的,仅描述典型或示例实施例。
图1示出了根据本文公开的实施例的视觉增强系统的示例。
图2示出了根据本公开各个实施例的示例虚拟键盘布局。
图3和图4示出了根据本公开各个实施例的虚拟键盘布局的附加示例。
图5至图7示出了可能导致选择非预期输入键的示例输入键误触场景。
图8示出了在图2的虚拟键盘布局上提供的根据本公开实施例的选择机制实现的确认标准的示例。
图9示出了在图2的虚拟键盘布局上提供的根据本公开实施例的选择机制实现的确认标准的示例。
图10示出了在图4的虚拟键盘布局上提供的根据本公开实施例的选择机制实现的确认标准的另一示例。
图11是可以用于实现本公开实施例的各个特征的示例计算部件。
这些提及到的示例实施例并不用于限制或定义本公开,而是提供辅助理解本公开的示例。在具体实施方式中讨论了其他实施例并提供进一步的描述。
具体实施方式
本公开实施例提供用于生成虚拟键盘的系统和方法,虚拟键盘可用于在扩展现实(extended reality,XR)应用(例如虚拟现实(virtual reality,VR)、混合现实(mixedreality,MR)和/或增强现实(augmented reality,AR)应用)中输入文本。本公开各种实施例使用通信耦合到显示设备的输入检测设备。输入检测设备(例如移动设备)用于维持其上的虚拟键盘。输入检测设备可以用于检测其上的用户输入,例如与移动设备的物理接触,以及将检测到的用户输入转换为输入键选择。输入检测设备通信耦合到向用户呈现虚拟键盘的外置显示设备。显示设备可以是XR显示设备,例如头戴式显示设备(head-mounteddisplay devices,HMD),其通过有线或无线通信连接到输入检测设备。本公开实施例可以检测连续的用户输入(例如与输入检测设备不间断的物理接触)并执行选择机制以在虚拟键盘上选择所需的输入键。此外,虚拟键盘上的用户输入的反馈和/或位置的图形表示也通过显示设备呈现。这使得用户无需将注意力转到输入检测设备来执行输入键选择。因此,用户无需直接看向输入检测设备以监测输入选择,并且能够在使用虚拟键盘的同时通过显示设备查看其周围环境。
尤其是输入文本非常长时,现有的用于在XR应用上进行文本输入的方法和系统繁琐且低效。此外,由于需要大量使用手持控制器做出的动作,在手持控制器上进行文本输入通常导致用户快速疲劳。例如,“瞄准选择式(point and shoot)”输入方法使用手持控制器发出的虚拟射线在投影出的虚拟键盘上瞄准输入键。通过点击手持控制器上的触发按钮确认键选择。另一种方法是使用投影在显示器上的源自HMD的头部方向的虚拟射线以指向键。然后,通过激活手持控制器或HMD上的触发按钮确认选择。在另一示例中,多个手持控制器可以各自被分配分离式虚拟键盘的一部分,通过沿每个控制器上的触摸板表面滑动指尖来进行按钮选择。可以通过按下触发按钮来确认文本输入。在上述方法中,第一种方法由于需要大量点击手持控制器而会使用户快速疲劳,并且由于瞄准选择式输入方法不精准,会造成用户沮丧,第二种方法由于涉及频繁的头部运动,且文本输入增多时需要更快的头部运动,因此增加了晕动病的可能性,第三种方法是低效的,因为当键盘上有许多键时,在传统的QWERTY布局上滑动指尖来定位键的效率不高,可能导致疲劳和文本选择不准确。
在显示设备连接到移动设备的示例中,一种方法是使用移动设备上既有的文本输入界面。通常,移动设备具有浮动全键盘(例如QWERTY键盘)、T9键盘、手写界面等。但是,至少因为传统物理键盘的触觉反馈无法在键盘界面上复制,因此这些键盘要求用户目视移动设备屏幕上的键盘界面,以确保准确的键选择和手指放置。但是,对于XR应用,用户可能希望在其视线范围内保持模拟环境中的视野(field of view,FOV),以确保并保持沉浸式体验。因此,上述方法并不理想。
此外,这些方法利用点击和抬起的输入键选择机制,点击和抬起在XR应用中均具有局限性。由于用户无法直接监视手指位置,点击选择可能不太准确。但是,因为用户需要在从输入设备抬起手指后重新定位手指,所以抬起选择可能会影响打字效率,因为用户需要在每次抬起后重新定位手指,所以抬起选择会中断手指移动到下一个字符的规划。
一些方法提供了不同于传统QWERTY键布局但基于传统QWERTY键布局的布局。例如,申请号为PC/US2022/020897的国际申请中描述了基于传统QWERTY键布局的改变的键盘布局,该申请的全部内容以引入的方式并入本文。然而,虽然通过改变的键布局提供了各种优点,但用户可能会抵制偏离传统QWERTY键布局。
因此,本文公开的实施例提供了一种用于XR显示应用的改进且优化的虚拟键盘和文本输入方法。本文实施例提供了利用传统QWERTY键布局或T9键盘布局以利用用户对这些键盘布局的现有熟悉度。
本文公开的实施例提供了一种输入检测设备(例如移动设备),该设备使用投影在外置于输入检测设备的显示设备(例如支持XR的设备)上的虚拟键盘布局的图形表示来生成和维持虚拟键盘。在一些实施例中,虚拟键盘还可以显示在输入检测设备上(例如,在移动设备的显示表面上),而在其他实施例中,虚拟键盘可以不以图形方式显示。本公开实施例还通过在显示设备上投影用户输入的位置的图形表示(例如图标)来显示用户输入在虚拟键盘上的位置。由此,用户可以通过显示设备上投影的图形表示来监视相对于输入检测设备上的虚拟键盘的物理输入位置。通过显示设备在投影的虚拟键盘上显示用户输入位置,用户无需监视实际输入位置或中断输入运动规划。
此外,本文公开的实施例可以使用“进和出(In‘n out)”选择机制进行输入键选择,进和出选择机制在提供改进的键输入的同时减少了不准确的键选择。根据各个实施例,选择机制检测将空闲状态的接触点从操作区移动到多个虚拟键区之一的连续用户输入(例如,用户输入如手指或拇指和输入检测设备之间的连续物理接触),每个虚拟键区被分配虚拟键盘的输入键。基于上述移动,本公开实施例在满足某些确认标准的情况下,触发预选择状态并指定一个虚拟键区的输入键作为候选输入键。接触点从多个虚拟键区之一移回非键区,则确认预选择状态并执行输入键(例如,如果是字符输入键,则键入该字符以进行文本输入)。这样,用户无需抬起手指或点击即可执行输入键选择。因此,用户无需看向输入检测设备来确认手指位置和准确的文本输入。
然而,在某些场景中,上述选择机制可能导致选择非预期输入键。例如,在某些情况下,穿过虚拟键区到达预期键可能导致选择非预期键。作为另一示例,接触的无意移动可能导致选择非预期键。在另一示例中,接触移动方向的改变(例如,突然意识到想要不同的键)可能导致选择非预期键。
因此,本文公开的实施例将一个或多个确认标准配置为选择机制的一部分,用于避免和/或减少上述误触场景和其他误触场景。确认标准可以包括但不限于指定某些方向分量,确认时间条件,基于先前移动设置确认移动,和/或触发预选择状态与确认该状态之间的角度阈值。本文的实施例实现一个或多个确认标准,并在确认预选择之前确认满足每个标准。也就是说,即使选择机制可以满足接触点从多个虚拟键区中的一个虚拟键区移回非键区,但是除非还满足一个或多个确认标准,否则不会确认预选择状态。
应注意,本公开中使用的术语“优化”、“最优”等可用于表示实现尽可能有效或完美的性能。然而,正如阅读本文的本领域技术人员所认识到的,并不总是能完美实现性能。因此,这些术语还可以包括在给定情况下实现尽可能好、有效或实用的性能,或使得性能优于其他设置或参数所能达到的性能。
图1示出了根据本文公开的实施例的视觉增强系统100的示例。视觉增强系统100包括显示设备100以及输入检测设备120。显示设备110通过通信链路130(例如通过有线或无线连接)通信耦合到输入检测设备120。例如,可以使用一个或多个无线通信协议,例如通过蓝牙、Wi-Fi、蜂窝通信协议(例如4G LTE和5G等)等实现通信链路130。替代地或组合地,通信链路130可以包括数据电缆,例如通用串行总线(universal serial bus,USB)电缆、HDMI电缆等。
输入检测设备120可以实现为如下所述的任何处理系统。例如,移动设备可以是智能手机、平板电脑、个人电脑、手提电脑、个人数字助理、智能手表(或其他可穿戴智能设备)等。
输入检测设备120可以是计算机或处理系统,例如图11的计算机系统1100。在各种实施例中以及如图1所示,输入检测设备120可以是移动设备,例如但不限于手机、平板电脑、可穿戴智能设备(例如智能手表等)等。然而,输入检测设备120可以实现为本领域已知的任何计算机系统,例如,个人电脑、手提电脑、个人数字助理等。输入检测设备仅需要用于检测用户输入以及将这些用户输入转换为输入键选择,以方便其上的文本输入。例如,示例用户输入可以是通过例如手指、拇指、附件或用户输入设备(例如,手写笔或笔)与触摸屏或其他响应表面的物理接触、语音命令输入、手势命令输入等。本公开实施例的用户输入是指与输入检测设备的物理接触或直接接触,物理接触或直接接触是指输入检测设备(例如,触摸屏)上被检测为输入的任何接触。因此,来自手指的物理接触或直接接触不要求手指直接地接触(例如,在被手套或其他材料覆盖的情况下),只要该接触是用户通过附件或输入设备对输入检测设备施加力的结果即可。如上,输入检测设备120可以是任何计算机设备,但是,仅为了说明的目的,本公开的输入检测设备被称为移动设备120。
图1示出了移动设备120的示例架构,移动设备120可促进使用虚拟键盘的文本输入。移动设备120包括传感器121、传感器接口122、时钟132、虚拟键盘模块124、应用126、以及图形引擎128。通常,系统100的组件(包括传感器121、传感器接口122、虚拟键盘模块124、应用126和图形引擎128)相互操作以执行各种实施例,以生成在移动设备120上维持的虚拟键盘,向用户显示虚拟键盘,并接收用户输入。
传感器121可用于检测物理物体(例如一个或多个手指、一个或多个手写笔、或任一输入物体或设备)何时与显示表面125的部分产生物理接触。显示表面125可以是多点触控显示表面,用于检测一个或多个物理物体(例如多个手指或笔)与显示表面125的接触。例如,传感器121可以检测用户的一个或多个手指何时与显示表面125接触。传感器121可以嵌入显示表面125,并且可以包括例如压力传感器、温度传感器、图像扫描器、条码扫描器等,传感器与传感器接口122互操作以监测多个同时输入。
显示表面125可以包括用于实现触摸屏界面的传感器。例如,传感器121可以实现为电阻式传感器、电容式传感器、光学成像传感器(例如CMOS传感器)、色散信号传感器、声脉冲识别传感器等,以用于触摸屏应用。例如,显示表面125可以包括交互式多点触控表面。因此,显示表面125可以还起到演示表面的作用,以向视觉增强系统100的用户显示视频输出数据。
传感器121可以包括在(例如,嵌入在)显示表面125的多个位置。传感器121可以检测与显示表面125发生物理接触的位置。传感器121的密度可以充足到使得能够检测到整个显示表面125上的接触。因此,传感器121用于检测并区分显示表面125上的多个不同位置的同时接触。
传感器接口122可以接收来自传感器121的原始传感器信号数据,并且将原始传感器信号数据转化为可由移动设备120的其他模块协调处理的接触输入数据(例如数字数据)。传感器接口122或其他模块可以根据需要缓存接触输入数据,以确定显示表面125上的接触随时间的变化。例如,传感器接口122或其他模块可以确定与显示表面125接触的位置随时间的变化。
例如,来自传感器121的原始传感器信号数据可以随着检测到新的接触而改变,在保持连续和不间断的接触(例如,当手指在显示表面125上移动时用户的手指与显示表面125的连续接触)时,现有接触被移动,以及现有接触在显示表面125上被释放(例如,进行接触的手指从显示表面125移开)。因此,在接收到显示表面125上的接触的指示时,传感器接口122可以开始缓存原始传感器信号数据(例如,在移动设备120的系统存储器的缓存内进行缓存)。随着显示表面125上的接触变化,传感器接口122可以跟踪原始传感器信号数据的变化,并更新缓存内的检测到的接触的位置和顺序。因此,在一些实施例中,传感器接口122可以通过缓冲原始传感器数据跟踪显示表面125上检测到的接触的轨迹(例如接触上的移动)。
例如,传感器接口122可以确定在第一位置检测到在第一时间点的接触,然后该接触随后被移动到第二位置。传感器接口122可以确定第一位置和第二位置之间的接触是与显示表面125的连续接触(例如,这两个位置之间的物理接触没有因为例如分离和抬起而中断)。第一位置可以是虚拟键盘中没有输入键的第一区域,第二位置可以是对应输入键的区域。检测到接触向输入键区移动时,传感器接口122可以将缓存的内容转换为预选择状态的候选输入键数据(例如,输入数据表示对应第二位置的输入键)。然后,传感器接口122可以向移动设备120的其他模块发送候选输入键数据。候选输入键数据可以由其他模块用于识别或显示(例如,在移动设备120和/或显示设备110上显示)预选择状态中的候选输入键。
随后,传感器接口122可以确定,在没有将物理接触与显示表面125分离的情况下,接触被移向与输入键对应的区域之外的第三位置。连续的接触和位置可以存储在缓存中。接收到第三位置是没有任何输入键的区域(例如,第一位置被检测到的区域)的指示时,传感器接口122可以将缓存中的内容转化为输入键数据(例如,表示确认候选输入键数据的输入数据)。传感器接口122然后可以向移动设备120的其他模块发送输入键数据。其他模块可以根据需要缓存输入键数据以确定位置随时间的变化。输入键数据可以由其他模块用于执行所选择的输入键以进行文本输入。
虚拟键盘模块124用于维持移动设备120中的虚拟键盘。例如,虚拟键盘模块124可以生成定义虚拟键盘的数据(例如,虚拟键盘数据)。虚拟键盘模块124执行软件以创建虚拟键盘。例如,虚拟键盘模块124可以定义用于虚拟键盘的输入键(例如,字母数字字符输入键和/或命令输入键,例如但不限于键入命令、退格命令、空格命令等)的显示表面125的位置(例如,每个区域分配有输入键)。与每个定义的区域的用户交互(例如,用户手指或其他输入设备与显示表面125的区域的接触)可以被虚拟键盘模块124转换为对应输入键。虚拟键盘模块124可以存储在存储器中(例如,随机存取存储器(random access memory,RAM)、缓存和/或其他动态存储设备)。
虚拟键盘模块124用于在显示设备110上呈现虚拟键盘的图形表示。例如,虚拟键盘模块124可以生成虚拟键盘的图像数据以在显示设备110上渲染可视化的虚拟键盘。在一些实施例中,虚拟键盘模块124通过有线或无线连接向显示设备110传送虚拟键盘图像数据。显示设备110可以接收虚拟键盘图像数据并生成虚拟键盘的图形表示,该图形表示通过显示屏111可视化地显示给显示设备110的用户。
在一些实施例中,虚拟键盘模块124可以用于在移动设备120的显示表面125上生成虚拟键盘的图形表示。例如,虚拟键盘模块124可以向图形引擎128提供虚拟键盘图像数据,图形引擎128将虚拟键盘数据转换为显示表面125上可视化的虚拟键盘。
在一些实施例中,虚拟键盘模块124不需要在显示表面125上显示虚拟键盘。在这种情况中,虚拟键盘模块124如上分配显示表面125的子区域,并使用用户与每个子区域的交互来输入文本。在用户与显示表面125交互以从虚拟键盘中选择输入键时,显示表面125可以显示纯色或任一所需的图像。
在一些实施例中,可以提前设置显示表面125中虚拟键盘的位置,例如显示表面中预定义的布局、方向和位置。在另一实施例中,可以基于输入设备与显示表面125交互的初始位置定义显示表面125中虚拟键盘的位置。例如,初始化虚拟键盘时,虚拟键盘模块124可以从传感器接口122接收显示表面125上第一接触位置的接触输入数据。虚拟键盘模块124可以将第一接触位置定义为虚拟键盘的中心位置,并围绕该中心位置生成虚拟键盘,使得第一接触位置位于虚拟键盘中心。
虚拟键盘模块124可以响应于选择了应用126内的应用数字字段而生成虚拟键盘。例如,应用126可以在显示表面125和/或显示设备110上呈现及维持应用用户界面。为了键入文本,用户可以选择应用数据字段。响应于上述选择,虚拟键盘模块124可以生成虚拟键盘数据,维持移动设备120中的虚拟键盘,以及向显示设备110传送虚拟键盘数据以呈现给用户。
如下文结合图2至图10所述,虚拟键盘可以基于QWERTY键盘进行配置。例如,本文公开的实施例可以利用QWERTY键盘布局或分离式QWERTY键盘布局。或者,虚拟键盘可以基于任何类型的键盘布局(例如但不限于T9键盘)进行配置。因此,虚拟键盘可以包括功能键、应用键、光标控制键、键入键、数字小键盘、操作系统键等。虚拟键盘还可以用于呈现基本上任何字母表的字符,例如英语、法语、德语、意大利语、西班牙语、中文、日语等。
通常,虚拟键盘模块124可以从传感器接口122接收输入接触数据(例如,表示选择和确认虚拟键的数据)。根据输入的数据,虚拟键盘模块124能够从基本上任何字符或命令集(例如Unicode、ASCII、EBCDIC、ISO-8859字符集、ANSI、字符集、Shift JIS、EUC-KR等)生成用于字符的适当的字符码或命令输入。虚拟键盘模块124可以将字符码和/或命令码发送到应用126。应用126可以接收字符码和/或命令码并在应用数据字段中呈现相应的字符和/或执行命令(例如,键入命令、退格、删除等)。
替代地或与向应用126发送字符码相结合地,虚拟键盘模块124可以将字符码和/或命令码发送到应用用户界面和/或显示设备110中的复制窗口,该复制窗口可以接收字符码并在显示器(例如显示器111)上呈现相应的字符和/或执行命令。因此,可以向用户提供被发送到应用126的字符的可视指示,而用户不必改变视野以看向显示表面125。
虚拟键盘模块124还可以缓存一个或多个字符码和/或命令码作为候选输入,直到接收到确认输入选择或取消选择的指示。该指示可以确认用户打算选择候选字符和/或命令输入键。在另一情况中,该指示可以指示用户不打算使用选定的输入键。该指示可以由满足逻辑条件而产生,该逻辑条件例如为本文公开并结合图2至图10描述的选择机制(包括各种条件和/或确认标准)。虚拟键盘模块124可以呈现缓存的一系列字符码以供验证(例如,显示在复制窗口中)。然后,响应于确认选择的指示,虚拟键盘模块124可以将缓存的该系列字符码发送到应用126。
在各个实施例中,虚拟键盘模块124可以配置选择机制的确认标准,下文结合图2至图10描述其示例。在一些实施例中,可以响应于检测到用户输入,例如在传感器接口122响应于检测到接触移动到输入键中而将缓冲器的内容转换为候选输入键数据时,配置或设置确认标准。而在其他实施例中,可以预先配置确认标准。在任何情况下,虚拟键盘模块124可以向传感器接口122提供确认标准,这可以确定用户输入(例如,与显示表面125的物理接触和/或接触的轨迹)是否满足确认标准。例如,在接触进入输入键之后,传感器接口122使用该接触和存储在缓冲器中的位置跟踪用户输入。在跟踪的输入满足确认标准的情况下,传感器接口122可以将缓冲器的内容转换为输入键数据(例如,表示确认候选输入键数据的输入数据)。在不满足确认标准的情况下,传感器接口122可以将缓冲器的内容转换为取消键数据(例如,表示取消候选输入键的输入数据)。传感器接口122然后可以将取消键数据发送到移动设备120处的其他模块。其他模块可以使用取消键数据取消预选择状态并取消候选输入键的输入。
时钟132可以是系统时钟或全局时钟。时钟132可以向传感器接口122提供原始时间数据。在一些实施例中,传感器接口122可以将原始时间数据转换为定时或时间戳,并将定时或时间戳与在相关联的时间发生的用户输入关联。例如,响应于传感器接口122生成预选择状态的候选输入键数据,对应于接触移动到输入键中的时间点的时间戳可以与预选择状态相关联。类似地,响应于传感器接口122生成确认候选输入键的输入键数据,对应于缓冲器数据转换为输入键数据的时间点的时间戳可以与确认相关联。另外,来自传感器121的原始传感器信号数据可以与来自时钟132的原始时间数据的相应定时相关联。这样,传感器接口122可以使用时间数据跟踪所跟踪的接触之间的定时。
接收到字符码时,应用126可以采用应用数据字段逻辑(例如,数据类型规则、验证规则等)来输入文本。例如,接收到用于文本的字符码时,应用126可以输入字母码(例如,字母“a”)和数字码(例如,“2”)。相应地,用户在显示设备110上得到在应用126上实际显示的字符的可视指示,而不必改变视野以看向移动设备120。
图2至图4示出了可由虚拟键盘模块124生成的虚拟键盘的各种示例。图2至图4可以示出在显示设备110处生成的虚拟键盘的图形表示和/或在移动设备120上虚拟键盘的图形表示。
显示设备110包括支撑一个或多个显示屏111的框架112。框架112还容纳本地处理与数据模块114,例如一个或多个硬件处理器和存储器(例如,非易失性存储器,例如闪存),处理器和存储器可用于协助处理、缓冲、缓存和存储数据以及在显示屏111上生成内容。本地处理与数据模块114经由通信链路130可操作地耦合到移动设备120。通常,显示设备110的组件(包括本地处理与数据模块114以及显示屏111)之间互操作,以实现基于来自虚拟键盘模块124的数据向用户显示虚拟键盘的各种实施例。
显示设备110可以包括一个或多个显示屏111以及用于支持显示屏111运行的各种机械和电子部件和系统。显示屏111可以耦合到框架112,框架112可被用户(未示出)穿戴,并用于将显示屏111定位在用户眼前。显示屏111可以是有机发光二极管(organic light-emitting diode,OLED)显示器、液晶显示器(liquid crystal display,LCD)、激光显示器等中的一个或多个。虽然图1示出了两个显示屏,但可以有其他配置,例如,1、2、3个显示屏等。通过显示屏111,可以在用户眼前显示和呈现内容,这样,显示的内容可以充满或部分填充用户的视野。显示设备可以是能够提供XR体验的设备。例如,混合虚拟显示器(mixedreality display,MRD)和/或虚拟现实显示器(virtual reality display,VRD)可以包括显示设备110,例如MR设备(例如,Microsoft Hololens 1和2,Magic Leap One,NrealLight,Oppo Air Glass等)和/或VR眼镜(HTC VIVE,Oculus Rift,SAMSUNG HMD Odyssey等)。在各个实施例中,显示设备110可以是戴在穿戴者头上的头戴式显示器(HMD)。
本地处理与数据模块114至少包括渲染引擎116。渲染引擎116从虚拟键盘模块124接收虚拟键盘图像数据,并将虚拟键盘图像数据转换为图形数据。图形数据然后被输出到显示屏111,以生成显示在显示屏111上的虚拟键盘的表示。在一些实施例中,虚拟键盘模块124可以包括在本地处理和数据模块114中。在这种情况下,虚拟键盘模块124的功能可以在显示设备上而不是在移动设备120上执行。例如,传感器接口122可以通过有线和/或无线连接将接触输入数据传送到显示设备110上的虚拟键盘模块。虚拟键盘模块然后可以如上所述操作并将虚拟键盘数据输出到渲染引擎116。
显示设备110还可以包括一个或多个面向外部的成像系统113,成像系统113用于观察穿戴者周围的环境(例如,3D空间)。例如,显示设备110可以包括设置在框架112上的一个或多个面向外部的成像系统。在一些实施例中,如图1所示,面向外部的成像系统可以设置在用户眼睛之间的框架112的近中间部分。替代地或结合地,面向外部的成像系统可以设置在靠近用户的单眼或双眼的框架112的一侧或多侧。虽然上面提供了面向外部的相机的示例布局,但可以有其他布局。例如,面向外部的成像系统113可以放置在相对于显示设备110的任何方向或位置。
在一些实施例中,面向外部的成像系统113采集显示设备110前方的部分世界图像。观察者能看到或成像的全部区域可以称为关注区域(field of regard,FOR)。在一些实施例中,因为显示器可以在环境中移动以对显示器周围(在穿戴者的前面、后面、上方、下方或侧面)的物体进行成像,因此FOR可以包括基本上围绕显示设备110的所有立体角。显示系统前方的部分FOR可以被称为视野(FOV),面向外部的成像系统113可以用于捕捉FOV的图像。从面向外部的成像系统113获取的图像可以用作XR应用的一部分(例如,用作虚拟物体叠加其上的图像)。例如,在AR和/或MR应用中,虚拟键盘可以叠加在从面向外部的成像系统113获取的图像上。这样,用户可以看到虚拟键盘,而不必改变视野以看向移动设备120的显示表面125。
在一些实施例中,面向外部的成像系统113可以被配置为包括光学镜头系统和图像传感器的数码相机。例如,来自显示屏111前面的世界的光(例如,来自FOV)可以被面向外部的成像系统113的镜头聚焦到图像传感器上。在一些实施例中,面向外部的成像系统113可以用于在红外(infrared,IR)光谱、可见光谱、或者任何其他合适的波长范围或电磁辐射波长范围内工作。在一些实施例中,成像传感器可以被配置为互补金属氧化物半导体(complementary metal-oxide semiconductor,CMOS)或电荷耦合器件(charged-coupleddevice,CCD)传感器。在一些实施例中,图像传感器可用于检测红外光谱、可见光谱、或任何其他合适的波长范围或电磁辐射波长范围内的光。
在一些实施例中,显示设备110和/或移动设备120还可以包括麦克风、扬声器、致动器、惯性测量单元(inertial measurement units,IMU)、加速度计、指南针、全球定位系统(global positioning system,GPS)单元、无线电设备和/或陀螺仪。本地处理和数据模块114的数据可以包括:a)从显示设备110上的传感器(其可以例如可操作地耦合到框架112)采集的数据,例如图像采集设备(例如,面向外部的成像系统113)、麦克风、IMU、加速度计、指南针、GPS单元、无线电设备和/或陀螺仪采集的数据,和/或b)从移动设备120上的传感器(例如,图像采集设备、麦克风、IMU、加速度计、指南针、GPS单元、无线电设备和/或陀螺仪)获取和/或由移动设备120处理的数据。
虽然本公开描述了示例设备,但可以理解,本文公开的方法和设备不限于MR和/或AR设备或头戴式设备。可以存在其他配置,例如,VR设备中的应用。
图2示出了根据本公开各个实施例的示例虚拟键盘布局200。布局200包括一个或多个键盘区210和220,每个键盘区包括在显示区域内生成的多个子区域。子区域包括至少一个操作区和在操作区内生成的多个虚拟键区。验证边界配置在操作区和每个虚拟键区之间的界面。在各种实施例中,布局200可以由图1的虚拟键盘模块124生成以及维持。
例如,布局200包括显示区域201内彼此间隔开的第一键盘区210和第二键盘区220。键盘区210包括位于第一操作区212内的第一多个虚拟键区216a-216n(本文统称为第一虚拟键区216)。每个虚拟键区216包括边框,例如,虚拟键区216a包括边框218a。在该示例中,边框218a包括方框形状或矩形形状,并且包括四个边218a-1至218a-4。类似地,虚拟键区216b至216n各自分别包括边框218b至218n(统称为边框218)。
类似地,第二键盘区220包括位于第二操作区212内的第二多个虚拟键区226a-226n(本文统称为第二虚拟键区226)。每个虚拟键区226包括边框,例如,虚拟键区226a包括边框228a。在该示例中,边框228a包括方框形状或矩形形状,并且包括四个边228a-1至228a-4。类似地,虚拟键区226b至226n各自分别包括边框228b至228n(统称为边框228)。
在图2的说明性示例中,第一键盘区210和第二键盘区220包括映射到第一虚拟键区216和第二虚拟键区226上的二十六个字符键区和多个命令键(例如,在该示例中,空格键、退格键和返回键)。在该说明性示例中,每个字符键在相应键盘中的位置可基于传统QWERTY布局确定,并且被划分到第一键盘区210和第二键盘区220中的每个键盘区。因此,在各种实施例中并参考上述图1,虚拟键盘可以将字符或命令输入分配给虚拟键区216或226,以模仿传统QWERTY及其上的放置。
因此,本公开实施例允许用户依赖对传统QWERTY布局的熟悉,从而优化虚拟键盘的使用并减少新的文本输入方法的学习曲线。然而,本公开实施例不仅限于图2所示的键布局。彼此相关联的字符和命令输入位置可以由使用者根据需要进行调整和定制。因此,字符和命令输入可以根据需要分配给任一虚拟键区216或226。此外,虚拟键区的形状和大小也是可调的。例如,根据需要,可以使用或分配少于或多于26个虚拟键区。此外,虽然本公开讨论的是传统的英文QWERTY布局,但本公开实施例可以用于任何需要的语言。
如上所述,布局200可以由图1的虚拟键盘模块124生成和维护。例如,虚拟键盘模块124可以生成用于(例如通过渲染引擎116)在显示设备110上渲染虚拟键盘的布局200的图像数据。在这种情况下,显示区域201可以表示在显示屏111上显示或观看的FOV的边缘。然后,用户可以在使用显示设备110时视觉上感知虚拟键盘,而不需要从预期的FOV移开视线。在这种情况下,第一键盘区210和第二键盘区220可以叠加在背景205上,背景205可以是通过显示设备110观看到的观看者的FOV内包含的图像或真实世界环境。例如,在MR和AR应用中,背景205可以是通过显示设备110看到的和/或由更面向外部的成像系统113采集的周围环境的FOV的图像。在VR应用中,背景205可以是其上叠加有布局200的生成及渲染的图像。
此外,虚拟键盘模块124可以在移动设备120上维持布局200,这可以用于字符或命令的输入选择,以在观看显示设备110的FOV时便于文本输入。例如,显示表面125可以转换为操作界面,并将显示表面125的区域分配给布局200的子区域。例如,显示区域201可以对应于显示表面125,并且显示表面125的子区域可以被分配为对应于第一操作区212,周围区域被分配给虚拟键区216,其中,验证边界218位于第一操作区212和虚拟键区216之间。类似地,显示表面125的另一不同区域可以以类似的方式被分配为第二键盘区220。分配给每个相应键盘的相关区域位置可以根据显示表面125的屏幕大小和/或用户手的大小预先确定。
在另一示例中,显示表面125上分配给第一键盘区210和第二键盘区220的区域的位置可以基于用户的第一接触位置(例如,用户的手指、拇指或其他输入设备接触的初始点)。例如,虚拟键盘可以将第一接触位置记录为第一键盘或第二键盘的中心,并基于记录的位置生成虚拟键盘。显示表面125可以划分为左半部分和右半部分。在左边检测到的第一接触位置可以被记录为第一键盘区210的中心位置,而在右边检测到的第一接触位置可以被记录为第二键盘区220的中心位置。
在一些示例中,如上所述,虚拟键盘模块124向图形引擎128输出虚拟键盘数据。这种情况下,图形引擎128可以在显示表面125上将布局200渲染在背景205上。背景205可以是纯色背景或其他所需的背景。在其他示例中,实际的布局200不需要显示在显示屏上。
第一键盘区210包括显示在其上的图标215,第二键盘区220包括显示在其上的图标225。图标215和225是虚拟键盘上用户输入的位置的图形表示。因此,每个图标215和225分别指示用户输入相对于相应键盘区210和220的位置。例如,图标215表示检测到的接触第一键盘区210的对应区域的用户输入的位置,图标225表示检测到的接触第二键盘区220的对应区域的用户输入的位置。如图2所示,图标215和225是纯色(例如,黑色、蓝色、黄色、绿色等)的圆形图标。然而,图标215和225可以是任何所需的形状和/或填充图案。
参考图1,例如,显示表面125的传感器121可以检测物理物体与显示表面的物理接触。所述接触提供给传感器接口122,传感器接口122向虚拟键盘模块124提供包括显示表面125上的位置的接触输入数据。虚拟键盘模块124生成包括接触位置数据(例如,在显示表面125上的位置)的虚拟键盘数据,该数据用于渲染图标。该位置可以提供为基于显示表面125的坐标系上的坐标。然后,基于在显示表面125上的位置将图标显示在显示设备110上(并可选地显示在移动设备120上)相对于虚拟键盘的位置。只要在显示表面125上保持物理和直接接触,就会显示与该接触对应的图标。
在各种实施例中,图标215可以是用户拇指、手指、或输入设备接触显示表面125左半边的结果。类似地,图标225可以是用户拇指、手指、或输入设备接触显示表面125右半边的结果。这样,在能够通过显示设备110感知每个接触相对于每个键盘区210和220的子区域的位置的同时,用户可以双手使用移动设备120,并且可以使用双手同时选择字符和命令输入键。同时,用户可以操作移动设备120输入文本,而不需要注视移动设备并将其目光从预期的FOV上移开。
图3和图4示出了根据本公开各个实施例的不同虚拟键盘布局的示例。
图3示出了虚拟键盘布局300,除了本文所提供的之外,虚拟键盘布局300与虚拟键盘布局200基本相同。例如,虚拟键盘层300包括一个键盘区310而非两个键盘区。键盘区310可以基本类似于虚拟键盘区210,虚拟键盘区310包括分别可以基本类似于虚拟键盘区216和操作区212的多个虚拟键盘区316a-n和操作区312。每个虚拟键盘区316a-n包括边框318a-n,边框318a-n类似于上文描述的边框218a-n(例如,每个边框318可以包括多个边,例如边框318a由边318a-1到318a-4组成)。虚拟键盘布局300在单个键盘区310内提供所有二十六个字符键区和命令键。虽然图3中示出了选择命令键,但是可以根据需要映射其他命令键。例如可以在单个键盘区310中提供完整的键盘布局。提供的键区可以基于显示表面125的大小,以提供可工作区域(例如手机显示表面的键区少于平板显示表面提供的键区)。
图4示出了另一虚拟键盘布局400,虚拟键盘布局400与虚拟键盘布局200基本相同,不同之处在于虚拟键区416a-n包括圆形或卵形形状。因此,例如,每个虚拟键区416a-n和426a-n分别包括边框418a-n和428a-n,每个边框由单个边组成。
虽然本文提供了虚拟键盘布局的具体示例,但是在本公开的范围内其他实施方式也是可能的。例如,虚拟键区可以包括任何预期的形状(例如,三角形、五边形、六边形等),并且不限于本文提供的示例。
返回参照图2,可以将每个边框218a-n和228a-228n配置为字符或命令输入键选择机制中使用的验证边界。在一些实施方式中,每个边框218a-n(例如,给定虚拟键区的所有边)可以是验证边界。
例如,响应于检测到在与第一键盘区210和第二键盘区220对应的区域与显示表面125的物理接触,生成图标215和225。在初始接触时,图标215和225可以处于空闲状态。空闲状态可以指不移动的物理接触,或者可以指保持在相应键盘区的操作区内的物理接触。例如,图标215的位置可以不变,并且可以表示与图标215对应的接触的空闲状态。在另一示例中,如图2所示,在图标215保持在操作区212内的情况下,接触可以处于空闲状态。
为了选择输入字符或命令(例如,选择字符输入键“T”),用户可以将物理接触(本文称为接触点)从操作区212中的位置P1移动到字符键“T”的虚拟键区中的位置P2,然后移动到位置P3回到操作区212,同时保持与显示表面125的连续且不间断的接触。在位置P1,图标215通过与显示表面215的物理接触处于空闲状态或初始接触位置。为了选择分配给虚拟键区的字符输入键“T”,用户将接触点从位置P1移动到字符输入键“T”的虚拟键区中的位置P2。如沿第一轨迹从P1延伸到P2的箭头所示,这种位置改变包括跨越虚拟键区的边框。在该示例中,响应于跨越边框,虚拟键盘可以将边框配置或设置为验证边界。因此,当虚拟键盘检测到接触点从操作区212移动到字符输入键“T”的虚拟键区时,虚拟键盘触发预选择状态,并且指定字符输入键“T”为候选输入键。因此,第一轨迹可以称为预选择轨迹。在一些实施例中,可以响应于检测到接触点跨越了验证边界,触发预选择状态和候选输入键指定。
然后,虚拟键盘可以将确认标准设置为从虚拟键区跨越验证边界回到操作区212。因此,在将接触点移动到输入键“T”的虚拟键区之后,用户可以将接触点从字符输入键“T”的虚拟键区移回操作区212而跨越验证边界。当虚拟键盘检测到此移动,该虚拟键盘确认满足确认标准,然后确认候选输入键并键入所选输入键进行文本输入。例如,如图2所示,如沿第二轨迹在P2与P3之间延伸的箭头所示,用户经由边框(设置为验证边界)将接触点从位置P2移动到操作区212中的位置P3。检测到此移动满足确认标准并触发虚拟键盘确认选择输入键“T”作为输入。在一些实施例中,可以响应于检测到接触点跨越了验证边界而触发确认。因此,第二轨迹可以称为确认轨迹。在接触点返回操作区212时,可以触发空闲状态并通过将接触点移动到同一或另一虚拟键区来进行随后的输入键选择。
然而,在诸如图2所示的虚拟键盘布局的一些实施方式中,误触可能会是一个问题。误触可以指用户(例如通过无意地选择非预期输入键)无意地输入非预期字符或命令输入键的场景。图5至图7示出了可能导致选择非预期输入键的各种示例输入键误触场景。
图5示出了示例场景,在该场景中,用户移动物理接触穿过非预期输入键,同时保持连续且不间断的接触,从而满足上文结合图2描述的选择机制。图5描绘了上文描述的虚拟键盘布局200,其中将每个边框218a设置为验证边界。也就是说,虚拟键区216和226的整个周边可以设置为验证边界。在这种配置下,连续的物理接触可以跨越对应于非预期输入键的虚拟键区的第一边,这触发指定非预期输入键为候选输入键的预选择状态。然后,连续的物理接触继续穿过非预期输入键的虚拟键区并跨越该虚拟键区的第二边,这触发确认选择非预期键。选择非预期键是误触。
例如,如图5所示,用户可能想要在选择字符输入键“C”之后选择字符输入键“T”。为此,如图5所示,用户可以(例如,应用连续的物理接触)从对应于输入键“C”的虚拟键区216n向对应于输入键“T”的虚拟键区516b滑动,这穿过对应于“F”的虚拟键区516a。因此,接触跨越边518a-1,从而触发预选择状态并指定“F”为候选输入键。然后,当滑动离开虚拟键区518a时,接触跨越边518a-2,这确认候选输入键并选择输入键“F”。因为用户想要从“C”滑动到“T”,所以选择输入键“F”是误触。
图6示出了另一示例场景,在该场景中,用户将物理接触移向第一输入键时,意识到下一个输入应该是不同的输入键而不是第一输入键,并改变方向以移动到该不同的输入键,同时保持连续且不间断的接触。类似于图5,图6描绘了上文描述的虚拟键盘布局200,其中将每个边框218a设置为验证边界。在一些情况下,向第一输入键移动可能会跨越中间输入键的边,这触发中间输入键的预选择状态。方向的改变可能导致确认预选择状态,从而满足如上文描述的选择机制。方向的改变可能是由于突然意识到下一个输入将是不同的输入键。选择中间输入键是误触。
例如,如图6所示,用户可以确认选择输入键“C”,然后(例如,应用连续的物理接触)沿从点P5向字符输入键“T”的轨迹滑动。在该示例中,滑动跨越对应于中间字符输入键“F”的虚拟键区616的边618a-1,从而触发预选择状态并指定“F”为候选输入键。然后在点P6,用户可能突然意识到预期输入键是与“T”相对的“B”,并改变方向向字符输入键“B”。然后,滑动可以再次跨越边618a-1,这确认候选输入键并选择输入键“F”。因为用户想要从“C”滑动到“B”,所以选择输入键“F”是误触。
图7示出了另一示例场景,在该场景中,物理接触非预期地进入虚拟键区,同时保持连续且不间断的接触,并非预期地选择了对应的输入键。例如,在确认选择字符输入键之后并且当第二只手的附肢正在主动地选择和确认输入键时,用户可能无意识地保持第一只手的附肢与显示表面之间的物理接触。无意识的接触可能非预期地移动到非预期输入键的虚拟键区。例如,当第一只手的附肢的无意识移动满足如上文描述的选择机制(例如,进入或离开虚拟键区)时,可能选择非预期输入键。
例如,图7描绘了上文描述的虚拟键盘布局200,其中将每个边框218a设置为验证边界。用户可以完成选择和确认第一输入键(例如,输入键“C”)。然后,当移动键盘区220上的图标225以选择一个或多个预期输入键时,如图标215所示,用户可能无意识地启动或保持与键盘区210的物理接触。用户可能无意识地将图标215移动到虚拟键区716,以预选择输入键“F”(如阴影线的虚拟键区所示)。当在键盘区220执行一个或多个预期输入键选择操作时,图标215可能停留在虚拟键区716内。在一段时间之后,用户然后可能无意识地(或有意识地)将图标215移出虚拟键区716,从而选择非预期输入键“F”。
本文公开的实施例提供了一种改进的选择机制,以避免和减少误触,例如上文场景中的误触,这些误触导致选择非预期输入键。通过减少误触,可以提高选择机制的文本输入准确性和用户接受度。图8至图10示出了根据本文公开的实施例的选择机制的示例实施例,这些实施例可以用于减少误触或减少选择非预期输入键。
例如,图8示出了根据本公开实施例的在图2的虚拟键盘布局200上提供的选择机制实现的确认标准的示例。虽然参照图2的示例布局200描述了图8所示的选择机制的实施例,但是本文实施例同样适用于其他布局(例如,图3的布局300、图4的布局400等)。
如上文结合图1提到的,虚拟键盘可以配置确认标准,如果满足该确认标准,则触发预选择状态的确认。确认标准的一个示例是用于确认候选输入键的预选择状态的确认时间条件(也称为冷却时间条件)。确认时间条件可以是时间阈值(例如,时间量),在该时间阈值期间,在该时间量内满足选择机制的情况下,可以确认候选输入键。如果在时间阈值内不满足选择机制,则可以取消预选择状态。
例如,为了选择输入字符或命令(例如,选择字符输入键“F”),用户可以将物理接触从操作区212中的位置P7移动到字符键“F”的虚拟键区816中的位置P8,然后移动到位置P9回到操作区212,同时保持与显示表面125的连续且不间断的接触。如上所述,为了选择字符输入键“F”,用户沿第一轨迹(或预选择轨迹)将接触点从位置P7移动到虚拟键区816中的位置P8。虚拟键盘检测到接触点从操作区212移动到虚拟键区816而跨越边818-a,并触发指定字符输入键“F”为候选输入键的预选择状态。在一些实施例中,响应于检测到接触跨越了边818a-1进入虚拟键区816(例如,触发预选择状态),可以初始化时钟132并启动定时器。在另一示例中,接触跨越边818a-1的时间的时间戳可以与预选择状态相关联。
在任一情况下,随后用户可以将接触点从虚拟键区816移回操作区212,而沿第二轨迹(或确认轨迹)跨越验证边界(例如,该示例中为边818a-1)。在一些实施例中,响应于检测到接触跨越了边818a-1进入操作区212,可以停止时钟132的时间,并且可以记录初始化时钟132与停止时钟132之间的时间量。在另一示例中,接触跨越边818a-1回到操作区212的时间的时间戳可以与离开虚拟键区816的移动相关联。
如果满足确认时间条件,则检测到该移动可以触发虚拟键盘确认选择输入键“F”作为输入。例如,如果虚拟键盘在时间阈值内检测到接触跨越了边818a-1,则触发确认选择,否则取消输入键“F”的预选择。例如,将进入虚拟键区816和离开虚拟键区816之间的时间量与时间阈值比较。该时间量可以基于记录的时间量,该记录的时间量基于时钟132启动和停止定时器。在另一示例中,可以将时间量确定为与离开虚拟键区816相关联的时间戳和与预选择状态相关联的时间戳之间的差值。在任一情况下,响应于时间量小于或等于时间阈值,确认选择输入键“F”。否则,一旦时间阈值到期(例如,输入键自行冷却),则取消输入键“F”的预选择。
可以根据需要设置时间阈值以提供足够的时间量确认选择的输入键,同时时间阈值足够短以取消非预期输入键的预选择状态。例如,在一些实施方式中,时间阈值可以是1秒或少于1秒、500毫秒或少于500毫秒、200毫秒或少于200毫秒等。时间阈值例如可以是可调节的,从而时间阈值可以随着选择机制的用户舒适度和准确性增加而缩短。也就是说,随着用户越来越熟悉选择机制,可以减少确认预选择状态所需的时间长度,这可以使得更少确认非预期输入键。
本文利用确认时间条件的实施例可以减少出于无意识地或无意地接触显示表面125的误触,例如结合图8描述的误触。例如,当用户由于无意地接触显示表面而将图标215留在键内时,可以设置时间阈值,使得基本不可能满足确认时间条件而确认非预期输入键。由于接触停留的时间量超过时间阈值,所以非预期输入键可能会自行冷却。无意接触通常至少持续用户成功找到并滑动到另一个键所需的时间量,并且可以将时间阈值设置为短于这样做的时间。
此外,利用确认时间条件的实施例可以减少由于方向改变误触而引起的误触(例如,如结合图6描述)的发生。例如,如上文描述,时间阈值要求物理接触的移动在时间阈值内确认预选择状态。当用户意识到当前接触位置在非预期输入键(例如,图6中的输入键“F”)的虚拟键区内或者轨迹正朝向非预期输入键(例如,图6中的输入键“T”)时,用户必须执行决策(例如,识别错误并确定预期输入键)和轨迹重新规划(例如,规划接触移动以到达预期输入键,例如图6中的输入键“B”)。决策和轨迹重新规划将导致延迟,延迟可能比时间阈值长。此外,可以将时间阈值设置为小于该延迟,可以基于对用户群体的键盘布局的用户的研究确定该延迟,以确定经验延迟量。因为可以将时间阈值设置为小于延迟,所以当用户改变移动轨迹,并将物理接触移出输入键“F”的虚拟键区时,将取消输入键“F”的预选择状态并且不会确认输入键。
在一些实施例中,可以生成视觉标记并将视觉标记覆盖在检测到物理接触的虚拟键区上。例如,虚拟键盘可以检测虚拟键区内的接触,并且图形引擎128和/或渲染引擎116可以生成覆盖在检测到的虚拟键区上的标记(示为应用于图8的虚拟键区816的灰色)。可以在显示器111上向用户呈现标记,使得用户可以识别对应于物理接触的虚拟键区。这可以与使用图标215和/或225结合。在一些实施例中,可以响应于检测到物理接触跨越了边,生成标记。标记可以包括以下的一个或多个:例如将颜色应用于虚拟键区、改变亮度、改变输入键的字体或字体大小、改变虚拟键区形状的线宽、改变虚拟键区的形状、使虚拟键区脉动(例如,旋转摆动、从大尺寸脉动至小尺寸、闪烁颜色等)等。
另外,标记可以用于直观地表示时间阈值到期之前的剩余时间量。例如,在第一次跨越边时,虚拟键区可以从第一颜色改变为第二颜色。随着物理接触保持在虚拟键区中的时间量增加接近时间阈值,颜色可以以增加的速率在第一颜色与第二颜色之间交替地切换,直到达到时间阈值。作为另一示例,在第一次跨越边时可以增加虚拟键区的亮度,并且随着时间增加,可以减少亮度,直到达到时间阈值以指示输入键的冷却。作为另一个示例,可以生成显示时间量的定时器。定时器可以是数字倒计时和/或图标的形式,数字倒计时和/或图标随着虚拟键区中的时间量接近时间阈值而缩短或延长。虽然本文提供了某些示例,但是应理解,在本文公开的实施例的范围内,其他实施方式也是可能的。
图8还示出了另一误触减少技术,由此配置确认标准可以包括基于检测到跨越边818a-1的物理接触设置验证边界。在图8所示的说明性示例中,响应于检测到物理接触跨越了虚拟键区816的边818a-1,虚拟键盘模块可以将边818a-1设置为验证边界。在这种情况下,虚拟键区816的边框818的其他边不用作验证边界。因此,可以仅在检测到跨越相同边818a-1的物理接触时,确认预选择状态。如果接触跨越另一边,则取消预选择状态,从而取消指定输入键为候选输入键。
通过将验证边限制为一个边以用于触发预选择状态和确认候选输入键(例如满足选择机制),本文实施例可以用于减少例如结合图5描述的由于物理接触移动穿过非预期输入键而引起的误触。例如通过如结合图8所述设置验证边界,用户只能滑出虚拟键区而穿过滑进的同一边来确认候选输入键。因此,滑动穿过键不会满足选择机制,也不会确认非预期输入键。
如图8所示,选择机制的一些实施例基于预选择轨迹进入虚拟键区的任何方向,配置验证边界。例如,图8示出了第一验证边界和第二验证边界,第一验证边界是基于检测到跨越键盘区210中的边818a-1的预选择轨迹设置的,该预选择轨迹具有向上方向分量,第二验证边界是基于检测到跨越键盘区220中的边828a-1的接触(例如图标225)的预选择轨迹设置的,该预选择轨迹包括向下方向分量。如上述键盘区210中,响应于检测到物理接触跨越了虚拟键区826的边828a-1,虚拟键盘模块将边828a-1(例如,虚拟键区826的上边)配置为验证边界,而不将其他边设置为验证边界。因此,在键盘区220中,根据具有向下方向分量的预选择轨迹,将虚拟键区826的上边828a-1设置为第二验证边界,而在键盘区210中,根据具有向上方向分量的第一轨迹,将虚拟键区816的下边818a-1设置为第一验证边界。
在一些实施例中,确认标准可以包括要求轨迹包括指定的方向分量。也就是说,本文公开的选择机制的一些实施例可以限制将验证边界设置为仅上边、仅左边、仅右边、或仅下边。虽然牺牲了接触可以进入虚拟键区触发以预选择状态的一些灵活性,但是这些实施例可以提高准确性并减少误触。
例如,图9示出了根据本公开实施例的在图2的虚拟键盘布局200上提供的选择机制实现的确认标准的示例。图9描绘了选择机制,其中通过指定用于触发预选择状态的方向向量配置确认标准。因此,图9的选择机制将预选择轨迹的方向限制为指定的方向分量。
例如,虚拟键盘为预选择轨迹指定至少一个方向分量。对于跨越虚拟键区的边框(例如,边框218或228)以触发预选择状态的物理接触移动,接触的轨迹必须包括至少一个指定的方向分量。在图9的说明性示例中,指定向下方向分量以限制预选择轨迹,使得只有包括向下方向分量的轨迹在跨越虚拟键区的边框时可以触发预选择状态。虽然轨迹可以包括水平分量,但是在该示例中轨迹必须包括向下分量。
在一些实施例中,可以将确认轨迹限制为与预选择轨迹的方向分量相反或反向的方向分量。也就是说,对于跨越虚拟键区的边框(例如,边框218或228)以触发确认预选择状态的物理接触移动,接触的轨迹必须包括与指定的方向分量相反或反向的方向分量。例如,如果如图9的示例中将预选择轨迹限制为向下方向分量,则可以将确认轨迹限制为向上方向分量。
在图9的说明性示例中,提供了轨迹902、904、以及906,每个轨迹分别对应于将物理接触从操作区212或222移动到输入键“D”、“H”、以及“M”的虚拟键区内。每个轨迹902、904、以及906包括向下分量,使得进入虚拟键区的第一轨迹(或预选择轨迹)满足触发对应输入键的预选择状态的选择机制。
由于方向分量的指定(例如,轨迹的方向限制)并且确认由被跨越以进入虚拟键区的相同边触发,因此可以避免由于穿过非预期输入键而引起的误触(例如,图5)。例如,在输入键“D”的情况下,轨迹902穿过输入键“E”,而离开轨迹908穿过输入键“R”。穿过输入键“E”可以触发预选择状态,但是因为移动经由不同的边离开和/或确认轨迹不包括向上分量,所以不确认该状态。因为轨迹908不包括向下分量,仅包括向上分量和水平分量,所以穿过输入键“R”不会触发预选择状态。此外,包括轨迹的方向限制的实施例可以减少方向改变误触(例如,图6)。例如,在确认输入键“D”后,如果接触从虚拟键区的下边进入“R”,并且用户决定改变路线到输入键“F”(或任何其他键),则因为如上所述不会触发预选择,所以离开输入键“R”的虚拟键区不会确认选择。类似地,可以避免输入键“Y”、“U”、以及“J”的误触。
虽然图9示出了指定触发预选择状态的向下分量,但是本文的实施例不限于此。也就是说,可以根据需要指定其他方向分量。例如,可以使用向上方向分量代替向下方向分量,或者使用从右到左的水平方向分量和从左到右的水平方向分量之一。在一些实施方式中,可以指定多个方向分量以进一步限制和减少误触。例如,可以指定向下方向分量和从左到右的水平方向分量(如图9所示),使得进入虚拟键区的轨迹必须包括上述两个方向分量。
在一些实施例中,代替或结合指定方向分量,虚拟键盘可以将验证边界限制为指定边。例如,在图9的情况下,可以指定每个虚拟键区的上边为验证边界,从而限制物理接触可以进入虚拟键区的方向。这些实施例可以以类似于上述方向分量指定的方式避免误触。
虽然参照图2的示例布局200描述了图9所示的选择机制的实施例,但是本文实施例同样适用于其他布局(例如,图3的布局300、图4的布局400等)。
在本文公开的一些实施例中,确认预选择状态的确认标准可以基于第一轨迹与第二轨迹之间形成的角度(α)。第一轨迹可以是跨越边进入虚拟键区的接触或滑动的轨迹(例如,预选择轨迹),并且第二轨迹可以是跨越边同时离开虚拟键区的接触或滑动的轨迹(例如,确认轨迹)。在各个实施例中,将角度(α)与阈值角度比较,并且如果角度(α)小于或等于阈值角度则可以确认预选择状态。否则,可以取消预选择状态。
例如,图10示出了根据本公开实施例的在图4的虚拟键盘布局400上提供的选择机制实现的确认要求的另一示例。图10描绘了选择机制,其中确认标准被配置为通过比较角度(α)和阈值角度来确定是否确认预选择状态。虽然参照图4的示例布局400描述了图10所示的选择机制的实施例,但是本文实施例同样适用于其他布局(例如,图3的布局300、图2的布局200等)。
类似于上文的图8,为了选择输入字符或命令(例如,选择图10的示例中的字符输入键“X”),用户可以将物理接触从操作区412中的位置P10移动到字符键“X”的虚拟键区416b中的位置P11,然后移动到位置P12回到操作区412,同时保持与显示表面125的连续且不间断的接触。如上所述,为了选择字符输入键“X”,用户沿第一轨迹1015(或预选择轨迹)将接触点从位置P10移动到位置P11而穿过入口点1010。虚拟键盘检测接触点从操作区412移动到虚拟键区416b而跨越边418a,并触发预选择状态,该预选择状态指定字符输入键“X”为候选输入键。
随后,用户可以将接触点从虚拟键区416b移回操作区412,而沿第二轨迹1025(或确认轨迹)通过出口点1020跨越边框418b。检测到该移动可以触发虚拟键盘基于第一轨迹1015与第二轨迹1025之间形成的角度(α)确认选择输入键“X”作为输入。通过延伸从边框418b上的入口点1010到点P11的线,延伸从点P11到边框418b上的出口点1020的线,以及确定两线之间的角度,虚拟键盘可以确定角度(α)。虚拟键盘然后可以将角度(α)与阈值角度比较。响应于确定角度(α)小于或等于阈值角度,确认选择输入键“X”。否则,在离开虚拟键区416b时取消输入键“X”的预选择。
可以根据需要设置阈值角度以提供足够大的角度确认选择的输入键,同时阈值角度足够小以取消非预期输入键的预选择状态。例如,在一些实施方式中,阈值角度可以是90度或小于90度、45度或小于45度等。阈值角度可以是可调节的,例如,从而阈值角度可以随着选择机制的用户舒适度和准确性增加而减小。也就是说,随着用户越来越熟悉选择机制,可以减小确认预选择状态所需的角度,这可能使得更少确认非预期输入键。
通过应用第一轨迹1015与第二轨迹1025之间的阈值角度,本文实施例可以减少由于物理接触移动穿过非预期输入键而引起的误触,例如结合图5描述的误触。例如通过如结合图9所述设置阈值角度,只有离开轨迹在与进入轨迹的阈值角度之内,用户才可以确认候选输入键。因此,滑动穿过键不会满足选择机制,也不会确认非预期输入键。
图11是可用于实现本公开中描述的实施例的各种特征的示例计算组件。
图11描绘了示例计算机系统1100的框图,其中可以实现本公开描述的各种实施例。例如,计算机系统1100可以是图1的输入检测设备或移动设备120和/或显示设备110。计算机系统1100的某些组件可以适用于实现移动设备120,但不适用于显示设备110(例如,光标控制1116)。因此,计算机系统1100包括用于通信的总线1102或其他通信机制,一个或多个硬件处理器1104与总线1102耦合以处理信息。硬件处理器1104可以是例如一个或多个通用微处理器。
计算机系统1100还包括主存储器1106,例如随机存取存储器(RAM)、缓存和/或其他动态存储设备,主存储器1106耦合到总线1102以存储待由处理器1104执行的信息和指令。主存储器1106还可以用于存储在待由处理器1104执行的指令被执行期间的临时变量或其他暂时的信息。例如,主存储器1106可以维持上述虚拟键盘。当存储在处理器1104可访问的存储介质中时,这种指令使计算机系统1100成为定制用于执行指令中指定的操作的专用机器。
计算机系统1100还包括只读存储器(ROM)1108或其他静态存储设备,该存储设备耦合到总线1102,为处理器1104存储静态信息和指令。提供例如磁盘、光盘或U盘(闪存盘)等的存储设备1110,并且该存储设备1110耦合到总线1102以存储信息和指令。
计算机系统1100可以通过总线1102耦合到显示器1112(例如液晶显示器(liquidcrystal display,LCD)(或触摸屏)),显示器用于向计算机用户显示信息。包括字母数字和其他键的输入设备1114耦合到总线1102以向处理器1104传递信息和命令选择。另一种用户输入设备是光标控制1116,例如鼠标、轨迹球或光标方向键,用于向处理器1104传递方向信息和命令选择以及控制在显示器1112上的光标运动。在一些实施例中,与光标控制相同的方向信息和命令选择可以通过在没有光标的触摸屏上接收触摸来实现。
计算机系统1100可以包括用户界面模块以实现GUI,GUI可以作为由计算机设备执行的可执行软件代码存储在大容量存储设备中。例如,该模块和其他模块可以包括组件,例如软件组件、面向对象的软件组件、类组件和任务组件、进程、函数、属性、过程、子例程、程序代码段、驱动进程、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。
一般而言,本公开使用的词语“组件”、“引擎”、“模块”、“系统”、“数据库”、“数据存储”等,可以指体现在硬件或固件中的逻辑,或者指软件指令的集合,可能具有入口和出口点,使用编程语言编写,例如Java、C或C++。软件组件可以被编译并链接到安装在动态链接库中的可执行进程中,或者可以使用解释性编程语言(例如BASIC,Perl或Python)编写。可以理解的是,软件组件可以从其他组件或自身调用,和/或可以响应于检测到的事件或中断而被唤醒。用于在计算机设备上执行的软件组件可以设置在计算机可读介质(例如光盘、数字视频光盘、闪存盘、磁盘或任何其他有形介质),或者作为数字下载(并且可以原本以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。这种软件代码可以部分或全部存储在执行的计算机设备的存储设备上,以供计算机设备执行。软件指令可以嵌入在固件中,例如EPROM。可以进一步理解的是,硬件组件可以由连接的逻辑单元组成,例如门和触发器,和/或可以由可编程单元组成,例如可编程门阵列或处理器。
计算机系统1100可以使用定制硬连逻辑、一个或多个ASIC或FPGA、固件和/或进程逻辑执行本公开描述的技术,这些定制硬连逻辑、一个或多个ASIC或FPGA、固件和/或进程逻辑结合计算机系统使得或将计算机系统1100编程为专用机器。根据一个实施例,响应于处理器1104执行包含在主存储器1106中的一个或多个指令的一个或多个序列,计算机系统1100执行本文的技术。这种指令可以从另一存储介质(例如存储设备1110)读入主存储器1106。执行包含在主存储器1106中的指令序列使得处理器1104执行本公开描述的处理步骤。在其他实施例中,可以使用硬连线电路代替软件指令或与软件指令结合。
如本公开所使用的术语“非暂时性介质”以及类似的术语,是指存储使得机器以特定方式运行的数据和/或指令的任何介质。这种非暂时性介质可包括非易失性介质和/或易失性介质。非易失性介质例如包括光盘或磁盘,例如存储设备1110。易失性介质包括动态存储器,例如主存储器1106。非暂时性介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、任何具有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或盒式磁带、和以上的联网版本。
非暂时性介质不同于传输介质,但可以与传输介质结合使用。传输介质参与非暂时性介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线1102的导线。传输介质还可以采取声波或光波的形式,例如在无线电波和红外数据通信期间产生的波。
计算机系统1100还包括耦合到总线1102的通信接口1118。通信接口1118提供双向数据通信,该双向数据通信耦合到连接到一个或多个本地网络的一个或多个网络链路。例如,通信接口1118可以是综合业务数字网络(integrated services digitalnetwork.ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供相应类型的电话线的数据通信连接。另一示例中,通信接口1118可以是局域网(LAN)卡,以向兼容的LAN(或WAN组件以实现WAN通信)提供数据通信连接。也可以应用无线连接。在任一这样的实施例中,通信接口1118发送和接收电、电磁或光信号,这些信号携带表示各种类型的信息的数字数据流。
网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以通过本地网络提供与主机或由互联网服务提供商(Internet Service Provider,ISP)操作的数据设备的连接。ISP进一步通过现在通常称为“因特网(Internet)”的万维分组数据通信网络提供数据通信服务。本地网络和互联网均使用携带数字数据流的电、电磁或光信号。经过各种网络的信号以及在网络链路上并且经过通信接口1118的信号承载计算机系统1100的往来数字数据,这两种信号是传输介质的示例形式。
计算机系统1100可以通过网络、网络链路和通信接口1118发送消息以及接收包括程序代码的数据。在因特网示例中,服务器可以通过因特网、ISP、本地网络以及通信接口1118为应用程序传输所需的代码。
接收的代码可以由处理器1104在接收时处理,和/或存储在存储设备1110中,或存储在其他非易失性存储中以供以后执行。
在之前章节中描述过的每个进程、方法以及算法可以在代码组件中实施,并且全部或部分由代码组件自动化,此代码组件由包括计算机硬件的一个或多个计算机系统或计算机处理器执行。该一个或多个计算机系统或计算机处理器也可以操作用于支持相关操作在“云计算(cloud computing)”环境中运行,或作为“软件即服务(software as aservice,SaaS)”。这些进程和算法可以部分或全部在专用电路中实现。上述各种特征和进程可以各自独立使用,或以各种方式结合使用。不同的组合和子组合是为了符合本公开的范围,并且某些方法或进程块在一些实施例中可以省略。本公开描述的方法和进程也不限于任一特定顺序,与之相关的块或状态可以以其他合适顺序执行,或并行执行,或以其他方式执行。块或状态可以在本公开的示例实施例中添加或移除。某些操作或过程的执行可以分布在计算机系统或计算机处理器之间,不仅仅驻留在单个机器中,而是部署在多台机器上。
如本公开所使用的术语“电路和组件”可以描述可按照本公开的一个或多个实施例执行的功能的给定单元。如本公开所用,组件可以利用任何形式的硬件、软件或其组合来实现。例如,可以使用一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或其他机制来组成组件。本公开的各种组件可以是分离的组件,或是描述的功能和特性可以在一个或多个组件之间部分或全部共享。换言之,正如本领域普通技术人员在阅读本实施方式后显而易见的,本公开中描述的各种特性和功能可以在任何给定的应用中实现。这些特性和功能可以在一个或多个单独或共享的组件的各种组合和排列中实现。尽管各种特性或功能元素可以单独描述或声称为单独的组件,但应该理解,这些特性/功能可以在一个或多个公共软件和硬件元素之间共享。此类描述不应要求或暗示使用单独的硬件或软件组件来实现此类特性或功能。
当组件全部或部分使用软件实现时,这些软件元素可以与能够执行与其相关的功能的计算或处理组件一起操作。
本文中,术语“计算机程序介质”和“计算机可用介质”通常用于指暂时性或非暂时性介质。这些以及其他各种形式的计算机程序介质或计算机可用介质可以用于将一个或多个指令的一个或多个序列携带到处理设备以供执行。这种实现在介质上的指令一般称为“计算机程序代码”或“计算机程序产品”(可以以计算机程序或其他分组的形式分组)。这样的指令被执行时可以使得计算组件能够实现如本公开所讨论的本公开的特征或功能。
可以理解的是,在一个或多个独立的实施例中描述的各种特征、方面以及功能不限于适用于所描述的特定实施例。相反,无论本公开是否描述这些实施例,也无论这些特征是否呈现为所述实施例的一部分,上述各种特征、方面以及功能能够单独或以各种组合应用于一个或多个其他实施例。因此,本公开的广度和范围不应受到上述任何示例实施例的限制。
除非另有明确说明,否则本文中使用的术语和短语及其变体应被解释为开放式而不是限制性。作为前述内容的示例,术语“包括”应理解为“包括但不限于”等意思。术语“示例”用于提供所讨论项目的示例性实例,而不是其穷举或限制性的清单。术语“一个”应理解为“至少一个”、“一个或多个”或类似的含义。具有类似诸如“常规”、“传统”、“正常”、“标准”、“已知”等形容词的含义的术语不应被解释为将所述项目限制在给定时间段或在给定时间可用的项目。相反,所述项目应该被解读为包括现在或将来任何时候可以使用或已知的常规、传统、正常或标准技术。若本文涉及本领域普通技术人员明显可知或已知的技术,则此类技术包括熟练技术员现在或将来任何时候明显可知或已知的技术。
在某些示例中,扩大词和短语如“一个或多个”、“至少”、“但不限于”或其他类似的短语的出现不应理解为在没有这种扩大短语的情况下旨在或要求更窄的范围。使用术语“组件”并不意味着描述或声称的作为组件一部分的方面或功能均配置在通用包中。实际上,组件的任何或所有各种方面,无论是控制逻辑还是其他组件,均可以组合进单个包或单独维护,并且还可以分布在多个分组、多个包或跨越多个位置。
Claims (20)
1.一种文本输入方法,包括:
在移动设备上生成虚拟键盘,其中,所述虚拟键盘包括操作区、多个虚拟键区、以及多个边框,每个边框位于所述第一操作区与所述多个虚拟键区中的每个虚拟键区之间的界面;
检测所述移动设备上跨越所述多个边框中的第一边框的用户输入的第一轨迹;
配置确认标准;
检测跨越所述第一边框的所述用户输入的第二轨迹;
基于检测满足所述确认标准的所述第一轨迹和所述第二轨迹,选择所述虚拟键盘的输入键;以及
基于选择的所述输入键显示文本。
2.根据权利要求1所述的方法,其中,检测所述移动设备上跨越所述多个边框中的第一边框的用户输入的第一轨迹包括:
检测所述用户输入从所述操作区移动到所述多个虚拟键区中的第一虚拟键区,而沿所述第一轨迹跨越所述第一边框;以及
响应于检测到所述用户输入沿所述第一轨迹跨越所述第一边框,触发预选择状态。
3.根据权利要求2所述的方法,其中,检测跨越所述第一边框的所述用户输入的第二轨迹还包括:
检测所述用户输入从所述第一虚拟键区移动到所述操作区,而沿所述第二轨迹跨越所述第一边界;以及
响应于检测到所述用户输入沿所述第二轨迹跨越所述第一边框,确认所述输入键的所述选择。
4.根据权利要求1-3中任一项所述的方法,还包括:
获取阈值角度;
检测所述第一轨迹与所述第二轨迹之间的角度;以及
响应于确定所述角度小于或等于所述阈值角度,选择所述虚拟键盘的所述输入键。
5.根据权利要求1-3中任一项所述的方法,还包括:
获取第一指定方向分量作为所述确认标准;
响应于检测到所述第一轨迹包括所述第一指定方向分量,触发预选择状态;以及
响应于检测到所述用户输入沿所述第二轨迹跨越所述第一边框,确认所述输入键的所述选择。
6.根据权利要求5中任一项所述的方法,还包括:
获取第二指定方向分量作为所述确认标准,
其中,响应于检测到所述用户输入沿所述第二轨迹跨越所述第一边框,确认所述输入键的所述选择响应于检测到所述第二轨迹包括所述第二指定方向分量。
7.根据权利要求1-3中任一项所述的方法,其中,响应于检测到所述移动设备上的用户输入的所述第一轨迹跨越所述第一边框,配置所述确认标准。
8.根据权利要求7所述的方法,其中,所述多个边框中的每个边框包括多个边,其中,所述方法包括:
检测所述第一轨迹跨越所述第一边框的第一边;
将所述第一边设置为验证边界;
检测所述用户输入的所述第二轨迹跨越所述第一边;
响应于检测到所述第一跨越轨迹和所述第二跨越轨迹跨越所述第一边,选择所述虚拟键盘的所述输入键。
9.根据权利要求1-8中任一项所述的方法,还包括:
获取时间阈值;
检测跨越所述第一边框的所述第一轨迹与跨越所述第一边框的所述第二轨迹之间的时间量;以及
响应于确定所述时间量小于或等于所述时间阈值,选择所述虚拟键盘的所述输入键。
10.根据权利要求1-9中任一项所述的方法,其中,所述用户输入是连续的用户输入。
11.根据权利要求1-10中任一项所述的方法,还包括:在所述移动设备外部的显示设备上显示所述虚拟键盘的图形表示。
12.根据权利要求11所述的方法,其中,所述显示设备是头戴式显示设备,其中,显示所述虚拟键盘的图形表示包括将所述虚拟键盘叠加在所述头戴式显示设备的视野上。
13.根据权利要求11和12所述的方法,还包括:生成表示检测到的所述用户输入的图标,并在所述虚拟键盘上与所述用户输入的位置对应的位置显示所述图标。
14.根据权利要求1-13中任一项所述的方法,其中,所述移动设备包括触摸屏,并且所述用户输入是与所述触摸屏的物理接触。
15.根据权利要求1-14中任一项所述的方法,还包括:在所述移动设备的显示表面上显示所述虚拟键盘。
16.根据权利要求1-15中任一项所述的方法,还包括:为所述虚拟键区中的每个虚拟键区分配输入键,其中,输入键包括字母数字字符输入键和命令输入键之一。
17.一种文本输入系统,所述系统包括:
存储器,用于存储指令;以及
一个或多个处理器,通信耦合到所述存储器并且用于执行所述指令以执行方法,所述方法包括:
在移动设备上生成虚拟键盘,其中,所述虚拟键盘包括操作区、多个虚拟键区、以及多个边框,每个边框位于所述第一操作区与所述多个虚拟键区中的每个虚拟键区之间的界面;
检测所述移动设备上跨越所述多个边框中的第一边框的用户输入的第一轨迹;
配置确认标准;
检测跨越所述第一边框的所述用户输入的第二轨迹;
基于检测满足所述确认标准的所述第一轨迹和所述第二轨迹,选择所述虚拟键盘的输入键;以及
基于选择的所述输入键显示文本。
18.根据权利要求17所述的系统,其中,所述方法还包括:
获取阈值角度;
检测所述第一轨迹与所述第二轨迹之间的角度;以及
响应于确定所述角度小于或等于所述阈值角度,选择所述虚拟键盘的所述输入键。
19.根据权利要求17所述的系统,其中,所述方法还包括:
获取第一指定方向分量作为所述确认标准;
响应于检测到所述第一轨迹包括所述第一指定方向分量,触发预选择状态;以及
响应于检测到所述用户输入沿所述第二轨迹跨越所述第一边框,确认所述输入键的所述选择。
20.一种非暂时性计算机可读存储介质,存储可由一个或多个处理器执行的多个指令,当所述多个指令由所述一个或多个处理器执行时,使所述一个或多个处理器执行方法,所述方法包括:
生成虚拟键盘,所述虚拟键盘包括至少一个操作区、设置在所述操作区内的多个虚拟键区、以及位于所述至少一个操作区与所述多个虚拟键区之间的界面的多个边框;
响应于检测到跨越所述多个边框中的边框的用户输入,配置确认标准;以及
在显示屏上显示所述虚拟键盘的图形表示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163196082P | 2021-06-02 | 2021-06-02 | |
US63/196,082 | 2021-06-02 | ||
PCT/US2022/031890 WO2022246334A1 (en) | 2021-06-02 | 2022-06-02 | Text input method for augmented reality devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117480483A true CN117480483A (zh) | 2024-01-30 |
Family
ID=84140893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280039075.3A Pending CN117480483A (zh) | 2021-06-02 | 2022-06-02 | 用于增强现实设备的文本输入方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117480483A (zh) |
WO (1) | WO2022246334A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115826765B (zh) * | 2023-01-31 | 2023-05-05 | 北京虹宇科技有限公司 | 一种3d空间中的目标选择方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012102159A1 (ja) * | 2011-01-27 | 2014-06-30 | シャープ株式会社 | 文字入力装置および文字入力方法 |
EP3513276A4 (en) * | 2016-11-15 | 2020-03-25 | Hewlett-Packard Development Company, L.P. | VIRTUAL KEYBOARD KEY SELECTIONS BASED ON CONTINUOUS SLIDING GESTURES |
-
2022
- 2022-06-02 CN CN202280039075.3A patent/CN117480483A/zh active Pending
- 2022-06-02 WO PCT/US2022/031890 patent/WO2022246334A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022246334A1 (en) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412334B2 (en) | System with touch screen displays and head-mounted displays | |
US9830071B1 (en) | Text-entry for a computing device | |
CN106687889B (zh) | 显示器便捷式文本输入和编辑 | |
US9891822B2 (en) | Input device and method for providing character input interface using a character selection gesture upon an arrangement of a central item and peripheral items | |
US20160224123A1 (en) | Method and system to control electronic devices through gestures | |
WO2015105044A1 (ja) | インターフェース装置、可搬装置、制御装置、モジュール、制御方法およびプログラム記憶媒体 | |
US9313406B2 (en) | Display control apparatus having touch panel function, display control method, and storage medium | |
US11782514B2 (en) | Wearable device and control method thereof, gesture recognition method, and control system | |
US20140267029A1 (en) | Method and system of enabling interaction between a user and an electronic device | |
US9454257B2 (en) | Electronic system | |
US10621766B2 (en) | Character input method and device using a background image portion as a control region | |
KR102205283B1 (ko) | 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
US20130241896A1 (en) | Display control apparatus and control method therefor | |
KR20140147747A (ko) | 방사형 레이아웃 소프트 키패드를 포함하는 사용자 인터페이스 | |
WO2022267760A1 (zh) | 按键功能执行方法、装置、设备及存储介质 | |
CN106325490A (zh) | 控制电子设备的方法及电子设备 | |
CN117480483A (zh) | 用于增强现实设备的文本输入方法 | |
JP2013171529A (ja) | 操作入力装置、操作判定方法およびプログラム | |
WO2016018518A1 (en) | Optical tracking of a user-guided object for mobile platform user input | |
US20230236673A1 (en) | Non-standard keyboard input system | |
WO2021208965A1 (zh) | 文本输入方法、移动设备、头戴式显示设备以及存储介质 | |
CN117083584A (zh) | 用于增强现实设备的多层文本输入方法 | |
CN110291495B (zh) | 信息处理系统、信息处理方法及程序 | |
KR101654710B1 (ko) | 손동작 기반 문자 입력 장치 및 이를 이용한 문자 입력 방법 | |
CN117289801A (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 |