JP2011511370A - ダイナミックソフトキーボード - Google Patents

ダイナミックソフトキーボード Download PDF

Info

Publication number
JP2011511370A
JP2011511370A JP2010545046A JP2010545046A JP2011511370A JP 2011511370 A JP2011511370 A JP 2011511370A JP 2010545046 A JP2010545046 A JP 2010545046A JP 2010545046 A JP2010545046 A JP 2010545046A JP 2011511370 A JP2011511370 A JP 2011511370A
Authority
JP
Japan
Prior art keywords
user
soft keyboard
information
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
Application number
JP2010545046A
Other languages
English (en)
Other versions
JP5611838B2 (ja
Inventor
ゲイドル,エリック・エム
レプロウズ,ショーン・アール
レグロウ,イアン・シー
タウンセンド,リード・エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011511370A publication Critical patent/JP2011511370A/ja
Application granted granted Critical
Publication of JP5611838B2 publication Critical patent/JP5611838B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, 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/0426Digitisers, 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

Abstract

ダイナミックソフトキーボードの1つまたは複数の態様によると、ユーザー入力は複数のキーを有するソフトキーボードを介して受信される。ソフトキーボードの現在の入力環境を表す情報が取得され、複数のキーのうちどの1つまたは複数のキーをユーザー入力によって選択する意図だったのかが決定される。この決定は、少なくとも部分的に現在の入力環境に基づいて行われる。

Description

本願の実施例は、例えば、ダイナミックソフトキーボードに関する。
現在、様々な種類のモバイルコンピューティングデバイスが利用可能であり、典型的には小型パッケージで大きな計算能力を提供している。しかし、モバイルデバイスが直面している課題の1つはデータ入力である。ユーザーは、大きくて持ち運びが困難であり、多くの場合、モバイルコンピューティングデバイス自体より大きいキーボードを介してデータを入力することに慣れている。一部のモバイルコンピューティングデバイスは、ソフトキーボードを使用することによって、この問題を解決している。ソフトキーボードとは、モバイルデバイスのディスプレイ上に表示されるキーボードのことであり、(たとえば、スタイラス、ユーザーの指などを使用して)ユーザーが表示されたキーを選択できるようにするものである。残念なことに、キーが物理的に分離されておらず、多くの場合はソフトキーボードのサイズが小さいため、ソフトキーボード上のキーを選択するのは、ユーザーにとって困難なままである。
この概要は、以下に「発明を実施するための形態」においてさらに詳しく記述する概念を選択して簡単な形で紹介するために提供する。この概要は、請求される主題の重要な特徴または基本的な特徴を識別することを意図するものではなく、また、請求される主題の範囲を制限するために使用することを意図するものでもない。
本明細書ではダイナミックソフトキーボードについて記述する。1つまたは複数の態様によると、ユーザー入力はソフトキーボードを介して受信される。ソフトキーボードは複数のキーを含む。ソフトキーボードの現在の入力環境を表す情報が取得され、複数のキーのうちどの1つまたは複数のキーをユーザー入力によって選択する意図だったのかが決定される。この決定は、少なくとも部分的に現在の入力環境に基づいて行われる。
全図面を通して、同じ機能を参照するために同じ番号を使用する。
1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装する例示的なコンピューティングデバイスを示すブロック図である。 1つまたは複数の実施形態に従ってソフトキーボードを表示する例示的なディスプレイデバイスを示す図である。 1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装する例示的なシステムを示す図である。 1つまたは複数の実施形態に従ってダイナミックソフトキーボードの例示的なプロセスを示すフローチャートである。 1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装するように構成できる例示的なコンピューティングデバイスを示す図である。
本明細書ではダイナミックソフトキーボードについて記述する。ソフトキーボードのユーザーインターフェイスがユーザーに表示される。ソフトキーボードのユーザーインターフェイスに関する現在の入力環境を表す様々な情報も取得される。現在の入力環境を表すこの情報は、たとえば、ユーザーによって入力されている現在のデータの種類を表す情報(たとえば、電子メールアドレス、郵便番号、市など)、ユーザーによって典型的に使用される言語を表す情報、ユーザーによって一般的に入力されるデータ、物理的な操作環境(たとえば、机上、歩いている途中、移動中の自動車内など)、データ入力フィールドの近くの文字および/または単語などを含むことができる。現在のユーザーの入力環境を表すこの情報は、ユーザー入力が受信されたときに、ユーザーが選択しようとしたソフトキーボードのキーを検出するために使用される。このようにダイナミックソフトキーボードは、ユーザー入力速度およびユーザー満足度を促進することができる。
図1は、1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装する例示的なコンピューティングデバイス100を示すブロック図である。コンピューティングデバイス100は、任意の様々な異なるデバイスでもよい。たとえば、コンピューティングデバイス100は、デスクトップコンピューター、移動局、娯楽装置、通信するようにディスプレイデバイスに結合されたセットトップボックス、テレビ、無線電話、デジタルカメラ、ゲームコンソール、車載型コンピューターなどでもよい。このため、コンピューティングデバイス100は、十分なメモリーおよびプロセッサーリソースを備えた完全なリソースデバイス(たとえば、パーソナルコンピューター、ゲームコンソール)から、メモリーおよび/または処理リソースが制限されている低リソースデバイス(たとえば、従来のセットトップボックス、携帯型のゲームコンソール)まで及ぶことができる。
コンピューティングデバイス100は、ソフトキーボード制御モジュール102および予測キーボードモジュール104を含む。ソフトキーボード制御モジュール102は、ユーザーに表示するソフトキーボード108を生成する。ソフトキーボード108は、ディスプレイデバイスに表示されるユーザーインターフェイスである。ソフトキーボード108は、以下により詳細に記述するユーザーによって選択できる複数のキーを含む。コンピューティングデバイス100は、ソフトキーボード108を表示できるディスプレイコンポーネントを含むことができる。あるいは、ソフトキーボード108を表示できる別のデバイスまたはコンポーネントに信号またはデータを出力することができる。
ソフトキーボード108は、任意の様々な異なるレイアウトで配列することが可能で、任意の様々な異なる英数字、漢字記号、文字または単語のグループ(たとえば、「http://」、「www.」など)、他の記号などに対応することが可能な複数のキーを含む。キーのレイアウトの例を1つ挙げるとQWERTYレイアウトがあるが、この代わりに他のレイアウトを提供することもできる。さらに、ソフトキーボード108はダイナミックである。このダイナミックな性質とは、時間とともに変化する予測キーボードモジュール104および/または時間とともに変化するソフトキーボード108として表示されるユーザーインターフェイスの振る舞いを示す。より詳細には以下に記述するように、この変更は、キーボードのレイアウトの変更、キーに対応する様々な英数字または記号の変更、ソフトキーボード108上のどの位置がどのキーに対応するかの変更、衝突目標ロジックの変更などを含むことができる。
ソフトキーボード108はディスプレイデバイスに表示され、また、ユーザー入力はこのディスプレイデバイスを介して入力される。1つまたは複数の実施形態では、ソフトキーボード108を表示するディスプレイデバイスは、タッチスクリーンまたはタッチパッドであるか、またはそれが組み込まれており、これを介してユーザーがソフトキーボード108のキーを表示するディスプレイデバイスの領域に接触することによって、または領域に物理的に接近することによって、ユーザー入力を入力することができる。この接触または物理的な接近は、スタイラス、ペン、指などを使用して行うことができる。他の実施形態では、タッチスクリーンまたはタッチパッド以外の他のポインティングデバイスが使用される。ポインターを移動して、ソフトキーボード108を使用して入力するために、マウス、サムスティック、トラックパッド、トラックボールのような相対ポインティングデバイスなど、任意の様々な他のポインティングデバイスを使用することができる。ペンタブレットのような完全に分離されたポインティングデバイスなど、他の種類のポインティングデバイスも使用することができる。これらの様々なポインティングデバイスは、典型的には、ソフトキーボード108の特定の位置を選択するためにユーザーが作動させることができる1つもしくは複数のボタンまたは他の選択メカニズムを含む(たとえば、ポインターがソフトキーボード108の希望する領域に位置したときに、ユーザーはマウスボタンを押すことができる)。ユーザー入力を入力するソフトキーボード108に対応する物理的なキーを有する個別の物理的なキーボードはいずれも必要ない。
図2は、1つまたは複数の実施形態に従ってソフトキーボード202を表示する例示的なディスプレイデバイス200を示している。ソフトキーボード202は、たとえば、図1のソフトキーボード108でもよい。例示的なレイアウトおよびソフトキーボード202のキーに対応する英数字は一例に過ぎず、上記のように、任意の様々な異なるレイアウトおよび/または対応する文字もしくは記号を使用できることを理解されたい。図2の例では、ソフトキーボード202は、ディスプレイデバイス200の表示領域をすべては占めておらず、デバイス200のユーザーに他の情報を表示する余地を残している。あるいは、ソフトキーボード202は、ディスプレイデバイス200の表示領域のすべて、またはほぼすべてを占めることができる。また、ソフトキーボード202は、オプションで、表示非表示機能のためのユーザーインターフェイスメカニズムを含むことができ、これにより、キーボード202を特定のときに非表示にすることができる。
上記のように、ソフトキーボード202で入力を行うために、任意の様々な異なるポインティングデバイスを使用することができる。ポインティングデバイスの例として、図2に、キーボード202の特定のキーに接触したり、または上方で静止させたりするためにユーザーが使用できるスタイラス204を示している。ユーザーが、(スタイラス204または別のポインティングデバイスによって制御されたポインターを用いて)キーボード202の特定の領域に接触したり、またはキーボード202の特定の領域の上方にスタイラス204(または他のポインター)を移動させたりすると、スタイラスまたは他のポインティングデバイスの接触または移動によってユーザーが選択しようとした特定のキーが自動的に検出される。より詳細には以下に記述するように、この自動検出が実行される方法は、少なくとも部分的に現在の入力環境に基づいている。
1つまたは複数の実施形態では、ディスプレイデバイス200はタッチスクリーンまたはタッチパッドを含み、ユーザーは、ディスプレイデバイス200の様々な領域にスタイラスを接触させたり、またはその近くにスタイラスを移動したりして、ユーザーはユーザー入力を入力することができる。そのようなタッチスクリーンまたはタッチパッドは、電磁気による入力デバイス、容量性の入力デバイス、抵抗性の入力デバイス、表面弾性波入力デバイス、光学的画像入力デバイスなどでもよい。そのようなタッチスクリーンまたはタッチパッドは、当業者にはよく知られている。他のポインティングデバイスが使用される場合(マウス、ペンタブレットなど)、ディスプレイデバイス200は、タッチスクリーンやタッチパッドを含む必要がないことを理解されたい。
図1に戻ると、ソフトキーボード制御モジュール102は、ユーザー入力110も受信する。ユーザー入力110は、ソフトキーボード108の特定の位置(複数可)の選択を示している。上記のように、この選択は、スタイラス、ペン、指、ポインティングデバイスによって制御されたポインターなどを使用して行うことができる。ユーザー入力110は、典型的にはモジュール102によって1組の1つまたは複数の座標として表され(たとえば、X−Y座標、X−Y−Z座標など)、ユーザーによって選択されたソフトキーボード108の位置(複数可)を識別する。上記のように、この選択は、タッチスクリーンもしくはタッチパッドに接触したり、これらの近くに移動したりすること、または他のポインティングデバイスからの他の入力を含むことができる。XおよびYの座標は、入力面(たとえば、タッチスクリーン、タッチパッド、ペンタブレットなどの面)の水平および垂直の位置をそれぞれ示している。Z座標は、入力面からの距離を表しており、ユーザーが入力面の一部の上方で静止しているかどうかを判断するために使用することができる。
1つまたは複数の実施形態では、ユーザー入力110は連続したデータである(たとえば、連続したX−Y座標、連続したX−Y−Z座標など)。この連続したデータは、1つまたは複数の接近軌道、1つまたは複数のペン降下軌道、および離脱軌道を含む。接近軌道は、ポインティングデバイスが面に衝突する前(またはユーザーによって選択メカニズムが作動される前)の連続した座標を示している。ペン降下軌道は、ポインティングデバイスが衝突する(または、ユーザーによって選択メカニズムが作動されたときにポインターが位置している)面上の位置を示している。多くの場合、ペン降下軌道は1つだが、複数のペン降下軌道を受信することができる(たとえば、ペンが面に衝突するときにユーザーがペンを弾ませた場合)。離脱軌道は、ポインティングデバイスが面を離れるとき(またはユーザーによって選択メカニズムが作動された後)の連続した座標を示している。
予測キーボードモジュール104は、ユーザー入力110をソフトキーボード制御モジュール102から受信する。予測キーボードモジュール104は、ユーザー入力110およびソフトキーボード108の現在の入力環境を表す情報の両方に基づいて、ユーザー入力110を用いて、ユーザーが選択しようとしたソフトキーボード108の1つまたは複数のキーを決定する。より詳細には以下に記述するように、この現在の入力環境は、ユーザーによって入力されている現在のデータの種類(たとえば、電子メールアドレス、郵便番号、市など)、ソフトキーボード108のユーザーによって典型的に使用される言語、ソフトキーボード108のユーザーによって一般的に入力されるデータなど、ソフトキーボード108が表示される環境の様々な態様を表している。
1つまたは複数の実施形態では、また、予測キーボードモジュール104は、ユーザー入力110および/またはソフトキーボード108の現在の入力環境を表す情報に基づいて、ソフトキーボード108に加える変更を決定する。これらの変更は、より詳細には以下に記述するように、キーボードのレイアウトの変更および/またはキーに対応する様々な英数字もしくは記号の変更などでもよい。
図3は、1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装する例示的なシステムを示している。システム300は、たとえば、図1のコンピューティングデバイス100でもよい。システム300は、ソフトキーボード制御モジュール302(図1のソフトキーボード制御モジュール102でもよい)、および予測キーボードモジュール304(図1の予測キーボードモジュール104でもよい)を含む。モジュール302および304は、同じデバイスの一部として実装することも、あるいは異なるデバイスによって実装することもできる。さらに、モジュール302および304自体のそれぞれは、単一のデバイス、または複数のデバイスによって実装することができる。
ソフトキーボード制御モジュール302はソフトキーボード308を生成し、ユーザー入力310を受信する(図1のソフトキーボード108およびユーザー入力110に類似)。ユーザー入力310は、ソフトキーボード308のユーザーによって行われた選択であり、この選択は、ソフトキーボード308の1つまたは複数の特定の位置の選択である。この選択は、たとえば、指、ペン、スタイラスなどを用いてディスプレイデバイスに接触したり、ソフトキーボードの位置の上方にポインターを移動させたり、ペンまたはスタイラスをディスプレイデバイスの近くに移動させたりするなど、様々な方法で行うことができる。この選択は、上記の1つまたは複数の接近軌道、1つまたは複数のペン降下軌道、および離脱軌道を含む。ソフトキーボード制御モジュール302は、任意の様々な異なる方法においてユーザー入力310を表すことができる。
1つまたは複数の実施形態では、ユーザー入力310は、1組の1つまたは複数のX−Y座標として表される。1組のX−Y座標は、ソフトキーボード308の特定の位置を2次元空間において識別する。ソフトキーボード308の特定の位置が原点として決定され(たとえば、ソフトキーボード308の左下の角、ソフトキーボード308の中心など)、X−Y値は、X軸およびY軸に沿った原点に対する位置を表す。
さらに、1つまたは複数の実施形態では、ソフトキーボード308が表示されるディスプレイデバイスはZ軸をサポートする。このZ軸は、X−Y座標の2次元空間に対して垂直である。そのようなディスプレイデバイスは、たとえば、ディスプレイデバイスの近くに位置するが、接触していないスタイラスを検出することができる。スタイラスとディスプレイデバイスの間の距離はZ値として記録される。このため、そのようなディスプレイデバイスと共に使用される場合、ユーザー入力310は、1組の1つまたは複数のX−Y−Z座標として表される。
さらに、1つまたは複数の実施形態では、追加的な時間値Tがユーザー入力に対して記録される。時間値Tは、ユーザーの選択の期間を示しており、たとえば、ユーザーのスタイラスがキーボード308の特定のX−Y位置に接触していた時間、ユーザーのスタイラスがキーボード308の特定のX−Y位置から特定の距離Zで保持された時間、ポインターがキーボード308の特定のX−Y位置の上方で保持(上方で静止)された時間などである。このため、そのような実施形態では、ユーザー入力310は、1組の1つもしくは複数のX−Y−T、または、その代わりとしてX−Y−Z−T座標として表される。より詳細には以下に記述するように、時間値Tは予測キーボードエンジン320への入力であり、ユーザーが期待するテキスト入力について、より優れた予測を行うために使用することができる。
さらに、1つまたは複数の実施形態では、キーボード308の複数の位置を同時に選択することができる。たとえば、これらの複数の位置は、(たとえば、2本の指を使用して)「Shift」キーと文字キー、「Control」キーと文字キーなど、同時に選択された2つ以上の位置でもよい。また、これらの複数の位置は、ある位置から別の位置への移動などでもよい(たとえば、スタイラスを用いてキーボード308のある位置に接触し、ディスプレイデバイスを横切るようにスタイラスを滑らせ、次に別の位置でスタイラスを持ち上げる)。そのような状況では、ユーザー入力310は、1組の複数の座標として表される(たとえば、X−Y、X−Y−Z、X−Y−T、X−Y−Z−Tなど)。また、1つまたは複数の座標は、オプションで、ディスプレイデバイスに接触したとき、またはディスプレイデバイスの近くに位置したときに(たとえば、ディスプレイデバイスから距離Z)、スタイラス(または指、ペンなど)がディスプレイデバイスに沿って移動される方向を識別する軌道パラメーターを含むことができる。いくつかの実施形態では、現在のハードウェアについて、ユーザーは、典型的には、垂直方向に目標を捕らえる際により多くのエラーが発生し、水平方向ではより正確である。
予測キーボードモジュール304は、ソフトキーボード制御モジュール302からユーザー入力310を受信して、ユーザー入力310およびソフトキーボード308の現在の入力環境を表す情報の両方に基づいて、ユーザー入力310を用いてユーザーが選択しようとしたソフトキーボード308の1つまたは複数のキーを決定する。1つまたは複数の実施形態では、また、予測キーボードモジュール304は、少なくとも部分的に現在の入力環境に基づいて、ソフトキーボード308に加える変更を決定する。これらの変更の指示はソフトキーボード制御モジュール302に送信され、ソフトキーボード制御モジュール302は、それに応じてソフトキーボード308の表示を変更する。
予測キーボードモジュール304は、予測キーボードエンジン320、動作モード検出モジュール322、言語辞書モジュール324、ユーザー固有の辞書モジュール326、コンテキストマッピングモジュール328、言語検出モジュール330、および単語および句のnグラム統計モジュール332を含む。モジュール322から332のそれぞれは、予測キーボードエンジン320に、ソフトキーボード308の現在の入力環境に関する様々な情報を提供する。予測キーボードエンジン320は、次に、現在の入力環境に関するこの情報を使用してソフトキーボード308を変更し(たとえば、レイアウトまたは特定のキーに対応する文字もしくは記号)、また、ユーザー入力310を用いてユーザーが選択しようとしたソフトキーボード308の1つまたは複数のキーを決定する。
予測キーボードエンジン320は、特定のユーザー入力を用いてユーザーがどのキーを選択しようとしたかに関する指示340を出力する。この指示340は、典型的には、ソフトキーボード308のユーザーインターフェイスを更新するために使用され、また、文字(複数可)入力に利用するために別のコンポーネント(図示せず)に提供することもできる。また、この指示340は、現在の入力環境の決定を支援するために、1つまたは複数のモジュール322〜332に返すこともできる。たとえば、より詳細には以下に記述するように、ユーザー固有の辞書モジュール326は、ユーザーによって入力される単語を監視することができる。
さらに、1つまたは複数の実施形態では、予測キーボードエンジン340は、ユーザーが入力している特定の単語または句のエンジン340による予測である予測入力文字列360も出力する。この予測の出力により、予測された単語または句が入力されるため、ユーザーは単語または句の文字をそれ以上入力する必要がなくなる「オートコンプリート」オプションを選択できるようになる。予測入力文字列360は、予測された単語または句をユーザーに表示できるように、ソフトキーボード制御モジュール302、または、その代わりとしてシステムの別のコンポーネント(図示せず)に提供される。ユーザーは、ソフトキーボード308を介して、たとえば、「Enter」キーを選択したり、「オートコンプリート」キーを選択したり、予測された単語または句の特定の文字を選択したりするなど、様々な方法で、表示されたこの予測された単語または句を選択することができる。また、ユーザーは、オプションで、予測された単語または句の一部だけを選択できることにも注意されたい。
動作モード検出モジュール322は、ソフトキーボード308が表示されているデバイスの動作モードを検出する。動作モードは、たとえば、デバイスの物理的状況および/または地理的位置を含むことができる。物理的状況は、デバイスがどのように使用されているかの物理的概要を示している。この物理的概要は、たとえば、デバイスは静止しているか移動しているか、デバイスは特定方向を向いているかなどを含むことができる。物理的状況は、デバイスのユーザーが指定したり、デバイスのモーションセンサーを使用したり、デバイスが結合されている周辺機器または他のコンポーネントに基づいて、無線基地局またはアクセスポイントとの通信に基づいてなど、様々な方法で決定することができる。
地理的位置は、デバイスが位置している地理的概要を示している。地理的位置は、デバイスのユーザーが指定したり、デバイスの全地球測位システム(GPS)を使用したり、デバイスに割り当てられているアドレス(たとえば、インターネットプロトコル(IP)アドレス)に基づいてなど、様々な方法で決定することができる。
動作モード検出モジュール322からのデバイスの動作モードを表す情報は、様々な異なる方法で、予測キーボードエンジン320によって使用することができる。たとえば、予測キーボードエンジン320は、デバイスが静止しているときより、移動しているときのほうが特定のキーを正確に識別するのが難しいと想定できるため、デバイスが静止しているときより、デバイスが移動しているときに、エンジン320は、ソフトキーボード308のより大きな領域を特定のキーに割り当ててもよい。より詳細には以下に記述するように、これらの大きな領域は、ソフトキーボード308に表示されるより大きなキーに対応することも、または特定のキーのより大きな衝突目標に対応することもできる。
言語辞書モジュール324は、1つまたは複数の言語固有の辞書を予測キーボードエンジン320で利用できるようにする。予測キーボードエンジン320は、ユーザーによって入力されている特定の単語または句を識別することを自動的に試みることができるため、ユーザーによって入力される可能性がある次の文字(または他の記号)を決定することができる。たとえば、ユーザーが「uni」と入力すると、予測キーボードエンジン320は、ユーザーが「united」という単語を入力することを試みているため、ユーザーが入力する次の文字は文字「t」の可能性があると自動的に識別できる。予測キーボードエンジン320は、様々なモジュール322〜332からの様々な情報を使用して、ユーザーによって入力されている特定の単語または句を識別することを試みることができる。その1つは、ユーザーによって典型的に使用されている特定の言語である。この決定を支援するために言語辞書モジュール324によって予測キーボードエンジン320に提供される情報の1つは、ユーザーによって典型的に使用されている言語(複数可)の単語および/または句の辞書である。
ユーザーによって典型的に使用されている言語(複数可)は、様々な方法で識別することができる。たとえば、言語は、ユーザーが指定することができ、システム300が販売される場所に基づいた既定の言語でもよく(たとえば、システム300がフランスで販売された場合、既定の言語はフランス)、ユーザーによる以前の入力に基づかせることができ(たとえば、以前の入力の大部分が英語であれば、言語は英語)、別のモジュールから取得することができる(より詳細には以下に記述する言語検出モジュール330など)、などである。
ユーザー固有の辞書モジュール326は、ユーザーによって一般的に入力される単語(または数値、記号などの他のデータ)に関する情報を収集して維持する。この情報は、様々な異なる方法で収集して維持することができる。1つまたは複数の実施形態では、ユーザーによって入力された単語、およびそれらの単語がどれくらい頻繁に入力されるかを示す対応頻度が維持される。この頻度は、たとえば、単語が入力されるたびに増分される単語カウント、モジュール326によって維持されている他の単語に比べて、その単語がどれくらい頻繁に出現するかを示す割合などでもよい。さらに、ユーザーまたは(たとえば、ユーザーが働く企業の)管理者は、オプションで、ユーザーが入力したときに単語を追加する(かつ/またはオプションで、既定の単語およびユーザーの頻度を含む)新しいカスタム辞書をインストールすることができる。
さらに、モジュール326によって追跡または維持される単語は、時間の経過にあわせて老化させて、同じ頻度で使われていても、より古い時期に使われた単語は、より最近に入力された単語より、ユーザーによる使用頻度が低いと識別されるようにすることができる。この老化は、たとえば、特定の単語がどの位前に使用されたかのレコードを維持することによって(たとえば、分、時間、日など)、少なくともしきい値の時間だけ使用されていない単語に対応する頻度を変更(たとえば減少)するなどによって、異なる方法で実行することができる。
上記のように、予測キーボードエンジン320は、ユーザーによって入力されている特定の単語または句の識別を自動的に試みることができる。ユーザー固有の辞書モジュール326によって予測キーボードエンジン320に提供される情報との1つは、ユーザーによって一般的に入力される単語(または他のデータ)に関する情報である。
コンテキストマッピングモジュール328は、ユーザーがデータを入力する特定のフィールドと、各特定のフィールドに対して有効なデータの種類とのマッピングを維持する。たとえば、フィールドが郵便番号フィールドである場合、有効なデータは文字ではなく数値の可能性がある。別の例を挙げると、フィールドが電子メールアドレスフィールドである場合、有効なデータは、文字、数値、およびいくつかの記号(「@」など)などであり、他の記号(「!」または「#」など)ではない可能性がある。
コンテキストマッピングモジュール328は、任意の様々な異なる方法で、ソフトキーボード308と共にユーザーに表示されている特定のフィールドを識別することができる。たとえば、画面に表示されているデータを分析し、特定のフィールドを識別することができる(たとえば、「郵便(zip)」または「郵便番号(zip code)」のラベルを有するフィールド、「電子メール」または「電子メールアドレス」のラベルを有するフィールドなど)。別の例を挙げると、ソフトキーボード308と共に表示されているデータに様々なタグまたは識別子を含ませることができる。これらのタグまたは識別子は、表示されている特定のフィールドをコンテキストマッピングモジュール328に示すものである。別の例を挙げると、入力フィールドは、システム300のオペレーティングシステムのアプリケーション・プログラミング・インターフェイス(API)経由で、それらの存在および「種類」または法的な入力制限を明示的に宣言することができる。
特定のフィールドに対して有効なデータの種類は、異なる方法で識別することができる。1つまたは複数の実施形態では、特定のフィールドに対して有効なデータの種類は、あらかじめプログラムされているか、または、そうでない場合は、コンテキストマッピングモジュールに対して識別される。たとえば、ソフトキーボードと共に表示されるデータに対応する様々なタグ、識別子、または他のメタデータは、特定のフィールドに対して有効なデータの種類を識別することができる。または他のリモートデバイスにアクセスして、特定のフィールドに対して有効なデータの種類を取得することができる。別の例を挙げると、特定のフィールドに対する有効なデータの種類を取得するために、システム300のオペレーティングシステムのAPIを呼び出すことができる。他の実施形態では、特定のフィールドに対する1つまたは複数の有効なデータの種類は、コンテキストマッピングモジュール328によって自動的に識別することができる。たとえば、ユーザーがある種類のデータの入力を試みて、入力を処理するプログラムまたは他のコンポーネントによってユーザーにエラーが返された場合、コンテキストマッピングモジュール328は、特定のデータの種類は特定のフィールドに対して有効ではないことを学習することができる。
コンテキストマッピングモジュール328からのコンテキストマッピング情報は、任意の様々な異なる方法で、予測キーボードエンジン320によって使用することができる。1つまたは複数の実施形態では、予測キーボードエンジン320は、特定のフィールドに対して有効でない特定の種類のデータは、ユーザー入力310によって選択される意図がないと決定する。たとえば、特定のフィールドが数値だけを受け入れる場合、予測キーボードエンジン302は、ユーザーが選択しようとしたキーは、ユーザー入力310に最も近いソフトキーボード308上の番号キーであろうと決定することができる。別の例を挙げると、特定のフィールドが数値だけを受け入れる場合、予測キーボードエンジン320は、ソフトキーボード308に数値だけを含めて文字は含めないことを、ソフトキーボード制御モジュール302に示すことができる。
あるいは、予測キーボードエンジン320は、有効な特定の種類のデータが、他の種類のデータよりユーザーにとって選択するのが簡単になるように決定することができる。たとえば、記号「@」が特定のフィールドに対して有効なシンボルであるが、記号「!」および「#」は、そのフィールドに対して有効なシンボルではない場合、予測キーボードエンジン320によって実装された衝突目標ロジックは、「@」記号が選択される可能性を増加させることができる。この可能性は、「@」記号の衝突目標を「!」および「#」の記号より大きくするなどによって、異なる方法で増加することができる。特定のキーに対するソフトキーボード308の衝突目標は、その特定のキーに対応するソフトキーボード308の位置を示している。「!」および「#」の記号は、多くのキーボードにおいて「@」記号の左右いずれかにあるため、衝突目標サイズを変更することで、ソフトキーボード308で「@」記号またはその近くに接触することによって、ユーザーは「@」記号を選択しやすくなる。予測キーボードエンジン320によって実装される衝突目標と衝突目標ロジックの使用については、より詳細には以下に記述する。
言語検出モジュール330は、システム300のユーザーによって使用されている言語を識別する。言語は、たとえば、ユーザーが言語を指定する、またはモジュール330が自動的に言語を識別するなど、異なる方法で識別することができる。モジュール330は、たとえば、(たとえば、オペレーティングシステムによって記録されている)システム300の既定の言語にアクセスしたり、コンテキストマッピングモジュール328にアクセスしたりして、データの種類およびそれらの対応する言語を識別する(たとえば、漢字記号が有効なデータの種類である場合、その言語は日本語であると自動的に識別することができる)などによって、言語を自動的に識別することができる。
言語検出モジュール330によって識別される言語は、システム300のユーザーによって典型的に使用される言語でもよく、または、その代わりに、ユーザーによって行われている特定の入力に対して、システム300のユーザーによって使用される言語でもよい。たとえば、ユーザーが部分的な単語(たとえば「uni」)を入力した場合、言語検出モジュール330は、ユーザーによって入力されている言語を自動的に検出することができる。これは、スタンドアロンの検出(たとえば、部分的な単語のみに基づく)でもよく、あるいは、他の情報(たとえば、システム300のユーザーによって典型的に使用される言語(複数可))と併せてもよい。
単語および句のnグラム統計モジュール332は、部分的な入力に基づいて、他の単語または句より可能性の高い単語または句を識別する。これは、たとえば、部分的な単語の入力に基づいた単語の識別、および1つ(または複数の)単語の入力に基づいた句の識別を含めることができる。1つまたは複数の実施形態では、この識別は、(たとえば、言語辞書モジュール324によって提供された辞書の)実際の単語に基づく。たとえば、「united」という単語が入力された場合、モジュール332は、「states」という単語のほうが、「run」という単語より可能性が高いと示すことができる。
他の実施形態では、モジュール332によるこの識別は、文法ルールまたは他のルールに基づく。たとえば、典型的には2つの動詞が隣接することはないため、動詞が最初の単語として入力された場合、モジュール332は、句内の次の単語が動詞ではない可能性が高いと示すことができる。別の例を挙げると、モジュール332は、「United States of America」という句が、システム300のユーザーによってしばしば入力されると決定できるため、モジュール332は「United States」とユーザーによって入力された場合、他の言葉の組み合わせより「of America」が次に句に含まれる可能性が高いと決定することができる。
単語および句のnグラム統計モジュール332からの可能性のある単語または句を識別する情報は、任意の様々な異なる方法で、予測キーボードエンジン320によって使用することができる。コンテキストマッピングモジュール328に関する記述に類似しているが、可能性のある単語または句を識別する情報は、特定の単語、文字、または他の記号が、ユーザー入力310によって選択される意図がないことを決定するために使用できるため、そのような単語、文字、または他の記号の入力を却下したり、あるいは、衝突目標を変更して、ユーザーが特定の単語、文字、または他の記号を選択しやすくしたりすることができる。
上記のように、予測キーボードエンジン320は、様々なモジュール322〜332から現在の入力環境を表す情報を受信する。予測キーボードエンジン320は、現在の入力環境を表すこの情報を使用して、レイアウトおよび/もしくはソフトキーボード308のキーに対応する英数字または記号を変更し、かつ/または特定のユーザー入力を用いてユーザーがどのキーを選択しようとしたかを決定する。キー(複数可)の選択がユーザーによって行われた後に、毎回、予測キーボードエンジン320は、この変更および/または決定を繰り返す。現在の入力環境は、ユーザーによってキー(複数可)が選択されるたびに変更することが可能で、新しい現在の入力環境は、ユーザーによってキー(複数可)が選択されるたびに予測キーボードエンジン320によって考慮することができる。
上記のように、現在の入力環境を表す情報は、特定の入力は他の入力より可能性が高いことを示すことができる。1つまたは複数の実施形態では、この情報はソフトキーボード308のレイアウトを変更するために使用される。たとえば、情報を使用して、ソフトキーボード308のレイアウトをQWERTYレイアウトから数字パッドレイアウトに変更し、QWERTYレイアウトの特定のキーだけを含ませるなどが可能である。
他の実施形態では、現在の入力環境を表す情報は、どの英数字または他の記号がソフトキーボード308のキーに対応するかを変更するために使用する。そのような変更に応じて、ソフトキーボード308は、以前に表示されていた文字または記号ではなく、それらのキーに対して新しい対応する文字または記号を表示して、それらのキーの1つを選択すると、表示されている対応する文字または記号がユーザー入力されることになる。たとえば、ソフトキーボード308のキーの列は、数値への対応から記号への対応に変更することができる。別の例を挙げると、特定のキーは、特定の言語に固有の文字および/または記号に対応するように変更することができる。
他の実施形態では、現在の入力環境を表す情報は、ソフトキーボード308のキーの表面を変更するために使用される。そのような変更に応じて、ソフトキーボード308は、キーに対して異なる表面を表示する。たとえば、入力されている単語の後に入力される可能性が高いかつ/または可能性がある文字のキーを強調表示することができる。別の例を挙げると、(既に入力された文字に基づいて)入力しても単語にならない文字のキーを暗く表示して、視覚的に目標を定めるのを援助し、かつユーザーの負担を軽減することができる。
他の実施形態では、現在の入力環境を表す情報は、特定のユーザー入力を用いてユーザーがどのキーを選択しようとしたかを決定するために使用される。衝突目標ロジックを含む予測キーボードエンジン320は、現在の入力環境およびユーザー入力310を使用して、ユーザーが選択しようとしたソフトキーボード308上の特定のキーを識別する。
予測キーボードエンジンが、現在の入力環境およびユーザー入力310を使用できる方法の1つは、特定のキーの衝突目標のサイズを変更することである。上記のように、ソフトキーボード308上の各キーは、対応する衝突目標を有することができ、予測キーボードエンジン320は、衝突目標を各キーに割り当てることができる。特定のキーのこの衝突目標は、その特定のキーに対応するソフトキーボード308上の位置を示している。特定のキーの衝突目標は変更することができる。つまり、衝突目標は、予測キーボードエンジン320によってサイズを大きくして、ソフトキーボード308上のより多くの位置がその特定のキーに対応するようにすることも、または予測キーボードエンジン320によってサイズを小さくして、ソフトキーボード308上のより少ない位置がその特定のキーに対応するようにすることもできる。したがって、典型的には、キーの衝突目標を大きくすると、ユーザーがそのキーを選択しやすくなるのに対して、典型的には、キーの衝突目標を小さくすると、ユーザーがそのキーを選択しにくくなる。
この結果として、あるキーの衝突目標が隣接するキーより大きくなる可能性があり、実際に、隣接するキーの表示の一部を覆うように延在することに注意されたい。たとえば、予測キーボードエンジン320が、文字「d」がユーザーによって入力される次の文字の可能性があると決定したと仮定する。文字「d」の衝突目標を大きくするのに対して、隣接する文字「f」の衝突目標を小さくすることができる。文字「d」の衝突目標は、実際には文字「f」のキーがソフトキーボード308に表示されている位置を含むことができる。このため、この例では、ユーザーが文字「f」のキーの端部の位置を押した場合、予測キーボードエンジン320は、文字「d」がユーザーが選択しようとしたキーであると決定する。そのような状況は、様々な異なる理由から生じる可能性がある。たとえば、ユーザーが歩きながら入力している場合などである(その場合には、希望するキーを正確に打つのはユーザーにとってより困難である)。
さらに、予測キーボードエンジン320は、ソフトキーボード308上の特定のキーを無効化することができる。このため、予測キーボードエンジン320は、特定のユーザー入力が何であるかに関係なく、特定のユーザー入力を用いて無効なキーを選択しようとしたとは示さない。たとえば、「!」記号が無効であると決定された場合、予測キーボードエンジン320は、その特定のユーザー入力が何であるかに関係なく、特定のユーザー入力を用いて「!」記号を選択しようとしたとは示さない。
予測キーボードエンジン320は、レイアウトおよび/またはソフトキーボード308のキーに対応する英数字もしくは記号を変更する方法を決定することができ、かつ/または、様々な異なる方法において、特定のユーザー入力を用いてユーザーがどのキーを選択しようとしかたを決定することができる。1つまたは複数の実施形態では、予測キーボードエンジン320は、様々な入力(ユーザー入力310と現在の入力環境を表す様々な異なる情報の組み合わせ)を用いてトレーニングされる学習システムである。このトレーニングには、エンジン320に様々な入力および正解を提供することが含まれるため、エンジン320は、様々な入力に応じて、どのような応答を与えるかを学習することができる。最初のトレーニングは、典型的には、予測キーボードエンジン320の設計者によって実行され、補足的なトレーニングは、システム300の操作中に実行することができる。この補足的なトレーニングは、たとえば、エンジン320に与えられる、特定の出力340が正しい出力だったかどうか示すフィードバックに基づいて行うことができる。人工知能システムおよび他の統計に基づくシステムを含む、様々な異なる学習システムのいずれかを使用することができる。たとえば、そのような学習システムは、人工ニューラルネットワーク、ベイズの推論によるシステム、k近傍法アルゴリズムなどを含むことができる。
あるいは、予測キーボードエンジン320は他のシステムとして実装することができる。たとえば、エンジン320は、ユーザー入力310および現在の入力環境を表す様々な異なる情報を評価するために、様々な統計解析システムのいずれかを使用して実装することができる。別の例を挙げると、エンジン320は、ユーザー入力310に適用される様々な他のルール、基準、または重み付け、および現在の入力環境を表す様々な異なる情報を使用して実装することができる。
このように、ソフトキーボード308はダイナミックであると認めることができる。1つまたは複数の実施形態では、ソフトキーボード308は、レイアウトおよび/またはキーに対応する英数字もしくは記号を変更して、ダイナミックソフトキーボードを構成することができる。さらに、1つまたは複数の実施形態では、特定のユーザー入力を用いてユーザーがどのキーを選択しようとしたかを変更して、ダイナミックソフトキーボードを構成することができる。特定のユーザー入力を用いてユーザーがどのキーを選択しようとしたかに関するこのような変更は、そのような変更の指示をユーザーに表示して、または表示しないで行うことができる。
図4は、1つまたは複数の実施形態に従ったダイナミックソフトキーボードの例示的なプロセス400を示すフローチャートである。プロセス400は、図3のシステム300などのシステムで実行することができ、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせに実装することができる。プロセス400は、1つまたは複数のデバイスによって実行される操作を指定する1組の処理として示されていて、それぞれの処理による操作を実行するために示された順序に制限されるものではない。プロセス400は、ダイナミックソフトキーボードの例示的なプロセスである。ダイナミックソフトキーボードに関する追加的な記述は、本明細書において他の図に関連して記述されている。
最初に、ユーザー入力がソフトキーボードを介して受信される(処理402)。このユーザー入力は、上記のように、ソフトキーボードの特定の1つまたは複数の位置である。さらに、現在の入力環境を表す情報が取得される(処理404)。この情報は、図3のモジュール322〜332に関して上記の情報など、任意の様々な異なる種類の情報でもよい。
少なくとも部分的に処理404で得られた情報に基づいて、ユーザー入力によって選択する意図であった特定の1つまたは複数のキーが決定される(処理406)。ユーザーによって選択されたと決定された1つまたは複数のキーの指示が出力される(処理408)。オプションで、予測入力文字列の指示も出力される(処理410)。さらに、1つまたは複数の実施形態では、少なくとも部分的に処理404で取得された情報に基づいて、ソフトキーボードは変更される(処理412)。上記のように、この変更は、たとえば、レイアウトの変更および/またはソフトキーボードのキーに対応する英数字もしくは記号の変更でもよい。
図5は、1つまたは複数の実施形態に従ってダイナミックソフトキーボードを実装するように構成できる例示的なコンピューティングデバイス500を示している。コンピューティングデバイス500は、たとえば、図1のコンピューティングデバイス100でもよい。
コンピューティングデバイス500は、1つまたは複数のプロセッサーまたは処理装置502、1つまたは複数のメモリーおよび/または記憶域コンポーネント506を含むことができる1つまたは複数のコンピューターで読み取り可能なメディア504、図1のユーザー入力110(または図3のユーザー入力310)を介して受信される1つまたは複数の入出力(I/O)デバイス508、および様々なコンポーネントおよびデバイスが相互に通信することを可能にするバス510を含む。コンピューターで読み取り可能なメディア504および/またはI/Oデバイス(複数可)508は、コンピューティングデバイス500の一部として含むことも、または結合することもできる。バス510は、1つまたは複数の任意の複数の種類のバス構造を示しており、メモリーバスまたはメモリーコントローラー、周辺バス、アクセラレーテッド・グラフィックス・ポート、および任意の様々なバス構造を使用するプロセッサーまたはローカルバスを含む。バス510は、有線および/または無線のバスを含むことができる。
メモリー/記憶域コンポーネント506は1つまたは複数のコンピューター記憶域メディアを示している。コンポーネント506は、揮発性のメディア(ランダムアクセスメモリー(RAM)など)および/または不揮発性のメディア(読み取り専用メモリー(ROM)、フラッシュメモリー、光ディスク、磁気ディスクなど)を含むことができる。コンポーネント506は、固定メディア(たとえば、RAM、ROM、固定ハードドライブなど)およびリムーバブルメディア(たとえば、フラッシュメモリードライブ、リムーバブルハードディスク、光ディスクなど)を含むことができる。
本明細書に記述した技術はソフトウェアに実装して、処理装置(複数可)502によって命令を実行することができる。異なる命令を、処理装置502、処理装置502の様々なキャッシュメモリー、デバイス500の他のキャッシュメモリー(図示せず)、他のコンピューターで読み取り可能なメディアなど、コンピューティングデバイス500の異なるコンポーネントに格納できることを理解されたい。さらに、コンピューティングデバイス500において命令が格納される場所は、時間とともに変更できることを理解されたい。
1つまたは複数の入出力デバイス508は、ユーザーがコマンドおよび情報をコンピューティングデバイス500に入力することを可能にし、また、情報がユーザーおよび/または他のコンポーネントもしくはデバイスに提示されることを可能にする。ユーザーに提示されるこの情報は、図1のソフトキーボード108または図3のソフトキーボード308を含むことができる。入力デバイスの例としては、キーボード、カーソル、またはポインター制御デバイス(たとえば、マウス、トラックパッド、サムスティック、ペンタブレットなど)、マイク、スキャナー、タッチスクリーン、タッチパッドなどが挙げられる。出力デバイスの例としては、ディスプレイデバイス(たとえば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワークカードなどが挙げられる。
本明細書では、ソフトウェアまたはプログラムモジュールの一般的な内容に関して様々な技術について記述する。一般的に、ソフトウェアは、特定のタスクを実行したり、または特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールと技術の実装は、何らかの形式のコンピューターで読み取り可能なメディアに格納されるか、またはそれらの両端間で送信することができる。コンピューターで読み取り可能なメディアは、コンピューティングデバイスによってアクセスできる任意の利用可能なメディア(複数可)でよい。限定ではなく例として、コンピューターで読み取り可能なメディアは、「コンピューター記憶域メディア」および「通信メディア」を含むことができる。
「コンピューター記憶域メディア」は、コンピューターで読み取り可能な命令、データ構造、プログラムモジュール、他のデータなどの情報を格納するための任意の方法またはテクノロジーを使って実装された揮発性および不揮発性、リムーバブルメディアおよびリムーバブルでないメディアを含む。コンピューター記憶域メディアは、RAM、ROM、EEPROM、フラッシュメモリーもしくは他のメモリーテクノロジー、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または希望する情報を格納するために使用可能で、かつコンピューターによってアクセス可能な任意の他のメディアを含むが、これらに制限するものではない。
「通信メディア」は、典型的にはコンピューターで読み取り可能な命令、データ構造、プログラムモジュール、または、搬送波もしくは他の搬送メカニズムなど変調データ信号内の他のデータとして実施するものである。また、通信メディアは任意の情報送達メディアも含む。「変調データ信号」という用語は、信号内に情報が符号化されるように、その1つまたは複数の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接線接続のような有線メディア、ならびに音響、RF、赤外線、および他の無線メディアなどの無線メディアを含む。上記の任意の組み合わせも、コンピューターで読み取り可能なメディアの範囲に含まれる。
一般的に、本明細書に記述した任意の機能または技術は、ソフトウェア、ファームウェア、ハードウェア(たとえば固定論理回路)、手動処理、またはこれらの実装の組み合わせを使用して実装することができる。本明細書で使用する「モジュール」、「機能」、および「ロジック」という用語は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを一般的に示している。ソフトウェア実装の場合には、モジュール、機能、またはロジックは、プロセッサー(たとえばCPU(複数可))で実行されるときに指定されたタスクを実行するプログラムコードを示している。プログラムコードは、1つまたは複数のコンピューターで読み取り可能なメモリーに格納することができる。この詳細については、図5を参照して確認することができる。本明細書に記述したダイナミックソフトキーボード技術の特徴は、プラットフォームに依存していない。これが意味するには、この技術は、様々なプロセッサーを有する様々な商用のコンピューティングプラットフォームに実装できるということである。
主題について、構造上の特徴および/または方法論的な処理に特有の言葉で記述してきたが、添付の特許請求の範囲に定義した主題は、上記の具体的な特徴または処理に制限されるものではないことを理解されたい。むしろ、上記の具体的な特徴および処理は、特許請求の範囲を実装するための例として示すものである。

Claims (20)

  1. 複数の命令が1つまたは複数のコンピューター記憶域メディア(computer storage media)に格納された、当該1つまたは複数のコンピューター記憶域メディアであって、デバイス(device)の1つまたは複数のプロセッサーによって実行されたときに、前記1つまたは複数のプロセッサーに、
    ソフトキーボードを介して(via)ユーザー入力を受信(receive)し(402)、前記ソフトキーボードは複数のキーを含み、
    前記ソフトキーボードの現在の入力環境(input environment)を表す情報を取得(obtain)し(404)、かつ
    少なくとも部分的に前記現在の入力環境に基づいて、前記複数のキーのうちどの1つまたは複数のキーを前記ユーザー入力によって選択する意図だった(intended to be)のかを決定(determine)する(406)、
    ようにさせる、複数の命令がそこに格納された1つまたは複数のコンピューター記憶域メディア。
  2. 前記ユーザー入力は、ユーザーによって選択された前記ソフトキーボードの1つまたは複数の位置を示す1組の1つまたは複数の座標(coordinates)によって表される(represented)、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  3. 前記現在の入力環境を表す前記情報は、前記デバイスの動作モードを表す情報を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  4. 前記デバイスの前記動作モードを表す前記情報は、前記デバイスの地理的位置(geographical location)を含む、請求項3に記載の1つまたは複数のコンピューター記憶域メディア。
  5. 前記現在の入力環境を表す前記情報は、言語固有の辞書(language-specific dictionary)を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  6. 前記現在の入力環境を表す前記情報は、前記デバイスのユーザーによって一般的に(commonly)入力される単語(words)に関する情報を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  7. 前記現在の入力環境を表す前記情報は、ユーザーがデータを入力できる1つまたは複数のフィールドのそれぞれに対して、前記フィールドを、前記フィールドに対して有効なデータの種類(types)にマッピングする情報を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  8. 前記現在の入力環境を表す前記情報は、前記デバイスのユーザーによって使用されている言語を表す情報を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  9. 前記現在の入力環境を表す前記情報は、部分的な入力(partial inputs)に基づいて、他の単語または句より可能性の高い(more likely)特定(particular)の単語(words)または句(phrases)を表す情報を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  10. 前記現在の入力環境を表す前記情報は、
    前記デバイスの動作モードを表す情報と、
    言語固有の辞書と、
    前記デバイスのユーザーによって一般的に入力される単語に関する情報と、
    前記ユーザーがデータを入力できる1つまたは複数のフィールドのそれぞれに対して、前記フィールドを前記フィールドに対して有効なデータの種類にマッピングする情報と、
    前記ユーザーによって使用されている言語を表す情報と、
    部分的な入力に基づいて、他の単語または句より可能性が高い特定の単語または句を表す情報と、
    を含む、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  11. 前記命令は、前記現在の入力環境を表す前記情報に少なくとも部分的に基づいて、前記1つまたは複数のプロセッサーに、前記ソフトキーボードを変更(alter)するようにさらにさせる、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  12. 前記命令は、前記1つまたは複数のプロセッサーに、前記複数のキーの1つまたは複数のキーの衝突目標(hit target)を変更するようにさらにさせる、請求項1に記載の1つまたは複数のコンピューター記憶域メディア。
  13. 予測(predictive)キーボードエンジン(320)と、
    前記予測キーボードエンジンに、ソフトキーボードの現在の入力環境を表す情報を提供するために結合された(coupled)1つまたは複数のモジュール(322、324、326、328、330、332)と、
    を含むシステムであって、
    前記予測キーボードエンジン(304)は、前記現在の入力環境を表す前記情報に少なくとも部分的に基づいて、
    前記複数のキーの1つまたは複数の衝突目標を変更し、かつ
    前記ソフトキーボードの複数のキーのうちどの1つまたは複数のキーが前記システムのユーザーによって選択されたかを決定するために前記変更された衝突目標を使用する
    システム。
  14. 前記予測キーボードエンジンは、人工知能システムを含む、請求項13に記載のシステム。
  15. 前記予測キーボードエンジンは、前記現在の入力環境を表す前記情報に少なくとも部分的に基づいて、前記ソフトキーボードのレイアウトを変更(change)する方法を決定するようにさらに構成された、請求項13に記載のシステム。
  16. 前記1つまたは複数のモジュールは、
    前記システムの動作モードを表す情報を提供する動作モード検出(detection)モジュールと、
    前記システムのユーザーによって一般的に(commonly)入力される単語(words)に関する情報を提供するユーザー固有の辞書(lexica)モジュールと、
    を含む、請求項13に記載のシステム。
  17. デバイスに実装される方法であって、
    前記デバイスのユーザーによって選択されたソフトキーボードの1つまたは複数の位置を示す1組の1つまたは複数の座標を受信(receiving)するステップであって、前記ソフトキーボードは複数(multiple)のキーを有し、前記複数のキーのそれぞれは、対応する衝突目標(hit target)を有するステップ(402)と、
    前記1組の1つまたは複数の座標および前記ソフトキーボードの現在の入力環境を使用する衝突目標ロジックの両方に少なくとも一部分的には基づいて、前記複数のキーのどの1つまたは複数が前記ユーザーによって選択されたかを決定するステップ(406)と、
    を含む方法。
  18. 前記現在の入力環境に少なくとも部分的に基づいて、どの文字(characters)、数値(numbers)、または記号(symbols)がどの前記複数のキーに対応(corresponding)するかを変更(changing)することをさらに含む、請求項17に記載の方法。
  19. 前記現在の入力環境は、
    前記デバイスのユーザーによって一般的に入力される単語(words)に関する情報と、
    前記ユーザーがデータを入力できる1つまたは複数のフィールドのそれぞれに対して、前記フィールドを、前記フィールドに対して有効なデータの種類にマッピングする情報と、
    を含む、請求項17に記載の方法。
  20. 前記現在の入力環境は、
    前記ユーザーによって使用されている言語を表す情報と、
    部分的な入力に基づいて他の単語または句より可能性の高い特定の単語または句を表す情報と、
    を含む、請求項17に記載の方法。
JP2010545046A 2008-02-04 2009-01-09 ダイナミックソフトキーボード Active JP5611838B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/025,721 US9552155B2 (en) 2008-02-04 2008-02-04 Dynamic soft keyboard
US12/025,721 2008-02-04
PCT/US2009/030539 WO2009099704A2 (en) 2008-02-04 2009-01-09 Dynamic soft keyboard

Publications (2)

Publication Number Publication Date
JP2011511370A true JP2011511370A (ja) 2011-04-07
JP5611838B2 JP5611838B2 (ja) 2014-10-22

Family

ID=40931193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010545046A Active JP5611838B2 (ja) 2008-02-04 2009-01-09 ダイナミックソフトキーボード

Country Status (8)

Country Link
US (5) US9552155B2 (ja)
EP (1) EP2240842B1 (ja)
JP (1) JP5611838B2 (ja)
KR (1) KR101541271B1 (ja)
CN (1) CN101932990B (ja)
BR (1) BRPI0906882B1 (ja)
RU (1) RU2504820C2 (ja)
WO (1) WO2009099704A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012218306A (ja) * 2011-04-08 2012-11-12 Sharp Corp 複合機、複合機制御システム、複合機の制御方法、プログラムおよびその記録媒体
JP2013008120A (ja) * 2011-06-23 2013-01-10 Brother Ind Ltd 入力装置および入力制御プログラム
JP2013027005A (ja) * 2011-07-26 2013-02-04 Kyocera Document Solutions Inc 文字入力装置およびそれを備えた画像形成装置
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
JP2014526822A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション ソフトキーボードインタフェース

Families Citing this family (63)

* Cited by examiner, † Cited by third party
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
CA2857208C (en) 2003-05-30 2018-09-04 Privaris, Inc. An in-circuit security system and methods for controlling access to and use of sensitive data
EP2203865A2 (en) * 2007-09-24 2010-07-07 Apple Inc. Embedded authentication systems in an electronic device
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
US8671357B2 (en) * 2008-11-25 2014-03-11 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
US8810516B2 (en) 2009-09-30 2014-08-19 At&T Mobility Ii Llc Angular sensitized keypad
US20110074692A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Devices and Methods for Conforming a Virtual Keyboard
US9122393B2 (en) * 2009-09-30 2015-09-01 At&T Mobility Ii Llc Predictive sensitized keypad
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
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
US9122318B2 (en) 2010-09-15 2015-09-01 Jeffrey R. Spetalnick Methods of and systems for reducing keyboard data entry errors
JP5516473B2 (ja) * 2011-03-24 2014-06-11 コニカミノルタ株式会社 画像形成装置、表示方法および表示プログラム
US8914275B2 (en) 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
US20150040055A1 (en) * 2011-06-07 2015-02-05 Bowen Zhao Dynamic soft keyboard for touch screen device
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
US8897398B2 (en) * 2012-01-27 2014-11-25 Apple Inc. Methods and apparatus for error rate estimation
US9838226B2 (en) 2012-01-27 2017-12-05 Apple Inc. Methods and apparatus for the intelligent scrambling of control symbols
ES2434101B1 (es) 2012-04-02 2014-11-25 Telefónica, S.A. Método y sistema para gestionar teclados virtuales para dispositivo informático
AU2013262488A1 (en) 2012-05-18 2014-12-18 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs
WO2014047161A2 (en) * 2012-09-18 2014-03-27 Google Inc. Posture-adaptive selection
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
US9348429B2 (en) * 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US9210010B2 (en) 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
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
CN104615262A (zh) * 2013-11-01 2015-05-13 辉达公司 一种用于虚拟键盘的输入方法和输入系统
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 中国科学院声学研究所 一种软键盘布局动态调优实现方法
WO2016053239A1 (en) * 2014-09-29 2016-04-07 Hewlett-Packard Development Company, L.P. Virtual keyboard
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
CN104883597A (zh) * 2015-05-20 2015-09-02 福建新大陆通信科技股份有限公司 一种基于输入优先级的机顶盒软键盘输入方法及其系统
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
US10627948B2 (en) * 2016-05-25 2020-04-21 Microsoft Technology Licensing, Llc Sequential two-handed touch typing on a mobile device
CN106201016A (zh) * 2016-07-18 2016-12-07 深圳芯智汇科技有限公司 带有多个实体按键的终端
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
EP4022517A4 (en) * 2019-12-04 2022-10-19 Samsung Electronics Co., Ltd. METHODS AND SYSTEMS FOR PREDICTING KEYKEYS USING A UNIFIED NEURONAL NETWORK

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221169A (ja) * 1995-02-14 1996-08-30 Matsushita Electric Ind Co Ltd ソフトウェアキーボード表示方法とその装置
JPH08272789A (ja) * 1995-03-30 1996-10-18 Mitsubishi Electric Corp 言語情報変換装置
JP2002132447A (ja) * 2000-10-27 2002-05-10 Alpine Electronics Inc タッチパネル入力装置
JP2002328771A (ja) * 2001-04-12 2002-11-15 Internatl Business Mach Corp <Ibm> タッチスクリーン・ユーザ・インターフェース
JP2005215728A (ja) * 2004-01-27 2005-08-11 Dainippon Printing Co Ltd ソフトキーボード機能付電子フォームシステム
JP2007299198A (ja) * 2006-04-28 2007-11-15 Toyota Motor Corp 入力装置、入力制御方法及び入力制御プログラム。

Family Cites Families (39)

* Cited by examiner, † Cited by third party
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
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
GB2347239B (en) 1999-02-22 2003-09-24 Nokia Mobile Phones Ltd 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 주식회사 케이티 무선통신 단말기의 위치 확인에 의한 다국 문자 자판의제공 방법
US7318019B1 (en) * 2000-11-17 2008-01-08 Semantic Compaction Systems Word output device and matrix keyboard for use therein
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 삼성전자주식회사 펜 컴퓨팅 시스템에서의 동적 키보드 구현 장치
US7159191B2 (en) 2003-03-03 2007-01-02 Flextronics Sales & Marketing A-P Ltd. Input of data
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 삼성전자주식회사 휴대용 단말기에서 터치스크린을 이용한 문자 입력 장치및 방법
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 엘지전자 주식회사 이동통신 단말기에서 메시지 입력 중 문자입력방법
CN101228570B (zh) * 2005-07-22 2010-05-19 马特·帕尔拉科夫 可用拇指操作的触摸屏用户界面的系统和方法
US7443316B2 (en) * 2005-09-01 2008-10-28 Motorola, Inc. Entering a character into an electronic device
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221169A (ja) * 1995-02-14 1996-08-30 Matsushita Electric Ind Co Ltd ソフトウェアキーボード表示方法とその装置
JPH08272789A (ja) * 1995-03-30 1996-10-18 Mitsubishi Electric Corp 言語情報変換装置
JP2002132447A (ja) * 2000-10-27 2002-05-10 Alpine Electronics Inc タッチパネル入力装置
JP2002328771A (ja) * 2001-04-12 2002-11-15 Internatl Business Mach Corp <Ibm> タッチスクリーン・ユーザ・インターフェース
JP2005215728A (ja) * 2004-01-27 2005-08-11 Dainippon Printing Co Ltd ソフトキーボード機能付電子フォームシステム
JP2007299198A (ja) * 2006-04-28 2007-11-15 Toyota Motor Corp 入力装置、入力制御方法及び入力制御プログラム。

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2012218306A (ja) * 2011-04-08 2012-11-12 Sharp Corp 複合機、複合機制御システム、複合機の制御方法、プログラムおよびその記録媒体
JP2013008120A (ja) * 2011-06-23 2013-01-10 Brother Ind Ltd 入力装置および入力制御プログラム
US10095407B2 (en) 2011-06-23 2018-10-09 Brother Kogyo Kabushiki Kaisha Input device and computer-readable recording medium containing program executed by the input device
JP2013027005A (ja) * 2011-07-26 2013-02-04 Kyocera Document Solutions Inc 文字入力装置およびそれを備えた画像形成装置
JP2014526822A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション ソフトキーボードインタフェース
US9262076B2 (en) 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Soft keyboard interface

Also Published As

Publication number Publication date
BRPI0906882B1 (pt) 2019-08-20
BRPI0906882A2 (pt) 2015-07-07
CN101932990B (zh) 2014-03-05
US20220083219A1 (en) 2022-03-17
US20220342539A1 (en) 2022-10-27
US9552155B2 (en) 2017-01-24
EP2240842B1 (en) 2018-03-21
JP5611838B2 (ja) 2014-10-22
RU2010132641A (ru) 2012-02-10
KR20100102191A (ko) 2010-09-20
RU2504820C2 (ru) 2014-01-20
US10394446B2 (en) 2019-08-27
US20090195506A1 (en) 2009-08-06
WO2009099704A3 (en) 2009-10-15
KR101541271B1 (ko) 2015-08-03
EP2240842A4 (en) 2013-02-13
EP2240842A2 (en) 2010-10-20
WO2009099704A2 (en) 2009-08-13
US20190278476A1 (en) 2019-09-12
US11199966B2 (en) 2021-12-14
US20170147204A1 (en) 2017-05-25
CN101932990A (zh) 2010-12-29
US11868609B2 (en) 2024-01-09
US11416142B2 (en) 2022-08-16

Similar Documents

Publication Publication Date Title
US11868609B2 (en) Dynamic soft keyboard
EP3400539B1 (en) Determining graphical elements associated with text
US10140017B2 (en) Graphical keyboard application with integrated search
US9542385B2 (en) Incremental multi-word recognition
CN110083254B (zh) 多手势文本输入预测
US9104312B2 (en) Multimodal text input system, such as for use with touch screens on mobile phones
CN108700996B (zh) 用于多输入管理的系统和方法
CN105659194B (zh) 用于屏幕上键盘的快速任务
US11354503B2 (en) Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof
KR20140136066A (ko) 스마트 사용자 커스터마이징된 가상 키보드
CN104123012A (zh) 使用替代评分的非字典字符串的姿态键盘输入
JP2014175689A (ja) 情報機器、表示方法、及びプログラム
Bhatti et al. Mistype resistant keyboard (NexKey)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140903

R150 Certificate of patent or registration of utility model

Ref document number: 5611838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250