自動拡張を伴うテキスト入力ウィンドウ
ユーザ入力パネルが動的に拡張して、手書きまたはキーボード入力等の、ユーザ入力に対応する。拡張は、書き込まれまたはタイプされる言語にしたがって、4つの可能な方向のうち1つまたは2つの方向に生じる。例えば、英語の語句を書き込むときは、入力パネルはユーザが書き込むにつれて右方に拡張し、入力パネルが右方に完全に拡張したとき、下方に拡張する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の態様は、一般的にコンピュータ・システムにおけるユーザ入力インターフェースの改良、さらに詳細には、ユーザの書き込みまたはタイプに応じてオンデマンド・ベースで動的に拡張する入力パネルの提供を意図するものである。
【背景技術】
【0002】
ユーザ入力装置およびインターフェースは、コンピューティング装置についての新たなタイプの要求を満たすように急速に発展している。最近では、タブレット・ベースのパソコンおよびハンドヘルド・コンピュータが普及しつつある。これらの装置は典型的に、その面上のスタイラスの動きを電子インクに変換する書き込み面を有する。このインクは、認識してテキストに変換するか、または電子インク・フォーマットに格納することができる。
【0003】
例えば、Microsoft Windows XP(登録商標)のタブレットPC版のオペレーティング・システムは、テキスト入力パネルとも呼ばれるデータ入力ユーザ・インターフェース、タブレットPC入力パネルまたは「TIP」を提供し、これを通して、ユーザはスタイラスを使用してデータをコンピュータに入力することができる。このタイプのユーザ・インターフェースは、データ入力グラフィカル・ユーザ・インターフェイスの広いカテゴリーに入るので、データ入力パネルと呼ぶことができる。データ入力パネルの中には、従来のキーボード面の文字を表示する「ソフト」キーボード面を備えるものもある。この型のキーボードにおいては、ユーザがスタイラスを用いてキーの表示部を叩くと、コンピュータはそのキーに関連付けられた文字を入力データとして受け取る。別のタイプのデータ入力パネルは、特有の入力表面を持つことがある。例えば、ユーザ・インターフェースの中には、東アジア語表記の文字を受け取るためレターサイズの書き込み面を複数備えるものもある。
【0004】
これらのタイプのデータ入力パネルは、スタイラス入力デバイスを採用するコンピュータの有用性を向上させるが、従来のデータ入力装置に関連付けられたいくつかの不便な点が、いまだに存在する。例えば、データ入力パネルは、難しく不便な方法で、ユーザによって通常、一般的に、特に呼び出さなければならない。データ入力パネルを使用してデータをアプリケーションに入力するため、ユーザはアプリケーションの外部から手動でデータ入力パネルを起動する。しかしながら、コンピュータ・ユーザの多くは、データ入力パネルに慣れておらず、このリソースを見過ごすかまたは呼出し方法を知らないため、このようなリソースを、初心者ユーザから実質的に隠された状態にしてしまう可能性がある。
【0005】
さらに、データ入力パネルは、アプリケーションとは別に呼び出されるグラフィカル・ユーザ・インターフェイスなので、通常、アプリケーションとは別個に表示される。状況によっては、表示されているアプリケーション自体に、重ねてユーザ・インターフェースが表示されることもある。この配置により、ユーザは、アプリケーション内の保存先の近くにデータを入力することができるが、ユーザ・インターフェースが不用意に保存先またはその隣接部を見にくくしてしまうことがある。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、ユーザ・インターフェースが当初入力データの所望の保存先を見にくくしていない場合でも、ユーザは、新たなデータがアプリケーションに入力されるにつれて、絶えずユーザ・インターフェースの位置を変更し、ユーザ・インターフェースが、そのデータの新たな挿入点を見にくくするのを防止する必要がある。さらに別のタイプのデータ入力パネルを用いると、ユーザ・インターフェースがアプリケーションの下の空間に「ドッキング」される。データ入力パネルをこのように配置すると、ユーザが、新たなデータのための所望の保存先を確認する妨げにならないのは確実であるが、スタイラスを、アプリケーションとデータ入力パネルとの間で絶えず前後に動かして、アプリケーションの制御と、アプリケーションへのデータ入力とを共におこなうことは、ユーザに取って極めて煩雑である。
【課題を解決するための手段】
【0007】
本発明の態様は、ユーザが、あまり煩わしくない方法で、容易にかつ効率的にユーザ入力を入力することを可能にする。初心者ユーザにも容易に見つけられ、ユーザ側の操作がほとんど必要なく、効率良く使用することが可能な入力パネルが提供される。この入力パネルは、ユーザに関心のある重要な表示要素が見にくくなる可能性を低減しながら、手書き入力、キーボード入力、およびその他のユーザ入力に対して、ユーザの必要な時と場所で、容易なアクセスを提供する。
【0008】
本発明のさらなる態様は、入力パネルが好適な位置に出現することおよびユーザ入力に対応するように動的に拡張することを意図している。入力パネルは、右方および下方等の、1方向または2方向に拡張することができし、他の2つの方向(上方及び左方)には拡張しない。これは特に、英語などの言語を入力パネルに書き込みまたはタイプする場合、例えば、言語を水平行の右方に向って書き込み、続いて下方の次の行へと書き込む場合に、特に有用である。入力パネルが拡張する方向(単数又は複数)は、選択した言語によって変わる。
【0009】
本発明のさらなる態様によると、入力パネルは、所定の一定のマージンを保って拡張する。例えば、入力パネルはディスプレイの端部から一定のマージン距離の位置まで拡張する。これは、ディスプレイの端部近くにあって、有効に機能することの多いユーザ・インターフェース要素の利用性を保護する。
【0010】
本発明のさらなる態様は、便利で直観的な入力パネルの呼出しと取下げを意図する一方で、呼び出していない入力パネルが出現したり、必要な入力パネルを不注意に消失したりする可能性を少なくする。
【0011】
本発明のこれらおよびその他の態様は、以下の記述、図面、および請求項を読むことにより当業者には明らかである。
【発明を実施するための最良の形態】
【0012】
前述の課題を解決するための手段は、具体的実施例に関する以下の詳細な記述と同様に、添付図面と共に読むことにより、より深く理解できる。これらの図面は、例示する目的で含まれているのであり、請求する発明に関して制限を加えるものではない。
【0013】
典型的コンピューティング環境
図1は、従来の汎用デジタル・コンピューティング環境であって、本発明の各種態様を実施するために使用することのできる、コンピューティング環境の機能的ブロック図である。図1において、コンピュータ100は、処理ユニット110、システム・メモリ120および、システム・メモリを含む各種システム・コンポーネントを処理ユニット110に結合するシステム・バス130を含む。システム・バス130は、数種類あるバス構造の型のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および各種バスアーキテクチャのいずれかを使用するローカルバスを含む。システム・メモリ120は、読み取り専用メモリ(ROM)140およびランダム・アクセス・メモリ(RAM)150を含む。
【0014】
コンピュータ100内のコンポーネント間の情報転送を補助する、基本ルーチンを含む基本入出力システム160(BIOS)は、起動中などには、ROM140内に格納される。コンピュータ100はまた、ハードディスク(不図示)に対する読み取りおよび書き込みのためのハードディスク・ドライブ170、リムーバブル磁気ディスク190に対する読み取りおよび書き込みのための磁気ディスク・ドライブ180、およびCD-ROMまたはその他の光媒体等のリムーバブル光ディスク192に対する読み取りおよび書き込みのための光ディスク・ドライブ191を含む。ハードディスク・ドライブ170、磁気ディスク・ドライブ180、および光ディスク・ドライブ191は、それぞれハードディスク・ドライブ・インターフェース192、磁気ディスク・ドライブ・インターフェース193、および光ディスク・ドライブ・インターフェース194によりシステム・バス130に結合される。ドライブとそれに関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールおよびその他のデータの不揮発性ストレージを個人用コンピュータ100のため提供する。磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)等、コンピュータがアクセスすることのできるデータを格納することのできるコンピュータ可読媒体の、その他の型も、例示のオペレーティング環境において使用できることを、当業者が理解するのは当然である。
【0015】
多数のプログラム・モジュールは、ハードディスク・ドライブ170、磁気ディスク190、光ディスク192、ROM140またはRAM150内に、オペレーティング・システム195、1つまたは複数のアプリケーション・プログラム196、その他のプログラム・モジュール197、およびプログラム・データ198を含めて、格納することができる。ユーザは、キーボード101およびポインティング・デバイス102等の入力装置を介して、コマンドと情報をコンピュータ100に入力することができる。その他の入力装置(不図示)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれる。これらおよびその他の入力装置は、システム・バスに結合されるシリアル・ポート・インターフェイス106を介して処理ユニット110に結合されることが多いが、パラレル・ポート、ゲームポートまたはユニバーサル・シリアル・バス(USB)等の、別のインターフェースを介して結合してもよい。さらに、これらのデバイスは、適切なインターフェース(不図示)を経由してシステム・バス130に直接結合してもよい。モニタ107または別の型の表示装置も、ビデオ・アダプタ108等のインターフェースを介してシステム・バス130に結合してよい。モニタに加えて、個人用コンピュータは典型的に、スピーカおよびプリンタなど別の周辺装置(不図示)を含む。好適実施例においては、ペン・デジタイザ165および付属のペンまたはスタイラス166が、フリー・ハンド入力をデジタルに捕捉するために設けられている。ペン・デジタイザ165とシリアルポートとの間の直接結合が示されているが、実際においては、ペン・デジタイザ165は、公知の技術のようにパラレル・ポートまたは別のインターフェースおよびシステム・バス130を介して、処理ユニット110に直接結合してもよい。さらに、デジタイザ165は、モニタ107から分離して示されているが、デジタイザ165の使用可能な入力領域は、モニタ107の表示領域と同じ広さであることが好ましい。さらに、デジタイザ165はモニタ107と一体化しても、またはモニタ107から分離した装置として重ねるか、付加してもよい。
【0016】
コンピュータ100は、リモート・コンピュータ109等の、1つまたは複数のリモート・コンピュータに対し、論理接続を使用するネットワーク環境内で作動することができる。リモート・コンピュータ109は、サーバ、ルータ、ネットワークPC、ピア・デバイスまたは他の普通のネットワーク・ノードであることがあり、典型的に上述の要素の多くを、または全部をコンピュータ100に関連して含むが、図1にはメモリ・ストレージ・デバイスのみを示す。図1に示した論理接続には、ローカル・エリア・ネットワーク(LAN)112および広域ネットワーク(WAN)113が含まれる。このようなネットワーク環境は、オフィス、企業規模コンピュータ・ネットワーク、イントラネットおよびインターネットでは普通のことである。
【0017】
LANネットワーク環境で用いるとき、コンピュータ100は、ネットワーク・インターフェイスまたはアダプタ114を介してローカル・ネットワーク112に結合される。WANネットワーク環境で使用される場合、個人用コンピュータ100は、インターネット等の広域ネットワーク113上に通信を設定するための、典型的にはモデム115または他の手段を含む。内蔵または外付けのモデム115は、シリアル・ポート・インターフェイス106を経由してシステム・バス130に結合される。ネットワーク環境において、個人用コンピュータ100、またはその部分に関連して示されているプログラム・モジュールは、リモート・メモリ・ストレージ・デバイス内に格納してもよい。
【0018】
示したネットワーク接続は具体例であって、コンピュータとの間に通信リンクを設定するために、他の技術を使用するこができるのは明らかである。TCP/IP、イーサネット(登録商標)、FTP、HTTP等の、各種の公知プロトコルのうちいずれかの存在が推定され、システムはクライアント−サーバ構成内で動作し、ユーザはウェブ・ページをウェブ・ベースのリモート・ウェブ・サーバから取り出すことができる。任意の従来の各種ウェブ・ブラウザを使用してウェブ・ページ上のデータを表示し操作することができる。
【0019】
図2は、本発明の各種態様にかかる使用が可能な、スタイラス・ベースのコンピュータ処理システム(タブレットPCとも呼ばれる)201の1例を示す。図1のシステムの特徴、サブ・システム、および機能のいずれかまたは全部を、図2のコンピュータに含むことができる。タブレットPC201は、大型表示面202、例えば、デジタル化フラット・パネル・ディスプレイ、好適には、液晶ディスプレイ(LCD)またはOLEDスクリーン、プラズマ・ディスプレイ等を含み、その上に複数のウィンドウ203が表示される。スタイラス204の先端(先端はここで「カーソル」とも呼ぶ)を用いて、ユーザは、デジタル化表示領域上で選択、強調、書き込みをおこなうことができる。適切なデジタル化表示パネルには、Mutoh(登録商標)またはWacom(登録商標)ペン・デジタイザなど、電磁式ペン・デジタイザが含まれる。別の型のペン・デジタイザ、例えば、光デジタイザを使用してもよい。タブレットPC201は、スタイラス204を使用して作成されるマークを、データの操作、テキストの入力、および、表計算、文書処理プログラム等、従来のコンピュータ・アプリケーションタスクを実行するために解釈する。
【0020】
スタイラス204には、ボタンまたはその他の特徴を装備してその選択能力を補強してもよい。一実施例においては、スタイラスを「鉛筆」または「ペン」として実施するが、この場合、スタイラスの一端は筆記部を構成し、他端は、ディスプレイの中で動かすとき、ディスプレイのその部分を消すことを意味する「消しゴム」を構成する。マウス、トラックボール等、別の型の入力装置も使用することができる。さらに、タッチ・センシティブおよび/またはプロキシミティ・センシティブ機能のディスプレイ上では、ユーザ自身の指を、表示画像の部分を選択や指示するために使用することができる。その結果、この中で使用する用語「ユーザ入力装置」は、広範な定義をも持つことが意図されており入力装置に関する多数の変形を包含する。
【0021】
入力パネル拡張挙動
図3を参照すると、ステップ301において、コンピュータ(例えば、コンピュータ100または201など)は、ユーザ入力装置(例えば、スタイラス166又は204など)の位置を入力表面(デジタイザ105またはディスプレイ面202)に対して点検する。ユーザ入力装置は、以下の実施例においては具体例としてスタイラス204であると考える。しかしながら、マウス102等、いかなるユーザ入力装置を使用してもよい。ステップ302において、コンピュータは、スタイラス204の位置に基づいて、スタイラスが入力領域上でホバリングしているか否か、およびスタイラス204が有効「入力領域」上をホバリングしているか否かを、判定する。用語「ホバリング」は、スタイラス204(詳細には、例えばスタイラス204の先端など)が、入力表面に近接しているが物理的に接触はしていないことを意味する。閾値に基づく判定をおこなってもよい。例えば、コンピュータは、スタイラスの先端が入力表面から所定の直交距離の範囲内にあるか否かを判定する。そうであるときは、スタイラスはホバリングしている。そうでないとき(例えば、スタイラス204が入力表面から遠く離れ過ぎているか、または入力表面に接触しているとき)は、スタイラス204はホバリングしていない。
【0022】
用語「入力領域」は、ディスプレイまたはユーザ入力表面の領域であって、有効ユーザ入力を受け入れる領域を意味する。任意の所定の時期に、1つまたは複数の入力領域があってもよく、これらの入力領域は、時間の経過につれて変化、移動、出現、および消滅する。どの領域が入力領域であるかは、実行しているアプリケーション、実行しているオペレーティング・システム、注目しているアプリケーション(即ち、ユーザが現在積極的に交信しているアプリケーション)および/または別の要因によって定まる。入力領域は典型的に、タイプされたテキストをキーボードから受け入れ、および/またはスタイラスからの手書きインクを受け入れる。いくつかの実施例において、唯一の入力領域は、何処であれ現在「システム・キャレット」が位置している場所、または少なくともシステム・キャレットの周辺および近傍で、所定の領域でもよい。システム・キャレットは、ユーザが、現在作業中の挿入点である。挿入点は、点滅テキスト・カーソル等のカーソルを介して、ユーザに示される。別の「カーソル」も存在して、スタイラス204(又は、マウス102等の入力装置)が交信するディスプレイ上の位置(例えば、その上をスタイラス204がホバリングしているディスプレイ上の位置、またはスタイラス204が接触しているディスプレイ上の位置など)を示す。挿入点を示すカーソルは、スタイラス204の交信ポイントを示すカーソルと必ずしも一致しない。
【0023】
ステップ303において、スタイラス204がホバリングしていない場合は、表示されている呼出しターゲットがあれば(後述のように)表示から削除する。このときコンピュータは再度ステップ301でスタイラス204がホバリングしているか否かを点検する。このループは、スタイラス204がホバリングしていると判定されるまで繰り返される。この状態になると、ステップ304において、スタイラス204が所定のタイムアウト時間だけホバリングしたか、または選択され表示されている呼出しターゲットがあるかを判定する。呼出しターゲットは、例えば、マウス102のボタンで呼出しターゲットをクリックする、スタイラス204で呼出しターゲットを叩く、呼出しターゲットの上をホバリングする、またはコンピュータまたはスタイラス204の上のボタンを押すことなどにより選択する。これらの判定のいずれも生じない場合は、ステップ305において、呼出しターゲットを表示し(または既に表示されている場合、表示を続ける)、コンピュータはスタイラスがホバリングしているか否かをステップ301と302で点検する。呼出しターゲットは、スタイラスが入力表面の適切な領域上でホバリングを開始した直後、または遅延時間の経過後に表示される。ステップ304は、タイムアウト判定と呼出しターゲット選択判定の双方を含んでも、またはこれら2つの判定のうち1つのみを含んでもよい。この具体実施例は、スタイラス204がホバリングに応答して呼出しターゲットを表示するように説明しているが、呼出しターゲットは、スタイラス204が実際に入力表面に接触するのに応答する、またはスタイラス204の他のジェスチャに応答する等、別のユーザ入力に応答して表示してもよい。ここで言うホバリングは、具体的なユーザ入力としての表現に過ぎないことが理解できる。
【0024】
「呼出しターゲット」は、入力パネルの利用が可能であり、呼出しが可能であることをユーザに知らせる表示である。呼出しターゲットは、ユーザに対する視覚的および/または聴覚的表示であって、ディスプレイに示されるアイコン、警告音またはクリック音などの可聴音、または変更カーソルなどでよい。呼出しターゲット403の例を図4に示す。呼出しターゲット403は、ディスプレイ401の上の所定の位置(入力表面の一部でよい)に表示されるか、またはスタイラス204がホバリングするディスプレイ401上の、または別にディスプレイ401と交信する位置402(「交信点」402)によって定まる位置に表示される。例えば、呼出しターゲット403は、交信点402から所定の距離だけ離れた位置に表示してもよい。代わりに、呼出しターゲット403は、アクティブ入力領域にある挿入点の位置によって定まる位置に表示してよい。例えば、呼出しターゲット403は、挿入点から所定の距離だけ離した位置に表示してよい。示した実施例において、呼出しターゲット403は、呼出しターゲット403の交信点402に最も近い端部が、ディスプレイ401の上で水平方向に距離Xだけ、および垂直方向に距離Yだけ離れた位置に表示されている。この場合、XとYの値は、同じでも相違していてもよいし、また正でも負でもよい。この例において、示された「X」、「Y」および破線は、実際には表示されず、説明のためのみに含まれていることに注意しなければならない。距離Xと距離Yは、1/4インチ以下、約1/3インチ、または約1/2インチ以上など、任意の値でよい。
【0025】
呼出しターゲット403は、示すように四角の中に「X」印であるが、これは単なる1例に過ぎない。呼出しターゲット403は、ユーザに対し、アイコン、アニメーション、画像、テキスト、および/または任意の他のタイプの視覚要素(単数又は複数)等、どのような形のものでもよい。また、呼出しターゲット403は矩形で示されているが、円形、正方形、三角形、および/または他の任意の幾何形状又は非幾何形状等、任意の形状でもよい。
【0026】
上述のように、ユーザのスタイラス204は、タイムアウトになるまでの期間ホバリングしてもよいし、またはユーザが呼出しターゲット403を選択してもよい。ユーザは、呼出しターゲット403を、表示された呼出しターゲット403をスタイラス204で叩くなど、様々な方法のいずれを選択してもよい。ステップ304に示したアクションのいずれかが発生すると、これに応答してステップ306において入力パネルがユーザに提示される。入力パネルは、スタイラス204からの電子インク入力、キーボードからのタイプ書き込み入力、および/またはその他の入力など、ユーザ入力を受けることができる。
【0027】
表示された入力パネル501の例を図5に示す。入力パネル501は呼出しターゲット403に代わって表示されるか、または呼出しターゲット403に追加して表示される。入力パネルは、アンカー・ポイント502を含む。アンカー・ポイントは表示されることもされないこともある。入力パネル501は、そのアンカー・ポイント502を所定の位置に持つ位置、または交信点402によって定まる位置、および/または呼出しターゲット403の位置等、ディスプレイ401上の任意の位置に表示してもよい。示した例では、入力パネル501は、入力パネル501により置き換えられる前に予め表示されていた呼出しターゲット403の位置と同じ、またはほぼ同じ位置に表示されている。
【0028】
戻って図3を参照すると、ステップ307において、入力パネル501はユーザ入力として、テキスト、インク、画像、音声(例えばスピーチ)等、所望の任意の型のコンテンツを受け取る。しかしながら、開示する実施具体例における入力パネル501は、主としてテキスト、インク、および/または音声内容を受け取るものと見なされる。この理由は、入力パネル501は、一定の実施例において、重要な入力を、文書処理アプリケーション等の、現在実行されているアプリケーションに入力するために受け取るテキスト入力パネルであると考えられるからである。図5から分かるように、文字「abc」が手書きインクでコンテンツとして入力パネルに501に書き込まれている。これは、例えば、スタイラス204を使用して入力面上に、さらに詳細には、入力パネル501に対応する入力表面の部分に「abc」と書くことによりおこなわれる。
【0029】
図3で、ステップ308において、コンピュータは、ユーザ入力が入力パネル501の境界に近い位置にあるかまたは接触しているか否かを点検する。入力パネル501の境界は、入力パネル501の目に見える縁部と同じ広がりでよく、入力パネル501の目に見える範囲内、および/または目に見える範囲を超えて広がることができる。例えば、右境界は、入力パネル501の右側の目に見える縁部と同一であるか、または右境界は、右側の目に見える縁部の左に所定の距離を置いた位置でもよい。図6は、入力パネル501の右端602の左にある右境界606の例を示す。しかしながら、境界606は、右端602と同じ位置でもよい。入力パネル501の上端601、左端605および下端603も示されている。
【0030】
図7は、入力パネル501の境界近くにあるか、またはそれに接触するユーザ入力に応答して生じる様相を示す。図7は、「上」、「下」、「左」および「右」の方向も示す。これらの具体的方向は、本明細書を通じ一貫して使用し、本発明の態様の説明に役立てる。これらはユーザがディスプレイ401を見る際にユーザの観点から評価される。示した方向矢印と方向テキストは必ずしもディスプレイ401の上に表示されないが、単に説明のために示す。ここで用いる方向は、ディスプレイ401に関してのものであり、必ずしも地球重力の引力に関係するものではなく、それを意味するものでもない。例えば、ディスプレイ401を机上で横にする場合でも、示すような「上」方は、ディスプレイ401に関しての「上」方である。
【0031】
示したものから分かるように、当初「abc」のユーザ入力が、今は「abc def ghi jkl mno pqr」と読めるように変更されている。このユーザ入力は、図5に示すような入力パネル501には収容しきれないので、入力パネル501が自動的に拡張してユーザ入力に対応している。この実施例においては、入力パネル501の境界近くにあるかまたはそれに接触するユーザ入力に応答して、入力パネル501が、その目に見える右辺602および/または右境界606を、ユーザ入力の必要に応じて、動的に拡張している。例えば、ユーザ入力が「abc def ghi」のみであるときは、入力パネル501の右方への拡張は、図7に示したものより少ない。リアル・タイムで、ユーザ入力が右方に進むにつれ、入力パネル501は右方への拡張を継続する。しかしながら、入力パネル501の右方への拡張には制限がある。物理的限界はディスプレイ401の境界である。入力パネル501は、さらに人為的に右方への拡張を制限される。例えば、入力パネル501は、ディスプレイ401の右境界から、所定の水平右マージンMhrまで右方に拡張できる。このマージンMhrは、絶対距離として、またはディスプレイ401の大きさの百分率として定めることができる。例えば、Mhrは、約1/4インチ、約1/2インチ、約1/4インチと約1/2インチとの間、ディスプレイ401境界幅の約3%、ディスプレイ401境界幅の約5%、またはディスプレイ401境界幅の約3%と約5%との間等である。しかしながら、Mhrは別の値でもよい。拡張する過程を通じて、アンカー点502は、固定されたままである。これは、入力パネル501の上端601と左端605もまた固定されたままであることを意味する。
【0032】
このように、図3に戻ると、ステップ309において入力パネル501が、まだ完全に右方にこの限界まで拡張していないときは、ステップ310において入力パネル501を右方に拡張し、ステップ307においてさらにユーザ入力の受け入れを継続する。入力パネル501は徐々に右方に拡張する。拡張する大きさは一定でもよいし、またはユーザ入力にしたがって変動してもよい。拡張する大きさが固定されている場合は、その大きさは約1.5インチ、または約1.75インチ、あるいは約2インチ、またはこれらの値より大きくても小さくてもよい。
【0033】
他方、ステップ309において、入力パネル501が既にその右方の限界に達していると判定されるときは、入力パネル501はステップ312において別の方向に拡張する。示した実施例において、別の方向とは下である。このとき、入力パネル501は、ステップ307において、さらにユーザ入力の受け入れを継続する。図8は、入力パネル501がその右方の限界に達して、ユーザが入力パネル501にユーザ入力を継続するとき生じる様相を示す。この場合、ユーザ入力は、今や増加して「abc def ghi jkl mno pqr stu vwx yz1 234」となっている。このユーザ入力全体は、図7に示すような入力パネル501には収容しきれないので、入力パネル501は自動的に下方に拡張して、追加のユーザ入力を収容する。言い換えると、入力パネル501の下端603は、インク動作の右方への伸長に応答して、下方に移動している。入力パネル501のこの右方および下方への拡張は、インクが書き込まれている間にリアル・タイムで生じる。右マージンMhrは依然として保たれていることに注意すべきである。下方への拡張は、右方への拡張が入力パネル501を右方のマージンMhrまで完全に拡張した後にのみ、開始される。また、少なくともある程度の下方への拡張が、入力パネル501の右方への完全な拡張に先立って、それがマージンMhrまで拡張する前に生じる場合もある。さらに、少なくともある程度の下方への拡張が、右方への拡張と同時に生じることもある(これは事実上、ユーザには斜め方向への拡張に見える)。
【0034】
しかしながら、本実施例において、入力パネル501は、下方にまだ完全に拡張していない場合にのみ、下方に拡張することができる。したがって、ステップ311において入力パネル501が、まだ完全に下方に拡張していない場合、徐々に拡張する。例えば、入力パネル501は、所定のインクリメントだけまたは、ユーザ入力にしたがって拡張する。一実施例においては、下方のインクリメントな拡張量は、約1.5インチ、または約1.75インチ、あるいは約2インチ、またはこれらより大きくても小さくてもよい。別の実施例においては、下方のインクリメントな拡張量は、ユーザ入力に以前に書き込まれた手書きまたは垂直文字の垂直サイズにしたがって変動する。追加されるユーザ入力文字が同様のサイズであるとの予測から、以前に書き込まれた文字が大きいほど、下方のインクリメントが大きくなる。
【0035】
他方、ステップ311において判定するように、入力パネル501が既に最大下方限界まで拡張しているときは、入力パネル501はそれ以上拡張しない。しかしながら、入力パネル501はユーザ入力の受け入れを継続する。下方の拡張の限界は、ディスプレイ401の下方境界により制限される。下方の拡張の限界は、さらに理論上存在する垂直下端マージンMvbにより制限される。マージンMVbはマージンMhrと同様の方法で判定してよい。
【0036】
この点で、この実施例におけるアンカー点502は、図5、7および8を通じてディスプレイ401上の、同一の固定位置に定着し続けることに注意しなければならない。これは、入力パネル501が、右方および/または下方に完全に拡張している場合にも言える。いくつかの実施例において、ユーザは手動で(ドラッグ・アンド・ドロップなどにより)アンカー点を移動して、入力パネルの拡張のためのスペースをさらに作ることができる。アンカー点502は、入力パネル501の上境界と左境界の交点を表す。しかしながら、アンカー点502は、入力パネル501の上境界と右境界の交点など、入力パネル501の別の境界の組合せの交点を表すこともある。アンカー点502が入力パネル501の上境界と左境界の交点を表す例に戻ると、入力パネル501の上境界と左境界は、アンカー点502に沿って固定されたまま維持される。したがって、入力パネル501が右方および下方の双方向に完全に拡張すると、入力パネル501はそれ以上拡張することができない。さらに説明するように、アンカー点502が、境界のどの交点を表すかは、入力パネル501に書き込みまたはタイプされることが予定される言語によって決まる。
【0037】
入力パネル501が、それ以上どの方向にも拡張することができない点(すなわち、ステップ311の判定結果が「yes」)に達しても、ユーザは、入力パネル501により画定される既存の領域に、ユーザ入力の追加を継続、および/または既存のユーザ入力の編集を継続する。それ以上入力パネル501を拡張することができなくなると、入力パネル501はそれに応答して、さらなるユーザ入力を可能にするため、1つまたは複数のスクロール・バーを水平および/または垂直方向に作成してもよい。しかしながら、実施例によっては、インターフェースと入力パネル501との関係はできるだけ単純に保つのが望ましいので、この例の場合、スクロール・バーは有効ではない。
【0038】
水平左マージンMhlおよび垂直頂部マージンMvtを図8に示す。これらのマージンは、入力パネル501がこれらのマージンを越えることができないように使用される、理論上のマージンである。いくつかの実施例においては、アンカー点502は決してマージンMhlの左にも、またマージンMvtの上に置くこともできない。これは、交信点402がある場所にかかわらず言えることである。入力パネル502が表示されるべき位置を定義する規則はいずれも、入力パネル502が、初期においても入力パネル502が拡張している間も、マージンMhl、Mhr、Mhb、Mhtの外側に位置することのないことを確保できるものでなければならない。必要に応じて、前述とは別の使用をする際の入力パネル502の初期設定位置は、入力パネル502がこれらのマージンを侵害しないことが確実な範囲の値だけ変更してもよい。既定配置規則で、呼出しターゲットおよび/または入力パネルがマージン範囲内に位置する結果にならない場合は常に、呼出しターゲットおよび/または入力パネルは、できるだけ小さい移動で、マージンを侵害することなく既定位置にできるだけ近付くようにしてよい。
【0039】
入力パネルと入力領域の交信
入力パネル501の使用方法の例を図9〜11に示す。図9において、ディスプレイ401は、文書処理アプリケーション、表計算アプリケーション、インターネット・ウェブ・ブラウザ、または電子メール・プログラム等の、オープン・ソフトウエア・アプリケーションのグラフィカル・ユーザ・インターフェイス901を示すが、これらに限らない。このソフトウエア・アプリケーションは、コンテンツ902を表示することができ、このコンテンツはこの例示ではテキストであるが、他のコンテンツでもよい。コンテンツ902に対しては、それに対する編集、削除、または追加などにより交信することができる。したがって、この特定の実施例においては、コンテンツ902を含むディスプレイ401上の領域903(破線により示すが、必ずしも表示する必要はない)が、前に定義するような入力領域と考えられる。スタイラス204は、ディスプレイ401上に交信点402により示される領域で(または、入力表面がディスプレイ401と同一ではない場合に、ディスプレイ401上の交信点402に対応する入力表面の一部の上で)ホバリングする。交信点402は入力領域903の範囲内にあるので、呼出しターゲット、および結局は入力パネル501が前述のように表示される。交信点402が入力領域903の外側(及び任意の入力領域の外側)に位置する場合、呼出しターゲット、および入力パネル501は、表示されない。したがって、呼出しターゲット、および/または入力パネルが表示されるか否かは、入力領域に対する交信点402の位置によって決まる。入力領域は、現在実行されているオペレーティング・システムおよび/またはアプリケーション・ソフトウエアによって定義される。
【0040】
この例において、入力パネル501は、入力領域903と関連付けられており、初期にはユーザ入力とコンテンツは欠如している。入力パネル501は、詳細には入力領域903内の挿入点に関連付けられている。典型的に、アプリケーション、またはアプリケーションをホストするシステム(オペレーティング・システム等)は、入力装置により作成されるデータが入力領域903等のコントロールに挿入される挿入点を備える。例えば、アプリケーションは、挿入点を表示して、入力装置により作成されるデータを挿入する位置を示す。テキスト用の挿入点は、典型的に、点滅する縦線のカーソルとして表示される。挿入点の位置は、従来から1つまたは複数の入力装置により制御される。挿入位置はさらに置換可能なテキストの選択である。ユーザがテキストの選択を新たな入力データで置き換えることを望むとき、ユーザは置き換えるべきテキスト全体を選択する。例えば、ユーザはポインティング・デバイスに関連付けられたコマンドボタンを起動して、表示されたポインタが置き換えるべきテキストを越えるか、またはそれを通過するようにポインティング・デバイスを移動する。この処理はテキストの選択の「ブロック」と言われることもある。次に、ユーザがデータをコントロールに入力すると、選択されたテキスト全体が新たに入力されたデータで置き換えられる。
【0041】
この例において、ユーザはコンテンツ902の中の語句「three」を、編集する意図でブロックした。したがって、選択された部分は、入力領域903における挿入点904と見なされる。入力パネル501を使用してユーザがコンテンツ902に対しておこなう変更はいずれも、挿入点904において生じる。示したように、ユーザは手書きのユーザ入力「at」を入力パネル501に追加する。入力パネル501に関連付けられた挿入点904は、さらに強調されるか、または別に変更されて、それが入力パネルと関連付けられていることを示す。
【0042】
図10を参照すると、ユーザは、前に書き込んだ「at」に追加して書き込みを継続するので、入力パネル501内の手書きコンテンツは、今は「at least four、 but no more than five」となっている。前述のように、入力パネル501は右方に、必要であれば下方にも拡張して、ユーザ入力に対応する。ここでも入力パネル501は、マージンMhrおよびMvbを侵害しないように、そしてアンカー点502を固定位置に維持できるように、右方および下方に拡張する。この例においては、アンカー点502は入力パネル501の左上隅にある。また、入力パネル501は、当初はマージンMhl、Mhr、MvtおよびMvbを侵害しない位置に現れる。
【0043】
図11に示すように、ユーザが入力パネル501に対するユーザ入力追加を完了すると、ユーザ入力は入力パネル501に関連付けられた入力領域、この例では入力領域903、に転送される。詳細には、ユーザ入力は交信点402に関連付けられた入力領域903の範囲内の位置に転送される。その位置はこの場合、アクティブなソフトウエア・アプリケーションにより生成された挿入点904である。ユーザ入力はさらに、入力領域903に追加される前に、別の形に変換される。例えば、ユーザ入力が手書きインクである場合に、インクはテキストの形に認識され、認識されたテキストは入力領域903に追加される。示したように、ユーザの手書きが認識され、得られた手書きに相当するテキストが挿入点904で強調された語句「three」と置換わり、コンテンツ902の該当部分が「・・・within at least four、 but no more than five、 Years・・・」と読めるようになる。入力パネル501から認識されたユーザ入力を挿入すると、挿入点902は、今度は挿入されたコンテンツの後に位置し、標準テキスト・カーソルの形で示される。
【0044】
手書き認識は、必要に応じて様々な時点に自動で、または手動で実行される。例えば、手書き認識は、ユーザがユーザ入力の追加を完了した後にのみ呼び出されるか、またはユーザがユーザ入力を追加している間に自動的に実行される。ユーザが入力を追加している間に認識がおこなわれる場合、手書き認識は、各文字が書き込まれた後、または各語句が書き込まれた後に、自動的に実行される。手書き認識の結果得られるテキストは、ユーザが完了するのを待つことなくユーザがまだ入力を追加している間に、またはユーザが完了した後に、入力領域903に追加される。認識は、スタイラス204が、少なくとも一定時間、入力表面から持ち上げられるのに応答しておこなわれる。代わりに、認識は、ユーザからの手動のコマンド、入力モードの切換、および/または切換アプリケーションに応答しておこなってもよい。
【0045】
アンカー点502が固定される規則には、例外がある。例えば、挿入点904が、入力パネル501の下に移動される場合、入力パネル501は、挿入点904がユーザの目から隠されるのを十分に防止できる距離だけ移動する。挿入点は、入力パネル501の下に移動する場合もある。例えば、ユーザが書き込みをしている間に、入力パネル501へのユーザ入力の手書きが認識されて入力領域903に送られる場合である。
【0046】
図12は、インターネットのウェブ・ブラウザ・ソフトウエア・アプリケーションに結合した入力パネルを使用した別の例を示す。ブラウザ・アプリケーションは、ブラウザ・ウィンドウ1202を、現在閲覧中のウェブ・ページのコンテンツを表示するためのウィンドウ内のコンテンツ・ボックス1203に表示する。ブラウザ・アプリケーションは、さらに、ユニバーサル・リソース・ロケータ(URL)の形等の、ユーザ入力のインターネット・アドレスを受け入れるインターネットのアドレス入力ボックス1201を表示する。この実施例において、インターネットのアドレス入力ボックス1201は、入力パネルと交信するための入力領域である。別の入力領域1205が、コンテンツ・ボックス1203内に示されている。コンテンツ・ボックス1203内の任意の入力領域(単数又は複数)の存在および/または位置(単数又は複数)は、その時々に閲覧中の特定のインターネット・ウェブ・ページにより定義され、またそれに依存する。表示されるインターネット・ウェブ・ページはドキュメントと見なされ、一般的に、ドキュメントのタイプが、その中の任意の入力領域(単数又は複数)の存在および/または位置(単数又は複数)を定義する。
【0047】
挿入点(不図示)が、インターネット・アドレス入力ボックス1201内、またはその近傍に残っているときは、それに応答して呼出しターゲット(不図示)および/または入力パネル1024が現れる。この例において、ホバリング位置は、インターネットのアドレス入力ボックス1201内で、これはマージンMvtの外側になる。したがって、位置設定規則は、呼出しターゲットおよび/または入力パネル1204が、マージンMvtの上に表示されないことを確保するものでなければならない。特定の環境によっては、呼出しターゲットおよび/または初期に表示された入力パネル1204は、僅かな距離だけ下方に移動してこれを確保する必要がある。加えて、呼出しターゲットおよび/または入力パネル1204が表示される位置は、表示されることが予期される任意のオート・コンプリート・ドロップ・ダウンの影響を受けることがある。例えば、インターネット・アドレス入力ボックス1201が、推奨された完全なインターネット・アドレスのリストをドロップダウンするオートコンプリート機能を有する場合、呼出しターゲットおよび/または入力パネル1204の初期表示位置は、予期されるドロップ・ダウン・コンプリートリストの下端が表示される位置の下に表示されるよう調節される。
【0048】
また、交信点の位置がディスプレイから右方にどれくらい離れているかにより、呼出しターゲットおよび/または初期に表示される入力パネル1204は、左方に移動して、入力パネル1204の既定値初期サイズがマージンMhrを侵害しないことを確保しなければならない。ユーザは、スタイラス204を使用して、「www。microsoft.com」などのURLを書込む。この手書きURLが認識され、得られたテキストがインターネットのアドレス入力ボックス1201に追加される。それに応じて、そのURLに関連付けられたウェブ・ページが閲覧できる。交信点を入力領域1205(例えば、入力領域1205の内側)に関連付けておくと、得られた入力領域1205に送られるユーザ入力は、表示ウェブ・ページと交信し、および/または、表示ウェブ・ページを提供するリモートサーバに送られる。
【0049】
呼出しおよび取下げ
入力パネルは、入力領域上をホバリングするスタイラス204により呼び出されるものと説明してきた。しかしながら、入力パネル(入力パネル501または入力パネル1204等)は、様々の方法により呼び出される。例えば、入力パネルは、キーボード・コマンド、メニュー・コマンド、またはスタイラス204のジェスチャ等、ユーザのコマンドに応答して明確に呼び出される。スタイラスのジェスチャは、ホバリング、タップおよび/またはディスプレイ401に対するスタイラス204のドラッグ等、任意の型のジェスチャを含む。入力パネルは、先行する呼出しターゲットがあってもなくても呼び出される。
【0050】
さらに、入力パネルは、呼出しターゲットが最初に出現した後に呼び出されるものと説明した。しかしながら、呼出しターゲットは不要であり、入力パネルは、先行する呼出しターゲットがなくても呼び出される。これは、入力領域が現在空白であるか(ユーザ入力欠如)またはある一定の型のものである場合に特に有用である。したがって、いくつかの実施例においては、呼出しターゲットが正常に先ず出現し、呼び出された場合は、これに続いて入力パネルが出現するが、同一実施例の一定の状況においては、入力パネルは呼出しターゲット無しで呼び出される。例えば、入力パネルは、空白入力領域上をホバリングするスタイラス204に応答して、直ちに呼び出される。または、入力パネルは、電子メール中の空白の「To」、「From」または「Subject」入力領域上をホバリングする、またはそれに近接するスタイラス204に応答して、直ちに呼び出される。直ちに呼び出される入力パネルは、呼出しターゲット表示の後に呼び出される入力パネルと異なる。例えば、直ちに呼び出される入力パネルは、小さいかまたは一定の要素(キーボードボタン、モード切換ユーザ・インターフェース等)を欠くことがある。このより小さく単純な状態は、そのような状況では好適である。それは、このより小さく単純な入力パネルは、ユーザが実際に入力パネルを介した入力を開始することを望むという経験的推測に当てはまるからであり、このような場合にフルサイズの入力パネルを表示するのは、少し煩わしいからである。
【0051】
同様に、入力パネル(入力パネル501または入力パネル1204等)は、様々な方法により取り下げられる。例えば、入力パネルは、ユーザ呼出しのキーボード・コマンド、メニュー・コマンド、またはスタイラス204のジェスチャにより、明確に取り下げられる。この場合も、このようなジェスチャは任意の型のジェスチャでよい。いったん明確に閉鎖されると、呼出しターゲットおよび/または入力パネルは、同じ入力領域またはソフトウエア・アプリケーションと結合されて再び自動的に表示されることはない。しかしながら、フォーカスが変更されるか、またはスタイラス204が、現在フォーカスされている入力領域またはアプリケーション内の入力表面から除去されると、呼出しターゲットおよび/または入力パネルの自動呼出しは、その同じ入力領域と結合されて、再び実行される。
【0052】
ジェスチャに基づく取下げの1例において、スタイラス204が表示された入力パネルの外側(または、少なくとも所定の距離、1/2インチ等、だけ入力パネルの境界の外側)をホバリングしているときは、それに応答して入力パネルが取り下げられる。ダイアログ・ウインドウがユーザに、取下げを望むか否かを確認する機会を与える。この「ホバリング不在」取下げは、常に入力パネルを取り下げるか、またはスタイラス204が既に入力パネルの領域に入っているときだけ入力パネルを取り下げるかである。これは、意図しない取下げの発生を低減する。ジェスチャに基づく取下げの別の例は、入力表面の範囲からスタイラス204が外れるのに応答して、入力パネルが取り下げられる例である。この「範囲外」取下げは、常に機能するかまたは、入力パネルに対してユーザ入力が既に行われたときにのみ機能する。この場合も、後者は、意図しない取下げの低減に役立つ。「ホバリング不在」取下げおよび「範囲外」取下げもまた、それぞれ少なくとも最低タイムアウト時間の間スタイラス204が入力パネルから外れるか、または範囲外に出ることを必要とする。このタイムアウトは、約1秒またはそれ以上等、任意の時間でよい。
【0053】
さらに別の入力パネル取下げ方法は、入力パネルに関連付けられたソフトウエア・アプリケーションおよび/または入力領域を取り下げることである。この事態が起こると、まだソフトウエア・アプリケーションおよび/または入力領域に送付されていない入力領域内のユーザ入力はいずれも、消去されて送付されない。しかしながら、フォーカスを別のソフトウエア・アプリケーションに対しまたはシェルに対して単に変更することは、入力パネルに影響を与えない。これらは開いたまま残るが、再度選択されるまで、フォーカスの外にある。
【0054】
入力パネル・コンテンツ・フォーマット
入力パネルの例を、スタイラスを使用した手書きユーザ入力との関係でこれまで説明した。しかしながら、入力パネルは、キーボード入力および音声を含む各種のユーザ入力フォーマットを受け入れる。所望のユーザ入力の型にしたがって、入力パネルは異なる形式で表示される。例えば、フリー・スタイル手書きを望む場合、入力パネルは、空白であるか、または語句を書き込むための単一行を含む。文字毎の認識を望む場合、入力パネルは、一連のブロック等を、文字毎に1つずつ、図13に示すように表示する。入力パネルが拡張するにつれて、追加の文字ブロックが表示される。キーボード入力を望む場合、入力パネルは、キーボードのアイコンを表示するか、または文字入力に使用するグラフィカル交信キーボードさえ表示する。入力パネルは1つまたは複数のボタンを含み、または別のコントロール1301により、ユーザは、どの型の入力パネルを表示するか手動で選択することができる。例えば、ボタン1301により、ユーザは、キーボード、フリー・スタイル手書き、および文字毎(ブロック・スタイル)のコンテンツ入力パネルの間で、選択することができる。代わりに、ユーザは入力パネルコンテンツの型を呼出しターゲットから選ぶこともある。
【0055】
多言語対応
ここまで、入力パネルを、ユーザ入力は、行を左から右に横書きし、次にこれらの行を上から下に書く英語などの言語であると仮定して説明した。この場合、入力パネルは英語を書くように、右方に拡張し、次に下方に拡張する方法に一致するのが望ましい。しかしながら、全部の言語がこの方法で書かれる訳ではない。例えば、ヘブライ語は、行を右から左に横書きし、次に行を上から下に書く。伝統的中国語は、行を上から下に縦書きし、次にこれらの縦行を右から左に書く。したがって、入力パネルは、前述とは異なる方向に拡張るのが望ましい。例えば、ユーザがヘブライ語で書くときは、入力パネルは先ず左方にマージンMhlに達するまで伸び、次に各行が必要であれば、下方にマージンMvbに達するまで拡張する。入力パネルの右上端は固定されたままで、アンカー点は右端と上短の交点となる。またヘブライ語の場合、境界606は、左境界となる。または、ユーザが中国語を書く場合は、入力パネルは先ず下方にマージンMvbに達するまで拡張し、次に必要であれば各縦行が左方にマージンMhlに達するまで拡張する。入力パネルの右上端はこの場合も固定されたままである。一般的に言うと、入力パネルは、考えられる4つの方向のうち2つの方向に拡張し、他の2つの方向では固定されたままである。
【0056】
使用される特定の言語は、入力パネルが作成されるコンテキスト、ユーザ・コマンド、オペレーティング・システム、入力パネルに関連付けられた入力領域、および/または現在フォーカスしているソフトウエア・アプリケーションに依存する。ボタン1301により、ユーザはさらに、手動で言語を選ぶことができる。言語はさらに、呼出しターゲットと交信を通じても選択される。入力パネルの拡張方法およびユーザの手書き認識方法は共に、選択する言語によって決まる。
【0057】
まとめ
このように、スタイラス・ベースおよびその他のコンピュータ・システムにおける有用で便利なユーザ入力の追加方法を説明した。書き込まれまたはタイプされるユーザ入力を受領するため特に効率の良いオンデマンドの方法で動的に拡張する入力パネルについての説明である。この入力パネルは、書き込まれまたはタイプされるユーザ入力に対する容易なアクセスを、エンドユーザが必要とする時と場所に提供する一方で、使用される高価な画面「不動産」の量を削減かつ極小化し、オペレーティング・システムまたはソフトウエア・アプリケーションにより表示される別の要素を不明瞭にする可能性を軽減し解消する。
【0058】
ここに記述するような本発明の各種態様を具現する器具および方法は、説明のために示すものであるが、本発明がこれらの特定の実施例に制限されるものでないことは理解されるであろう。当業者は、特に前述の技術を踏まえて、変更を加えるであろう。例えば、前述の実施例の1つまたは複数の要素は、単独でも、または別の実施例の1つまたは複数の要素と併せて利用することができる。また、開示の一部はマイクロソフトWINDOWS(登録商標)ブランド・オペレーティング・システムとの関連で記述しただ、別のグラフィカル・ユーザ・インターフェイスを基礎とするオペレーティング・システムなど、別のオペレーティング・システムも使用されることは理解される筈である。加えて、本発明は添付請求項を使用して定義されているが、考案された発明はここに記述する要素およびステップを任意の組合せまたは小組合せにより含むので、これらの請求項はまた、説明的である。本発明の精神と範囲を逸脱することなく変更を加えられることもまた評価し理解されるであろう。
【図面の簡単な説明】
【0059】
【図1】本発明の少なくとも1つの態様によって使用される具体的コンピューティング環境の機能的ブロック図を示す。
【図2】本発明の少なくとも1つの態様によって使用される説明用コンピューティング環境の平面図を示す。
【図3】本発明の少なくとも1つの態様によって実行される説明用ステップのフローチャートを示す。
【図4】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図5】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図6】本発明の少なくとも1つの態様にかかる、具体的入力パネルを示す。
【図7】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図8】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図9】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図10】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図11】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図12】本発明の少なくとも1つの態様により、入力パネルがインターネット・ウェブ・ブラウザのソフトウエア・アプリケーションと関連して使用される様相を示す画面である。
【図13】本発明の少なくとも1つの態様にかかる、具体的入力パネルを示す。
【技術分野】
【0001】
本発明の態様は、一般的にコンピュータ・システムにおけるユーザ入力インターフェースの改良、さらに詳細には、ユーザの書き込みまたはタイプに応じてオンデマンド・ベースで動的に拡張する入力パネルの提供を意図するものである。
【背景技術】
【0002】
ユーザ入力装置およびインターフェースは、コンピューティング装置についての新たなタイプの要求を満たすように急速に発展している。最近では、タブレット・ベースのパソコンおよびハンドヘルド・コンピュータが普及しつつある。これらの装置は典型的に、その面上のスタイラスの動きを電子インクに変換する書き込み面を有する。このインクは、認識してテキストに変換するか、または電子インク・フォーマットに格納することができる。
【0003】
例えば、Microsoft Windows XP(登録商標)のタブレットPC版のオペレーティング・システムは、テキスト入力パネルとも呼ばれるデータ入力ユーザ・インターフェース、タブレットPC入力パネルまたは「TIP」を提供し、これを通して、ユーザはスタイラスを使用してデータをコンピュータに入力することができる。このタイプのユーザ・インターフェースは、データ入力グラフィカル・ユーザ・インターフェイスの広いカテゴリーに入るので、データ入力パネルと呼ぶことができる。データ入力パネルの中には、従来のキーボード面の文字を表示する「ソフト」キーボード面を備えるものもある。この型のキーボードにおいては、ユーザがスタイラスを用いてキーの表示部を叩くと、コンピュータはそのキーに関連付けられた文字を入力データとして受け取る。別のタイプのデータ入力パネルは、特有の入力表面を持つことがある。例えば、ユーザ・インターフェースの中には、東アジア語表記の文字を受け取るためレターサイズの書き込み面を複数備えるものもある。
【0004】
これらのタイプのデータ入力パネルは、スタイラス入力デバイスを採用するコンピュータの有用性を向上させるが、従来のデータ入力装置に関連付けられたいくつかの不便な点が、いまだに存在する。例えば、データ入力パネルは、難しく不便な方法で、ユーザによって通常、一般的に、特に呼び出さなければならない。データ入力パネルを使用してデータをアプリケーションに入力するため、ユーザはアプリケーションの外部から手動でデータ入力パネルを起動する。しかしながら、コンピュータ・ユーザの多くは、データ入力パネルに慣れておらず、このリソースを見過ごすかまたは呼出し方法を知らないため、このようなリソースを、初心者ユーザから実質的に隠された状態にしてしまう可能性がある。
【0005】
さらに、データ入力パネルは、アプリケーションとは別に呼び出されるグラフィカル・ユーザ・インターフェイスなので、通常、アプリケーションとは別個に表示される。状況によっては、表示されているアプリケーション自体に、重ねてユーザ・インターフェースが表示されることもある。この配置により、ユーザは、アプリケーション内の保存先の近くにデータを入力することができるが、ユーザ・インターフェースが不用意に保存先またはその隣接部を見にくくしてしまうことがある。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、ユーザ・インターフェースが当初入力データの所望の保存先を見にくくしていない場合でも、ユーザは、新たなデータがアプリケーションに入力されるにつれて、絶えずユーザ・インターフェースの位置を変更し、ユーザ・インターフェースが、そのデータの新たな挿入点を見にくくするのを防止する必要がある。さらに別のタイプのデータ入力パネルを用いると、ユーザ・インターフェースがアプリケーションの下の空間に「ドッキング」される。データ入力パネルをこのように配置すると、ユーザが、新たなデータのための所望の保存先を確認する妨げにならないのは確実であるが、スタイラスを、アプリケーションとデータ入力パネルとの間で絶えず前後に動かして、アプリケーションの制御と、アプリケーションへのデータ入力とを共におこなうことは、ユーザに取って極めて煩雑である。
【課題を解決するための手段】
【0007】
本発明の態様は、ユーザが、あまり煩わしくない方法で、容易にかつ効率的にユーザ入力を入力することを可能にする。初心者ユーザにも容易に見つけられ、ユーザ側の操作がほとんど必要なく、効率良く使用することが可能な入力パネルが提供される。この入力パネルは、ユーザに関心のある重要な表示要素が見にくくなる可能性を低減しながら、手書き入力、キーボード入力、およびその他のユーザ入力に対して、ユーザの必要な時と場所で、容易なアクセスを提供する。
【0008】
本発明のさらなる態様は、入力パネルが好適な位置に出現することおよびユーザ入力に対応するように動的に拡張することを意図している。入力パネルは、右方および下方等の、1方向または2方向に拡張することができし、他の2つの方向(上方及び左方)には拡張しない。これは特に、英語などの言語を入力パネルに書き込みまたはタイプする場合、例えば、言語を水平行の右方に向って書き込み、続いて下方の次の行へと書き込む場合に、特に有用である。入力パネルが拡張する方向(単数又は複数)は、選択した言語によって変わる。
【0009】
本発明のさらなる態様によると、入力パネルは、所定の一定のマージンを保って拡張する。例えば、入力パネルはディスプレイの端部から一定のマージン距離の位置まで拡張する。これは、ディスプレイの端部近くにあって、有効に機能することの多いユーザ・インターフェース要素の利用性を保護する。
【0010】
本発明のさらなる態様は、便利で直観的な入力パネルの呼出しと取下げを意図する一方で、呼び出していない入力パネルが出現したり、必要な入力パネルを不注意に消失したりする可能性を少なくする。
【0011】
本発明のこれらおよびその他の態様は、以下の記述、図面、および請求項を読むことにより当業者には明らかである。
【発明を実施するための最良の形態】
【0012】
前述の課題を解決するための手段は、具体的実施例に関する以下の詳細な記述と同様に、添付図面と共に読むことにより、より深く理解できる。これらの図面は、例示する目的で含まれているのであり、請求する発明に関して制限を加えるものではない。
【0013】
典型的コンピューティング環境
図1は、従来の汎用デジタル・コンピューティング環境であって、本発明の各種態様を実施するために使用することのできる、コンピューティング環境の機能的ブロック図である。図1において、コンピュータ100は、処理ユニット110、システム・メモリ120および、システム・メモリを含む各種システム・コンポーネントを処理ユニット110に結合するシステム・バス130を含む。システム・バス130は、数種類あるバス構造の型のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および各種バスアーキテクチャのいずれかを使用するローカルバスを含む。システム・メモリ120は、読み取り専用メモリ(ROM)140およびランダム・アクセス・メモリ(RAM)150を含む。
【0014】
コンピュータ100内のコンポーネント間の情報転送を補助する、基本ルーチンを含む基本入出力システム160(BIOS)は、起動中などには、ROM140内に格納される。コンピュータ100はまた、ハードディスク(不図示)に対する読み取りおよび書き込みのためのハードディスク・ドライブ170、リムーバブル磁気ディスク190に対する読み取りおよび書き込みのための磁気ディスク・ドライブ180、およびCD-ROMまたはその他の光媒体等のリムーバブル光ディスク192に対する読み取りおよび書き込みのための光ディスク・ドライブ191を含む。ハードディスク・ドライブ170、磁気ディスク・ドライブ180、および光ディスク・ドライブ191は、それぞれハードディスク・ドライブ・インターフェース192、磁気ディスク・ドライブ・インターフェース193、および光ディスク・ドライブ・インターフェース194によりシステム・バス130に結合される。ドライブとそれに関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールおよびその他のデータの不揮発性ストレージを個人用コンピュータ100のため提供する。磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)等、コンピュータがアクセスすることのできるデータを格納することのできるコンピュータ可読媒体の、その他の型も、例示のオペレーティング環境において使用できることを、当業者が理解するのは当然である。
【0015】
多数のプログラム・モジュールは、ハードディスク・ドライブ170、磁気ディスク190、光ディスク192、ROM140またはRAM150内に、オペレーティング・システム195、1つまたは複数のアプリケーション・プログラム196、その他のプログラム・モジュール197、およびプログラム・データ198を含めて、格納することができる。ユーザは、キーボード101およびポインティング・デバイス102等の入力装置を介して、コマンドと情報をコンピュータ100に入力することができる。その他の入力装置(不図示)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれる。これらおよびその他の入力装置は、システム・バスに結合されるシリアル・ポート・インターフェイス106を介して処理ユニット110に結合されることが多いが、パラレル・ポート、ゲームポートまたはユニバーサル・シリアル・バス(USB)等の、別のインターフェースを介して結合してもよい。さらに、これらのデバイスは、適切なインターフェース(不図示)を経由してシステム・バス130に直接結合してもよい。モニタ107または別の型の表示装置も、ビデオ・アダプタ108等のインターフェースを介してシステム・バス130に結合してよい。モニタに加えて、個人用コンピュータは典型的に、スピーカおよびプリンタなど別の周辺装置(不図示)を含む。好適実施例においては、ペン・デジタイザ165および付属のペンまたはスタイラス166が、フリー・ハンド入力をデジタルに捕捉するために設けられている。ペン・デジタイザ165とシリアルポートとの間の直接結合が示されているが、実際においては、ペン・デジタイザ165は、公知の技術のようにパラレル・ポートまたは別のインターフェースおよびシステム・バス130を介して、処理ユニット110に直接結合してもよい。さらに、デジタイザ165は、モニタ107から分離して示されているが、デジタイザ165の使用可能な入力領域は、モニタ107の表示領域と同じ広さであることが好ましい。さらに、デジタイザ165はモニタ107と一体化しても、またはモニタ107から分離した装置として重ねるか、付加してもよい。
【0016】
コンピュータ100は、リモート・コンピュータ109等の、1つまたは複数のリモート・コンピュータに対し、論理接続を使用するネットワーク環境内で作動することができる。リモート・コンピュータ109は、サーバ、ルータ、ネットワークPC、ピア・デバイスまたは他の普通のネットワーク・ノードであることがあり、典型的に上述の要素の多くを、または全部をコンピュータ100に関連して含むが、図1にはメモリ・ストレージ・デバイスのみを示す。図1に示した論理接続には、ローカル・エリア・ネットワーク(LAN)112および広域ネットワーク(WAN)113が含まれる。このようなネットワーク環境は、オフィス、企業規模コンピュータ・ネットワーク、イントラネットおよびインターネットでは普通のことである。
【0017】
LANネットワーク環境で用いるとき、コンピュータ100は、ネットワーク・インターフェイスまたはアダプタ114を介してローカル・ネットワーク112に結合される。WANネットワーク環境で使用される場合、個人用コンピュータ100は、インターネット等の広域ネットワーク113上に通信を設定するための、典型的にはモデム115または他の手段を含む。内蔵または外付けのモデム115は、シリアル・ポート・インターフェイス106を経由してシステム・バス130に結合される。ネットワーク環境において、個人用コンピュータ100、またはその部分に関連して示されているプログラム・モジュールは、リモート・メモリ・ストレージ・デバイス内に格納してもよい。
【0018】
示したネットワーク接続は具体例であって、コンピュータとの間に通信リンクを設定するために、他の技術を使用するこができるのは明らかである。TCP/IP、イーサネット(登録商標)、FTP、HTTP等の、各種の公知プロトコルのうちいずれかの存在が推定され、システムはクライアント−サーバ構成内で動作し、ユーザはウェブ・ページをウェブ・ベースのリモート・ウェブ・サーバから取り出すことができる。任意の従来の各種ウェブ・ブラウザを使用してウェブ・ページ上のデータを表示し操作することができる。
【0019】
図2は、本発明の各種態様にかかる使用が可能な、スタイラス・ベースのコンピュータ処理システム(タブレットPCとも呼ばれる)201の1例を示す。図1のシステムの特徴、サブ・システム、および機能のいずれかまたは全部を、図2のコンピュータに含むことができる。タブレットPC201は、大型表示面202、例えば、デジタル化フラット・パネル・ディスプレイ、好適には、液晶ディスプレイ(LCD)またはOLEDスクリーン、プラズマ・ディスプレイ等を含み、その上に複数のウィンドウ203が表示される。スタイラス204の先端(先端はここで「カーソル」とも呼ぶ)を用いて、ユーザは、デジタル化表示領域上で選択、強調、書き込みをおこなうことができる。適切なデジタル化表示パネルには、Mutoh(登録商標)またはWacom(登録商標)ペン・デジタイザなど、電磁式ペン・デジタイザが含まれる。別の型のペン・デジタイザ、例えば、光デジタイザを使用してもよい。タブレットPC201は、スタイラス204を使用して作成されるマークを、データの操作、テキストの入力、および、表計算、文書処理プログラム等、従来のコンピュータ・アプリケーションタスクを実行するために解釈する。
【0020】
スタイラス204には、ボタンまたはその他の特徴を装備してその選択能力を補強してもよい。一実施例においては、スタイラスを「鉛筆」または「ペン」として実施するが、この場合、スタイラスの一端は筆記部を構成し、他端は、ディスプレイの中で動かすとき、ディスプレイのその部分を消すことを意味する「消しゴム」を構成する。マウス、トラックボール等、別の型の入力装置も使用することができる。さらに、タッチ・センシティブおよび/またはプロキシミティ・センシティブ機能のディスプレイ上では、ユーザ自身の指を、表示画像の部分を選択や指示するために使用することができる。その結果、この中で使用する用語「ユーザ入力装置」は、広範な定義をも持つことが意図されており入力装置に関する多数の変形を包含する。
【0021】
入力パネル拡張挙動
図3を参照すると、ステップ301において、コンピュータ(例えば、コンピュータ100または201など)は、ユーザ入力装置(例えば、スタイラス166又は204など)の位置を入力表面(デジタイザ105またはディスプレイ面202)に対して点検する。ユーザ入力装置は、以下の実施例においては具体例としてスタイラス204であると考える。しかしながら、マウス102等、いかなるユーザ入力装置を使用してもよい。ステップ302において、コンピュータは、スタイラス204の位置に基づいて、スタイラスが入力領域上でホバリングしているか否か、およびスタイラス204が有効「入力領域」上をホバリングしているか否かを、判定する。用語「ホバリング」は、スタイラス204(詳細には、例えばスタイラス204の先端など)が、入力表面に近接しているが物理的に接触はしていないことを意味する。閾値に基づく判定をおこなってもよい。例えば、コンピュータは、スタイラスの先端が入力表面から所定の直交距離の範囲内にあるか否かを判定する。そうであるときは、スタイラスはホバリングしている。そうでないとき(例えば、スタイラス204が入力表面から遠く離れ過ぎているか、または入力表面に接触しているとき)は、スタイラス204はホバリングしていない。
【0022】
用語「入力領域」は、ディスプレイまたはユーザ入力表面の領域であって、有効ユーザ入力を受け入れる領域を意味する。任意の所定の時期に、1つまたは複数の入力領域があってもよく、これらの入力領域は、時間の経過につれて変化、移動、出現、および消滅する。どの領域が入力領域であるかは、実行しているアプリケーション、実行しているオペレーティング・システム、注目しているアプリケーション(即ち、ユーザが現在積極的に交信しているアプリケーション)および/または別の要因によって定まる。入力領域は典型的に、タイプされたテキストをキーボードから受け入れ、および/またはスタイラスからの手書きインクを受け入れる。いくつかの実施例において、唯一の入力領域は、何処であれ現在「システム・キャレット」が位置している場所、または少なくともシステム・キャレットの周辺および近傍で、所定の領域でもよい。システム・キャレットは、ユーザが、現在作業中の挿入点である。挿入点は、点滅テキスト・カーソル等のカーソルを介して、ユーザに示される。別の「カーソル」も存在して、スタイラス204(又は、マウス102等の入力装置)が交信するディスプレイ上の位置(例えば、その上をスタイラス204がホバリングしているディスプレイ上の位置、またはスタイラス204が接触しているディスプレイ上の位置など)を示す。挿入点を示すカーソルは、スタイラス204の交信ポイントを示すカーソルと必ずしも一致しない。
【0023】
ステップ303において、スタイラス204がホバリングしていない場合は、表示されている呼出しターゲットがあれば(後述のように)表示から削除する。このときコンピュータは再度ステップ301でスタイラス204がホバリングしているか否かを点検する。このループは、スタイラス204がホバリングしていると判定されるまで繰り返される。この状態になると、ステップ304において、スタイラス204が所定のタイムアウト時間だけホバリングしたか、または選択され表示されている呼出しターゲットがあるかを判定する。呼出しターゲットは、例えば、マウス102のボタンで呼出しターゲットをクリックする、スタイラス204で呼出しターゲットを叩く、呼出しターゲットの上をホバリングする、またはコンピュータまたはスタイラス204の上のボタンを押すことなどにより選択する。これらの判定のいずれも生じない場合は、ステップ305において、呼出しターゲットを表示し(または既に表示されている場合、表示を続ける)、コンピュータはスタイラスがホバリングしているか否かをステップ301と302で点検する。呼出しターゲットは、スタイラスが入力表面の適切な領域上でホバリングを開始した直後、または遅延時間の経過後に表示される。ステップ304は、タイムアウト判定と呼出しターゲット選択判定の双方を含んでも、またはこれら2つの判定のうち1つのみを含んでもよい。この具体実施例は、スタイラス204がホバリングに応答して呼出しターゲットを表示するように説明しているが、呼出しターゲットは、スタイラス204が実際に入力表面に接触するのに応答する、またはスタイラス204の他のジェスチャに応答する等、別のユーザ入力に応答して表示してもよい。ここで言うホバリングは、具体的なユーザ入力としての表現に過ぎないことが理解できる。
【0024】
「呼出しターゲット」は、入力パネルの利用が可能であり、呼出しが可能であることをユーザに知らせる表示である。呼出しターゲットは、ユーザに対する視覚的および/または聴覚的表示であって、ディスプレイに示されるアイコン、警告音またはクリック音などの可聴音、または変更カーソルなどでよい。呼出しターゲット403の例を図4に示す。呼出しターゲット403は、ディスプレイ401の上の所定の位置(入力表面の一部でよい)に表示されるか、またはスタイラス204がホバリングするディスプレイ401上の、または別にディスプレイ401と交信する位置402(「交信点」402)によって定まる位置に表示される。例えば、呼出しターゲット403は、交信点402から所定の距離だけ離れた位置に表示してもよい。代わりに、呼出しターゲット403は、アクティブ入力領域にある挿入点の位置によって定まる位置に表示してよい。例えば、呼出しターゲット403は、挿入点から所定の距離だけ離した位置に表示してよい。示した実施例において、呼出しターゲット403は、呼出しターゲット403の交信点402に最も近い端部が、ディスプレイ401の上で水平方向に距離Xだけ、および垂直方向に距離Yだけ離れた位置に表示されている。この場合、XとYの値は、同じでも相違していてもよいし、また正でも負でもよい。この例において、示された「X」、「Y」および破線は、実際には表示されず、説明のためのみに含まれていることに注意しなければならない。距離Xと距離Yは、1/4インチ以下、約1/3インチ、または約1/2インチ以上など、任意の値でよい。
【0025】
呼出しターゲット403は、示すように四角の中に「X」印であるが、これは単なる1例に過ぎない。呼出しターゲット403は、ユーザに対し、アイコン、アニメーション、画像、テキスト、および/または任意の他のタイプの視覚要素(単数又は複数)等、どのような形のものでもよい。また、呼出しターゲット403は矩形で示されているが、円形、正方形、三角形、および/または他の任意の幾何形状又は非幾何形状等、任意の形状でもよい。
【0026】
上述のように、ユーザのスタイラス204は、タイムアウトになるまでの期間ホバリングしてもよいし、またはユーザが呼出しターゲット403を選択してもよい。ユーザは、呼出しターゲット403を、表示された呼出しターゲット403をスタイラス204で叩くなど、様々な方法のいずれを選択してもよい。ステップ304に示したアクションのいずれかが発生すると、これに応答してステップ306において入力パネルがユーザに提示される。入力パネルは、スタイラス204からの電子インク入力、キーボードからのタイプ書き込み入力、および/またはその他の入力など、ユーザ入力を受けることができる。
【0027】
表示された入力パネル501の例を図5に示す。入力パネル501は呼出しターゲット403に代わって表示されるか、または呼出しターゲット403に追加して表示される。入力パネルは、アンカー・ポイント502を含む。アンカー・ポイントは表示されることもされないこともある。入力パネル501は、そのアンカー・ポイント502を所定の位置に持つ位置、または交信点402によって定まる位置、および/または呼出しターゲット403の位置等、ディスプレイ401上の任意の位置に表示してもよい。示した例では、入力パネル501は、入力パネル501により置き換えられる前に予め表示されていた呼出しターゲット403の位置と同じ、またはほぼ同じ位置に表示されている。
【0028】
戻って図3を参照すると、ステップ307において、入力パネル501はユーザ入力として、テキスト、インク、画像、音声(例えばスピーチ)等、所望の任意の型のコンテンツを受け取る。しかしながら、開示する実施具体例における入力パネル501は、主としてテキスト、インク、および/または音声内容を受け取るものと見なされる。この理由は、入力パネル501は、一定の実施例において、重要な入力を、文書処理アプリケーション等の、現在実行されているアプリケーションに入力するために受け取るテキスト入力パネルであると考えられるからである。図5から分かるように、文字「abc」が手書きインクでコンテンツとして入力パネルに501に書き込まれている。これは、例えば、スタイラス204を使用して入力面上に、さらに詳細には、入力パネル501に対応する入力表面の部分に「abc」と書くことによりおこなわれる。
【0029】
図3で、ステップ308において、コンピュータは、ユーザ入力が入力パネル501の境界に近い位置にあるかまたは接触しているか否かを点検する。入力パネル501の境界は、入力パネル501の目に見える縁部と同じ広がりでよく、入力パネル501の目に見える範囲内、および/または目に見える範囲を超えて広がることができる。例えば、右境界は、入力パネル501の右側の目に見える縁部と同一であるか、または右境界は、右側の目に見える縁部の左に所定の距離を置いた位置でもよい。図6は、入力パネル501の右端602の左にある右境界606の例を示す。しかしながら、境界606は、右端602と同じ位置でもよい。入力パネル501の上端601、左端605および下端603も示されている。
【0030】
図7は、入力パネル501の境界近くにあるか、またはそれに接触するユーザ入力に応答して生じる様相を示す。図7は、「上」、「下」、「左」および「右」の方向も示す。これらの具体的方向は、本明細書を通じ一貫して使用し、本発明の態様の説明に役立てる。これらはユーザがディスプレイ401を見る際にユーザの観点から評価される。示した方向矢印と方向テキストは必ずしもディスプレイ401の上に表示されないが、単に説明のために示す。ここで用いる方向は、ディスプレイ401に関してのものであり、必ずしも地球重力の引力に関係するものではなく、それを意味するものでもない。例えば、ディスプレイ401を机上で横にする場合でも、示すような「上」方は、ディスプレイ401に関しての「上」方である。
【0031】
示したものから分かるように、当初「abc」のユーザ入力が、今は「abc def ghi jkl mno pqr」と読めるように変更されている。このユーザ入力は、図5に示すような入力パネル501には収容しきれないので、入力パネル501が自動的に拡張してユーザ入力に対応している。この実施例においては、入力パネル501の境界近くにあるかまたはそれに接触するユーザ入力に応答して、入力パネル501が、その目に見える右辺602および/または右境界606を、ユーザ入力の必要に応じて、動的に拡張している。例えば、ユーザ入力が「abc def ghi」のみであるときは、入力パネル501の右方への拡張は、図7に示したものより少ない。リアル・タイムで、ユーザ入力が右方に進むにつれ、入力パネル501は右方への拡張を継続する。しかしながら、入力パネル501の右方への拡張には制限がある。物理的限界はディスプレイ401の境界である。入力パネル501は、さらに人為的に右方への拡張を制限される。例えば、入力パネル501は、ディスプレイ401の右境界から、所定の水平右マージンMhrまで右方に拡張できる。このマージンMhrは、絶対距離として、またはディスプレイ401の大きさの百分率として定めることができる。例えば、Mhrは、約1/4インチ、約1/2インチ、約1/4インチと約1/2インチとの間、ディスプレイ401境界幅の約3%、ディスプレイ401境界幅の約5%、またはディスプレイ401境界幅の約3%と約5%との間等である。しかしながら、Mhrは別の値でもよい。拡張する過程を通じて、アンカー点502は、固定されたままである。これは、入力パネル501の上端601と左端605もまた固定されたままであることを意味する。
【0032】
このように、図3に戻ると、ステップ309において入力パネル501が、まだ完全に右方にこの限界まで拡張していないときは、ステップ310において入力パネル501を右方に拡張し、ステップ307においてさらにユーザ入力の受け入れを継続する。入力パネル501は徐々に右方に拡張する。拡張する大きさは一定でもよいし、またはユーザ入力にしたがって変動してもよい。拡張する大きさが固定されている場合は、その大きさは約1.5インチ、または約1.75インチ、あるいは約2インチ、またはこれらの値より大きくても小さくてもよい。
【0033】
他方、ステップ309において、入力パネル501が既にその右方の限界に達していると判定されるときは、入力パネル501はステップ312において別の方向に拡張する。示した実施例において、別の方向とは下である。このとき、入力パネル501は、ステップ307において、さらにユーザ入力の受け入れを継続する。図8は、入力パネル501がその右方の限界に達して、ユーザが入力パネル501にユーザ入力を継続するとき生じる様相を示す。この場合、ユーザ入力は、今や増加して「abc def ghi jkl mno pqr stu vwx yz1 234」となっている。このユーザ入力全体は、図7に示すような入力パネル501には収容しきれないので、入力パネル501は自動的に下方に拡張して、追加のユーザ入力を収容する。言い換えると、入力パネル501の下端603は、インク動作の右方への伸長に応答して、下方に移動している。入力パネル501のこの右方および下方への拡張は、インクが書き込まれている間にリアル・タイムで生じる。右マージンMhrは依然として保たれていることに注意すべきである。下方への拡張は、右方への拡張が入力パネル501を右方のマージンMhrまで完全に拡張した後にのみ、開始される。また、少なくともある程度の下方への拡張が、入力パネル501の右方への完全な拡張に先立って、それがマージンMhrまで拡張する前に生じる場合もある。さらに、少なくともある程度の下方への拡張が、右方への拡張と同時に生じることもある(これは事実上、ユーザには斜め方向への拡張に見える)。
【0034】
しかしながら、本実施例において、入力パネル501は、下方にまだ完全に拡張していない場合にのみ、下方に拡張することができる。したがって、ステップ311において入力パネル501が、まだ完全に下方に拡張していない場合、徐々に拡張する。例えば、入力パネル501は、所定のインクリメントだけまたは、ユーザ入力にしたがって拡張する。一実施例においては、下方のインクリメントな拡張量は、約1.5インチ、または約1.75インチ、あるいは約2インチ、またはこれらより大きくても小さくてもよい。別の実施例においては、下方のインクリメントな拡張量は、ユーザ入力に以前に書き込まれた手書きまたは垂直文字の垂直サイズにしたがって変動する。追加されるユーザ入力文字が同様のサイズであるとの予測から、以前に書き込まれた文字が大きいほど、下方のインクリメントが大きくなる。
【0035】
他方、ステップ311において判定するように、入力パネル501が既に最大下方限界まで拡張しているときは、入力パネル501はそれ以上拡張しない。しかしながら、入力パネル501はユーザ入力の受け入れを継続する。下方の拡張の限界は、ディスプレイ401の下方境界により制限される。下方の拡張の限界は、さらに理論上存在する垂直下端マージンMvbにより制限される。マージンMVbはマージンMhrと同様の方法で判定してよい。
【0036】
この点で、この実施例におけるアンカー点502は、図5、7および8を通じてディスプレイ401上の、同一の固定位置に定着し続けることに注意しなければならない。これは、入力パネル501が、右方および/または下方に完全に拡張している場合にも言える。いくつかの実施例において、ユーザは手動で(ドラッグ・アンド・ドロップなどにより)アンカー点を移動して、入力パネルの拡張のためのスペースをさらに作ることができる。アンカー点502は、入力パネル501の上境界と左境界の交点を表す。しかしながら、アンカー点502は、入力パネル501の上境界と右境界の交点など、入力パネル501の別の境界の組合せの交点を表すこともある。アンカー点502が入力パネル501の上境界と左境界の交点を表す例に戻ると、入力パネル501の上境界と左境界は、アンカー点502に沿って固定されたまま維持される。したがって、入力パネル501が右方および下方の双方向に完全に拡張すると、入力パネル501はそれ以上拡張することができない。さらに説明するように、アンカー点502が、境界のどの交点を表すかは、入力パネル501に書き込みまたはタイプされることが予定される言語によって決まる。
【0037】
入力パネル501が、それ以上どの方向にも拡張することができない点(すなわち、ステップ311の判定結果が「yes」)に達しても、ユーザは、入力パネル501により画定される既存の領域に、ユーザ入力の追加を継続、および/または既存のユーザ入力の編集を継続する。それ以上入力パネル501を拡張することができなくなると、入力パネル501はそれに応答して、さらなるユーザ入力を可能にするため、1つまたは複数のスクロール・バーを水平および/または垂直方向に作成してもよい。しかしながら、実施例によっては、インターフェースと入力パネル501との関係はできるだけ単純に保つのが望ましいので、この例の場合、スクロール・バーは有効ではない。
【0038】
水平左マージンMhlおよび垂直頂部マージンMvtを図8に示す。これらのマージンは、入力パネル501がこれらのマージンを越えることができないように使用される、理論上のマージンである。いくつかの実施例においては、アンカー点502は決してマージンMhlの左にも、またマージンMvtの上に置くこともできない。これは、交信点402がある場所にかかわらず言えることである。入力パネル502が表示されるべき位置を定義する規則はいずれも、入力パネル502が、初期においても入力パネル502が拡張している間も、マージンMhl、Mhr、Mhb、Mhtの外側に位置することのないことを確保できるものでなければならない。必要に応じて、前述とは別の使用をする際の入力パネル502の初期設定位置は、入力パネル502がこれらのマージンを侵害しないことが確実な範囲の値だけ変更してもよい。既定配置規則で、呼出しターゲットおよび/または入力パネルがマージン範囲内に位置する結果にならない場合は常に、呼出しターゲットおよび/または入力パネルは、できるだけ小さい移動で、マージンを侵害することなく既定位置にできるだけ近付くようにしてよい。
【0039】
入力パネルと入力領域の交信
入力パネル501の使用方法の例を図9〜11に示す。図9において、ディスプレイ401は、文書処理アプリケーション、表計算アプリケーション、インターネット・ウェブ・ブラウザ、または電子メール・プログラム等の、オープン・ソフトウエア・アプリケーションのグラフィカル・ユーザ・インターフェイス901を示すが、これらに限らない。このソフトウエア・アプリケーションは、コンテンツ902を表示することができ、このコンテンツはこの例示ではテキストであるが、他のコンテンツでもよい。コンテンツ902に対しては、それに対する編集、削除、または追加などにより交信することができる。したがって、この特定の実施例においては、コンテンツ902を含むディスプレイ401上の領域903(破線により示すが、必ずしも表示する必要はない)が、前に定義するような入力領域と考えられる。スタイラス204は、ディスプレイ401上に交信点402により示される領域で(または、入力表面がディスプレイ401と同一ではない場合に、ディスプレイ401上の交信点402に対応する入力表面の一部の上で)ホバリングする。交信点402は入力領域903の範囲内にあるので、呼出しターゲット、および結局は入力パネル501が前述のように表示される。交信点402が入力領域903の外側(及び任意の入力領域の外側)に位置する場合、呼出しターゲット、および入力パネル501は、表示されない。したがって、呼出しターゲット、および/または入力パネルが表示されるか否かは、入力領域に対する交信点402の位置によって決まる。入力領域は、現在実行されているオペレーティング・システムおよび/またはアプリケーション・ソフトウエアによって定義される。
【0040】
この例において、入力パネル501は、入力領域903と関連付けられており、初期にはユーザ入力とコンテンツは欠如している。入力パネル501は、詳細には入力領域903内の挿入点に関連付けられている。典型的に、アプリケーション、またはアプリケーションをホストするシステム(オペレーティング・システム等)は、入力装置により作成されるデータが入力領域903等のコントロールに挿入される挿入点を備える。例えば、アプリケーションは、挿入点を表示して、入力装置により作成されるデータを挿入する位置を示す。テキスト用の挿入点は、典型的に、点滅する縦線のカーソルとして表示される。挿入点の位置は、従来から1つまたは複数の入力装置により制御される。挿入位置はさらに置換可能なテキストの選択である。ユーザがテキストの選択を新たな入力データで置き換えることを望むとき、ユーザは置き換えるべきテキスト全体を選択する。例えば、ユーザはポインティング・デバイスに関連付けられたコマンドボタンを起動して、表示されたポインタが置き換えるべきテキストを越えるか、またはそれを通過するようにポインティング・デバイスを移動する。この処理はテキストの選択の「ブロック」と言われることもある。次に、ユーザがデータをコントロールに入力すると、選択されたテキスト全体が新たに入力されたデータで置き換えられる。
【0041】
この例において、ユーザはコンテンツ902の中の語句「three」を、編集する意図でブロックした。したがって、選択された部分は、入力領域903における挿入点904と見なされる。入力パネル501を使用してユーザがコンテンツ902に対しておこなう変更はいずれも、挿入点904において生じる。示したように、ユーザは手書きのユーザ入力「at」を入力パネル501に追加する。入力パネル501に関連付けられた挿入点904は、さらに強調されるか、または別に変更されて、それが入力パネルと関連付けられていることを示す。
【0042】
図10を参照すると、ユーザは、前に書き込んだ「at」に追加して書き込みを継続するので、入力パネル501内の手書きコンテンツは、今は「at least four、 but no more than five」となっている。前述のように、入力パネル501は右方に、必要であれば下方にも拡張して、ユーザ入力に対応する。ここでも入力パネル501は、マージンMhrおよびMvbを侵害しないように、そしてアンカー点502を固定位置に維持できるように、右方および下方に拡張する。この例においては、アンカー点502は入力パネル501の左上隅にある。また、入力パネル501は、当初はマージンMhl、Mhr、MvtおよびMvbを侵害しない位置に現れる。
【0043】
図11に示すように、ユーザが入力パネル501に対するユーザ入力追加を完了すると、ユーザ入力は入力パネル501に関連付けられた入力領域、この例では入力領域903、に転送される。詳細には、ユーザ入力は交信点402に関連付けられた入力領域903の範囲内の位置に転送される。その位置はこの場合、アクティブなソフトウエア・アプリケーションにより生成された挿入点904である。ユーザ入力はさらに、入力領域903に追加される前に、別の形に変換される。例えば、ユーザ入力が手書きインクである場合に、インクはテキストの形に認識され、認識されたテキストは入力領域903に追加される。示したように、ユーザの手書きが認識され、得られた手書きに相当するテキストが挿入点904で強調された語句「three」と置換わり、コンテンツ902の該当部分が「・・・within at least four、 but no more than five、 Years・・・」と読めるようになる。入力パネル501から認識されたユーザ入力を挿入すると、挿入点902は、今度は挿入されたコンテンツの後に位置し、標準テキスト・カーソルの形で示される。
【0044】
手書き認識は、必要に応じて様々な時点に自動で、または手動で実行される。例えば、手書き認識は、ユーザがユーザ入力の追加を完了した後にのみ呼び出されるか、またはユーザがユーザ入力を追加している間に自動的に実行される。ユーザが入力を追加している間に認識がおこなわれる場合、手書き認識は、各文字が書き込まれた後、または各語句が書き込まれた後に、自動的に実行される。手書き認識の結果得られるテキストは、ユーザが完了するのを待つことなくユーザがまだ入力を追加している間に、またはユーザが完了した後に、入力領域903に追加される。認識は、スタイラス204が、少なくとも一定時間、入力表面から持ち上げられるのに応答しておこなわれる。代わりに、認識は、ユーザからの手動のコマンド、入力モードの切換、および/または切換アプリケーションに応答しておこなってもよい。
【0045】
アンカー点502が固定される規則には、例外がある。例えば、挿入点904が、入力パネル501の下に移動される場合、入力パネル501は、挿入点904がユーザの目から隠されるのを十分に防止できる距離だけ移動する。挿入点は、入力パネル501の下に移動する場合もある。例えば、ユーザが書き込みをしている間に、入力パネル501へのユーザ入力の手書きが認識されて入力領域903に送られる場合である。
【0046】
図12は、インターネットのウェブ・ブラウザ・ソフトウエア・アプリケーションに結合した入力パネルを使用した別の例を示す。ブラウザ・アプリケーションは、ブラウザ・ウィンドウ1202を、現在閲覧中のウェブ・ページのコンテンツを表示するためのウィンドウ内のコンテンツ・ボックス1203に表示する。ブラウザ・アプリケーションは、さらに、ユニバーサル・リソース・ロケータ(URL)の形等の、ユーザ入力のインターネット・アドレスを受け入れるインターネットのアドレス入力ボックス1201を表示する。この実施例において、インターネットのアドレス入力ボックス1201は、入力パネルと交信するための入力領域である。別の入力領域1205が、コンテンツ・ボックス1203内に示されている。コンテンツ・ボックス1203内の任意の入力領域(単数又は複数)の存在および/または位置(単数又は複数)は、その時々に閲覧中の特定のインターネット・ウェブ・ページにより定義され、またそれに依存する。表示されるインターネット・ウェブ・ページはドキュメントと見なされ、一般的に、ドキュメントのタイプが、その中の任意の入力領域(単数又は複数)の存在および/または位置(単数又は複数)を定義する。
【0047】
挿入点(不図示)が、インターネット・アドレス入力ボックス1201内、またはその近傍に残っているときは、それに応答して呼出しターゲット(不図示)および/または入力パネル1024が現れる。この例において、ホバリング位置は、インターネットのアドレス入力ボックス1201内で、これはマージンMvtの外側になる。したがって、位置設定規則は、呼出しターゲットおよび/または入力パネル1204が、マージンMvtの上に表示されないことを確保するものでなければならない。特定の環境によっては、呼出しターゲットおよび/または初期に表示された入力パネル1204は、僅かな距離だけ下方に移動してこれを確保する必要がある。加えて、呼出しターゲットおよび/または入力パネル1204が表示される位置は、表示されることが予期される任意のオート・コンプリート・ドロップ・ダウンの影響を受けることがある。例えば、インターネット・アドレス入力ボックス1201が、推奨された完全なインターネット・アドレスのリストをドロップダウンするオートコンプリート機能を有する場合、呼出しターゲットおよび/または入力パネル1204の初期表示位置は、予期されるドロップ・ダウン・コンプリートリストの下端が表示される位置の下に表示されるよう調節される。
【0048】
また、交信点の位置がディスプレイから右方にどれくらい離れているかにより、呼出しターゲットおよび/または初期に表示される入力パネル1204は、左方に移動して、入力パネル1204の既定値初期サイズがマージンMhrを侵害しないことを確保しなければならない。ユーザは、スタイラス204を使用して、「www。microsoft.com」などのURLを書込む。この手書きURLが認識され、得られたテキストがインターネットのアドレス入力ボックス1201に追加される。それに応じて、そのURLに関連付けられたウェブ・ページが閲覧できる。交信点を入力領域1205(例えば、入力領域1205の内側)に関連付けておくと、得られた入力領域1205に送られるユーザ入力は、表示ウェブ・ページと交信し、および/または、表示ウェブ・ページを提供するリモートサーバに送られる。
【0049】
呼出しおよび取下げ
入力パネルは、入力領域上をホバリングするスタイラス204により呼び出されるものと説明してきた。しかしながら、入力パネル(入力パネル501または入力パネル1204等)は、様々の方法により呼び出される。例えば、入力パネルは、キーボード・コマンド、メニュー・コマンド、またはスタイラス204のジェスチャ等、ユーザのコマンドに応答して明確に呼び出される。スタイラスのジェスチャは、ホバリング、タップおよび/またはディスプレイ401に対するスタイラス204のドラッグ等、任意の型のジェスチャを含む。入力パネルは、先行する呼出しターゲットがあってもなくても呼び出される。
【0050】
さらに、入力パネルは、呼出しターゲットが最初に出現した後に呼び出されるものと説明した。しかしながら、呼出しターゲットは不要であり、入力パネルは、先行する呼出しターゲットがなくても呼び出される。これは、入力領域が現在空白であるか(ユーザ入力欠如)またはある一定の型のものである場合に特に有用である。したがって、いくつかの実施例においては、呼出しターゲットが正常に先ず出現し、呼び出された場合は、これに続いて入力パネルが出現するが、同一実施例の一定の状況においては、入力パネルは呼出しターゲット無しで呼び出される。例えば、入力パネルは、空白入力領域上をホバリングするスタイラス204に応答して、直ちに呼び出される。または、入力パネルは、電子メール中の空白の「To」、「From」または「Subject」入力領域上をホバリングする、またはそれに近接するスタイラス204に応答して、直ちに呼び出される。直ちに呼び出される入力パネルは、呼出しターゲット表示の後に呼び出される入力パネルと異なる。例えば、直ちに呼び出される入力パネルは、小さいかまたは一定の要素(キーボードボタン、モード切換ユーザ・インターフェース等)を欠くことがある。このより小さく単純な状態は、そのような状況では好適である。それは、このより小さく単純な入力パネルは、ユーザが実際に入力パネルを介した入力を開始することを望むという経験的推測に当てはまるからであり、このような場合にフルサイズの入力パネルを表示するのは、少し煩わしいからである。
【0051】
同様に、入力パネル(入力パネル501または入力パネル1204等)は、様々な方法により取り下げられる。例えば、入力パネルは、ユーザ呼出しのキーボード・コマンド、メニュー・コマンド、またはスタイラス204のジェスチャにより、明確に取り下げられる。この場合も、このようなジェスチャは任意の型のジェスチャでよい。いったん明確に閉鎖されると、呼出しターゲットおよび/または入力パネルは、同じ入力領域またはソフトウエア・アプリケーションと結合されて再び自動的に表示されることはない。しかしながら、フォーカスが変更されるか、またはスタイラス204が、現在フォーカスされている入力領域またはアプリケーション内の入力表面から除去されると、呼出しターゲットおよび/または入力パネルの自動呼出しは、その同じ入力領域と結合されて、再び実行される。
【0052】
ジェスチャに基づく取下げの1例において、スタイラス204が表示された入力パネルの外側(または、少なくとも所定の距離、1/2インチ等、だけ入力パネルの境界の外側)をホバリングしているときは、それに応答して入力パネルが取り下げられる。ダイアログ・ウインドウがユーザに、取下げを望むか否かを確認する機会を与える。この「ホバリング不在」取下げは、常に入力パネルを取り下げるか、またはスタイラス204が既に入力パネルの領域に入っているときだけ入力パネルを取り下げるかである。これは、意図しない取下げの発生を低減する。ジェスチャに基づく取下げの別の例は、入力表面の範囲からスタイラス204が外れるのに応答して、入力パネルが取り下げられる例である。この「範囲外」取下げは、常に機能するかまたは、入力パネルに対してユーザ入力が既に行われたときにのみ機能する。この場合も、後者は、意図しない取下げの低減に役立つ。「ホバリング不在」取下げおよび「範囲外」取下げもまた、それぞれ少なくとも最低タイムアウト時間の間スタイラス204が入力パネルから外れるか、または範囲外に出ることを必要とする。このタイムアウトは、約1秒またはそれ以上等、任意の時間でよい。
【0053】
さらに別の入力パネル取下げ方法は、入力パネルに関連付けられたソフトウエア・アプリケーションおよび/または入力領域を取り下げることである。この事態が起こると、まだソフトウエア・アプリケーションおよび/または入力領域に送付されていない入力領域内のユーザ入力はいずれも、消去されて送付されない。しかしながら、フォーカスを別のソフトウエア・アプリケーションに対しまたはシェルに対して単に変更することは、入力パネルに影響を与えない。これらは開いたまま残るが、再度選択されるまで、フォーカスの外にある。
【0054】
入力パネル・コンテンツ・フォーマット
入力パネルの例を、スタイラスを使用した手書きユーザ入力との関係でこれまで説明した。しかしながら、入力パネルは、キーボード入力および音声を含む各種のユーザ入力フォーマットを受け入れる。所望のユーザ入力の型にしたがって、入力パネルは異なる形式で表示される。例えば、フリー・スタイル手書きを望む場合、入力パネルは、空白であるか、または語句を書き込むための単一行を含む。文字毎の認識を望む場合、入力パネルは、一連のブロック等を、文字毎に1つずつ、図13に示すように表示する。入力パネルが拡張するにつれて、追加の文字ブロックが表示される。キーボード入力を望む場合、入力パネルは、キーボードのアイコンを表示するか、または文字入力に使用するグラフィカル交信キーボードさえ表示する。入力パネルは1つまたは複数のボタンを含み、または別のコントロール1301により、ユーザは、どの型の入力パネルを表示するか手動で選択することができる。例えば、ボタン1301により、ユーザは、キーボード、フリー・スタイル手書き、および文字毎(ブロック・スタイル)のコンテンツ入力パネルの間で、選択することができる。代わりに、ユーザは入力パネルコンテンツの型を呼出しターゲットから選ぶこともある。
【0055】
多言語対応
ここまで、入力パネルを、ユーザ入力は、行を左から右に横書きし、次にこれらの行を上から下に書く英語などの言語であると仮定して説明した。この場合、入力パネルは英語を書くように、右方に拡張し、次に下方に拡張する方法に一致するのが望ましい。しかしながら、全部の言語がこの方法で書かれる訳ではない。例えば、ヘブライ語は、行を右から左に横書きし、次に行を上から下に書く。伝統的中国語は、行を上から下に縦書きし、次にこれらの縦行を右から左に書く。したがって、入力パネルは、前述とは異なる方向に拡張るのが望ましい。例えば、ユーザがヘブライ語で書くときは、入力パネルは先ず左方にマージンMhlに達するまで伸び、次に各行が必要であれば、下方にマージンMvbに達するまで拡張する。入力パネルの右上端は固定されたままで、アンカー点は右端と上短の交点となる。またヘブライ語の場合、境界606は、左境界となる。または、ユーザが中国語を書く場合は、入力パネルは先ず下方にマージンMvbに達するまで拡張し、次に必要であれば各縦行が左方にマージンMhlに達するまで拡張する。入力パネルの右上端はこの場合も固定されたままである。一般的に言うと、入力パネルは、考えられる4つの方向のうち2つの方向に拡張し、他の2つの方向では固定されたままである。
【0056】
使用される特定の言語は、入力パネルが作成されるコンテキスト、ユーザ・コマンド、オペレーティング・システム、入力パネルに関連付けられた入力領域、および/または現在フォーカスしているソフトウエア・アプリケーションに依存する。ボタン1301により、ユーザはさらに、手動で言語を選ぶことができる。言語はさらに、呼出しターゲットと交信を通じても選択される。入力パネルの拡張方法およびユーザの手書き認識方法は共に、選択する言語によって決まる。
【0057】
まとめ
このように、スタイラス・ベースおよびその他のコンピュータ・システムにおける有用で便利なユーザ入力の追加方法を説明した。書き込まれまたはタイプされるユーザ入力を受領するため特に効率の良いオンデマンドの方法で動的に拡張する入力パネルについての説明である。この入力パネルは、書き込まれまたはタイプされるユーザ入力に対する容易なアクセスを、エンドユーザが必要とする時と場所に提供する一方で、使用される高価な画面「不動産」の量を削減かつ極小化し、オペレーティング・システムまたはソフトウエア・アプリケーションにより表示される別の要素を不明瞭にする可能性を軽減し解消する。
【0058】
ここに記述するような本発明の各種態様を具現する器具および方法は、説明のために示すものであるが、本発明がこれらの特定の実施例に制限されるものでないことは理解されるであろう。当業者は、特に前述の技術を踏まえて、変更を加えるであろう。例えば、前述の実施例の1つまたは複数の要素は、単独でも、または別の実施例の1つまたは複数の要素と併せて利用することができる。また、開示の一部はマイクロソフトWINDOWS(登録商標)ブランド・オペレーティング・システムとの関連で記述しただ、別のグラフィカル・ユーザ・インターフェイスを基礎とするオペレーティング・システムなど、別のオペレーティング・システムも使用されることは理解される筈である。加えて、本発明は添付請求項を使用して定義されているが、考案された発明はここに記述する要素およびステップを任意の組合せまたは小組合せにより含むので、これらの請求項はまた、説明的である。本発明の精神と範囲を逸脱することなく変更を加えられることもまた評価し理解されるであろう。
【図面の簡単な説明】
【0059】
【図1】本発明の少なくとも1つの態様によって使用される具体的コンピューティング環境の機能的ブロック図を示す。
【図2】本発明の少なくとも1つの態様によって使用される説明用コンピューティング環境の平面図を示す。
【図3】本発明の少なくとも1つの態様によって実行される説明用ステップのフローチャートを示す。
【図4】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図5】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図6】本発明の少なくとも1つの態様にかかる、具体的入力パネルを示す。
【図7】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図8】本発明の少なくとも1つの態様によって、入力パネルが拡張する様相を示す各種画面である。
【図9】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図10】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図11】本発明の少なくとも1つの態様により、入力パネルがソフトウエア・アプリケーション内の入力領域と関連して使用されるときの状態を示す各種画面である。
【図12】本発明の少なくとも1つの態様により、入力パネルがインターネット・ウェブ・ブラウザのソフトウエア・アプリケーションと関連して使用される様相を示す画面である。
【図13】本発明の少なくとも1つの態様にかかる、具体的入力パネルを示す。
【特許請求の範囲】
【請求項1】
コンピュータにおいて、
入力パネルを表示するステップ、
前記入力パネル内に入力を受け取るステップ、および
前記入力パネルの右境界に近付く前記入力に応答して前記入力パネルを下方へ拡長するステップ
を備えることを特徴とする方法。
【請求項2】
前記入力パネルの前記右境界に近付く前記入力に応答して前記入力パネルを右方へ拡張するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記入力パネルを右方へ拡張する前記ステップは、前記入力パネルを下方へ拡張する前記ステップ以前に実行されることを特徴とする請求項2に記載の方法。
【請求項4】
前記入力パネルを右方へ拡張する前記ステップは、前記入力パネルが所定の位置に拡張するまで、前記入力パネルを右方へ拡張することを継続することを含み、前記パネルを下方へ拡張するステップは、前記入力パネルが右方に前記入力パネル所定の位置まで拡張した後にのみ実行されることを特徴とする請求項2に記載の方法。
【請求項5】
前記表示ステップは、前記入力パネルをディスプレイ上に表示することを含み、前記所定の位置は、ディスプレイの境界に関連して判定されることを特徴とする請求項4に記載の方法。
【請求項6】
前記所定の位置は、入力パネルの左境界の位置に依存しないことを特徴とする請求項4に記載の方法。
【請求項7】
請求項1に記載のステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項8】
コンピュータにおいて、
入力パネルを、異なる第1軸および第2軸に沿って広がっているディスプレイ上に表示するステップ、
前記入力パネル内に入力を受け取るステップ、および
前記第1軸に沿って広がる前記入力に応答して前記入力パネルを前記第2軸に沿って拡張するステップ
を備えることを特徴とする方法。
【請求項9】
前記第1軸は水平軸であり、前記第2軸は垂直軸であることを特徴とする請求項8に記載の方法。
【請求項10】
前記第1軸は垂直軸であり、前記第2軸は水平軸であることを特徴とする請求項8に記載の方法。
【請求項11】
前記入力パネルは、前記第2軸に沿って単一方向にのみ拡張することを特徴とする請求項8に記載の方法。
【請求項12】
前記入力を受け取る前記ステップは、入力をタッチセンシティブ・ディスプレイ上のスタイラスから受け取ることを含み、前記表示するステップは、前記入力パネルを前記ディスプレイ上に表示することを含むことを特徴とする請求項8に記載の方法。
【請求項13】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルは前記第1軸に沿って拡張するステップをさらに含むことを特徴とする請求項8に記載の方法。
【請求項14】
前記入力パネルを前記第1軸に沿って拡張する前記ステップは、所定の位置に拡張するまで前記入力パネルを前記第1軸に沿って拡張することを継続することを含み、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、前記入力パネルを前記第1軸に沿って前記所定の位置まで拡張した後にのみ実行されることを特徴とする請求項13に記載の方法。
【請求項15】
前記表示するステップは、前記入力パネルをディスプレイ上に表示することを含み、前記所定の位置は、前記ディスプレイの境界に関連して判定されることを特徴とする請求項14に記載の方法。
【請求項16】
前記入力パネルを前記第1軸に沿って拡張する前記ステップは、前記入力パネルの境界に達する前記入力に応答して、前記入力パネルを前記第1軸に沿って拡張することを含むことを特徴とする請求項13に記載の方法。
【請求項17】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、右方に広がる前記入力に応答して前記入力パネルを下方に拡張することを含むことを特徴とする請求項8に記載の方法。
【請求項18】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、下方に広がる前記入力に応答して前記入力パネルを左方に拡張することを含むことを特徴とする請求項8に記載の方法。
【請求項19】
請求項8に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項20】
スタイラス・センシティブ入力面を有するコンピュータにおいて、
スタイラスが前記入力表面に対して第1のアクションを実行したか否かを判定するステップ、
前記第1のアクションを実行する前記スタイラスに応答して、呼出しターゲットを表示するステップ、および
前記呼出しターゲットを表示した後、入力パネルを表示するステップ
を備えることを特徴とする方法。
【請求項21】
前記第1のアクションは、前記入力面上でスタイラスがホバリングすることである請求項20に記載の方法。
【請求項22】
前記入力面はディスプレイでもあり、前記呼出しターゲットを表示することおよび前記入力パネルを表示することの前記各ステップは、前記ディスプレイ上に前記呼出しターゲットおよび前記入力パネルを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項23】
前記入力パネルの表示に先立ち、前記入力表面に対して第2のアクションを実行する前記スタイラスに応答して、前記呼出しターゲットを削除することをさらに含むことを特徴とする請求項20に記載の方法。
【請求項24】
前記第1のアクションは、前記入力面上での前記スタイラスがホバリングすることであり、および前記第2のアクションは、前記スタイラスが前記入力パネル上のホバリングを停止することである、ことを特徴とする請求項23に記載の方法。
【請求項25】
請求項17に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項26】
前記呼出しターゲットを表示する前記ステップは、挿入点の位置によって定まる位置に前記呼出しターゲットを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項27】
前記呼出しターゲットを表示する前記ステップは、前記スタイラスの位置によって定まる位置に前記呼出しターゲットを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項28】
スタイラス・センシティブ入力表面を有するコンピュータにおいて、
システム・プロンプトを表示するステップ、
スタイラスが前記入力表面に対して第1のアクションを実行したか否かを判定するステップ、
前記第1のアクションが、第1のタイプまたは第2のタイプの入力領域に関連付けられるか否かを判定するステップ、
前記第1のタイプの入力領域に関連付けられている第1のアクションに応答して、呼出しターゲットを表示し、および、前記呼出しターゲットを表示した後、第1の入力パネルを表示するステップ、および
前記第2のタイプの入力領域に関連付けられている第1のアクションに応答して、第2の入力パネルを表示するステップ
を備えることを特徴とする方法。
【請求項29】
前記第1のタイプは、ユーザ入力を含む入力領域である、および前記第2のタイプは、ユーザ入力を欠如する入力領域であることを特徴とする請求項28に記載の方法。
【請求項30】
前記第2のタイプは、「From」電子メール・アドレスを受け取るための、または「To」電子メール・アドレスを受け取るための、いずれか一方のための入力領域であることを特徴とする請求項28に記載の方法。
【請求項31】
前記第1の入力パネルは、前記第2の入力パネルと異なることを特徴とする請求項28に記載の方法。
【請求項32】
請求項28に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項1】
コンピュータにおいて、
入力パネルを表示するステップ、
前記入力パネル内に入力を受け取るステップ、および
前記入力パネルの右境界に近付く前記入力に応答して前記入力パネルを下方へ拡長するステップ
を備えることを特徴とする方法。
【請求項2】
前記入力パネルの前記右境界に近付く前記入力に応答して前記入力パネルを右方へ拡張するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記入力パネルを右方へ拡張する前記ステップは、前記入力パネルを下方へ拡張する前記ステップ以前に実行されることを特徴とする請求項2に記載の方法。
【請求項4】
前記入力パネルを右方へ拡張する前記ステップは、前記入力パネルが所定の位置に拡張するまで、前記入力パネルを右方へ拡張することを継続することを含み、前記パネルを下方へ拡張するステップは、前記入力パネルが右方に前記入力パネル所定の位置まで拡張した後にのみ実行されることを特徴とする請求項2に記載の方法。
【請求項5】
前記表示ステップは、前記入力パネルをディスプレイ上に表示することを含み、前記所定の位置は、ディスプレイの境界に関連して判定されることを特徴とする請求項4に記載の方法。
【請求項6】
前記所定の位置は、入力パネルの左境界の位置に依存しないことを特徴とする請求項4に記載の方法。
【請求項7】
請求項1に記載のステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項8】
コンピュータにおいて、
入力パネルを、異なる第1軸および第2軸に沿って広がっているディスプレイ上に表示するステップ、
前記入力パネル内に入力を受け取るステップ、および
前記第1軸に沿って広がる前記入力に応答して前記入力パネルを前記第2軸に沿って拡張するステップ
を備えることを特徴とする方法。
【請求項9】
前記第1軸は水平軸であり、前記第2軸は垂直軸であることを特徴とする請求項8に記載の方法。
【請求項10】
前記第1軸は垂直軸であり、前記第2軸は水平軸であることを特徴とする請求項8に記載の方法。
【請求項11】
前記入力パネルは、前記第2軸に沿って単一方向にのみ拡張することを特徴とする請求項8に記載の方法。
【請求項12】
前記入力を受け取る前記ステップは、入力をタッチセンシティブ・ディスプレイ上のスタイラスから受け取ることを含み、前記表示するステップは、前記入力パネルを前記ディスプレイ上に表示することを含むことを特徴とする請求項8に記載の方法。
【請求項13】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルは前記第1軸に沿って拡張するステップをさらに含むことを特徴とする請求項8に記載の方法。
【請求項14】
前記入力パネルを前記第1軸に沿って拡張する前記ステップは、所定の位置に拡張するまで前記入力パネルを前記第1軸に沿って拡張することを継続することを含み、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、前記入力パネルを前記第1軸に沿って前記所定の位置まで拡張した後にのみ実行されることを特徴とする請求項13に記載の方法。
【請求項15】
前記表示するステップは、前記入力パネルをディスプレイ上に表示することを含み、前記所定の位置は、前記ディスプレイの境界に関連して判定されることを特徴とする請求項14に記載の方法。
【請求項16】
前記入力パネルを前記第1軸に沿って拡張する前記ステップは、前記入力パネルの境界に達する前記入力に応答して、前記入力パネルを前記第1軸に沿って拡張することを含むことを特徴とする請求項13に記載の方法。
【請求項17】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、右方に広がる前記入力に応答して前記入力パネルを下方に拡張することを含むことを特徴とする請求項8に記載の方法。
【請求項18】
前記第1軸に沿って広がる前記入力に応答して、前記入力パネルを前記第2軸に沿って拡張する前記ステップは、下方に広がる前記入力に応答して前記入力パネルを左方に拡張することを含むことを特徴とする請求項8に記載の方法。
【請求項19】
請求項8に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項20】
スタイラス・センシティブ入力面を有するコンピュータにおいて、
スタイラスが前記入力表面に対して第1のアクションを実行したか否かを判定するステップ、
前記第1のアクションを実行する前記スタイラスに応答して、呼出しターゲットを表示するステップ、および
前記呼出しターゲットを表示した後、入力パネルを表示するステップ
を備えることを特徴とする方法。
【請求項21】
前記第1のアクションは、前記入力面上でスタイラスがホバリングすることである請求項20に記載の方法。
【請求項22】
前記入力面はディスプレイでもあり、前記呼出しターゲットを表示することおよび前記入力パネルを表示することの前記各ステップは、前記ディスプレイ上に前記呼出しターゲットおよび前記入力パネルを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項23】
前記入力パネルの表示に先立ち、前記入力表面に対して第2のアクションを実行する前記スタイラスに応答して、前記呼出しターゲットを削除することをさらに含むことを特徴とする請求項20に記載の方法。
【請求項24】
前記第1のアクションは、前記入力面上での前記スタイラスがホバリングすることであり、および前記第2のアクションは、前記スタイラスが前記入力パネル上のホバリングを停止することである、ことを特徴とする請求項23に記載の方法。
【請求項25】
請求項17に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【請求項26】
前記呼出しターゲットを表示する前記ステップは、挿入点の位置によって定まる位置に前記呼出しターゲットを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項27】
前記呼出しターゲットを表示する前記ステップは、前記スタイラスの位置によって定まる位置に前記呼出しターゲットを表示することを含むことを特徴とする請求項20に記載の方法。
【請求項28】
スタイラス・センシティブ入力表面を有するコンピュータにおいて、
システム・プロンプトを表示するステップ、
スタイラスが前記入力表面に対して第1のアクションを実行したか否かを判定するステップ、
前記第1のアクションが、第1のタイプまたは第2のタイプの入力領域に関連付けられるか否かを判定するステップ、
前記第1のタイプの入力領域に関連付けられている第1のアクションに応答して、呼出しターゲットを表示し、および、前記呼出しターゲットを表示した後、第1の入力パネルを表示するステップ、および
前記第2のタイプの入力領域に関連付けられている第1のアクションに応答して、第2の入力パネルを表示するステップ
を備えることを特徴とする方法。
【請求項29】
前記第1のタイプは、ユーザ入力を含む入力領域である、および前記第2のタイプは、ユーザ入力を欠如する入力領域であることを特徴とする請求項28に記載の方法。
【請求項30】
前記第2のタイプは、「From」電子メール・アドレスを受け取るための、または「To」電子メール・アドレスを受け取るための、いずれか一方のための入力領域であることを特徴とする請求項28に記載の方法。
【請求項31】
前記第1の入力パネルは、前記第2の入力パネルと異なることを特徴とする請求項28に記載の方法。
【請求項32】
請求項28に記載の各ステップを実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公表番号】特表2007−511000(P2007−511000A)
【公表日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2006−539455(P2006−539455)
【出願日】平成16年7月28日(2004.7.28)
【国際出願番号】PCT/US2004/019111
【国際公開番号】WO2005/048014
【国際公開日】平成17年5月26日(2005.5.26)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
【公表日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願日】平成16年7月28日(2004.7.28)
【国際出願番号】PCT/US2004/019111
【国際公開番号】WO2005/048014
【国際公開日】平成17年5月26日(2005.5.26)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
[ Back to top ]