(57)【特許請求の範囲】
【請求項１】
トラックボールを用いて複数のテキスト入力フィールドの間をナビゲートするためにコンピュータによって実行される方法であって、
第１のテキスト入力フィールドが選択されているとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記トラックボールの動きが概ね垂直な動きを含むと判定したことに応答して、前記第１のテキスト入力フィールドに垂直方向に最も近接している第２のテキスト入力フィールドと、前記第２のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する第３のテキスト入力フィールドとのうちのいずれかを、該第３のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離が、前記第２のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
前記トラックボールの動きが概ね水平な動きを含むと判定したことに応答して、カーソルが前記第１のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きである場合、またはカーソルが前記第１のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きである場合において、前記トラックボールの動きの方向に前記第１のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する少なくとも２つのテキスト入力フィールドがあるとき、該少なくとも２つのテキスト入力フィールドのうち、前記トラックボールの動きの前記垂直成分の方向と同じ側にあるテキスト入力フィールドを第４のテキスト入力フィールドとして選択するステップと
を含む、方法。
【請求項２】
前記概ね垂直な動きに応答して、前記第１のテキスト入力フィールドから第５のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうか判定するステップと、
前記手動オーバーライドに応答して前記第５のテキスト入力フィールドを選択するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
コンピュータによって実行されると、前記コンピュータに、
テキスト入力フィールドのグループのうちの第１のテキスト入力フィールドが選択されているとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記トラックボールの動きが概ね垂直な動きを含むと判定したことに応答して、前記第１のテキスト入力フィールドに垂直方向に最も近接している第２のテキスト入力フィールドと、前記第２のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する第３のテキスト入力フィールドとのうちのいずれかを、該第３のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離が、前記第２のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
前記トラックボールの動きが概ね水平な動きを含むと判定したことに応答して、カーソルが前記第１のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きである場合、またはカーソルが前記第１のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きである場合において、前記トラックボールの動きの方向に前記第１のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する少なくとも２つのテキスト入力フィールドがあるとき、該少なくとも２つのテキスト入力フィールドのうち、前記トラックボールの動きの前記垂直成分の方向と同じ側にあるテキスト入力フィールドを第４のテキスト入力フィールドとして選択するステップと
を実行させる、コンピュータプログラム。
【請求項４】
前記コンピュータに、
前記概ね垂直な動きに応答して、前記第１のテキスト入力フィールドから第５のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうかを判定するステップと、
前記手動オーバーライドに応答して前記第５のテキスト入力フィールドを選択するステップと
をさらに実行させる、請求項３に記載のコンピュータプログラム。
【請求項５】
複数の選択可能なテキスト入力フィールドを含むグラフィカルユーザインターフェイスを表示するためのディスプレイと、
前記選択可能なテキスト入力フィールド間の移動を引き起こすユーザ入力を受け取るためのトラックボールと、
プログラムを格納するためのメモリと、
前記プログラムを実行して、
前記選択可能なテキスト入力フィールドのグループのうちの第１のテキスト入力フィールドが選択されているとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記トラックボールの動きが概ね垂直な動きを含むと判定したことに応答して、前記第１のテキスト入力フィールドに垂直方向に最も近接している第２のテキスト入力フィールドと、前記第２のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する第３のテキスト入力フィールドとのうちのいずれかを、該第３のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離が、前記第２のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
前記トラックボールの動きが概ね水平な動きを含むと判定したことに応答して、カーソルが前記第１のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きである場合、またはカーソルが前記第１のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きである場合において、前記トラックボールの動きの方向に前記第１のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する少なくとも２つのテキスト入力フィールドがあるとき、該少なくとも２つのテキスト入力フィールドのうち、前記トラックボールの動きの前記垂直成分の方向と同じ側にあるテキスト入力フィールドを第４のテキスト入力フィールドとして選択するステップと
を実行するプロセッサと
を備えた、デバイス。
【請求項６】
前記プログラムは、前記プロセッサに、
前記概ね垂直な動きに応答して、前記第１のテキスト入力フィールドから第５のテキスト入力フィールドへの動きを定義する手動オーバーライドが存在するかどうかを判定するステップと、
前記手動オーバーライドに応答して前記第５のテキスト入力フィールドを選択するステップと
をさらに実行させる、請求項５に記載のデバイス。
【請求項７】
トラックボールを用いて複数のテキスト入力フィールドの間をナビゲートするためにコンピュータによって実行される方法であって、
第１のテキスト入力フィールドが選択されているとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記トラックボールの動きが概ね垂直な動きを含むと判定したことに応答して、前記第１のテキスト入力フィールドに垂直方向に最も近接している第２のテキスト入力フィールドと、前記第２のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する第３のテキスト入力フィールドとのうちのいずれかを、該第３のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離が、前記第２のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
前記トラックボールの動きが概ね水平な動きを含むと判定したことに応答して、カーソルが前記第１のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きである場合、またはカーソルが前記第１のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きである場合において、前記トラックボールの動きの方向に前記第１のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する少なくとも２つのテキスト入力フィールドがあるとき、該少なくとも２つのテキスト入力フィールドのうち、垂直座標の大きい方のテキスト入力フィールドを第４のテキスト入力フィールドとして選択するステップと
を含む、方法。
【請求項８】
複数の選択可能なテキスト入力フィールドを含むグラフィカルユーザインターフェイスを表示するためのディスプレイと、
前記選択可能なテキスト入力フィールド間の移動を引き起こすユーザ入力を受け取るためのトラックボールと、
プログラムを格納するためのメモリと、
前記プログラムを実行して、
前記選択可能なテキスト入力フィールドのグループのうちの第１のテキスト入力フィールドが選択されているとき、垂直成分および水平成分を有するトラックボールの動きを検出するステップと、
前記垂直成分が前記水平成分よりも大きいとき、前記トラックボールの動きが概ね垂直な動きを含むと判定するステップと、
前記トラックボールの動きが概ね垂直な動きを含むと判定したことに応答して、前記第１のテキスト入力フィールドに垂直方向に最も近接している第２のテキスト入力フィールドと、前記第２のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する第３のテキスト入力フィールドとのうちのいずれかを、該第３のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離が、前記第２のテキスト入力フィールドの左端の水平座標と前記第１のテキスト入力フィールドの左端の水平座標との間の距離よりも近いかどうかに応じて選択するステップと、
前記水平成分が前記垂直成分よりも大きいとき、前記トラックボールの動きが概ね水平な動きを含むと判定するステップと、
前記トラックボールの動きが概ね水平な動きを含むと判定したことに応答して、カーソルが前記第１のテキスト入力フィールドの先頭部分に置かれており前記水平な動きが左方向への動きである場合、またはカーソルが前記第１のテキスト入力フィールドの終端部分に置かれており前記水平の動きが右方向への動きである場合において、前記トラックボールの動きの方向に前記第１のテキスト入力フィールドと少なくとも一部重複する垂直座標を有する少なくとも２つのテキスト入力フィールドがあるとき、該少なくとも２つのテキスト入力フィールドのうち、垂直座標の大きい方のテキスト入力フィールドを第４のテキスト入力フィールドとして選択するステップと
を実行するプロセッサと
を備えた、デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、データ処理デバイスの分野に関する。より詳細には、本発明は、データ処理デバイスのための多用途な入力／出力および表示の構成に関する。
【背景技術】
【０００２】
携帯情報端末（「ＰＤＡ」）などの、ポータブルデータ処理デバイスおよびプログラム可能な無線電話は、日々ますます強力なものになりつつあり、以前はパーソナルコンピュータでしか使用できなかった幅広いアプリケーションをユーザに提供している。同時に、シリコン処理技術およびバッテリ技術の進歩により、これらのデバイスはさらにいっそう小さなフォームファクタを使用して製造することができるようになっている。したがって、ユーザはもはや、パーソナルデータ処理デバイスを選択する際、携帯性のために処理能力を犠牲にする必要はない。
【０００３】
小さなフォームファクタの処理デバイスは、より携帯性が優れている傾向があるが、ユーザは、そのような装置と対話することが困難になってきていると感じている可能性がある。例えば、フルサイズのキーボードがないためにデータを入力することが難しい場合があり、小型の、場合によっては暗い液晶ディスプレイ（「ＬＣＤ」）のために情報を読むことが難しい場合もある。
【０００４】
そうした問題の一部を解決するために、本出願人は、それぞれ「Ｓｉｄｅｋｉｃｋ」および「ＳｉｄｅｋｉｃｋＩＩ」として商業的に知られている２つのデータ処理デバイスを開発した。Ｓｉｄｅｋｉｃｋを、図１ａ〜ｃに図示している。このデータ処理デバイス１００は、キーボード１０１、コントロールノブ／ホイール１０２（例えば、メニューアイテムおよび／またはデータ間をスクロールするため）、およびコントロールボタン１０５のセット（例えば、メニューアイテムおよび／またはデータを選択するため）を含む。
【０００５】
ディスプレイ１０３は、データ処理デバイス１００に枢動可能に結合され、ピボット領域１０４内に位置するピボットポイント１０９を枢軸として、図１ａに示される第１の位置から図１ｂ〜ｃに示される第２の位置まで動く。第１の位置にあるとき、ディスプレイ１０３はキーボード１０１を覆い、それによりデバイス１００のサイズを減少させてキーボード１０１を保護する。しかし、ディスプレイが第１の位置にある場合であっても、コントロールノブ１０２およびコントロールボタン１０５は露出しているので、ユーザによってアクセス可能である。図１ａ〜ｂに図示される第１の位置から第２の位置へのディスプレイ１０３の動きは、動きの矢印１０６によって示される。図示されているように、第２の位置にあるとき、キーボード１０１は完全に露出している。したがって、第１の位置および第２の位置のいずれにあっても、ユーザは、ディスプレイを見ることができ、データにアクセスすることができる（ただし、キーボードへのアクセスが提供されるのは第１の位置のときに限られる）。
【０００６】
一実施形態において、データ処理デバイス１００には、音声電話（例えば、携帯電話）の機能も提供されている。音声電話機能をサポートするため、図１ａ〜ｃに図示される実施形態は、電話の会話中に聞くためのスピーカ１２０および話すためのマイクロフォン１２１を含む。特に、スピーカ１２０およびマイクロフォン１２１は、データ処理デバイス１００の両端部に配置され、画面１０３が閉じた位置にあるときも開いた位置にあるときもアクセス可能である。
【０００７】
ＳｉｄｅｋｉｃｋＩＩを、図２ａ〜ｂに図示する。このデータ処理デバイス２００は、例えば、英数字キーボード３０５およびコントロールホイール２３０を見せるピボットディスプレイ２０５など、Ｓｉｄｅｋｉｃｋと同じ多くの機能を含む。加えて、ＳｉｄｅｋｉｃｋＩＩは、カーソルコントロール操作を実行するための方向指示パッド２４５、ならびに内蔵スピーカ２４６およびＬＥＤ（図示せず）を含む。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述のように、これらの装置およびその他の装置のコントロールホイール１０２および２３０を使用して、メニューアイテムおよび／またはデータ入力フィールドなど、アイテムのリスト内をスクロールすることができる。しかし、スクロールホイールの１つの制約は、一次元内でのナビゲーションしか可能ではないことである。例えば、コントロールホイール１１２を操作することによって、ユーザは、画面の方向に関して「上」または「下」（あるいは、ユーザインターフェイスがプログラムされている方法によっては「左」または「右」）のいずれかに、グラフィカル選択要素を動かすことができる。しかし、このコントロールホイールは、ユーザが、画面上の任意の所望の方向にナビゲートすることを可能にすることはできない。したがって、モバイルデバイスのグラフィカルインターフェイス内でナビゲートするためのさらに柔軟なユーザインターフェイスのソリューションが必要とされる。
【課題を解決するための手段】
【０００９】
以下では、ある特定の状況下においてグラフィカル要素間のカーソル移動を一時的に妨げるための論理障壁（ｌｏｇｉｃａｌ  ｂａｒｒｉｅｒ）を利用するグラフィカルユーザインターフェイスについて説明する。例えば、本発明の一実施形態は、プログラムコードを格納するためのメモリと、該プログラムコードを処理してグラフィカルユーザインターフェイス（ＧＵＩ）を生成するためのプロセッサとを有するデータ処理デバイスを備える。該ＧＵＩは、第１の複数の選択可能グラフィカル要素を含む第１の所定の領域と、第２の複数の選択可能グラフィカル要素を含む第２の所定の領域と、第１の所定の領域と第２の所定の領域との間の論理障壁を含む。該論理障壁は、第２の所定の領域内のグラフィカル要素に方向に向けられたユーザ入力に応答して、第１の所定の領域内のグラフィカル要素から第２の所定の領域内のグラフィカル要素への移動を一時的に妨げるように構成される。該ＧＵＩは、ユーザ入力デバイスによって生成された移動について指定された時間期間および／または指定された移動量に対して、移動を一時的に妨げる。
【００１０】
以下の詳細な説明と添付の図面により、本発明のより良い理解が得られるであろう。
【図面の簡単な説明】
【００１１】
【図１ａ】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である。
【図１ｂ】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である
【図１ｃ】コントロールホイールおよび調整可能なディスプレイを有する従来技術のデータ処理デバイスを示す図である
【図２ａ】コントロールホイールおよび表示装置をディスプレイを有する従来技術の別のデータ処理デバイスを示す図である。
【図２ｂ】コントロールホイールおよび表示装置をディスプレイを有する従来技術の別のデータ処理デバイスを示す図である。
【図３ａ】トラックボールを有するデータ処理デバイスの一実施形態を示す図である。
【図３ｂ】トラックボールを有するデータ処理デバイスの一実施形態を示す図である。
【図４ａ】トラックボールを使用してグラフィカルユーザインターフェイス内をナビゲートするための方法の一実施形態を示す図である。
【図４ｂ】トラックボールを使用してグラフィカルユーザインターフェイス内をナビゲートするための方法の一実施形態を示す図である。
【図４ｃ】本発明の実施形態を実装することができる例示的なＧＵＩを示す図である。
【図５ａ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図５ｂ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図５ｃ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図５ｄ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図５ｅ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図５ｆ】図４ａ〜ｂの方法を利用することができる例示的なグラフィカルユーザインターフェイスを示す図である。
【図６ａ】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図６ｂ】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図６ｃ】テキストフィールドをナビゲートして編集するための本発明の一実施形態を示す図である。
【図７】グラフィカルユーザインターフェイス内でテキストを選択するための本発明の一実施形態を示す図である。
【図８】本発明の一実施形態によるテキストを選択するためのさらなる技法を示す図である。
【図９ａ】本発明の一実施形態によるグラフィカルユーザインターフェイス内で利用されるさらなるナビゲーション技法を示す図である。
【図９ｂ】本発明の一実施形態によるグラフィカルユーザインターフェイス内に利用されるさらなるナビゲーション技法を示す図である。
【図１０ａ】本発明の一実施形態による論理境界の実施形態を示す図である。
【図１０ｂ】本発明の一実施形態による論理境界の実施形態を示す図である。
【図１０ｃ】本発明の一実施形態による論理境界の実施形態を示す図である。
【図１０ｄ】本発明の一実施形態による論理境界の実施形態を示す図である。
【図１０ｅ】本発明の一実施形態による論理境界の実施形態を示す図である。
【発明を実施するための形態】
【００１２】
以下の記述において、説明の目的で、本発明の完全な理解を提供するために多くの具体的な詳細が示される。しかし、本発明はこれらの具体的な詳細の一部を用いることなく実施できることは当業者には明らかであろう。他の例において、本発明の基本的な原理を不明瞭になることを避けるために、周知の構造およびデバイスをブロック図の形式で示している。
【００１３】
モバイルデータ処理デバイスにおけるトラックボールを実装するためのいくつかの異なる技法を、以下で説明する。以下の説明から明らかとなるように、これらの構成の多くは、携帯情報端末（「ＰＤＡ」）などの２つの目的に用いられるデータ処理デバイス、または無線電話機能を統合した他のモバイルコンピューティングデバイス（例えば、ＰＤＡと携帯電話の組み合わせ）で利用されると特に有利である。しかし、本発明の基本的な原理は無線電話機能の構成には限定されないことに留意されたい。
【００１４】
本発明の一実施形態にかかるデータ処理デバイス３００を、図３ａ〜ｂに図示する。上述した従来のデータ処理デバイスとは異なり、このデータ処理デバイス３００は、データ処理デバイスのディスプレイ３０５に表示されるグラフィカルイメージおよびテキストをナビゲートするためのトラックボール３０１を含む。さらに、一実施形態において、トラックボール３０１を、データ処理デバイスに押し下げるようにクリックして、選択機能（しなわち、標準マウスボタンによって提供される機能と同様の機能）を生成することができる。
【００１５】
一実施形態において、データ処理デバイス３００のディスプレイは、上述の従来のデータ処理デバイスにおけるディスプレイに合致する。例えば、一実施形態において、ディスプレイ３０５は、データ処理デバイス３００に枢動可能に結合され、ピボットポイント３０９を枢軸として、図３ａに図示される第１の位置から図３ｂに図示される第２の位置まで動く。
【００１６】
第１の位置にあるとき、ディスプレイ３０５はキーボード３０６を覆い、それによりデバイス３００のサイズを減少させてキーボード３０６を保護する。しかし、ディスプレイが第１の位置にあるときであっても、トラックボール３０１および方向指示パッド３４５などのコントロールボタンは露出しているので、ユーザによるアクセスが可能である。図３ｂに図示されているように、第２の位置にあるとき、キーボード３０６は完全に露出している。したがって、第１の位置および第２の位置のいずれの場合でも、ユーザは、ディスプレイを見ることができ、データにアクセスすることができる（ただし、キーボードにアクセスできるのは第１の位置のときに限られる）。
【００１７】
一実施形態において、データ処理デバイス３００には、音声電話（例えば、携帯電話）機能も提供されている。音声電話機能をサポートするため、図３ａ〜ｂに図示される実施形態は、電話の会話中に聞き取るためのスピーカ３４６（方向指示パッドに組み込まれる）および話すためのマイクロフォン３２１を含む。特に、スピーカ３４６およびマイクロフォン３２１は、データ処理デバイス３００の両端に配置され、画面３０５が閉じた位置および開いた位置にあるときもアクセス可能である。
【００１８】
ポータブルデータ処理デバイスにトラックボール３０１を実装することには、いくつかの特有の課題が存在する。例えば、比較的小型のディスプレイ画面は、真の「ポイントアンドクリック」環境（例えば、ポインタを移動して画面上の任意のグラフィックをクリックする機能がユーザに提供されているＷｉｎｄｏｗｓ（登録商標）環境など）には十分なスペースをもたらすことはできない。すなわち、データ処理デバイスディスプレイ上に表示されるグラフィックスは、あまりに小さく、しかも近接しているので、カーソルを正しい位置まで移動してアイコンを識別することは困難であることがある。さらに、モバイルデバイスの場合、ユーザは、標準的なパーソナルコンピュータと同様には集中できないことも多い（例えば、ユーザはモバイルデバイスを使用しているとき、机の前で座ってはいない）。したがって、トラックボールで使用するための簡易化されたナビゲーション技法が必要とされる。
【００１９】
本発明の一実施形態において、ナビゲーションを簡単にするために、トラックボールのユーザ操作に応答して、「選択要素」または「選択グラフィック」は、ユーザインターフェイス内に表示される、限られた数の選択可能ユーザインターフェイス要素（例えば、データフィールド、メニューアイテム、テキストなど）を通じてトラバースする。この手法は、ユーザによる不必要なトラックボールの動きをなくして、ユーザの間違いを防ぎ、グラフィカルナビゲーションを可能な限り効率的なものにする。
【００２０】
一般的なトラックボールのナビゲーション
トラックボール入力デバイスを使用して要素を選択する方法の一実施形態を、図４ａ〜ｂに示す。「要素（ｅｌｅｍｅｎｔ）」という用語は、このコンテキストにおいて、例えばデータ入力フィールド、メニューアイテム、テキスト、およびグラフィカルアイコンを含むディスプレイ画面上の任意のタイプのイメージを示すのに広く使用される。図４ａ〜ｂの説明の後に、図５ａ〜ｆのグラフィカルユーザインターフェイス内の一連の具体的な例を提供される。
【００２１】
図４ａを参照すると、４０１において、データ処理デバイスは、ユーザからのトラックボール入力を登録する。４０２において、ユーザ入力が主として水平入力（例えば、左または右）、または垂直入力（例えば、上または下）のいずれであるかについて判定が行われる。ユーザがトラックボールを実質的に任意の方向にスクロールするとすれば、入力は、意図せずに、水平成分および垂直成分の両方を含むことがある。データ処理デバイス３００の一実施形態は、入力の相対的な水平成分および垂直成分に基づいて（すなわち、入力は水平および垂直成分の両方を持つベクトルである）、入力が「水平」入力であるか、または「垂直」入力であるかを判定する。入力が相対的に大きい水平成分を有する場合、その後のトラックボールの移動は引き続き水平方向に偏ることになる。逆に、入力が相対的に大きい垂直成分を有する場合、その後のトラックボールの移動は垂直方向に偏ることになる。
【００２２】
入力が垂直と識別された場合、プロセスは、図４ｂ（以下で説明される）に流れる。入力が水平と識別された場合、プロセスは、要求された動きについて手動のオーバーライドが存在するかどうかの判定が行われる４０３に流れる。例えば、場合によっては、ユーザインターフェイス内の要素を選択するための以下で説明される中核（core）技法が望ましくないこともある。このような場合、ユーザインターフェイスのプログラマーは、ユーザインターフェイスの所望の操作を手動で識別することができる。例えば、以下で説明される技法により、ユーザが選択したいと望む要素である可能性の低い要素が選択される場合、手動オーバーライドにより、別の（より望ましい可能性の高い）要素が選択されるようになる。
【００２３】
手動オーバーライドが存在しない場合、４０５において、現在の要素によって占有された水平線と同じ水平線内に、要素が存在するかどうかについて判定が行われる。すなわち、現在の要素と少なくとも一部重複する垂直座標を含む別の要素が存在するかどうかが判定される。例えば、図４ｃにおいて、要素４５３および４５４は、各々の垂直座標の少なくとも一部が重複するので、要素４５２と同じ水平「線」内にある。
【００２４】
現在の要素と同じ水平線内に要素がない場合、４０６において、新しい要素は選択されない。例えば、ユーザがトラックボール３０１を左／右にスクロールしたとき、左／右（現在の要素によって占有された垂直座標の範囲内）に要素が存在しない場合、新しい要素は選択されない。
【００２５】
しかし、現在の要素によって定義された垂直座標の範囲内に要素が存在する場合、４０７において、重複する垂直座標を持つ２つ以上の要素が存在するかどうかについて判定が行われる。存在する場合、４０６において、１つの要素が選択される。存在しない場合、４０９において、トラックボールの動きの方向に最も近い同じ水平線内の要素が選択される。例えば、図４ｃにおいて、要素４５２が現在選択されており、ユーザが右にわずかに上方向にスクロールする場合、要素４５３が選択される。反対に、要素４５２が現在選択されており、ユーザが右にわずかに下方向にスクロールする場合、要素４５４が選択される。代替として、一実施形態において、相対的に大きい垂直座標を持つ要素（すなわち、ディスプレイの上端に相対的に近い要素、例では要素４５３）が自動的に選択される。
【００２６】
図４ｂは、垂直の動き（すなわち、トラックボールをディスプレイに対して上または下に動かすこと）に応答して、要素を選択するプロセスを示す。４１０において、手動オーバーライドが存在するかどうかについて判定が行われる。存在する場合、４１１において、手動オーバーライドに従って新しい要素が選択される。存在しない場合、４１２において、現在の要素に垂直方向に最も近い要素Ｘが識別される。例えば、図４ｃにおいて、要素４５０に垂直方向に最も近い要素は、要素４５１である。４１３において、現在の要素に最も近い左端の座標を持つ、要素Ｘと同じ水平線内にある要素（または、同じ水平線内に他の要素がない場合は要素Ｘ）が選択される。例えば、図４ｃにおいて、要素４５２の左端の座標４６０が要素４５０の左端の座標４６１に最も近い（例えば、要素４５３の左端の要素４６２よりも水平軸上で近い）ので、要素４５２が、要素４５０から下方向への移動に応答して選択される。
【００２７】
様々な代替および／または追加の技法を使用し、トラックボール信号に応答して次の要素を選択することができる。例えば、一実施形態において、垂直または水平の移動信号に応答して、それぞれ現在の要素と重複している最大の水平範囲または垂直範囲を有する要素を選択することができる。本発明の基本的な原理に従いつつ、次の要素を選択するための様々な他の技法を使用することができる。
【００２８】
図５ａ〜ｆは、前述のプロセスの具体的な例（手動オーバーライドが存在しないと仮定する）を図示する。図５ａは、アイコンを選択するためのアイコンピッカー要素５０２と、ユーザの名前およびニックネームを入力するためのデータ入力フィールド５０３〜５０６とを備えるデータ入力ボックス５０１を図示する。アイコンピッカー要素５０２が最初に（図示されるように）選択され、ユーザが右方向に水平にスクロールする場合、２つのデータ入力フィールド５０３〜５０４が、アイコンピッカー要素５０２と重複する垂直座標を有する（すなわち、これらのフィールドはいずれも大抵はアイコンピッカー要素５０２の右にある）ことを判定する。したがって、相対的に高い垂直座標を有するデータ入力フィールドが選択されるが、この例においては「ｆｉｒｓｔ  ｎａｍｅ（ファーストネーム）」フィールド５０３が選択される。ここで、ユーザが下方に垂直にスクロールする場合、データフィールド５０４〜５０６が連続して選択される。ユーザが、データ入力フィールド５０５または５０６から左へスクロールする場合、これらのフィールドの左側にはこれらのフィールドと重複する垂直座標を有する要素がないので、新しい要素が強調表示されることはない。対照的に、ユーザが、データ入力フィールド５０３または５０４から左へスクロールする場合、アイコンピッカー要素はこれらのフィールドと重複する垂直座標を共有するので、アイコンピッカー要素が選択される。
【００２９】
図５ｂは、Ｊｏｂ  Ｔｉｔｌｅ（仕事の名称）５１０、Ｃｏｍｐａｎｙ（会社）５１１、およびＢｉｒｔｈｄａｔｅ（誕生日）５１２のデータ入力フィールド、ならびにＭｏｎｔｈ  Ｐｉｃｋｅｒ要素５１３を含む、別のデータ入力ボックスを図示する。現在選択されている要素がＣｏｍｐａｎｙフィールド５１１であり、ユーザがトラックボールを使用して下にスクロールする場合、Ｃｏｍｐａｎｙ要素５１１の左端の座標が、Ｂｉｒｔｈｄａｔｅ要素の左端の座標に最も近いので、Ｂｉｒｔｈｄａｔｅフィールド５１２が選択される。
【００３０】
図５ｃは、Ｌａｂｅｌ５２０、Ｓｔｒｅｅｔ（通り）５２１、Ｃｉｔｙ（市町村）５２２、Ｓｔａｔｅ（州）５２３、Ｚｉｐ（郵便番号）５２４、およびＣｏｕｎｔｒｙ（国）５２５のデータ入力フィールドを含む、Ａｄｄｒｅｓｓ（住所）データ入力ボックスを図示する。現在選択されている要素がＳｔａｔｅフィールド５２３であり、ユーザがトラックボールを使用して下にスクロールする場合、Ｃｏｕｎｔｒｙフィールド５２５の左端の座標が、Ｓｔａｔｅフィールド５２３の左端の座標に最も近いので、Ｃｏｕｎｔｒｙフィールド５２５が選択される。同様に、現在選択されている要素がＣｏｕｎｔｒｙフィールド５２５であり、ユーザがトラックボールを使用して上にスクロールする場合、Ｓｔａｔｅフィールド５２３の左端の座標が、Ｓｔａｔｅフィールド５２５の左端の座標に最も近いので、Ｓｔａｔｅフィールド５２３が選択される。
【００３１】
図５ｄは、Ｅｖｅｎｔ（イベント）名５３０、Ｌｏｃａｔｉｏｎ（場所）５３１のデータ入力フィールド、開始日フィールド５３２、開始日の月ピッカーボックス（ｐｉｃｋｅｒ  ｂｏｘ）５３３、開始日の時刻ピッカーボックス５３４、終了日フィールド５３５、終了日の月ピッカーボックス５３６、および終了日の時刻ピッカーボックス５３７を含む、カレンダイベント情報を指定するためのデータ入力ボックスを図示する。この例において、終了日の月ピッカーボックス５３６が現在選択されており、ユーザが上にスクロールする場合、月ピッカーボックス５３６の左端の座標が、月ピッカーボックス５３３の左端の座標に最も近いので、開始日の月ピッカーボックス５３３が選択される。したがって、開始日フィールド５３２および時刻ピッカーボックス５３４のほうが垂直方向に１ピクセルだけ近い場合であっても、月ピッカーボックス５３３が選択される。本発明の一実施形態は、開始日フィールド５３２、月ピッカーボックス５３３、および時刻ピッカーボックス５３４が同じ水平線内にあるので、これらを最初にグループ化し、次いで最も近い左座標を有するものを選択する。
【００３２】
図５ｅは、（他の要素の中でも特に）Ｕｎｔｉｌチェックボックス５４０およびＲｅｍｉｎｄｅｒチェックボックス５４１を含む別の例を図示する。この例において、現在選択されている要素がＲｅｍｉｎｄｅｒチェックボックス５４１であり、ユーザがトラックボールを使用して上にスクロールする場合、Ｕｎｔｉｌチェックボックス５４０の左端の座標が、Ｒｅｍｉｎｄｅｒチェックボックス５４１の左端の座標に最も近いので、Ｕｎｔｉｌチェックボックス５４０が選択される。
【００３３】
同様に、図５ｆは、Ｄｅｆａｕｌｔ  ｒｅｍｉｎｄｅｒデータ入力フィールド５５０、時（ｈｏｕｒ）データ入力フィールド５５１、および分（ｍｉｎｕｔｅ）データ入力フィールド５５２を含む例を図示する。この場合、現在選択されている要素がＤｅｆａｕｌｔ  ｒｅｍｉｎｄｅｒデータ入力フィールド５５０であり、ユーザがトラックボールを使用して上にスクロールする場合、分データ入力フィールド５５２の左端の座標が、Ｄｅｆａｕｌｔ  ｒｅｍｉｎｄｅｒデータ入力フィールド５５０の左端の座標に最も近いので、分データ入力フィールド５５２が選択される。
【００３４】
テキストフィールドの迅速な編集
本発明の一実施形態は、トラックボール３０１を使用してテキスト入力フィールドをナビゲートして編集するための技法を利用する。具体的には、この実施形態において、トラックボール３００をスクロールすることにより、テキスト入力フィールドの各々を、前述の技法に従って（例えば、垂直に動く場合は左端のデータフィールドの座標に基づいて、および水平に動く場合は重複する垂直座標に基づいて）選択することができる。特定のテキスト入力フィールドが最初に選択されると、そのフィールドは、「フォーカス（ｆｏｃｕｓ）」され、そのテキストフィールド全体が選択されることを示すように強調表示される。この段階において、キーボード３０６をタイプ入力すると、そのフィールド内の現在のテキストが新しく入力されたテキストに置き換えられる。これとは対照的に、トラックボール３０１でデータ処理デバイス３００にクリックするか、または方向指示パッド３４５をクリックすることにより、カーソルはテキスト入力フィールドに入り、これによりユーザはテキストを編集することができるようになる。テキスト内および／またはテキストの最後においてカーソルでトラックボール３０１をスクロールすることにより、新しいフィールドが選択され、フォーカスされる。これとは対照的に、この段階において方向指示パッド３４５をクリックすることにより、カーソルは、選択されたフィールドのテキスト間を移動する。
【００３５】
図６ａ〜ｃは、前述の操作の例を提供する。図６ａにおいて、Ｓｔｒｅｅｔ６０２を入力するためのテキスト入力フィールドが最初に選択されている。テキスト入力フィールド全体が強調表示されて、テキスト入力がフィールド６０２の現在の内容に置換されることになることが示されている。さらに、従来のユーザインターフェイスとは異なり、テキスト入力フィールドのラベル（例えば、「Ｓｔａｔｅ」）が、そのフィールド自体の中にテキストとして提供される。ユーザがトラックボールを左にスクロールすることに応答して、ここではＣｉｔｙフィールドが強調表示される。図示されている例において、ユーザは番地（ｓｔｒｅｅｔ  ｎｕｍｂｅｒ）をタイプ入力し、次いでトラックボールで下にスクロールして、Ｃｉｔｙ６０３を入力するためのテキスト入力フィールドが強調表示されるようにする。ユーザが市区町村（ｃｉｔｙ  ｌａｂｅｌ）のタイプ入力を始めると、図６ｂに図示されているようにＣｉｔｙラベルが置換される。市区町村が入力された後に右方向へスクロールしたことに応答して、Ｓｔａｔｅ６０４を入力するためのテキスト入力フィールドが強調表示される。ユーザがテキストを入力せずに左にスクロールした場合、図６ｂに図示されているように、前に入力された市区町村のテキスト全体が強調表示される。次いでユーザが削除ボタンを選択するか、または任意のテキストをタイプ入力した場合は、図６ｃに図示されているように、Ｃｉｔｙテキスト入力フィールドの内容はそれぞれ削除されるかまたは置き換えられる。
【００３６】
一実施形態において、カーソルが現在のテキスト入力フィールド内のテキストの先頭または最後にあり、カーソルがそれぞれ左または右にスクロールされる場合、あるいは、カーソルの位置には関わらず、トラックボールが上または下にスクロールされる場合に限って、トラックボールの動きに応答して新しいテキスト入力フィールドが選択される。例えば、図６ｂの第１のフレームに示されるように、カーソルがテキスト入力ボックス６０３内のテキストの右側に位置しており、ユーザが右にスクロールする場合、新しいテキスト入力フィールド６０４が選択される。しかし、一実施形態において、この状況のもとでユーザが左にスクロールする場合、カーソルは応答して、テキストの先頭に到達するまでテキスト入力ボックス６０２内のテキストを一度に１文字ずつ移動する。
【００３７】
代替として、一実施形態において、トラックボールをスクロールすることにより、カーソルの位置には関わらず、別のフィールドが強調表示される。この実施形態において、カーソルは、トラックボールではなく方向指示パッドを介して移動される。
【００３８】
テキストの選択
本発明の一実施形態は、例えば、Ｗｅｂページまたは電子メールメッセージを見るときなど、「読み取り（ｒｅａｄｉｎｇ）」モードにあるときに、トラックボール３０１を使用してテキストを選択する技法を提供する。これらの技法を、図７に関して説明する。
【００３９】
この実施形態において、ユーザは、テキスト、ハイパーリンク、およびグラフィックスを含む、電子メールメッセージのページを読んでいる。ページをナビゲートするための３つの操作モードが提供される。すなわち、「標準（ｓｔａｎｄａｒｄ）」モード、「対象設定／選択（ｔａｒｇｅｔｉｎｇ／ｓｅｌｅｃｔｉｎｇ）」モード（以下、「対象設定」モードとする）、および「選択（ｓｅｌｅｃｔｉｏｎ）」モードという、３つの操作モードが提供される。ウィンドウ７００に示される標準モードにある場合、トラックボール３０１の移動に応答して、ハイパーリンクのみが選択される。すなわち、ユーザがトラックボールをスクロールすることに応答して、強調表示機能は、非ハイパーリンクテキストをすべて飛び越えて、あるハイパーリンクから次のハイパーリンクへとジャンプする。このモードは、標準的なＷｅｂブラウズ操作に使用されることがある。
【００４０】
一実施形態において、ユーザは、メニューからコマンドを選択することによって、あるいは、指定のショートカットキー（例えば、キーボード３０６からシフトキー）を押すことおよび／または押したままにすることにより、デバイスを「対象設定」モードにすることができる。対象設定モードにある場合、ハーパーリンクテキスト、非ハイパーリンクテキスト、およびグラフィカル要素が、トラックボールの動きに応答して選択される。具体的には、ユーザがトラックボールを動かすと、強調表示機能は、（ハイパーリンクされている語だけではなく）トラックボールの動きの方向に連続して各語を強調表示する。ウィンドウ７０１に示されているように、強調表示機能は、色を変更することができ、ハイパーリンクされた語に使用される書式設定は、デバイスが対象設定モードにあることを示すように変更することができる。ユーザは、所望のテキスト選択ポイントの先頭を標準モード（先頭がハイパーリンクである場合）または対象設定モードのいずれかに位置付けることができる。
【００４１】
所望のテキスト選択ポイントの先頭が識別されると、ユーザは、指定のショートカットキー（例えば、Ｓｈｉｆｔ）を押しながらトラックボールを動かすことによって選択モードに入り、隣接するテキストの一部分を選択することができる。一実施形態において、指定されたショートカットキーを押したままにすると、連続する各々のさらなる語が、現在選択されている語とともに強調表示される。これは、ウィンドウ７０２において図示されている。次いでユーザは、（例えば、メニューからのコピーコマンドまたは指定のキーの組み合わせを使用して）テキストをコピーするか、あるいは、テキストの別の部分を選択できるようにショートカットキーを解放してトラックボールを動かすことによって位置決め状態に戻ることができる。
【００４２】
前述のように単語（ｗｏｒｄ）単位ベースで選択することは効率的であり、文字（ｃｈａｒａｃｔｅｒ）単位ベースで選択することに比べて間違いが発生しにくい。しかし、本発明の基本的な原理は、文字単位の選択を使用して実施することもできる。
【００４３】
単語単位の選択が利用されると仮定すると、一実施形態において、「単語」は、（ａ）１つまたは複数の文字（ｌｅｔｔｅｒ）、（ｂ）１つまたは複数の桁、スペースのブロック、（ｃ）１つの句読点／記号／特殊文字のいずれかであると定義される。このようにして、テキスト選択の状況の大部分は容易に把握される。前述の特徴は、数字、文字、および他の特殊文字の例示的なシーケンス、ｓａｐｉｅｎ１２３  １−２２３４−５６！！！を示す図８において説明される。前述の対象設定の動きに応答して、「ｓａｐｉｅｎ」という文字のシーケンスは、後に続く数字のセット（「１２３」）から論理的に分離される。このことは、文字と数字の間にスペースが存在しない場合であってもあてはまる。ユーザが、指定されたコントロールキー（例えば、Ｓｈｉｆｔ）を押しながら、ホイールを右にスクロールすると、１２３、スペース、１、−、２２３４、−、５６６、！、！、！という文字が連続して選択される。したがって、システムは、ダッシュによって分離された数字をまとめて選択し（例えば、２２３４）、ダッシュ、スペース、および感嘆符などの特殊文字を個別に強調表示する。前述のアルゴリズムの目的は、効率的であり、しかもユーザによって意図される可能性が最も高い選択（例えば、上記の例では、ユーザが２２３４の一部分のみを強調表示することを望む可能性は低い）を反映する選択機構を提供することである。
【００４４】
ブラウザのナビゲーション
一実施形態において、Ｗｅｂブラウザのナビゲーションを改善するために特殊リンクナビゲーション機能が提供される。例えば、モバイルデバイス上のある特定のＷｅｂページで、ハイパーリンクは任意に配置されてもよく、様々なサイズおよび長さを有することができる。その結果、ユーザは、トラックボールを上、下、左、または右にロールした後にどのリンクが強調表示されるかを知ることに苦労する場合もある。例えば、図９ａにおいて、メールアイコン９０１は現在強調表示されているリンクであるが、ユーザが下にスクロールすると（例えば、ＭｏｖｉｅｓまたはＨｏｒｏｓｃｏｐｅ）、どのリンクが強調表示されることになるかは明らかではない。
【００４５】
これらの問題を解決するため、本発明の一実施形態は、現在のリンクから遠ざかるトラックボールの動きに応答して、選択される可能性があるリンクを視覚的に特定する。図９ｂにおいて、現在のリンクは「Ｐｅｏｐｌｅ  Ｓｅａｒｃｈ」９０２である。選択される可能性があるリンクを示すため、ユーザがトラックボールをスクロールした場合、可能性のあるリンクが透明色で強調表示される。さらに、移動の様々な方向を区別するため、左／右へのリンクは、現在のリンク９０２の上／下のリンクとは異なる色で提供される。図示されている例では、Ｍａｐリンク９０３およびＴＶリンク９０４は紫で色付けされ、Ｎｅｗｓリンク９０５およびＰｅｒｓｏｎａｌｓリンク９０６はグレーで色付けされる。さらに、一実施形態において、リンクが現在の要素から遠ざかるほど、それに応じてリンクに関連付けられている透明度値も高くなる（例えば、Ｇｅｏｃｉｔｉｅｓリンク９０７は、Ｍａｐｓリンク９０３よりも高い透明度値を有するので、より透明である）。ユーザが新しいリンクに移動すると、それに応じて強調表示は再生成される。
【００４６】
論理障壁（Ｌｏｇｉｃａｌ  Ｂａｒｒｉｅｒｓ）
本発明の一実施形態は、ウィンドウと他のグラフィカル要素との間の論理障壁を利用して、ユーザが不注意で誤った方向にナビゲーションすることを防ぐ。例えば、ユーザがトラックボール３０１でメニュー構造を下にスクロールしようとして、間違って右または左にスクロールした場合、本発明のこれらの実施形態は、右および／または左の入力をすぐに登録することはない。
【００４７】
図１０ａ〜ｂは、カレンダプログラムの２つの月の間の論理障壁の一実施形態を示す図である。図１０ａにおいて、９月（Ｓｅｐｔｅｍｂｅｒ）がウィンドウ１０００に示されおり、１０月（Ｏｃｔｏｂｅｒ）がウィンドウ１００３に示されている。この特定の例において、ユーザは、９月１３日から９月２７日にトラックボールを下にスクロールする（ブロック１００１）。９月２７日が強調表示されると、論理障壁は最初に、さらなる下方へのスクロールの動きに応答して強調表示が１０月のウィンドウ１００３に移動しないように防ぐ。一実施形態において、論理障壁は、ユーザが何の影響もなく下方へのスクロールを続けることができる短い時間期間（例えば、４／１０秒、１／２秒など）を含む。代替または追加として、論理障壁は、下向き方向への指定の回転量（例えば、トラックボールにおける下方向「クリック」の指定の数）を含む。短い時間期間および／または下方向の動きの量の後で、トラックボール３０１のさらなる下方向スクロールは、強調表示を１０月のウィンドウ１００３内の１０月４日の日付１００２に移動させる。一実施形態において、論理障壁はユーザ設定可能であり、指定の時間および／または適度な下方向スクロールが論理障壁として使用されるべきかどうかをユーザが指定できる。
【００４８】
図１０ｂは、同一の全般的原理を週間カレンダビューで示す。この例において、１１月１５日水曜日（Ｗｅｄｎｅｓｄａｙ、Ｎｏｖ  １５）のエントリ１００５は最初、１１／１２／０６の週（ウィンドウ１００６）内で選択される。トラックボールを右にスクロールすることに応答して、１１／１５から１１／１８までの各々の日付が連続して強調表示される。ウィンドウ１００６内の最後の日付（１１／１８）が強調表示されると、論理障壁は最初に、さらなる右方向へのトラックボールの動きに応答して次のウィンドウ１００８が表示されることを防ぐ。指定された時間（例えば、４／１０秒、１／２秒など）および／またはトラックボールに対する指定量のさらなる右方向の動きの後で、カーソルは、新しいウィンドウ１００８の最初の日付エントリ１００７に移動する。
【００４９】
図１０ｃ〜ｅは、本発明の一実施形態にかかる、階層的なメニュー構造において不注意によるトラックボールの移動を防止するための「レールガード（ｒａｉｌ  ｇｕａｒｄ）」と呼ばれる、ある特定のタイプの論理障壁を図示する。具体的には、図１０ｃは、トラックボール３０１の上／下へのスクロールの動きを介して選択されうる複数の選択可能な要素を有するドロップダウンメニュー１０１０を示す。要素１０１１などの特定の要素は、（一部の要素に表示されている右向き矢印で示されるように）それらの要素に関連付けられたサブ要素を有する。ユーザは、要素１０１１が強調表示されると、トラックボール３０１を右にスクロールして、サブ要素を表示させる。例えば、図１０ｄに図示されるように、要素１０１１上で右にスクロールすると、「Ａｉｒｐｌａｎｅ  Ｍｏｄｅ」サブ要素のセットが表示される。
【００５０】
本発明の一実施形態において、「レールガード」論理障壁を各要素の上に構成して、不注意による右／左へのスクロールの動きに応答してサブ要素が表示されることを防ぐ。より具体的には、サブ要素は、垂直の動きが停止した後の指定された時間（例えば、１秒の２／１０）後に限り、右方向への動きに応答して選択される。したがって、垂直の動きが停止した後の指定された時間内に生じる任意の水平の動きは、偶発的なものと見なされて無視される。代替または追加として、サブ要素は、トラックボールに対する指定された量のさらなる右方向の動きの後に限り選択されてもよい。
【００５１】
本発明の一実施形態において、同様の概念は、図１０ｅに図示されるようなグラフィックによる循環メニュー構造に適用される。すなわち、要素１０などの特定のメニュー要素は、関連するサブメニュー要素を有し、サブメニュー要素は、指定された時間の後および／またはトラックボールの指定された量のさらなる右方向の動きの後にのみ、右方向の動きに応答して選択される。
【００５２】
前述の論理障壁の最終的な成果は、ウィンドウまたは他のグラフィカル要素の端でのユーザによる不注意な動きが、それぞれ隣接するウィンドウおよび／または他のグラフィカル要素に望ましくない移動をもたらすことがなく、それによりユーザのナビゲーション経験を向上させることである。
【００５３】
本発明の実施形態は、上記で説明されているように様々なステップを含むことができる。ステップは、マシン実行可能命令において具現することができる。それらの命令は、汎用または特殊用途のプロセッサに特定のステップを実行させるために使用することができる。代替として、これらのステップを、ステップを実行するためのハードウェア論理を含む特定のハードウェアコンポーネントにより、あるいはプログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより実行することもできる。
【００５４】
本発明の要素はまた、マシン実行可能命令を格納するためのマシン読み取り可能媒体として提供することもできる。マシン読み取り可能媒体は、フロッピー（登録商標）ディスケット、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気または光カード、伝搬媒体、または電子命令の格納に適した他のタイプの媒体／マシン読み取り可能媒体を含むことができるが、これらには限定されない。例えば、本発明は、通信リンク（例えば、モデムまたはネットワーク接続）を介して搬送波または他の搬送媒体で具現されるデータ信号により、リモートコンピュータ（例えば、サーバ）から要求側コンピュータ（例えば、クライアント）に転送することができるコンピュータプログラムとしてダウンロードすることができる。
【００５５】
前述の説明全体にわたり、説明の目的で、本発明の十分な理解をもたらすために多くの具体的な詳細を説明した。しかし、本発明はこれらの具体的な詳細の一部を伴うことなく実施できることは当業者には明らかであろう。したがって、本発明の範囲および主旨は、添付の特許請求の範囲に関して判断されるべきである。
【図１ａ】
0005701836.tif 000002
【図１ｂ】
0005701836.tif 000003
【図１ｃ】
0005701836.tif 000004
【図２ａ】
0005701836.tif 000005
【図２ｂ】
0005701836.tif 000006
【図３ａ】
0005701836.tif 000007
【図３ｂ】
0005701836.tif 000008
【図４ａ】
0005701836.tif 000009
【図４ｂ】
0005701836.tif 000010
【図４ｃ】
0005701836.tif 000011
【図５ａ】
0005701836.tif 000012
【図５ｂ】
0005701836.tif 000013
【図５ｃ】
0005701836.tif 000014
【図５ｄ】
0005701836.tif 000015
【図５ｅ】
0005701836.tif 000016
【図５ｆ】
0005701836.tif 000017
【図６ａ】
0005701836.tif 000018
【図６ｂ】
0005701836.tif 000019
【図６ｃ】
0005701836.tif 000020
【図７】
0005701836.tif 000021
【図８】
0005701836.tif 000022
【図９ａ】
0005701836.tif 000023
【図９ｂ】
0005701836.tif 000024
【図１０ａ】
0005701836.tif 000025
【図１０ｂ】
0005701836.tif 000026
【図１０ｃ】
0005701836.tif 000027
【図１０ｄ】
0005701836.tif 000028
【図１０ｅ】
0005701836.tif 000029