(58)【調査した分野】(Int.Cl.,DB名)
ローカルコンピューティングデバイスのネットワークインターフェースを有するリモートコンピューティングデバイスに、前記ローカルコンピューティングデバイスのグラフィカルユーザインターフェース(GUI)の各領域をそれぞれ描画する複数の入力レンズを含むリモート表示エリアを表示するための、前記リモートコンピューティングデバイスによって使用可能な複合表示情報を提供する命令であって、前記複合表示情報は、
前記リモート表示エリアと同一の広がりを有し、前記ローカルコンピューティングデバイスのアプリケーションのウィンドウのアプリケーションコンテンツエリアを表示する前記GUIの領域を描画するコンテンツ入力レンズと、
前記アプリケーションの前記ウィンドウの制御エリアを表示する前記GUIの領域を描画する、前記コンテンツ入力レンズよりも小さな制御入力レンズと、
複数の前記制御入力レンズの複数のレンズプロファイルの表現を表示するプロファイルメニューとを、前記リモート表示エリア内で重複して表示するものであり、いずれであれ、前記コンテンツ入力レンズと該コンテンツ入力レンズ上に階層化される複数の前記制御入力レンズは、入力フォーカスを有さない場合に部分的に透明である、複合表示情報を提供する命令と、
前記リモートコンピューティングデバイスでのビュー操作動作の検出に応じて、前記入力レンズの任意の特定の1つに関して、前記GUIのどの領域を前記特定の入力レンズに描画するかを、任意の他の入力レンズに描画される前記GUIの領域を変更することなく変更する命令であって、前記検出されるビュー操作動作には前記特定の入力レンズが関連付けられている命令と、
前記リモートコンピューティングデバイスによる、前記表示される入力レンズの任意の所与の1つ内におけるGUI入力イベントの検出に応じて、前記所与の入力レンズが入力フォーカスを有するとき、前記ローカルコンピューティングデバイスにおいて、前記所与の入力レンズに描画される前記GUIの前記領域内で前記GUI入力イベントを呼び出す命令と、
を含む、ローカルコンピューティングデバイスのプロセッサによって実行可能な命令がコード化された非一時的なマシン可読記憶媒体。
前記複合表示情報を生成する命令は、前記第1の入力レンズが入力フォーカスを有するとき、前記リモート表示エリアが表示される場合、前記第1の入力レンズが、前記第1の入力レンズが入力フォーカスを有さない場合よりも大きく、前記第1の入力レンズの様々な部分が様々なレベルの透明度を有するような前記複合表示情報を生成する命令を含む、請求項3に記載の記憶媒体。
前記レンズプロファイルのそれぞれに関して、前記レンズエリアの前記各位置は、表示のために前記ローカルコンピューティングデバイスで生成される前記GUIの枠の寸法に応じ、前記レンズプロファイルによって指定され、
前記プロファイルモジュールは、レンズプロファイル選択を前記リモートコンピューティングデバイスから受信していない場合、前記複数のレンズプロファイルのうちのデスクトップレンズプロファイルを選択し、前記デスクトップレンズプロファイルは、前記入力レンズのうちの1つに描画される前記GUIのデスクトップ制御エリアの部分を含む前記GUIの領域を定義するレンズエリアを含む、請求項7に記載のローカルコンピューティングデバイス。
リモートコンピューティングデバイスにおいて、ローカルコンピューティングデバイスから受信した複合表示情報に基づいて、前記ローカルコンピューティングデバイスのグラフィカルユーザインターフェース(GUI)の各領域をそれぞれ描画する複数の入力レンズを含むリモート表示エリアを表示することであって、前記複合表示情報は、
前記リモート表示エリアと同一の広がりを有し、前記ローカルコンピューティングデバイスのアプリケーションのウィンドウのアプリケーションコンテンツエリアを表示する前記GUIの領域を描画するコンテンツ入力レンズと、
前記アプリケーションの前記ウィンドウの制御エリアを表示する前記GUIの領域を描画する、前記コンテンツ入力レンズよりも小さな制御入力レンズと、
複数の前記制御入力レンズの複数のレンズプロファイルの表現を表示するプロファイルメニューとを、前記リモート表示エリア内で重複して表示するものであり、いずれであれ、前記コンテンツ入力レンズと該コンテンツ入力レンズ上に階層化される複数の前記制御入力レンズは、入力フォーカスを有さない場合に部分的に透明である、リモート表示エリアを表示することと、
前記リモートコンピューティングデバイスを用いて、前記表示された入力レンズのそれぞれ1つにそれぞれ関連付けられた複数の異なるフォーカス選択動作のうちの任意の1つを検出することと、
いずれであれ、前記検出されたフォーカス選択動作に関連付けられた前記入力レンズに入力フォーカスを与えるように、前記ローカルコンピューティングデバイスに命令することと、
入力フォーカスを有する前記入力レンズが、前記入力レンズのうちの別の入力レンズと重複する前記リモート表示エリアの位置でのGUI入力イベントの検出に応じて、前記ローカルコンピューティングデバイスにおいて、いずれであれ、入力フォーカスを有する前記入力レンズ内に描画される前記GUIの位置において前記GUI入力イベントを呼び出すことと、
を含む、方法。
前記ローカルコンピューティングデバイスにおいて、いずれであれ、前記検出されたフォーカス選択動作に関連付けられた前記入力レンズに入力フォーカスを与えることと、
前記リモートコンピューティングデバイスから前記ローカルコンピューティングデバイスに、前記リモートコンピューティングデバイスによる前記GUI入力イベントの検出に応じて、前記GUI入力イベントを識別する情報を提供することと、
を更に含み、
前記フォーカス選択動作のそれぞれは、前記リモートコンピューティングデバイスのタッチセンシティブディスプレイを用いて検出可能な異なるタッチ動作である、請求項10に記載の方法。
【発明を実施するための形態】
【0005】
上述したように、コンピューティングデバイスには、別のデバイスを用いてリモートにアクセスし、コンピューティングデバイスのグラフィカルユーザインターフェース(GUI)を見て、そのGUIと対話し得る。例えば、ローカルコンピューティングデバイスでのアプリケーションに、リモートコンピューティングデバイスを用いてコンピュータネットワークを介してアクセスして、ローカルコンピューティングデバイスのGUIを見て、そのGUIと対話し得る。いくつかの例では、ローカルコンピューティングデバイスは、プロフェッショナルワークステーションとし得る。このプロフェッショナルワークステーションは、大型の高解像度ディスプレイを有するとともに、この高解像度ディスプレイを利用して、アイコン、メニュー、ダイアログ等の複数の制御特徴を、操作されているコンテンツに加えて表示することによってより高いユーザ生産性を可能にする視覚的に複雑なアプリケーションを含む。
【0006】
しかしながら、多くのリモートコンピューティングデバイスのディスプレイは、そのようなワークステーションディスプレイと比較して、低い解像度、小さなサイズ、又はこれらの両方を有する。例えば、タブレットコンピュータのディスプレイは、プロフェッショナルワークステーションコンピューティングデバイスのディスプレイよりも小さく、低い解像度を有し得る。そのような例では、より小さく、より解像度の低いリモートコンピューティングデバイスディスプレイは、ユーザがローカルコンピューティングデバイスの視覚的に複雑なアプリケーションを生産的に利用できるようにするのに十分なサイズ又は鮮明さで、ローカルコンピューティングデバイスのGUIを出力しないことがあり得る。ローカルコンピューティングデバイスのGUI全体をリモートコンピューティングデバイスに表示するのではなく、リモートコンピューティングデバイスは代わりに、GUIの選択された部分を表示し得る。そのような例では、選択された部分を操作(例えば、パン、ズーム)して、GUIの異なるエリアを一度に1つずつ見ることができる。しかしながら、上述した視覚的に複雑なアプリケーションのタイプにそのような部分的なインターフェースを用いることにより、ユーザが過度の数のパン動作及びズーム動作を実行して、操作されているアプリケーションコンテンツとアイコン、メニュー等のアプリケーションコントロールとの間で行き来することが生じ得る。
【0007】
これらの問題に対処するために、本明細書に記載の例は、リモートコンピューティングデバイスが、それぞれがローカルコンピューティングデバイスのGUIの各領域を描画する複数の入力レンズを含むリモート表示エリアを表示するのに使用可能な複合表示情報を提供するリモートアクセスシステムを提供する。そのような例では、各入力レンズは、入力レンズに描画されるGUI領域を、その他の入力レンズから独立して変更するように操作し得る。また、本明細書に記載の例では、任意の入力レンズ内で受け取られる入力イベントは、ローカルコンピューティングデバイスの、その入力レンズに描画されるGUIの領域で呼び出され得る。そのような例では、アプリケ−ションコンテンツを比較的高解像度で1つの入力レンズに表示し得、選択されたアプリケーション制御領域(例えば、ツールバー等)を、ここでも比較的高解像度で様々な入力レンズに同時に表示し得る。
【0008】
そのような例では、アプリケーションコンテンツの部分及びアプリケーション制御領域を、比較的高解像度で同時に見得る。また、いくつかの例では、入力レンズは独立して操作され得、それにより、例えば、或るレンズをパンすることで、任意の他のレンズに描画されるGUI領域が変更されることがない。そのような例では、ユーザインタラクションを、過度のビュー変更(例えば、パン、ズーム等)なしでアプリケーションコンテンツとアプリケーションコントロールとの間で変更し得る。このようにして、本明細書に記載の例は、リモートコンピューティングデバイスの低解像度ディスプレイを利用して、低解像度ディスプレイ(例えば、タブレットディスプレイ)に合わせられた低解像度ユーザインターフェースを提供するようにアプリケーションを書き換えることなく、ローカルコンピューティングデバイスの視覚的に複雑なアプリケーションにアクセスし得るシステムを提供し得る。
【0009】
これより図面を参照すると、
図1は、複合表示情報をリモートコンピューティングデバイスに提供する例示的なローカルコンピューティングデバイス100のブロック図である。本明細書で用いられる場合、「コンピューティングデバイス」は、デスクトップコンピュータ若しくはノートブックコンピュータ、ワークステーション、サーバ、タブレットコンピュータ、携帯電話、スマートデバイス、又は任意の他の処理デバイス若しくは機器とし得る。
図1の例では、ローカルコンピューティングデバイス100は、プロセッサ101と、ネットワークインターフェース108と、命令122、124、及び126がコード化されたマシン可読記憶媒体120とを含む。いくつかの例では、記憶媒体120は追加の命令を含み得る。他の例では、命令122、124、126及び記憶媒体120に関連して本明細書で説明される任意の他の命令は、ローカルコンピューティングデバイス100からリモートに記憶し得る。
【0010】
本明細書で用いられる場合、「プロセッサ」は、中央演算処理装置(CPU)、半導体ベースのマイクロプロセッサ、グラフィックス処理ユニット(GPU)、命令を検索し実行するように構成されるフィールドプログラマブルゲートアレイ(FPGA)、マシン可読記憶媒体に記憶された命令の検索及び実行に適する他の電子回路、又はそれらの組み合わせのうちの少なくとも1つとし得る。プロセッサ101は、記憶媒体120に記憶された命令のフェッチ、デコード、及び実行を行い、後述する機能を実施し得る。他の例では、記憶媒体120の任意の命令の機能は、電子回路の形態、マシン可読記憶媒体にコード化された実行可能命令の形態、又はそれらの組み合わせで実施し得る。
【0011】
本明細書で用いられる場合、「マシン可読記憶媒体」は、実行可能命令、データ等の情報を含むか又は記憶する任意の電子、磁気、光学、又は他の物理的な記憶装置とし得る。例えば、本明細書に記載の任意のマシン可読記憶媒体は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、ストレージドライブ(例えば、ハードディスク)、コンパクトディスク読み取り専用メモリ(CD−ROM)等、又はそれらの組み合わせのうちの任意のものとし得る。さらに、本明細書に記載の任意のマシン可読記憶媒体は非一時的なものとし得る。
【0012】
図1の例では、ローカルコンピューティングデバイス100は、グラフィカルユーザインターフェース(GUI)をローカルコンピューティングデバイス100で実施し得るGUIモジュール142を含み得る。GUIモジュール142は、ローカル表示情報を生成し、ローカルコンピューティングデバイス100のメモリに記憶し得る。GUIモジュール142はまた、ローカルコンピューティングデバイス100の統合ディスプレイ又はローカルコンピューティングデバイス100のローカル周辺インターフェース(例えば、ローカルポート又はバス)に接続されたディスプレイにローカル表示情報を出力して、ローカルコンピューティングデバイス100のGUIを表示し得る。いくつかの例では、ローカルコンピューティングデバイス100のオペレーティングシステム(OS)は、GUIモジュール142を含み得る。いくつかの例では、GUIモジュール142の機能は、マシン可読記憶媒体にコード化された実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。
【0013】
図1の例では、命令122は、複合表示情報182を、ネットワークインターフェース108を有するリモートコンピューティングデバイスに提供し得る。複合表示情報182は、リモートコンピューティングデバイスによって使用可能であり得、それにより、ローカルコンピューティングデバイス100のグラフィカルユーザインターフェース(GUI)の各領域をそれぞれ描画する複数の入力レンズを含むリモート表示エリアを表示し得る。本明細書で用いられる場合、「リモート表示エリア」は、ローカルコンピューティングデバイスのGUIの部分が描画されるリモートコンピューティングデバイスによって表示されるグラフィカル領域である。例えば、リモート表示エリアは、ローカルコンピューティングデバイス100のGUIの部分が表示されるリモートコンピューティングデバイスに表示されるウィンドウとし得る。本明細書で用いられる場合、「入力レンズ」は、ローカルコンピューティングデバイスのGUIの領域に関連付けられ、GUIの関連付けられた領域がリモートコンピューティングデバイスのリモート表示エリアに描画されるグラフィカルエリアである。
【0014】
いくつかの例では、複合表示情報182は、リモートアクセスをローカルコンピューティングデバイス100に提供するリモートデスクトッププロトコルの一環として、リモートコンピューティングデバイスに提供し得る。そのような例では、リモートコンピューティングデバイスを用いて、ローカルコンピューティングデバイス100のGUI(例えば、デスクトップ)を見て、そのGUIと対話し得る。本明細書に記載の例では、リモートコンピューティングデバイスは、本明細書に記載の任意のタイプのコンピューティングデバイスとし得る。いくつかの例では、命令122は、リモートコンピューティングデバイスが複合表示情報182を用いて、ローカルコンピューティングデバイス100のGUIの少なくとも一部分を連続して表示することができるように、GUIモジュール142によって生成されるローカル表示情報から複合表示情報182を連続して導出し得る。例えば、命令122は、ローカルコンピューティングデバイス100とリモートコンピューティングデバイスとの間での所与のリモートデスクトップセッション中に複合表示情報182を連続して提供し得る。いくつかの例では、リモート表示エリアは、ローカルコンピューティングデバイス100のGUIの領域がリモートコンピューティングデバイスによって表示される、リモートコンピューティングデバイスのリモートデスクトッププロトコルアプリケーションによって表示されるウィンドウとし得る。いくつかの例では、複合表示情報182は、リモートコンピューティングデバイスで表示される準備ができた画像データ又は他のデータとし得る。他の例では、リモートコンピューティングデバイスは、複合表示情報182に基づいて少なくともいくつかの処理を実行して、リモートコンピューティングデバイスでのリモート表示エリアとして表示する情報を生成し得る。
【0015】
上述したように、命令122は、複合表示情報182を、ネットワークインターフェース108を有するリモートコンピューティングデバイスに提供し得る。本明細書で用いられる場合、「ネットワークインターフェース」は、コンピューティングデバイスが、少なくとも1つのコンピュータネットワーク、少なくとも1つの電話回線、又はそれらの組み合わせを含む通信ネットワークを介して少なくとも1つの他のコンピューティングデバイスと通信するのに用い得る少なくとも1つのハードウェア構成要素である。いくつかの例では、適するコンピュータネットワークは、例えば、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、仮想私設ネットワーク(VPN)、インターネット等を含む。
【0016】
いくつかの例では、リモートコンピューティングデバイスは、マウス、キーボード、リモートコンピューティングデバイスのハードウェアコントロール(例えば、ボタン等)、タッチセンシティブディスプレイ等の少なくとも1つの入力デバイスを介して、入力(例えば、ユーザ入力)を受信し得る。そのような例では、リモートコンピューティングデバイスは、少なくとも1つの入力デバイスのいずれか1つを介して、リモートコンピューティングデバイスへの予め定義された制御動作入力を検出し得る。予め定義される制御動作は、予め定義されるビュー操作動作、フォーカス選択動作、プロファイル選択動作、レンズ遮蔽動作等を含み得る。いくつかの例では、各制御動作は、入力デバイス又は入力デバイスの組み合わせから受信し得る任意の適する予め定義される入力又は入力シーケンスとし得る。例えば、リモートコンピューティングデバイスがタッチセンシティブディスプレイを含む場合、ビュー操作動作等の制御動作のうちの少なくともいくつかは、タッチセンシティブディスプレイを用いて検出可能な予め定義される各タッチジェスチャ(例えば、スワイプジェスチャ、ピンチジェスチャ等)とし得る。いくつかの例では、制御動作のうちの少なくともいくつかは、例えばキーボード、又は別の入力デバイスを介して入力される、予め定義される入力シーケンスによって呼び出されるメニューを介して入力し得る。
【0017】
図1の例では、リモートコンピューティングデバイスでのビュー操作動作の検出に応答して、命令124は、GUIのどの領域が、検出されたビュー操作動作に関連付けられた入力レンズの任意の特定の1つに表示されるかを変更し得る。そのような例では、命令124は、GUIのどの領域が任意の他の入力レンズに描画されるかを変更せずに、どの領域が特定の入力レンズに描画されるかを変更し得る。このようにして、本明細書に記載の例は、ユーザが、任意の他の入力レンズに描画されるビューを変更せずに、ビュー操作動作を介して任意の入力レンズに描画されるGUIのビューを変更できるようにし得る。本明細書に記載の例では、各ビュー操作動作は、リモートコンピューティングデバイスによって検出可能な予め定義される各制御動作である。
【0018】
いくつかの例では、ビュー操作動作の検出に応答して、リモートコンピューティングデバイスは、ローカルコンピューティングデバイス100に、検出されたビュー操作動作にそれぞれ関連付けられたビュー操作動作及び位置情報を指定するビュー入力184を提供し得る。ビュー入力184は、いくつかの例では、ビュー操作コマンドとし得る。命令124は、ネットワークインターフェース108を介してビュー入力184を受信し、表示された入力レンズのいずれが、検出されたビュー操作動作に関連付けられるかを特定し得る。例えば、命令124は、検出されたビュー操作動作に関連付けられた特定の入力レンズが、ビュー操作動作時に入力フォーカスを有する入力レンズであることを特定し得る。本明細書で用いられる場合、所与の時間に「入力フォーカス」を有する入力レンズは、その所与の時間に入力を受信するように指定されたレンズである。他の例では、命令124は、位置情報に基づいて、動作に関連付けられた特定の入力レンズを特定し得る。例えば、命令124は、動作が実行された入力レンズが、ビュー操作動作に関連付けられた特定の入力レンズであると判断し得る。
【0019】
検出されたビュー操作動作に関連付けられた特定の入力レンズを識別した後、命令124は、表示入力184において指定されたビュー操作動作を適用して、GUIのいずれの領域が特定の入力レンズに描画されるかを変更し得る。いくつかの例では、各入力レンズにはレンズエリアが関連付けられる。本明細書で用いられる場合、「レンズエリア」は、関連付けられた入力レンズ内のリモートコンピューティングデバイスに描画されるローカルコンピューティングデバイスのGUIの領域を定義する情報である。いくつかの例では、命令124は、特定の入力レンズに関連付けられたレンズエリアを変更する(すなわち、レンズエリアによって定義されるGUIの領域を変更する)ことにより、ビュー操作動作を適用し得る。
【0020】
例えば、動作を適用して、特定の入力レンズをパンするには、命令124は、レンズエリアの寸法を維持しながら、GUIに対する、関連付けられたレンズエリアの位置の座標を変更して、関連付けられたレンズエリアを効率的に移動し得る。別の例として、動作を適用して、特定の入力レンズをズームさせるには、命令124は、関連付けられたレンズエリアの寸法を増大(例えば、ズームアウト動作の場合)するか、又は低減(例えば、ズームイン動作の場合)し得る。このようにして、命令124は、GUIのどの領域が任意の他の入力レンズに描画されるかを変更せずに、GUIのどの領域が特定の入力レンズに描画されるかを変更し得る。その理由は、特定の入力レンズに関連付けられたレンズエリアの変更により、任意の他のレンズエリアが変更されないためである。そのような例では、各入力レンズに描画される各ビューは、リモートコンピューティングデバイスでのビュー操作動作を介して互いから独立して変更し得る。
【0021】
上述したように、いくつかの例では、リモートコンピューティングデバイスは、少なくとも1つの入力デバイスの任意の1つを介してリモートコンピューティングデバイスへの予め定義された制御動作入力を検出し得る。そのような例では、リモートコンピューティングデバイスはまた、リモートコンピューティングデバイスに入力されるGUI入力イベントを検出し得る。本明細書で用いられる場合、「GUI入力イベント」は、リモートコンピューティングデバイスによって検出可能な任意の予め定義される制御動作の一環ではない少なくとも1つの入力デバイスを介してリモートコンピューティングデバイスで受信される入力である。GUI入力イベントの例としては、マウス又は他のポインティングデバイス等の入力デバイスから受信されるクリックイベント、キーボードから受信されるキーストローク、タッチセンシティブディスプレイを介して受信されるタッチイベント等を挙げ得る。
【0022】
例えば、マウスを用いての1回のクリックは、リモートコンピューティングデバイスによって「クリックダウン」イベント及び「クリックアップ」イベントとしてそれぞれ検出し得、これらのそれぞれは、予め定義される制御動作の一環ではない場合、GUI入力イベントとして検出し得る。別の例として、リモートコンピューティングデバイスのタッチセンシティブディスプレイで(例えば、指、スタイラス等を用いて)実行されるタップイベントは、リモートコンピューティングデバイスにより、「タッチダウン」イベント及び「タッチアップ」イベントとしてそれぞれ検知し得、これらのそれぞれは、予め定義される制御動作の一環ではない場合、GUI入力イベントとして検出し得る。本明細書に記載の例では、リモートコンピューティングデバイスによって検出されるGUI入力イベントのタイプは、リモートコンピューティングデバイスのタイプ、リモートコンピューティングデバイスと併用される入力デバイスのタイプ、リモートコンピューティングデバイスのオペレーティングシステム等のうちの少なくとも1つに応じて様々であり得る。
【0023】
図1の例では、所与の入力レンズが入力フォーカスを有するときに表示される入力レンズのうちの任意の所与の1つ内の、リモートコンピューティングデバイスを用いてのGUI入力イベントの検出に応答して、命令126は、所与の入力レンズに描画されるGUIの領域において、ローカルコンピューティングデバイス100でGUI入力イベントを呼び出し得る。このようにして、本明細書に記載の例は、ユーザが、リモートコンピューティングデバイスに表示される複数の入力レンズのうちの任意のレンズを介して、GUI入力イベントをローカルコンピューティングデバイスのGUIに提供することを可能にし得る。そのような例では、入力は、入力レンズが入力フォーカスを有するとき、所与の入力レンズを介してローカルコンピューティングデバイスのGUIに提供し得る。
【0024】
例えば、GUI入力イベントの検出に応答して、リモートコンピューティングデバイスは、ローカルコンピューティングデバイス100に、検出されたGUI入力イベントの少なくともタイプ及び位置を指定するイベント情報186を提供し得る。そのような例では、命令126は、ネットワークインターフェース108を介してイベント情報186を受信し、検出されたGUI入力イベントが、入力フォーカスを有する入力レンズが表示されるリモート表示エリアの部分内で受信したことを位置情報が示すか否かを判断し得る。そのような場合、命令126は、ローカルコンピューティングデバイス100において、入力フォーカスを有する入力レンズに描画されるGUIの領域内で、検出されたGUI入力イベントを呼び出し得る。
【0025】
いくつかの例では、命令126は、GUI入力イベントが受信されたリモート表示エリアに描画されるGUIの位置において、検出されたGUI入力イベントを呼び出し得る。例えば、命令126は、イベント情報186において指定される位置(リモート表示エリアに対する座標とし得る)、リモート表示エリア内に入力フォーカスを有する入力レンズの位置、及び入力フォーカスを有する入力レンズに対応するレンズエリア内のGUIの領域に基づいて、GUI入力イベントを呼び出すGUI位置を決定し得る。いくつかの例では、GUI入力イベントを呼び出すGUI位置を決定した後、命令126は、OSによって認識されるアプリケーションプログラミングインターフェース(API)メッセージを介して、ローカルコンピューティングデバイス100において、検出されたGUI入力イベントを呼び出し得る。そのような例では、APIメッセージは、呼び出す入力イベントのタイプ(例えば、検出されたGUI入力イベントのタイプ)と、GUI入力イベントを呼び出す、決定されたGUI位置とを指定し得る。
【0026】
例えば、リモートコンピューティングデバイスに表示されるリモート表示エリア内のクリックイベントの検出に応答して、リモートコンピューティングデバイスは、クリックイベント及びクリックイベントの位置を指定するイベント情報186をローカルコンピューティングデバイス100に提供し得る。クリックイベント時に入力フォーカスを有する、表示された入力レンズ内でクリックイベントが発生したと命令126により判断される場合、命令126は、クリックイベントが受信された入力レンズの位置に対応するGUI位置を特定し、例えば、APIメッセージを介してGUIの特定された位置においてクリックイベントを呼び出し得る。
【0027】
他の例では、リモートコンピューティングデバイスのタッチセンシティブディスプレイを用いたタッチイベントの検出に応じて、リモートコンピューティングデバイスは、タッチイベントの位置及びタイプを指定するイベント情報186を提供し得る。いくつかの例では、命令126は、タッチイベントを、マウス又は他のポインティングデバイスから受信し得る入力イベント等の他のタイプの入力にマッピングし得る。例えば、命令126は、タップイベントを左マウスボタンのクリックにマッピングし、タップ保持イベントを右マウスボタンのクリックにマッピングし、タッチジェスチャ(例えば、垂直ピンチ又はスプレッド等)をマウススクロールホイール移動にマッピングすること等ができる。そのような例では、タッチイベントを示す情報186に応答して、命令126は、ローカルコンピューティングデバイス100において、タッチイベントがマッピングされるイベントのタイプを呼び出し得る。例えば、タッチイベントを示す情報186に応答して、命令126は、上述したように特定されるGUI位置において、ローカルコンピューティングデバイス100のGUIでの左マウスクリックを呼び出し得る。そのような例では、イベントはAPIメッセージを介して呼び出し得る。いくつかの例では、
図1に関連して本明細書で説明される機能は、
図2A〜
図5のうちの任意の図に関連して本明細書で説明される機能と組み合わせて提供し得る。
【0028】
図2Aは、リモートコンピューティングデバイス250にリモート表示エリア270を表示する例示的なコンピューティングシステム295の図である。
図2Aの例では、コンピューティングシステム295は、
図2Aに関連して上述したように、ローカルコンピューティングデバイス100を含む。コンピューティングシステム295は、受信機モジュール260を備えるリモートコンピューティングデバイス250も含む。いくつかの例では、受信機モジュール260の機能は、マシン可読記憶媒体にコード化される実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。
【0029】
図1に関連して上記で説明したように、ローカルコンピューティングデバイス100のGUIモジュール142は、ローカルコンピューティングデバイス100のローカルディスプレイに出力するローカル表示情報を生成し得る。そのような例では、ローカル表示情報を用いて、GUI170をローカルディスプレイに表示し得る。
図2Aの例では、GUI170はアプリケーション102のウィンドウ105を表示している。アプリケーション102は任意のタイプのアプリケーションとし得るが、
図2Aの例では、アプリケーション102は回路設計アプリケーションである。ウィンドウ105は、アプリケーションコンテンツエリアと、複数の制御エリアとを含む。
図2Aの例では、アプリケーションコンテンツエリアは、アプリケーション102を用いて編集可能な回路設計を表示する。制御エリアは、メニューMU1〜MU5を含むメニューツールバーと、アイコンIC1〜IC7を含む別のツールバーと、オブジェクト選択用の階層ディレクトリエリアとを含む。ディレクトリエリアは選択可能なオブジェクトOBJ1を表示し、このオブジェクトはオブジェクトクラスC2の一部であり、同様にオブジェクトクラスC2はオブジェクトクラスC1の一部である。
【0030】
図2Aの例では、アプリケーション102のウィンドウ105は、ローカルディスプレイでの表示用に生成されるGUI170の枠を満たすようなサイズにされている。他の例では、アプリケーション102のウィンドウは、他の要素(例えば、デスクトップ、他のウィンドウ、アイコン、ツールバー等)の少なくともいくつかの部分が、アプリケーション102のウィンドウとともにGUI170によって表示されるように、より小さなサイズにし得る。
図1に関連して上述したように、ローカルコンピューティングデバイス100の命令122は、リモートコンピューティングデバイス250に、それぞれがローカルコンピューティングデバイス100のGUI170の各領域を描画する複数の入力レンズを含むリモート表示エリア270を表示するのにリモートコンピューティングデバイス250が使用可能な複合表示情報182を提供し得る。リモートコンピューティングデバイス250の受信機モジュール260は、複合表示情報182を受信し、情報182に基づいてリモート表示エリア270を生成し得る。そのような例では、モジュール260は、リモートコンピューティングデバイス250のディスプレイ又はリモートコンピューティングデバイス250に接続されたディスプレイにリモート表示エリア270を表示し得る。モジュール260は、リモートコンピューティングデバイス250のディスプレイと同一の広がりを有するか、又はエリア270がディスプレイの全体未満を占有する(後述する
図3に示される)ように、リモート表示エリア270を表示し得る。
【0031】
命令122は、複数のレンズエリアに基づいて複合表示情報182を生成し得る。いくつかの例では、命令122は、レンズプロファイルにおいて指定される1組のレンズエリア等の予め定義される1組のレンズエリアに基づいて、複合表示情報182を生成し得る。そのような例では、予め定義される1組のレンズエリアは、レンズプロファイルの各レンズエリアの各寸法及び位置を示し得る。
図2Aの例では、命令122は、GUI170の異なる領域をそれぞれ定義するレンズエリア111〜114に基づいて、複合表示情報182を生成し得る。
図2Aに示されるように、ウィンドウ105のアプリケーションコンテンツ部は、レンズエリア111によって定義されるGUI170の領域に表示され、ウィンドウ105のディレクトリエリアの一部分は、レンズエリア112によって定義される領域に表示され、ウィンドウ105のツールバーの異なる部分が、レンズエリア113及び114によってそれぞれ定義される領域に表示される。
【0032】
そのような例では、命令122は、レンズエリア111〜113に表示されるGUI170の領域を描画する入力レンズ211〜213を含むリモート表示エリア270を表示するのに、リモートコンピューティングデバイス250によって使用可能な複合表示情報182を生成し得る。そのような例では、入力レンズ211は、レンズエリア111に表示される領域を示し得、入力レンズ212は、レンズエリア112に表示される領域を示し得、入力レンズ213は、レンズエリア113に表示される領域を示し得る。
図2Aの例では、入力レンズ211は、リモート表示エリア270と同一の広がりを有し、ウィンドウ105のアプリケーションコンテンツ部を表示する、GUI170の領域を描画するコンテンツ入力レンズであり、入力レンズ212及び213のそれぞれは、コンテンツ入力レンズ211よりも小さく、ウィンドウ105の制御部を表示するGUI170の各領域を描画する、制御入力レンズである。いくつかの例では、リモート表示エリア270はまた、レンズエリア114に関連付けられた入力レンズを表すレンズアイコン274を含み得る。レンズエリア114に関連付けられた入力レンズは、
図2Aの例ではリモート表示エリア270に表示されないが、入力フォーカスが与えられる場合、リモート表示エリア270に表示し得る。
【0033】
リモート表示エリア270の表示に使用可能な複合表示情報182を生成することにより、本明細書に記載の例は、ローカルコンピューティングデバイス100のディスプレイよりも低い解像度及び小さなサイズのうちの少なくとも1つを有するディスプレイを有するリモートコンピューティングデバイス250が、リモートコンピューティングデバイス250のディスプレイのサイズ及び解像度に対して適したサイズでGUI170の選択部を表示できるようにし得る。いくつかの例では、命令122は、リモート表示エリア270が表示される場合、リモート表示エリア270の入力レンズのうちの少なくとも2つがリモート表示エリア270内で重複するような複合表示情報182を生成し得る。このようにして、本明細書に記載の例は、リモートコンピューティングデバイス250でのGUI170のいくつかの領域の表示を統合し得る。
【0034】
例えば、命令122は、
図2Aに示されるように、リモート表示エリア270において入力レンズ211及び212が重複し、入力レンズ211及び213が重複するような情報182を生成し得る。さらに、命令122は、入力レンズが階層順を有するような情報182を生成し得る。そのような例では、命令122は、少なくとも2つの入力レンズが重複する場合、他の入力レンズの上に階層化される入力レンズがいずれであれ、入力フォーカスを有さない場合に少なくとも部分的に透明であるような情報182を生成し得る。いくつかの例では、上にある入力レンズの部分的透明度は、下にある入力レンズの一部分を、上にある入力レンズを通して見えるようにし得る。
【0035】
図2Aの例では、入力レンズ211及び212は重複し、入力レンズ212は入力レンズ211の上に階層化される。そのような例では、入力レンズ212は、入力フォーカスを有さない場合、
図2Aに示されるように、入力レンズ211の一部分が入力レンズ212を通して見えるように、部分的に透明である。いくつかの例では、別の入力レンズの上に階層化される入力レンズは、入力フォーカスを有する場合、入力フォーカスを有さない場合よりも透明度が低くなり得る。例えば、
図2Aに示されるように、入力レンズ213は入力フォーカスを有する場合、不透明であり得る。そのような例では、入力レンズ211の上に階層化される入力レンズ213は、入力フォーカスを有さない場合、部分的に透明であり得る。他の例では、入力レンズ213は、入力フォーカスを有する場合、完全に不透明ではないが、入力フォーカスを有さない場合よりも透明度が低くなり得る。
図2A〜
図3に示される例では、入力フォーカスを有する入力レンズは、入力フォーカスを有さない入力レンズよりも太い線で示される。
【0036】
いくつかの例では、リモートコンピューティングデバイス250の受信機モジュール260は、少なくとも1つの入力デバイスを介して予め定義されるフォーカス選択動作入力を検出し得る。いくつかの例では、予め定義される各フォーカス選択動作は、入力デバイス又は入力デバイスの組み合わせから受信し得る任意の適する予め定義される入力又は入力シーケンスとし得る。例えば、リモートコンピューティングデバイス250がタッチセンシティブディスプレイを含む場合、フォーカス選択動作のうちの少なくともいくつかは、タッチセンシティブディスプレイを用いて検出可能な予め定義される各タッチジェスチャとし得る。いくつかの例では、予め定義されるフォーカス選択動作のそれぞれには、リモート表示エリア270に含まれる入力レンズのそれぞれ1つを関連付け得る。そのような例では、フォーカス選択動作の検出に応答して、モジュール260は、ローカルコンピューティングデバイス100に、検出されたフォーカス選択動作に関連付けられた入力レンズを識別する入力フォーカスコマンド285を提供し得る。入力フォーカスコマンド285を受信することに応答して、命令122は、いずれであれ、入力フォーカスコマンド285において識別される入力レンズに入力フォーカスを与え得る。
【0037】
いくつかの例では、予め定義されるフォーカス選択動作はそれぞれ、3本の指をタッチセンシティブディスプレイ(例えば、マルチタッチセンシティブディスプレイ)で同時にタッピングするか、又は順次ドラミングし、その後、3本の指のタッピングが実行された場所の近傍を更にタップすることによって実行される3本指タッピング動作を含み得る。例えば、
図2Aに表されるように、予め定義されるフォーカス選択動作255は、3本の指を右から左へ順次(例えば、右の薬指、中指、そして人差し指)ドラミングし、次に、ドラミング動作が実行された場所の左側で更なるタップを実行する(例えば、人差し指で)ことによって実行し得る。他の予め定義されるフォーカス選択動作では、更なるタップは、例えば、ドラミング領域の右側、上、又は下等、他のどこかの場所で実行し得る。更に他の予め定義されるタッチ動作は、右から左へのドラミング動作の代わりに、左から右へのドラミング動作を含み得る。そのような例では、左から右へのドラミングを含む複数のフォーカス選択動作は、ドラミングの位置に対する更なるタップの位置に従って区別し得る。また、いくつかの例では、3本指の同時タッピング動作を含む複数のフォーカス選択動作は、3本指タッピングの位置に対する更なるタップの位置に従って区別し得る。
【0038】
そのような例では、予め定義される各フォーカス選択動作には、入力レンズを関連付けることができ、受信機モジュール260は、予め定義されるフォーカス選択動作を検出することに応答して、入力フォーカスを関連付けられた入力レンズに与えるように、ローカルコンピューティングデバイス100に命令し得る。例えば、
図2Aの例では、フォーカス選択動作255に入力レンズ211を関連付け得る。そのような例では、タッチセンシティブディスプレイを介してフォーカス選択動作255を検出することに応答して、受信機モジュール260は、入力レンズ211を識別する入力フォーカスコマンド285をローカルコンピューティングデバイス100に提供し得、ローカルコンピューティングデバイス100はそれに応答して、入力フォーカスを入力レンズ211に与え得る。
【0039】
図2Bは、リモート表示エリア270の入力レンズの1つのビュー操作動作後のリモート表示エリア270を表示する、
図2Aの例示的なコンピューティングシステム295の図である。
図2Bの例では、ローカルコンピューティングデバイス100の命令122は、入力レンズ211を識別する入力フォーカスコマンド285に応答して、入力フォーカスを入力レンズ211に与え得る。いくつかの例では、命令122が入力フォーカスを或る入力レンズから別の入力レンズに移す場合、命令122は、リモート表示エリア270が表示される場合、以前に入力フォーカスを有した入力レンズが、入力レンズが入力フォーカスを有した場合と比較して、増大した透明度、低減したサイズ、及び低減したスケールのうちの少なくとも1つを有するような複合表示情報182を生成し得る。例えば、
図2A及び
図2Bに示されるように、入力フォーカスが入力レンズ213から入力レンズ211に移された後、命令122は、入力レンズ213が入力フォーカスを有した場合と比較して増大された透明度を有するように、複合表示情報182を生成し得る。そのような例では、入力フォーカスが入力レンズ211に移された場合、入力レンズ213はより透明になり、入力レンズ211の複数の部分は、入力レンズ213を通して可視である。
【0040】
図2Bの例では、命令122が入力フォーカスを入力レンズ211に与えた後、受信機モジュール260は、ビュー操作動作を検出し得る。例えば、リモート表示エリア270が、リモートコンピューティングデバイス250のタッチセンシティブディスプレイに表示される場合、受信機モジュール260は2本指スプレッドジェスチャを検出し得、モジュール260はこれを、ズームイン動作に関連付けられたものとして判断し得る。それに応答して、モジュール260は、ズームイン動作を指定するビュー操作コマンド287をローカルコンピューティングデバイス100に提供し得る。コマンド287に応答して、ローカルコンピューティングデバイス100の命令124は、入力レンズ211にコマンドが関連付けられているものとして判断し(入力レンズが入力フォーカスを有するため)、ズームイン動作を適用して、GUI170のどの領域が入力レンズ211に描画されるかを変更し得る。いくつかの例では、命令124は、
図2A及び
図2Bに示されるように、入力レンズ211に関連付けられたレンズエリア111の寸法を低減して、ズームイン動作を適用し得る。そのような例では、命令122は、サイズが変更されない入力レンズ211の寸法に合うように、変更されたレンズエリア111内にあるGUI170のより小さな領域をスケーリングし得る。このようにして、命令124はズームイン動作を実行し得る。ズームイン入力レンズ211は、命令122によって生成される情報182において反映し得る。
【0041】
いくつかの例では、命令124がズームイン動作を実行した後、受信機モジュール260は、別のビュー操作動作を検出し得る。例えば、受信機モジュール260は、右へのパンに関連付けられた予め定義された動作(例えば、スワイプ動作等)を検出し得る。これに応答して、モジュール260は、右へのパン動作を指定する別のビュー操作コマンド287をローカルコンピューティングデバイス100に提供し得る。これに応答して、命令124はここでも、入力レンズ211が入力フォーカスを有しているので、入力レンズ211にコマンド287が関連付けられていると判断し、右へのパン動作を適用して、GUI170のどの領域が入力レンズ211に描画されるかを変更し得る。
図2Bの例では、命令124は、入力レンズ211に関連付けられたレンズエリア111の座標を変更して、右へのパン動作を適用し得る。例えば、命令124は、レンズエリア111をGUI170に対して右に移動させ(
図2B及び
図2Cに示されるように)、それにより、GUI170のどの領域が入力レンズ211に描画されるかを変更し得る。そのような例では、命令122は、入力レンズ211に描画される領域が、変更されたレンズエリア111に表示されるGUI170の領域であるような情報182を生成する。
【0042】
図2Cは、入力イベントが、リモート表示エリア270に入力フォーカスを有する入力レンズ内で受け取られる、
図2Bの例示的なコンピューティングシステム295の図である。
図2Cの例では、受信機モジュール260は、リモートコンピューティングデバイス250に入力されるGUI入力イベント254を検出し得る。例えば、モジュール260は、タッチセンシティブディスプレイを介して、リモート表示エリア270内のタップイベントをGUI入力イベント254として検出し得る。他の例では、GUI入力イベント254は、任意の他の適する入力(例えば、マウスクリック等)とし得る。
【0043】
図2Cの例では、GUI入力イベント254の検出に応答して、モジュール260は、ローカルコンピューティングデバイス100に、検出されたGUI入力イベント254の少なくともタイプ及び位置を指定するイベント情報186を提供し得る。そのような例では、命令126は、検出されたGUI入力イベント254が、入力フォーカスを有する入力レンズ211内で受け取られたことを、情報186から判断し得る。これに応答して、命令126は、ローカルコンピューティングデバイス100において、検出されたGUI入力イベントを、GUI入力イベント254が受け取られたリモート表示エリア270に描画されるGUI170の位置で呼び出し得る。
【0044】
例えば、イベント情報186に含まれる位置に基づいて、命令126は、GUI入力イベント254が受け取られた入力レンズ211内の位置に対応するレンズエリア111内の位置のGUI170において、GUI入力イベント254を呼び出し得る。
図2Cに示されるように、GUI入力イベント254は、入力レンズ211に表示されるANDゲートで受け取られ、命令126は、レンズエリア111に表示されるGUI170のANDゲートでGUI入力イベント254を呼び出し得る。
図2Cの例では、GUI入力イベント254は、入力レンズ211及び212が重複するリモート表示エリア270の位置で受け取られるが、命令126は、入力レンズ211が、GUI入力イベント254時に入力フォーカスを有する入力レンズであるため、入力レンズ211に描画されるGUI170の領域内にGUI入力イベント254を呼び出す。
【0045】
図2Dは、別の入力イベントが、リモート表示エリア270に入力フォーカスを有する別の入力レンズ内で受け取られる、
図2Cの例示的なコンピューティングシステム295の図である。
図2Dの例では、モジュール260は、GUI入力イベント254を受け取った後、入力レンズ212に関連付けられたフォーカス選択動作を受け取り得る。フォーカス選択動作の検出に応答して、受信機モジュール260は、入力レンズ212を識別する入力フォーカスコマンド285をローカルコンピューティングデバイス100に提供し得る。命令122は、
図2Dに示されるように、入力レンズ212を識別するコマンド285に応答して、入力フォーカスを入力レンズ212に与え得る。
【0046】
いくつかの例では、命令122が入力フォーカスを入力レンズに与える場合、命令122は、リモート表示エリア270が表示される場合、入力フォーカスが与えられた入力レンズが、入力レンズが入力フォーカスを有さない場合と比較して、増大したサイズ、増大したスケール、及び低減した透明度のうちの少なくとも1つを有するような複合表示情報182を生成し得る。例えば、入力フォーカスが入力レンズ211から入力レンズ212に移った後、命令122は、入力レンズ212が、
図2C及び
図2Dに示されるように、入力フォーカスを有さなかった場合と比較して、低減した透明度を有する(例えば、より不透明である)ような複合表示情報182を生成し得る。いくつかの例では、入力レンズ211は、入力レンズ212に入力フォーカスが与えられた後、入力レンズ212を通して可視ではないことがある。そのような例では、入力フォーカスが入力レンズ212から移った場合、入力レンズ212は再び、入力フォーカスを受け取る前のように(例えば、より大きな透明度等で)表示し得る。
【0047】
図2Dの例では、命令122が入力フォーカスを入力レンズ212に与えた後、受信機モジュール260は、
図1及び
図2Cに関連して上述したように、リモートコンピューティングデバイス250に入力されたGUI入力イベント256を検出し得る。GUI入力イベント256の検出に応答して、モジュール260は、検出されたGUI入力イベント256の少なくともタイプ及び位置を指定するイベント情報186をローカルコンピューティングデバイス100に提供し得る。そのような例では、命令126は、検出されたGUI入力イベント254が、入力フォーカスを有する入力レンズ212内で受け取られたことを、情報186から判断し得る。
【0048】
これに応答して、命令126は、ローカルコンピューティングデバイス100において、GUI入力イベント256が受け取られたリモート表示エリア270に描画されるGUI170の位置で、検出されたGUI入力イベント256を呼び出し得る。
図2Dの例では、イベント情報186に含まれる位置に基づいて、命令126は、GUI入力イベント256が受け取られた入力レンズ212内の位置に対応するレンズエリア112内の位置で、GUI170でのGUI入力イベント256を呼び出し得る。例えば、
図2Dに示されるように、GUI入力イベント256は、入力レンズ212に表示されるオブジェクトOBJ1で受け取られ、命令126は、レンズエリア112に表示されるGUI170内のオブジェクトOBJ1でGUI入力イベント256を呼び出し得る。GUI入力イベント256は、入力レンズ211及び212が重複するリモート表示エリア270の位置で受け取られるが、入力レンズ212はGUI入力イベント256時に入力フォーカスを有するので、命令126は、入力レンズ212に描画されるGUI170の領域内にGUI入力イベント256を呼び出す。
【0049】
図2Dの例では、命令122は、入力レンズが入力フォーカスを有さない場合にリモート表示エリア270が表示される場合、レンズエリアの1つに対応するレンズアイコンがレンズエリアに関連付けられた入力レンズの代わりに表示されるような複合表示情報182を生成し得る。レンズアイコンは、入力フォーカスを有さない入力レンズの表示に関連して本明細書に説明されるように、部分的に透明であり得る。例えば、命令122は、入力レンズ214が入力フォーカスを有さない場合、レンズエリア114に関連付けられた入力レンズ214の代わりにレンズエリア114を表すレンズアイコン274が表示されるような複合表示情報182を生成し得る。そのような例では、入力フォーカスが入力レンズ214に与えられる場合、入力レンズ214をリモート表示エリア270に表示し得る。いくつかの例では、関連付けられた入力レンズが入力フォーカスを有さない場合にこの入力レンズを表示する代わりに、関連付けられた入力レンズが入力フォーカスを有さない場合に任意の所与のレンズエリアをリモート表示エリア270において各レンズアイコンで表し得る。
【0050】
図2Eは、入力フォーカスを有する場合に表示される入力レンズ内で入力イベントを受け取る、
図2Dの例示的なコンピューティングシステム295の図である。
図2Eの例では、
図2Dに関連して上述したように、GUI170においてGUI入力イベント256を呼び出した後、モジュール260は、入力レンズ214に関連付けられたフォーカス選択動作を受信し得る。フォーカス選択動作の検出に応答して、受信機モジュール260は、入力レンズ214を識別する入力フォーカスコマンド285をローカルコンピューティングデバイス100に提供し得る。コマンド285に応答して、命令122は、
図2Eに示されるように、入力フォーカスを入力レンズ214に与え得る。そのような例では、入力フォーカスを入力レンズ214に与えることに応答して、命令122は、リモート表示エリア270が表示される場合、レンズエリア114に関連付けられた入力レンズ214がレンズアイコン274の代わりにリモート表示エリアに表示されるような複合表示情報182を生成し得る。そのような例では、入力レンズ214は、入力フォーカスを有する入力レンズとして表示し得る(例えば、入力フォーカスを有さない入力レンズより不透明であることができる)。
図2Eに示されるように、入力レンズ214は、レンズエリア114に表示されるGUI170の領域を示し得る。
【0051】
図2Eの例では、モジュール260は、リモート表示エリア270の入力レンズを隠すのに実行し得る、予め定義されるレンズ遮蔽動作等の予め定義される制御動作を受け取り得る。それに応答して、モジュール260は、遮蔽コマンド288をローカルコンピューティングデバイス100に提供し得る。遮蔽コマンド288に応答して、命令122は、リモート表示エリア270が表示される場合、前に表示されていた入力レンズがリモート表示エリア270に表示されないような複合表示情報182を生成し得る。例えば、遮蔽コマンド288に応答して、命令122は、入力フォーカスを現在有する入力レンズ以前に入力フォーカスを有する最後の入力レンズを遮蔽し得る。そのような例では、遮蔽コマンド288に応答して、命令122は、
図2Eに示されるように、入力フォーカスを以前有していた入力レンズ212がリモート表示エリア270に表示されないような情報182を生成し得る。他の例では、コマンド288に応答して、別の入力レンズを隠し得る。いくつかの例では、レンズ遮蔽動作は、タッチセンシティブディスプレイにおいて高速連続で2回実行される3本指タップ動作を含み得る。他の例では、レンズ遮蔽動作は、上述したように、予め定義される任意の適する制御動作とし得る。
【0052】
図2Eの例では、命令122が入力フォーカスを入力レンズ214に与えた後、受信機モジュール260は、
図1及び
図2Cに関連して上述したように、リモートコンピューティングデバイス250に入力されるGUI入力イベント258を検出し得る。それに応答して、モジュール260は、検出されたGUI入力イベント258の少なくともタイプ及び位置を指定するイベント情報186をローカルコンピューティングデバイス100に提供し得る。そのような例では、命令126は、検出されたGUI入力イベント258が、入力フォーカスを有する入力レンズ214内で受け取られたことを、情報186から判断し得る。それに応答して、イベント情報186に含まれる位置に基づいて、命令126は、GUI入力イベント258が受け取られた入力レンズ214内の位置に対応するレンズエリア114内の位置で、GUI170においてGUI入力イベント258を呼び出し得る。例えば、
図2Eに示されるように、GUI入力イベント258は、入力レンズ214に描画されるアイコンIC7において受け取られ、命令126は、レンズエリア114に表示されるGUI170で、アイコンIC7においてGUI入力イベント258を呼び出し得る。
【0053】
図2Fは、リモート表示エリア270の入力レンズ213が、入力フォーカスを有する場合により大きなサイズを有する、
図2Dの例示的なコンピューティングシステム295の図である。
図2Fの例では、
図2Dに関連して上述したように、GUI170においてGUI入力イベント256を呼び出した後、モジュール260は、入力レンズ213に関連付けられたフォーカス選択動作を受け取ることができる。それに応答して、受信機モジュール260は、入力レンズ213を識別する入力フォーカスコマンド285をローカルコンピューティングデバイス100に提供し得る。命令122は、
図2Fに示されるように、コマンド285に応答して、入力フォーカスを入力レンズ213に与え得る。いくつかの例では、入力レンズ213が入力フォーカスを有する場合、命令122は、リモート表示エリア270が表示されている場合、入力レンズ213が、入力フォーカスを有さない場合よりも大きく、入力レンズ213の様々な部分が様々なレベルの透明度を有するような複合表示情報182を生成し得る。
【0054】
例えば、コマンド285に応答して、命令124はレンズエリア113のサイズを増大し得、命令122は、入力レンズ213がより大きく、変更されたレンズエリア113に表示されるGUI170のより大きな領域を描画するような情報182を生成し得る。そのような例では、入力レンズ213及び関連付けられたレンズエリア113のサイズの拡大により、メニューMU2とのインタラクションに応答して開かれるカスケード表示されたメニューエリア203を入力レンズ213に完全に表示することが可能になり得る。いくつかの例では、メニューエリア203は、入力レンズ213及びレンズエリア113の各サイズが増大されなかった場合、部分的にのみ表示し得る。
図2Fの例では、より大きな入力レンズ213は、入力レンズ213が入力フォーカスを有する場合に表示されるが、第1の部分213A及び第2の部分213Bを含むこともでき、第2の部分213Bは第1の部分213Aよりも透明である。そのような例では、完全にカスケード表示されたメニューエリア203は、入力レンズ213と重なる全てのコンテンツを見ることを妨げることなく表示し得る。他の例では、入力レンズ全体は、入力レンズのサイズが入力フォーカスを受け取るときに変更された後、均一レベルの透明度を有し得る。
【0055】
図2Gは、複数のレンズプロファイルのうちの1つの選択がリモートコンピューティングデバイス250によって受け取られる、
図2Dの例示的なコンピューティングシステム295の図である。
図2Gの例では、入力レンズ111を利用して、別のアプリケーション104をローカルコンピューティングデバイス100において開き得る。アプリケーション104を開いた後、GUI170はアプリケーション104のウィンドウ106を表示し得、アプリケーション104は、例えば、グラフィックス編集アプリケーションとし得る。
図2Gの例では、ウィンドウ106はアプリケーションコンテンツエリアと、複数の制御エリアとを含む。アプリケーションコンテンツエリアは、アプリケーション104を用いて編集可能な写真を表示する。制御エリアは、メニューMU6〜MU10を含むメニューツールバーと、アイコンIC8〜IC10を含む第1のアイコンツールバーと、アイコンIC11〜IC13を含む第2のアイコンツールバーと、アイコンIC14〜IC18を含む第3のアイコンツールバーとを含む。
【0056】
図2Gの例では、レンズエリア111内のGUI170に表示される写真の一部分は、リモート表示エリア270の入力レンズ211に示し得る。
図2Gの例では、入力レンズ212及び213並びにレンズアイコン274はそれぞれ、
図2Eに関連して上述したように、所定のレンズ遮蔽動作を介して隠し得る。いくつかの例では、1つを除く全ての入力レンズ(及び入力レンズを表すアイコン)は、例えば、高速連続で3回実行される3本指タップ動作を含む動作等の所定のレンズ遮蔽動作を介して隠し得る。関連付けられた入力レンズ又はレンズアイコンが隠される場合、レンズエリア112〜114のそれぞれをなお、ローカルコンピューティングデバイス100に定義し得る。
【0057】
図2Gの例では、モジュール260は、予め定義されるプロファイル選択動作を受け取り得、この動作は、上述した任意の適する制御動作とし得る。プロファイル選択動作に応答して、モジュール260は、プロファイルメニュー272をリモート表示エリア270に表示し得る。他の例では、モジュール260は、リモートコンピューティングデバイス250のGUIの制御機能(例えば、メニュー、アイコン等)の動作に応答して、若しくはリモートコンピューティングデバイス250の任意の他の適する入力デバイス(例えば、ボタン又は他のハードウェアコントロール)の動作に応答して、又はそれらの組み合わせに応答して、プロファイルメニュー272を表示し得る。プロファイルメニュー272は、選択のために複数のレンズプロファイルPRO1〜PRO5の表現を表示し得る。本明細書で用いられる場合、「レンズプロファイル」は少なくとも1つのレンズエリアを定義する情報の集まりである。5つのレンズプロファイルが
図2Gのメニュー272に表されるが、メニュー272は、任意の数のレンズプロファイルの表現を表示し得る。
図2Gの例では、メニュー272を表示した後、モジュール260は別のプロファイル選択動作252を受け取り得、この動作は、メニュー272のレンズプロファイル表現のうちの1つの選択を含み得る。例えば、ユーザは、プロファイル選択動作252を介してレンズプロファイルPRO5を選択し得、この動作は、メニュー272内のレンズプロファイルPRO5の表現をクリックするか、又はタップすることを含み得る。それに応答して、モジュール260は、レンズプロファイルPRO5を識別するプロファイル選択コマンド289をローカルコンピューティングデバイス100に提供し得る。
【0058】
図2Hは、入力イベントが、選択されたレンズプロファイルの入力レンズ内で受け取られる、
図2Gの例示のコンピューティングシステム295の図である。
図2Hの例では、レンズプロファイルPRO5を識別するプロファイル選択コマンド289に応答して、命令122は、選択前に用いられたレンズエリア(例えば、レンズエリア111〜114)の代わりに、レンズプロファイルPRO5によって定義されるレンズエリアに基づいて、情報182を生成し得る。いくつかの例では、命令122は、情報182の生成に用いられる選択されたレンズプロファイルの表示を記憶し得る。
図2Hの例では、レンズプロファイルPRO5は、例えば、各レンズエリアの寸法及び位置を含め、複数のレンズエリア115〜118を定義する。
【0059】
図2Hの例では、命令122は、選択されたレンズプロファイルPRO5のレンズエリア115〜118に基づいて、情報182を生成し得る。そのような例では、情報182は、レンズエリア115〜118にそれぞれ表示されるGUI170の領域を描画する入力レンズ215〜218を含むリモート表示エリア270を生成するのにリモートコンピューティングデバイス250によって使用可能であり得る。いくつかの例では、レンズプロファイルは、入力レンズをリモート表示エリア270にいかに配置するかを指定し得、入力レンズがエリア270に表示される位置は、GUI170に対して、関連付けられたレンズエリアの位置に対応しなくてもよい。例えば、
図2Hの例では、レンズプロファイルPRO5は、レンズ215がリモート表示エリア270と同一の広がりを有し、入力レンズ216及び218がエリア270の上縁部近傍に表示され、入力レンズ217がエリア270の左側に表示されるような情報182を命令122が生成することを指定し得る。いくつかの例では、レンズプロファイルは、レンズプロファイルが適用される場合、第1の入力レンズが入力フォーカスを有することを指定し得る。リモート表示エリア270を、選択されたレンズプロファイル(例えば、レンズプロファイルPRO5)に従って表示した後、入力レンズ内に描画されるGUI170の領域は、例えば、上述したように、関連付けられたレンズエリアを変更することにより、ビュー操作動作に応答して変更し得る。いくつかの例では、モジュール260は予め定義される初期プロファイル状態動作を検出し得、この動作は、
図1に関連して上述した予め定義される制御動作のうちの1つとし得る。初期プロファイル状態動作の検出に応答して、モジュール260は、選択されたプロファイルによって指定される初期状態にエリア270を戻すように、ローカルコンピューティングデバイス100に命令し得る。コマンドに応答して、命令122は、例えば、プロファイルの各レンズエリアを、プロファイルにおいて指定されるその初期状態に戻し得る。
【0060】
いくつかの例では、入力レンズ216が入力フォーカスを有する場合、受信機モジュール260は、上述したように、リモートコンピューティングデバイス250に入力されたGUI入力イベント259を検出し得る。それに応答して、モジュール260は、イベント情報186をローカルコンピューティングデバイス100に提供し得、命令126は、上述したように、検出されたGUI入力イベント259が、入力フォーカスを有する入力レンズ216内で受け取られたことを、情報186から判断し得る。イベント情報186に含まれる位置に基づいて、命令126は、GUI入力イベント259が受け取られた入力レンズ216内の位置に対応するレンズエリア116内の位置で、GUI170においてGUI入力イベント259を呼び出し得る。例えば、
図2Hに示されるように、GUI入力イベント259は、入力レンズ216に描画されるアイコンIC17において受け取られ、命令126は、レンズエリア116に表示されるGUI170内のアイコンIC17において、GUI入力イベント259を呼び出し得る。いくつかの例では、
図2A〜
図2Hに関連して本明細書に説明される機能は、
図1及び
図3〜
図5のうちの任意の図に関連して本明細書に説明される機能と組み合わせて提供し得る。
【0061】
図3は、リモートコンピューティングデバイス250から選択されたレンズプロファイルを受信するローカルコンピューティングデバイス200のプロファイルモジュールを含む例示的なコンピューティングシステム395のブロック図である。
図3の例では、コンピューティングシステム395はローカルコンピューティングデバイス300を備え得、このデバイスは、プロセッサ101と、OS304と、送信側モジュール330と、メモリ340と、ネットワークインターフェース108とを備える。送信側モジュール330はモジュール322、324、326、328、及び329を含み得る。いくつかの例では、モジュール330は追加のモジュールを含み得る。送信側モジュール330の機能は、モジュール322、324、326、328、329、及びモジュール330の任意の他のモジュールの機能を含め、マシン可読記憶媒体にコード化される実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。いくつかの例では、送信側モジュール330の実行可能命令はプロセッサ101によって実行し得る。メモリ340はマシン可読記憶媒体とし得る。いくつかの例では、OS304は、
図1に関連して上述したように、GUIモジュール142を含み得る。
【0062】
コンピューティングシステム395は、
図2A〜
図2Hに関連して上述したように、受信機モジュール260を含むリモートコンピューティングデバイス250も備える。
図3の例では、モジュール260はモジュール362、364、366、及び368を備える。いくつかの例では、モジュール260は追加のモジュールを備え得る。受信機モジュール260の機能は、モジュール362、364、366、368、及びモジュール260の任意の他のモジュールの機能を含め、マシン可読記憶媒体にコード化される実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。そのような例では、モジュール260の実行可能命令は、リモートコンピューティングデバイス250のプロセッサによって実行し得る。
【0063】
図3の例では、リモートコンピューティングデバイス250はタッチセンシティブディスプレイ355を備え得る。本明細書で用いられる場合、「タッチセンシティブディスプレイ」は、ビデオ信号を出力し、タッチの形態のユーザ入力を受信することが可能な、ハードウェア構成要素の任意の組み合わせとし得る。いくつかの例では、タッチセンシティブディスプレイは、複数のタッチ入力を同時に受信し得るマルチタッチセンシティブディスプレイとし得る。タッチセンシティブディスプレイは、例えば、受信したビデオ信号(例えば、リモートディスプレイ情報)を出力するのに適する任意のディスプレイ技術の構成要素を備え得るとともに、例えば、抵抗性、容量性、表面音響波、赤外線、光学撮像、拡散信号検知、インセルシステム等の構成要素等の、タッチを検出する構成要素も備え得る。本明細書に記載の例では、タッチセンシティブディスプレイは、受信したユーザ入力を識別するタッチ情報を出力し得る。
【0064】
図3の例では、プロファイルモジュール324は、リモートコンピューティングデバイス250から、複数のレンズプロファイルから選択された1つを受信し得る。いくつかの例では、選択は、プロファイル選択コマンドとし得る。各レンズプロファイルは複数のレンズエリアを指定し得、各レンズエリアは、ローカルコンピューティングデバイス300のGUIの各領域を定義し得る。そのような例では、表示モジュール322は、選択されたレンズプロファイルに基づいて、リモート表示エリア270を表示するのにリモートコンピューティングデバイス250が使用可能な複合表示情報182を生成し得る。例えば、モジュール322は、選択されたレンズプロファイルの各レンズエリアによって定義されるGUIの領域をそれぞれ描画する複数の入力レンズを含むリモート表示エリア270を表示するのに使用可能な情報182を生成し得る。そのような例では、モジュール322は、ネットワークインターフェース108を介してリモートコンピューティングデバイス250に情報182を提供し得る。
図3の例では、リモートコンピューティングデバイス250の表示モジュール362は、ローカルコンピューティングデバイス100から受信される情報182に基づいて、タッチセンシティブディスプレイ355にリモート表示エリア270を表示し得る。モジュール362は、リモート表示エリア270をディスプレイ355の一部分に(
図3に示されるように)表示し得るか、又はエリア270がディスプレイ355と同一の広がりを有するように、リモート表示エリア270を表示し得る。
【0065】
図3の例では、受信機モジュール260は、検出モジュール366と、イベントモジュール368とを備える入力モジュール364を備え得る。いくつかの例では、検出モジュール366は、
図1に関連して上述したように、リモートコンピューティングデバイス250に入力される制御動作を検出し得る。例えば、モジュール366は、
図2Gに関連して上述したように、リモートコンピューティングデバイス250に(例えば、ディスプレイ355を介して)入力されるプロファイル選択動作を検出し得る。ローカルコンピューティングデバイス300において適用するレンズプロファイルを指定するプロファイル選択動作の検出に応答して、モジュール366は、検出されたプロファイル選択動作によって指定されたレンズプロファイルを識別するプロファイル選択コマンド289をローカルコンピューティングデバイス300に提供し得る。コマンド289に応答して、プロファイルモジュール324は、例えば、表示モジュール322に選択を通知することか、選択されたプロファイルにフラグを立てること等によって、選択されたレンズプロファイルを適用し得る。次に、モジュール322は、選択されたレンズプロファイルによって定義されるレンズエリアに基づいて情報182を生成し得る。
【0066】
図3の例では、メモリ340は、
図1〜
図2Hに関連して上述したように、複数のレンズエリアをそれぞれ指定する複数のレンズプロファイル330を記憶し得る。例えば、複数のレンズプロファイル330は、個々のレンズプロファイル332、334、及び336を含み得る。
図3は3つのレンズプロファイルを示すが、他の例では、複数のレンズプロファイル330は3つよりも多数又は少数のレンズプロファイルを含み得る。他の例では、レンズプロファイル330は、ローカルコンピューティングデバイス300からリモートに記憶し得る。いくつかの例では、各レンズプロファイルは複数のレンズプロファイルパラメータを含み得る。パラメータの例としては、例えば、プロファイルによって指定されるレンズエリアの数と、レンズエリアごとの、関連付けられた入力レンズが入力フォーカスを有する場合及び関連付けられた入力レンズが入力フォーカスを有さない場合の両方におけるローカルコンピューティングデバイスのGUIに対するレンズエリアの寸法及び位置とを挙げることができる。パラメータの例としては、例えば、レンズエリアごとの、入力レンズが入力フォーカスを有する場合及び入力レンズが入力フォーカスを有さない場合の両方におけるリモート表示エリアでの関連付けられた入力レンズの寸法及び位置も挙げ得る。パラメータの例としては、少なくとも1つのレンズエリアに関して、関連付けられた入力レンズが入力フォーカスを有さない場合にレンズエリアを表すレンズアイコンも含み得る。パラメータの例は、レンズエリアに関連付けられた各入力レンズに入力フォーカスを与える予め定義される制御動作と、入力フォーカスを有する場合及び入力フォーカスを有さない場合の入力レンズの透明度のレベルとをも指定し得る。パラメータの例は、フォーカスを有する入力レンズ外で検出される入力をいかに処理するか(例えば、入力の無視、入力レンズのパン/ズーム、入力レンズの動的なサイズ変更等)を指定するとともに、適する入力レンズ外観(例えば、コントラスト、視認性等)を提供する他のパラメータも指定し得る。さらに、入力フォーカスを有する任意の入力レンズから独立した大域的な挙動をプロファイルのパラメータにおいて指定して、リモートコンピューティングデバイスで検出される入力(例えば、制御動作、入力イベント等)の、ローカルコンピューティングデバイスでの動作へのプロファイル固有のマッピングを指定し得る。例えば、パラメータは、リモートコンピューティングデバイスにおいて検出される入力イベントの、ローカルコンピューティングデバイスで呼び出される入力イベントへのプロファイル固有のマッピングを指定し得る。また、例えば、パラメータは、初期プロファイル状態に復帰する予め定義される制御動作、1つ(例えば、コンテンツ入力レンズ)を除く全ての入力レンズを隠す予め定義される制御動作、別のプロファイル(例えば、同じアプリケーションに関連付けられた)に切り替える予め定義される制御動作等、又はそれらの組み合わせを指定し得る。いくつかの例では、プロファイルが選択される場合、ローカルコンピューティングデバイスは、選択されたプロファイルに含まれる情報のうちの少なくともいくらかをリモートコンピューティングデバイスに提供し得る。例えば、ローカルコンピューティングデバイスは、選択されたプロファイルの或る特定の制御動作の、リモートコンピューティングデバイスへのプロファイル固有マッピングを定義する情報を提供し得、それにより、リモートコンピューティングデバイスは、制御動作を検出し、プロファイル固有マッピングに従ってコマンドを生成し得る。また、上述したように、いくつかの例では、リモートコンピューティングデバイスは、受信した複合表示情報に基づいて少なくともいくらかの処理を実行して、リモート表示エリアとして表示する情報を生成し得る。そのような例では、リモートコンピューティングデバイスは、処理を実行して、リモート表示エリアを表示する場合、受信したプロファイル情報(例えば、入力レンズ階層化情報等)を利用し得る。
【0067】
図3の例では、複数のレンズプロファイル330の各レンズプロファイルは、プロファイルによって指定されるレンズエリアの数、レンズエリアの各寸法、及びローカルコンピューティングデバイス300のGUIに対するレンズエリアの各位置を含む。例えば、
図3に示されるように、レンズプロファイル332は、レンズプロファイル332によって指定されるレンズエリアの数を示すパラメータ346、レンズプロファイル332のレンズエリアの各寸法を指定するパラメータ348、及びローカルコンピューティングデバイス300のGUIに対するレンズプロファイル332のレンズエリアの各位置を指定するパラメータ348を含め、複数のレンズパラメータ344を含む。いくつかの例では、複数のレンズプロファイル330の各レンズプロファイルは、レンズプロファイルによって指定されるレンズエリアに関連付けられた入力レンズの、リモート表示エリア270での配置を定義もし得る。そのような例では、表示モジュール322は、リモート表示エリア270が表示される場合、入力レンズが、選択されたレンズプロファイルにおいて指定されるようにリモート表示エリアに配置されるような複合表示情報182を生成し得る。
【0068】
いくつかの例では、少なくともいくつかのレンズプロファイル330は、ローカルコンピューティングデバイス300の各アプリケーションに関連付けられたアプリケーションレンズプロファイルとし得る。
図3の例では、レンズプロファイル332は、ローカルコンピューティングデバイス300の第1のアプリケーションに関連付けられたアプリケーションレンズプロファイルとし得、レンズプロファイル334は、ローカルコンピューティングデバイス300の第2のアプリケーションに関連付けられたアプリケーションレンズプロファイルとし得る。そのような例では、各アプリケーションレンズプロファイルは、プロファイルに関連付けられたアプリケーションを識別する情報を含み得る。例えば、レンズプロファイル332は、レンズプロファイル332に関連付けられたアプリケーションを識別する情報342を含み得る。いくつかの例では、ローカルコンピューティングデバイス300のアプリケーションに関連付けられたレンズプロファイルごとに、レンズプロファイルによって定義されるレンズエリアの各位置を、レンズプロファイルに関連付けられたアプリケーションのウィンドウに対して指定し得る。他の例では、レンズプロファイル330のうちの少なくともいくつかで、プロファイルによって定義されるレンズエリアの各位置は、GUIの特定のウィンドウに対してではなく、表示のためにローカルコンピューティングデバイス300において生成されるGUIの枠の寸法に対して指定される。
【0069】
図3の例では、レンズプロファイル330は、アプリケーションレンズプロファイルに加えて、少なくとも1つのデスクトップレンズプロファイル336を含み得る。いくつかの例では、デスクトップレンズプロファイル336はデフォルトレンズプロファイルとし得、プロファイルモジュール324は、レンズプロファイル選択がリモートコンピューティングデバイスから受信されていない場合、デスクトップレンズプロファイル336を選択し得る。いくつかの例では、デスクトップレンズプロファイル336は、リモート表示エリア270の入力レンズの1つに描画するGUIのデスクトップ制御エリアの一部分を含むGUIの領域を定義するレンズエリアを定義する。そのような例では、GUIのデスクトップ制御エリアは、任意のアプリケーションウィンドウとは別個にアクセス可能な任意の制御特徴(例えば、ツールバー、アイコン、メニュー等)を含み得る。例えば、デスクトップ制御エリアは、GUIによって表示されるデスクトップの特徴を含み得る。
【0070】
図3の例では、表示モジュール322は、デスクトップレンズプロファイル336において定義されるレンズエリアに基づいて、複合表示情報182を生成し得る。リモートコンピューティングデバイス250は、そのような情報182を用いて、デスクトップレンズプロファイル336の各レンズエリアに関連付けられた入力レンズ311〜313を含むリモート表示エリア270を生成し得る。そのような例では、入力レンズ311は、アプリケーションウィンドウが開かれていない場合にアイコンを表示し得るGUIの領域を示し得、入力レンズ312は、GUIの枠の下に表示されるメニュー、ツールバー、又は他の制御エリアを示し得、入力レンズ313はGUIの中央部分を表示し得る。いくつかの例では、入力レンズ312は最初に入力フォーカスを有し得、それにより、ユーザは好都合に、示される制御エリアにアクセスして、例えば、アプリケーションを開始し得る。
【0071】
さらに、
図3の例では、送信側モジュール330は、ビューモジュール328と、イベントモジュール329とを備える入力モジュール326を備える。そのような例では、ビューモジュール328は、
図1〜
図2Cに関連して上述したように、リモート表示エリア270に描画される入力レンズの任意の特定の1つに関して、GUIのどの領域が特定の入力レンズに描画されるかを、GUIのどの領域が任意の他の入力レンズに描画されるかを変更せずに変更し得る。モジュール328は、リモートコンピューティングデバイス250において、特定の入力レンズに関連付けられたビュー操作動作の検出に応答して、どの領域が特定の入力レンズに描画されるかを変更し得る。例えば、検出モジュール366は、リモートコンピューティングデバイス250において入力されるビュー操作動作を検出し得、それに応答して、上述したように、ビュー操作動作及び位置を指定するビュー操作コマンド287をローカルコンピューティングデバイス300に提供し得る。コマンド287に応答して、ビューモジュール328は、どの入力レンズがコマンド287に関連付けられているかを判断し、
図1の命令124に関連して上述したように、GUIのどの領域がその入力レンズに表示されるかを変更し得る。
【0072】
また、
図3の例では、イベントモジュール329は、リモート表示エリア270に表示される入力レンズのうちの任意の所与の1つ内のリモートコンピューティングデバイス250を用いてのGUI入力イベントの検出に応答して、所与の入力レンズが入力フォーカスを有する場合、
図1に関連して上述したように、所与の入力レンズに描画されるGUIの領域内でローカルコンピューティングデバイス300において、GUI入力イベントを呼び出し得る。そのような例では、リモートコンピューティングデバイス250は、検出されたGUI入力イベントの少なくともタイプ及び位置を指定するイベント情報186をローカルコンピューティングデバイス300に提供し得る。そのような例では、イベントモジュール329は、イベント情報186に応答して、ローカルコンピューティングデバイス300においてGUI入力イベントを呼び出し得る。いくつかの例では、
図3に関連して本明細書に説明される機能は、
図1〜
図2H、
図4、及び
図5のうちの任意の図に関連して本明細書に説明される機能と組み合わせて提供し得る。
【0073】
図4は、ローカルコンピューティングデバイスから受信される複合表示情報に基づいて、リモートコンピューティングデバイスにおいてリモート表示エリアを表示する例示的な方法400のフローチャートである。方法400の実行は、
図2A〜
図2Hのコンピューティングシステム295を参照して以下に説明されるが、方法400を実行する他の適する構成要素を利用することができる(例えば、コンピューティングシステム395)。さらに、方法400は、マシン可読記憶媒体にコード化される実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。
【0074】
方法400の405において、リモートコンピューティングデバイス250は、リモート表示エリア270に、ローカルコンピューティングデバイス100のGUI170の各領域をそれぞれ描画する複数の入力レンズを表示し得る。そのような例では、リモートコンピューティングデバイス250の受信機モジュール260は、ローカルコンピューティングデバイス100から受信される複合表示情報182に基づいて複数の入力レンズを表示し得る。410において、リモートコンピューティングデバイス250は、表示される入力レンズのそれぞれ1つにそれぞれ関連付けられた複数の異なるフォーカス選択動作のうちの任意の1つを検出し得る。415において、リモートコンピューティングデバイス250は、いずれであれ、検出されたフォーカス選択動作に関連付けられた入力レンズに入力フォーカスを与えるように、ローカルコンピューティングデバイス100に命令し得る。
【0075】
方法400の420において、ローカルコンピューティングデバイス100は、入力フォーカスを有する入力レンズが、表示される入力レンズのうちの別の入力レンズと重複するリモート表示エリア270の位置でのGUI入力イベントの検出に応答して、いずれであれ、入力フォーカスを有する入力レンズ内に描画されるGUIの位置においてGUI入力イベントを呼び出し得る。そのような例では、ローカルコンピューティングデバイス100の命令126は、
図1に関連して上述したように、GUI入力イベントを呼び出すのに適切なGUI位置を決定し得る。いくつかの例では、命令126は、
図1に関連して上述したように、APIメッセージを介してGUI入力イベントを呼び出し得る。
【0076】
図5は、リモートコンピューティングデバイスを用いてフォーカス選択動作を検出する例示的な方法500のフローチャートである。方法500の実行は、
図2A〜
図2Hのコンピューティングシステム295を参照して以下に説明されるが、方法500を実行する他の適する構成要素も利用し得る(例えば、コンピューティングシステム395)。さらに、方法500は、マシン可読記憶媒体にコード化される実行可能命令の形態、電子回路の形態、又はそれらの組み合わせで実施し得る。
【0077】
方法500の505において、リモートコンピューティングデバイス250は、リモート表示エリア270に、ローカルコンピューティングデバイス100のGUI170の各領域をそれぞれ描画する複数の入力レンズを表示し得る。そのような例では、リモートコンピューティングデバイス250の受信機モジュール260は、ローカルコンピューティングデバイス100から受信される複合表示情報182に基づいて複数の入力レンズを表示し得る。510において、リモートコンピューティングデバイス250は、複数の異なるフォーカス選択動作の任意の1つがリモートコンピューティングデバイス250に入力されるか否かを検出し得る。そのような例では、各フォーカス選択動作に、表示された入力レンズのそれぞれ1つを関連付けることができる。いくつかの例では、各フォーカス選択動作は、リモートコンピューティングデバイス250のタッチセンシティブディスプレイを用いて検出可能な異なるタッチ動作とし得る。
【0078】
510において、フォーカス選択動作の1つが検出される場合、方法500は515に進み得、そこで、リモートコンピューティングデバイス250は、いずれであれ、検出されたフォーカス選択動作に関連付けられた入力レンズに入力フォーカスを与えるように、ローカルコンピューティングデバイス100に命令し得る。520において、リモートコンピューティングデバイス250からのコマンドに応答して、ローカルコンピューティングデバイス100の命令122は、いずれであれ、検出されたフォーカス選択動作に関連付けられた入力レンズに入力フォーカスを与える。次に、方法500は505に進み得る。
【0079】
510において、いずれのフォーカス選択動作も検出されない場合、方法500は525に進み得、そこで、リモートコンピューティングデバイス250は、表示された入力レンズのうちの任意の特定の1つに関連付けられた任意のビュー操作動作がリモートコンピューティングデバイス250に入力されるか否かを検出し得る。ビュー操作動作が検出される場合、方法500は530に進み得、そこで、リモートコンピューティングデバイス250は、ビュー操作コマンドをローカルコンピューティングデバイス100に提供し得る。535において、ビュー操作コマンドに応答して、ローカルコンピューティングデバイス100の命令124は、GUI170のどの領域が、ビュー操作動作に関連付けられた特定の入力レンズ内に描画されるかを、GUI170のどの領域がリモート表示エリア270の任意の他の入力レンズに描画されるかを変更せずに変更し得る。次に、方法500は505に進み得る。
【0080】
525において、ビュー操作動作が検出されない場合、方法500は540に進み得、そこで、リモートコンピューティングデバイス250は、任意のGUI入力イベントがリモートコンピューティングデバイス250に入力されるか否かを検出し得る。入力される場合、方法500は545に進み得、そこで、リモートコンピューティングデバイス250は、検出されたGUI入力イベントを識別する情報186をローカルコンピューティングデバイス100に提供し得る。550において、ローカルコンピューティングデバイス100の命令126は、入力フォーカスを有する入力レンズが、表示される入力レンズのうちの別の入力レンズに重複するリモート表示エリア270の位置でのGUI入力イベントの検出に応答して、いずれであれ、入力フォーカスを有する入力レンズ内に描画されるGUI170の位置においてGUI入力イベントを呼び出し得る。そのような例では、受信した情報186に基づいて、命令126は、
図1に関連して上述したように、GUI入力イベントを呼び出すのに適切なGUI位置を決定し得る。いくつかの例では、命令126は、
図1に関連して上述したように、APIメッセージを介してGUI入力イベントを呼び出し得る。次に、方法500は505に進み得る。
【0081】
540において、GUI入力イベントが検出されない場合、方法500は560に進むことができ、そこで、リモートコンピューティングデバイス250は、複数のレンズプロファイルのうちの1つを識別するプロファイル選択動作がリモートコンピューティングデバイス250に入力されるか否かを検出し得る。入力される場合、方法500は565に進み得、そこで、リモートコンピューティングデバイス250は、識別されたレンズプロファイルに従って複合表示情報182を生成するように、ローカルコンピューティングデバイス100に命令し得る。570において、リモートコンピューティングデバイス250からのコマンドに応答して、ローカルコンピューティングデバイス100の命令122は、識別されたレンズプロファイルに従って複合表示情報182を生成し得る。そのような例では、複数のレンズプロファイルのそれぞれは複数のレンズエリアを指定し、各レンズエリアは、プロファイルの選択に応答して、入力レンズのそれぞれ1つに描画されるGUI170の領域を定義する。次に、方法500は505に進み得る。さらに、560において、プロファイル選択動作が検出されない場合、方法500は505に進み得る。