JP6450768B2 - オンスクリーンキーボード用クイックタスク - Google Patents

オンスクリーンキーボード用クイックタスク Download PDF

Info

Publication number
JP6450768B2
JP6450768B2 JP2016544000A JP2016544000A JP6450768B2 JP 6450768 B2 JP6450768 B2 JP 6450768B2 JP 2016544000 A JP2016544000 A JP 2016544000A JP 2016544000 A JP2016544000 A JP 2016544000A JP 6450768 B2 JP6450768 B2 JP 6450768B2
Authority
JP
Japan
Prior art keywords
text
quick
key
quick task
input
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.)
Active
Application number
JP2016544000A
Other languages
English (en)
Other versions
JP2016539435A5 (ja
JP2016539435A (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 JP2016539435A publication Critical patent/JP2016539435A/ja
Publication of JP2016539435A5 publication Critical patent/JP2016539435A5/ja
Application granted granted Critical
Publication of JP6450768B2 publication Critical patent/JP6450768B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • 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
    • 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
    • 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
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Description

[0001] 携帯電話、ポータブルコンピュータ、タブレットコンピュータ、エンタテインメント装置、携帯型ナビゲーション装置等のコンピュータ装置は、通常、テキスト入力および/またはコンピュータ装置とのその他のインタラクションに利用され得るオンスクリーンキーボード(たとえば、ソフトキーボード)と共に実装される。ユーザがオンスクリーンキーボードを使用してテキストボックス経由でテキスト文字を入力もしくは編集する場合、またはその他の方法でテキストとインタラクションする場合、一部の装置では、入力されたテキストを編集するのが困難であり得る。たとえば、テキストの書式設定、欠落している文字の挿入、および/または入力されたテキスト文字列の変更/翻訳を携帯電話で行うのは、装置およびオンスクリーンキーボードのサイズが限られているため、難しい場合がある。タイプミスした単語に対してテキスト予測候補を提示することは可能だが、テキスト予測は、句読符の欠落、記号の挿入、言語の翻訳等のシナリオには従来から対処していない。よって、これらのテキスト編集タスクを従来のオンスクリーンキーボードを使用して実現するのは、依然として困難である。
[0002] オンスクリーンキーボード用クイックタスクが本明細書で説明される。1つまたは複数の実施形態では、オンスクリーンキーボードは、選択されたテキストを定義された方法で編集するように構成された複数のクイックタスクをサポートすることができる。クイックタスク機能は、オンスクリーンキーボードのキーに、それらのキーの既定の動作または「通常の」文字入力機能に追加して、割り当てることができる。テキストの入力時(たとえば、カーソルがアクティブであるとき)には、キーは通常どおり動作して、対応するテキスト文字の入力など、文字入力関連の機能を実行する。テキストが選択されているとき、または他の指定されたインタラクションシナリオでは、クイックタスクが関連付けられたキーを操作すると、クイックタスクが自動的にトリガされて、選択されたテキストが対応する方法で変更され得る。よって、インタラクションシナリオに応じて、オンスクリーンキーボードの同じキーを利用して、文字入力に関連する機能を開始するか、またはテキストにクイックタスクを適用することができる。
[0003] 本発明の概要は、以下の詳細な説明でさらに詳しく説明する概念から選び出したものを、簡単な形式で紹介するために設けられている。本発明の概要は、特許請求の範囲に記載された主題の重要な特徴または必須の特徴を識別することを意図したものではなく、特許請求の範囲に記載された主題の範囲を判断するための補助として使用されることを意図したものでもない。
[0004] 詳細な説明は、添付の図面を参照しながら説明される。図面において、参照番号の最上位の桁は、それらの参照番号が最初に現れる図面を識別する。説明および図面の異なる箇所で使用されている同じ参照番号は、同様または同一の項目を示し得る。
[0005]オンスクリーンキーボード用クイックタスクの態様を実装することができる例示的な動作環境を示す図である。 [0006]1つまたは複数の実装に応じてクイックタスクが適用される例示的な手続きを示す図である。 [0007]1つまたは複数の実装に応じてクイックタスクをいつ適用するかを判断するロジックを表す例示的な手続きを示す図である。 [0008]1つまたは複数の実装に応じた例示的なクイックタスクシナリオを示す図である。 [0009]1つまたは複数の実装に応じたさまざまな例示的クイックタスクを示す図である。 [0010]1つまたは複数の実装に応じてクイックタスクに関連付けられた複数の変更が選択されたテキストに対して表示される例示的な手続きを示す図である。 [0011]1つまたは複数の実装に応じて複数の変更に関連付けられたクイックタスクのさまざまな例を示す図である。 [0012]テキスト予測用の適応言語モデルの1つまたは複数の実装で利用され得る例示的なシステムおよび装置を示す図である。
概要
[0013] ユーザがオンスクリーンキーボードを使用してテキスト文字をテキストボックスに入力する場合、入力されたテキストの編集は、一部のスモールフォームファクタ装置では難しいことがある。たとえば、テキストの書式設定、欠落している文字の挿入、および/または入力されたテキスト文字列の変更/翻訳を携帯電話で行うのは、装置およびオンスクリーンキーボードのサイズが限られているため、難しい場合がある。
[0014] オンスクリーンキーボード用クイックタスクが本明細書で説明される。説明される技法に応じて、オンスクリーンキーボードは、選択されたテキストを定義された方法で編集するように構成された複数のクイックタスクをサポートすることができる。クイックタスク機能は、オンスクリーンキーボードのキーに、それらのキーの既定の動作または「通常の」文字入力機能に追加して、割り当てることができる。テキストの入力時(たとえば、カーソルがアクティブであるとき)には、キーは通常どおり動作して、対応するテキスト文字の入力など、文字入力関連の機能を実行する。テキストが選択されているとき、または他の指定されたインタラクションシナリオでは、クイックタスクが関連付けられたキーを操作すると、クイックタスクが自動的にトリガされて、選択されたテキストが対応する方法で変更され得る。よって、インタラクションシナリオに応じて、オンスクリーンキーボードの同じキーを利用して、文字入力に関連する機能を開始するか、またはテキストにクイックタスクを適用することができる。
[0015] 以下の議論では、「動作環境」という節で、オンスクリーンキーボード用クイックタスクの1つまたは複数の実装に応じて利用することができる例示的な環境について説明する。これに続いて、「クイックタスクの詳細」という節で、1つまたは複数の実装に係るクイックタスクの例示的な詳細および手続きについて説明する。最後に、オンスクリーンキーボード用クイックタスクの1つまたは複数の実装に利用できる例示的なシステムおよび装置について説明する「例示的なシステム」という節が設けられている。
動作環境
[0016] 図1は、オンスクリーンキーボード用クイックタスクの実施形態を実装することができる例示的なシステム100を示す。例示的なシステム100は、家庭用装置、コンピュータ装置、ポータブル装置、通信装置、ナビゲーション装置、媒体再生装置、娯楽装置、ゲーム装置、タブレット装置、および/または電子装置のいずれかの形態をした据置型装置または携帯装置のいずれか1つまたは組み合わせであり得る、コンピュータ装置102を含む。たとえば、コンピュータ装置102は、媒体コンテンツを表示するためにディスプレイ装置110に接続されたテレビジョンクライアント装置104、コンピュータ106、および/またはゲームシステム108として実装することができる。代替で、コンピュータ装置は、統合型ディスプレイ114を含む任意の種類のポータブルコンピュータ、携帯電話、またはポータブル装置112であり得る。いずれのコンピュータ装置も、1つまたは複数のプロセッサおよびメモリ装置等の多様な構成部品ならびに、異なる構成部品の任意の組み合わせでも、実装することができる。これについては、図8に示された例示的な装置を参照しながら後述する。
[0017] コンピュータ装置102の統合型ディスプレイ114、またはディスプレイ装置110は、タッチスクリーンディスプレイに表示されるユーザインターフェイスにおけるユーザ起動の文字入力、キー入力、タイプ入力、またはセレクタ入力等のタッチ入力およびジェスチャ入力を感知するように実装されたタッチスクリーンディスプレイであり得る。代替または追加で、コンピュータ装置の例は、キーボード、マウス、オンスクリーンキーボード、リモート制御装置、ゲームコントローラ、または任意の他の種類のユーザ起動および/またはユーザ選択可能な入力装置等の、他の多様な入力機構および入力装置を含み得る。
[0018] 実装では、コンピュータ装置102は、オンスクリーンキーボードの文字入力、タッチ入力およびジェスチャ、カメラに基づくジェスチャ、コントローラ入力、その他のユーザ選択の入力等のさまざまな異なる種類の入力に関連する入力センサデータ118を検出および/または認識する入力モジュール116を含み得る。入力モジュール116は、タッチ入力および/またはジェスチャを識別する機能を表し、タッチ入力および/またはジェスチャに対応する操作を実行させる。たとえば、入力モジュール116は、ユーザの手によるタッチスクリーンディスプレイとのインタラクション(たとえば、タッチスクリーン機能の使用)を通じて検出されたジェスチャを認識するように構成され得る。追加または代替で、入力モジュール116は、ユーザの手の振り、把持ジェスチャ、腕の位置、その他の定義されたジェスチャなど、カメラにより検出されたジェスチャを認識するように構成され得る。よって、タッチ入力、ジェスチャ、および他の入力は、入力センサデータ118を通じて、入力モジュール116により認識された異なる入力を区別するために使用することができる属性(たとえば、動き、選択点、位置、速度、配向等)を含むものとして認識され得る。この区別は、その後、入力からジェスチャを識別し、ジェスチャの識別情報に基づいて実行すべき動作を結果的に識別するための基盤として機能し得る。
[0019] コンピュータ装置は、1つまたは複数のプロセッサにより実行されて本明細書に記載された多様な実施形態を実装するソフトウェアアプリケーションまたはモジュールなどのコンピュータ実行可能命令として実装され得る、キーボード入力モジュール120を含む。キーボード入力モジュール120は、コンピュータ装置102とのキーボードインタラクションのためのオンスクリーンキーボードを提供および管理する機能を表す。キーボード入力モジュール120は、テキスト入力ボックス、検索コントロール、またはその他のテキスト入力コントロールがアクティブ化されたとき等の異なるタイミングで、オンスクリーンキーボードの表示を選択的に提示させるように構成され得る。オンスクリーンキーボードは、ディスプレイ装置110等の外部ディスプレイまたは統合型ディスプレイ114等の統合型ディスプレイで表示するために提供され得る。加えて、ハードウェアキーボード/入力装置で、本明細書に記載される技法に適した少なくともいくつかのソフトキーを有する、適応型の「オンスクリーン」キーボードを実装することも可能であることに留意されたい。たとえば、外部装置として提供され、またはコンピュータ装置102に統合される、ハードウェアキーボードは、本明細書に記載されたクイックタスクを実装するために利用できるディスプレイデバイス、タッチキー、および/またはタッチスクリーンを組み込むことができる。この場合、キーボード入力モジュール120は、ハードウェアキーボード/入力装置のデバイスドライバの構成部品として提供され得る。
[0020] キーボード入力モジュール120は、文字入力124を処理および解釈し、文字入力124に対応する単語候補の予測を形成および提供する機能を表す、テキスト予測エンジン122を含みまたはそうでなければ利用し得る。たとえば、オンスクリーンキーボードは、テキスト入力ボックス、パスワード入力ボックス、検索コントロール、データフォーム、メッセージスレッド、または文字入力124(たとえば、文字、数字、および/またはその他の英数字)のユーザ入力を簡素化するフォーム、HTMLページ、アプリケーションUI、ドキュメント等のユーザインターフェイス126のその他のテキスト入力コントロールでテキストを入力する異なるインタラクションシナリオで、選択的に用いられ得る。
[0021] 一般的に、テキスト予測エンジン122は、入力された文字入力124に最も密接に一致する1つまたは複数の考えられる候補を確認する。このように、テキスト予測エンジン122は、ユーザにより入力された文字入力124に応じて、確認された1つまたは複数の予測単語を提供することにより、テキスト入力を簡素化することができる。たとえば、テキスト予測エンジン122により予測された単語は、ユーザによる入力テキストの自動修正、テキスト入力テキストの完了、変更、または修正するための選択候補としての1つまたは複数の単語の提示、予測される単語に対応するオンスクリーンキーボードのキーのタッチヒット領域の自動変更等を実行するために利用され得る。
[0022] 本明細書に記載された技法に応じて、キーボード入力モジュール120は、クイックタスクモジュール128を上述および後述されるように含みまたは利用するように、構成され得る。一般的に、クイックタスクモジュール128は、オンスクリーンキーボード用の複数のクイックタスク130をサポートする機能を表す。クイックタスク130は、オンスクリーンキーボードを使用して行うことが従来から難しかった編集操作を簡素化するように構成される。対応するクイックタスクが利用可能にされ得る編集操作の種類として、書式設定、句読符、記号の挿入、翻訳、およびそれらの組み合わせがあるが、これらに限定されるわけではない。クイックタスクのさまざまな非限定的な例が、以下の図面に関連して説明される。それぞれが異なる編集操作を実行するように設計された一組のクイックタスク130を、オンスクリーンキーボードのキーに、それらのキーの文字入力機能または操作に加えて割り当てることができる。クイックタスクモジュール128は、クイックタスク130のキーへの割り当て、クイックタスクのアクティブ化および非アクティブ化、カスタマイズされたクイックタスクの作成等を管理するように動作可能であり得る。またクイックタスクモジュール128は、クイックタスクに関連するインタラクションシナリオ(たとえば、テキストの選択、カーソル位置、文脈等)を認識し、クイックタスクがトリガされたときに適切なクイックタスクを適用して選択されたテキストを変更するように動作し得る。またクイックタスクモジュール128は、既定の機能(たとえば、テキスト文字の挿入)を実行するか、キー操作に対応するキーに割り当てられたクイックタスクを実行するかを判断するロジックを実装し得る。オンスクリーンキーボード用クイックタスクのこれらの態様およびその他の態様に関するさらなる詳細は、以下の図面に関連して見出され得る。
[0023] クイックタスクの例示的な動作環境について説明したところで、次に、本明細書に記載された1つまたは複数の実装で利用できる例示的な技法および詳細について検討する。
クイックタスクの詳細
[0024] この節では、クイックタスクを利用する技法の詳細について、図2、図3、および図6の例示的な手続きならびに図4、図5、および図7の例示的な表現を参照しながら説明する。以下の議論の一部では、さまざまな態様が実装され得る図1の例示的な動作環境に参照がなされ得る。以下に説明する各手続きの態様は、ハードウェア、ファームウェア、もしくはソフトウェア、またはそれらの組み合わせで実装され得る。手続きは、1つまたは複数の装置により実行される操作を指定する一組のブロックとして示され、それぞれのブロックにより実行する操作の図示された順序に必ずしも限定されない。少なくとも一部の実装では、手続きは、クイックタスクモジュール128または同等の機能を含みまたは利用する図1の例示的なコンピュータ装置102等の、適切に構成されたコンピュータ装置により実行され得る。
[0025] 図2は、1つまたは複数の実装形態に応じてクイックタスクが適用される手続き200を示す。デバイスとのオンスクリーンキーボードを介したインタラクション中に、テキストの入力が監視される(ブロック202)。たとえば、テキストは、携帯装置のオンスクリーンキーボードによって入力され得る。本明細書の態様はオンスクリーンキーボードに関連して説明されているが、クイックタスクを適用するための同等の技法を、タッチ感応式キーボード、音声コマンド、またはその他の入力機構を有するハードウェアキーボードを使用して実装できることを理解する必要がある。携帯電話またはその他のコンピュータ装置102は、入力を検出および処理して、入力されたテキストを装置を介して出力されるユーザインターフェイス内に表すように構成され得る。加えて、コンピュータ装置102は、クイックタスクモジュール128を利用して、クイックタスクを適切な状況でトリガすることができる。これを行うために、クイックタスクモジュール128は、テキスト入力およびキーストロークを監視し、インタラクションシナリオに応じてクイックタスクを開始するタイミングに関する判断を行うように構成され得る。
[0026] 特に、文字入力機能に関連付けられたオンスクリーンキーボードのキーに割り当てられたクイックタスクをトリガするように構成された入力シナリオが認識される(ブロック204)。次に、キーに関連付けられた文字入力機能を実行する代わりに、クイックタスクが適用されて、インタラクションシナリオに関連して選択されたテキストが変更される(ブロック206)。上述したように、オンスクリーンキーボードのキーは、文字入力機能とクイックタスク機能の両方に関連付けられ得る。クイックタスクモジュール128は、特定のキーの操作に応じて、「通常の」文字入力機能と、特定のキーに対応するクイックタスクを実行するかどうかを判断するように構成され得る。この判断は、現在のインタラクションシナリオの認識に少なくとも部分的に基づき得る。本明細書で使用されるようなインタラクションシナリオは、特定のキーストローク(またはキーストロークのシーケンス)と、インタラクションの状態または文脈とを反映する。インタラクションシナリオは、特定のキーの操作に関連して認識され得る。たとえば、カーソル(たとえば、カレット)がアクティブであるときにオンスクリーンキーボードの「T」キーを押すと、対応する文字「t」がカーソルの位置に入力され得る。一方、テキスト文字列を選択してから「T」キーを押すと、この特定のインタラクションシナリオが、選択されたテキストを異なる言語間で自動的に翻訳する翻訳クイックタスク等のクイックタスク機能に関連付けられ得る。よって、クイックタスクモジュール128は、クイックタスクに関連付けられているようなインタラクションシナリオを認識し、「T」キーに関連付けられているクイックタスク機能を開始して、文字「t」を入力する代わりに選択されたテキスト文字列を(たとえば、翻訳により)変更する。したがって、クイックタスクをトリガするインタラクションシナリオを認識する方法の1つは、キーの操作に関連して、カーソルがアクティブであるか、またはテキスト文字列が選択されているかどうかを判断することである。言い換えると、クイックタスクモジュール128は、文字入力機能に対応するアクティブカーソル状態と、テキスト文字列がクイックタスクに関連して選択された状態とを少なくとも含む、テキスト入力のさまざまな状態を区別することができる。
[0027] 実装では、クイックタスクモジュール128は、入力および/または選択されたテキストの意味処理を実行して、クイックタスクを適合するか、または文字入力機能を実行するかどうかに関する意思決定を通知するように構成され得る。ここで、クイックタスクモジュール128は、入力テキストを分析して、単語の組み合わせ/確率、典型的な単語用法のライブラリ/履歴、ユーザ固有の語彙等に基づいて、意図された意味を推測することができる。現在のキーストロークに割り当てられたクイックタスクが、意味処理から派生した意図された意味と一致する場合、クイックタスクモジュール130はこれを、クイックタスクを適用する状態と認識する。よって、インタラクションシナリオをクイックタスクのトリガとして認識することは、全体的または部分的に、装置とのインタラクション中に入力されたテキストの意味処理にさらに基づき得る。
[0028] とりわけクイックタスクモジュール128は、キーの組み合わせではなく、単一のキーの操作(たとえば、単一の操作)に基づいて、少なくともいくつかのクイックタスクを適用するように構成される。クイックタスクモジュール128は、キーが操作されたときに、そのキーに割り当てられた複数の機能のうちのどれを実行するかを、インタラクションシナリオに基づいて自動的に決定する。各機能は、キーの単一操作(たとえば、単一のキーストローク)により開始され得る。よって、クイックタスクは、一部の従来型のキーボードショートカットで使用されるキーストロークの組み合わせおよび/または修飾キーの組み合わせ(たとえば、alt + A、Ctrl + B等)を使用せずに実装および適用され得る。携帯装置のオンスクリーンキーボードの画面面積は限られている場合があり、キーの組み合わせを小さな画面で実行するのは難しい場合があるため、クイックタスクに利用される単一キー操作のアプローチは、ユーザが編集タスクを簡単に完了できるようにし、全体的なユーザ体験を強化する。さらに、オンスクリーンキーボードは、異なるキーに割り当てられた複数のクイックタスクをサポートすることができ、ユーザが割り当てを変更して、定義済みのクイックタスクのユーザが指定した割り当てを選択されたキーに行うことを可能にする。システムは、ユーザによるカスタムクイックタスクの作成および割り当てを簡素化するようにさらに構成され得る。
[0029] 図3は、1つまたは複数の実装形態に応じてクイックタスクを適用するタイミングを判断するロジックを表す手続き300を示す。オンスクリーンキーボードに含まれるキーの操作が検出される(ブロック302)。これは、図2に関連して論じたように、テキスト入力の監視に基づいて行われ得る。あるアプローチでは、クイックタスクモジュール128は、各キーストロールを監視し、インタラクションシナリオに基づいて通常の動作/文字入力を実行するかまたはキーに割り当てられたクイックタスクを実行するかどうかを制御するロジックを実装し得る。例として、選択されたテキスト文字列に下線を設定することによって書式設定を行うように構成されたクイックタスクが、いつ「U」キーに割り当てられていると仮定する。クイックタスクモジュール128は、テキスト入力インタラクション時に、「U」キーが押されたか、または何らかの方法で操作されたかを検出し、下線クイックタスクを適用するか、または「U」キーに対応する英数字を挿入するかを決定し得る。
[0030] 特に、クイックタスクがキーに割り当てられているか否かの判断が行われる(ブロック304)。たとえば、クイックタスクモジュール128は、クイックタスクをキーにマップするテーブルまたは他の適切なデータ構造を参照し得る。上記の例では、クイックタスクモジュール128は、下線クイックタスクが「U」キーに割り当てられていることを認識する。一部のキーについて、クイックタスクモジュール128は、クイックタスクがそれらのキーに対して割り当てられていないこと、および/または無効化されていることを判断し得る。
[0031] ブロック304でクイックタスクがキーに割り当てられている場合、インタラクションシナリオが分析されて、インタラクションシナリオがクイックタスクをトリガするように構成されているか否かが判断される(ブロック306)。インタラクションシナリオがクイックタスクをトリガする場合、キーに割り当てられたクイックタスクに対応するテキスト編集操作が開始される(ブロック308)。一方、クイックタスクモジュール128は、ブロック304でのクイックタスクがキーに割り当てられていないとの判断および/またはブロック306でのインタラクションシナリオがクイックタスクをトリガしないとの判断に応じて、キーの指定された文字入力機能の操作を実行させることができる(ブロック310)。
[0032] たとえば、クイックタスクは、インタラクションの現在の状態に基づいて、選択的にトリガされ得る。これは、カーソルがテキスト入力に対してアクティブであるか非アクティブであるか、または代替的にテキストの選択がユーザによって行われたか否かに基づき得る。入力テキストに関する文脈情報も、キーストロークの操作にどのように対応するかの判断に使用され得る。カーソルがアクティブである場合、キー操作により、指定された文字入力機能が通常の方法で行われ得る。一方、テキストが選択されている(たとえば、強調表示されている)場合、キーに対応するクイックタスクが有効化され、キーの操作により、文字入力機能ではなく、対応するクイックタスクが行われ得る。上記の例では、「U」キーを操作する前にテキストが選択されている場合、「U」キーの操作により、選択されたテキストに下線が施される。一方、カーソルがアクティブ状態である通常のテキスト入力モードでは、「U」キーの操作により、対応する英数字(たとえば、この例ではuまたはU)の挿入がトリガされ得る。
[0033] 図4は、全体的に400として示された、例示的なインタラクションシナリオに応じてクイックタスクの実行を示す。特に、テキストメッセージングアプリケーション/サービスとインタラクションするように構成されたユーザインターフェイス126が、携帯電話装置用のオンスクリーンキーボード402を有するものとして図示されている。このインターフェイスは、テキストメッセージ入力ボックスの形式をしたテキスト入力コントロール404を含む。図示された例では、ユーザは、テキスト入力コントロール404とインタラクションして、「Que pasa,amigo」というテキスト文字を入力している。加えて、ユーザは、インタラクションによってテキスト文字の選択406を行っており、よって「Que pasa,amigo」というフレーズが強調表示されている。このシナリオでは、選択406は、本明細書に記載された技法に応じてクイックタスクをアクティブ化するのに有効であり得る。
[0034] 図4の例で示されているように、「?」キーの選択に対応するキーストローク408により、割り当てられたクイックタスク130が実行され得る。このクイックタスクは、選択されたフレーズの前後に、スペイン語の疑問符を挿入する。よって、キーストローク408に対応してフレーズ「Que pasa,amigo」の変更410が実行され、フレーズが「?Que pasa,amigo?」に変更される。クイックタスクがなければ、フレーズの前後に文字を入力するのは非常に難しい場合があり、携帯装置のオンスクリーンキーボードを使用して行うのは非効率的であり得る。他の外国語の文字を同等の態様で挿入して句読符を設定することも考えられる。加えて、さまざまな種類のクイックタスクおよび個人用クイックタスクをオンスクリーンキーボードによりサポートすることが可能であり得る。そのいくつかの実例が、図5に関連して図示および説明されている。
[0035] 図5は、全体的に500として示された、オンスクリーンキーボードのキーに割り当てることができるクイックタスクのさまざまな例を示す。たとえば、選択されたフレーズまたは文字列の句読符を自動的に変更する句読符クイックタスク502が示されている。ここで、句読符クイックタスク502は、クイックタスクが「?」キーではなく「Q」キーに割り当てられているように表されている点を除き、図4の例に対応する。よってこの例は、少なくとも一部のクイックタスクを異なるキーに割り当てることができ、場合によっては、ユーザがキーに対するクイックタスクのマッピングを指定および変更できることを示している。一般的に、クイックタスク130は、選択されたテキストフレーズの前後に文字を挿入する句読符操作を実行するように構成され得る。そのような操作の一例は、疑問符を挿入することである。「)」キーまたは「(」キーを使用することによるフレーズの丸括弧での包含、「[」キー、「]」キー、「{」キー、または「}」キーを使用することによるフレーズの角括弧での包含、「>」キーまたは「<」キーを使用することによるhtmlタグ、「!」キーを使用することによる先頭および末尾の感嘆符の挿入等を簡素化する、その他の句読符クイックタスクが構成され得る。一部のクイックタスクは、複数のキーに割り当てられ得ることに注目されたい。たとえば、開き丸括弧の「(」キーまたは閉じ丸括弧の「)」キーを押すと、選択されたテキストを丸括弧で囲む、対応するクイックタスクがトリガされる。
[0036] 選択されたテキストに対して異なる種類の書式設定を行う、追加のクイックタスクを実装することができる。書式設定クイックタスクは、特殊文字の挿入(たとえば、時刻、通貨、およびソーシャルネットワーキングの書式設定)、単語またはセンテンスの大文字小文字の切り替え、大文字化の切り替え、フォントの切り替え、斜体や太字などのテキスト効果の設定等を実行するように構成され得る。
[0037] 例として、テキスト文字列の適切な数字を時刻値として書式設定する時刻書式クイックタスク504が図5にさらに示されている。図示された例では、時刻書式クイックタスク504は、「:」キーに割り当てられている。代替で、ユーザが時刻書式クイックタスク504を、「t」キー、専用の時計機能キー、別の選択されたキー等の異なるキーに関連付け、および/または割り当てることができる。適用された場合、時刻書式クイックタスク504は、テキスト文字列内の適切な位置に時刻書式の文字を挿入することができる。たとえば、「The game is at 500」というフレーズが、時刻書式クイックタスク504の適用に応じて、「The game is at 5:00」に変換されていることが示されている。この例では、前の例と異なり、最初のフレーズが選択または強調表示されていないことに注目されたい。これは、クイックタスクモジュール128がインタラクションシナリオの意味的文脈を認識および利用し、クイックタスクを自動的に適用できる状況を表すためである。よって、ユーザは、テキストを明示的に選択しなくても、一部のクイックタスクを利用できる場合があり得る。ここでは、例として、クイックタスクモジュール128は、ユーザが「at 500」で時間を示すことを意図したと推測することができる。よって、「:」キーが操作されたときに、図示されたカーソル位置に「:」が挿入されるのではなく、時刻書式クイックタスク504が自動的に適用される。
[0038] サポートされ得る書式設定クイックタスクの別の例として、斜体クイックタスク506が図示されている。ここでは、テキストを選択してから「i」キーを操作すると、選択されたテキストが斜体フォントに切り替わる。実装では、「i」キーを再び操作すると、選択されたテキストが非斜体フォントに戻り得る。一般的に、本明細書に論じられたクイックタスクは、ユーザが、入力されたテキスト(たとえば、最初のテキストおよび書式)と、クイックタスクを通じて利用可能な1つまたは複数のテキスト変更との間を、クイックタスクが割り当てられたキーを連続して操作することにより循環または前後移動することを可能にする。複数の異なる変更を循環するように構成されたクイックタスクに関する例については、以下で図6および図7を関連させながら論じる。
[0039] 上述した例と同等の多様な書式設定操作を実行するクイックタスクを定義し、選択されたさまざまなキーに割り当てることができる。特定のキーに割り当てることができる書式設定クイックタスクのいくつかの追加の例として、太字テキストの「b」、単語、フレーズ、または選択箇所の大文字小文字/大文字化を切り替える「c」または「shift」、異なるフォントに変更する「f」、下線を設定する「u」などがあるが、これらに限定されない。
[0040] 別の例として、ソーシャルネットワーキングまたは他の目的に使用され得るタグの自動書式設定がある。タグ設定の一種は、ソーシャルネットワーキングの投稿に「#」フレーズを使用することである。この種のタグ設定は、ソーシャルネットワーキングサービスだけでなく、電子メール、テキストメッセージ、およびその他の通信でも使用され得る。図5は、「#」キーに割り当てられ得るソーシャル書式クイックタスク508を表している。動作時に、ソーシャル書式クイックタスク508は、フレーズを指定された書式のタグに変換するように動作する。図示された例では、入力されたフレーズ「Aaron Rodgers MVP」が、クイックタスクにより「#AaronRodgersMVP」に変換されている。ここでは、タグのインジケータである「#」が入力フレーズの先頭に挿入され、スペースが削除されている。異なるインジケータやユーザ定義の書式設定操作さえも使用する他の種類のタグも、クイックタスクを通じて実装することができる。
[0041] 図5は、図示された「t」キー、キーボード言語キー、またはその他のキーに割り当てることができる翻訳クイックタスク510をさらに示している。翻訳クイックタスク510は、フレーズまたは選択されたテキストを、ある言語から別の言語に翻訳するために適用され得る。ここでは、「Where is the hotel?」というフレーズが、英語から、「?Donde esta el hotel?」というスペイン語バージョン等の別の指定された言語に自動的に変換され得る。翻訳は、テキストを選択し、「t」キーまたは翻訳クイックタスク510が関連付けられた他のキーを押すことにより発生し得る。ユーザは、翻訳に使用する特定の言語を設定することができる。追加または代替で、翻訳クイックタスク510は、複数の言語の順序付きリストを循環するように構成することもできる。その詳細については、以下の図面に関連して論じる。
[0042] 図6は、クイックタスクに関連する複数の変更が適用され得る手続き600を示す。選択されたテキストに適用する複数の変更が関連付けられたクイックタスクが、オンスクリーンのキーに割り当てられる(ブロック602)。クイックタスクを開始するキーの操作が検出される(ブロック604)。次に、選択されたテキストの複数の変更が、キーの連続操作に対応して表される(ブロック606)。
[0043] 上述したように、クイックタスクモジュール128を含みまたは利用するオンスクリーンキーボードは、複数の変更を実装するいくつかのクイックタスクをサポートすることができる。あるアプローチでは、複数の変更は、変更の適用順序を指定するリストまたはデータ構造に応じて定義される。たとえば、翻訳用の言語のリストが翻訳クイックタスクに関連付けられ得、利用可能なフォントのリストがフォント選択クイックタスクに利用され得、時刻書式クイックタスクが利用可能な異なる時刻書式を含み得る。その他のクイックタスクは、入力された未変更のテキストと、そのテキストの特定の変更と、の間で交互に切り替えを行うように動作し得る。複数の異なる変更を提供するクイックタスクが関連付けられたキーを複数回選択すると、システムは変更のリストを次々に循環し、対応するテキストの変更を、キーの連続操作に応じて、ユーザインターフェイスに連続的に表し得る。よって、キーを「押す」たびに、クイックタスクの利用可能な変更のリストの進行に応じて、異なる変更が表され得る。リストのすべての変更が提示された場合、特定のキーを次回選択すると、選択されたテキストが未変更の形式に戻り得る。
[0044] さらに詳しく説明するために、図7は、複数の変更を実装するクイックタスクが適用されるいくつかの例示的なシナリオを、全体として700で示している。たとえば、翻訳クイックタスク702は、「x」キーに関連付けられているものとして示されている。この例の翻訳クイックタスク702は、言語リスト704に関連付けられている。言語リスト704は、テキストの複数の変更を定義および/または制御し、クイックタスクに関連して変更が適用される順序を指定するのに十分な、クイックタスクの関連データを表す。ここで、言語リスト704は、スペイン語、フランス語、ドイツ語、および既定の言語(この場合は英語)への連続的な翻訳を示す。「x」キーを連続して押すと、クイックタスクモジュール128は、706で示されているように、言語リスト704を循環するように動作し、異なる言語への対応する変換を適用し得る。ユーザは、キーを繰り返し押すことによって1つまたは複数の考えられる変更を連続的にスクロールし、明示的な選択、さらなるテキスト入力、および/または非アクティブのタイムアウト期間の終了により、いずれかの変更を維持する変更の1つを選択することができる。
[0045] 複数の変更をサポートする時刻書式クイックタスク708の同等の例が、図7にさらに示されている。このシナリオでは、時刻書式クイックタスク708は、「t」キーに割り当てられているものとして示されている。時刻書式クイックタスク708は、図5に関連して論じた時刻書式クイックタスク504と同様に、「:」キーに割り当てることもできる。この例の時刻書式クイックタスク708は、時刻書式リスト710に関連付けられている。時刻書式リスト710は、関連するテキストの時刻書式の連続的な変更を示す。「t」キーを連続して押すと、クイックタスクモジュール128は、712で示されているように、時刻書式リスト710を循環し、対応する変更を適用するように動作し得る。よって、「t」キーの連続的な押下に応じて、テキストの「at 500」の部分が、「at 5:00」、「at 5:00 AM」、「at 5:00 PM」、および元の「at 500」へと変化し得る。
[0046] 一般に、クイックタスクのキーへの割り当ては、オンスクリーンキーボードに対して事前に定義され得る。実装では、ユーザ固有の割り当てを行うために、ユーザが割り当てを構成することも可能であり得る。よって、ユーザは、図5のように「t」を翻訳に使用し、「:」を時刻に使用する定義済みの割り当てではなく、図7のように「x」に翻訳クイックタスクを割り当て、「t」に時刻書式クイックタスクを割り当てることを選択することができる。たとえば、クイックタスクモジュール128は、利用可能な異なるクイックタスクをキーにマップするマッピングをユーザがインタラクションすることを可能にするインターフェイスを公開し得る。このインターフェイスを通じて、ユーザは、定義済みの割り当てを変更し、および/またはクイックタスクをグローバルもしくは個人ベースで有効化もしくは無効化することができる。またさらに、インターフェイスおよびクイックタスクマッピングは、ユーザがクイックタスク作成ダイアログを通じてカスタムクイックタスクを作成することを可能にするように構成され得る。この作成ダイアログは、適切な構文、メニュー、フィールド、タグ等を使用して、クイックタスクのカスタム文字挿入、書式設定、および/またはトリガの選択を簡素化する。カスタムクイックタスクは、クイックタスク作成ダイアログを介して行われたユーザ選択に応じて定義され得る。カスタムクイックタスクは、ユーザが選択したキーに割り当てられ得る。非限定的な例として、ユーザは、選択されたテキスト文字列を太字、斜体、および下線が設定された変更後の文字列に変換する、太字、斜体、および下線の組み合わせクイックタスクを定義することができる。ユーザは、このカスタムクイックタスクを、「z」キー等のキーに割り当てることができる。別の例として、カスタムクイックタスクは、テキスト文字列内の特定の位置への選択された特殊文字の挿入を簡素化するために作成され得る。たとえば、「Hello Robyn」を「***Hello Robyn***」に変更するというように、テキストをアスタリスク内に包含するアスタリスククイックタスクが定義され得る。その他のさまざまな種類のカスタムクイックタスクおよび定義済みクイックタスクも考えられる。
[0047] クイックタスクに関連するいくつかの例示的な詳細および技法について説明したところで、次に、本明細書に記載された1つまたは複数の実装で利用できる例示的なシステムについて検討する。
例示的なシステムおよび装置
[0048] 図8は、本明細書に記載された多様な技法を実装し得る1つまたは複数のコンピュータシステムおよび/または装置を表す例示的なコンピュータ装置802を含む、例示的なシステム800を示す。コンピュータ装置802は、たとえば、サービスプロバイダのサーバ、クライアントに関連付けられた装置(たとえば、クライアント装置)、オンチップシステム、および/または任意の他の適切なコンピュータ装置もしくはコンピュータシステムであり得る。
[0049] 図示されたような例示的なコンピュータ装置802は、処理システム804と、1つまたは複数のコンピュータ可読媒体806と、相互に通信可能に連結された1つまたは複数のI/Oインターフェイス808と、を含む。図示されていないが、コンピュータ装置802は、さまざまな構成部品を相互に連結するシステムバスまたは他のデータおよび命令転送システムをさらに含み得る。システムバスは、メモリバスもしくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、および/または多様なバス構造のいずれかを利用するプロセッサバスもしくはローカルバスなど、さまざまなバス構造の任意の1つまたは組み合わせを含み得る。制御回線やデータ回線など、他の多様な例も考えられる。
[0050] 処理システム804は、ハードウェアを使用して1つまたは複数の操作を実行する機能を表す。よって、処理システム804は、プロセッサや機能ブロック等として構成され得るハードウェア要素810を含むものとして図示されている。これは、1つまたは複数の半導体を使用して形成された特定用途向け集積回路またはその他の論理装置としての、ハードウェア内の実装を含み得る。ハードウェア要素810は、ハードウェア要素810の形成元の材料またはハードウェア要素810が利用されている処理機構によって限定されない。たとえば、プロセッサは、半導体および/またはトランジスタ(たとえば、電子集積回路(IC))から成り得る。そのような文脈において、プロセッサが実行可能な命令は、電子的に実行可能な命令であり得る。
[0051] コンピュータ可読媒体806は、メモリ/ストレージ812を含むものとして図示されている。メモリ/ストレージ812は、1つまたは複数のコンピュータ可読媒体に関連付けられたメモリ/ストレージ容量を表す。メモリ/ストレージ812は、揮発性媒体(ランダムアクセスメモリ(RAM)等)および/または不揮発性媒体(読み取りメモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスク等)を含み得る。メモリ/ストレージ812は、固定媒体(RAM、ROM、固定ハードドライブ等)ならびに、リムーバブル媒体(フラッシュメモリ、リムーバブルハードドライブ、光ディスク等)を含み得る。コンピュータ可読媒体806は、以下にさらに説明するように、他の多様な方法で構成され得る。
[0052] 入力/出力インターフェイス808は、ユーザがコマンドおよび情報をコンピュータ装置802に入力できるようにし、さらにユーザおよび/または他の構成部品もしくは装置に多様な入力/出力装置を使用して情報を提示できるようにする機能を表す。入力装置の例として、キーボード、カーソル制御装置(たとえば、マウス)、音声操作用のマイク、スキャナ、タッチ機能(たとえば、物理的なタッチを検出するように構成された容量センサまたはその他のセンサ)、カメラ(たとえば、可視波長または赤外線周波数等の不可視波長を利用して、タッチを含まない動きをジェスチャとして検出できるカメラ)等がある。出力装置の例として、ディスプレイ装置(たとえば、モニタまたはプロジェクタ)、スピーカ、プリンタ、触覚応答装置等がある。コンピュータ装置802は、ネットワーク通信用のネットワークインターフェイスカードおよび/または無線通信および/または移動体通信をサポートする多様なアンテナ等を含む、有線および無線の通信を実現するさまざまな構成部品をさらに含み得る。さまざまな異なる種類の好適なアンテナが考えられる。これには、1つまたは複数のWi−Fiアンテナ、全地球航法衛星システム(GNSS)または全地球測位システム(GPS)のアンテナ、セルラーアンテナ、近距離無線通信(NFC)アンテナ、Bluetoothアンテナ等が含まれるが、これらに限定されない。よって、コンピュータ装置802は、ユーザインタラクションをサポートするために、以下にさらに説明するように、さまざまな方法で構成され得る。
[0053] 本明細書では、さまざまな技法が、ソフトウェア、ハードウェア要素、またはプログラムモジュールの全体的な文脈で説明され得る。一般に、そのようなモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、要素、構成部品、データ構造等を含む。本明細書で使用されるとき「モジュール」、「機能」、および「構成部品」という用語は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを一般的に表す。本明細書に記載された技法の特徴は、プラットフォームに依存しないことである。つまり、これらの技法は、さまざまなプロセッサを備えたさまざまな商用コンピュータプラットフォームで実装され得る。
[0054] 説明されるモジュールおよび技法の実装は、何らかの形式のコンピュータ可読媒体に格納され、またはそれらの媒体を通じて送信され得る。コンピュータ可読媒体は、コンピュータ装置802によりアクセスされ得るさまざまな媒体を含み得る。非限定的な例として、コンピュータ可読媒体は、「コンピュータ可読ストレージ媒体」および「通信媒体」を含み得る。
[0055] 「コンピュータ可読ストレージ媒体」とは、単なる信号送信、搬送波、または信号自体とは対照的に、情報を格納することを可能にする媒体および/または装置を指す。よって、コンピュータ可読ストレージ媒体は、信号担持媒体または信号自体を含まない。コンピュータ可読ストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、論理要素/回路、その他のデータ等の情報を格納するのに適した方法または技術で実装される、揮発性および不揮発性のリムーバブルおよび非リムーバブル媒体および/またはストレージ装置等のハードウェアを含む。コンピュータ可読ストレージ媒体の例として、RAM、ROM、EEPROM、フラッシュメモリもしくはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくはその他の光学式ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージもしくはその他の磁気ストレージ装置、またはその他のストレージ装置、有形媒体、もしくは所望の情報を格納するのに好適でありコンピュータからアクセス可能である製造品があるが、これらに限定されない。
[0056] 「通信媒体」とは、ネットワーク等を介して、コンピュータ装置802のハードウェアに命令を送信するように構成された信号担持媒体を指す。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波、データ信号、またはその他の搬送機構等の変調データ信号で具体化する。通信媒体は、任意の情報配信媒体をさらに含む。「変調データ信号」という用語は、1つまたは複数の特性が情報を信号内で符号化する態様で設定または変更された信号を意味する。非限定的な例として、通信媒体は、有線ネットワークや直接有線接続等の有線媒体と、音響、RF、赤外線、およびその他の無線媒体等の無線媒体と、を含む。
[0057] 既に説明したように、ハードウェア要素810およびコンピュータ可読媒体806は、本明細書に記載された技法の少なくともいくつかの態様を実装するために一部の実施形態で利用され得る、ハードウェア形式で実装された命令、モジュール、プログラム可能装置ロジック、および/または固定装置ロジックを表す。ハードウェア要素は、集積回路またはオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理装置(CPLD)、およびシリコンもしくは他のハードウェア装置におけるその他の実装の構成部品を含み得る。この文脈で、ハードウェア要素は、ハードウェア要素ならびにたとえば上述したコンピュータ可読ストレージ媒体等の実行用の命令を格納するために利用されるハードウェア装置により具現化される命令、モジュール、および/またはロジックにより定義されるプログラムタスクを実行する処理装置として動作し得る。
[0058] 上述したものの組み合わせも、本明細書に記載されたさまざまな技法およびモジュールを実装するために利用され得る。よって、ソフトウェア、ハードウェア、もしくはテキスト予測エンジン122、クイックタスクモジュール128、および他のプログラムモジュールを含むプログラムモジュールは、何らかの形式のコンピュータ可読ストレージ媒体で具現化された1つもしくは複数の命令および/またはロジックとして、および/または1つもしくは複数のハードウェア要素810により、実装され得る。コンピュータ装置802は、ソフトウェアおよび/またはハードウェアモジュールに対応する特定の命令および/または機能を実装するように構成され得る。よって、コンピュータ装置802によりソフトウェアとして実行され得るモジュールとしてのモジュールの実装は、少なくとも部分的にハードウェアで、たとえば処理システムのコンピュータ可読媒体および/またはハードウェア要素810の使用を通じて、実現され得る。命令および/または機能は、本明細書に記載された技法、モジュール、および例を実装するために、1つまたは複数の製造品(たとえば、1つまたは複数のコンピュータ装置802および/または処理システム804)により実行可能/操作可能であり得る。
[0059] 図8でさらに示されているように、例示的なシステム800は、アプリケーションをパーソナルコンピュータ(PC)、テレビジョン装置、および/または携帯装置で実行したときのシームレスなユーザ体験のためのユビキタス環境を可能にする。サービスおよびアプリケーションは、アプリケーションの利用中、ビデオゲームのプレイ中、ビデオの閲覧中等に、ある装置から別の装置に移行したときに、共通のユーザ体験のために、3つの環境のすべてで実質的に同様に実行される。
[0060] 例示的なシステム800では、複数の装置が中央のコンピュータ装置を介して相互接続されている。中央のコンピュータ装置は、複数の装置に対してローカルであり得、または複数の装置からリモートに配置され得る。一実施形態では、中央のコンピュータ装置は、ネットワーク、インターネット、または他のデータ通信リンクを介して複数の装置に接続された1つまたは複数のサーバコンピュータのクラウドであり得る。
[0061] 一実施形態では、この相互接続アーキテクチャにより、複数の装置に機能を配信して、共通のシームレスな体験を複数の装置のユーザに提供することができる。複数の装置のそれぞれは、物理的な要件および能力が異なる可能性があり、中央のコンピュータ装置は、各装置に合わせて調整され、かつすべての装置に共通する体験を装置に配信を可能にするために、プラットフォームを使用する。一実施形態では、対象とする装置のクラスが作成され、その汎用クラスに合わせて体験が調整される。装置のクラスは、物理的な特徴、使用の種類、または装置のその他の共通特性により定義され得る。
[0062] さまざまな実装では、コンピュータ装置802は、たとえばコンピュータ814、携帯装置816、およびテレビジョン818などの、さまざまな異なる構成をとり得る。これらの構成のそれぞれは、構造および能力が全体として異なり得る装置を含み、よってコンピュータ装置802は、異なる装置クラスの1つまたは複数に応じて構成され得る。たとえば、コンピュータ装置802は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含む、コンピュータ814の装置クラスとして実装され得る。
[0063] コンピュータ装置802は、携帯電話、ポータブル音楽プレーヤ、ポータブルゲーム装置、タブレットコンピュータ、マルチスクリーンコンピュータ等の携帯装置を含む、携帯装置816の装置クラスとしても実装され得る。コンピュータ装置802は、カジュアルな視聴環境で一般的に大きな画面を有するか、またはそのような画面に接続された装置を含む、テレビジョン818の装置クラスとしても実装され得る。これらの装置は、テレビジョン、セットトップボックス、ゲームコンソール等を含む。
[0064] 本明細書に記載された技法は、コンピュータ装置802のこれらの多様な構成によりサポートされ得、本明細書に記載された技法の具体的な例に限定されない。このことは、コンピュータ装置802にクイックタスクモジュール128が含まれていることにより示されている。クイックタスクモジュール128および他のモジュールの機能は、以下に説明するように、たとえば「クラウド」820上の分散システムのプラットフォーム822を介した使用を通じて、すべてまたは部分的に実装することも可能である。
[0065] クラウド820は、リソース824のプラットフォーム822を含み、および/または表す。プラットフォーム822は、クラウド820のハードウェア(たとえば、サーバ)リソースおよびソフトウェアリソースの基盤機能を抽象化する。リソース824は、コンピュータ装置802からリモートであるサーバでコンピュータ処理が実行されている間に利用することができるアプリケーションおよび/またはデータを含み得る。リソース824は、インターネット上および/またはセルラーネットワークやWi−Fiネットワーク等のサブスクライバネットワーク経由で提供されるサービスをさらに含むことができる。
[0066] プラットフォーム822は、コンピュータ装置802を他のコンピュータ装置に接続するために、リソースおよび機能を抽象化することができる。プラットフォーム822は、プラットフォーム822を介して実装されるリソース824に対して行われた要求に、対応する規模のリソースを提供するために、リソースの規模拡張を抽象化する役割も果たし得る。よって、装置が相互接続された環境において、本明細書に記載された機能の実装は、システム800の全体に分散され得る。たとえば、機能は、コンピュータ装置802に部分的に実装され得、ならびにクラウド820の機能を抽象化するプラットフォーム822を介しても実装され得る。
結論
[0067] 以上の説明における技法は、構造的な特徴および/または方法論的な行為に特有の言語で記載されているが、添付の特許請求の範囲の主題は記載された特定の特徴または行為に必ずしも限定されないことが理解されるべきである。むしろ、特定の特徴および行為は、特許請求された主題を実装する例示的な形式として開示されている。

Claims (8)

  1. 装置とのオンスクリーンキーボードを介したインタラクション中にテキストの入力を監視する第一のステップと、
    前記オンスクリーンキーボードの文字入力機能に関連付けられたキーに割り当てられたクイックタスクをトリガするように構成されたインタラクションシナリオを認識する第二のステップと、
    前記キーに関連付けられた前記文字入力機能を実行する代わりに、前記クイックタスクを適用してテキストを変更する第三のステップと、を含み、
    前記第三のステップは、入力されたテキスト文字列が選択されることなく前記第二のステップにおける前記インタラクションシナリオの意味的文脈を利用することにより、前記クイックタスクを適用してテキストを変更するステップを含む、
    方法。
  2. 前記第二のステップが、テキスト文字列が選択されたテキストの前記入力の状態を判断するステップを含む、請求項1に記載の方法。
  3. 前記第二のステップが、装置とのインタラクション中に入力されたテキストの意味処理に少なくとも部分的に基づく、請求項1に記載の方法。
  4. 前記クイックタスクが、前記キーの単一の操作に応じて適用される、請求項1に記載の方法。
  5. 前記キーに割り当てられた、前記クイックタスクと前記文字入力機能とを含む複数の機能が、前記インタラクションシナリオに応じて、前記キーの単一の操作により操作可能である、請求項に記載の方法。
  6. 前記インタラクションシナリオの認識に対応して、カーソルがテキスト入力に対してアクティブであるときに、前記文字入力機能がトリガされて前記キーに対応するテキスト文字が挿入され、前記カーソルがテキスト入力に対して非アクティブであるときに、前記クイックタスクがトリガされる、請求項1に記載の方法。
  7. 処理システムと、命令を格納する1つまたは複数のコンピュータ可読媒体と、を備えるコンピュータ装置であって、
    前記命令は、前記処理システムにより実行されたときに、既定の文字入力機能にそれぞれ関連付けられた複数のキーを有する前記コンピュータ装置のオンスクリーンキーボードと、クイックタスクモジュールと、を実施し、
    前記クイックタスクモジュールは、
    テキスト編集機能を簡素化するように構成された2つ以上のクイックタスクを前記複数のキーに割り当て、
    特定のキーの操作を認識し、
    前記特定のキーの操作に関連してインタラクションシナリオを決定し、
    前記インタラクションシナリオが第1のインタラクションシナリオであると決定することに対応して、前記特定のキーに関連付けられた前記文字入力機能を実行させ、
    前記インタラクションシナリオが第2のインタラクションシナリオであると決定することに対応して、前記特定のキーに割り当てられた前記2つ以上のクイックタスクのうち、前記特定のキーの操作に応じて、入力されたテキスト文字列が選択されることなく前記第2のインタラクションシナリオの意味的文脈を利用することによりテキストを再書式設定するように構成されているクイックタスクを実行させる、
    ように動作可能である、コンピュータ装置。
  8. 前記第1のインタラクションシナリオが、テキスト入力用のカーソルがアクティブである状態に対応するときに、前記特定のキーの前記文字入力機能が実行され、
    前記第2のインタラクションシナリオが、前記カーソルが非アクティブである状態に対応するときに、前記特定のキーの前記クイックタスクが実行される、請求項に記載のコンピュータ装置。
JP2016544000A 2013-09-24 2014-09-19 オンスクリーンキーボード用クイックタスク Active JP6450768B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/035,758 2013-09-24
US14/035,758 US10496276B2 (en) 2013-09-24 2013-09-24 Quick tasks for on-screen keyboards
PCT/US2014/056424 WO2015047881A1 (en) 2013-09-24 2014-09-19 Quick tasks for on-screen keyboards

Publications (3)

Publication Number Publication Date
JP2016539435A JP2016539435A (ja) 2016-12-15
JP2016539435A5 JP2016539435A5 (ja) 2017-09-28
JP6450768B2 true JP6450768B2 (ja) 2019-01-09

Family

ID=51663495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016544000A Active JP6450768B2 (ja) 2013-09-24 2014-09-19 オンスクリーンキーボード用クイックタスク

Country Status (11)

Country Link
US (1) US10496276B2 (ja)
EP (1) EP3049897B1 (ja)
JP (1) JP6450768B2 (ja)
KR (1) KR102249054B1 (ja)
CN (1) CN105659194B (ja)
AU (1) AU2014327147B2 (ja)
BR (1) BR112016004605A8 (ja)
CA (1) CA2923738C (ja)
MX (1) MX368935B (ja)
RU (1) RU2675152C2 (ja)
WO (1) WO2015047881A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
JP6786272B2 (ja) * 2016-06-24 2020-11-18 キヤノン株式会社 画像処理装置、及びその制御方法ならびにコンピュータプログラム
CN106484138B (zh) * 2016-10-14 2019-11-19 北京搜狗科技发展有限公司 一种输入方法及装置
WO2018101671A1 (en) * 2016-11-29 2018-06-07 Samsung Electronics Co., Ltd. Apparatus and method for providing sentence based on user input
US20190095047A1 (en) 2017-09-25 2019-03-28 International Business Machines Corporation Safely capturing input when a dialog is presented
CN111092971A (zh) * 2018-10-24 2020-05-01 北京搜狗科技发展有限公司 一种显示方法、装置和用于显示的装置
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
CN111158544A (zh) * 2019-12-25 2020-05-15 维沃移动通信有限公司 一种内容添加方法及电子设备
CN111126301B (zh) * 2019-12-26 2022-01-11 腾讯科技(深圳)有限公司 一种图像处理方法、装置、计算机设备和存储介质
US11200441B2 (en) 2020-05-01 2021-12-14 UiPath, Inc. Text detection, caret tracking, and active element detection
US11080548B1 (en) 2020-05-01 2021-08-03 UiPath, Inc. Text detection, caret tracking, and active element detection
US11461164B2 (en) 2020-05-01 2022-10-04 UiPath, Inc. Screen response validation of robot execution for robotic process automation
KR20220086887A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 터치스크린을 포함하는 입력 장치와 이의 동작 방법

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03260760A (ja) 1990-03-12 1991-11-20 Toshiba Corp 仮名漢字変換に付随する間接入力方式
JPH06203011A (ja) 1992-12-29 1994-07-22 Canon Inc 文字入力装置
US7213601B2 (en) * 1993-02-22 2007-05-08 Heartport, Inc Minimally-invasive devices and methods for treatment of congestive heart failure
US5621875A (en) 1993-10-26 1997-04-15 Microsoft Corp. Method and system for automatic formatting of user selected text
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
JP3071772B2 (ja) 1998-01-22 2000-07-31 ミサワホーム株式会社 キ―入力装置
US6957395B1 (en) 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US7761175B2 (en) * 2001-09-27 2010-07-20 Eatoni Ergonomics, Inc. Method and apparatus for discoverable input of symbols on a reduced keypad
US7142197B2 (en) 2002-10-31 2006-11-28 Microsoft Corporation Universal computing device
JP2004171371A (ja) 2002-11-21 2004-06-17 Toshiba Corp 情報処理装置およびキーへの機能割り当て方法
US7167178B2 (en) 2003-01-09 2007-01-23 Research In Motion Limited Method of fast typing twin special characters
US20050187754A1 (en) 2003-12-09 2005-08-25 Dana Suess Software-based keystroke eliminator for alpha-numeric keyboards and keypads
JP4775835B2 (ja) 2003-12-22 2011-09-21 株式会社日本総合研究所 キー割り当てシステムおよびキー割り当てプログラム
EP1615111B1 (en) 2004-07-08 2008-01-02 Research In Motion Limited Adding interrogative punctuation to an electronic message
US8374846B2 (en) 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8032357B2 (en) 2005-06-14 2011-10-04 Microsoft Corporation Phonetic input using a keypad
GB2433403B (en) 2005-12-16 2009-06-24 Emil Ltd A text editing apparatus and method
US20080242353A1 (en) 2007-04-02 2008-10-02 William Daniel Willey Input Shortcuts for a Communications Device
US8299943B2 (en) * 2007-05-22 2012-10-30 Tegic Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US8701037B2 (en) 2007-06-27 2014-04-15 Microsoft Corporation Turbo-scroll mode for rapid data item selection
TW200910875A (en) * 2007-08-29 2009-03-01 Inventec Appliances Corp Method and system for instantly translating text within an image
FR2928077B1 (fr) * 2008-02-29 2011-03-25 Echosens Dispositif et procede de micro-elastographie.
AU2009280785A1 (en) * 2008-08-12 2010-02-18 Keyless Systems Ltd. Data entry system
JP5110039B2 (ja) 2009-05-27 2012-12-26 オムロン株式会社 文字入力用のプログラムおよび情報処理装置
CN102473188B (zh) * 2009-07-27 2015-02-11 国际商业机器公司 用于转换存储的逻辑数据对象的方法和系统
US8161378B2 (en) * 2009-08-13 2012-04-17 Lesly Verdier Word processing style selector system using 2D matrix
KR101092335B1 (ko) 2009-11-10 2011-12-09 아이프로스 아이앤씨 주식회사 컴퓨터용 키보드
US20130097548A1 (en) * 2010-01-29 2013-04-18 Nokia Corporation Virtual Keyboard, Input Method, and Associated Storage Medium
US8462131B2 (en) * 2010-06-23 2013-06-11 John CHACHO Electronic device having virtual keyboard with predictive key and related methods
WO2012125988A2 (en) * 2011-03-17 2012-09-20 Laubach Kevin Input device enhanced interface
US8922489B2 (en) 2011-03-24 2014-12-30 Microsoft Corporation Text input using key and gesture information
US20130019175A1 (en) 2011-07-14 2013-01-17 Microsoft Corporation Submenus for context based menu system
US20130027550A1 (en) * 2011-07-29 2013-01-31 Technische Universitat Berlin Method and device for video surveillance
US11099733B2 (en) 2011-09-30 2021-08-24 Microsoft Technology Licensing, Llc Dynamic command presentation and key configuration for keyboards
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9223497B2 (en) * 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
CN102663016B (zh) 2012-03-21 2015-12-16 上海触乐信息科技有限公司 电子设备上输入候选框进行输入信息扩展的系统及其方法
US20130275506A1 (en) * 2012-04-12 2013-10-17 J. Scott Warner Lyric posting, live track sharing, and zip code notification of music events
CN102866827B (zh) 2012-08-21 2016-03-23 刘炳林 一种人机交互设备的文档编辑方法和装置
EP2818967B1 (en) * 2013-06-28 2018-08-22 Dialog Semiconductor GmbH Device and method for determining an operating temperature of an electronic component
US20150019653A1 (en) * 2013-07-15 2015-01-15 Civolution B.V. Method and system for adding an identifier

Also Published As

Publication number Publication date
RU2016110577A (ru) 2017-09-28
BR112016004605A8 (pt) 2020-02-11
CN105659194B (zh) 2019-08-06
AU2014327147B2 (en) 2019-05-30
AU2014327147A1 (en) 2016-03-03
JP2016539435A (ja) 2016-12-15
KR102249054B1 (ko) 2021-05-10
MX2016003721A (es) 2016-05-31
CN105659194A (zh) 2016-06-08
RU2016110577A3 (ja) 2018-07-19
WO2015047881A1 (en) 2015-04-02
EP3049897B1 (en) 2021-08-18
RU2675152C2 (ru) 2018-12-17
CA2923738A1 (en) 2015-04-02
US20150089428A1 (en) 2015-03-26
KR20160060110A (ko) 2016-05-27
CA2923738C (en) 2021-04-20
US10496276B2 (en) 2019-12-03
MX368935B (es) 2019-10-22
EP3049897A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
JP6450768B2 (ja) オンスクリーンキーボード用クイックタスク
EP3479213B1 (en) Image search query predictions by a keyboard
US20220229548A1 (en) Keyboard Automatic Language Identification and Reconfiguration
CN107305585B (zh) 由键盘作出的搜索查询预测
KR102262453B1 (ko) 텍스트 예측용 이모지
JP5903107B2 (ja) システムレベル検索ユーザーインターフェース
JP5956725B2 (ja) コンテキスト認識型ヘルプ・コンテンツを提供する方法、デバイス、及びコンピュータ・プログラム製品
US20170308247A1 (en) Graphical keyboard application with integrated search
KR101911804B1 (ko) 터치 디바이스에서 검색 기능 제공 방법 및 장치
TWI510965B (zh) 輸入方法編輯器整合
US20180196854A1 (en) Application extension for generating automatic search queries
JP5837608B2 (ja) システムレベル検索ユーザーインターフェースへの登録
JP2019220237A (ja) 文字入力インターフェース提供方法及び装置
US20130104068A1 (en) Text prediction key
US20170169829A1 (en) Language and domain independent model based approach for on-screen item selection
JP2016519349A (ja) 複数言語モデルに基づくテキスト予測
WO2013085528A1 (en) Methods and apparatus for dynamically adapting a virtual keyboard
US20160306438A1 (en) Physical and virtual input device integration
US20140164981A1 (en) Text entry
US20180356901A1 (en) Unified input and invoke handling
KR102158544B1 (ko) 모바일 기기의 입력 인터페이스 내에서 맞춤법 검사를 지원하는 방법 및 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170818

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181105

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: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181210

R150 Certificate of patent or registration of utility model

Ref document number: 6450768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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