(57)【特許請求の範囲】
【請求項１】
タッチセンサ画面を使用して、電子計算機上で実行中のアプリケーションにデータを入力する方法であって、
それぞれ対応する符号を含む１組のソフトキーを表示するステップと、
第１の符号を含む第１のソフトキーの選択を受け取るステップと、
前記第１の符号に関連する方向性ドラッグを受け取るステップと、
前記方向性ドラッグの受け取りに応答して文字強調モードを開始するステップと、
第２の符号を含む第２のソフトキーの選択を受け取るステップと、
前記第２の符号の強調されたものを前記アプリケーションに転送するステップと、
前記第１の符号を含む第１のソフトキーの第２の選択を受け取るステップと、
前記第１の符号に関連する方向性ドラッグと逆方向の第２の方向性ドラッグを受け取るステップと、
前記第２の方向性ドラッグの受け取りに応答して前記文字強調モードを終了するステップと、
第３の符号を含む第３のソフトキーの選択を受け取るステップと、
前記第３の符号に関連する方向性ドラッグを受け取るステップと、
前記第３の符号に関連する方向性ドラッグの受け取りに応答してアプリケーション内のマクロ処理を開始するステップと、
を含む方法。
【請求項２】
前記第1の符号が文字Ｂであり、前記文字強調モードがその後入力された符号をボールド体にすることを特徴とする請求項１記載の方法。
【請求項３】
請求項１又は２記載のいずれかの方法を電子計算機に実行させるアプリケーションプログラム。
【請求項４】
アプリケーションにデータを入力するシステムであって、
それぞれ対応する符号を含む１組のソフトキーを表示するための手段と、
第１の符号を含む第１のソフトキーの選択を受け取るための手段と、
前記第１の符号に関連する方向性ドラッグを受け取るための手段と、
前記方向性ドラッグの受け取りに応答して文字強調モードを開始するための手段と、
第２の符号を含む第２のソフトキーの選択を受け取るための手段と、
前記第２の符号の強調されたものを前記アプリケーションに転送するための手段と、
前記第１の符号を含む第１のソフトキーの第２の選択を受け取るための手段と、
前記第１の符号に関連する方向性ドラッグと逆方向の第２の方向性ドラッグを受け取るための手段と、
前記第２の方向性ドラッグの受け取りに応答して前記文字強調モードを終了するための手段と、
第３の符号を含む第３のソフトキーの選択を受け取るための手段と、
前記第３の符号に関連する方向性ドラッグを受け取るための手段と、
前記第３の符号に関連する方向性ドラッグの受け取りに応答してアプリケーション内のマクロ処理を開始するための手段と、
を含むシステム。
【請求項５】
前記第1の符号が文字Ｂであり、前記文字強調モードがその後入力された符号をボールド体にすることを特徴とする請求項４記載のシステム。
【請求項６】
前記システムが携帯型情報処理システムである請求項４又は５記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
タブレットＰＣ、ラップトップ、ＰＤＡ及びポケットＰＣなどのポータブル計算機は、手腕を問われる多くの設計課題を有する。それらは、一方では軽量で容易に運びやすく、使い易いことが強く望まれる。それらは、他方では長いバッテリ寿命を有していて強力であり、大画面を提供するのが望ましい。これらの潜在的に競合する設計ガイドラインによって、理想的なポータブル計算機を作成することが困難となる。
【０００２】
重量や空間を最小にするための一方法は、ディスプレイ上のソフトキーボードをデータ入力のために使用することである。ソフトキーボードを提供する一方法は、ディスプレイにタッチセンサの機能を提供することである。Ｎを正の整数として、１から１／Ｎの範囲の小部分であり得る表示の一部が、キーボードに類似する配列のソフトキー上にアルファベット文字などの符号を表示するように構成され得る。ディスプレイ上の適切な場所を押すことによって、符号を選択できる。人は、符号を反復して選択することによって、既知の方法によってデータを入力できる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、十分に理解され得るように、携帯機器のディスプレイにおいて有効な空間の総量は限定される。ユーザの選択を表示するために、ディスプレイの一部を使用する場合、有効な空間は更に減少する。更に、符号のサイズをある一定のポイント未満に減少することは、符号の相違点を目視で区別することが難しいため、実行不可能である。したがって、さもなければ表示することを望まれる符号すべてを表示することは、困難であり得る。この問題は、アクセントを含み得るか又は含み得ない符号を有する特定の言語で更に悪化する。
【０００４】
一解決策は、シフトキーなどの修飾キーを提供してきたことである。適切な修飾キーを選択することによって、ソフトキーそれぞれに有効な選択が変更できる。しかし、これは更なる選択を必要とする。両手を同時に使用できるために、普通のハードキーボード上の修飾キーの使用は通常、問題でない。しかし、ソフトキーボードは通常、次のソフトキーを選択するために同一の指又は指示装置を使用することによって操作される。このように、ユーザに最初に修飾キーを選択することを要求し、次に、所望のソフトキーを選択することを要求することは、データ入力速度を望ましくなく減少させ得る。
【課題を解決するための手段】
【０００５】
多くのソフトキーを有するソフトキーボードが、タッチセンサディスプレイ上に提供され得、ソフトキーそれぞれは、符号を含み得る。ユーザは、タッチセンサ画面上の適切な位置のセレクタを押すことによって、ソフトキーのうち１つを選択できる。ユーザは、修飾子に整列する方向にセレクタをドラッグすることによって、最初に選択された符号の修飾されたバージョンを選択できる。タッチセンサ画面からセレクタを離すことによって、選択を終了又は入力できる。所望の符号の方向にセレクタをドラッグすることによってユーザがその符号を選択できるように、最初に選択された符号に関連付けられた可能性のある符号が、ユーザにフィードバックを与えるために最初の選択の周囲に表示され得る。
【０００６】
「発明を実施するための最良の形態」に更に後述される概念からの選択を、簡易化された形式で紹介するためにこの概要を提供する。この概要は、請求項記載対象の重要な特色又は本質的な特徴を特定することを意図せず、請求項記載対象の範囲を制限するために使用されることも意図しない。
【０００７】
本発明は例によって示され、同様の参照番号が同様の要素を示す、添付の図に限定されない。
【発明を実施するための最良の形態】
【０００８】
ソフトキーボードの使用は、いくつかの利点を有する。一例をあげると、他のアプリケーションが、画面ディスプレイ上の使用を制御及び監視できるようにＡＰＩを提供できる。更に、ソフトキーボードの色と外観は容易にカスタマイズできる。更に、ソフトキーの表示サイズ及び符号用に使用される字体サイズに対する簡単な修正をして、様々なアプリケーション及びハードウェアのために、同様のソフトキーボードを使用できる。更なる利点が、次の開示の観点から明らかになるだろう。
【０００９】
一般的計算機環境
図１ａは、本発明が実施され得る、最適な計算システム環境（１００）の一例を示す。計算システム環境（１００）は、最適な計算環境の一例に過ぎず、本発明の使用又は機能の範囲に関して、いかなる制限も提示することを意図されていない。計算環境（１００）は、例示的な動作環境（１００）において示される任意の１つのコンポーネント又はコンポーネントの組み合わせに関連し、いかなる依存性も要求も有すると解釈するべきでない。
【００１０】
本発明は、多くの別の汎用又は特定用途の計算システム環境又は構成と共に作動する。本発明と共に使用するに適し得る周知の計算システム、環境及び／又は構成の例は、パーソナルコンピュータ、サーバコンピュータ、携帯用又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前述のシステム又は装置などのいくつかを含む分散計算環境を含むが、それらに限定されない。
【００１１】
本発明は、計算機によって実行されるプログラムモジュールなどの計算機実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、特定のタスクを実行するか、又は特定の抽象データ型を実現する。本発明はまた、通信ネットワークを経由して接続されるリモートプロセッシング装置によって、タスクを実行する分散計算環境においても実施され得る。分散計算環境においては、メモリ記憶装置を含むローカル及びリモート双方の計算機記憶媒体にプログラムモジュールを配置できる。
【００１２】
図１ａを参照し、本発明を実施する例示的なシステムは、計算機（１１０）の形式の汎用計算装置を含む。計算機（１１０）のコンポーネントは、処理ユニット（１２０）、システムメモリ（１３０）及びシステムメモリを含む多様なシステムコンポーネントを処理ユニット（１２０）に接続するシステムバス（１２１）を含むがこれらに限定されない。システムバス（１２１）は、メモリバス又はメモリコントローラ、周辺機器用バス及び様々なバスアーキテクチャのうちいくつかを使用するローカルバスを含むいくつかの任意のタイプのバス構造、であり得る。制限ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ機器に関する標準化団体（ＶＥＳＡ）ローカルバス及びメザニンバスとして知られる周辺機器相互接続（ＰＣＩ）バスを含む。
【００１３】
計算機（１１０）は一般に、様々な計算機可読媒体を含む。計算機可読媒体は、計算機（１１０）によってアクセスされ得る使用可能ないくつかの媒体であり得、揮発性及び不揮発性の双方の媒体及び取り外し可能及び取り外し不可能な双方の媒体を含む。制限ではなく例として、計算機可読媒体は、計算機記憶媒体及び通信媒体を含む。計算機記憶媒体は、計算機可読命令、データ構造、プログラムモジュール又は他のデータなどの情報の記憶に関する任意の方法又は技術にて実装される揮発性及び不揮発性双方の取り外し可能及び取り外し不可能な媒体を含む。計算機記憶媒体は、制限ではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置又は所望の情報をストアするために使用され得、計算機（１１０）によってアクセスされ得る任意の他の媒体を含む。通信媒体は一般に、計算機可読命令、データ構造、プログラムモジュール又は他のデータを搬送波又は別の移送メカニズムなどの変調データ信号として具現化したものであって、任意の情報伝達媒体を含む。語句「変調データ信号」は、１つ以上の特徴の組を有するか又は信号中に情報を符号化する方法によって変更された信号を意味する。制限ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のようなワイヤード媒体並びに音響、無線（ＲＦ）、赤外線及び他の無線媒体のようなワイヤレス媒体を含む。前述のうち任意の組み合わせもまた、計算機可読媒体の範囲内に含むべきである。
【００１４】
システムメモリ（１３０）は、読み出し専用メモリ（ＲＯＭ）（１３１）及びランダムアクセスメモリ（ＲＡＭ）（１３２）などの揮発性及び／又は不揮発性メモリ形式の計算機記憶媒体を含む。基本入出力システム（ＢＩＯＳ）（１３３）は、起動の間など、計算機（１１０）の素子間の情報の送信を支援する基本ルーチンを含んでいて通常、ＲＯＭ（１３１）にストアされる。ＲＡＭ（１３２）は通常、データ及び／又はプログラムモジュールを含んでいて、処理ユニット（１２０）によって、即時アクセス可能及び／又は現在作動中である。制限ではなく例として、図１ａは、オペレーティングシステム（１３４）、アプリケーションプログラム（１３５）、他のプログラムモジュール（１３６）及びプログラムデータ（１３７）を示す。
【００１５】
計算機（１１０）はまた、別の取り外し可能／取り外し不可能、揮発性／不揮発性の計算機記憶媒体も含み得る。例に過ぎないが、図１ａは、取り外し不可能、不揮発性磁気媒体から読み出すか又は書き込むハードディスクドライブ（１４１）、取り外し可能、不揮発性磁気ディスク（１５２）から読み出すか又は書き込む磁気ディスクドライブ（１５１）、ＣＤ−ＲＯＭ又は他の光媒体のような取り外し可能、不揮発性光ディスク（１５６）から読み出すか又は書き込む光ディスクドライブ（１５５）を示す。例示的な動作環境において使用され得る別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機記憶媒体は、限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ等を含む。ハードディスクドライブ（１４１）は通常、インタフェース（１４０）などの取り外し不可能メモリインタフェースを介し、システムバス（１２１）と接続され、磁気ディスクドライブ（１５１）及び光ディスクドライブ（１５５）は通常、インタフェース（１５０）などの取り外し可能メモリインタフェースによってシステムバス（１２１）と接続される。
【００１６】
前述の図１ａに例示されるドライブ及びそれらに関連する計算機記憶媒体は、計算機（１１０）のための計算機可読命令、データ構造、プログラムモジュール及び他のデータの記憶装置を提供する。図１ａにおいて、例えばハードディスクドライブ（１４１）は、オペレーティングシステム（１４４）、アプリケーションプログラム（１４５）、他のプログラムモジュール（１４６）及びプログラムデータ（１４７）をストアするように示されている。これらのコンポーネントは、オペレーティングシステム（１３４）、アプリケーションプログラム（１３５）、他のプログラムモジュール（１３６）、及びプログラムデータ（１３７）と同等か又は異なるいずれかであり得ることに留意されたい。オペレーティングシステム（１４４）、アプリケーションプログラム（１４５）、他のプログラムモジュール（１４６）及びプログラムデータ（１４７）は、それらが異なる複製物であることを最小限示すように、本明細書においては異なる番号が与えられている。ユーザは、キーボード（１６２）及び一般にマウス（１６１）、トラックボール又はタッチパッドとして呼ばれるポインティング装置などの入力装置を介し、計算機（２０）にコマンド及び情報を入力できる。（表示されない）別の入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ又はその他を含み得る。これら及び他の入力装置は多くの場合、システムバスに接続されるユーザ入力インタフェース（１６０）を介し、処理ユニット（１２０）と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）のような別のインタフェース及びバス構造によっても接続され得る。モニタ（１９１）又は別のタイプの表示装置もまた、ビデオインタフェース（１９０）などのインタフェースを介し、システムバス（１２１）に接続される。モニタに追加して、計算機はまた、スピーカ（１９７）及びプリンタ（１９６）などの他の周辺出力装置も含み得、これらは出力周辺インタフェース（１９５）介し接続され得る。
【００１７】
計算機（１１０）は、リモートコンピュータ（１８０）などの１つ以上のリモート計算機との論理的な接続を使用し、ネットワーク環境において作動できる。リモートコンピュータ（１８０）は、パーソナル計算機、サーバ、ルータ、ネットワークＰＣ、ピア装置又は他の一般的なネットワークノードであり得、図１ａに例示されたのはメモリ記憶装置（１８１）だけであるが、通常、計算機（１１０）に関連する前述の要素の多数又はすべてを含む。図１ａに示される論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）（１７１）及び広域ネットワーク（ＷＡＮ）（１７３）を含むが、別のネットワークもまた含み得る。そのようなネットワーク環境は、オフィス、企業全体の計算機ネットワーク、イントラネット及びインターネットにおいて一般的である。
【００１８】
ＬＡＮネットワーク環境において使用されるとき、計算機（１１０）は、ネットワークインターフェース又はアダプタ（１７０）を経由し、ＬＡＮ（１７１）に接続される。ＷＡＮネットワーク環境において使用されるとき、計算機（１１０）は通常、インターネットなどのＷＡＮ（１７３）において通信を確立するためのモデム（１７２）又は別の手段を含む。内蔵又は外付けであり得るモデム（１７２）は、ユーザ入力インタフェース（１６０）又は別の適切なメカニズムを介し、システムバス（１２１）に接続され得る。ネットワーク環境においては、計算機（１１０）又はその一部に関連して表示されるプログラムモジュールは、リモートメモリ記憶装置にストアされ得る。制限ではなく例として、図１ａは、メモリ装置（１８１）に常駐するリモートアプリケーションプログラム（１８５）を示す。表示されたネットワーク接続が例示的であって、計算機間の通信リンクを確立する他の手段が使用され得ることが十分に理解されよう。
【００１９】
プログラミング環境
プログラミングインタフェース（又はより簡単にインタフェース）は、１つ以上のコードのセグメント（単数又は複数）が、他の１つ以上のコードのセグメント（単数又は複数）によって提供される機能に通信又はアクセスすることを可能にするための任意のメカニズム、プロセス、プロトコルとして見なされ得る。あるいはまた、プログラミングインタフェースは、別のコンポーネント（単数又は複数）の１つ以上のメカニズム（単数又は複数）、メソッド（単数又は複数）、ファンクションコール（単数又は複数）、モジュール（単数又は複数）等と通信可能に接続できるシステムのコンポーネントの１つ以上のメカニズム（単数又は複数）、メソッド（単数又は複数）、ファンクションコール（単数又は複数）、モジュール（単数又は複数）、オブジェクト（単数又は複数）等と見なされ得る。コードセグメントが別個にコンパイルされるか、又はコードセグメントがソース、中間物又はオブジェクトコードとして提供されるか、コードセグメントがランタイムシステム又はプロセスにおいて利用されるか、又はそれらが同一又は異なるマシンにおいて配置されるか、又は複数のマシン上に配布されるか、又はコードのセグメントによって示される機能が、すべてソフトウェアで、すべてハードウェアで、又はハードウェア及びソフトウェアの組み合わせで実施されるか否かに関わらず、前文中の用語「コードのセグメント」は、１つ以上の命令又は数行のコードを含むことを意図されていて、例えばコードモジュール、オブジェクト、サブルーチン、機能などを含み、その用語が適用される。
【００２０】
図１Ｂ又は図１Ｃに示されるように、概念上のプログラミングインタフェースを一般的に見ることができる。図１Ｂは、それを介して第１及び第２のコードセグメントが通信する導管としてインタフェース（Ｉｎｔｅｒｆａｃｅ１）を例示する。図１Ｃは、（第１及び第２のコードセグメントの一部であるか又はない）インタフェースオブジェクト（Ｉ１）及び（Ｉ２）を含むようなインタフェースを例示していて、システムの第１及び第２のコードセグメントが媒体Ｍを介する通信ができるようにする。図１Ｃの図においては、インタフェースオブジェクト（Ｉ１）及び（Ｉ２）は、同一システムの別個のインタフェースと考えることもでき、オブジェクト（Ｉ１）及び（Ｉ２）に媒体Ｍを加えたものがインタフェースを構成すると考えることもできる。図１Ｂ及び１Ｃは、双方向フローと、フローそれぞれの側におけるインタフェースと、を示すが、いくつかの実装は、一方向における情報フロー（又は後述のような情報フローなし）を有し得るだけか、又は一方の側におけるインタフェースオブジェクトを有し得るだけである。制限ではなく、例として、アプリケーションプログラミングインタフェース（ＡＰＩ）、エントリポイント、メソッド、ファンクション、サブルーチン、リモートプロシージャコール及びコンポーネントオブジェクトモデル（ＣＯＭ）インタフェースなどの用語をプログラミングインタフェースの定義に含める。
【００２１】
そのようなプログラミングインタフェースの特徴は、第１のコードセグメントが、情報（ここでは「情報」を最も広い意味で使用し、データ、コマンド、リクエストなどを含む）を第２のコードセグメントに送信する方法と、第２のコードセグメントが、情報及び情報の構造（ストラクチャ）、シーケンス、シンタックス、構成、スキーム、タイミング及びコンテンツを受信する方法を含み得る。この点においては、情報がインタフェースによって定義される方法によって輸送される限り、根本的な輸送媒体自身は、インタフェースの作動にとって、媒体が有線又は無線又は双方の組み合わせであるか重要ではあり得ない。情報送信が（例えば、情報がコードセグメント間の情報フローから別個にバッファ、ファイル等に配置される）別のメカニズムを介するか、又は、１つのコードセグメントが、第２のコードセグメントによって実行される機能に単にアクセスする時に実在しないか、いずれかのときにあり得るような特定の状況においては、情報は従来の意味での一方向又は双方に通過され得ない。これらの特徴のいくつか又はすべては、所与の状況において重要であり得、例えばコードセグメントが疎結合又は密結合される構成のシステムの一部であるかどうかに従って、このリストは例示的、非限定的であると考えられるべきである。
【００２２】
プログラミングインタフェースのこの概念は、当業者に知られていて、本発明の上記詳細説明から明確である。しかし、プログラミングインタフェースを実施する別の方法があって、明白に除外されない限り、本明細書の終わりに説明する請求項によってこれらの他の方法も含むことを意図する。そのような他の方法は、図１Ｂ及び１Ｃの簡潔な図よりも洗練されているか又は複雑なように見え得るが、それにもかかわらず、それらは同一の総合的な結果を達成するための同様の機能を実行する。ここで、プログラミングインタフェースのいくつかの例示的な代替実装を簡単に説明する。
【００２３】
Ａ．ファクタリング（因数分解）
１つのコードセグメントから別のコードセグメントまでの通信は、その通信を複数の個々の通信に細分化することによって間接的に達成され得る。図１Ｄ及び１Ｅにこれを図式的に示す。表示されるように、分割可能な機能の組によって、いくつかのインタフェースを説明できる。こうして、図１Ｂ及びＩＣのインタフェースの機能は、数学的に２４又は２×２×２×３を提供し得るように、同一結果を達成するためにファクタリングされ得る。従って、図１Ｄに例示されるように、インタフェース（Ｉｎｔｅｒｆａｃｅ１）によって提供される機能は、同一結果を達成すると同時に、複数のインタフェース（Ｉｎｔｅｒｆａｃｅ１Ａ）、（Ｉｎｔｅｒｆａｃｅ１Ｂ）、（ｎｔｅｒｆａｃｅ１Ｃ）などの通信インタフェースに変換するために細分化され得る。図１Ｅに例示されるように、インタフェース（Ｉ１）によって提供される機能は、同一結果を達成すると同時に、複数のインタフェース（Ｉ１ａ）、（Ｉ１ｂ）、（Ｉ１ｃ）に細分化され得る。同様に、第１のコードセグメントから情報を受信する第２のコードセグメントのインタフェース（Ｉ２）は、複数のインタフェース（Ｉ２ａ）、（Ｉ２ｂ）、（Ｉ２ｃ）などにファクタリングされ得る。ファクタリング時、第１のコードセグメントに含まれるインタフェース数は、第２のコードセグメントに含まれるインタフェース数に一致させる必要はない。図１Ｄ及び１Ｅのいずれかの場合においては、インタフェース（Ｉｎｔｅｒｆａｃｅ1）及び（Ｉ１）の機能的趣旨が、図１Ｂ及び１Ｃそれぞれと同一性を維持する。インタフェースのファクタリングはまた、結合、交換可能、認識するのに困難とされ得るファクタリングなどの別の数学的な特性に従うこともできる。例えば、作動の順序は重要であり得ず、従って、インタフェースによって実行される機能がインタフェースに達する前に、別のコード又はインタフェースによってうまく実行され得るか、又はシステムの別個のコンポーネントによって実行され得る。更に、プログラミング技術を有する当業者は、同一の結果を達成する異なるファンクションコールを生成する様々な方法が、存在することを正しく理解できよう。
【００２４】
Ｂ．再定義
場合によっては、意図した結果を今迄通りに達成すると同時に、プログラミングインタフェースの特定の特徴（例えばパラメタ）を無視、追加又は再定義可能であり得るものもある。図１Ｆ及び１Ｇにこれを例示する。例えば、図１Ｂの（Ｉｎｔｅｒｆａｃｅ１）が、入力、精度及び出力の３つのパラメタを含むコールであるファンクションコールＳｑｕａｒｅ（ｉｎｐｕｔ，ｐｒｅｃｉｓｉｏｎ，ｏｕｔｐｕｔ）を含んでいて、第１のコードセグメントから第２のコードセグメントに発行されるとする。図１Ｆに示されるように、所与のシナリオにおいて中程度のパラメタ精度が無関係な場合、それは、無視されるか又は（この状況において）無意味なパラメタに置換されることが適当とされ得る。更なる無関係なパラメタもまた、加えることができる。いずれにしても、入力が第２のコードセグメントによって２乗（ｓｑｕａｒｅ）された後、出力が返答される限り、平方（ｓｑｕａｒｅ）の機能を達成できる。精度は、いくつかの下流又は計算システムの他の部分に対する非常に意味のあるパラメタであり得るが、一旦、平方（ｓｑｕａｒｅ）を計算するという狭い目的のために精度が必要でないことを認められると、それを置換又は無視できる。例えば、有効な精度値を渡す代わりに生年月日などの無意味な値を結果に悪影響を与えずに渡すことができる。同様に、図１Ｇに示されるようにインタフェース（Ｉ１）は、インタフェース（Ｉ１’）によって置換、無視されるか又はそのインタフェースにパラメタを追加するように再定義される。同様にインタフェース（Ｉ２）は、インタフェース（Ｉ２’）のように再定義され得、不要なパラメタか又は別の所で処理され得るパラメタを無視するように再定義される。ここでの要点は、場合によってプログラミングインタフェースは、パラメタなどの特徴を含み得、パラメタは、何らかの目的に必要でなく、その場合それらは無視されるか、又は再定義されるか、又は他の目的のために別の所で処理され得るものもある。
【００２５】
Ｃ．インラインコーディング
２つの別個のコードモジュールの機能のいくつか又はすべてをマージすることもまた可能であり、それらの間の「インタフェース」は、形式を変更する。例えば、図１Ｂ及び１Ｃの機能は、図１Ｈと１Ｉそれぞれの機能に変換され得る。図１Ｈにおいては、以前の図１Ｂの第１及び第２のコードセグメントは、それらの双方を含むモジュールにマージされる。この場合、コードセグメントは、まだ相互に通信しているかも知れないが、インタフェースは、単一のモジュールに更に適する形式に適合される。このように、例えば公式のコール及びリターンステートメントは、もはや必要とされ得ないが、インタフェース（Ｉｎｔｅｒｆａｃｅ１）による同様の処理又は応答（単数又は複数）は、ずっと有効であり得る。同様に、図１Ｉを参照すると、図１Ｃに存在するインタフェースＩ２の一部（又はすべて）は、インタフェース（Ｉ１”）を形成するためにインタフェース（Ｉ１）中にインライン記述され得る。例示されるように、インタフェース（Ｉ２）は、（Ｉ２ａ）と（Ｉ２ｂ）とに細分化され、インタフェース部（Ｉ２ａ）は、インタフェース（Ｉ１”）を形成するためにインタフェース（Ｉ１）と共にインラインコード化されている。具体的な一例として、図１Ｃのインタフェース（Ｉ１）は、インタフェース（Ｉ２）によって受信されるファンクションコールＳｑｕａｒｅ（ｉｎｐｕｔ，ｏｕｔｐｕｔ）を実行し、第２のコードセグメントによって（それを２乗（ｓｑｕａｒｅ）するための）入力と共に渡される値を処理した後、出力と共に２乗（ｓｑｕａｒｅ）された結果を渡すと考えられたい。このような場合、（入力を２乗（ｓｑｕａｒｅ）する）第２のコードセグメントによって実行されるプロセスは、インタフェースをコールせず、第１のコードセグメントによって実行され得る。
【００２６】
Ｄ．分離
１つのコードセグメントから別のコードセグメントまでの通信は、その通信を複数の分離した通信に細分化することによって、間接的に達成できる。図１Ｊ及び１Ｋにこれを図的に表現する。図１Ｊに示されるように、ミドルウェアの１つ以上の断片（単数又は複数）（元のインタフェースから機能及び／又はインタフェース機能を分離しているため「分離インタフェース」）が、それらを異なるインタフェース、この場合インタフェース（Ｉｎｔｅｒｆａｃｅ２Ａ）、（Ｉｎｔｅｒｆａｃｅ２Ｂ）及び（Ｉｎｔｅｒｆａｃｅ２Ｃ）と同じにするために、第１のインタフェース（Ｉｎｔｅｒｆａｃｅ１）における通信を変換するために提供される。これは、例えば、（Ｉｎｔｅｒｆａｃｅ１）のプロトコルに従うオペレーティングシステムと通信するように設計されたインストールベースのアプリケーションが存在し、オペレーティングシステムは次に、異なるインタフェース、この場合インタフェース（Ｉｎｔｅｒｆａｃｅ２Ａ）、（Ｉｎｔｅｒｆａｃｅ２Ｂ）及び（Ｉｎｔｅｒｆａｃｅ２Ｃ）を使用するために変更される所において実行され得る。第２のコードセグメントによって使用される元のインタフェースは、第１のコードセグメントによって使用されるインタフェースとは、もはや互換性がないように変更され、仲介物が、古いインタフェースと新しいインタフェースとの互換性を作るように使用されることが要点である。同様に、図１Ｋに示されるように、第３のコードセグメントが、インタフェース（Ｉ１）から通信を受信するための分離インタフェース（ＤＩ１）と、（ＤＩ２）と共に作用するけれども同一の機能的な結果を提供するように再設計された、例えばインタフェース（Ｉ２ａ）及び（Ｉ２ｂ）にインタフェース機能を送信するための分離インタフェース（Ｄ１２）と共に導入される。同様に、（ＤＩ１）及び（Ｄ１２）は、同一又は同様の機能的な結果を提供すると同時に、新しいオペレーティングシステムに図１Ｃのインタフェース（Ｉ１）及び（Ｉ２）の機能を翻訳するために共に、作用できる。
【００２７】
Ｅ．書き直し
けれども有り得る別の変形は、全体的に同一の結果を達成するけれども、インタフェース機能を他のものに置換するためにコードを動的に書き直すことである。例えば、（例えばマイクロソフトのＩＬ、Ｊａｖａバイトコード等の）中間言語で表現されるコードセグメントが（ドットネットフレームワーク、Ｊａｖａランタイム環境又は別の同様なランタイム環境によって提供されるような）実行環境におけるＪｕｓｔ−ｉｎ−Ｔｉｍｅ（ＪＩＴ）コンパイラ又はインタプリタに提供されているシステムがあり得る。ＪＩＴコンパイラは、第１のコードセグメントから第２コードセグメントへの通信を動的に変換、すなわち、第２のコードセグメント（元のコードセグメント又は異なる第２のコードセグメントのいずれか）によって要求され得るように異なるインタフェースに通信を従わせるように記述され得る。図１Ｌ及び１Ｍにこれを示す。図１Ｌに見られるように、このアプローチは、前述の分離シナリオと同様である。例えばインストールベースのアプリケーションが（Ｉｎｔｅｒｆａｃｅ１）プロトコルに従うオペレーティングシステムと通信するように設計されて実行され得るが、次に異なるインタフェースを使用するために、オペレーティングシステムが変更される。ＪＩＴコンパイラは、インストールベースのアプリケーションから実行中の通信をオペレーティングシステムの新しいインタフェースに従わせるのに使用され得る。図１Ｍに示されるように、インタフェース（単数又は複数）を動的に書き直すこのアプローチは、動的なファクタリング又はそうでなければインタフェース（単数又は複数）を同様に変更するために適用され得る。
【００２８】
代替実施形態を介するインタフェースの同一又は同様の結果を達成するための前述のシナリオはまた、様々な方法、直列及び／又は並列に結合され得るか、又は介在する他のコードを使用し得ることにも留意されたい。このように、前述の代替の実施形態は、図１Ｂ及び１Ｃに示される一般的なシナリオと同一又は同等のシナリオを作成するために、相互排他的でなく混合され、適合され、結合され得る。大部分のプログラミング構成物に関して、本明細書に記載されない、インタフェースの同一又は同様の機能を達成する別の同様の方法が存在するが、それでもなお、本発明の趣旨と範囲によって示されることもまた留意されたく、すなわちそれは、インタフェースの価値の基礎をなすインタフェースによって可能にされる少なくとも一部の示された機能と、有益な結果と、であることを留意されたい。
【００２９】
携帯用計算環境
図２は、本発明の多様な特徴に従って使用され得る例示的なタブレットＰＣ（２０１）を示す。図１ａのシステムの特徴、サブシステム及び機能のいくつか又はすべてが、図２の計算機に含まれ得る。タブレットＰＣ（２０１）は、大きな表示面（２０２）例えば、デジタイズフラットパネルディスプレイ、望ましくは、液晶ディスプレイ（ＬＣＤ）画面を含んでいて、その画面上に複数のウィンドウ（２０３）を表示する。ユーザは、セレクタの一例であるスタイラス（２０４）を使用し、デジタイズ表示面（２０２）上における選択、強調及び／又は記述ができる。適切なデジタイズ表示面（２０２）の例は、武藤工業又はワコム社のペンディジタイザなどの電磁ペンディジタイザを含む。別のタイプのペンディジタイザ、例えば光学ディジタイザもまた使用され得る。タブレットＰＣ（２０１）は、データ操作、テキスト入力、図面作成及び／又はスプレッドシート、文書処理プログラムその他のような従来の計算機アプリケーションタスクを実行するための、スタイラス（２０４）を使用して形成されるジェスチャを解釈する。
【００３０】
スタイラス（２０４）は、選択能力を増やす１つ以上のボタン又は別の特徴を備えられ得る。一実施形態においては、スタイラス（２０４）を「鉛筆」又は「ペン」として実装でき、一端が記述部を構成し、別の一端が「消しゴム」を構成し、それがディスプレイ上を動かされる時には、表示の一部が消去される。マウス、トラックボール又はその他のような別のタイプの入力装置を使用できる。更に、ユーザ自身の指は、スタイラス（２０４）であり得、タッチセンサ又は近接センサディスプレイ上に表示される画像の一部を選択又は指示するために使用され得る。したがって、本明細書に使用される用語「ユーザ入力装置」は、広い定義を有するように意図されていて、スタイラス（２０４）などの周知の入力装置における多くの多様性を包含する。領域（２０５）は、表示面（２０２）にスタイラス（２０４）が接触された所をユーザが決定することを可能にするフィードバック領域又は接触領域を示す。このように、本発明の特徴においては、スタイラス（２０４）は、有効なセレクタとして使用され得る。
【００３１】
多様な実施形態においては、本システムは、アプリケーションがインクをキャプチャ、操作、ストアするために使用可能な１組のＣＯＭ（コンポーネントオブジェクトモデル）サービスとしてのインクプラットフォームを提供する。一サービスによって、アプリケーションが、開示されたインクの表現を使用し、インクを読み、記述することができるようになる。インクプラットフォームは、拡張可能マークアップ言語（ＸＭＬ）のような言語を含むマークアップ言語もまた、含み得る。更にシステムは、別の実装としてＤＣＯＭを使用できる。しかし、更なる実装では、マイクロソフト社製のＷｉｎ３２プログラミングモデル及びドットネットプログラミングモデルを含み使用され得る。
【００３２】
図３は、ハンドヘルド計算機装置（「Ｈ／ＰＣ」）（３２０）の機能的なコンポーネントを示す。示されるように、Ｈ／ＰＣ（３２０）は、プロセッサ（３６０）、メモリ（３６２）、ディスプレイ（３２８）及びキーボード（３３２）を含む。メモリ（３６２）は、揮発性メモリ（例えばＲＡＭ）及び非揮発性メモリ（例えばＲＯＭ、ＰＣＭＣＩＡカードなど）双方を含み得る。オペレーティングシステム（３６４）は、メモリ（３６２）に常駐され得、プロセッサ（３６０）上で実行され得る。一実施形態においては、Ｈ／ＰＣ（３２０）は、マイクロソフト社製のＷｉｎｄｏｗｓ（登録商標）ＣＥオペレーティングシステムのようなオペレーティングシステム又は他のオペレーティングシステムを含む。
【００３３】
１つ以上のアプリケーションプログラム（３６６）をメモリ（３６２）にロード可能であって、オペレーティングシステム（３６４）上で実行できる。アプリケーションの例は、電子メールプログラム、スケジューリングプログラム、ＰＩＭ（個人情報管理）プログラム、文書処理プログラム、表計算プログラム、インターネットブラウザプログラム、ゲーム、及び他の既知のアプリケーションを含む。Ｈ／ＰＣ（３２０）はまた、メモリ（３６２）にロードされる通知マネージャ（３６８）を含むことができ、それもまたプロセッサ（３６０）上で実行され得る。通知マネージャ（３６８）は、アプリケーション（３６６）からの通知リクエストを処理できる。
【００３４】
Ｈ／ＰＣ（３２０）は、電源（３７０）を含んでいて、１つ以上のバッテリ又はコンデンサ又は燃料電池又はその他などの他のいくつかの電源として実装され得る。電源（３７０）は更に、交流アダプタ又は電源付きドッキングクレードルなどの、内蔵バッテリを置き換えられるか又は再充電する外部電源を含み得る。
【００３５】
示されるように、Ｈ／ＰＣ（３２０）は、３つのタイプの外部通知メカニズム、ＬＥＤ（３４０）、振動装置（３７２）及び音声ジェネレータ（３７４）を含む。Ｈ／ＰＣのプロセッサ（３６０）及び他のコンポーネントが、エネルギー消費を減らすために停止していても、これらの装置は起動時、通知メカニズムによって命令される時間の間、稼働を継続できるように、電源（３７０）に直接結合できる。一実施形態においては、ＬＥＤ（３４０）は、ユーザが操作するまで稼働継続し得る。振動装置（３７２）及び音声ジェネレータ（３７４）の現在のものは、今日のＨ／ＰＣバッテリ用の電力を多く消費するので、他のシステムが停止した時や又は起動後ある有限時間後に停止するように構成され得る。
【００３６】
アプリケーション
図４は、ポータブル計算機（４０１）の一実施形態を示す。前述のように構成され得るポータブル計算機は、ディスプレイ（４０５）を提供する筺体（４０２）を含む。示されるように、ソフトキー（４１０）の配列（４０８）を含むソフトキーボード（４０６）が提供される。別の配列（４０８）もまた提供され得ることを留意されたい。
【００３７】
所望の場合、ソフトキーボード（４０６）の配列（４０８）は、前述のようにＡＰＩを介し、アプリケーションによって制御可能であり得る。一実施形態においては、ソフトキー（４１０）の配列（４０８）を調整するために、パラメタが使用され得る。そのパラメタは、配列（４０８）を調整するように変更され得るデフォルト値を含み得、こうして、異なるアプリケーションが、ソフトキー（４１０）の所望のように配列（４０８）を調整し得る。一実施形態においては、ソフトキーボード（４０６）は、アプリケーションによって選択され得る配列の組（４０８）を含み得、配列それぞれが、所定の異なる位置にソフトキー（４１０）を配置する。別の実施形態においては、アプリケーションが個々のソフトキー（４１０）を所望のように配置することができるように、配列（４０８）は完全にカスタマイズ可能であり得る。
【００３８】
個人が計算機装置にデータを入力可能にするために、ソフトキー（４１０）それぞれは、英語で使用される文字「ａ」などの符号に関連付けられ得る。一実施形態においては、図５に示されるような、ソフトキー（４１０）は、ソフトキー（４１０）のほぼ中央に配置される符号（５０５）を含み得る。一旦、タッチセンサディスプレイの表面上をセレクタで押すことによってソフトキー（４１０）が選択されると、そのソフトキーに関連付けられた表示が調整され得る。十分に理解され得るように、ソフトキーが十分に大きい場合、ソフトキー上に１つ以上の符号を表示でき、ソフトキーを選択することによってユーザは次に、表示されている符号のうちどれか選びたいものを選択できる。
【００３９】
一実施形態においては、図６ａに示されるように、ソフトキー（４１０）の選択によって、更なる符号（５０５）の表示をする。選択は、タッチセンサディスプレイ上の所望のソフトキーに整列された位置においてセレクタを押すことに留意されたい。一実施形態においては、符号（５０５ａ）から（５０５ｈ）までを表示できる。符号（５０５）の表示を継続することもできる。符号（５０５ａ）〜（５０５ｈ）は、異なる修飾キーに結合した符号（５０５）を表わす。このように、符号（５０５ａ）は、符号（５０５）と第１の修飾キーとに関連付けられる。
【００４０】
図６ｂは、代替実施形態を例示する。符号（５０５）は、「５」の表示である。方向の入力（方向性入力）を与えることによって、１〜４又は６〜９などの別の数を選択できる。十分に理解され得るように、そのような実施形態によって、単一のソフトキーは、０を除く数字全てを与えることができる。０を与える１つの可能な方法は、最初に一方向、次に逆方向に方向ドラッグを与える移動をユーザに要求することである。十分に理解され得るように、このように、所望の場合、更なる修飾キーに合成された動きを関連付けることができる。あるいはまた、ある遅延期間後、多様な修飾キーと関連付けられた１つ以上の符号を変更できる。このように一実施形態においては、方向性入力なしに、接触が維持された場合、所定のある期間後に、符号（５０５）を「５」から「０」に変更できる。
【００４１】
一実施形態においては、ユーザは、ソフトキー（５０５）を選択可能であって、多様な符号が即座に可視化され得る。代替実施形態においては、ユーザがソフトキー（５０５）に長く接触した場合に限って多様な符号が出現され得る。十分に理解され得るように、前述のＡＰＩを介し、更なる符号を現すことに必要なソフトキー（５０５）との接触の期間を調整できる。
【００４２】
一実施形態においては、符号（５０５）に対して最も普通の修飾を示す特定の符号が、最初に現われ得る。このように段階的応答を提供できる。更に、別の位置の前のある符号を特定の位置に置くことができる。十分に理解され得るように、多くの多様性が可能であって、一実施形態においては、ＡＰＩを介してこれらの多様性が調整され得る。このように制限はないが、例えば符号（５０５ａ）が、最初に現われ、次に符号（５０５ｅ）等が現れ得る。十分に理解され得るように、符号（５０５）が満足する可能な修飾がない場合、それに従って表示され得る符号（５０５ａ〜５０５ｅ）の数は減少され得る。更に、特定の符号は、ユーザ定義のイベント及び動作に割り当てられ得、アプリケーション又はユーザ又は双方によってカスタマイズされ得る。
【００４３】
一実施形態においては、ソフトキーに表示される第１の符号及び最初に表示される符号に関連する符号がアプリケーションに応答し、決定され得る。こうして、他の符号がより少数の関連符号を有し得ると同時に、最初に表示される特定の符号は、更に大量の関連符号を有し得る。一実施形態においては、第１の符号は、それに関連付けられた修飾子による第１の符号の代表として単一の第２の符号を有し得る。そのような実施形態においては、０を超える長い任意の期間であり得る、プログラムされた期間より長時間の接触は、第２の符号の出現をもたらせ得る。そのような符号に関連するオプションの数を増加させるために、ユーザは更なる符号を第１の符号に関連付けることができる。一実施形態においては、ユーザは、既存の符号を置き換えるか又は第１の符号及び方向性入力に現在関連付けられていない位置を選ぶことによって、更なる符号の位置を選択できる。代替実施形態においては、位置は、アルゴリズムに一致するアプリケーションによって自動的に選択される。そのようなアルゴリズムの１つは、図６の符号（５０５ａ）、（５０５ｃ）、（５０５ｅ）及び（５０５ｇ）のように時計回りの表示される位置に最初に位置付けされ得る。十分に理解され得るように、そのようなアルゴリズムの多様性は多く、ユーザ動作の統計的分析を含み得、ユーザビリティ研究からの入力もまた含み得る。
【００４４】
符号の選択のために、ユーザは符号方向にスタイラス又は指又は方向性入力を与えるのに適するいくつかの別の装置であり得るセレクタを動かすことができる。図６に示されるように、最初の選択後、動きの８つの方向は、第１の符号（５０５）に関連付けられた８つの異なる符号を提供できる。しかし、ユーザが方向性入力を与えないか（又は方向性入力が所定の閾値より下にある場合）、第１の符号（５０５）が次に、選ばれる。８つの異なる符号が例示されているが、更なる符号が表示され得ることに留意されたい。しかし、人間は８を超える方向での正確な運動を一貫して提供することは困難でありがちであって、その結果、８を超える修飾キーが単一のソフトキーに関連付けられ得る場合、更なるいくつかのステップが有用であり得る。
【００４５】
一実施形態においては、更なる符号をソフトキー（５０５）の境界の外部の周辺に沿って表示でき、間隔をあけることができる。所望の符号を選択するユーザを支援するために、その符号の向きの動きが、選択される可能性のある符号の色又はグラデーションの変化などの図的な変化をもたらす。ユーザはそこで、周辺に沿って異なる符号の強調をもたらすために、異なる方向に動かすことができる。十分に理解され得るように、関連する符号数、周辺サイズ、フィードバックタイプ及び感度は、正にソフトキー毎に及びアプリケーション毎に変更できるいくつかのパラメタであって、これらのパラメタは、ＡＰＩを介し、アプリケーションによって制御され得る。
【００４６】
図７は、本発明の特徴による符号の選択方法を例示する。ステップ（６１０）において例示されるように、ユーザは第１の符号を選択する。一実施形態においては、本選択は、タッチセンサディスプレイ表面をセレクタで押すことを含んでいて、そのタッチは、適切な符号を表示する所望のソフトキーに整列することである。
【００４７】
次にステップ（６１５）において、第１の符号に関連付けられた符号の組が可視化される。一実施形態においては、組は１つの符号を含む。代替の実施形態においては、組は８つの符号を含む。十分に理解され得るように、組に提供される符号の数の多様性は、所望に応じて変更可能である。一実施形態においては、符号は、次第に更に可視化されるか又は右からスライドイン、中心からスライドアウト又は正に突然の出現などの別のいくつかの方法で現れ得る。十分に理解され得るように、このように符号をどのように置き、可視化するかに関するグラフィカル制御は、ＡＰＩを介し、変更、制御され得る。緩やかなフェードインは、画面上における望ましくない混雑を与えず、最初に選択された符号に関連付けられた符号をユーザが思い出させるように受信させるので、有用であり得る。
【００４８】
ステップ（６２０）においては、ユーザは、最初に選択された符号に関連付けられた符号の組から符号を選択するために方向性入力を与える。セレクタを所望の符号の方向に動かすことによって、方向性入力を与えることができる。一実施形態においては、符号の組中の１つの符号に整列された方向に、タッチセンサディスプレイの表面に沿ってセレクタをスライドすることによって、方向性入力を与えることができる。このスライドをセレクタの方向性ドラッグと呼ぶことができる。前述のような方向性入力によって、特定方向の入力に関連する符号が強調されるようになり得る。一実施形態においては、強調された符号は、サイズ変更、色又はコントラスト変更又はアニメーションを含むいくつか他の種類のグラフィカルなフィードバックを提供し得る。一実施形態においては、複数の符号が組の中に提供され得る。組中に提供される複数の符号を有する一実施形態においては、ユーザによって提供される最初の方向性入力は、組中の符号のうち１つを選ぶ。組中の複数の符号を有する代替の実施形態においては、ユーザは、強調するために異なる方向に自由に動かして与えられた最初の方向入力に基づいて選ばれた符号以外の異なる符号を選ぶことができる。
【００４９】
次にステップ（６２５）においては、所望の符号が強調された後、ユーザは選択を終了し、強調された符号が送信される（例えば、所望の符号をアプリケーションに入力又はインプットする）。一実施形態においては、ディスプレイの表面からセレクタをはずすことによって、符号の選択終了が遂行され得る。十分に理解され得るように、強調された符号の選択を終了するために、入力装置の作動などの他の方法もまた使用できる。一実施形態においては、ボタンの作動によって、現在強調されている符号を選択終了し、送信される。そのような方法は、ユーザが大きな振動を体験するか、又は医療状態などの他のいくつかの理由のために安定するセレクタを保持できない状況における携帯機器に対して有用であり得る。
【００５０】
図８は、符号を選択する方法の別の実施形態を例示する。十分に理解され得るように、図７と図８に示された方法の相違点は、第１の符号に関連付けられた符号を可視化させるステップが省略されることである。一実施形態においては、このように第１の符号に関連付けられる符号は、可視化されないが、それでもユーザによって提供される、適切な選択及び方向性入力によって選択され得る。代替実施形態においては、遅れ期間が延長されない（例えばユーザが長期間の間、タッチセンサディスプレイを押し続けている）場合、符号の選択が関連する符号の可視化を生じない。別の代替の実施形態においては、ユーザが二次的な入力を与えない場合、関連する符号は可視化されない。十分に理解され得るように、関連する符号が可視化されるかどうかは、アプリケーションによって制御され得、アプリケーションにおける特徴も起動又は停止の切り換えを介し、ユーザによって制御されるように設定され得る。
【００５１】
図８に表現される方法の利点は、更なる符号で表示を混雑せず、ディスプレイタイプに従って、ディスプレイに対するいかなる変更もないように、より少ない電力のみ必要とされ得ることである。更に、そのような方法は、グラフィカルな見地から見てもより複雑でない。しかし、十分に理解され得るように、そのような方法は、関連する所望の符号を選択するために必要とされる動きの方向に沿って、どんな符号が第１の選択された符号に関連付けられたかをユーザが知っている必要がある。第１の符号に関連付けられる二次的な多くの符号が存在するある言語にとっては、二次的な符号を表示しない構成は、更にいくらか困難になり得る。したがって、そのような構成は、パワーユーザ又は専門的なユーザに最も適合され得る。
【００５２】
上記の論述から十分に理解され得るように、各符号に関連付けられた複数の符号が存在するとき、望ましくない表示混雑なしに十分な情報をユーザに提供することは更に難しくなる。本発明の多様な特徴に従って使用され得る可能性のある一解決策は、特定方向に特定の修飾キーを関連付けることである。可能な方向が、例えば０度と３５９度との間の範囲に及ぶ値に関連付けられる場合、（３６０度は０度と同一であるので）、０度におけるベクトルに沿った動きは、シフトキーに関連付けられ得る。０度の方向は、基準点に依存していて、従って所望に応じて調整され得ることに留意されたい。図６に戻ると、符号（５０５ａ）の位置に０度を整列できる。このように、一実施形態においては、符号上にセレクタを置き、次に、０度の方向（例えば上）の向きに動かすことは、「選択」ソフトキーを押し、次にその符号を押すことと同等であり得る。十分に理解され得るように、符号を押し、次にドラッグの方向を与えることは、より効率的であって、最初にシフトソフトキーを選択し、次に、所望のキーを選択することよりも更に高速に実行され得る。多くの多様性が可能であるが、選択の間の十分な分離があるように、少なくとも４５度の領域に対してユーザが狙いを定めることを要求することが有用であり得る。
【００５３】
一実施形態においては、上（又は０度）は、「シフト」修飾キーに関連付けられ得、下（又は１８０度）は、「コントロール」修飾キーに関連付けられ得、右（又は２７０度）は「ａｌｔ」修飾キーに関連付けられ得、左（又は９０度）は、「機能」修飾キーに関連付けられ得る。十分に理解され得るように、この多様性が提供され得、特定の修飾子に関連付けられた方向は、ユーザカスタマイズが可能であり得る。更に、上付き文字又は下付き文字などの符号に対する特定の修飾もまた、方向ドラッグに関連づけられ得る。
【００５４】
特定のソフトキーは、ソフトキー上に表示する符号に関連付けられた方向すべてに置くことを可能にする十分な多様性を有し得ないことに留意されたい。例えば、修飾子「ａｌｔ」と英語符号「ｍ」とは関連付けられるものは何もない。前述のようなＡＰＩを介し、これは、アプリケーション特有で調整可能であり得るが、一実施形態においては、第１の符号は通常、限定しないが、それに関連付けられた（シフト修飾キー）などの１つの修飾キーだけを有し得る。一実施形態においては、例えば英語でタイプするための使用を意図するキーボードは、アルファベットの２６文字のキャピタルバージョンと共に上向き方向を関連づけられ得、他のいかなる動きも無視され得る。このように、キャピタル「ａ」は、ソフトキー「ａ」を選択し、次に方向ドラッグを０度方向又はベクトルを提供することによって、入力され得る。代替実施形態においては、大文字が入力される通常タイプの符号であり得、小文字は、大文字を選択し、次に１８０度のベクトルに沿ってドラッグすることによって入力され得る。
【００５５】
前述のように、ソフトキー上に示される符号に関連付けられる符号の数に関わらず、ユーザが更なる符号を第１の符号に関連付けることを可能にすることが有用であり得る。このように一実施形態においては、ユーザはソフトキー及び動きの方向に符号を割り当て得る。そのような実施形態においては、符号「§」は、符号「ｓ」で表示されるソフトキーの選択と下向きの動きとに関連づけられ得る。ユーザは、所望の場合、更なる符号さえインポートし得る。十分に理解され得るように、このようにユーザの創造性が、可能な多様性の数に対する主な限定因子である。
【００５６】
一実施形態においては、特定の選択及び動きの方向に一連の動作も割り当てることができる。例えば将来、符号ボールドを作るマクロは、符号「ｂ」の選択と右の動きに関連づけられ得る。ボールド特性を無効にするために同一の操作が使用され得るか、又はユーザは「ｂ」を選択し、左に動かせる。十分に理解され得るように、このようにアプリケーションに従うそのいくつか又はすべてがカスタマイズ可能であり得る多くの多様性が存在する。更に複雑なマクロもまた、ソフトキーの選択と方向の入力とに関連づけられ得ることに留意されたい。
【００５７】
特定の言語が、すでに入力されたものに基づいて入力を制限することに留意されたい。更に、特定の言語は、文字の組み合わせを形成する。例えば、日本語の仮名における、「ｎ」の選択は、nａ、nｉ、nu、nｅ及びnｏの選択をユーザに提供し得る。このように、最初の記号の入力又は選択後、個人は、すでに入力又は選択された符号の文脈に対応する特定の符号を入力できるだけである。このように、一実施形態においては、特定の符号に関連付けられた符号は、記述の文法規則及びすでに入力された符号（単数又は複数）に従って調整できる。
【００５８】
図９は、そのような方法の実施形態を例示する。先ずステップ（９１０）において、ユーザが第１の符号を入力する。タッチ画面ディスプレイ上のソフトキーボードにおいて提供されるソフトキーに触れたり、離したりするためのスタイラスであり得るセレクタを使用することによって、符号の入力が提供される。次にステップ（９１５）において、ユーザは、第２の符号を表示するソフトキーを選択し、その第２の符号は、第１の符号に関連するか又は共に使用されることが意図される。一実施形態においては、本選択は、セレクタを使用してソフトキーを押し続けることによって達成される。第２の符号は、多くの可能性のある多様性に関連付けることができるので、ステップ（９２０）においては、第２の符号における少なくともいくつかの可能性のある多様性に関連付けられる符号の組が、第２の符号の周囲に表示される。一実施形態においては、第１の符号と第２の符号とに関連付けられる符号すべてが、所望の方法によって、第２の符号の周囲に表示され得る。
【００５９】
ステップ（９２５）において、ユーザは方向性入力を与える。符号が第２の符号の周囲に提供されるので、通常、最初の選択の地点から遠ざかる動きは符号の組のうち１つに方向付けられる。一実施形態においては、第２の符号を表示したソフトキーを最初に圧迫した後、タッチセンサディスプレイ上を符号の組のうちの１つに向かってセレクタをドラッグすることによって、方向性入力が与えられ得る。ステップ（９３０）において、ユーザは選択及び方向入力プロセスを停止し、符号の組から選ばれた符号の選択を完了する（例えば入力される）。文書処理アプリケーションにおいて、入力は、すでに入力された符号の隣に選ばれた符号を表示する結果になり得る。一実施形態においては、ユーザは、所望の符号の方向にセレクタをドラッグし、その後、タッチセンサ画面からセレクタを離すことによって、選択を終了し得る。選択の終了はまた、選ばれた符号のインプット又は入力又は送信としても呼ばれ得る。一実施形態においては、前述のようにユーザが、その瞬間にディスプレイからセレクタを離す場合、表示は、符号が入力されることに関してユーザにフィードバックを提供するために、現在選ばれた符号を強調できる。
【００６０】
また、ＡＰＩを介し、アプリケーションが開示された特徴を制御し得る一方、所望の場合、オペレーティングシステムもまた、その特徴を制御できることを留意されたい。しかし、ＡＰＩを介し、アプリケーションによる機能が制御可能な場合、潜在的に柔軟性が増加したレベルを提供する。
【００６１】
本発明をその好ましい例示的な実施形態によって説明してきた。主題について構造上の特徴及び／又は方法論の動作に対する特定の言語で説明してきたが、添付の請求項において定義される主題が、前述の特定の特徴又は動作に必ずしも制限されないことを理解されよう。前述の特定の特徴及び動作はむしろ、本請求を実施する例の形式として開示される。添付の請求の範囲及び趣旨内の別の多くの実施形態、修正及び多様性は、当分野の本開示のレビューから通常の技量の人々の心に浮かぶだろう。
【図面の簡単な説明】
【００６２】
【図１ａ】本発明のいくつかの特徴を実施可能な汎用デジタル計算環境の概略図を例示する。
【図１ｂ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｃ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｄ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｅ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｆ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｇ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｈ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｉ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｊ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｋ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｌ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図１ｍ】本発明の１つ以上の特徴を支援する汎用計算機環境を示す。
【図２】本発明の１つ以上の特徴を実施可能なタブレット計算環境の概略図を例示する。
【図３】本発明の１つ以上の特徴を実施可能なポータブル計算機環境の概略図を例示する。
【図４】本発明の１つ以上の特徴を実施可能なディスプレイ上のソフトキーボードの実施形態を例示する。
【図５】本発明の１つ以上の特徴を実施可能な符号を表示するソフトキーを例示する。
【図６ａ】本発明の１つ以上の特徴による第１の符号の周辺に沿って提供される符号の組の実施形態を例示する。
【図６ｂ】本発明の１つ以上の特徴による第１の符号の周辺に沿って提供される符号の組の実施形態を例示する。
【図７】本発明の１つ以上の特徴による第１の符号に関連付けられる符号を選択する方法を例示する。
【図８】本発明の１つ以上の特徴による第１の符号に関連付けられる符号を選択する方法を例示する。
【図９】本発明の１つ以上の特徴による符号の入力方法を例示する。
【図１ａ】
0005632045.tif 000002
【図１ｂ】
0005632045.tif 000003
【図１ｃ】
0005632045.tif 000004
【図１ｄ】
0005632045.tif 000005
【図１ｅ】
0005632045.tif 000006
【図１ｆ】
0005632045.tif 000007
【図１ｇ】
0005632045.tif 000008
【図１ｈ】
0005632045.tif 000009
【図１ｉ】
0005632045.tif 000010
【図１ｊ】
0005632045.tif 000011
【図１ｋ】
0005632045.tif 000012
【図１ｌ】
0005632045.tif 000013
【図１ｍ】
0005632045.tif 000014
【図２】
0005632045.tif 000015
【図３】
0005632045.tif 000016
【図４】
0005632045.tif 000017
【図５】
0005632045.tif 000018
【図６ａ】
0005632045.tif 000019
【図６ｂ】
0005632045.tif 000020
【図７】
0005632045.tif 000021
【図８】
0005632045.tif 000022
【図９】
0005632045.tif 000023