CN101932990A - 动态软键盘 - Google Patents
动态软键盘 Download PDFInfo
- Publication number
- CN101932990A CN101932990A CN200980104463XA CN200980104463A CN101932990A CN 101932990 A CN101932990 A CN 101932990A CN 200980104463X A CN200980104463X A CN 200980104463XA CN 200980104463 A CN200980104463 A CN 200980104463A CN 101932990 A CN101932990 A CN 101932990A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- soft keyboard
- current input
- keyboard
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/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/0237—Character input methods using prediction or retrieval techniques
-
- 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/0412—Digitisers structurally integrated in a display
-
- 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
-
- 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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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/0425—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
- G06F3/0426—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
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)
- Position Input By Displaying (AREA)
Abstract
根据动态软键盘的一个或多个方面,用户输入是经由具有多个键的软键盘接收的。获得描述软键盘的当前输入环境的信息,并且作出关于该用户输入旨在选择该多个键中的哪一个或多个键的判定。这一判定是至少部分地基于当前输入环境来作出的。
Description
背景
当前可以获得许多不同类型的移动计算设备,它们通常在小型封装内提供大量的计算能力。然而,移动设备面临的一个挑战是数据录入。用户习惯了经由键盘录入数据,键盘可以是大型且笨重的,通常比移动计算设备本身还要大。一些移动计算设备通过使用软键盘来解决这一问题,软键盘是显示在移动设备的显示器上的键盘并且其允许用户选择所显示的键(例如,使用指示笔、用户的手指等)。不幸的是,由于缺少物理上分开的键并且软键盘通常是小尺寸的,所以用户仍然难以选择软键盘上的键。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
本文讨论了动态软键盘。根据一个或多个方面,用户输入是经由软键盘接收的,该软键盘包括多个键。获得描述软键盘的当前输入环境的信息,并且作出关于该用户输入旨在选择该多个键中的哪一个或多个键的判定。这一判定是至少部分地基于当前输入环境来作出的。
附图简述
在全部附图中,使用相同的标号来指示相同的特征。
图1是示出根据一个或多个实施例的实现动态软键盘的示例计算设备的框图。
图2示出根据一个或多个实施例的显示软键盘的示例显示设备。
图3示出根据一个或多个实施例的实现动态软键盘的示例系统。
图4是示出根据一个或多个实施例的用于动态软键盘的示例过程的流程图。
图5示出根据一个或多个实施例的可被配置成实现动态软键盘的示例计算设备。
详细描述
本文讨论了动态软键盘。将软键盘用户界面显示给用户。还获得描述软键盘用户界面的当前输入环境的各种信息。描述当前输入环境的这一信息可包括例如描述用户正在录入的数据的当前类型的信息(例如,电子邮件地址、邮政编码、城市等)、描述用户通常使用的语言的信息、用户通常录入的数据、物理操作环境(例如,在桌上、在运动行走中、在移动的汽车中,等等)、靠近数据输入域的字符和/或词,等等。描述当前用户输入环境的这一信息被用来检测在接收到用户输入时用户旨在选择软键盘的哪一(些)键。动态软键盘因而可有助于用户输入速度和用户满意度。
图1是示出根据一个或多个实施例的实现动态软键盘的示例计算设备100的框图。计算设备100可以是各种不同设备中的任一种。例如,计算设备100可以是台式计算机、移动站、娱乐装置、通信地耦合到显示设备的机顶盒、电视机、无线电话、数码相机、游戏控制台、汽车计算机等等。因而,计算设备100的范围可以是从具有充足存储器和处理器资源的全资源设备(如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(如传统机顶盒、手持式游戏控制台)。
计算设备100包括软键盘控制模块102和预测键盘模块104。软键盘控制模块102生成软键盘108以显示给用户。软键盘108是在显示设备上显示的用户界面。如以下更详细地讨论地,软键盘108包括可由用户选择的多个键。计算设备100可包括显示组件,经由该显示组件可以显示软键盘108或另选地可以向可显示软键盘108的另一设备或组件输出信号或数据。
软键盘108包括多个键,这些键可被安排成各种不同布局中的任一种且可以与各种不同字母数字字符、日本汉字符号、字符和词语组(例如,“http://”、“www.”等)、其他符号等等中的任一种相对应。各键的一种示例布局是QWERTY布局,但可作为替换来提供其他布局。另外,软键盘108是动态的。这一动态性质指的是预测键盘模块104的行为随时间改变和/或显示成软键盘108的用户界面随时间改变。如以下更详细地讨论的,这一改变可包括键盘布局的改变、与各键相对应的不同字母数字字符或符号的改变、软键盘108上的哪些位置与哪些键相对应的改变、击中目标逻辑的改变,等等。
软键盘108被显示在显示设备上,并且用户输入也是经由这一显示设备来录入的。在一个或多个实施例中,显示软键盘108的显示设备是或包括触摸屏或触摸垫,通过用户触摸显示设备中显示软键盘108的各键的区域或进入该区域的物理邻近区域内可经由该触摸屏或触摸垫来录入用户输入。这一触摸或接近物理邻近区域可以使用指示笔、笔、手指等来作出。在其他实施例中,使用其他定点设备而非触摸屏或触摸垫。可以使用各种其他定点设备中的任一种来导航指针并使用软键盘108录入输入,这些定点设备包括相对定点设备,如鼠标、拇指操纵杆(thumbstick)、跟踪垫(trackpad)、跟踪球等。也可使用其他类型的定点设备,包括绝对断开的定点设备,如笔图形输入板。这些各种定点设备通常包括可由用户启动来选择软键盘108的特定位置的一个或多个按钮或其他选择机制(例如,在指针位于软键盘108的所需区域上方时,用户可按下鼠标按钮)。不需要具有与经由其录入用户输入的软键盘108相对应的物理键的任何分开的物理键盘。
图2示出根据一个或多个实施例的显示软键盘202的示例显示设备200。软键盘202可以是例如图1的软键盘108。可以明白,示例布局和与软键盘202的各键相对应的字母数字字符只是示例,并且各种不同布局中的任一种和/或对应字符或符号可以如上所述地使用。在图2的示例中,软键盘202不占据显示设备200的所有显示区域,从而为要显示给设备200的用户的其他信息留下了空间。或者,软键盘202可以占据显示设备200的所有或几乎所有显示区域。软键盘202还可任选地包括用于隐藏和显示功能的用户界面机制,从而允许在某些时间隐藏键盘202以免被看到。
如上所述,可以使用各种不同定点设备中的任一种来在软键盘202上录入输入。作为定点设备的示例,图2示出用户可用来触摸键盘202的特定键或在其上悬停的指示笔204。在用户触摸键盘202的特定区域时(使用指示笔204或另一定点设备所控制的指针),或在键盘202的特定区域上方移动指示笔204(或其他指针)时,自动地检测用户通过触摸或移动指示笔或其他定点设备而旨在选择的特定键。如以下更详细地讨论的,执行这一自动检测的方法是至少部分地基于当前输入环境的。
在一个或多个实施例中,显示设备200包括允许用户触摸显示设备200的不同区域或将指示笔移动到该区域附近以允许用户录入用户输入的触摸屏或触摸垫。这样的触摸屏或触摸垫可以是电磁输入设备、电容输入设备、电阻输入设备、表面声波输入设备、光学成像输入设备,等等。这样的触摸屏或触摸垫对本领域技术人员而言是公知的。可以明白,如果使用其他定点设备(如鼠标、笔图形输入板等),则显示设备200不必包括触摸屏或触摸垫。
返回图1,软键盘控制模块102还接收用户输入110。用户输入110指的是对软键盘108的特定位置的选择。如上所述,这一选择可以使用指示笔、笔、手指、定点设备所控制的指针等来作出。用户输入110通常被模块102表示成标识用户所选择的软键盘108中的位置的一组一个或多个坐标(例如,X-Y坐标、X-Y-Z坐标等)。如上所述,这一选择可包括触摸触摸屏或触摸垫、或移动到该触摸屏或触摸垫的接近邻近区域、或来自其他定点设备的其他输入。X和Y坐标分别是指输入表面(例如,触摸屏、触摸垫、笔图形输入板的表面等)的水平和垂直位置。Z坐标表示距输入表面的距离,并且可被用来确定用户是否悬停在输入表面的一部分的上方。
在一个或多个实施例中,用户输入110是数据流(例如,X-Y坐标流、X-Y-Z坐标流等)。这一数据流包括传入迹线、一个或多个落笔迹线、以及外出迹线中的一个或多个。传入迹线指的是在定点设备击中表面之前(或在用户启动选择机制之前)的坐标流。落笔迹线指的是定点设备在表面上所击中的位置(或在用户启动选择机制时指针所处的位置)。通常,存在单个落笔迹线,但可接收到多个落笔迹线(例如,在笔击中表面时用户将笔弹回的情况下)。外出迹线指的是在定点设备离开表面时(或在用户启动选择机制之后)的坐标流。
预测键盘模块104从软键盘控制模块102接收用户输入110。预测键盘模块104基于用户输入110和描述软键盘108的当前输入环境的信息两者来确定用户使用用户输入110旨在选择软键盘108的哪一个或多个键。如以下更详细地讨论的,这一当前输入环境描述其中显示软键盘108的环境的各个方面,如用户正在录入的数据的当前类型(例如,电子邮件地址、邮政编码、城市等)、软键盘108的用户通常使用的语言、软键盘108的用户通常录入的数据,等等。
在一个或多个实施例中,预测键盘模块104还基于用户输入110和/或描述软键盘108的当前输入环境的信息来确定要对软键盘108作出的改变。如以下更详细地讨论的,这些改变可以是键盘布局的改变和/或与各个键相对应的不同字母数字字符或符号的改变。
图3示出根据一个或多个实施例的实现动态软键盘的示例系统。系统300可以是例如图1的计算设备100。系统300包括软键盘控制模块302(其可以是图1的软键盘控制模块102)和预测键盘模块304(其可以是图1的预测键盘模块104)。模块302和304可被实现成同一设备的一部分,或另选地可由不同的设备来实现。另外,模块302和304中的每一个本身可由单个设备来实现或另选地由多个设备来实现。
软键盘控制模块302生成软键盘308并接收用户输入310(与图1的软键盘108和用户输入110类似)。用户输入310是软键盘308的用户作出的选择,该选择是对软键盘308的特定一个或多个位置的选择。这一选择可以用不同的方式来作出,如通过用手指、笔、指示笔等来触摸显示设备,通过在软键盘的位置上移动指针,通过将笔或指示笔移动到显示设备的附近,等等。如上所述,这一选择包括传入迹线、一个或多个落笔迹线、以及外出迹线中的一个或多个。软键盘控制模块302可以用各种不同的方式中的任一种来表示用户输入310。
在一个或多个实施例中,用户输入310被表示成一组一个或多个X-Y坐标。该组X-Y坐标在2-维空间中标识软键盘308的特定位置。软键盘308的特定位置被确定为原点(例如,软键盘308的左下角、软键盘308的中心,等等),并且X-Y值表示沿X轴和Y轴的相对于原点的位置。
另外,在一个或多个实施例中,在其上显示软键盘308的显示设备支持Z轴。这一Z轴与X-Y坐标的2-维空间正交。这样的显示设备可以检测例如位于显示设备附近但未触摸该显示设备的指示笔。指示笔与显示设备之间的距离被记录为Z值。因此,在与这样的显示设备一起使用时,用户输入310被表示成一组一个或多个X-Y-Z坐标。
另外,在一个或多个实施例中,为用户输入记录附加时间值T。时间值T指的是用户选择的持续时间,如用户的指示笔触摸键盘308的特定X-Y位置的时间量、用户的指示笔保持距键盘308的特定X-Y位置的特定距离Z的时间量、将指针保持在键盘308的特定X-Y位置上方(在其上悬停)的时间量,等等。因此,在这样的实施例中,用户输入310被表示成一组一个或多个X-Y-T坐标,或另选地被表示成X-Y-Z-T坐标。如以下更详细地讨论的,时间值T是对预测键盘引擎320的输入,并可被用来对用户所需的文本输入作出更好预测。
此外,在一个或多个实施例中,可以同时选择键盘308的多个位置。该多个位置可以是例如同时选择(例如,使用两个手指)的两个或更多个位置,如“Shift(移位)”键加字母键、“Control(控制)”键加字母键,等等。该多个位置还可以是从一个位置到另一个位置的移动(例如,在一个位置处用指示笔来触摸键盘308,在显示设备上滑动指示笔,并随后在另一位置处提起指示笔)等。在这些情况下,用户输入310被表示成一组多个坐标(例如,X-Y、X-Y-Z、X-Y-T、X-Y-Z-T等)。一个或多个坐标可任选地还包括标识指示笔(或手指、笔等)在与显示设备接触时或位于显示设备附近时(例如,距显示设备的距离Z)正在沿显示设备移动的方向的迹线参数。在一些实施例中,给定当前硬件,用户在垂直方向上确定目标时通常具有更多错误而在水平方向上更加精确。
预测键盘模块304从软键盘控制模块302接收用户输入310,并基于用户输入310和描述软键盘308的当前输入环境的信息两者来确定用户使用用户输入310旨在选择软键盘308的哪一个或多个键。在一个或多个实施例中,预测键盘模块304还至少部分地基于当前输入环境来确定要对软键盘308作出的改变。这些改变的指示被发送到软键盘控制模块302,软键盘控制模块302相应地改变软键盘308的显示。
预测键盘模块304包括预测键盘引擎320、操作模式检测模块322、语言字典模块324、用户专用词典模块326、上下文映射模块328、语言检测模块330、以及词和短语n元语法统计模块332。模块322-332中的每一个向预测键盘引擎320提供关于软键盘308的当前输入环境的各种信息。预测键盘引擎320进而使用关于当前输入环境的这一信息来改变软键盘308(例如,布局或者与特定键相对应的字符或符号)并还确定用户使用用户输入310旨在选择软键盘308的哪一个或多个键。
预测键盘引擎320输出用户使用特定用户输入旨在选择哪一个键的指示340。这一指示340通常被用于更新软键盘308的用户界面,并且还可被提供给另一组件(未示出)以用作字符录入。这一指示340还可被返回给模块322-332中的一个或多个以帮助确定当前输入环境。例如,如以下更详细地讨论的,用户专用词典模块326可以监视用户所输入的词。
另外,在一个或多个实施例中,预测键盘引擎340还输出所预测的输入串360,其是引擎340对用户正在输入的特定词或短语的预测。输出这一预测允许用户选择“自动完成”选项,在这种情况下输入所预测的词或短语而无需用户录入该词或短语的任何更多字符。所预测的输入串360被提供给软键盘控制模块302或另选地被提供给系统的另一组件(未示出)以便可将该所预测的词或短语显示给用户。用户可以用不同的方式经由软键盘308来选择这一所显示的所预测的词或短语,如通过选择“录入”键、通过选择“自动完成”键、通过选择所预测的词或短语中的特定字符,等等。应当注意,用户还可以可任选地只选择所预测的词或短语的一部分。
操作模式检测模块322检测其上显示软键盘308的设备的操作模式。操作模式可包括例如该设备的物理情况和/或地理位置。物理情况指的是该设备正被如何使用的物理描述。这一物理描述可包括例如该设备是静止的还是移动的,该设备是否定向在特定方向上,等等。物理情况可以用不同的方式来确定,如由该设备的用户来指定,使用该设备中的运动传感器,基于该设备耦合到的外围设备或其他组件,基于与无线基站或接入点之间的通信,等等。
地理位置指的是该设备所处的位置的地理描述。地理位置可以用不同的方式来确定,如由该设备的用户来指定,使用该设备的全球定位系统(GPS),基于分配给该设备的地址(例如,网际协议(IP)地址),等等。
来自操作模式检测模块322的描述该设备的操作模式的信息可由预测键盘引擎320以各种不同的方式来使用。例如,预测键盘引擎320可以假定在设备正在移动而非静止时更加难以精确地标识特定键,所以引擎320可以在该设备正在移动时而非在该设备静止时向特定键分配较大的软键盘308区域。如以下更详细地讨论的,这些较大区域可以与正显示在软键盘308上的较大键或特定键的较大击中目标相对应。
语言字典模块324使一个或多个语言专用字典对预测键盘引擎320可用。预测键盘引擎320可以自动地尝试标识用户正在输入的特定词或短语,以便可以确定用户可能输入的下一字符(或其他符号)。例如,如果用户录入“uni”,则预测键盘引擎320可以自动地标识用户正在尝试录入词“united”,所以用户输入的下一字符可能是字母“t”。预测键盘引擎320可以使用来自不同的模块322-332的各种信息来尝试标识用户正在输入的特定词或短语,这些信息之一是用户通常使用的特定语言。语言字典模块324提供给预测键盘引擎320来帮助作出这一判定的一段信息是用户通常使用的语言的词和/或短语的字典。
用户通常使用的语言可以用不同的方式来标识。例如,该语言可由用户来指定,可以是基于系统300的售出位置的默认语言(例如,如果系统300是在法国售出的,则默认语言是法语),可以基于用户的先前输入(例如,大多数先前输入是用英语的,则该语言可以是英语),可以从另一模块获得(如在以下更详细地讨论的语言检测模块330),等等。
用户专用词典模块326收集并维护关于用户通常录入的词(或其他数据,如数字、符号等)的信息。这一信息可以用各种不同方式来收集和维护。在一个或多个实施例中,维护用户所录入的词和指示这些词多久被录入一次的对应频率。这一频率可以是例如在每次录入该词时递增的词计数、指示该词相对于模块326所维护的其他词多久出现一次的比率,等等。另外,用户或管理员(例如,该用户工作的公司的管理员)可以可任选地安装新的自定义字典,从而在用户输入他们的词时来添加这些词(和/或可任选地包括该用户的默认词和频率)。
此外,模块326所跟踪或维护的词可以随时间老化,使得与用户更新近录入的词相比,具有相同使用频率但较久之前的词被标识为较不常被用户使用。这一老化可以用不同的方式来执行,如通过维护在多久之前(例如,以分钟、小时、天等为单位)使用特定词的记录,通过更改(例如,降低)与在至少阈值时间量内未被使用的词相对应的频率,等等。
如上所述,预测键盘引擎320可以自动地尝试标识用户正在输入的特定词或短语。用户专用词典模块326提供给预测键盘引擎320的一段信息是关于用户通常录入的词(或其他数据)的信息。
上下文映射模块328维护其中用户可录入数据的特定域到对每一特定域有效的数据类型的映射。例如,如果该域是邮政编码域,则有效数据可以是数字而非字母。作为另一示例,如果该域是电子邮件地址域,则有效数据可以是字母、数字、和一些符号(如“@”),但不是其他符号(如“!”或“#”)。
上下文映射模块328可以用各种不同方式中的任一种来标识连同软键盘308一起正在向用户显示的特定域。例如,可以分析正在屏幕上显示的数据并标识某些域(例如,具有标记“邮编”或“邮政编码”的域、具有标记“电子邮件”或“电子邮件地址”的域,等等)。作为另一示例,连同软键盘308一起显示的数据中可包括各种标签或标识符,这些标签或标识符向上下文映射模块328指示正在显示的特定域。作为又一示例,输入域可以经由系统300上的操作系统应用程序编程接口(API)显式地声明它们的存在以及它们的“类型”或合法输入限制。
特定域的有效数据类型可以用不同的方式来标识。在一个或多个实施例中,特定域的有效数据类型是在上下文映射模块328中预先编程的或以其他方式来向该模块标识的。例如,与连同软键盘一起显示的数据相对应的各种标签、标识符、或其他元数据可以标识特定域的有效数据类型,或可以访问其他远程设备来获得特定域的有效数据类型。作为又一示例,可以调用系统300上的操作系统API来获得特定域的有效数据类型。在其他实施例中,上下文映射模块328可以自动地标识特定域的一个或多个有效数据类型。例如,如果用户尝试录入特定类型的数据并且处理该输入的程序或其他组件向用户返回了错误,则上下文映射模块328可以知道该类型的数据对特定域不是有效的。
来自上下文映射模块328的上下文映射信息可由预测键盘引擎320以各种不同方式中的任一种来使用。在一个或多个实施例中,预测键盘引擎320确定不旨在使用用户输入310选择对特定域不是有效的特定类型的数据。例如,如果特定域只接受数字,则预测键盘引擎320可以确定用户旨在选择的键将是软键盘308上与用户输入310最接近的数字键。作为又一示例,如果特定域只接受数字,则预测键盘引擎320可以向软键盘控制模块302指示软键盘308要只包括数字而不包括字母。
或者,预测键盘引擎320可以确定有效的特定类型的数据与其他类型的数据相比更易于由用户选择。例如,如果符号“@”是特定域的有效符号而符号“!”和“#”不是该域的有效符号,则预测键盘引擎320所实现的击中目标逻辑可以增加选择“@”符号的可能性。这一可能性可以用不同的方式来增加,如通过使“@”符号的击中目标比“!”和“#”符号的大。软键盘308上特定键的击中目标指的是软键盘308上与该特定键相对应的位置。因为在许多键盘上“!”和“#”都在“@”符号的两侧,所以更改击中目标大小使得用户更易于通过在“@”符号处或接近该符号触摸软键盘308来选择“@”符号。对预测键盘引擎320所实现的击中目标和击中目标逻辑的使用在以下更详细地讨论。
语言检测模块330标识系统300的用户正在使用的语言。该语言可以用不同的方式来标识,如用户指定该语言,或模块330自动地标识该语言。模块330可以通过例如访问系统300的默认语言(例如,操作系统所记录的语言)、访问上下文映射模块328来标识数据类型和他们的对应语言(例如,如果日本汉字符号是有效的数据类型,则该语言可被自动地标识为日语)等等来自动地标识该语言。
语言检测模块330所标识的语言可以是系统300的用户通常使用的语言,或另选地可以是系统300的用户针对该用户正在作出的特定录入所使用的语言。例如,如果用户录入了部分词(例如,“uni”),则语言检测模块330可以自动地检测该用户正在录入的语言。这可以是独立检测(例如,仅基于该部分单词),或另选地可以结合其他信息(例如,系统300的用户通常使用的语言)。
词和短语n元语法统计模块332基于部分输入来标识比其他词或短语更加可能的词或短语。这可包括例如基于部分词输入来标识词和基于单个(或多个)词输入来标识短语。在一个或多个实施例中,这种标识是基于实际词(例如,来自语言字典模块324所提供的字典)的。例如,如果录入了词“united”,则模块332可以指示词“states”比词“run”更加可能。
在其他实施例中,模块332的这种标识是基于语法规则或其他规则的。例如,两个动词通常不彼此相邻,所以如果动词作为第一个词来录入,则模块332可以指示该短语中的下一个词不可能是动词。作为又一示例,模块332可以确定系统300的用户经常录入短语“United States of America(美利坚合众国)”,所以模块332可以确定如果用户录入了“United States”,则与其他词组合相比,“of America”更可能是该短语中接下来的词。
来自词和短语n元语法统计模块332的标识可能的词或短语的信息可由预测键盘引擎320用各种不同的方式中的任一种来使用。与以上关于上下文映射模块328的讨论类似,标识可能的词或短语的信息可被用来确定不旨在用用户输入310选择特定词、字母、或其他符号并且因此不允许录入这些词、字母、或其他符号,或者另选地可以更改击中目标以使其更易于由用户选择特定词、字母、或其他符号。
如上所述,预测键盘引擎320从各模块322-332接收描述当前输入环境的信息。预测键盘引擎320使用描述当前输入环境的这一信息来改变布局和/或与软键盘308的各键相对应的字母数字字符或符号,和/或来确定用户使用特定用户输入旨在选择哪一个键。预测键盘引擎320在用户每次作出对键的选择之后重复这一改变和/或确定。当前输入环境可以在用户每次选择了键之后改变,并且在用户每次选择了键之后预测键盘引擎320可以考虑新的当前输入环境。
如上所述,描述当前输入环境的信息可以指示某些输入比其他输入更有可能。在一个或多个实施例中,这一信息被用来改变软键盘308的布局。例如,该信息可被用来将软键盘308的布局从QWERTY布局改变成数字键盘布局以便只包括来自QWERTY布局的某些键,等等。
在其他实施例中,描述当前输入环境的信息被用来改变哪些字母数字字符或其他符号与软键盘308的各键相对应。响应于这一改变,软键盘308显示这些键的新的对应字符或符号而非先前显示的字符或符号,并且对这些键之一的选择使得用户输入所显示的对应字符或符号。例如,软键盘308的一行键可以从与数字相对应改变成与符号相对应。作为又一示例,某些键可被改变成与某些语言专用字符和/或符号相对应。
在其他实施例中,描述当前输入环境的信息被用来改变软键盘308的各键的外观。响应于这一改变,软键盘308显示各键的不同外观。例如,可以突出显示可能的和/或可能是正在录入的词的将来字母的各键。作为又一示例,将不产生词(基于已录入的字母)的字母的各键将被变暗以帮助在视觉上确定目标并减少用户努力。
在其他实施例中,描述当前输入环境的信息被用来确定用户使用特定用户输入旨在选择哪一个键。包括击中目标逻辑的预测键盘引擎320使用当前输入环境连同用户输入310来标识用户旨在选择软键盘308上的哪一特定键。
预测键盘引擎可以使用当前输入环境和用户输入310的一种方式是更改特定键的击中目标的大小。如上所述,软键盘308上的每一个键可以具有对应的击中目标,并且预测键盘引擎320可以将击中目标分配给每一个键。特定键的这一击中目标指的是软键盘308上与该特定键相对应的位置。特定键的击中目标可被更改——预测键盘引擎320可以增加击中目标的大小以使得软键盘308上的更多位置与该特定键相对应,或预测键盘引擎320可以减少击中目标的大小以使得软键盘308上的更少位置与该特定键相对应。增大键的击中目标因而通常使得用户更易于选择该键,而减小键的击中目标通常使用户更难以选择该键。
应当注意,这可导致以下情况:一个键的击中目标大于相邻键,并且实际上扩展覆盖了相邻键的显示的一部分。例如,假定预测键盘引擎320确定字母“d”可能是用户的下一字符输入。可以增大字母“d”的击中目标,同时可以减小相邻字母“f”的击中目标。字母“d”的击中目标可包括其中实际上在软键盘308上显示字母“f”的键的位置。因此,在该示例中,如果用户要在字母“f”的键的边缘按下该位置,则预测键盘引擎320确定字母“d”是用户旨在选择的键。这些情况可以出于各种不同的原因而发生,如在用户正在走路同时进行输入的情况下(在这种情况下,用户更难以精确地击中所需键)。
另外,预测键盘引擎320可以使软键盘308上的某些键无效。因此,预测键盘引擎320不指示旨在用特定用户输入选择无效键,而不论该特定用户输入是什么。例如,如果确定“!”符号是无效的,则预测键盘引擎320不指示旨在用特定用户输入选择“!”符号,而不论该特定用户输入是什么。
预测键盘引擎320可以确定如何改变布局和/或与软键盘308的各键相对应的字母数字字符或符号,和/或用各种不同的方式来确定用户使用特定用户输入旨在选择哪一个键。在一个或多个实施例中,预测键盘引擎320是用各种输入(用户输入310和描述当前输入环境的各种不同信息的组合)来训练的学习系统。这一训练涉及向引擎320提供各种输入和正确的答案,以便引擎320可以知道响应于该各种输入应该给出什么答案。初始训练通常由预测键盘引擎320的设计者来执行,而附加训练可以在系统300的操作期间执行。这一附加训练可以例如基于给予引擎320的指示特定输出340是否是正确的输出的反馈来执行。可以使用各种不同学习系统中的任一种,包括人工智能系统和其他基于统计的系统。例如,这样的学习系统可包括人工神经网络、贝叶斯推断系统、k-最接近邻居算法,等等。
或者,预测键盘引擎320可被实现成其他系统。例如,可以使用各种统计分析系统中的任一种来实现引擎320以评估用户输入310和描述当前输入环境的各种不同信息。作为又一示例,可以使用应用于用户输入310和描述当前输入环境的各种不同信息的各种其他规则、准则、或权重来实现引擎320。
因此,可以看到,软键盘308是动态的。在一个或多个实施例中,软键盘308改变布局和/或与各键相对应的字母数字字符或符号,从而造成动态的软键盘。另外,在一个或多个实施例中,用户旨在使用特定用户输入来选择哪一个键是可以改变的,从而造成动态的软键盘。关于用户旨在使用特定用户输入选择哪一个键的这样的改变可以在向用户显示或没有显示这样的改变的指示的情况下作出。
图4是示出根据一个或多个实施例的用于动态软键盘的示例过程400的流程图。过程400由诸如图3的系统300等系统来执行,并可以用软件、固件、硬件、或其组合来实现。该过程被示为指定由一个或多个设备执行的操作的一组动作,并且其不必限于所示由各相应动作执行操作的次序。过程400是用于动态软键盘的示例过程;在此包括了参考其他附图的对动态软键盘的附加讨论。
一开始,经由软键盘接收用户输入(动作402)。如上所述,这一用户输入是软键盘的特定一个或多个位置。另外,获得描述当前输入环境的信息(动作404)。这一信息可以是各种不同类型的信息中的任一种,如以上参考图3的模块322-332讨论的信息。
至少部分地基于在动作404获得的信息来确定用户输入旨在选择的特定一个或多个键(动作406)。输出所确定的用户要选择的一个或多个键的指示(动作408)。还可任选地输出所预测的输入串的指示(动作410)。另外,在一个或多个实施例中,至少部分地基于在动作404获得的信息来更改软键盘(动作412)。如上所述,这一更改可以是例如改变布局和/或改变与软键盘的各键相对应的字母数字字符或符号。
图5示出根据一个或多个实施例的可被配置成实现动态软键盘的示例计算设备500。计算设备500可以是例如图1的计算设备100。
计算设备500包括一个或多个处理器或处理单元502、可包括一个或多个存储器和/或存储组件506的一个或多个计算机可读介质504、经由其接收图1的用户输入110(或图3的用户输入310)的一个或多个输入/输出(I/O)设备508、以及允许各组件和设备彼此通信的总线510。计算机可读介质504和/或I/O设备508可作为计算设备500的一部分来包括,或另选地可耦合到计算设备500。总线510表示任何若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构的任一种的处理器或局部总线。总线510可包括有线和/或无线总线。
存储器/存储组件506表示一个或多个计算机存储介质。组件506可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件506可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存驱动器、可移动硬盘驱动器、光盘等等)。
本文讨论的技术可以用软件来实现,其中各指令由处理单元502来执行。可以明白,不同的指令可以存储在计算设备500的不同组件中,如存储在处理单元502中、存储在处理单元502的各种高速缓存存储器中、存储在设备500的其他高速缓存存储器中(未示出)、存储在其他计算机可读介质上,等等。另外,可以明白,指令被存储在计算设备500中的位置可以随时间改变。
一个或多个输入/输出设备508允许用户向计算设备500输入命令和信息,并还允许向用户和/或其他组件或设备呈现信息。呈现给用户的这一信息可包括图1的软键盘108或图3的软键盘308,输入设备的示例包括键盘、光标或指针控制设备(例如,鼠标、跟踪垫、拇指操纵杆、笔图形输入板,等等)、话筒、扫描仪、触摸屏、触摸垫,等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等。
各种技术在此可以在软件或程序模块的一般上下文中描述。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任何一个或多个可用介质。作为示例而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者可用于存储所需信息并可由计算机访问的任何其他介质。
“通信介质”通常用诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任意信息传递介质。术语“已调制数据信号”是指以在信号中对信息进行编码的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
一般而言,本文描述的任何功能或技术可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。本文使用的术语“模块”、“功能”和“逻辑”通常表示软件、固件、硬件、或其组合。在软件实现的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上执行时实现特定任务的程序代码。该程序代码可被存储在一个或多个计算机可读存储器设备中,对其的进一步描述可参考图5找到。本文描述的动态软键盘技术的各个特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (20)
1.一个或多个其上存储有多个指令的计算机存储介质,所述指令在由设备的一个或多个处理器执行时使得所述一个或多个处理器:
经由软键盘接收用户输入(402),所述软键盘包括多个键;
获得描述所述软键盘的当前输入环境的信息(404);以及
至少部分地基于所述当前输入环境来确定所述用户输入旨在选择所述多个键中的哪一个或多个键(406)。
2.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述用户输入由指示用户所选择的所述软键盘的一个或多个位置的一组一个或多个坐标来表示。
3.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括描述所述设备的操作模式的信息。
4.如权利要求3所述的一个或多个计算机存储介质,其特征在于,描述所述设备的操作模式的信息包括所述设备的地理位置。
5.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括语言专用字典。
6.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括关于所述设备的用户通常录入的词的信息。
7.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括对于其中用户可录入数据的一个或多个域中的每一个域,将所述域映射到对该域有效的数据类型的信息。
8.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括描述所述设备的用户正在使用的语言的信息。
9.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括描述基于部分输入而与其他词或短语相比更加可能的特定词或短语的信息。
10.如权利要求1所述的一个或多个计算机存储介质,其特征在于,描述所述当前输入环境的信息包括:
描述所述设备的操作模式的信息;
语言专用字典;
关于所述设备的用户通常录入的词的信息;
对于其中用户可以录入数据的一个或多个域中的每一个域,将所述域映射到对该域有效的数据类型的信息;
描述所述用户正在使用的语言的信息;以及
描述基于部分输入而与其他词或短语相比更加可能的特定词或短语的信息。
11.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述指令还使得所述一个或多个处理器至少部分地基于描述所述当前输入环境的信息来更改所述软键盘。
12.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述指令还使得所述一个或多个处理器更改所述多个键中的一个或多个键的击中目标。
13.一种系统,包括:
预测键盘引擎(320);
耦合以向所述预测键盘引擎提供描述软键盘的当前输入环境的信息的一个或多个模块(322、324、326、328、330、332);以及
所述预测键盘引擎(304)被配置成至少部分地基于描述所述当前输入环境的信息来:
更改所述多个键中的一个或多个的击中目标;以及
使用所述经更改的击中目标来确定所述系统的用户选择了所述软键盘的多个键中的哪一个或多个键。
14.如权利要求13所述的系统,其特征在于,所述预测键盘引擎包括人工智能系统。
15.如权利要求13所述的系统,其特征在于,所述预测键盘引擎还被配置成至少部分地基于描述所述当前输入环境的信息来确定如何改变所述软键盘的布局。
16.如权利要求13所述的系统,其特征在于,所述一个或多个模块包括:
用于提供描述所述系统的操作模式的信息的操作模式检测模块;以及
用于提供关于所述系统的用户通常录入的词的信息的用户专用词典模块。
17.一种在设备中实现的方法,所述方法包括:
接收指示所述设备的用户选择的软键盘的一个或多个位置的一组一个或多个坐标(402),所述软键盘具有多个键并且所述多个键中的每一个具有对应的击中目标;以及
至少部分地基于所述一组一个或多个坐标和使用所述软键盘的当前输入环境的击中目标逻辑两者来确定(406)所述用户选择了所述多个键中的哪一个或多个。
18.如权利要求17所述的方法,其特征在于,还包括至少部分地基于所述当前输入环境来改变哪些字符、数字、或符号与所述多个键中的哪些相对应。
19.如权利要求17所述的方法,其特征在于,所述当前输入环境包括关于所述设备的用户通常录入的词的信息,以及对于其中所述用户可以录入数据的一个或多个域中的每一个域,将所述域映射到对该域有效的数据类型的信息。
20.如权利要求17所述的方法,其特征在于,所述当前输入环境包括描述所述用户正在使用的语言的信息和描述基于部分输入而与其他词或短语相比更加可能的特定词或短语的信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/025,721 | 2008-02-04 | ||
US12/025,721 US9552155B2 (en) | 2008-02-04 | 2008-02-04 | Dynamic soft keyboard |
PCT/US2009/030539 WO2009099704A2 (en) | 2008-02-04 | 2009-01-09 | Dynamic soft keyboard |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101932990A true CN101932990A (zh) | 2010-12-29 |
CN101932990B CN101932990B (zh) | 2014-03-05 |
Family
ID=40931193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980104463.XA Active CN101932990B (zh) | 2008-02-04 | 2009-01-09 | 动态软键盘 |
Country Status (8)
Country | Link |
---|---|
US (5) | US9552155B2 (zh) |
EP (1) | EP2240842B1 (zh) |
JP (1) | JP5611838B2 (zh) |
KR (1) | KR101541271B1 (zh) |
CN (1) | CN101932990B (zh) |
BR (1) | BRPI0906882B1 (zh) |
RU (1) | RU2504820C2 (zh) |
WO (1) | WO2009099704A2 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694948A (zh) * | 2011-03-24 | 2012-09-26 | 柯尼卡美能达商用科技株式会社 | 图像形成装置和显示方法 |
WO2012167397A1 (en) * | 2011-06-07 | 2012-12-13 | Intel Corporation | Dynamic soft keyboard for touch screen device |
CN104615262A (zh) * | 2013-11-01 | 2015-05-13 | 辉达公司 | 一种用于虚拟键盘的输入方法和输入系统 |
CN104685451A (zh) * | 2012-09-18 | 2015-06-03 | 谷歌公司 | 姿势适应选择 |
CN104883597A (zh) * | 2015-05-20 | 2015-09-02 | 福建新大陆通信科技股份有限公司 | 一种基于输入优先级的机顶盒软键盘输入方法及其系统 |
CN106201016A (zh) * | 2016-07-18 | 2016-12-07 | 深圳芯智汇科技有限公司 | 带有多个实体按键的终端 |
CN107077221A (zh) * | 2014-09-29 | 2017-08-18 | 惠普发展公司有限责任合伙企业 | 虚拟键盘 |
CN109154865A (zh) * | 2016-05-25 | 2019-01-04 | 微软技术许可有限责任公司 | 移动设备上的顺序双手触摸键入 |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7614008B2 (en) | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
US7783892B2 (en) | 2003-05-30 | 2010-08-24 | Privaris, Inc. | System and methods for assignation and use of media content subscription service privileges |
KR102559017B1 (ko) | 2007-09-24 | 2023-07-25 | 애플 인크. | 전자 장치 내의 내장형 인증 시스템들 |
TWI360061B (en) * | 2007-12-31 | 2012-03-11 | Htc Corp | Electronic device and method for operating applica |
US9552155B2 (en) | 2008-02-04 | 2017-01-24 | Microsoft Technology Liecsnsing, LLC | Dynamic soft keyboard |
US8570279B2 (en) | 2008-06-27 | 2013-10-29 | Apple Inc. | Touch screen device, method, and graphical user interface for inserting a character from an alternate keyboard |
US8452337B2 (en) * | 2008-08-19 | 2013-05-28 | Lg Electronics Inc. | Navigation method and apparatus for mobile terminal |
EP2350779A4 (en) * | 2008-11-25 | 2018-01-10 | Jeffrey R. Spetalnick | Methods and systems for improved data input, compression, recognition, correction, and translation through frequency-based language analysis |
US20100293457A1 (en) * | 2009-05-15 | 2010-11-18 | Gemstar Development Corporation | Systems and methods for alphanumeric navigation and input |
US9122393B2 (en) * | 2009-09-30 | 2015-09-01 | At&T Mobility Ii Llc | Predictive sensitized keypad |
US20110074692A1 (en) * | 2009-09-30 | 2011-03-31 | At&T Mobility Ii Llc | Devices and Methods for Conforming a Virtual Keyboard |
US8812972B2 (en) * | 2009-09-30 | 2014-08-19 | At&T Intellectual Property I, L.P. | Dynamic generation of soft keyboards for mobile devices |
US9128610B2 (en) * | 2009-09-30 | 2015-09-08 | At&T Mobility Ii Llc | Virtual predictive keypad |
US8816965B2 (en) * | 2009-09-30 | 2014-08-26 | At&T Mobility Ii Llc | Predictive force sensitive keypad |
US8810516B2 (en) | 2009-09-30 | 2014-08-19 | At&T Mobility Ii Llc | Angular sensitized keypad |
US9465532B2 (en) * | 2009-12-18 | 2016-10-11 | Synaptics Incorporated | Method and apparatus for operating in pointing and enhanced gesturing modes |
US8806362B2 (en) * | 2010-01-06 | 2014-08-12 | Apple Inc. | Device, method, and graphical user interface for accessing alternate keys |
WO2011093230A1 (ja) * | 2010-01-27 | 2011-08-04 | 日本電気株式会社 | 携帯情報端末及びそのキー配置変更方法 |
US8782556B2 (en) * | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US8471814B2 (en) | 2010-02-26 | 2013-06-25 | Microsoft Corporation | User interface control using a keyboard |
US20120005592A1 (en) * | 2010-06-30 | 2012-01-05 | Joshi Shrinivas B | Method and Apparatus for Providing Metadata-Based User Interfaces |
WO2012037200A2 (en) | 2010-09-15 | 2012-03-22 | Spetalnick Jeffrey R | Methods of and systems for reducing keyboard data entry errors |
JP5399438B2 (ja) * | 2011-04-08 | 2014-01-29 | シャープ株式会社 | 複合機、複合機制御システム、複合機の制御方法、プログラムおよびその記録媒体 |
US8773676B2 (en) | 2011-03-07 | 2014-07-08 | Sharp Kabushiki Kaisha | Multifunction peripheral, multifunction peripheral control system, and multifunction peripheral control method for preparing information display screen including changing default conditions |
US8914275B2 (en) | 2011-04-06 | 2014-12-16 | Microsoft Corporation | Text prediction |
JP5834529B2 (ja) * | 2011-06-23 | 2015-12-24 | ブラザー工業株式会社 | 入力装置および入力制御プログラム |
JP5544335B2 (ja) * | 2011-07-26 | 2014-07-09 | 京セラドキュメントソリューションズ株式会社 | 文字入力装置およびそれを備えた画像形成装置 |
US10140011B2 (en) | 2011-08-12 | 2018-11-27 | Microsoft Technology Licensing, Llc | Touch intelligent targeting |
US9176944B1 (en) | 2011-08-23 | 2015-11-03 | Google Inc. | Selectively processing user input |
US9262076B2 (en) * | 2011-09-12 | 2016-02-16 | Microsoft Technology Licensing, Llc | Soft keyboard interface |
US9838226B2 (en) | 2012-01-27 | 2017-12-05 | Apple Inc. | Methods and apparatus for the intelligent scrambling of control symbols |
US8897398B2 (en) * | 2012-01-27 | 2014-11-25 | Apple Inc. | Methods and apparatus for error rate estimation |
ES2434101B1 (es) | 2012-04-02 | 2014-11-25 | Telefónica, S.A. | Método y sistema para gestionar teclados virtuales para dispositivo informático |
US11209961B2 (en) | 2012-05-18 | 2021-12-28 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs |
US9600167B2 (en) * | 2012-09-28 | 2017-03-21 | Facebook, Inc. | Systems and methods for a user-adaptive keyboard |
US9450790B2 (en) | 2013-01-31 | 2016-09-20 | Apple Inc. | Methods and apparatus for enabling and disabling scrambling of control symbols |
US9210010B2 (en) | 2013-03-15 | 2015-12-08 | Apple, Inc. | Methods and apparatus for scrambling symbols over multi-lane serial interfaces |
US9348429B2 (en) * | 2013-03-15 | 2016-05-24 | Blackberry Limited | Method and apparatus for word prediction using the position of a non-typing digit |
CN104423614B (zh) * | 2013-09-11 | 2017-08-25 | 联想(北京)有限公司 | 一种键盘布局方法、装置及电子设备 |
US9529528B2 (en) | 2013-10-22 | 2016-12-27 | International Business Machines Corporation | Accelerated data entry for constrained format input fields |
US20150261312A1 (en) | 2014-03-15 | 2015-09-17 | Hovsep Giragossian | Talking multi-surface keyboard |
RU2577221C2 (ru) * | 2014-06-18 | 2016-03-10 | Андрей Александрович Баяджан | Способ осуществления музыкального, в том числе нотного, письма и записи музыкальных текстов (варианты) |
CN105450583B (zh) | 2014-07-03 | 2019-07-05 | 阿里巴巴集团控股有限公司 | 一种信息认证的方法及装置 |
CN105446992A (zh) | 2014-07-08 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 建立商品对象回收信息数据库、确定价值信息方法及装置 |
CN105450411B (zh) | 2014-08-14 | 2019-01-08 | 阿里巴巴集团控股有限公司 | 利用卡片特征进行身份验证的方法、装置及系统 |
CN105447378B (zh) * | 2014-08-27 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种密码生成方法和装置 |
CN105392057B (zh) * | 2014-09-03 | 2019-04-02 | 中国科学院声学研究所 | 一种软键盘布局动态调优实现方法 |
CN105719183A (zh) | 2014-12-03 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 定向转账方法及其装置 |
CN105869043A (zh) | 2015-01-19 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 分散热点的数据库账户转入、转出的记账方法及装置 |
CN105989467A (zh) | 2015-02-03 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 无线支付方法与装置及交通工具乘坐费检验方法与系统 |
US10282089B2 (en) * | 2015-02-03 | 2019-05-07 | Google Llc | User state-adaptive text input |
CN106570009B (zh) | 2015-10-09 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 导航类目更新方法及装置 |
DE102015119609A1 (de) * | 2015-11-13 | 2017-05-18 | Endress + Hauser Process Solutions Ag | Tastaturapplikation für eine Gerätezugriffssoftware |
WO2019000153A1 (en) * | 2017-06-26 | 2019-01-03 | Orange | METHOD FOR DISPLAYING A VIRTUAL KEYBOARD ON A MOBILE TERMINAL SCREEN |
CN108734371A (zh) | 2018-02-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 一种针对风控指令的处理方法、装置及设备 |
CN108632348B (zh) | 2018-03-19 | 2020-02-18 | 阿里巴巴集团控股有限公司 | 一种业务校验方法和装置 |
KR102592044B1 (ko) * | 2018-06-29 | 2023-10-23 | 삼성전자 주식회사 | 전자 장치에서 물리적 키보드의 레이아웃 설정 방법 및 장치 |
CN109521889B (zh) * | 2018-09-29 | 2021-02-09 | 咪咕音乐有限公司 | 一种输入方法及装置、终端及存储介质 |
US11099664B2 (en) | 2019-10-11 | 2021-08-24 | Hovsep Giragossian | Talking multi-surface keyboard |
WO2021112491A1 (en) * | 2019-12-04 | 2021-06-10 | Samsung Electronics Co., Ltd. | Methods and systems for predicting keystrokes using a unified neural network |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128672A (en) * | 1990-10-30 | 1992-07-07 | Apple Computer, Inc. | Dynamic predictive keyboard |
US5963671A (en) * | 1991-11-27 | 1999-10-05 | International Business Machines Corporation | Enhancement of soft keyboard operations using trigram prediction |
JPH08221169A (ja) | 1995-02-14 | 1996-08-30 | Matsushita Electric Ind Co Ltd | ソフトウェアキーボード表示方法とその装置 |
JPH08272789A (ja) | 1995-03-30 | 1996-10-18 | Mitsubishi Electric Corp | 言語情報変換装置 |
US5797098A (en) * | 1995-07-19 | 1998-08-18 | Pacific Communication Sciences, Inc. | User interface for cellular telephone |
US7844914B2 (en) * | 2004-07-30 | 2010-11-30 | Apple Inc. | Activating virtual keys of a touch-screen virtual keyboard |
US6169538B1 (en) * | 1998-08-13 | 2001-01-02 | Motorola, Inc. | Method and apparatus for implementing a graphical user interface keyboard and a text buffer on electronic devices |
US6359572B1 (en) | 1998-09-03 | 2002-03-19 | Microsoft Corporation | Dynamic keyboard |
US6004049A (en) * | 1998-10-29 | 1999-12-21 | Sun Microsystems, Inc. | Method and apparatus for dynamic configuration of an input device |
US8938688B2 (en) * | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
GB2388938B (en) * | 1999-02-22 | 2004-03-17 | Nokia Corp | A communication terminal having a predictive editor application |
WO2000058816A2 (en) | 1999-03-29 | 2000-10-05 | Now See Hear Interactive Inc. | A method for mobile text entry |
US6573844B1 (en) * | 2000-01-18 | 2003-06-03 | Microsoft Corporation | Predictive keyboard |
US6654733B1 (en) | 2000-01-18 | 2003-11-25 | Microsoft Corporation | Fuzzy keyboard |
KR100726582B1 (ko) * | 2000-10-25 | 2007-06-11 | 주식회사 케이티 | 무선통신 단말기의 위치 확인에 의한 다국 문자 자판의제공 방법 |
JP2002132447A (ja) | 2000-10-27 | 2002-05-10 | Alpine Electronics Inc | タッチパネル入力装置 |
US7318019B1 (en) * | 2000-11-17 | 2008-01-08 | Semantic Compaction Systems | Word output device and matrix keyboard for use therein |
US6724370B2 (en) | 2001-04-12 | 2004-04-20 | International Business Machines Corporation | Touchscreen user interface |
US7168046B2 (en) * | 2001-04-26 | 2007-01-23 | Lg Electronics Inc. | Method and apparatus for assisting data input to a portable information terminal |
US20090040184A9 (en) * | 2001-10-04 | 2009-02-12 | Infogation Corporation | Information entry mechanism |
US7246060B2 (en) * | 2001-11-06 | 2007-07-17 | Microsoft Corporation | Natural input recognition system and method using a contextual mapping engine and adaptive user bias |
US6744423B2 (en) * | 2001-11-19 | 2004-06-01 | Nokia Corporation | Communication terminal having a predictive character editor application |
SG125895A1 (en) * | 2002-04-04 | 2006-10-30 | Xrgomics Pte Ltd | Reduced keyboard system that emulates qwerty-type mapping and typing |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
BR0215854A (pt) * | 2002-08-30 | 2005-07-05 | Katsuzo Tanaka | Dispositivo de entrada de caracter em velocidade ultra elevada de um telefone celular |
KR20040034915A (ko) | 2002-10-17 | 2004-04-29 | 삼성전자주식회사 | 펜 컴퓨팅 시스템에서의 동적 키보드 구현 장치 |
FI116168B (fi) * | 2003-03-03 | 2005-09-30 | Flextronics Odm Luxembourg Sa | Datan syöttö |
US8479112B2 (en) * | 2003-05-13 | 2013-07-02 | Microsoft Corporation | Multiple input language selection |
US7230607B2 (en) * | 2003-06-12 | 2007-06-12 | Katsuyasu Ono | 6-key keyboard for touch typing |
KR100537280B1 (ko) * | 2003-10-29 | 2005-12-16 | 삼성전자주식회사 | 휴대용 단말기에서 터치스크린을 이용한 문자 입력 장치및 방법 |
JP2005215728A (ja) | 2004-01-27 | 2005-08-11 | Dainippon Printing Co Ltd | ソフトキーボード機能付電子フォームシステム |
US7218249B2 (en) * | 2004-06-08 | 2007-05-15 | Siemens Communications, Inc. | Hand-held communication device having navigation key-based predictive text entry |
US7616191B2 (en) * | 2005-04-18 | 2009-11-10 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | Electronic device and method for simplifying text entry using a soft keyboard |
US20060256139A1 (en) * | 2005-05-11 | 2006-11-16 | Gikandi David C | Predictive text computer simplified keyboard with word and phrase auto-completion (plus text-to-speech and a foreign language translation option) |
US9606634B2 (en) * | 2005-05-18 | 2017-03-28 | Nokia Technologies Oy | Device incorporating improved text input mechanism |
US7886233B2 (en) * | 2005-05-23 | 2011-02-08 | Nokia Corporation | Electronic text input involving word completion functionality for predicting word candidates for partial word inputs |
KR100706313B1 (ko) * | 2005-06-02 | 2007-04-13 | 엘지전자 주식회사 | 이동통신 단말기에서 메시지 입력 중 문자입력방법 |
US8542196B2 (en) * | 2005-07-22 | 2013-09-24 | Move Mobile Systems, Inc. | System and method for a thumb-optimized touch-screen user interface |
US7443316B2 (en) * | 2005-09-01 | 2008-10-28 | Motorola, Inc. | Entering a character into an electronic device |
JP2007299198A (ja) | 2006-04-28 | 2007-11-15 | Toyota Motor Corp | 入力装置、入力制御方法及び入力制御プログラム。 |
US8161395B2 (en) * | 2006-11-13 | 2012-04-17 | Cisco Technology, Inc. | Method for secure data entry in an application |
US20090051661A1 (en) * | 2007-08-22 | 2009-02-26 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing Automatic Positioning of Text on Touch Display Devices |
US8232973B2 (en) * | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US9552155B2 (en) | 2008-02-04 | 2017-01-24 | Microsoft Technology Liecsnsing, LLC | Dynamic soft keyboard |
US20110298723A1 (en) * | 2010-06-07 | 2011-12-08 | Christopher Brian Fleizach | Devices, Methods, and Graphical User Interfaces for Accessibility via a Touch-Sensitive Surface |
-
2008
- 2008-02-04 US US12/025,721 patent/US9552155B2/en active Active
-
2009
- 2009-01-09 KR KR1020107017025A patent/KR101541271B1/ko active IP Right Grant
- 2009-01-09 WO PCT/US2009/030539 patent/WO2009099704A2/en active Application Filing
- 2009-01-09 CN CN200980104463.XA patent/CN101932990B/zh active Active
- 2009-01-09 JP JP2010545046A patent/JP5611838B2/ja active Active
- 2009-01-09 RU RU2010132641/08A patent/RU2504820C2/ru active
- 2009-01-09 EP EP09707158.3A patent/EP2240842B1/en active Active
- 2009-01-09 BR BRPI0906882-1A patent/BRPI0906882B1/pt active IP Right Grant
-
2016
- 2016-12-12 US US15/375,830 patent/US10394446B2/en active Active
-
2019
- 2019-05-24 US US16/422,672 patent/US11199966B2/en active Active
-
2021
- 2021-11-23 US US17/534,424 patent/US11416142B2/en active Active
-
2022
- 2022-07-06 US US17/858,983 patent/US11868609B2/en active Active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694948A (zh) * | 2011-03-24 | 2012-09-26 | 柯尼卡美能达商用科技株式会社 | 图像形成装置和显示方法 |
CN102694948B (zh) * | 2011-03-24 | 2014-12-03 | 柯尼卡美能达商用科技株式会社 | 图像形成装置和显示方法 |
WO2012167397A1 (en) * | 2011-06-07 | 2012-12-13 | Intel Corporation | Dynamic soft keyboard for touch screen device |
TWI455010B (zh) * | 2011-06-07 | 2014-10-01 | Intel Corp | 觸控螢幕裝置用動態軟鍵盤 |
CN104685451B (zh) * | 2012-09-18 | 2018-04-17 | 谷歌有限责任公司 | 姿势适应选择 |
CN104685451A (zh) * | 2012-09-18 | 2015-06-03 | 谷歌公司 | 姿势适应选择 |
CN108710406A (zh) * | 2012-09-18 | 2018-10-26 | 谷歌有限责任公司 | 姿势适应选择 |
CN108710406B (zh) * | 2012-09-18 | 2021-10-08 | 谷歌有限责任公司 | 姿势适应选择 |
CN104615262A (zh) * | 2013-11-01 | 2015-05-13 | 辉达公司 | 一种用于虚拟键盘的输入方法和输入系统 |
CN107077221A (zh) * | 2014-09-29 | 2017-08-18 | 惠普发展公司有限责任合伙企业 | 虚拟键盘 |
CN104883597A (zh) * | 2015-05-20 | 2015-09-02 | 福建新大陆通信科技股份有限公司 | 一种基于输入优先级的机顶盒软键盘输入方法及其系统 |
CN109154865A (zh) * | 2016-05-25 | 2019-01-04 | 微软技术许可有限责任公司 | 移动设备上的顺序双手触摸键入 |
CN106201016A (zh) * | 2016-07-18 | 2016-12-07 | 深圳芯智汇科技有限公司 | 带有多个实体按键的终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2009099704A3 (en) | 2009-10-15 |
BRPI0906882B1 (pt) | 2019-08-20 |
US20220342539A1 (en) | 2022-10-27 |
WO2009099704A2 (en) | 2009-08-13 |
BRPI0906882A2 (pt) | 2015-07-07 |
US20170147204A1 (en) | 2017-05-25 |
US10394446B2 (en) | 2019-08-27 |
KR101541271B1 (ko) | 2015-08-03 |
US11416142B2 (en) | 2022-08-16 |
US11868609B2 (en) | 2024-01-09 |
US20190278476A1 (en) | 2019-09-12 |
US9552155B2 (en) | 2017-01-24 |
US20090195506A1 (en) | 2009-08-06 |
KR20100102191A (ko) | 2010-09-20 |
EP2240842A2 (en) | 2010-10-20 |
EP2240842A4 (en) | 2013-02-13 |
RU2010132641A (ru) | 2012-02-10 |
JP2011511370A (ja) | 2011-04-07 |
US20220083219A1 (en) | 2022-03-17 |
RU2504820C2 (ru) | 2014-01-20 |
CN101932990B (zh) | 2014-03-05 |
EP2240842B1 (en) | 2018-03-21 |
US11199966B2 (en) | 2021-12-14 |
JP5611838B2 (ja) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101932990B (zh) | 动态软键盘 | |
CN108701138B (zh) | 确定与文本相关联的图形元素 | |
US10140017B2 (en) | Graphical keyboard application with integrated search | |
US11327652B2 (en) | Keyboard automatic language identification and reconfiguration | |
US9946773B2 (en) | Graphical keyboard with integrated search features | |
US8669941B2 (en) | Method and apparatus for text entry | |
US9465532B2 (en) | Method and apparatus for operating in pointing and enhanced gesturing modes | |
US20170308292A1 (en) | Keyboard with a suggested search query region | |
US20170308290A1 (en) | Iconographic suggestions within a keyboard | |
WO2009025992A2 (en) | Efficient text input for game controllers and handheld devices | |
US10146764B2 (en) | Dynamic key mapping of a graphical keyboard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |