(57)【要約】コンテキストに基づく適応入力デバイスの状態変化を実現するためのシステムおよび方法の種々の実施形態を提供する。例えば、開示される方法は、システム状態の変化を示す状態入力を受け取るステップと、前記状態入力に応答して、適応入力デバイス／データを変化させるステップであって、前記適応入力デバイス・データが、画像データまたは適応入力デバイス・マッピング・データの内１つ又は複数を含む、ステップと、前記適応入力デバイス・データを用いて、適応入力デバイスの表示状態を調節するステップとを含むことができる。前記適応入力デバイスの表示状態の調節は、適応入力デバイスのディスプレイ上に前記画像データを表示すること、または前記適応入力デバイス・マッピング・データにしたがって、適応入力デバイスのマッピング状態を調節することの内１つ又は複数を含むことができる。【選択図】図１
2012524356.tif 000002
【特許請求の範囲】
【請求項１】
適応入力デバイスにコンテキストに基づく状態変化を与える方法（４００）であって、
システム状態の変化を示す状態入力を受け取るステップ（４１０）と、
前記状態入力に応答して、適応入力デバイス／データを変化させるステップ（４１２）であって、前記適応入力デバイス・データが、画像データまたは適応入力デバイス・マッピング・データの内１つ又は複数を含む、ステップと、
前記適応入力デバイス・データを用いて、適応入力デバイスの表示状態を調節するステップ（４３０）であって、前記適応入力デバイスの表示状態の調節が、適応入力デバイスのディスプレイ上に前記画像データを表示すること、または前記適応入力デバイス・マッピング・データにしたがって、適応入力デバイスのマッピング状態を調節することの内１つ又は複数を含む、ステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記適応入力デバイスが、機械的に押下可能なキーを有する機械式キーボード、および仮想キーボードを提示するように構成されているタッチ・スクリーン・デバイスの内１つ又は複数を含む、方法。
【請求項３】
請求項１記載の方法において、前記システム状態が、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の内１つ又は複数である、方法。
【請求項４】
請求項３記載の方法であって、更に、
アプリケーション状態の変化を検出するステップと、
アプリケーション状態の変化を示す前記状態入力を発生するステップと、
を備えている、方法。
【請求項５】
請求項４記載の方法であって、更に、
パブリック・アプリケーション・プログラミング・インターフェースを通じて、アプリケーション状態の変化を示す前記状態入力を受け取るステップを備えている、方法。
【請求項６】
請求項３記載の方法であって、更に、
コンピューティングデバイス状態の変化を検出するステップと、
コンピューティングデバイス状態の変化を示す前記状態入力を発生するステップと、
を備えている、方法。
【請求項７】
請求項６記載の方法であって、更に、
プライベート・アプリケーション・プログラミング・インターフェースを通じて、コンピューティングデバイス状態の変化を示す前記状態入力を受け取るステップを備えており、前記コンピューティングデバイス状態の変化が、前記コンピューティングデバイスにおけるオペレーティング・システム・コンポーネントの変化、または前記コンピューティングデバイスにおけるハードアウェア・コンポーネントの変化の内１つ又は複数である、方法。
【請求項８】
請求項３記載の方法であって、更に、
キーボード上にあるタッチ・センサーを用いて、ユーザー状態の変化を検出するステップと、
ユーザー状態の変化を示す前記状態入力を発生するステップと、
を備えている、方法。
【請求項９】
請求項３記載の方法であって、更に、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の変化に応答して、前記キーボード・マッピング状態を変化させるステップを備えている、方法。
【請求項１０】
コンテキストに基づいて状態を変化させるように構成されているキーボード（１５０）であって、
複数のキー（1５８）と、
キーボード・ディスプレイ（１５４）と、
前記複数のキー（１５８）および前記キーボード・ディスプレイ（１５４）と結合されており、適応キーボード・プログラム（１６２）を含むコントローラー（１６０）であって、前記適応キーボード・プログラム（１６２）が、システム状態（１８２）の変化を示す状態入力（１７２）を受け取り、状態入力（１７２）に応答してキーボード・データ（１１８）を変化させ、前記キーボード・データ（１１８）が、画像データまたはキーボード・マッピング・データの内１つ又は複数を含み、前記コントローラー（１６０）が、前記画像データを用いて前記キーボード・ディスプレイ（１５４）を調節するように構成されており、更に、前記キーボード・マッピング・データにしたがってキーボード・マッピング状態（１６４）を調節するように構成されている、コントローラー（１６０）と、
を備えている、キーボード。
【請求項１１】
請求項１０記載のキーボードにおいて、前記システム状態が、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の内１つ又は複数である、キーボード。
【請求項１２】
請求項１１記載のキーボードにおいて、前記システム状態の変化が、前記キーボードと通信するコンピューティングデバイスにおけるアプリケーション状態の変化であり、前記キーボードが、更に、パブリック・アプリケーション・プログラミング・インターフェースを通じて前記アプリケーション状態の変化を受け取るように構成されており、更に、前記アプリケーション状態の変化に関するユーザー選択肢を前記キーボード・ディスプレイ上に表示するように構成されている、キーボード。
【請求項１３】
請求項１１記載のキーボードにおいて、前記システム状態の変化が、前記キーボードと通信するコンピューティングデバイス状態の変化であり、前記キーボードが、プライベート・アプリケーション・プログラミング・インターフェースを通じて、前記コンピューティングデバイス状態の変化を受け取るように構成されており、更に、前記コンピューティングデバイス状態の変化に関するユーザー選択肢を、前記キーボード・ディスプレイ上に表示するように構成されている、キーボード。
【請求項１４】
請求項１０記載のキーボードであって、更に、タッチ・センサーを備えており、前記システム状態の変化が、前記タッチ・センサーによって検出されたユーザー状態の変化であり、前記キーボードが、前記ユーザー状態の変化に関するユーザー選択肢を、前記キーボード・ディスプレイ上に表示するように構成されている、キーボード。
【請求項１５】
請求項１１記載のキーボードにおいて、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の変化を示す前記状態入力に応答して、前記複数のキーのキーボード・マッピング状態を変化させるように構成されている、キーボード。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  キーボードのような入力デバイスは、コンピューターと共に用いられることが多い。キーボードは、通例、馴染みのあるＱＷＥＲＴＹパターンで配列された英数字入力キー、数字パッド、および／または機能キーを設けている。キーボードの中には、メディア・ボタン、音量制御、および／または即座起動ボタン(quick launch button)を含むものもある。場合によっては、キーボード制御プログラムを開き、特定の機能を即座起動ボタンと関連付けることによって、即座起動ボタンに、ユーザーが指定した機能を割り当てることもできる。このような手法に伴う欠点の１つは、ユーザー割り当て可能キーの機能を目視検査で確認することが、ユーザーには困難なことである。何故なら、キー自体には非記述ラベル(non-descript label)が付けられているからである。この場合、ユーザーは彼または彼女の記憶を頼りにして、割り当てられた機能を呼び起こすことになる。更に、これらの割り当て可能キーの位置が固定されており、ある種の機能の割り当てには、この固定位置が適していない場合もある。その結果、割り当て可能キーは、広く普及するには至っていない。
【発明の概要】
【０００２】
[0002]  コンテキストに基づく適応入力デバイスの状態変化を実現するためのシステムおよび方法の種々の実施形態を提供する。例えば、開示される方法は、システム状態の変化を示す状態入力を受け取るステップと、状態入力に応答して、適応入力デバイス／データを変化させるステップであって、適応入力デバイス・データが、画像データまたは適応入力デバイス・マッピング・データの内１つ又は複数を含む、ステップと、適応入力デバイス・データを用いて、適応入力デバイスの表示状態を調節するステップとを含むことができる。適応入力デバイスの表示状態の調節は、適応入力デバイスのディスプレイ上に画像データを表示すること、または適応入力デバイス・マッピング・データにしたがって、適応入力デバイスのマッピング状態を調節することの内１つ又は複数を含むことができる。
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。更に、特許請求する主題は、本開示のいずれの部分に記されている実施形態の内いずれかの欠点を解決するものにも、また全ての欠点を解決するものにも限定されないものとする。
【図面の簡単な説明】
【０００４】
【図１】図１は、コンテキストに基づく状態変化を受けることができる適応入力デバイスの実施形態例に適した環境を示す。
【図２】図２は、機械式キーボードの形態とした適応入力デバイス、およびタッチ・スクリーン・ユーザー入力デバイス上における仮想キーボードの実施形態例を示す。
【図３】図３は、機械式キーボードの形態とした適応入力デバイス、およびタッチ・スクリーン・ユーザー入力デバイス上における仮想キーボードの実施形態例を示し、キーボード表示における変化、および／またはコンピューティングデバイスの状態、ユーザーの状態、またはアプリケーションの状態の変化に応答したキーボード・マッピングを示す。
【図４】図４は、コンテキストに基づいて適応入力デバイスの状態を変化させる方法の一実施形態を示すプロセス・フローを示す。
【発明を実施するための形態】
【０００５】
[0008]  図１は、コンテキストに基づく状態変化を受けることができるキーボード１５０のような、適応入力デバイスの実施形態例に適した環境１００を示す。環境１００は、メモリー１４０、プロセッサー１４２、および大容量ストレージ１４４を有するコンピューティングデバイス１０５を含む。実施形態によっては、大容量ストレージ１４４がハード・ドライブ、ソリッド・ステート・メモリー、再書き込み可能なディスク等であることもある。図示した実施形態では、メモリー１４０は、オペレーティング・システム空間１２０、およびアプリケーション空間１１０を含む。アプリケーション空間は、更に、アプリケーション状態１１４、ならびに関連付けられるキーボード状態１１６およびキーボード・データ１１８を有するアプリケーション１１２を含む。以下で詳しく論じ図２に示すが、キーボード１５０は、機械的に押下可能なキーを有する機械式キーボード２００、または、例えば、適応入力デバイスの接触感応画面上に表示される仮想キーボード２００Ａであってもよい。また、他の適応入力デバイスも考えられ、以下で説明するように、ディスプレイおよび接触センサーが装備されている。
【０００６】
[0009]  図１に戻って、図示した実施形態では、アプリケーション１１２は、適応キーボード・アプリケーション１３０への名前付きパイプ(named pipe)１３１のようなプロセス間通信メカニズムを通じて、キーボード１５０と通信する。一方、このメカニズムは、バス・ドライバー１２５を介してキーボード１５０と通信する。適応キーボード・アプリケーション１３０は、例えば、オペレーティング・システム上で実行するサービスであってもよく、更には、名前付きパイプ１３１を通じて受信したアプリケーション特定イベントを解釈し、それに応答して、ユーザー・インターフェース・メッセージをキーボード１５０に送ることもできる。バス・ドライバー１２４は、ユニバーサル・シリアル・バス（ＵＳＢ）、インターネット・プロトコル上トランスポート制御プロトコル（ＴＣＰ／ＩＰ）、Bluetooth（登録商標）等のような、種々のトランスポート・プロトコルに合わせたサポートを提供し、これらのプロトコルの内１つ又は複数を用いて、バスを通じてキーボード１５０にメッセージを送るように構成することができる。あるいは、アプリケーション１１２は、パブリック・アプリケーション・プログラミング・インターフェース１２２のようなアプリケーション・プログラミング・インターフェースを通じて、そしてバス・ドライバー１２４を通じて、キーボード１５０と通信することもできる。
【０００７】
[0010]  いずれかのルートを経て、アプリケーション１１２は、メッセージ、入力、または他の通信をキーボード１５０に送ることができ、このメッセージは、アプリケーション状態１１４、あるいは関連キーボード状態１１６またはキーボード・データ１１８を含む。しかしながら、他の実施形態はそのように限定されなくてもよく、アプリケーション状態１１４をキーボード状態１１６またはキーボード・データ１１８にマッピングすること、そしてそれ以外にはキーボード１５０に通信することもできる。
【０００８】
[0011]  オペレーティング・システム空間１２０において、コンピューティングデバイス１０５は適応キーボード・アプリケーション１３０を含む。適応キーボード・アプリケーション１３０は、コンピューティングデバイス状態１３２、キーボード状態１１６、およびキーボード・データ１１８を含む。コンピューティングデバイス状態１３２は、オペレーティング・システムのコンポーネント１２７から入力を受けることができ、一方、コンポーネント１２７はコンピューティングデバイス１０５はハードウェアまたは取り付けられているデバイスから入力を受けることができる。適応キーボード・アプリケーション１３０は、プライベート・アプリケーション・プログラミング・インターフェース１２８およびバス・ドライバー１２４を通じて、キーボード１５０と通信する。例えば、適応キーボード・アプリケーション１３０は、コンピューティングデバイス状態１３２、あるいは関連キーボード状態１１６またはキーボード・データ１１８を含むメッセージ、入力、または他の通信をキーボード１５０に送ることができる。しかしながら、他の実施形態はそのように限定されなくてもよく、コンピューティングデバイス状態１３２をキーボード状態１１６またはキーボード・データ１１８にマッピングし、そしてそれ以外でもキーボード１５０に通信することができる。
【０００９】
[0012]  これよりキーボード１５０に移ると、キーボード１５０は、複数のキー１５８およびキーボード・ディスプレイ１５４と結合されているコントローラー１６０を含み、更に適応キーボード・プログラム１６２を含む。実施形態の中には、キーボード１５０が、ユーザー状態の変化を検出するためにタッチ・センサー１５２を含むとよい場合もある。例えば、タッチ・センサー１５２は、キーボードの領域のユーザー接触を光学的に検出するように構成されている光学タッチ・センサーであってもよく、またはユーザーによる接触で生じる電気的変化を光学的に検出するように構成されている容量式接触センサーであってもよく、または接触によるキーの動きを検出するように構成されている加速度タッチ・センサー等であってもよい。実施形態の中には、キーボード１５０が、キー１５８の内１つ又は複数にキー・ディスプレイ１５６を含んだり、キーボード上にある、またはキーボードから投影される、またはキーボードに取り付けられている等といったディスプレイ１５５を含んでもよいものもある。加えて、キーボード・ディスプレイ１５４は、複数のディスプレイを含むこともでき、適応キーボード・プログラム１６２は、それぞれのシステム状態変化、ユーザーが選択した表示内容、システムの選択肢等にしたがって、これら複数のディスプレイの各々を更新することができる。
【００１０】
[0013]  キーボード１５０は、コンピューティングデバイスの中にあるバス・ドライバー１２４を介して、コンピューティングデバイス１０５に通信を送り、そしてコンピューティングデバイス１０５からの通信を受信する。更に、適応キーボード・プログラム１６２は、適応キーボード・モジュール１８０、キーボード・マッピング状態１６４、キーボード表示状態１６６、およびユーザー状態サービス１７０も含む。更に、ユーザー状態サービス１７０は、タッチ・センサー１５２によって検知されるようなユーザー状態１７２、ならびに関連キーボード状態１１６およびキーボード・データ１１８も含む。
【００１１】
[0014]  適応キーボード・モジュール１８０は、システム状態１８２を示す１つ又は複数の入力を含む。システム状態１８２は、アプリケーション状態１１４、コンピューティングデバイス状態１３２、および／またはユーザー状態１７２を含む。あるいは、適応キーボード・モジュール１８０は、既に関連付けられているキーボード状態１１６および／またはキーボード・データ１１８を受けてもよく、この場合、キーボード状態１１６およびキーボード・データは、非限定的な例として、アプリケーション空間１１０またはオペレーティング・システム空間１２０において実行する適応キーボード・アプリケーション１３０によって関連付けられる。
【００１２】
[0015]  一実施形態では、キーボード１５０は、コンテキストに基づく状態変化を与えるように構成することができる。例えば、適応キーボード・プログラム１６２は、システム状態の変化を示す状態入力を受けて、この状態入力に応答してキーボード・データ１１８を変化させるように構成することができる。実施形態の一例では、キーボード・データ１１８は画像データまたはキーボード・マッピング・データの内１つ又は複数を含み、コントローラーは、画像データを用いてキーボード表示を調節するように構成され、更にキーボード・マッピング・データにしたがって、キーボード・マッピング状態を調節するように構成されている。画像データは、アプリケーション１１２、オペレーティング・システム・コンポーネント１２７、ハードウェア１２６についての構成選択肢等からのアイコン、メニュー項目等とすることができる。
【００１３】
[0016]  例の中には、１つ又は複数のキー上に表示することができる画像データが、コンピューティングデバイス１０５において実行中のアプリケーション１１２から来ることができる場合や、コンピューティングデバイス１０５のオペレーティング・システムから来ることができる場合や、これをキーボード１５０上のメモリーにセーブすること等もできる場合もある。例えば、特定のキー上に、またはキーボード上にある特定の表示部に画像データを表示するために、適応キーボード・プログラム１６２は、コンピューティングデバイス１０５上のアプリケーション１１２またはオペレーティング・システム空間１２０において実行中の適応キーボード・アプリケーション１３０から、あるいはキーボード１５０上のユーザー状態サービス１７０からキーボード状態１１６を受けることができる。これについては、以下の節において更に詳しく説明する。
【００１４】
[0017]  実施形態の一例では、システム状態の変化は、キーボード１５０と通信しているコンピューティングデバイス１０５におけるアプリケーション状態１１４の変化であってもよい。例えば、キーボード１５０は、パブリック・アプリケーション・プログラミング・インターフェース１２２を通じてアプリケーション状態１１４の変化を受け取るように構成することができ、更にアプリケーション状態１１４の変化に関するユーザー選択肢をキーボード・ディスプレイ１５４上に表示するように構成することもできる。
【００１５】
[0018]  実施形態の中には、アプリケーション１１２がアクティブなアプリケーションか否か、アプリケーション１１２が計算バックグラウンドで動作しているか否か、アプリケーション１１２がアクティブである間にこのアプリケーション内に異なる状態があるか否か等に基づいて、アプリケーション状態１１４の変化を判定するとよい場合がある。一例では、ワード・プロセッシング・プログラムにおいてテキストが選択されると、アプリケーション状態１１４の変化を検出することができる。このアプリケーション状態１１４の変化に応答して、キーボードからキーボード・ディスプレイ、キーボード・マッピング等を通じて機能を表示し、ユーザーに露出することができる。
【００１６】
[0019]  一例として、ワード・プロセッシング・プログラムにおいてユーザーが以前にテキストを選択しており、そのテキストを青色テキストに変更した場合、このアプリケーション状態１１４における変更は、テキストが選択されたときに検出することができ、キーボード・ディスプレイは、テキストを変更する多数の色を示すことができる。特定的な例では、ユーザーの以前の行為を、頻度に応じて、最新の変更に応じて、アプリケーション状態１１４の変更に関連付けて等でランク付けすることもでき、キーボード・ディスプレイは、ユーザーが選択する選択肢のリストを並び替えることができる。このように、ユーザーが最後にテキストを選択しそのテキストを青色のテキストに変換したが、以前にそのテキストを選択しそれを赤色のテキストに変換したことがある場合、テキストを青色のテキストに変換する第１選択肢を表示することができ、テキストを赤色のテキストに変換する第２選択肢を表示することができる等となる。
【００１７】
[0020]  アプリケーション状態１１４の変化の他の例では、スライド・ショー・プレゼンテーション・プログラムを最初に起動した場合、このプログラムが、新たなスライド・ショーを作成しているのか否かユーザーに問い合わせる状態、またはユーザーが最近のスライド・ショーを開きたいのか否か問い合わせる状態があるとよい。ユーザーが最近のスライド・ショーを開くことを選択した場合、適応キーボード・プログラム１６２は、このアプリケーション状態１１４の変化を検出し、以前に開いたことがある１０個の最近のスライド・ショー・プレゼンテーションを示すように、キーボード・ディスプレイ１５４を変更することができる。更に、一旦スライド・ショーが選択されたなら、適応キーボード・プログラム１６２は他の状態変化を検出し、キーボード・ディスプレイ１５４上において、開かれたスライド・ショー内部に選択肢を表示することができる。例えば、ユーザーが開いたスライド・ショーをナビゲートすると、またはユーザーがスライド・ショーを含むアニメーションを選択すると、このナビゲーションまたはアニメーションと関連付けられている機能を、キーボード・ディスプレイ１５４を通じてユーザーに露出することができ、ユーザーをメニュー選択肢に進ませる一連のキーストロークを用いることなく、ユーザーはキーボードによってこの機能を選択することができる。
【００１８】
[0021]  他の実施形態の一例では、システム状態の変化は、キーボード１５０と通信しているコンピューティングデバイス状態１３２の変化であってもよい。例えば、キーボードは、コンピューティングデバイス状態１３２の変化をプライベート・アプリケーション・プログラミング・インターフェース１２８を通じて受け取るように構成することができ、更に、キーボード・ディスプレイ１５４上に、コンピューティングデバイス状態１３２の変化に関するユーザー選択肢を表示するように構成することができる。例えば、コンピューティングデバイス状態１３２の変化は、コンピューターがオンになること、オフになること、スリープ状態になること、スタンバイ状態にすること、スクリーン・セーバーをオンにすることを、非限定的な例として含むことができる。このように、適応キーボード・プログラム１６２を用いると、コンピューティングデバイス状態１３２の検出可能な変化を、キーボード・ディスプレイ１５４によってユーザーに表示することができる。
【００１９】
[0022]  実施形態の中には、システム状態の変化をタッチ・センサー１５２によって検出できる場合もある。例えば、システム状態の変化は、ユーザー状態１７２の変化であってもよく、この場合、キーボードは、キーボード・ディスプレイ１５４上に、ユーザー状態１７２の変化に関するユーザー選択肢を表示するように構成される。例えば、ユーザー状態１７２の変化を検出することができるのは、ユーザーがキーボードに接触したとき、キーボードを動かしたまたは持ち上げたとき、ユーザーがキーボードに接近しているとき、ユーザーが１つ又は複数のキーまたは一連のキーを押下したとき、ユーザーが、１つ又は複数のユーザー選択肢を表示しているキーボード上のインタラクティブ・ディスプレイと対話処理したとき等である。このように、ユーザー状態が変化したとき、キーボード１５０はこのユーザー状態変化に応答して、表示状態を変化させるように構成することができる。
【００２０】
[0023]  実施形態の中には、キーボード１５０が、アプリケーション状態１１４、コンピューティングデバイス状態１３２、またはユーザー状態１７２の変化を示す状態入力に応答して、複数のキー１５８のキーボード・マッピング状態１６４を変化させるように構成するとよい場合もある。一例として、適応キーボード・プログラム１６２は、アプリケーション１１２からのキー・コードを特定のキーにマッピングし、その後のキー押下に応答してそのキー・コードを供給するように構成されている参照表（ＬＵＴ）を備えることができる。ゲーム・アプリケーションの例では、キーボード上で「Ｑ」ボタンを押下すると、そのゲーム内において兵器を発火させることができる。そして、適応キーボード・プログラム１６２は、ゲーム・アプリケーションと通信し、ゲーム・アプリケーションからの１つ又は複数のキー・コードをそれぞれのキーにマッピングし、マッピングされたキー上におけるボタン押下に応答して、この場合「Ｑ」の押下に応答して、適応キーボード・プログラム１６２はゲームにそれぞれのコード、この例では、兵器を発火させるキー・コードを送ることができる。
【００２１】
[0024]  実施形態の中には、適応キーボード・プログラム１６２が、状態変化の組み合わせに応答して、キーボード・ディスプレイまたはキーボード・マッピング状態を調節するとよい場合もある。例えば、ユーザー状態１７２の変化を検出できるのは、付属するコンピューティングデバイスがロックされた状態にある間にユーザーがキーボードに近づいたときである。このように、適応キーボード・プログラムは、ユーザーがある範囲に入ったときにキーボード・キー１５８に点灯し、更にコンピューティングデバイスのロックを解除するためのパスワードをタイプ入力する命令をユーザーに表示することもできる。
【００２２】
[0025]  図２は、キーボード・ディスプレイ１５４および他のディスプレイ１５５を有する機械式キーボード２００の実施形態例を示す。実施形態の中には、キーボード・ディスプレイが入力および出力機能を設けるとよい場合もある。入力および出力機能を設けるディスプレイの一例に、タッチ・スクリーンがある。キーボード２００は、図１を参照して先に説明したようなキー・マッピングの実施形態における例のＱキー２１５を含む、複数のキーを備えている。また、図２はタッチ・スクリーン・ユーザー入力デバイスの仮想キーボード２００Ａも示す。このタッチ・スクリーン・ユーザー入力デバイスには、キーボード・ディスプレイ、およびユーザーからの接触入力を受けるように構成されているタッチ・センサーが備えられて構成されている。仮想キーボード２００Ａは、種々のサイズおよび形状のキーを含むことができ、これらは、図示のように、タッチ・スクリーン・ユーザー入力デバイス上に表示される。一例では、星が描かれている。
【００２３】
[0026]  図３は、コンピューティングデバイス状態、ユーザー状態、またはアプリケーション状態の変化に応答した、キーボード・ディスプレイおよび／またはキーボード・マッピングの変化を図示した、キーボード２００の実施形態例を示す。再度図１を参照すると、キーボードは、アプリケーション状態１１４、コンピューティングデバイス状態１３２、キーボード状態１１６、またはキーボード・データ１１８等のようなシステム状態を、アプリケーション・プログラミング・インターフェースまたは名前付きパイプおよび適応キーボード・アプリケーションを通じて、前述のように受け取り、そして適応キーボード・モジュール１８０に入力する。適応キーボード・モジュール１８０は、受け取った状態変化に応答して、キーボードの状態変化を発生することができる。加えて、キーボードは、ユーザー状態１７２の変化に関するシステム状態変化を検出し、それに応答して、ユーザー状態の変化に応答してキーボードの状態変化を発生する検知装置を有することもできる。図３は、システム状態の変化後におけるキーボード２００を示し、以前の「Ｑ」ボタン上に示されていたディスプレイ２１５上に、異なる画像が表示されている。実施形態の中には、先に説明したような図１における兵器発火の例のように、ボタンを指定された機能にマッピングする。また、図３は、キーボード２００Ａも図示しており、システム状態の変化に応答して、キーが、異なるサイズおよび形状に形成され、異なる画像、即ち五角形でその上に描かれているのが示されている。
【００２４】
[0027]  図３は、キーボード・ディスプレイ１５４上に設けられたディスプレイ３１０、ディスプレイ３２０、ディスプレイ３３０、およびディスプレイ３４０、ならびに図２からの他のディスプレイ１５５を示す。実施形態の中には、キーボード・ディスプレイ１５４および他のディスプレイ１５５が、コントローラー１６０上において適応キーボード・プログラム１６２を実行する適応キーボード・モジュール１８０によって制御されるとよい場合もある。このように、適応キーボード・モジュール１８０は、ユーザー状態１７２に応答して、コンピューティングデバイス１０５、アプリケーション１１２、ユーザー入力によって供給された画像データおよび／または他のコンテンツ、あるいは付属のコンピューティングデバイス１０５に格納されている画像データおよび／または他のコンテンツや、キーボード上のメモリー内にある画像データおよび／または他のコンテンツを表示することができる。更に、複数のアプリケーション・プログラムが、表示データをキーボードの異なる領域に同時に出力することによって、複合キーボード・ディスプレイを共有するように構成することもできる。
【００２５】
[0028]  使用事例のシナリオの一例では、ディスプレイ３１０は、コンピューティングデバイス１３２から受け取ったスタンバイコンピューティングデバイス状態１３２を、プライベート・アプリケーション・プログラミング・インターフェース１２８およびバス・ドライバー１２４を通じて表示することができる。次いで、ディスプレイ３１０は、一例として、コンピューティングデバイス１３２がロックされているのであれば、このロックを解除するためのパスワードをユーザーに催促することができる。他の使用事例シナリオの一例では、一旦コンピューターのロックが解除されたなら、ディスプレイ３２０はパブリック・アプリケーション・プログラミング・インターフェース１２２およびバス・ドライバー１２４を通じて受け取った、メディア・プレーヤー・アプリケーションに合わせたメニュー選択肢を提示することができる。このように、ディスプレイ３２０は、ユーザーがキーボードに近づいているのを検知したことに応答して、最近再生されたオーディオ・ファイルに対して、メディア・プレーヤー用のメニュー選択肢を表示することができる。
【００２６】
[0029]  引き続き図面を参照すると、図４は、仮想または機械式キーボードのような適応入力デバイスの状態をコンテキストに基づいて変化させるための方法４００の一実施形態の流れ図を示す。最初に、ブロック４１０に示すように、方法４００は、システム状態の変化を示す状態入力を受け取るステップを含む。例として、このシステム状態は、ブロック４１５に示すように、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の内１つ又は複数であればよい。このように、例えば、システム状態の変化をユーザーに警告するために、ディスプレイの外観を変えることによって、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の変化を、適応入力デバイスのディスプレイ上に表示することができる。
【００２７】
[0030]  また、方法４００は、ブロック４２０に示すように、状態入力に応答して、適応入力デバイス・データを変化させるステップを含む。適応入力デバイス・データには、画像データまたは適応入力デバイス・マッピング・データの内１つ又は複数が含まれる。次に、方法４００は、適応入力デバイス・データを用いて、適応入力デバイスの表示状態を調節するステップを含む。適応入力デバイス表示状態を調節するステップは、４３０に示すように、適応入力ディスプレイ・デバイス上に画像データを表示すること、または適応入力デバイス・マッピング・データにしたがって適応入力デバイス・マッピング状態を調節することの内１つ又は複数を含む。実施形態の中には、ブロック４３５に示すように、画像データまたは適応入力デバイス・マッピング・データが、コンピューティングデバイス、アプリケーション、および／またはユーザー入力から受け取られてもよい場合もある。
【００２８】
[0031]  アプリケーション状態変化の実施形態例では、方法４００は、アプリケーション状態の変化を検出するステップと、アプリケーション状態の変化を示す状態入力を発生するステップとを含む。例えば、ブロック４１７に示すように、アプリケーション状態の変化を示す状態入力は、コンピューティングデバイスのアプリケーション・プログラミング・インターフェースを通じて受け取ることができる。このアプリケーション・プログラミング・インターフェースは、パブリックであってもよい。他の実施形態では、状態入力は、適応入力デバイス・アプリケーションにおいて、名前付きパイプのような、プロセス間通信メカニズムによってアプリケーションから受け取ることもできる。一方、適応入力デバイス・アプリケーションは、バス・ドライバーを介して状態入力を適応入力デバイスに転送するように構成されている。このように、キーボードは、アプリケーション状態の変化に応答して、キーボード・ディスプレイ、キー・マッピング等を調節することができる。
【００２９】
[0032]  コンピューティングデバイス状態変化の実施形態例では、方法４００は、更に、コンピューティングデバイス状態の変化を検出するステップと、コンピューティングデバイス状態の変化を示す状態入力を発生するステップとを含むことができる。一例として、ブロック４１７に示すように、プライベートであってもよいアプリケーション・プログラミング・インターフェースを通じてコンピューター・デバイス状態の変化を示す状態入力を受け取ったことに応答して、キーボードは、コンピューティングデバイス内におけるオペレーティング・システムの変化またはコンピューティングデバイス内におけるハードウェア・コンポーネントの変化のうち１つ又は複数に応答して、キーボード・ディスプレイ、キー・マッピング等を調節することができる。
【００３０】
[0033]  ユーザー状態変化の実施形態例では、方法４００は、更に、キーボード上にあるタッチ・センサーを用いてユーザー状態の変化を検出するステップと、ユーザー状態の変化を示す状態入力を発生するステップとを含むことができる。実施形態の中には、方法４００が更に、ブロック４３７に示すように、アプリケーション状態、コンピューティングデバイス状態、またはユーザー状態の変化に応答してキーボード・マッピング状態を変化させるステップも含むとよい場合もある。
【００３１】
[0034]  前述のように、適応入力デバイスは、機械的に押下可能なキーを有する機械式キーボードのようなキーボード、および／または仮想キーボードを提示するように構成されているタッチ・スクリーン・デバイスを含むことができる。また、他の適応入力デバイスも考えられ、前述のように、タッチ・センサーおよびディスプレイの双方を含む。
【００３２】
[0035]  尚、本明細書において記載した実施形態は、例えば、コンピューター読み取り可能記憶媒体上に格納されコンピューティングデバイスによって実行するプログラムのような、コンピューター実行可能命令またはコードによって実現できることは認められよう。一般に、プログラムは、ルーチン、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象データ・タイプを実施する。本明細書において用いる場合、「プログラム」という用語は、１つのプログラムまたは協調して動作する多数のプログラムを意味することができ、アプリケーション、サービス、または他のいずれのタイプまたはクラスのプログラムでも示すために用いることができる。同様に、「コンピューター」および「コンピューティングデバイス」という用語は、本明細書において用いる場合、１つ又は複数のプログラムを電子的に実行するデバイスであればいずれでも含み、計算機能を有するキーボード、および他のコンピューター入力デバイスを含むが、これらに限定されるのではない。
【００３３】
[0036]  更に、本明細書において記載した構成および／または手法は、性質上例示であること、そして多数の変形が可能であることから、これらの特定の実施形態または例を限定的な意味で捕らえてはならないことは言うまでもない。本明細書において記載した特定のルーチンまたは方法は、いかなる数の処理方策の内の１つ又は複数を表すこともできる。したがって、例示した種々の動作は、図示したシーケンスで実行すること、または他のシーケンスで実行すること、または並列で実行することもでき、場合によっては省略することもできる。同様に、前述のプロセスの順序は、そのいずれも、本明細書において記載した実施形態の特徴および／または結果を達成することを必ずしも求められている訳ではなく、例示および説明を容易にするために提示したのである。
【００３４】
[0037]  本開示の主題は、本明細書において開示した種々のプロセス、システムおよび構成、ならびに他の特徴、機能、動作、および／または特性のあらゆる新規で非自明なコンビネーションおよびサブコンビネーションを含み、更にはその均等物のいずれもおよび全てを含むものとする。
【図１】
2012524356.tif 000003
【図２】
2012524356.tif 000004
【図３】
2012524356.tif 000005
【図４】
2012524356.tif 000006
【国際調査報告】
2012524356.tif 000007
2012524356.tif 000008