(57)【要約】本発明は、ロバストなナビゲーションインタフェースを提供することによってコンピュータキーボード及びマウスを補完（必ずしも取って代わらない）する機能強化されたユーザナビゲーションのシステム、方法及び製品を提供する。本発明は、最小限必要なコマンドグループ；少なくとも２つのコマンドコールのセットの機能を結合して単一な論理的ボタンにすること；単一のボタンについて、コマンドコールのセットに対して最も高い優先順位から最も低い優先順位に優先付けを行い、１つのコマンドが受諾されるまで各コマンドをコールすること；物理的に回転可能な表示装置に結合されるナビゲーショナル装置のボタンにコマンドを論理的に再マッピングすること；および、論理的ボタンの主要な用いられ方（例えば、ダブルクリッキング、フリッキング、プレスアンドホールド等）以外の所定の方法で用いられる場合に代用コマンドを論理的ボタンに配置し、特に、代用コマンドが実際に発行されるようにすること、を備えることができる。
2006510137.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの論理的ボタンを備えるナビゲーショナル装置の機能を拡張する方法において、
第１のコンテキストにおいて第１のコマンドを発行する前記論理的ボタンと、
第２のコンテキストにおいて第２のコマンドを発行する前記論理的ボタンと
を備えることを特徴とする方法。
【請求項２】
前記第１のコマンドは、前記第２のコマンドと同じでなく、前記第１のコンテキストは、前記第２のコンテキストと同じでないことを特徴とする請求項１記載の方法。
【請求項３】
第３のコンテキストにおいて第３のコマンドを発行する前記論理的ボタンをさらに備えることを特徴とする請求項１記載の方法。
【請求項４】
コマンドは、ステップすることであることを特徴とする請求項３記載の方法。
【請求項５】
コマンドは、スクロールすることであることを特徴とする請求項３記載の方法。
【請求項６】
コマンドは、ページすることであることを特徴とする請求項３記載の方法。
【請求項７】
コマンドは、アクセスすることであることを特徴とする請求項３記載の方法。
【請求項８】
コマンドは、アブストラクトすることであることを特徴とする請求項３記載の方法。
【請求項９】
ｎｔｈコンテキストにおいてｎｔｈコマンドを発行する前記論理的ボタンをさらに備えることを特徴とする請求項１記載の方法。
【請求項１０】
請求項１記載の方法を実行するシステム。
【請求項１１】
請求項１記載の方法を実行するコンピュータ可読命令を有するコンピュータ可読媒体。
【請求項１２】
請求項１記載の方法を実行するハードウェア制御装置。
【請求項１３】
押下されることによってコマンドを発行する論理的ボタンを少なくとも１つ備えるハードウェア制御装置において、
前記論理的ボタンが第１のコンテキストにおいて第１のコマンドを発行するための手段と、
前記論理的ボタンが第２のコンテキストにおいて第２のコマンドを発行するための手段と
を備えることを特徴とするハードウェア制御装置。
【請求項１４】
押下されることによってコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法において、
ボタンが押下以外の所定の方法で使用される場合、代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが押下以外の所定の方法で使用される場合、代用コマンドを発行するステップと
を含むことを特徴とする方法。
【請求項１５】
論理的ボタンが押下以外の所定の方法で使用される場合、論理的ボタンは、所定の時間枠内で２度押され、代用コマンドを発行することを特徴とする請求項１４記載の方法。
【請求項１６】
論理的ボタンが押下以外の所定の方法で使用される場合、論理的ボタンは、所定時間の間押された状態で保たれ、代用コマンドを発行することを特徴とする請求項１４記載の方法。
【請求項１７】
転がりによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法において、
論理的ボタンが転がり以外の所定の方法で使用される場合、代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが転がり以外の所定の方法で使用される場合、代用コマンドを発行するステップと
を含むことを特徴とする方法。
【請求項１８】
論理的ボタンが転がり以の所定の方法で使用される場合、論理的ボタンは、軽く打たれ、代用コマンドを発行することを特徴とする請求項１７記載の方法。
【請求項１９】
ロッキングによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法において、
論理的ボタンがロッキング以外の所定の方法で使用される場合、代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンがロッキング以外の所定の方法で使用される場合、代用コマンドを発行するステップと
を含むことを特徴とする方法。
【請求項２０】
論理的ボタンがロッキング以外の所定の方法で使用される場合、論理的ボタンはロックされた状態で保たれ、代用コマンドを発行することを特徴とする請求項１９記載の方法。
【請求項２１】
押下によって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法を実行するシステムにおいて、
ボタンが押下以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが押下以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を含むことを特徴とするシステム。
【請求項２２】
論理的ボタンが押下以外の所定の方法で使用される場合、論理的ボタンは所定の時間枠内に２度押され、代用コマンドを発行することを特徴とする請求項２１記載のシステム。
【請求項２３】
論理的ボタンが押下以外の所定の方法で使用される場合、論理的ボタンは所定の時間の間押された状態で保たれ、代用コマンドを発行することを特徴とする請求項２１記載のシステム。
【請求項２４】
転がりによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法を実行するシステムにおいて、
論理的ボタンが転がり以外の所定の方法で使用される場合に論理的ボタンに代用コマンドをマッピングするステップと、
論理的ボタンが転がり以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を含むことを特徴とするシステム。
【請求項２５】
論理的ボタンが転がり以外の所定の方法で使用される場合に論理的ボタンは、軽く叩かれ、代用コマンドを発行することを特徴とする請求項２４記載のシステム。
【請求項２６】
ロッキングによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法を実行するシステムにおいて、
論理的ボタンがロッキング以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンがロッキング以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を含むことを特徴とするシステム。
【請求項２７】
論理的ボタンがロッキング以外の所定の方法で使用される場合、論理的ボタンはロックされた状態を保ち、代用コマンドを発行することを特徴とする請求項２６記載のシステム。
【請求項２８】
押下によって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのコンピュータ可読命令を有するコンピュータ可読媒体において、前記方法が、
ボタンが押下以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが押下以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を備えることを特徴とするコンピュータ可読媒体。
【請求項２９】
論理的ボタンが押下以外の所定の方法で使用される場合、論理的ボタンは所定の時間枠内に２度押され、代用コマンドを発行することを特徴とする請求項２８記載のコンピュータ可読媒体。
【請求項３０】
論理的ボタンが押下以外の所定の方法で使用される場合に、論理的ボタンは所定の時間の間押された状態が保たれ、代用コマンドを発行することを特徴とする請求項２８記載のコンピュータ可読媒体。
【請求項３１】
転がりによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのコンピュータ可読命令を有するコンピュータ可読媒体において、前記方法が、
論理的ボタンが転がり以外の所定の方法で使用される場合に、代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが転がり以外の所定の方法で使用される場合に、代用コマンドを発行するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項３２】
論理的ボタンが転がり以外の所定の方法で使用される場合に、論理的ボタンは軽くたたかれ、代用コマンドを発行することを特徴とする請求項３１記載のコンピュータ可読媒体。
【請求項３３】
ロッキングによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのコンピュータ可読命令を有するコンピュータ可読媒体において、前記方法が、
論理的ボタンがロッキング以外の所定の方法で使用される場合に、代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンがロッキング以外の所定の方法で使用される場合に、代用コマンドを発行するステップと
を含むこと特徴とするコンピュータ可読媒体。
【請求項３４】
論理的ボタンがロッキング以外の所定の方法で使用される場合に、論理的ボタンはロックされた状態を保たれ、代用コマンドを発行することを特徴とする請求項３３記載のコンピュータ可読媒体。
【請求項３５】
押下によって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのハードウェア制御装置において、前記方法が、
ボタンが押下以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが押下以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を含むことを特徴とするハードウェア制御装置。
【請求項３６】
論理的ボタンが押下以外の所定の方法で使用される場合に、論理的ボタンは所定の時間枠内に２度押され、代用コマンドを発行することを特徴とする請求項３５記載のハードウェア制御装置。
【請求項３７】
論理的ボタンが押下以外の所定の方法で使用される場合に、論理的ボタンは所定の時間の間押された状態が保たれ、代用コマンドを発行することを特徴とする請求項３５記載のハードウェア制御装置。
【請求項３８】
押下によって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるハードウェア制御装置において、
ボタンが押下以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングする手段と、
論理的ボタンが押下以外の方法で使用される場合に代用コマンドを発行する手段と
を備えることを特徴とするハードウェア制御装置。
【請求項３９】
転がりによって使用される場合にコマンドを発行する論理的ボタン少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのハードウェア制御装置において、前記方法が、
論理的ボタンが転がり以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンが転がり以外の所定の方法で使用される場合に代用コマンドを発行するステップと
を含むこと特徴とするハードウェア制御装置。
【請求項４０】
論理的ボタンが転がり以外の所定の方法で使用される場合に、論理的ボタンは、軽く叩かれ、代用コマンドを発行することを特徴とする請求項３９記載のハードウェア制御装置。
【請求項４１】
転がりによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるハードウェア制御装置において、
論理的ボタンが転がり以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングする手段と、
論理的ボタンが転がり以外の所定の方法で使用される場合に代用コマンドを発行する手段と
を備えることを特徴とするハードウェア制御装置。
【請求項４２】
ロッキングによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ備えるナビゲーショナル制御装置の機能を拡張する方法のためのハードウェア制御装置において、前記方法が、
論理的ボタンがロッキング以外の所定の方法で使用される場合に代用コマンドを論理的ボタンにマッピングするステップと、
論理的ボタンロッキング以外の所定の方法で使用される場合代用コマンドを発行するステップと
を含むことを特徴とするハードウェア制御装置。
【請求項４３】
論理的ボタンがロッキング以外の所定の方法で使用される場合、論理的ボタンはロックされた状態を保ち、代用コマンドを発行することを特徴とする請求項４２記載のハードウェア制御装置。
【請求項４４】
ロッキングによって使用される場合にコマンドを発行する論理的ボタンを少なくとも１つ含むハードウェア制御装において、
論理的ボタンがロッキング以外の所定の方法によって使用される場合、代用コマンドを論理的ボタンにマッピングする手段と、
論理的ボタンがロッキング以外の所定の方法によって使用される場合、代用コマンドを発行する手段と
を備えることを特徴とするハードウェア制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ユーザーインタフェース分野に関し、より詳細には、コンピュータシステム環境と連動して用いられるナビゲーショナル制御装置等のイベント処理に関する。しかし、本発明は、コンピュータにおいて使用されることに限定されない。逆に言うと、本明細書に開示された本発明の各種の実施形態を用いれば、日常使用する様々な装置やその他のシステムにおいて本発明を使用できる可能性がある。
【背景技術】
【０００２】
コンピュータ産業は、キー、ホイール(wheel)及び画面上のボタンをナビゲーションのために使用することに長く重点を置いてきた。したがって、今日用いられている多種多様なナビゲーションモデルに対応するためには、普通サイズのキーボード、用途に特化したコマンドボタン、マウス、及び、様々なオンスクリーンインタフェースが共に必要となる。しかし、現在のナビゲーション装置は、新しく画期的なコンピュータ化された技術（ラップトップの進化型の後継機になることをねらったタブレットPC等）に適応しておらず、さらに、キーボード、マウス、その他の現行装置、又は、これら組み合わせは、これら新しく発展中の技術のナビゲートに関して十分又は的確に対応していない。簡単に言えば、コンピュータ産業は、その他の現行モデルを補完するか或いはそれらに取って代わるナビゲーションの単純モデルに向けられた技術上の明白なニーズに対して十分に取り組んでいない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、コンピュータ上での使用に限定されないが、コンピュータシステム環境での使用にとても適した各種実施形態のユーザー・ナビゲーション・インタフェースに関する。これらの関連発明は、マウスよりも力強く、しかし、キーボードほど複雑でないシングルユーザナビゲーションを提供することによって、コンピュータキーボード及びマウスを補完（必ずしも取って代わらない）する機能強化されたユーザナビゲーションのシステム及び方法を提供する。多くの実施形態において、関連発明は、（マウスのように）利用のために片手だけを求め、コンピュータキーボードから直接コールされる今までの実質的機能を備える装置として使用されることが見込まれる。
【課題を解決するための手段】
【０００４】
本発明の一実施形態は、オブジェクトに適用されるコマンドグループの中の１つのコマンドに対する論理的入力をユーザが生成できるようにするインタフェースを備えたユーザーインタフェースシステムに関し、最低限必要なコマンドグループを備えたコマンドグループを開示する。代替実施形態においては、最低限必要なコマンドグループは、ユーザーインタフェースシステムのための４つのコマンド、例えば、ENTER、UP、 DOWN 、OUTを備える。その他の実施形態においては、一部のコマンドは、（後述の）ホイール又はドッグボーン(dogbone)の装置の変形物を操作することによって実行される。
【０００５】
本発明の一実施形態は、（キーボードキーを含むが、それに限定されない）少なくとも２つのコマンドコールからなる組の機能を一つの論理的ボタンに一体化して組み込む方法に関する。一部の実施形態においては、その組み込みは、コマンドコールの組に最上位から最下位までの優先順位をつけ、次に、オペレーティングシステムのシェルフックを使って、優先順位が最下位のコマンド以外の１つが「受け入れられる」（承認され実行される）か、又は、優先順位が最下位のコマンド以外のすべてが「拒否される」（承認されない）まで、優先順位が最下位のコマンド以外のすべてのコマンドに対するアプリケーションコマンドコールを作り、次に、オペレーティングシステムコマンドとして最下位のコマンドを発行することによって行われる。例えば、一部の代替実施形態においては、OUTを、Backコマンドコール又はEscapeコマンドコールと等価とすることができるが、関連発明のその他の多くの実施形態で採用される重要な結合は、BackコマンドコールとEscapeコマンドコールを併合してOUTコマンドにすることである。オペレーティングシステムシェルフックを用いて、コマンドをアプリケーションコマンドとしてアプリケーションに向けて発行し、そのアプリケーションコマンドが拒否された場合には、別のコマンドを、直接、オペレーティングシステムに発行することによってコマンドを縦続(cascading)させる本方法は、多くの実施形態において、比較的簡単に片手で操作可能なナビゲーション装置の機能を上手に働かせるための要所である。その他の実施形態は、限られた数の論理的ボタンによって得られるコアコマンド機能を拡張するための別の方策を採用する。
【０００６】
各種の縦続実施形態の中で、特定の縦続結合は、本発明の多数の実施形態にとって特に有益である。論理的ボタンの名前及びそれらに対応する縦続コマンド（高優先コマンドから低優先コマンドへ段々に）によって示される縦続イベントの一部を以下に示す。
【０００７】
・UP:  APPCOMMAND_UP →  Up Arrow →  Scroll Up →  Page Up  
・DOWN: APPCOMMAND_DOWN →  Down Arrow →  Scroll Down →  Page Down
・NEXT: APPCOMMAND_NEXT →  Tab →  Right Arrow
・PREV: APPCOMMAND_PREV →  Shift-Tab →  Left Arrow
・ENTER: APPCOMMAND_ENTER →  Return →  Enter →''Play''
・OUT:  APPCOMMAND_OUT →  Browser Back → Escape →  ''Stop'' → Alt-F4
・SWITCH: APPCOMMAND_SWITCH →  Alt-Escape →  Alt-Tab →  Windows Key →
Home
・MENU:  APPCOMMAND_MENU →  Shift-F10 →  ''Settings''
【０００８】
本明細書では、''Play'' と''Stop''は、メディアアプリケーション等の特殊コンテキストのための特殊コマンドであり、''Setting''は、その他の特殊コンテキストのメニュー設定等のための特殊コマンドである。
【０００９】
その他の代替実施形態は、最初に表示装置の向きを判定し、表示装置の向きに基づいてコマンドを論理的ボタンに論理的に再マッピングすることによって、物理的に回転可能な表示装置に連結したナビゲーション装置のボタンに対してコマンドを論理的に再マッピングする方法及びシステムを開示する。一部の実施形態においては、表示装置の表示方向が別の方向に変わった場合には、おそらく表示装置の物理的な方向の変化に合わせるために、論理的ボタンに対するコマンドの論理的マッピングが自動的に起きる。その他の実施形態においては、表示方向は、表示装置自身の表示方向に基づいて判断される。一部の実施形態においては、ナビゲーショナルインタフェースが水平線に対して非対称の垂直線であり、論理的再マッピングは、エンドユーザによる論理的使用に合致する所定の方法で、コマンドを論理的ボタンに再マッピングする。
【００１０】
さらなる代替実施形態は、ボタンが、論理的ボタンが関与する主要な方法(ダブルクリック、フリッキング(flicking)、プレスアンドホールド(press-and-hold)等)以外の所定の方法に関与する場合に、代用コマンドを論理的ボタンにマッピングして代用コマンドを実際に発行することによってナビゲーショナル制御装置の機能を拡張するシステム及び製品を開示する。
【発明を実施するための最良の形態】
【００１１】
（はじめに）
本主題は、法定要件を満たすために特別な形で説明される。しかし、この説明によって特許の範囲が限定されることを意図しない。むしろ、発明者は、この書類に記載されたものに類似する別の構成要素又は構成要素の組み合わせを含めるために、特許請求された主題が、その他の特許又は将来の技術と連携したその他の方法で具現化されてもよいと考える。
【００１２】
（コンピュータ環境）
本発明の多数の実施形態はコンピュータで実行することができる。図１及び以下の説明は、本発明を実行するのに適したコンピュータ環境を簡単かつ一般的に説明するためのものである。必須ではないが、本発明を、クライアント・ワークステーションやサーバ等のコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的な文脈を使って説明する。通常、プログラムモジュールには、ルーティン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれ、これらは、特別なタスクを実行し、また、特別な抽象データ型を実装する。また、当業者であれば、本発明をハンドヘルドコンピュータ、マルチプロセッサシステム、プログラム可能な家庭用電子機器ベースのマイクロプロセッサ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等のコンピュータシステム構成を用いて実施できることを理解するであろう。本発明は、通信ネットワークを介してリンクされた遠隔処理装置によってタスクが処理される分散コンピューティング環境においても実施できる。分散コンピューティング環境においては、プログラムモジュールをローカルメモリ記憶装置及びリモートメモリ記憶装置の両方に置くことができる。
【００１３】
図１に示すように、汎用コンピューティングシステムは、処理ユニット２１と、システムメモリ２２と、システムメモリを含むシステムコンポーネントを処理ユニット２１に連結するシステムバス２３とを有した従来型のパーソナルコンピュータ２０等を備える。システムバス２３は、メモリバス又はメモリコントローラ、周辺バス、多様なバス構造のいずれかを使用するローカルバス等の幾つかある種類のバス構造のいずれかでよい。システムメモリは、リードオンリーメモリ(ROM)２４とランダムアクセスメモリ(RAM)２５を備える。基本入出力システム２６(BIOS)は、パーソナルコンピュータ２０の構成要素間で起動時に情報を転送するのに役立つ基本ルーティンを含み、ROM２４に格納される。パーソナルコンピュータ２０は、ハードディスク（図示なし）との間で読み書きを行うハードディスクドライブ２７と、可動式磁気ディスク２９との間で読み書きを行う磁気ディスクドライブと、CD ROM又は他の光メディア等の取り外し可能な光ディスク３１との間で読み書きを行う光ディスクドライブ３０とをさらに備える。ハードディスクドライブ２７、磁気ディスクドライブ２８および光ディスクドライブ３０は、各々、ハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、光ドライブインタフェース３４に接続される。これらのドライブ及びこれらと関連するコンピュータ読み取り可能媒体は、パーソナルコンピュータ２０のために、コンピュータ可読命令、データ構造、プログラムモジュール及びその他のデータの不揮発性記憶を提供する。本明細書に記載の環境例では、ハードディスク、可動式磁気ディスク２９及び可動式光ディスク３１が用いられているが、コンピュータからアクセス可能なデータを記憶できる他の種類のコンピュータ読み取り可能媒体、例えば、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ（Bernouli cartridges）、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)等をこのオペレーティング環境例で使用してもよいことを当業者は理解するはずである。
【００１４】
オペレーティングシステム３５、１又は複数のアプリケーションプログラム３６、その他のプログラムモジュール３７及びプログラムデータ３８を含む多数のプログラムモジュールをハードディスク、磁気ディスク２９、光ディスク３１、ROM.２４、又は、RAM２５に記憶させることができる。ユーザは、キーボード４０、ポインティングデバイス４２等の入力装置を介してパーソナルコンピュータ２０にコマンド及び情報を入力できる。その他の入力装置（図示なし）は、マイクロホーン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナー等を備えることができる。これらの入力装置及びその他の入力装置は、システムバスに連結したシリアルポートインタフェース４６を介して処理ユニット２１に接続されることが多いが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)等の他のインタフェースを介して接続されてもよい。モニター４７又は他の種類の表示装置は、ビデオアダプター４８等のインタフェースを介してシステムバス２３に接続される。モニター４７やパーソナルコンピュータは、通常、スピーカーやプリンター等の他の周辺出力装置（図示なし）を備える。図１のシステム例は、ホストアダプター５５、スモール・コンピュータ・システム・インタフェース(SCSI)バス５６及びSCSIバス５６に接続された外部記憶装置６２を備える。
【００１５】
パーソナルコンピュータ２０は、リモートコンピュータ４９等の１又は複数のリモートコンピュータとの論理的な接続を用いて、ネットワーク環境において動作することができる。リモートコンピュータ４９は、別のパーソナルコンピュータ、サーバ、ルーター、ネットワークＰＣ、ピアデバイス(peer device)、又は、他の共通のネットワークノードであってもよく、図１では１つの記憶装置５０だけが示されているが、通常は、パーソナルコンピュータ２０に関連する上述の構成要素の多くを又は全てを備える。図1に示した論理的な接続には、ローカルエリアネットワーク(LAN)５１、広域ネットワーク(WAN)５２が含まれる。このネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット及びインターネットにおいては、一般的である。
【００１６】
パーソナルコンピュータ２０は、LANネットワーキング環境で使用される場合、ネットワークインタフェース又はアダプター５３を介してLAN５１に接続される。パーソナルコンピュータ２０は、WANネットワーキング環境で使用される場合、通常、インターネット等の広域ネットワーク５２上で通信を確立するためのモデム５４又は他の手段を備える。モデム５４は、内部にあっても外部にあってもよく、シリアルポートインタフェース４６を介してシステムバス２３に接続される。ネットワーク環境においては、パーソナルコンピュータ２０と関連するプログラムモジュール又はそれらの一部をリモートメモリ記憶装置に記憶させることができる。図示されたネットワーク接続は例であり、コンピュータ間で通信リンクを確立する他の手段を用いてもよいことが理解されるであろう。本発明の多数の実施形態は、コンピュータ化されたシステムにとって特に適切であると想像されるが、本発明をその実施形態に限定させることを意図するものは本書類にはない。これに対して、
コンピュータシステムという用語は、押しボタンを含む装置、又は、ボタン又はボタンの等価物が押されたことを判断できる装置のいずれか又はすべてを包含することを意図し、それらの装置が電気的、機械的、論理的、又は、仮想であるかどうかとは無関係である。
【００１７】
（ネットワーク環境）
図２は、本発明の態様を実施できるネットワーク環境の例を示す。実際のネットワークおよびデータベースの環境はいろいろな構成で配置され得る。しかしながら、ここで示す環境例は、本発明が動作する環境の種類を理解するためのフレームワークを示す。
【００１８】
本ネットワークは、クライアントコンピュータ２０a、サーバコンピュータ２０ｂ、データソースコンピュータ２０ｃ、データベース７０、７２a、７２ｂを備える。クライアントコンピュータ２０aとデータソースコンピュータ２０ｃは、イントラネット等の通信ネットワーク８０を介してサーバコンピュータ２０ｂと電気的通信を行う。クライアントコンピュータ２０aとデータソースコンピュータ２０ｃは、通信インタフェース８２を経由し通信ネットワークに接続される。通信インタフェース８２は、イーサネット（登録商標）結合、モデム結合等の良く知られた通信インタフェースのどれかである。
【００１９】
サーバコンピュータ２０ｂは、データベースサーバシステムソフトウェアを使ってデータベース７０を管理するが、これについては詳しく後述する。したがって、サーバ２０ｂは、多種類のデータソースから送られるデータの貯蔵庫としての役割を果たし、そのデータを多様なデータコンシューマに提供する。
【００２０】
図２の例では、データソースは、データソースコンピュータ２０ｃによって提供される。データソースコンピュータ２０ｃは、LAN、WAN、イントラネット、インターネット等の通信ネットワーク８０を介してデータをサーバコンピュータ２０ｂに通信する。データソースコンピュータ２０ｃは、データベース７２a、７２ｂに局所的にデータを格納するが、これらのデータは、リレーショナルデータベースサーバ、エクセルスプレッドシート、ファイル等でよい。例えば、データベース７２aは、テーブル１５０、１５２、１５４に保存されたデータを示す。データソース２０ｃによって提供されるデータは、組み合わされて、サーバ２０ｂによって整備されるデータ貯蔵庫等の大規模データベース内に保存される。サーバコンピュータ２０ｂによって保存されるデータの使用を望むクライアントコンピュータ２０aは、通信ネットワーク８０を介してデータベース７０にアクセスできる。クライアントコンピュータ２０aは、ＳＱＬクエリー（例：更新、挿入、削除）を使って、データベース７０に保存されているそのデータを要求する。
【００２１】
（概要）
本発明の一部の実施形態にとって“オブジェクト”は、限定せずに、ダイアログボックス、メニュー、ウェブページ、テキストページ、可動の図面オブジェクト、又は、当業者により知られ理解される、コンピュータシステムの他のアイテムとから構成される。本発明を説明するために、全てのオブジェクトを便宜的に４つのカテゴリーに分類可能と仮定する。４つのカテゴリーとは、（１）ユーザが複数の要素の中から１の要素を選択するための、ダイアログボックス、メニュー等の選択ボックス、（２）編集可能なテキストオブジェクト等のコンテンツオブジェクト、（３）可動図面オブジェクト(MDOs)、および、（４）オーディオオブジェクトである。実際には、もっと多くのカテゴリーが考えられ、かつ望まれるが、それらのカテゴリーを含めた場合、追加のオブジェクトグループの独自の特性に対応するために当業者に対して本明細書記載のロジックの拡張を単に要求するだけであるため、そのような拡張は本発明によって予期され開示されているとみなすべきである。
【００２２】
入力デバイス上で、ボタンが押され、又は、（後述する）ホイール又はドッグボーン(dogbone)が転がされ又は回転し又はロックされたときはすぐに、基本的な物理的相互作用によって、本発明をともなう使用のための論理的入力を構成する適切な電気信号が生成される（そのよう論理的入力は、当業者によって広く知られ、理解されている。）。ボタン、ホイール、ドッグボーン以外の入力装置(例えば、音声認識入力、赤外線信号入力、パテント認識入力(patent recognition input)等があるが、これらに限定されない。)  を用いた物理的相互作用によって生成される論理的入力は、本発明の各種実施形態をともなう使用に適するであろう。したがって、本明細書のいかなる事項も、論理的入力を本明細書に明示的に開示された装置グループに単に制限するために解釈すべきではない。しかし、便宜上、物理的相互作用のために役に立つ構成要素（例えば、ボタン）への言及は、各物理的相互作用によって生じる論理的入力への直接的な言及になるものとする。換言すると、ボタン、ホイール、ドッグボーン、または、他のそのような装置を含んだ入力装置の構成要素は、物理的に作用を受けた場合に、本明細書に記載された実施形態の論理的入力を構成するものとする。したがって、限定のない例として、「ENTER ボタン」は、「ENTERのための論理的入力」の１形態である。
【００２３】
ユーザが直ちに識別でき、簡単かつ一貫性のある方法で情報をナビゲートするために使用するインタフェース装置の基礎を提供する主なボタン／ホイール／ドッグボーングループは、本発明の各種実施形態の中心に位置する。本実施形態は、一般的に最低限必要なコマンド(コアコマンド)のグループのための論理的ボタンのコアグループを備え、一部の実施形態は、ナビゲーションコマンド（補助的コマンド）の補助的セットに対する付加的な論理的ボタンを備える。論理的ボタンは、（後に詳細に定義され説明される）ホイール又はドッグボーンからの明白な入力イベントの個別ボタン又は論理的な等価物、又は、論理的ボタンの組み合わせを備え、各種実施形態によって利用されてコアコマンド及び補助的コマンドを作り出す。その他の実施形態においては、比較的少ない物理的構成要素を備えかなりの数の論理的ボタンを処理して、コアコマンドや補助的コマンドをはるかに超える驚異的なナビゲーショナル機能を実行できるが、当該機能は、場合によっては、オブジェクト、アプリケーション、又は、特定及び／又は変更可能な装置であり得る一般的コマンドを含んでもよい。
【００２４】
本発明の多くの実施の形態におけるコアコマンドは、おおよそ、Up、Down、Enter、Escapeのキーボードキーイベントと同等である。なぜなら、これらのコアコマンドは、スキャンニングや切り替えという２つの最も基本的なナビゲーションの機能  ―スキャンニングビューと選択、ビューの中で受諾すること又は拒否すること及び選択―  と通常最も関連するコマンドコールであるからである。UpとDownの十字キーはスキャンのための唯一の方法ではない。しかし、メニュー、一覧表、スクローリングビューは、全て、垂直軸に沿って配列され、これらの２つのキー操作に常に反応するため、これらのキーは、この基本的なユーザ作業にとって最も十分に確立したものである。この関連性は、本発明におけるスキャンニング軸に関するユーザの概念モデルの基礎を形成する。同様に、Enterキーは、スクリーン（グラフィカルユーザーインタフェース又はGUI）上で目下選択されている機能をすべてアクティブにし又は実行する大変頼もしい手段として、ほとんど例外なく、コンピュータユーザに知られている。また、一般的に、Escapeは、意味的にはEnterと反対のものとみなされており、メールメッセージを閉じることやダイアログボックスを閉じること等の多くの共通的なバックアウトシナリオを取り扱う。しかし、本発明の多くの実施の形態の重要な態様は、ナビゲーションの機能が、ナビゲートされるコンテキストやアプリケーションオブジェクトに基づいて変わり得るということである。また、ナビゲーションの追加機能は、補助的コマンドによって実行される。
【００２５】
Escape機能について言うと、本明細書に記載された発明の各種実施形態の別の重要な態様は、従来のEscape機能がデート(date)に適しているという事実があるにもかかわらず、長年にわたりEscape機能の実行は、本明細書に記載された発明の多くの実施形態のコアコマンドとしての役目を果たすことに実際には完全に制限される。例えば、アプリケーション内のウィンドウオブジェクトを閉じるさいに、大抵のウィンドウはEscapeキーには実際には反応せずに「Alt-F4」キーボードの打鍵に反応するだけであるということが広く理解されている。ナビゲーションの「履歴」―  すなわち、ナビゲーションは、ナビゲーションの結果である何らかの論理的なパスに沿っており、ツリー構造データ又はその他のツリー構造オブジェクトである。―  をそなえたアプリケーションについて言うと、ウィンドウを閉じる行為は、戻る(go Back)（すなわち、ビューイング履歴に基づいて、ウィンドウを開いたまま現在のコンテキスト内の前のコンテンツ又は異なるコンテンツに戻ること）ことの必要性及び欲求ほど重要でもなく、広く使用されてもいない。したがって、本発明の多数の実施形態においては、Escapeの概念を、OUTボタン用の一層パワフルな（後述の）「Out」に置き換える。とはいえ、その他の実施形態では、適宜、Escape又はBackをOUTにマッピングする。
【００２６】
この原理に基づくと、本発明の各種実施形態は、コアナビゲーションコマンドを集合的に表すOUT、UP、DOWN、ENTERの４つの論理的ボタンを備えた装置向きである。主要な機能性グループは、補助的コマンドを利用する機能強化された多くの発明の実施形態の基礎をなす。基礎的なボタングループと、コアコマンドに対する対応の機能性とをユーザアプリケーションの絶え間のない変化に合わせることができる。例えば、４つの基礎的なナビゲーションボタンの機能又は「ナブボタン(navbuttons)」を、ワイヤレスディスプレイ、リモートコントロール、キーフォブ(key fobs)、腕時計、高度自動機能電話(smart phone)、音楽装置、その他のユーザアプリケーション等の多種多様な操作面に制限なく適用することができ、それらの装置が伝統的なコンピューティング装置と認められるかどうかを問わない。
【００２７】
ディスプレイモニター上で目に見える効果等の現実に目に見える結果を開示する実施形態にとっては、目に見えない効果もまた予測され、含まれる。例えば、１組のボタンが、ディスプレイ装置上でカーソルを上下に動かすものとして記載されている場合には、聞こえる効果（例えば、音量の上げ下げ）、触知性の効果(例えば、表面温度の上昇又は下降)等の、効果が目に見えない代替の実施形態が予測される。したがって、本明細書から目に見えない結果を十分に予測できるので、本明細書のいかなる事項についても、本発明の各種実施形態が視覚型の結果に限定されるように解釈すべきではない。
【００２８】
最後に、本明細書に開示された実施形態の多くは、スタンドアロン装置内にあるのが理想ではあるが、大型装置の一部として組み込まれても構わない。例えば、多くの実施形態は、限定なく、キーボード上の（おそらく、十字キーの集団とページングキーの集団の間の）ボタンの集団として、又は、（その他のボタンとインタフェースを加えた）ディスプレイと並んだボタンの集団として、又は、タッチスクリーン内の仮想のボタン（またはその他の仮想の実施形態）等として現れて構わない。いずれにせよ、本明細書のいかなる事項についても、本発明の態様がスタンドアロンの実施形態に限定されるように解釈すべきでない。
【００２９】
（コアコマンド及び関連する実施形態）
以下のコマンドは、本明細書で用いられるキーコアコマンドの一部と、特定のコンテキスト内でのシステムによる解釈方法とからなる。
【００３０】
・  UP： １のユニット、ライン、セル、スクロールインクリメント、ページ、又は、スクリーンを上に移動する（進める）こと；MS Windows APPCOMMAND_NAVPAD_UP イベント又は、USB HID NAVPAD_UP イベント
・  DOWN：１のユニット、ライン、セル、スクロールインクリメント、ページ、又は、スクリーンを下に移動する（進める）こと；MS Windows APPCOMMAND_NAVPAD_DOWN イベント、又は、USB HID イベント
・  NEXT：次のオブジェクト、フィールド、リンク、又は、ウィンドウ枠に移動する（スキップする）こと；MS Windows APPCOMMAND_NAVPAD_NEXT イベント、又は、USB HID NAVPAD_DOWN イベント
・  PREV：前のオブジェクト、フィールド、リンク、又は、ウィンドウ枠に移動する「（スキップする）こと；MS Windows APPCOMMAND_NAVPAD_PREV イベント、又は、USB HID NAVPAD_PREV イベント
・  ENTER：（キーボードのEnterキー又はその他のコンテキストのOKボタンに類似する）現在のオブジェクト上で操作する（実行する）こと；MS Windows APPCOMMAND_NAVPAD_ENTER イベント、又は、USB HID NAVPAD_ENTER イベント
・  CENTER：（キーボードのEnterキーに類似するが異なる）現在のオブジェクト上で操作する（実行する）こと；MS Windows APPCOMMAND_NAVPAD_CENTER イベント、又は、USB HID NAVPAD_CENTER イベント
・  OUT：前のオープンオブジェクト、ページ、又は、ビューに戻ること；（コンテキストに適切なものとして、Esc、Back、又は、本明細書の他のところに記載されている縦続Esc/Backの結合に類似する）起動中のオブジェクトを閉じること；MS Windows APPCOMMAND_NAVPAD_OUT イベント、又は、USB HID NAVPAD_OUT イベント
・  MORE：現在のオブジェクトに利用可能なオプションに関する詳細を表示すること、又は、そのオプションを実行すること；MS Windows APPCOMMAND_NAVPAD_MORE イベント、又は、USB HID NAVPAD_MORE イベント
・  SWITCH：次のウィンドウ、スクリーン、ページ、アプリケーション、又は、機能上の提供品に切り替えること；MS Windows APPCOMMAND_NAVPAD_SWITCH イベント、又は、USB HID NAVPAD_SWITCH イベント。
【００３１】
図３Ａは、本発明の一実施形態におけるENTERボタンのロジックを示すフローチャートである。ブロック３０２において、ENTERボタンが押されると、ブロック３０４において、ENTERボタンシステムは、オブジェクトが選択オブジェクト（そして、コンテンツオブジェクト又は可動図面オブジェクトでないこと）であるか否かを判定し、否の場合、本実施形態ではその他のイベントは発生せず、ブロック３５０でシステムはリターンする（本発明のヌルイベント(null event)以外のイベントは、コンテンツオブジェクト及び可動図面オブジェクト対して必ず発生し、このことは当業者によって理解されるであろう。）。これに対して、オブジェクトが、実際に選択オブジェクトである場合には、ブロック３０６において、システムは、オブジェクト内の起動中の要素が既に選択されているか否かを判定する。起動中の要素が既に選択されている場合、ブロック３１２において、キーボードのEnterキーを押したのと同等な''execute''イベントが発生する（その結果は、必要に応じて、選択された要素のOpen、Accept、又は、OKとなり、これらのイベントは、当業者によって知られ理解される。）。ブロック３５０において、システムはリターンする。これに対して、起動中の要素が選択されていな場合、ブロック３０８において、システムは、オブジェクトの要素がイニシャルフォーカス(Initial Focus)（デフォルト選択要素）としてマークされているか否かに関して判定し、マークされている場合、ブロック３１４において、イニシャルフォーカスとしてマークされている要素が選択され、その後、ブロック３５０でシステムはリターンする。最後に、イニシャルフォーカスが無い場合、ブロック３１６において、システムは、最初に載ったオブジェクトの要素を選択し、ブロック３５０でリターンする。
【００３２】
当然ながら、図３Ｂのフローチャートへの変形が、ある状況のもとでは望まれるであろう。例えば、図３ＡのENTERボタンのロジックにおける変形を示すフローチャートである図３Ｂを検討する。この実施形態においては、（a）ブロック３０４において、オブジェクトが選択オブジェクトであるか否か、（ｂ）ブロック３０６において、起動中の要素が選択されていないかどうか、（ｃ）ブロック３０８において、オブジェクトがイニシャルフォーカスをもつか否かを（図３Aの方法と同一の方法で）判断した後に、ブロック３１０において、図３Bのシステムは、起動中の要素が目に見えるか否かを更に判断し、目に見える場合、ブロック３１８において、最初に目に見える要素を選択し、目に見えない場合、ブロック３１６において、最初に載った要素を選択する。本発明は、ロジック内のこの変形及びその他の微妙な変形を本明細書に開示する。
【００３３】
尚、これらの特有の実施形態の方法及び本明細書に書かれた他のものを用いることによって、（まだ一つも選択されていないとき）ユーザは、一回、ENTERボタンを押すことによって要素を選択することができ、ENTERボタンを再度押すことによって（キーボードのEnterキーを押すことと等価な）要素を実行することができる。
【００３４】
図４Ａは、本発明の一実施形態におけるUPボタンのロジックを示すフローチャートである。ブロック４０２において、UPボタンが押されると、ブロック４０４において、UPボタンシステムは、オブジェクトが選択オブジェクトであるか否かを判定する。選択オブジェクトでない場合、ブロック４２２において、システムは、オブジェクトがコンテンツオブジェクトか可動図面オブジェクトであるか否かを判断する。オブジェクトが可動図面オブジェクトである場合、ブロック４３２において、システムは、オブジェクトを所定の距離(例えば、１ピクセル)だけ押し上げ（上に動かし）、ここ（および図の他の個所）から推測できるように、その方向にさらに動かすことが不可能であるか又は許可されない場合には何もしない。所望の方向への動きが不可能であるか又は許可されていない場合のヌルイベントの処理するロジックが現段階では明らかにされていないが、そのロジックの例は、ハッシュラインブロック(hash-line blocks)によって図示され、コンテンツオブジェクトのために後半に説明される。そのロジックは、必要に応じて残りの図面に対して推定され暗示され得る。
【００３５】
再び図面に戻ると、オブジェクトが実際にコンテンツオブジェクトである場合には、ブロック４２４において、システムは、オブジェクト内のテキストが１ライン又は複数ラインからなるか否かを判定する。テキストオブジェクトが複数ラインからなる場合、（所望の方向への移動が不可能であるか又は許可されていない場合にヌルイベントを処理するロジックを表すために）ブロック４２６において、システムは、挿入ポイントが、現在、最初のライン上にあるかどうかを判定し、もしある場合には、システムは何もせずに、ブロック４５０でリターンする。そうでなければ、ブロック４３４において、システムは、挿入ポイントを１ライン上に動かし、ブロック４５０でリターンする。逆に言えば、テキストオブジェクトが１ラインのみからなっている場合には、ブロック４２８において、システムは、現在、挿入ポイントがラインの最初の文字の前にあるかどうかを判定し、ある場合には、システムは、何もせずにブロック４５０でリターンする。そうでなければ、ブロック４３６において、システムは、挿入ポイントを１文字分左に動かし、ブロック４５０でリターンする。
【００３６】
ブロック４０４において、システムが、オブジェクトが選択オブジェクトと判断した場合、ブロック４０６において、システムは、オブジェクト内の要素が既に選択されているか否かを判定する。アクティブ要素が既に選択されている場合、ブロック４１２において、システムは、リスト内の前の要素を選択し（暗に、当該選択された前の要素は、選択されていない。）、システムはブロック４５０でリターンする。これに対して、アクティブ要素が選択されていない場合、ブロック４０８において、システムは、オブジェクトの要素が（デフォルト選択要素として）イニシャルフォーカスとしてマークされているか否かに関して判定し、そうである場合には、ブロック４１４において、イニシャルフォーカスとしてマークされている要素を選択し、その後、システムはブロック４５０でリターンする。最後に、イニシャルフォーカスがない場合には、ブロック４１６において、システムは、オブジェクトの最初に載った要素を選択し、ブロック４５０でリターンする。
【００３７】
図４Ｂは、図３Ｂと図３Ａを区別するために明細書の中で先立って紹介したものと類似する変形に基づいた、図４ＡのUPボタンのロジックの変形を示すフローチャートである。図４Ｂの実施形態において、---再度、(a)ブロック４０４において、オブジェクトが選択オブジェクトであるか否か、(b)ブロック４０６において、アクティブ要素が選択されていないかどうか、(c)ブロック４０８において、オブジェクトがイニシャルフォーカス（図４Aの方法と同一）でないかどうか、を（図4Aの方法と同一な方法で）判定した後に、---ブロック４１０において、図４Ｂのシステムは、アクティブ要素が目に見えるか否かをさらに判定し、見える場合には、ブロック４１８において、最初に目に見える要素を選択し、見えない場合には、ブロック４１６において、システムは最初に載った要素を選択する。
【００３８】
図５Ａは、本発明の一実施形態におけるDOWNボタンのロジックを示すフローチャートである。ブロック５０２において、DOWNボタンが押されると、ブロック５０４において、DOWNボタンシステムは、オブジェクトが選択オブジェクトであるか否かを判断する。選択オブジェクトでない場合、ブロック５２２において、システムは、オブジェクトがコンテンツオブジェクト又は可動図面オブジェクトであるか否かを判定する。オブジェクトが可動図面オブジェクトである場合、ブロック５３２において、システムは、オブジェクトを、所定の距離（例えば、１ピクセル）、単に、少しずつ押す（動かす）か、又は、ここ(又は、図面のその他の箇所)から推測できるように、その方向にさらに動かすことができないか、許可されていない場合、なにも行わない。これに対して、オブジェクトがコンテンツオブジェクトである場合には、ブロック５２４において、システムは、オブジェクト内のテキストが１行又は複数行から成るか否かを判断する。テキストオブジェクトが複数行から成る場合には、ブロック５２６において、システムは、挿入ポイントが現在、最終行にあるか否かをさらに判定し、そうである場合には、システムは何もせずにブロック５５０でリターンする。そうでない場合には、ブロック５３４において、システムは、挿入ポイントを１行下に移動し、ブロック５５０でリターンする。反対に、テキストオブジェクトがちょうど一行から成る場合には、ブロック５２８において、システムは、挿入ポイントが、現在、行の最終文字の後ろにあるか否かを判断し、そうである場合には、システムは何もせずにブロック５５０でリターンする。そうでない場合には、ブロック５３６において、システムは、挿入ポイントを１文字右に移動し、ブロック５５０でリターンする。
【００３９】
ブロック５０４において、システムが、オブジェクトが選択オブジェクトであると判定した場合、ブロック５０６において、システムは、オブジェクト内のアクティブ要素が既に選択されているか否かを判定する。アクティブ要素が既に選択されている場合には、ブロック５１２において、システムは、リスト内の次の要素を選択し（暗に、当該前に選択された要素は、選択されていない。）、システムはブロック５５０でリターンする。これに対して、アクティブ要素が選択されていない場合、ブロック５０８において、システムは、オブジェクトの要素がイニシャルフォーカスとして（デフォルト選択要素として）マークされているか否かに関して判定し、そうである場合には、ブロック５１４において、イニシャルフォーカスとしてマークされている要素を選択し、その後、システムは５５０でリターンする。最後に、イニシャルフォーカスがない場合には、ブロック５１６において、システムは、オブジェクトの最後に載った要素を選択して、ブロック５５０でリターンする。
【００４０】
図５Ｂは、図３Ｂと図３Ａ、図４Ｂと図４Ａを区別するために明細書の中で先立って紹介したものと類似する変形に基づいた、図５ＡのDOWNボタンのロジックの変形を示すフローチャートである。図５Ｂの実施形態において、---再度、(a)ブロック５０４において、オブジェクトが選択オブジェクトであるか否か、(b)ブロック５０６において、アクティブ要素が選択されていないかどうか、(c)ブロック５０８において、オブジェクトがイニシャルフォーカスでないこと、を（図５Ａの方法と同一な方法で）判断した後に、---ブロック５１０において、図５Ｂのシステムは、アクティブ要素が目に見えるかどうかをさらに判断し、見える場合には、ブロック５１８において、最後に目に見える要素を選択し、見えない場合には、ブロック５１６において、システムは最後に載った要素を選択する。
【００４１】
従来のEscape機能は、長い間使用されているという事実があるにもかかわらず、それは、やはり、かなり制限され非常に特殊化されている。例えば、ウィンドウを閉じるために、大抵のウィンドウは、実際には、Escapeキーには全く反応せずに、代わりに''Alt-F4''キー入力に反応するだけである。ナビゲーション''履歴''を有するアプリケーションに関して言うと、―  すなわち、ナビゲーションがある種の論理的パスに沿っている場合  ―  ウィンドウを閉じる行為は、戻る(go Back)（すなわち、ウィンドウを開いたままにすること及びビューイング履歴に基づいて、現在のコンテンツ内の前のコンテンツ又は異なるコンテンツに戻ること）ことの必要性及び欲求ほど重要ではない（また、広く使用されてもいない。）。したがって、OUTボタンに関して言うと、本発明の一実施形態のために、Escape又はBackの概念を一層パワフルな''Out''の概念に置き換える。
【００４２】
実施形態を重ね合わせると、OUTを、BackコマンドコールとEscapeコマンドコールとが提供する機能を論理的かつうまく対処された組み合わせにすることできる。すべてのウィンドウがEscapeに応答するオペレーティングシステムにおいては、これら２つのボタンを融合することは非常に有益である。なぜならば、これらのキーを様々なアプリケーションコンテクストの中で十分かつ一貫して使用することがめったにないからである。BackとEscapeのどちらも利用し、各々に区別できる機能をもたせた少数のアプリケーションにおいては、OUTボタンがどのキーボードキーに複製されるかをユーザに推測させるのは現実的ではなく、非能率である。本発明の一実施形態によって提供される１つの解決策は、当のアプリケーションがBackキーコマンドを理解するとき、OUTボタンを使用してBackキーコマンドを生成すること、および、アプリケーションがBack キーコマンドを理解しないとき、かわりに、Escapeキーコマンドを生成すること、−  すなわち、Escapeコマンドを付随させたBackコマンドを縦続させることである。この方式では、履歴を有するアプリケーションは、---Backに移動できることがEscapeを介してウィンドウを閉じることよりも頻繁にあり、また、より重要である場合等---- Backキー機能のより大きな利点を得、一方、Backキー機能を有さないアプリケーションは、Escapeキーによって得られる機能であれば何でも自動的に得る。Back/Escapeキー選択のこの方法論を、OUTボタンを介して実行するために、本発明の一実施形態は、最初にオペレーティングシステムのシェルフックを用いて、「App コマンド」（アプリケーションプログラムへのアプリケーションコマンド）として、Backキーを生成し、次に、Backコマンドがアプリケーションによって拒否される場合には、キーボードのEscapeキーを押すのと等価なEscapeコマンドを生成する。その他の実施形態では、適宜、Escape又はBackを単純にOUTにマッピングできる。本明細書には、OUTの基本的な機能を制限することを意図することは何も含まれていない。それでもなお、本明細書においては、OUTはBack/Escapeの縦続機能を指すと仮定する。
【００４３】
図６Ａは、本発明の一実施形態におけるOUTボタンの方法のロジックを示すフローチャートである。ブロック６０２において、OUTボタンが押されると、ブロック６０４において、OUTボタンシステムは、オペレーティングシステムのシェルフックを用いて、（時々、Browser Backキー又はその他の等価物としてラベルがつけられ、その操作は、時々、マウスの右クリックとして実行される）キーボードのBackキーをユーザが押すことによって生成されるコマンドと等価なアプリケーションコマンドをアプリケーションに発行する。次に、ブロック６０６において、システムは、Backアプリケーションコマンドが拒否されたか否かを判断し、拒否されない場合、システムはブロック６５０でリターンし、そうでなければ、ブロック６０８において、システムはEscapeコマンドを発行し、ブロック６５０でリターンする。
【００４４】
図６Ｂは、図６Ａに示された方法論に基づいたOUT.ボタンの方法のより複雑なロジックを示すフローチャートである。図６Ｂでは、ブロック６０２において、OUTボタンが押されると、ブロック６１０において、システムは最初に、ウィンドウが、その履歴の始めにあるかどうかを確かめる（したがって、どこにも戻らない。）。そのケースにおいては、方法は、次の２つのことの１つを行い得る。(a)それは、OUTボタン（ヌルイベント）を無視し、すぐに戻る。できたら、(b)それは、Escapeを介してウィンドウを閉じる。後者の選択肢を実行するためには、次の２つの方法のうちの１つを用いる可能性がある。（ｉ）システムは、Backコマンドを送る手続きをとり、（戻り先がないため）このアプリケーションコマンドがアプリケーションによって拒否されると推定される場合、システムは、（図６Aで示された方法論である）Escapeコマンドを送る手続きをとり、又は、（ｉｉ）システムは、すぐにEscapeコマンドを送る可能性がある。このことは、本図面に示されている。したがって、ブロック６１０において、ウィンドウがその履歴の始めにあるとシステムが判断した場合、システムはすぐにブロック６０８の手続きをとり、Escapeコマンドを発行し、ブロック６５０でリターンする。そうでない場合、ブロック６０４において、システムは、オペレーティングシステムのシェルフックを再び用いて、Backのためのアプリケーションコマンドをアプリケーションに発行し、次に、ブロック６０６において、Backアプリケーションコマンドが拒否されたか否かを判定し、拒否されない場合には、ブロック６５０でリターンし、そうでない場合には、ブロック６０８において、Escapeコマンドを発行し、ブロック６５０でリターンする。
【００４５】
本発明の様々な物理的実施形態が考えられる。図７Ａに示された１実施形態は、例えば、パッド又はデバイスの上にひし形で配置されたENTER 702、OUT 704、UP 706、DOWN 708のボタンを備える４つのボタンの配置である。図７Ｂは、本発明の代替実施形態であり、それは、例えばコンピューティング装置の右端に沿って垂直方向に配置された４つのボタンを備える点を除いて類似の幾何学的配置を有する。図７Ｃは、例えばコンピューティング装置の先端に沿って水平方向に配置されたボタンを示す本発明の別の代替実施形態である。これに対して、図７Ｄは、本発明のさらにもう一つの実施形態であり、それは、中心にENTER 702を備え、ENTER702の上下に垂直に各々UP706とDOWN708を備え、３つの直線的に配置されたボタンの左上部にOUT704を備える改良垂直方式によって配置されたボタンを示す。当然ながら、色々なコマンドの組み合わせを４ボタン装置に割り当てることができるかもしれない。図７Ｅの装置は、４つのボタンがコマンドUP、DOWN、PREV、NEXTに対応する点を除いて、図７Ａの装置と類似する装置を示す。
【００４６】
しかしながら、本明細書に開示された４ボタンスキーマは、論理的なものであって、物理的なものではないため、本発明の一部の実施形態は異なる物理的構成要素を利用することもできる。例えば、図８Ａに示された本発明の一実施形態は、１つの垂直ホイール８０２と２つのボタン８０４と８０６を備えたホイール／ボタンの組み合わせからなり、そこでは、ホイール８０２は、ホイールが（図示されたように、上又は下に）向けられた方向に基づいたUPとDOWNの両機能と論理的に同等とみなされ、一方、ボタン８０４とボタン８０６は、それらが押されたときに、各々、ENTERとOUTと相互に関連がある。この実施形態のホイール８０２は、本技術分野においてよく知られ理解されているように、マウス装置のホイールと類似の方式で動作し、上又は下へのわずかな転がりが入力をなす。図８Ｂは、ホイール／ボタンの組み合わせの一実施形態の別のレイアウトを示し、図８Ｃは、実施形態のさらに別のレイアウトを示す。
【００４７】
図９は、本発明の別の代替実施形態を示し、そこでは、ホイール９０２は、UPとDOWNに対応する上下運動をサポートするばかりでなく、所定の最小スレシホールドの圧力が加えられると、ENTERのボタンとして動作する。この圧力入力の特長によって、本明細書ではクリッキングホイールとして参照されるホイール９０２は、３つの異なる入力を受け付けることができ、一方、４番目の入力であるOUTは、クリッキングホイール９０２に近接したボタン９０４に対応する。
【００４８】
本発明の別の実施形態においては、図１０に示すように、４ボタンスキーマは、単一の物理的要素であるロッキングホイールによって用いられる。ロッキングホイール１００２は、垂直方向の回転動作と妥協することなしにサイドトーサイド(side-to-side)のロッキング機構を更にサポートする。この機能により、右へのロッキングは、ENTERと関連があり、左へのロッキングは、OUTと関連があり、一方、UPとDOWNは、（図に示した通り）ホイール１００２の上下の転がりによって得られ続ける。また、本実施形態のために示されたロッキングホイールに図９のクリッキングホイールの圧力入力をさらに組み込んだ場合、その実施形態は、第５のボタン機能を得、その第５のボタン機能を、後で詳細に論じられる一部の興味深い実施形態を提供する５＋ボタン構成の一部で使用できるかもしれない。
【００４９】
図１１Ａは、図８Ａに開示された発明と類似する本発明の別の実施形態を示し、従来のホイールの代わりに、ドックボーン(dogbone)１１０２を利用する。ドックボーン１１０２は、本来、人間工学的に改良されたホイールデバイスであり、従来のホイールが人差し指による使用に比較的適しているのに対して、ドッグボーンは、親指による関与に特に適している。本実施形態においては、ドックボーン１１０２が垂直に上又は下に転がる動作は、（図に示された通り）論理的には、各々、UPとDOWNの両機能と同等とみなされ、一方、ボタン１１０４と１１０６が押されると、それらは、各々、ENTERとOUTと相互に関連がある。図１１Ｂは、ドックボーン／ボタンを組み合わせた実施形態の別のレイアウトを示し、図１１Ｃは、実施形態のさらにもう一つのレイアウトを示す。
【００５０】
図１２は、本発明の別の代替実施形態を示し、そこでは、ドックボーン１２０２は、UPとDOWNに対応する上下運動をサポートするばかりでなく、所定の最小スレシホールドの圧力が加えられると、ENTERのボタンとして動作する。この圧力入力の特長により、本明細書ではクリッキングドックボーンとして参照されているドックボーン１２０２は、３つの異なる入力を受け付けることができ、一方、４番目の入力であるOUTは、クリッキングドッグボーン１２０２に近接したボタン１２０２に対応する。
【００５１】
最後に、図１３に示した本発明の別の実施形態において、４―ボタンのスキーマは、単一な物理的要素、すなわち、ロッキングドッグボーン１３０２によって用いられる。ロッキングボーン１３０２は、垂直方向の回転動作と妥協することなしにサイドトーサイドのロッキング機構を更にサポートすることによって、図１０に示されたロッキングホイール１００２と類似する。この機能を備えることよって、ドッグボーン１３０２を左にロッキングすることは、ENTERと相互に関連があり、ドッグボーン１３０２を右にロッキングすることは、OUTと相互に関連があり、一方、UPとDOWNは、（図に示した通り）ドッグボーン１３０２の上下の転がりから得られ続ける。また、本実施形態のために示されたロッキングドッグボーンに図１２のクリッキングドッグボーンの圧力入力をさらに組み込んだ場合には、その実施形態は、第５のボタン機能を得、その第５のボタン機能を、後で詳細に論じられる一部の興味深い実施形態を提供する５＋ボタン構成の一部で使用できるかもしれない。
【００５２】
（拡張コマンドと、関連実施形態）
本明細書でこれまで開示してきた本発明の実施形態は、４つの基本コマンドであるENTER、UP、DOWN、OUTに直接マッピングされる４つボタン（又は、ホイールやドッグボーンの場合にはボタンと論理的に等価なもの）を備えるスキームに焦点を合わしている。オブジェクトをナビゲーションするための最も有益なコマンドを備える単純なスキーマの能力を否定はしないが、物理的に、時間的に、論理的に、組み合わせ的といった４つの方法の内の１つの方法でボタンの機能を拡張することによって、より広い範囲の機能が有効となる。例えば、一部の実施形態が４つの基本コマンドであるENTER、UP、DOWN、OUTとは別にマッピングするかもしれない追加のコマンドは、６−論理的ボタンの実施形態のために、PREVとNEXTを備え、８−論理的ボタンの実施形態のために、PREV、ＮEXT、MORE、SWITCHを備える。
【００５３】
論理的な４−コマンド配列を拡張する１つの方法は、単純に、より多くのボタン（又は、ボタンと論理的に等価なもの）を追加し、追加のコマンドをマッピングすることによって、物理的な４−ボタンの配置を拡張することである。例えば、図１０に示されたロッキングホイールの４−ボタン機能が、図９のクリッキングフィールドの圧力入力機能を備える場合、この機能強化されたホイール（以下、スーパーホイールと称する。）は、論理的に第５のボタンを明らかにし、第５のコマンドを直接使用する（または、本明細書で後述するように、論理的に又は組み合わせのスキーマで利用される）。同様に、図１２に示されたロッキングドッグボーンの４−ボタン機能が、図１３のクリッキングホイールの圧力入力機能をさらに備える場合、この機能強化されたドッグボーン（以下、スーパードッグボーンと称する。）は、論理的に第５のボタンを明らかにし、第５のコマンドを直接使用することができる（または、再び、本明細書で後述するように、論理的に又は組み合わせのスキーマで利用される）。図１４Ａは、スーパーホイールを利用する本発明の一実施形態を示し、一方、図１４Ｂは、スーパードッグボーンを利用する本発明の一実施形態を示す。
【００５４】
スーパーホイールまたはスーパードッグボーンを追加のボタンと組み合わせた場合、片手で（又は、１本の指又は親指でも）操作可能なパワフルなナビゲーション装置が生じる。例えば、一部の実施形態においては、装置は、ロッキングボタンに２つのボタンを加えて使用し（全部で６つの論理的ボタン）、又は、ロッキングボタンに４つのボタンを加えて使用（全部で８つの論理的ボタン）する可能性があり、各々に対応するコマンドが論理的ボタンにマッピングされる。同様に、これらの実施形態の各々において、ロッキングドッグボーンの代わりにスーパードッグボーンを用いることによって、各々、７−ボタン装置又は９−ボタン装置が得られる。
【００５５】
図１５Ａは、スーパードッグボーンと、配列の中心にあるスーパードッグボーンとともに垂直方向に配置される４つの追加の物理ボタンを利用するナビゲーション装置の一実施形態を示す。この９−ボタン装置を、以後、ナイナー(niner)と称し、一方、図１５Aに示される９−ボタン装置は、垂直ナイナーと称するものとする。図１５Ａを参照すると、垂直ナイナー１５０２は、上側に２つのボタン１５０６とボタン１５０８を付け、下側に２つのボタン１５１０とボタン１５１２を付けたスーパードッグボーン１５０４を備える。各ボタンに対する直接コマンド（又は、論理入力）は、図１５Ｃの表にリストアップされている。尚、この実施形態においては、ENTER、UP、DOWN、OUTの機能は、本明細書で既に開示している機能と同じであり、ENTERコマンドは（要求はされないが、許可されている）２つの論理的ボタンに対応する。同様に、別の実施形態は、図１５Ｂに示された８−ボタン装置を備え、ENTERが単一の論理的ボタンのみに対応する点を除いて、類似のコマンドマッピングを有する。尚、TabとAlt-Tabコマンドコールに対応するPREVとNEXTは、Left ArrowとRight Arrow機能の代わりに実行される。その理由は、ナビゲーションのコンテキストの中では、PREVとNEXTの機能は、比較的役に立つからである。とは言っても、ある状況においては、例えば、OUTコマンドにおけるEscapeとBackの組み合わせと類似する方法でPREVとLeft Arrowコマンドを一緒に結合することが望ましい。
【００５６】
論理的ボタンの機能を拡張する別の方法は、ボタンが押されて、所定の時間、「押さえつけられる」（''held down''）ときに、特別な機能を提供することである。例えば、ユーザがUPボタンを押し、押さえつけた場合には、本発明のある実施形態にとって、それを異なるコマンド、例えば、キーボードのPage Upキーを複製するPAGEUPコマンドとして解釈することは論理的であろう。代わりに、システムは、自動的に、素早くUPコマンドを繰り返すこともあり得、このことは、キーボードのUp Arrowキーを押して、押さえつけることの効果と類似する。
【００５７】
本明細書に記載されたボタンスキーマの機能を拡張する別の方法は、異なる種類の「動き」(motion)を見分けることであり、これは、マウスがシングルクリックとダブルクリックとを区別する方法と類似する。例えば、ホイール又はドッグボーンのスキーマを利用するとき、ホイールの上又は下のフリック(flick)（短時間内の大きな動作であるフリック）を別個の論理的ボタンとみなすことは論理的拡張であろう。例えば、ドッグボーンを上又は下に正常回転させると、結果としてUP又はDOWNとなるのに対して、ホイールを上又は下にフリックは、PAGEUP又はPAGEDOWNコマンドを捕らえ得、それらはキーボードのPage Up、Page Downキーと各々一致する。
【００５８】
ボタンの機能を拡張する別の強力な手段は、同時に押されたときに、個々のボタンと通常関連付けられたコマンドとは異なるコマンドを表すために使用されるボタンの様々な組み合わせを考慮することである。例えば、本発明の一実施形態は、主要なナビゲーション論理的ボタングループとして、４つの物理的ナビゲーションボタン、ロッキングドッグボーン、又は、ロッキングホイールとを備え、さらに、おそらく４つの論理的ボタンに２次的なマッピングをもたせることを可能とする変更ボタンをおそらく備える。変更ボタンは、ラップトップ、タブレットPC等の多くのコンピュータ装置の'Fn'キーと多くの点で等価であろう。さらに、変更するもの(modifier)は、特別なコンピュータ装置にとって特に有用な特別メニューを呼び出す等の追加コマンドを実行する「ダブルタップ」(double-tapped)であり得る。特別メニューは、例えば、装置において縦方向と横方向の相互間で表示を回転させるメニューであり、その装置では、その機能が特に関連があり有用である。これについては、以下に詳細に説明する。
【００５９】
これまで記述した実施形態は、所与のコンテキスト内の様々な物理的ユーザ対話に基づいて様々な論理的結果をマッピングすることに大きく基礎をおいている。しかしながら、別の実施形態によって、単一の特別な物理的対話が様々なコンテキスト内（テキストドキュメント、仮想ブック、又は、スライドショー等）の様々な論理的結果（ステップ、スクロール、又は、ページ等）を生じさせることを可能にするであろう。例えば、ロッキングドッグボーンを用いてのローリングダウン(rolling down)は、コンテキスト内で、１行、ステッピングダウンすること、別のコンテキスト内で、１ページ、スクローリングダウンすること、および、さらに別のコンテキスト内で、１ドキュメント、ページングダウンすることと同等とみなされ、各コンテキスト内で対応する反対の論理結果を有するローリングアップ(rolling up)を有する。同様に、再びロッキングドッグボーンを用いてのロッキングレフト(rocking left)は、１コンテキスト内でウィンドウ枠間を飛び越え、別のコンテキスト内でリンクの間をスキップし、又は、さらに別のコンテキスト内のツリー型の階層の低いブランチに入ることができ、各コンテキスト内で対応する反対の論理結果を有するローリングダウンを有する。その他の実施形態は、ロッキングホイール、スーパードッグボーン、スーパーホイール、ひし形構成の４ボタン、３２方位に似た円に沿って均等に構成された８ボタン、ジョイスティック、D-パッド、タッチパッド、タッチストリップ等を用いて同様に機能する方針に従っている。その他のコマンドは、ステップ、スクロール、ページとは別に、コマンドに対抗するその他の２アブストラクト（一般的に「アブストラクト」）のみならず、（「アクセス」(access)と共に）ENTERとOUTを含むことができる。
【００６０】
（柔軟性に富んだ方向付け）
縦方向と横方向の間で表示を回転させるメニューが特に関連があり有用である装置において、様々な実施形態に組み込まれた本発明の別の重要な要素は、論理的ボタンコマンドを物理ボタンに再設定する能力である。例えば、その右側にロッキングボーン１６０４を取り付けた「右手用の縦」方向(''right-handed portrait '' orientation)の状態のタブレットＰＣ等の表示装置を示す図１６Aの装置を考えてみる。便宜上、ロッキングドッグボーン１６０４の各論理的ボタンの機能、すなわち、ローリングアップ、ローリングダウン、ロッキングレフト、ロッキングライトの各論理的ボタンの機能は、各々、A、B、C、Dと名付けられ、ロッキングドッグボーン１６０４に対して一貫性を持ち続けている。これに対して、UP、DOWN、PREV、NEXTコマンドについてのU、D、P、Nとラベル付けされた、ロッキングドッグボーン１６０４の各論理的ボタンに対するコマンドは、実際には、この特別な物理的方向（すなわち、右手用の縦方向）でのロッキングドッグボーン１６０４と関連があり、また、論理的ボタンをコマンドに論理的マッピングすることは、以下の通りに表すことができる（左にラベル、右にコマンド）
【００６１】
A=U
B=D
C=P
D=N
【００６２】
しかしながら、本発明の一部の実施形態に関しては、ディスプレイ装置１６０２が回転すると、論理的ボタンの割り当ては的確に再マッピングされる。例えば、９０度（１／４）右に「下側横方向」(''bottom landscape'' orientation)に回転した後の装置１６０２を示す図１６Ｂを考える。このことは、ユーザが装置に対して表示の向きを変えるように指示した後に生じると考えられる。論理的ボタンへのコマンドの再マッピングが自動的に引き続いて生じる。この回転された方向においては、ロッキングドッグボーン１６０４への論理的マッピングは以下の通りに表すことができる（左にラベル、右にコマンド）。
【００６３】
A=D
B=U
C=P
D=N
【００６４】
尚、論理的ボタンAとBに対するコマンドが入れ替わっている（即ち、UPコマンドとDOWNコマンドが入れ替わっている）のに対して、論理的ボタンCとDに対するコマンドは同じままである。その理由としては、ドッグボーン１６０４は、実際は、当初は垂直方向に方向づけて示されている１つの軸に沿って転がるだけであるからである。その軸は、望ましくは表示の垂直方向にマッピングされるべきであり、その理由は、垂直方向の表示動作は、一般的には、水平方向の表示動作よりも重要であり、かつ、より頻繁に利用されるからである。したがって、ドッグボーン１６０４の転がりの能力は、常に、垂直方向の動作に論理的にマッピングされるべきであり、この場合において、右への転がり動作を表示の下方向移動と一致させることは自然である（また、少なくとも、その他の方向付け及びテキスト文書の読み方と調和がとれている）。同様に、この場合において、ロッキングアップを表示の左方向移動と一致させるロッキングの再マッピングは、自然である（また、少なくとも、その他の方向付け及びテキスト文書の読み方と調和がとれている）。論理的ボタンと、論理的ボタンが呼び出すコマンドとの論理的関係を再マッピング（実際には、部分的な再マッピング）することによって、ユーザは、装置の方向を変えることができ、方向の変化と大いに両立する方法でユーザーインタフェースを利用することができる。
【００６５】
図１６Cは、右にさらに９０度回転させた同じ装置（全部で１８０度又は右に１／２）及び、この装置の方向で見られるように自動又は手動で新しい方向による表示がなされたときに生じる再マッピングの説明図である。この方向においては、ロッキングドッグボーン１６０４の論理的マッピングは以下のように表すことができる（左にラベル、右にコマンド）。
【００６６】
A=D
B=U
C=N
D=P
【００６７】
この方向、すなわち、「左利き用の縦」方向(''left-handed portrait'' orientation)は、特に、左利きのユーザにとって有用である。尚、前回の方向と比較すると、論理的ボタンCとDのコマンドは入れ替わっているのに対して、論理的ボタンAとBのコマンドは同じままである。この再マッピング（１８０度）は、実際には、前回の方向からの部分的な再マッピング（右に９０度）にすぎないが、最初の方向からは完全に再マッピングされている。
【００６８】
図１６Ｄは、右にさらに９０度回転（全部で２７０度又は右に３／４）させ、「上側横」方向(''top landscape'' orientation)を形成する同じ装置であり、この装置の方向で見られるように自動又は手動で新しい方向による表示がなされたときに再マッピングが結果として生じる。この方向においては、ロッキングドッグボーン１６０４の論理的マッピングは以下のように表すことができる（左にラベル、右にコマンド）。
【００６９】
A=U
B=D
C=N
D=P
【００７０】
尚、前回の方向と比較すると、論理的ボタンCとDは同じままであるのに対して、論理的ボタンAとBは入れ替わっている。装置がもう一回回転し最初の位置に戻ったと仮定すると、論理的ボタンAとBのコマンドは同じままであるのに対して、論理的ボタンCとDは入れ替わっている。要するに、本発明の一部の実施形態は、固定のナビゲーション装置の論理回転スキームを使用することにより、論理的ボタンが、それらの方向に依存した特別のコマンドに対応する。その正確なマッピングを図１７の表に示す。このマッピングは、ホイールやドッグボーンを備えた場合等の、１つの物理軸に沿って左右対称な装置に最も適している。
【００７１】
図１８Ａは、別の表示装置１８０２、すなわち、限定しない例として、装置の底部にロッキングドッグボーン１８０４を組み込んだ「フロントエンド長手」方向のポケット型表示装置を示し、この装置は、１／４ずつ右に３回連続回転し、図１６A-Dに示された装置と類似の方式で論理コマンドを再マッピングする。
【００７２】
回転表示装置のジレンマの別の解決策は、物理的ユーザーインタフェース自体を回転させることである。図１９Ａは、回転可能なナビゲーション装置１９０４を備えた表示装置１９０２を示し、この表示装置は、右手用縦方向を有する。図１９Bは、回転可能なナビゲーション装置１９０４が表示装置１９０２の視野から９０度右に回転し同じ絶対的な方向を保ちながら、右に９０度回転した表示装置１９０２を示す。図１９Ｃと図１９Ｄは、さらに９０度ずつ回転した同じ装置を示す。各々の場合において、ナビゲーション装置１９０４は、同じ絶対的な方向を保つ。
【００７３】
類似する方法においては、回転したときに物理的に区別がつかないナビゲーショナル装置にとってローテンションは仮想的であり、論理的な回転だけを起こす必要がある。この方法論は、主要な回転軸を備えるホイール又はドッグボーンを利用するナビゲーショナル装置には適していないが、ボタンがひし形に配置されている図７Ａの４ボタンナビゲーショナル装置等のその他の実施形態は、図１９Ａ−Ｄに開示された装置等の回転可能なナビゲーショナル装置を備えた表示装置のために実現される機能に類似する、回転装置で実現された機能を、物理的ボタンの間の簡易な直接再マッピング（論理的回転）に与える。物理的ボタン間のコマンドの回転は、既に説明したひし形の配置を備えたケース等、垂直及び水平の両方向で対称なナビゲーショナル装置によく適している。
【００７４】
（次元と無関係なナビゲーション）
これまでに記述した多くの実施形態において、および、特に左右対称の複数のボタンを備えたこれらの実施形態において、論理的ボタンの機能は、そのボタンの物理的位置に対応している。すなわち、論理的次元は物理的次元を示す。しかしながら、本発明の別の実施形態は、ユーザーインタフェース装置の機能をさらに拡張するために物理的次元と論理的次元の間の関係を壊す。
【００７５】
左右対称の複数のボタンは、（装置の論理的ボタンの全てを含んでも含まなくてもよい）論理的ボタンとそれらと物理的に等価なもの（プッシュボタン、ホイール又はドッグボーン）との組み合わせであり、後者は多次元方法で装置上に物理的に配置され、ボタンの機能が論理的に相互関係をもち物理的レイアウトから確定されることを意味する。例えば、異なる物理的構成で配置された４つのボタンからなる図２０Aと図２０Ｂを考える。これらの実施形態はどちらも同じボタンを有しているが、図２０Aのボタンは２つの軸に沿って多次元的に配置される(UPとDOWNは垂直に配置され、一方、LEFTとRIGHTは水平に配置される。)。これに対して、図２０Ｂのボタンは、単一の水平軸に沿って１次元的に配置される。図２０Aの各ボタンの機能は、物理的レイアウトに結果であるが、ボタン間の相互関係によって示される。しかしながら、図２０Ｂのボタン機能は不確定である。例えば、図２０Cのボタンレイアウトに関しては、明確なラベルがない点を除いて図２０Aのレイアウトと似ているが、これらのボタンの各々の機能は、相互に関係があると自然に推定でき（AとCは反対の関係で、BとＤは反対の関係で、前者は垂直軸に関連するのに対して後者は水平軸に関連する。）、さらに、各ボタンと関係のある方向への動作に対応する。しかしながら、図２０Ｄのボタンレイアウトは、明確なラベルがない点を除いて図２０Ｂのレイアウトと似ているが、相互関係の示唆又は機能が２次元（垂直と水平）の動きと関連があるという示唆を与えない。
【００７６】
確かに、図２０Ａ及び図２０Ｃの４ボタン“ひし形”配置及びこれらと等価のもの（例えば、ロッキングホイールとロッキングドッグボーンを含む。）は水平軸及び垂直軸に沿った多次元動作を強力に示唆するため、この機能は自動的に推測されることが多い。その上、（水平及び垂直の配置等の）ボタン間の物理的関係は、これらのボタンに内在する（水平及び垂直の動き等の）機能に対応すると容易に推測される。また、（Ｘ、Ｙ及び軸及び様々な対角線との関係で）空間内の多次元動作を自動的に推測させる多次元性を有する従来の技術は、分かりにくい。例えば、図２１Ａの“コンパス”ボタン配置を考える。この配置は、類似する図２１Ｂと図２１Ｃの配置によって明白に示されるように、ラベルがなくても、２次元空間内の４つの軸に沿った方向と関連があると自然に推測させる。しかしながら、多くのユーザナビゲーションコンテキストにおいては、単にボタンの物理的関係に基づいて相互に関係付けられた機能は、例えば、垂直動作は重要であるが、水平動作は重要でないとき、および、その逆のときには、最大限の効率を発揮しないかもしれない。
【００７７】
多様なコンテキストでのシングルユーザーインタフェース装置の汎用性及び適用性を最大にするために、本発明の別の実施形態は、非対称的（対称的でない）に関連付けられた（すなわち、論理的には互いに無関係）論理的ボタンに対応する（物理的には互いに関連している）左右対称の複数ボタンから成る。例えば図７Aの配置等の４ボタン多次元配置の本発明の一実施形態においては、垂直ボタンは垂直動作と対応するが、水平ボタンは、水平動作以外のこと（この場合は、ENTERとOUT）と対応する。同様に、本発明の別の実施形態においては、水平ボタンは水平動作と対応し、垂直ボタンは垂直動作以外のことと対応する。さらにもう一つの実施形態においては、水平ボタンは、水平動作以外のことと対応し、垂直ボタンは、垂直動作以外のことと対応する。この方法を使う別の実施形態は、多様な対称の複数性を備え、それは、制限はなく、４ボタンダひし形配置、８ボタンコンパス配置、（スーパードッグボーンと）ロッキングボーン、（スーパーホイールと）ロッキングホイール、D-Pad、ジョイスティック、様々なボタン配置、及び／又は、前述のもの及びそれらと等価なものの組み合わせを含む。さらに、本方法は、２次元の物理的又は論理的な実施形態に限定されず、物理的要素と論理的機能に関する真の多次元性を備える。
【００７８】
（結論）
本明細書に記載された様々な技術は、ハードウェア又はソフトウェア、あるいは、それらを適宜組み合わせることによって実行される。したがって、本発明の方法及び装置、又は、そのいくつかの態様又は部分は、フロッピーディスケット、CD-ROM、ハードドライブ、その他の機械により読み出しが可能な記憶媒体等の有形の媒体内で具現化されるプログラム（命令等）という形をとり、そこで、プログラムコードがコンピュータ等の機械に格納され、実行されると、その機械は、本発明を実行する装置になる。プログラム可能なコンピュータ上でプログラムコードが実行される場合には、コンピュータは、一般的に、プロセッサ、プロセッサによって読むことができる記憶媒体（揮発性メモリ及び不揮発性メモリ及び／又は記憶要素）、すくなくとも一つの入力装置、少なくとも一つの出力装置を含む。１又は複数のプログラムは、望ましくは、高レベルの手続き型のプログラム言語又はオブジェクト指向のプログラム言語で実行され、コンピュータシステムと通信を行う。しかしながら、プログラムは、必要ならば、アセンブリ又は機械語で実行される。いずれにせよ、言語は、コンパイル又はインタプリットされ、ハードウェア実装と結合する。
【００７９】
本発明の方法と装置は、いくつかの伝送媒体、例えば、電気配線又はケーブル線上、又は光ファイバーを通して、又は、その他の伝送形式等で伝送され、そこで、EPROM、ゲートアレイ、プログラマブルロジックデバイス（PLD）、クライアントコンピュータ、ビデオレコーダ等の機械がプログラムコードを受信し、格納し、実行すると、機械は、本発明を実行する装置になる。プログラムコードが汎用プロセッサに実装されると、プログラムコードは、プロセッサと結合して、本発明のインデキシング機能を達成するために機能する独自の装置を提供する。
【００８０】
本発明を、各種図面の実施形態と関連させて説明したが、その他の類似の実施形態が使用でき、又、本発明の機能と同じ機能を達成するために、ここから逸脱することなく、記述された実施形態に対して変更又は追加を加えることがでる。例えば、本発明の一実施形態は、パーソナルコンピュータの機能をエミュレートするディジタルデバイスのコンテキストで記述されるが、当業者であれば、本発明がそのディジタルデバイスに限定されないことを認識するであろう。また本発明をゲーム機、ハンドヘルドコンピュータ、ポータブルコンピュータ、モバイルフォーン、時計、音楽プレーヤー、特定の機械的装置等の現存又は新生のコンピュータ装置又はコンピュータ環境に適用することができ、有線であろうと無線であろうと、通信ネットワークを介して接続され又はネットワークを横切って相互に作用し合うコンピュータ装置にも適用することができる。さらに、例えば、“ボタン”（そして、本明細書において使用されているその他の物理的装置）は、特定の人間工学的な効果を上げるために、大きさ、形、間隔等を変えることができる。同様に、各ボタンは、単語、シンボルでラベル付けがされているか、又は、まったラベル付けがされず、また、ボタンに、異なるカラー、形、その他の特徴をつけることにより、区別する（又は区別しない）。
【００８１】
特にワイヤレスネットワーク装置の数が増大し続けているため、ハンドヘルドデバイスオペレーティングシステムやその他のアプリケーション固有のオペレーティングシステムを含む様々なコンピュータプラットホームが本明細書では意図されることを強調しなければならない。したがって、本発明は、単一の実施形態に限定されるべきではなく、添付の特許請求の範囲に基づいた広さ及び範囲で構築されるべきである。
【図面の簡単な説明】
【００８２】
【図１】本発明の態様が組み込まれたコンピュータシステムを示すブロック図である。
【図２】本発明の態様が組み込まれたネットワークを示すブロック図である。
【図３Ａ】本発明の一部の実施形態におけるENTERボタンのロジックを示すフローチャートである。
【図３Ｂ】本発明の一部の実施形態におけるENTERボタンのロジックを示すフローチャートである。
【図４Ａ】本発明の一部の実施形態におけるUPボタンのロジックを示すフローチャートである。
【図４Ｂ】本発明の一部の実施形態におけるUPボタンのロジックの変形例を示すフローチャートである。
【図５Ａ】本発明の一部の実施形態におけるDOWNボタンのロジックを示すフローチャートである。
【図５Ｂ】本発明の一部の実施形態におけるDOWNボタンのロジックの変形例を示すフローチャートである。
【図６Ａ】本発明の一部の実施形態におけるOUTボタンのロジックを示すフローチャートである。
【図６Ｂ】本発明の一部の実施形態におけるOUTボタンの方法のより複雑なロジックを示すフローチャートである。
【図７Ａ】本発明の一部の実施形態における４ボタン配置を示す図である。
【図７Ｂ】垂直に４ボタンを配置した本発明の別の実施形態を示す図である。
【図７Ｃ】水平にボタンを配置した本発明の別の実施形態を示す図である。
【図７Ｄ】改良された垂直方法でボタンを配置した本発明の別の実施形態を示す図である。
【図７Ｅ】本発明の一部の実施形態における別の４ボタン配置 を示す図である。
【図８Ａ】本発明の一部の実施形態におけるホイール／ボタンを示す図である。
【図８Ｂ】本発明の一部の実施形態におけるホイール／ボタンの実施形態の別のレイアウトを示す図である。
【図８Ｃ】本発明の一部の実施形態におけるホイール／ボタンの組み合わせの実施形態の別のレイアウトを示す図である。
【図９】クリッキングホイールを示す図である。
【図１０】ロッキングホイールを示す図である。
【図１１Ａ】本発明の一部の実施形態のドッグボーン／ボタンの組み合わせを示す図である。
【図１１Ｂ】本発明の一部の実施形態におけるドッグボーン／ボタンの実施形態の別のレイアウトを示す図である。
【図１１Ｃ】本発明の一部の実施形態におけるドッグボーン／ボタンの実施形態の別のレイアウトを示す図である。
【図１２】クリッキングドッグボーンを示す図である。
【図１３】ロッキングドッグボーンを示す図である。
【図１４Ａ】スーパーホイールを使用する本発明の一実施形態を示す図である。
【図１４Ｂ】スーパードッグボーンを使用する本発明の一実施形態を示す図である。
【図１５Ａ】９ボタン装置を示す図である。
【図１５Ｂ】８ボタン装置を示す図である。
【図１５Ｃ】図１５Ａの各ボタンの直接コマンド（又は論理的入力）をリストアップした表である。
【図１６Ａ】右側にロッキングドッグボーンを取り付けた「右手用の縦」方向の表示装置を示す図である。
【図１６Ｂ】９０度（１／２）右に回転して「下側横」方向にした後の図１６Ａの装置を示す図である。
【図１６Ｃ】さらに９０度右（全部で１８０度、又は、１／２右に）回転して「左手用の縦」にした図１６Ｂの装置を示す図である。
【図１６Ｄ】さらに９０度右（全部で２７０度、又は、３／４右に）回転して「上側の横」にした図１６Ｃの装置を示す図である。
【図１７】論理的ボタンをこれらの方向に依存した特別のコマンドに対応するように固定ナビゲーション装置の論理的回転スキームを使用する本発明の一部の実施形態を示す表である。
【図１８Ａ】装置の底部に組み込まれたロッキングドッグボーンを備え、「フロントエンド長手」方向にした別の表示装置を示す図である。
【図１８Ｂ】右に１／４回転させた図１８Aの装置を示す図である。
【図１８Ｃ】右に１／２回転させた図１８Aの装置を示す図である。
【図１８Ｄ】右に３／４回転させた図１８Aの装置を示す図である。
【図１９Ａ】回転可能ナビゲーション装置を備えた右手用縦方向（元の方向）の表示装置を示す図である。
【図１９Ｂ】回転可能なナビゲーション装置が表示装置の視野から９０度右に回転し同じ絶対的な方向を保ちながら、右に９０度回転した表示装置を示す図である。
【図１９Ｃ】ナビゲーション装置が同じ絶対的方向を保つ点を除いて、さらに９０度回転した図１９Ｂの装置を示す図である。
【図１９Ｄ】ナビゲーション装置が同じ絶対的方向を保つ点を除いて、さらに９０度回転した図１９Ｂの装置を示す図である。
【図２０Ａ】ひし形に配置された４ボタンを示す図である。
【図２０Ｂ】直線方向に配置された４ボタンを示す図である。
【図２０Ｃ】ラベルがない図２０Aのボタンを示す図である。
【図２０Ｄ】ラベルがない図２０Ｂのボタンを示す図である。
【図２１Ａ】ラベルがなく、「コンパス」に配置された８ボタンを示す図である。
【図２１Ｂ】方向ラベルを備えた図２１Aのボタンを示す図である。
【図２１Ｃ】コンパスラベルを備えた図２１Aのボタンを示す図である。
【図１】
2006510137.tif 000003
【図２】
2006510137.tif 000004
【図３Ａ】
2006510137.tif 000005
【図３Ｂ】
2006510137.tif 000006
【図４Ａ】
2006510137.tif 000007
【図４Ｂ】
2006510137.tif 000008
【図５Ａ】
2006510137.tif 000009
【図５Ｂ】
2006510137.tif 000010
【図６Ａ】
2006510137.tif 000011
【図６Ｂ】
2006510137.tif 000012
【図７Ａ】
2006510137.tif 000013
【図７Ｂ】
2006510137.tif 000014
【図７Ｃ】
2006510137.tif 000015
【図７Ｄ】
2006510137.tif 000016
【図７Ｅ】
2006510137.tif 000017
【図８Ａ】
2006510137.tif 000018
【図８Ｂ】
2006510137.tif 000019
【図８Ｃ】
2006510137.tif 000020
【図９】
2006510137.tif 000021
【図１０】
2006510137.tif 000022
【図１１Ａ】
2006510137.tif 000023
【図１１Ｂ】
2006510137.tif 000024
【図１１Ｃ】
2006510137.tif 000025
【図１２】
2006510137.tif 000026
【図１３】
2006510137.tif 000027
【図１４Ａ】
2006510137.tif 000028
【図１４Ｂ】
2006510137.tif 000029
【図１５Ａ】
2006510137.tif 000030
【図１５Ｂ】
2006510137.tif 000031
【図１５Ｃ】
2006510137.tif 000032
【図１６Ａ】
2006510137.tif 000033
【図１６Ｂ】
2006510137.tif 000034
【図１６Ｃ】
2006510137.tif 000035
【図１６Ｄ】
2006510137.tif 000036
【図１７】
2006510137.tif 000037
【図１８Ａ】
2006510137.tif 000038
【図１８Ｂ】
2006510137.tif 000039
【図１８Ｃ】
2006510137.tif 000040
【図１８Ｄ】
2006510137.tif 000041
【図１９Ａ】
2006510137.tif 000042
【図１９Ｂ】
2006510137.tif 000043
【図１９Ｃ】
2006510137.tif 000044
【図１９Ｄ】
2006510137.tif 000045
【図２０Ａ】
2006510137.tif 000046
【図２０Ｂ】
2006510137.tif 000047
【図２０Ｃ】
2006510137.tif 000048
【図２０Ｄ】
2006510137.tif 000049
【図２１Ａ】
2006510137.tif 000050
【図２１Ｂ】
2006510137.tif 000051
【図２１Ｃ】
2006510137.tif 000052
【国際調査報告】
2006510137.tif 000053
2006510137.tif 000054