(57)【特許請求の範囲】
【請求項１】
コンピュータ入力デバイスからコンピュータに送信するデータ・パケットを形成する方法であって、
前記コンピュータ入力デバイス上における第１部分の、前記コンピュータ入力デバイス上の第２部分に対する位置を示す位置情報を取得するステップであって、前記位置情報は、表示されたアイテムの所望の位置に対応し、前記第１部分と前記第２部分とは、複数の挙動ゾーンを通り１つの方向へお互いに移動可能であり、各挙動ゾーンは、前記位置情報の表示のされ方を変更する、表示されたアイテムの挙動に対応するステップと、
前記コンピュータ入力デバイス上の複数のアクチュエータの状態を示すアクチュエータ情報を取得するステップと、
前記位置情報およびアクチュエータ情報を前記データ・パケット内に配置するステップと、
前記位置情報に基づいて、前記第１部分が前記第２部分に対して、複数の前記挙動ゾーンの内第１挙動ゾーン内にあるか否かについて判定を行い、前記判定を示すゾーン情報を取得するステップと、
から成り、
前記第１部分と前記第２部分とによって二軸連動動作が生成されることを特徴とする方法。
【請求項２】
コンピュータ入力デバイスからコンピュータに送信するデータ・パケットを形成する方法であって、
前記コンピュータ入力デバイス上における第１部分の、前記コンピュータ入力デバイス上の第２部分に対する位置を示す位置情報を取得するステップと、
前記コンピュータ入力デバイス上の複数のアクチュエータの状態を示すアクチュエータ情報を取得するステップと、
前記位置情報およびアクチュエータ情報を前記データ・パケット内に配置するステップと、
から成り、
前記第１部分と前記第２部分とによって二軸連動動作が生成されることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ入力デバイスに関する。更に特定すれば、本発明は、二軸連動動作を可能とする両手コンピュータ入力デバイス（two-handed computer input device）に関するものである。
【０００２】
【従来の技術】
現在、コンピュータにユーザ入力情報を供給するために、多くの異なる種類のユーザ入力デバイスが用いられている。このようなユーザ入力デバイスは、例えば、ポインティング／クリック・デバイス（一般にコンピュータ・マウスと呼ばれている）、キーボード、ジョイスティック、およびトラック・ボールを含むことができる。このようなユーザ入力デバイスは、全て、典型的に可動エレメントの固定基盤またはハウジング部分に対する移動を検知し、この相対的移動を示す入力信号をコンピュータに供給する。
【０００３】
加えて、パーソナル・コンピュータまたはゲーム・コンソール上で走る現在のゲーム・アプリケーションのいくつかは、ファースト・パーソン・パースペクティブ・アプリケーションである（first person perspective application）。このようなアプリケーションは、ナビゲーションおよびポインティング機能を与え、現在ではマウスおよびキーボード操作の組み合わせによって行っている（が、いくらか煩わしいところがある）。マウスは、典型的に、視点（上、下、左、右）を制御し、キーボードは位置的移動制御（左方摺動、右方摺動、前進、後退）を行う。また、マウス・ボタンは、アクション・ゲームでは「発火」（fire）を操作し、キーボードは多数の選択オプションを与える（兵器選択、ドア開放、ズーム・イン等）。マウスおよびキーボードを用いてこれらの機能を制御することは非常に難しく、比較的非直感的な指の動作の組み合わせに習熟することが必要である。
【０００４】
したがって、現行の入力デバイスを用いたファースト・パーソン・パースペクティブ三次元仮想環境における、正確な移動、照準決定（aiming）、および実際の制御は、ぎこちなさを伴う可能性があることがわかる。このようなゲームまたは仮想環境は、非常に速い移動が必要であり、また素早く方向を変え迷路のような廊下を擦り抜けるように誘導したり、敵の攻撃をかわす能力が必要である。照準決定およびポインティング（ファースト・パーソン・パースペクティブ・ビューを通じて、上または下、左または右を見ることに対応する）を最良に行うには、マウスまたはジョイスティックによって得られるような、（離散的なボタンの押下ではなく）連続する動作範囲にわたる制御を行う入力デバイスを用いるとよい。位置移動制御（マウスの前進／後退、または左摺動／右摺動、または上昇）を最良に行うには、ジョイスティック上で一般に見られるある種のスイッチ構成、またはキーボードのボタン、あるいはその他のデバイスによって得られるような、離散的なキーストロークがよい。
【０００５】
加えて、ある種のユーザ入力デバイスには、単一の入力モードに対して２よりも大きい自由度を割り当てるものがある。例えば、Ｘ軸およびＹ軸に沿って押下することができるジョイスティックは２の自由度を有し、ＸおよびＹ軸に沿って押下することができ、しかもその長手方向軸に沿って回転しコンピュータに入力を与えることができるジョイスティックは、３の自由度を有する。この種のユーザ入力デバイス（入力モード毎に２よりも大きい自由度が得られる）は、高度な軸交差干渉を生ずる可能性があることがわかっている。
【０００６】
【発明が解決しようとする課題】
軸交差干渉は、ユーザが無意識に１つの自由度を扱いつつ、別個の自由度を扱おうとすることによって特徴付けることができる。言い換えると、回転運動を行おうとしながら（ジョイスティックをその長手方向軸を中心に回転させようとしながら）、並進運動を行う（ジョイスティックをＸまたはＹ軸に沿って動かす）ことは非常に困難である。このような自由度間の干渉が、軸交差干渉である。軸交差干渉の傾向は、追加される自由度毎に、二次的に（quadratically）いずれの所与の入力モードにも増加すると考えられる。
【０００７】
マウスおよびキーボードに加えて、ゲーム・アプリケーションに用いる従来の入力デバイスには、別の種類もある。このようなゲーム・アプリケーションに用いられる従来からのデバイスの１つがゲーム・パッドである。しかしながら、このデバイスは、ファースト・パーソン・パースペクティブ・ゲームに必要な操作性（maneuvering）には適していない。標準的な方向パッドおよびボタンのみを備えるゲームパッドでは、連続的な移動を入力する術がない。小さなサムスティック（親指用ジョイスティック）を備えたゲーム・パッドを用いると、連続入力は可能であるが、サムスティックは直感的な移動のための位置付けはできないので、ユーザはサムスティックの中央に戻ろうとする力と悪戦苦闘しなければならず、正確な照準の決定は困難である。また、サムスティックは、手および指の小筋肉群を疲労させる。
【０００８】
ジョイスティックは、小筋肉群の微細運動制御機能を与えない腕および手首の筋肉を使う。一般的なジョイスティックの構成は、連続移動装置（ジョイスティック）および離散移動装置（ハットスイッチ）も有し、これらを同じ手で扱わなければならない。このため、正確にこのような動作を制御することは困難となる。加えて、ジョイスティックおよびハットスイッチは双方とも、中心復帰ばね力を含み、正確な照準決定を妨げる。
【０００９】
別の入力デバイスに、Ｓｐａｃｅ  Ｏｒｂ  ３６０という商標で販売されているものがある。このデバイスは、６の自由度を与え、これらを１つの手で操作する。このため、集中的な訓練またはデバイスが制御する１つまたは２つの軸を他の軸から分離する先天的な生体力学的能力がなければ、このデバイスを使用するのは非常に難しい。
【００１０】
同様に、Ｃｙｂｅｒｍａｎ  ＩＩという商標で販売されているデバイスも、１つの手で操作する６の自由度を与える。この入力デバイスにも、前節で述べたのと同じ困難がある。
【００１１】
Ｗｉｎｇｍａｎ  Ｗａｒｒｉｏｒという商標で販売されている別の入力デバイスもある。このデバイスは、回転のみのための自由回転ノブを備えたジョイスティックである。このデバイスは、ファースト・パーソン・パースペクティブ環境において適応するのに必要な多くの基本機能に対処するものではない。
【００１２】
【課題を解決するための手段】
本発明は、二軸連動コンピュータ入力デバイスを提供する。２つの部材どうしの相対的な位置を示す位置情報を与えるように位置センサを構成する。
【００１３】
一実施形態では、これらの部材はハンドルであり、ハンドルの１つは、表示装置上のファースト・パーソン・パースペクティブ・ビューを表わす。これらのハンドルは、複数の挙動ゾーン全体において互いに対して相対的に移動可能であり、表示装置上の表示に異なる影響を与える。一実施形態では、第１挙動ゾーンを通過する移動により、表示装置上に、ファースト・パーソン・パースペクティブ・ビューの絶対移動（absolute movement）が生ずる。第２挙動ゾーンを通過する移動により、ファースト・パーソン・パースペクティブは、絶対的ではなく、連続的に移動する。
【００１４】
別の実施形態では、ユーザがゾーン間を移行する際、触覚フィードバックをユーザに与える。触覚フィードバックは、一例として、移動に対する抵抗変化とすることができる。
【００１５】
また、本発明は、人間工学的利点を備えた入力デバイスも提供する。疲労を減少させるように機能する形状および運動範囲を与える。加えて、位置情報をコンピュータに送信するために用いるデータ構造を備えている。このデータ構造は、効果的な方法および装置を用いて形成し処理する。
【００１６】
【発明の実施の形態】
図１は、本発明の一態様によるシステム１０の一部ブロック／一部概略図である。システム１０は、入力デバイス１４、コンピュータ表示装置１５およびコンピュータ２０を含む。
【００１７】
尚、図示の一実施形態では、デバイス１４は、ハンドルまたはその一部がその別の部分に対して移動可能な、あらゆる入力デバイス（ジョイスティックのような）として実現可能であることを注記しておく。しかしながら、簡略化の目的上、ここでは、図１に示すデバイス１４の代表的な実施形態に関して論述を進めていく。
【００１８】
コンピュータ入力デバイス１４は、本発明の一実施態様によれば、それぞれ、第１および第２ハンドル部材１６および１８を備えている。部材１６および１８は、ユーザの手に納まるサイズとし、互いに対して移動可能である。図示の実施形態では、部材１６および１８は、全体的に２２で示すリンケージによって接続してある。リンケージ２２により、部材１８は、部材１６に対して、矢印２４で概略的に示すヨー方向（即ち、Ｘ−軸に沿った横方向）に連動可能となっている。また、リンケージ２２は、一例として、部材１８がピッチ方向（Ｙ軸に沿った上下方向）に、矢印２６で全体的に示す方向に枢動可能とする。この運動、およびリンケージ２２については、本明細書の後ろで更に詳しく説明する。加えて、コンピュータ入力デバイス１４は、一例として、位置センサを含み、部材１８の部材１６に対する位置を検知する。
【００１９】
本発明の代表的な一実施形態によれば、コンピュータ入力デバイス１４には、ボタン２８のアレイも備えている。代表的な一実施形態では、アレイ２８は部材１８上に４つのボタン、および部材１６上に３つの追加ボタン（シフト・キーを含む）を含む。更に、コンピュータ入力デバイス１４には、多元スイッチ入力デバイス３０（方向パッドまたはハットスイッチ等）、および１つ以上のトリガ３２備えている。また、図１は、コンピュータ入力デバイス１４の部材１６および１８は、細長ハンドル部分３４および３６も含むことができ、これらは下方向にボタン・アレイ２８から遠ざかるように延び、ユーザの手の中に快適に納まるサイズであることも示す。
【００２０】
コンピュータ入力デバイス１４は、コントローラを含む。このコントローラは、種々のボタン、トリガおよび多元スイッチ入力デバイスを示す情報、ならびに位置センサからの情報を受け取り、この情報を示す情報パケットを発生する。情報パケットをコンピュータ２０に供給する（その一実施形態については、図２において更に詳細に説明する）。コンピュータ２０は、一例として、ゲームまたは入力デバイス１４からのパケット内にある情報を利用するその他のプログラムのようなアプリケーション・プログラムを含む。コンピュータ２０は、入力デバイス１４からのパケット内にある情報を、コンピュータ２０上で走るアプリケーション・プログラムに供給するように動作し、この情報を用いて表示装置１５上に表示されているオブジェクトを操作する。代表的な実施形態では、コンピュータ２０はパーソナル・コンピュータであり、表示装置１５は、ＣＲＴ型モニタ（テレビジョン・ディスプレイ、ＬＣＤディスプレイ、プラズマ・ディスプレイ等を含む）のようないずれの形式のディスプレイとしてもよい。代替実施形態では、コンピュータ２０は、Ｎｉｎｔｅｎｄｏ（任天堂）、Ｓｅｇａ（セガ）、Ｓｏｎｙ（ソニー）およびその他が製造する多くのゲーム専用コンピュータの１つのような専用コンピュータ、あるいは専用シミュレーションまたは制御コンピュータとすることも可能である。このようなコンピュータの中には、Ｓｅｇａ  ＤｒｅａｍｃａｓｔおよびＳｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎという名称で販売されているものがある。
【００２１】
勿論、コンピュータ入力デバイス１４からコンピュータ２０に供給する情報パケットは、コンピュータ２０（およびその上で走るアプリケーション・プログラム）が用いて、表示装置１５以外の別の項目を制御することも可能である。しかしながら、明確化のために、本発明の説明は、主に表示装置１５の制御に関して行うことにする。
【００２２】
図２を参照すると、本発明の環境例は、従来のパーソナル・コンピュータ２０の形態の汎用計算機を含む。パーソナル・コンピュータ２０は、演算装置３８、システム・メモリ３９、およびシステムメモリないし演算装置３８までを含む種々のコンピュータ・コンポーネントを結合するシステム・バス４０を含む。システム・バス４０は、種々のバス・アーキテクチャのいずれかを用いたメモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、数種類のバス構造のいずれでもよい。システム・メモリは、リード・オンリ・メモリ（ＲＯＭ）４１、およびランダム・アクセス・メモリ（ＲＡＭ）４２を含む。起動中等においてパーソナル・コンピュータ２０内のエレメント間の情報転送に供する基本ルーチンを収容する基本入出力システム（ＢＩＯＳ）４３は、ＲＯＭ４１に格納してある。また、パーソナル・コンピュータ２０は、ハード・ディスク（図示せず）の読み取りおよび書き込みを行うハード・ディスク・ドライブ４４、リムーバブル磁気ディスク４６の読み取りおよび書き込みを行う磁気ディスク・ドライブ４５、ならびにＣＤ−ＲＯＭまたはその他の光媒体のようなリムーバブル光ディスク４８の読み取りおよび書き込みを行う光ディスク・ドライブ４７も含むことができる。ハード・ディスク・ドライブ４４、磁気ディスク・ドライブ４５、および光ディスク・ドライブ４７は、それぞれ、ハード・ディスク・ドライブ・インターフェース４９、磁気ディスク・ドライブ・インターフェース５０、および光ディスク・ドライブ・インターフェース５１によって、システム・バス４０に接続してある。これらのドライブおよびそれに関連するコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびパーソナル・コンピュータ２０用のその他のデータの不揮発性格納を行う。
【００２３】
ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク４６およびリムーバブル光ディスク４８を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）等のような、コンピュータによるアクセスが可能なデータを格納することができる、他の種類のコンピュータ読み取り可能媒体も、動作環境の一例において使用可能であることは、当業者には認められよう。
【００２４】
多数のプログラム・モジュールを、ハード・ディスク、磁気ディクス４６、光ディスク４８、ＲＯＭ４１またはＲＡＭ４２上に格納することができ、オペレーティング・システム５２、１つ以上のアプリケーション・プログラム５３、その他のプログラム・モジュール５４、およびプログラム・データ５５を含む。ユーザは、キーボード５６、ポインティング・デバイス５７のような入力デバイスによって、コマンドおよび情報をパーソナル・コンピュータ２０に入力することができる。他の入力デバイス（図示せず）として、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ（satellite dish）、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス４０に結合してあるシリアル・ポート・インターフェース５８を介して、演算装置３８に接続しているが、サウンド・カード、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス（ＵＳＢ：universal serial bus）のようなその他のインターフェースによって接続することも可能である。モニタ１６または別の種類の表示装置も、ビデオ・アダプタ５９のようなインターフェースを介して、システム・バス４０に接続する。モニタ１６に加えて、パーソナル・コンピュータは、通常、スピーカやプリンタのような、その他の周辺出力デバイス（図示せず）を含むこともできる。
【００２５】
パーソナル・コンピュータ２０は、リモート・コンピュータ６０のような１つ以上のリモート・コンピュータへの論理接続を用いて、有線またはワイヤレス・ネットワーク環境で動作することも可能である。リモート・コンピュータ６０は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他のネットワーク・ノードとすることができ、通常、パーソナル・コンピュータ２０に関して先に記載したエレメントの多くまたは全てを含むが、メモリ記憶装置６１だけを図２に示す。図２に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）６２およびワイド・エリア・ネットワーク（ＷＡＮ）６３を含む。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク・イントラネットおよびインターネットでは一般的である。
【００２６】
ＬＡＮネットワーク環境で用いる場合、パーソナル・コンピュータ２０は、ネットワーク・インターフェースまたはアダプタ６４を介して、ローカル・ネットワーク６２に接続する。ＷＡＮネットワーク環境で用いる場合、パーソナル・コンピュータ２０は通常モデム６５またはインターネットのようなワイド・エリア・ネットワーク６３上で通信を確立するその他の手段を含む。モデム６５は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース５８を介してシステム・バス４０に接続する。ネットワーク環境では、パーソナル・コンピュータ２０に関して図示したプログラム・モジュールまたはその一部をリモート・メモリ記憶装置に格納することも可能である。図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立するその他の手段も使用可能であることは認められよう。
【００２７】
コンピュータ２０が専用コンピュータである場合、個々のアーキテクチャは、図２に示すものと異なる場合もあり得る。しかしながら、その相違が重大な結果を招くことはない。このようなコンピュータは全て、コンピュータ・ソフトウエアおよび／またはハードウエアを実行する機構を含む。この機構は、入力デバイス１４から情報を受け取り、受け取った情報を利用してソフトウエアおよび／またはハードウエアの挙動または外観を変更する。多くの場合、この結果、表示装置上で視認可能な変化が生ずる。
【００２８】
図３ないし図５は、本発明の一態様による位置検知を示す。図３において、コンピュータ入力デバイス１４は、表示装置１５上の表示１００に関係付けて示してある。図３は、表示１００が表示装置１５上に表示可能な３Ｄ仮想環境の一部に過ぎないことを示す。ＸおよびＹ回転軸双方に沿って部材１６に対して部材１８を実質的に中心の位置におくと、表示中の三次元仮想環境の部分は、図３に示すように、ファースト・パーソン・パースペクティブ・ビューの中央部分となる。
【００２９】
しかしながら、図４は、コンピュータ入力デバイス１４の平面図を示し、部材１８を部材１６に対して、矢印２４で示すＸ方向に、概略的に回転軸１０２を中心として枢動可能であることを示す。デバイス１４をジョイスティックとして実施する場合、軸１０２を中心とする枢動は、例えば、ジョイスティックの横方向の移動に対応付けることができる。部材１８をある所定の運動範囲内で軸１０２を中心として枢動させると、コンピュータ入力デバイス１４は、軸１０２を中心とした、部材１６に対する部材１８の相対的な位置を示す情報を含む情報パケットを形成する。この情報は、コンピュータ２０（およびその上で走るアプリケーション）が表示装置１５上にある表示の視点を制御するために用いることができる。
【００３０】
例えば、所定の運動範囲内で軸１０２を中心として部材１８を回転させると、一例として、図４における矢印１０４で示す方向に対応して視点をずらすことができる。部材１８を軸１０２を中心として反時計回りに連動させると、図４における番号１００Ａで示す位置に向けて視点をずらすことができる。同様に、部材１８を軸１０２を中心として時計回り方向に連動させると、図４に示す位置１００Ｂに向けて視点をずらすことができる。このように、部材１８の部材１６に対する絶対移動は、図４に示すように、表示する視点の絶対移動にマップされる。勿論、この同じ形式のマッピングは、デバイス１４をジョイスティックのような別の方法で実施する場合も得ることができる。
【００３１】
図５は、コンピュータ入力デバイス１４の側面図である。図５は、代表的な一実施形態において、コンピュータ・デバイス１４の部材１８が、軸１０２（図４に示す）を中心として連動可能なだけでなく、矢印２６で示すピッチ方向即ちＹ方向にも軸１０６を中心として回転可能であることを示す。デバイス１４がジョイスティックである場合、軸１０６を中心とする回転は、前から後ろへ（または後ろから前）へのジョイスティックの移動に対応する。部材１８が矢印２６で示す方向に揺動する（pitch）と、所定の運動範囲内に留まっている限り、表示装置１５上に表示されるファースト・パーソン・パースペクティブは、矢印１０８で示す方向に対応して移動する。例えば、部材１８を（図３を参照して）反時計回り方向に回転させると、ファースト・パーソン・パースペクティブは、図５における番号１００Ｃが示す位置に向かって上方向にシフトする。同様に、軸１０６を中心として（この場合も図５を参照して）時計回り方向に部材１８を回転させると、表示装置１５上のファースト・パーソン・パースペクティブは、概略的に番号１００Ｄで示す位置に向かって、というように下方向にシフトする。このように、部材１８は所定の運動範囲内で軸１０６を中心に回転する限り、部材１６に対する部材１８の絶対移動は、表示装置１５上に表示されるファースト・パーソン・パースペクティブの絶対移動にマップすることができる。この種のマッピングは、デバイス１４を例えばジョイスティックとして実施する場合にも行うことができる。
【００３２】
勿論、軸１０２または１０６のいずれかを中心とする部材１８の部材１６に対する絶対移動は、直接マップしたり、あるいは上方向または下方向にスケーリングして、表示装置１５上に表示されるファースト・パーソン・パースペクティブの絶対移動を与えることができる。例えば、部材１８の軸１０２または１０６のいずれかを中心とする５度の回転は、表示デバイス１５上に表示される仮想環境におけるファースト・パーソン・パースペクティブ・ビューの２０度の回転に対応付けることができる。いずれの望ましいスケーリング・ファクタ（１：１を含む）でも使用可能である。
【００３３】
部材１８が軸１０２または０１６のいずれかを中心として所定の運動範囲を超えて移動した場合（またはジョイスティックが所定の運動範囲を超えて横方向にまたは前方にまたは後方に移動した場合）、このような移動はもはや表示装置１５上に表示されるファースト・パーソン・パースペクティブ・ビューの絶対移動にも絶対位置にもマップされない。代わりに、この移動は、一例として、ファースト・パーソン・パースペクティブ・ビューの連続移動に対応する。例えば、部材１８を矢印２４（図４に示す）で示す方向に軸１０２を中心として、所定の運動範囲を超える量だけ連動させた場合、ファースト・パーソン・パースペクティブ・ビューは、部材１８が所定の運動範囲内に戻されるまで、部材１８の移動方向に連続的にスピンするように現れる。これを図６および図７に更に詳細に示す。
【００３４】
図６は、代表的な一実施形態において、ユーザが感じる、このような回転に対応する物理的な力に対してプロットした、軸１０２または１０６いずれかを中心とする運動の範囲（度を単位とする回転）を示す。運動範囲は、異なる３つの範囲即ち挙動ゾーン１１０、１１２および１１４に分割して示すが、これよりも多いゾーンまたは少ないゾーンを異なるプロファイルで使用することも可能である。ユーザが範囲１１０内で部材１８を回転させると（代表的な一実施形態では、これは、中心に位置する中立位置に対して約＋または−３０度であるが、いずれの所望の範囲でも使用可能であり、範囲は、望ましければ、中立位置に対して非対称でもよい）、ユーザは、一例として、ゾーン１１０全体にわたっての移動に対する軽い一定の抵抗のある、粘性流体運動を知覚する。しかしながら、中心復帰力もゾーン１１０内に与えることも可能である。ユーザが部材１１８をいずれかの方向にゾーン１１０の境界を超えて回転させると直ぐに、ユーザは、一例として、増加した力のように、移動に対する異なる抵抗を受ける。したがって、ユーザが約＋３０度の運動範囲を超えて、例えば、範囲１１２内に部材１１８を回転させると、ユーザが部材１１８をその最大正運動範囲（例えば、約＋４０度）にわたって回転させ続けるに連れて、受ける物理的抵抗が増大する。同様に、ユーザが部材１１８を中立から約−３０度を超えて移動させゾーン１１４に入ると、ユーザは、ゾーン１１４を通じてその全運動範囲（例えば、約−４０度）にわたって、連続回転に対して増大する抵抗を受ける。尚、いずれかまたは全てのゾーンは、中心復帰力を有するような構成も同様に可能であることも注記しておく。更に、ゾーンのいずれかまたは全てにおいて、別の非線形または段階的な力プロファイルを用いることも可能である。力は、いずれのゾーンにおいても増大し次いで減少することができる。また、中央ゾーン１１０は、一定の力プロファイルを呈する必要はない。単に例示の目的のために、外側のゾーンには線形でしかも増大する力プロファイルを示し、中央ゾーンには線形で一定の力プロファイルを示す。
【００３５】
代表的な一実施形態では、図６に示す力プロファイルを得るには、カムおよびカム・ホロワ構成を用いる。これについては、図１７ないし図２５に更に詳細に示し、以下で論ずる。しかしながら、所望の力プロファイルを得るのであれば、それ以外のいずれの構成でも使用可能である。例えば、圧縮または伸長ばね、流体充填ダッシュポット、空気力または水力システム、空気−水力混合システム（air-over-hydraulic system）、あるいはその他の抵抗変動アセンブリまたはバイアス部材を用いることができる。
【００３６】
図７は、本発明の一態様による異なる挙動ゾーン（例えば、絶対および速度移動ゾーン）を示す。図７は、図６および図３ないし図５と関連付けて説明する。図７は、部材１１８の軸１０６を中心とする揺動運動（またはＹ−軸移動）、および部材１８の軸１０２を中心とするヨー運動（即ち、Ｘ軸移動）のプロットである。図７のプロットは、３つの制御帯即ち挙動ゾーン、それぞれ、１１６、１１８、および１２０に分割してある。しかしながら、これ以上またはこれ以下の挙動ゾーンも同様に使用可能である。挙動ゾーンは、部材１８の軸１０６を中心とする揺動運動（Ｙ−軸移動）を表わす軸および部材１８の軸１０２を中心とするヨー運動（Ｘ−軸移動）を表わす軸に対して、デバイス１４をジョイスティックとした場合についてプロットしたものであり、このような挙動ゾーンは、ジョイスティックの前方／後方および横方向の移動にそれぞれ対応する。
【００３７】
挙動ゾーン１１６は、部材１８の部材１６に対する運動の範囲中、中立即ち中心位置を概略的に表わす、中央帯である。尚、中央制御帯１１６は、図７における単一点または点の小集団のみによって、または点の大集団によって表わしてもよいことを注記しておく。挙動ゾーン１１８は、絶対位置決め制御帯であり、軸１０２および１０６を中心とした所定の運動範囲１１０に対応する。挙動ゾーン１２０は、速度制御ゾーンであり、所定の運動範囲１１０を超えたいずれかの方向における部材１８の移動に対応する。
【００３８】
制御帯は部材１８の軸１０２または１０６のいずれかを中心とした回転に対して、同様に振る舞うことができるが、簡略化のために、軸１０２を中心とする部材１８の回転に関してこの論述を進めるだけに止める。ユーザが部材１８を部材１６に対して軸１０２を中心としてゾーン１１８内で移動させると、デバイス１４は、部材１６および１８の相対的位置を示す情報をコンピュータ２０に供給し、表示装置１５がゲームの仮想環境を表示している実施形態では、コンピュータ２０はファースト・パーソン・パースペクティブ・ビューを絶対的に左または右のいずれかに、部材１８の軸１０２を中心とする回転と同じ方向にシフトさせる。したがって、ユーザが部材１８を例えば軸１０２を中心として＋５度中央帯１１６に対して回転させた場合、コンピュータ２０は、ファースト・パーソン・パースペクティブ・ビューを、図４に示すように、所定距離だけ右にシフトさせる。尚、部材１８の５度の移動は、ファースト・パーソン・パースペクティブ・ビューの同量の移動、または異なる移動量のいずれにも対応付け可能であることを注記しておく。しかしながら、部材１８の絶対移動は、一例として、ファースト・パーソン・パースペクティブ・ビューの絶対移動に直接マップするものとする。
【００３９】
部材１８の軸１０２を中心とする移動が挙動ゾーン１１８から出て挙動ゾーン１２０に入った場合、部材１８の絶対移動はもはやファースト・パーソン・パースペクティブ・ビューの絶対移動にはマップされない。代わりに、ゾーン１２０内における部材１８の移動は、ファースト・パーソン・パースペクティブ・ビューの、軸１０２を中心とする部材１８の回転の方向に対応する方向への連続移動を形成する（establish）。言い換えると、ユーザが部材１８を軸１０２を中心として時計回り方向に回転させてゾーン１２０に入った場合、図４に示すファースト・パーソン・パースペクティブ・ビューは右にスピンし始める。ユーザが部材１８をゾーン１２０内の固定位置に保持する限り、ファースト・パーソン・パースペクティブ・ビューは、一定速度で右にスピンし続ける。
【００４０】
代表的な一実施形態では、ゾーン１２０を複数の副制御帯に分割する。したがって、ユーザが部材１８を軸１０２を中心として更に回転させてゾーン１２０に入れると、部材１８は副制御帯を通過し、ファースト・パーソン・パースペクティブ・ビューは各ゾーン毎に高速化してスピンする。このように、ゾーン１２０における速度プロファイルは、部材１８が副制御帯を移動する毎に段階的に上昇する。同様に、代替実施形態では、ゾーン１２０の速度プロファイルは、線形増加関数または非線形増加（例えば、指数または二次）関数、あるいは連続低に増加するのではなく最初に増加し、次いで一定となるかまたは減少する線形または非線形関数で表わすことも可能である。速度プロファイルの形状も、ユーザによって選択可能または調節可能である。この場合、ユーザには、種々の異なる所定プロファイルから選択する機会、即ち、プロファイル形状を指定することによってプロファイルをカスタム化する機会を与えるようにするとよい。
【００４１】
ユーザが部材１８を更に回転させてゾーン１２０内に進めていくに連れて、一例として、図６に示す力プロファイルにおける運動範囲１１２によって示すように、デバイス内の軸を中心とした回転に対して、ユーザが受ける物理的な抵抗も増大していくことが認められよう。したがって、速度が高くなる程、直感的に、物理的な抵抗の増加に結び付き、速度ゾーン内部への所与の回転に対応する速度に対して、ユーザに接触フィードバックを与える。勿論、再度述べておくべきは、他の力プロファイル（例えば、傾斜を一層急にまたは緩やかにしたもの、非線形、段階状等）もこれらのゾーンに使用可能であるということである。これらの場合、接触フィードバック（力プロファイル）は、全体的に速度プロファイルに一致するように構成しても、一致しないように構成してもよい。
【００４２】
ユーザが部材１８を軸１０２を中心に反時計回り方向に、挙動ゾーン１１８および１２０間の境界に向かって戻るように回転させ始めると、ファースト・パーソン・パースペクティブ・ビューがスピンする速度は、その方向の速度プロファイルに追従する。したがって、図示の実施形態では、ファースト・パーソン・パースペクティブ・ビューがスピンする速度は低下する。ゾーン１２０からゾーン１１８に戻る遷移は、多くの異なる方法で処理可能である。例えば、絶対的位置決めを再開する前に、制御帯１２０を出るときに、部材１８を中央即ち中立位置１１６に置くことが望ましい場合がある。その場合、ユーザが部材１８を軸１０２を中心として反時計回りに回転させるに連れて、ゾーン１１８および１２０間の境界を、ゾーン１１８および１１６間の境界と一致するように、移動させることができる。したがって、中央ゾーン１１６の境界まで部材１８を軸１０２を中心として絶えず回転させている間は、ファースト・パーソン・パースペクティブ・ビューは、速度を低下させつつスピンし続ける。次いで、ゾーン１２０および１１８間の境界をその元の位置（図７に示す）に再度確立し、ユーザは、先に論じたように、ゾーン１１８内における絶対的位置決めを再開することができる。
【００４３】
別の代表的実施形態では、ゾーン１２０からゾーン１１８への遷移を、異なる方法で処理する。その実施形態では、ユーザが部材１８を反時計回りに回転させ、ゾーン１１８の境界を交差すると、ユーザは単に不感帯に遭遇し、ユーザが部材１８を反時計回りに回転させ続け中央ゾーン１１６内に入るまで、ファースト・パーソン・パースペクティブ・ビューの移動を知覚しない。言い換えると、ユーザが部材１８を軸１０２を中心として反時計回り方向に回転させゾーン１２０の境界を越えゾーン１１８に入ると、ファースト・パーソン・パースペクティブ・ビューはスピンを停止し、ユーザがゾーン１１８を通って中央ゾーン１１６に向かって部材１８を回転させ続けても、全く移動しない。一旦ユーザが部材１８をゾーン１１６内で再度中心に位置付ける（recenter）と、通常の位置決めが再開される。
【００４４】
更に、代替実施形態では、制御を切り替えるために部材１８をゾーン１１８内の中心に位置付ける必要はない。言い換えると、部材１８をゾーン１２０からゾーン１１８に戻し次第、絶対移動制御を再開する。また、これを行う境界は、運動範囲に沿った望ましい地点であれば、実質的にどこにでも設定することができる。尚、この点はユーザによって選択可能または調節可能とするとよいことも注記しておく。
【００４５】
図８は、ユーザ入力デバイス１４の一実施形態のブロック図である。図８は、ユーザ入力デバイス１４が、コントローラ１２４、ＸおよびＹ位置センサ１２６および１２８、較正回路１３０、ボタン・アレイ・スイッチ、トリガ・スイッチおよびマルチ・スイッチ入力デバイス３０に対応するスイッチ（全てを集合的に番号１３２で示す）、ならびにゾーン較正回路１３４を含むことを示す。
【００４６】
ＸおよびＹセンサ１２６および１２８は、回転式ポテンショメータである。勿論、センサ１２６および１２８は、光学式または機械式エンコーダ、容量式センサ、電磁センサ等のような、他の種類のセンサとすることも可能である。センサ１２６および１２8をポテンショメータとした場合、センサ１２６では、一例として、部材１６に抵抗部分を結合し、部材１８にワイパー部分を結合してある（あるいはその逆）。したがって、部材１８をピッチ軸１０６を中心として回転させると、センサ１２６を具体化するポテンショメータの抵抗値が変化する。同様に、センサ１２８では、一例として、抵抗部分を部材１６に結合し、ワイパー部分を部材１８に結合してある（またはその逆）。したがって、部材１８を軸１０２を中心として回転させると、センサ１２８を具体化するポテンショメータの抵抗値が変化する。このように、センサ１２６および１２８は、部材１８の部材１６に対するＸおよびＹ（ピッチおよびヨー）位置を示す信号を与える。
【００４７】
同様に、デバイス１４をジョイスティックとした場合、センサ１２６および１２８は、ジョイスティックの横方向および前方／後方移動を検知するために使用する従来のセンサ構成であれば、そのいずれとすることも可能である。このような構成の１つが、米国特許第５，６９４，１５３号に明示されている。その内容は、この言及により本願にも全体が含まれるものとする。
【００４８】
センサ１２６および１２８からの信号は、アナログ／ディジタル（Ａ／Ｄ）変換器１３６に供給する。代表的な実施形態では、変換器はマイクロコントローラ１２４と一体化する。勿論、その他の個別Ａ／Ｄ変換器も同様に使用可能である。Ａ／Ｄ変換器１３６は、センサ１２６および１２８からのアナログ・センサ信号を、ディジタル信号に変換し、マイクロコントローラ１２４に供給する。
【００４９】
センサ１２６および１２８を較正するために、コンピュータ入力デバイス１４は、一例として、検査固定具に配置する。これは、部材１８を部材１６に対して正確に既知の角度に回転するように操作することができる。正確に既知の角度において、センサ較正回路１３０を用いて、センサ１２６および１２８が出力する値を所望値に設定する（トリムする等）。代表的な一実施形態では、回路１３０は、センサ１２６および１２８の出力値をトリムするように構成したトリム・ポテンショメータの回路である。他の較正回路も、ハードウエアまたはソフトウエアのいずれでも、同様に使用可能である。例の中には、光学式エンコーダを物理的に方位付けし直し、プログラマブル電源をプログラムしたり、あるいは一旦信号をディジタル形態に変換したならばディジタル・オフセットを与えることを含むものもある。
【００５０】
ボタン・アレイ、トリガおよびハットスイッチのスイッチ１３２は、代表的な一実施形態では、単に、スイッチ・アレイから成り、それらの閉鎖を示す信号をマイクロコントローラ１２４に供給する。したがって、アレイ２８またはトリガ３２、あるいはハットスイッチ３０に関連するボタンのいずれかを押下すると、これらのボタンおよびトリガは、スイッチを閉鎖し、これをマイクロコントローラ１２４が検知する。
【００５１】
ゾーン較正回路１３４を用いて、絶対位置決めゾーンおよび速度位置決めゾーン（図７に示した挙動ゾーン１１８および１２０に関して説明した）間のゾーン境界を設定する（トリムするかあるいはその他の方法で精度高く設定する）。人間工学的またはその他の理由のために、ＸおよびＹ軸を中心とする運動の最大範囲が、最大で＋／−４０度程度となるようにすることが望ましいであろう。その場合、センサ１２６および１２８の出力を調節し、センサが出力する最大信号が、部材１８の部材１６に対する適切な軸を中心とする運動（即ち、移動）の最大範囲に対応するようにする。
【００５２】
同様に、ゾーン１１８（絶対位置ゾーン）およびゾーン１２０（速度位置ゾーン）間の遷移についても、これらのゾーン間の遷移が直接、ユーザが知覚する力の増大（図６に示す力プロファイルで表わすように）に対応するように精度高く較正することが望ましいと考えられる。したがって、力の増大が知覚される境界位置に部材１８を回転させ、センサ１２６および１２８による出力である値を所望の値に設定する。これは、歪みゲージを組み込んだテキスト固定具（text fixture）、またはその他の歪み測定デバイス内にコンピュータ入力デバイス１４を配置し、ユーザ入力デバイスが絶対位置決めゾーンおよび速度位置決めゾーン間の遷移位置に到達したときをテキスト固定具が識別できるようにすることによって、行うことができる。センサ較正回路１３０の場合と同様、ゾーン較正回路１３４は、センサ１２６および１２８の出力を所望のレベルにトリムするように構成したトリム・ポテンショメータを用いて実施することができる。勿論、代わりの較正（ハードウエアまたはソフトウエアのいずれでもよい）も同様に使用可能である。例えば、センサが光学式エンコーダである場合、これらは方位付けし直すことができる。また、ディジタル・オフセットを備える等とすることができる。
【００５３】
また、マイクロコントローラ１２４には、コンピュータ２０に結合するのに適した出力も備えている。代表的な一実施形態では、マイクロコントローラ１２４が供給する出力は、ユニバーサル・シリアル・バス（ＵＳＢ）プロトコルにしたがって供給する。同様に、ＵＳＢ変換ケーブルをマイクロコントローラ１２４およびコンピュータ２０間に結合し、必要なデータ送信に対処することができる。別の代表的な実施形態では、マイクロコントローラ１２４の出力は、ゲーム・ポート・プロトコルまたはその他の所望のプロトコルのいずれかにしたがって供給する。
【００５４】
図９は、マイクロコントローラ１２４が用意し、コンピュータ２０に送信するデータ・パケット１３６を示す。データ・パケット１３６はシリアルまたはパラレルのいずれでもコンピュータ２０に送信することができるが、データ・パケット１３６の実体を、５つの８ビット・バイト情報に関して図９に示す。これらのバイトには、パケット１３６の左側の列に沿ってバイト０ないしバイト４と記してあり、ビットには、パケット１３６の最上行に沿ってビット０ないし７と記してある。
【００５５】
センサ１２６および１２８からの信号は、Ａ／Ｄ変換器１３６によって、一例として１０ビット分解能を有するディジタル・ワードに変換する。これは、部材１８の部材１６に対する位置を表わす。勿論、８ビット分解能またはその他のいずれの所望の分解能も、同様に使用可能である。１０ビット分解能データは、（センサ１２８に対して）ビットＸ０〜Ｘ９、および（センサ１２６に対して）ビットＹ０〜Ｙ９で表わしてある。この情報は、バイト０、ビット位置０から始まりバイト２、ビット位置３で終わるパケット１３６内に含まれる。
【００５６】
Ａ／Ｄ変換器１３６からの値に基づき、マイクロコントローラ１２４は、ユーザが部材１８を回転させて速度制御ゾーン１２０に入ったか否か、または部材１８は相変わらず絶対位置決めゾーン１１８内にいるか否かについて判定を行うことができる。それぞれバイト２、ビット位置４および５内にあるビットＺＢＸおよびＺＢＹは、部材１８が絶対位置決めゾーンまたは速度位置決めゾーンのどちらにあるかについての判定に対応する。それぞれバイト２、ビット位置４および５に位置するビットＺＢＸおよびＺＢＹは、部材が絶対位置決めゾーンまたは速度位置決めゾーンのどちらにあるのかに対する判定に対応する。例えば、ＺＢＸビットが０にセットされている場合、これは、部材１８がＸ（即ちヨー）方向の絶対位置決めゾーン内にあることに対応する。このビットが１にセットされている場合、これは、部材１８が軸１０２を中心として回転し、所定の運動範囲を越えて速度ゾーンに入ったことを示す。したがって、ビットＸ０〜Ｘ９が示す値は、部材１１８が速度ゾ−ンにおいて中立の正側または負側のどちらにあるのかを示す。バイト２ビット位置５におけるＺＢＹビットは、同様に、部材１８のＹ方向（即ち、ピッチ軸１０６を中心とする）の回転に対応する。
【００５７】
バイト２内のビット位置６および７は未使用である。
バイト３、ビット位置０〜６にあるビットＢ０〜Ｂ６は、ボタン・アレイ２８内のボタンに対応するスイッチの閉鎖状態を示す。バイト３，ビット位置７およびバイト４ビット位置０にそれぞれ位置する信号Ｔ０およびＴ１は、トリガ３２に関連するスイッチの閉鎖状態を示す。
【００５８】
バイト４内のビット１、２および３は未使用である。
バイト４、ビット位置４〜７において、多元スイッチ・デバイス３０の状態を表わす値を与える。図示の実施形態では、デバイス３０はハットスイッチである。したがって、関連するビット位置におけるビットには、Ｈ０〜Ｈ３と記してある。以下の表は、ビットＨ０〜Ｈ３によって表わすハットスイッチ３０の位置を示す。
【００５９】
【表１】
0004544682.tif 000002
【００６０】
図１０は、図８に示したマイクロコントローラ１２４によるパケット１３６の形成を示すフロー図である。コントローラ１２４は、ＸおよびＹ位置情報を受け取り、フィルタリングする。これをブロック１３８で示す。ＸおよびＹ位置情報をフィルタリングする際、コントローラ１２４は、代表的な一実施形態では、センサから受け取ったデータをオーバーサンプルし、スムージングする。このデータを、コントローラ１２４内に実装したフィルタリング・ロジックに供給することができる。フィルタリング・ロジックは、一例として、ロー・パス・フィルタリング技法を用い、大きな、即ち異常な、スパイクを除去することことができる。一旦データを受け取りフィルタリングしたなら、これをコントローラ１２４（または関連するメモリ）に格納し、後にデータ・パケット１３６を作成する。
【００６１】
また、コントローラ１２４は、ボタン、トリガ、およびハットスイッチに関連するスイッチ・アレイ１３２を周期的にポールし、このようなスイッチに関連するデータを取得する。スイッチ１３２からのデータにも、一例として、アンチ・ジッタおよびオーバーサンプルを行い、信号のロバスト性を改善する。これをブロック１４０で示す。
【００６２】
次に、コントローラ１２４は、センサ１２６および１２８からの位置情報に基づいて、入力デバイス１４がＸ軸に対して速度ゾーンにあるか否かについて判定を行う。これをブロック１４２で示す。ある場合、コントローラ１２４はパケット１３６内のバイト２、ビット位置４に位置するＺＢＸビットをセットする。これをブロック１４４で示す。
【００６３】
次に、コントローラ１２４は、入力デバイス１４がＹ軸に対して速度ゾーンにあるか否かについて判定を行う。これをブロック１４６で示す。ある場合、コントローラ１２４はパケット１３６内のバイト２，ビット位置５にあるＺＢＹビットをセットする。これをブロック１４８で示す。次に、コントローラ１２４は、ブロック１５０で示すように、パケット１３６の残りの部分を組み立て、ブロック１５２で示すように、適切なプロトコルにしたがってこのパケットをコンピュータ２０に送信する。
【００６４】
図１１は、パーソナル・コンピュータであるコンピュータ２０の代表的な一実施形態上におけるパケット１３６の受信および処理を示す機能ブロック図である。他の実施形態におけると同様、コンピュータが専用コンピュータである場合、処理は多少異なる場合もあるが、同様の結果が得られる。図１１は、コンピュータ入力デバイス１４、バス・レベル・レイヤ１５３、第１バス・ドライバ１５４、リマッパ（re-mapper）１５６、アプリケーション・インターフェース１５８、および１つ以上のアプリケーション１６２、１６４および１６６で構成することができるアプリケーション・レイヤ１６０を示す。図１１に示すシステムの動作について論ずる前に、従来のＵＳＢプロトコルによれば、デバイスはヒューマン・インターフェース・デバイス（ＨＩＤ）として分類可能であることを注記しておく。更に、機能デバイス・オブジェクト（ＦＤＯ：functional device object）は、次のプログラム・モジュールまたはデバイスを示すデータ、どのようにデータを処理するかに関する情報を収容することができる。ＦＤＯは、主に、生データを受信側モジュールまたはデバイスが見ることを予想するものに変換する変換器である。物理デバイス・オブジェクト（ＰＤＯ）は、データを収容し、受信側デバイスまたはモジュールがコールしそのデータにアクセスすることができる関連のメソッドを収容するオブジェクトである。フィルタ・デバイス・オブジェクト（ＦｉＤＯ）は、データを試験することができ、有る設定値（レジストリ内の設定値等）に基づいて、受信側が使用できる形態にデータを配列するためにはデータに何をすべきかについて判定することができる。ＦＤＯ、ＰＤＯ、およびＦｉＤＯは、全て従来からのオブジェクトデあり、当業者には公知である。
【００６５】
動作において、デバイス１４は最初に、先に図９および図１０に関して論じたように、パケット１３６を組み立てる。次に、コンピュータ２０上のバス・レベル・レイヤ１５３にこのパケットを渡す。バス・レベル・レイヤ１５３は、標準的なＵＳＢレイヤであり、データを受け取り処理スタックを介してデータを第１バス・ドライバ１５４に送るように作用する。
【００６６】
第１バス・ドライバ１５４は、ＨＩＤＣＬＡＳＳドライバ・ラッパ（driver wrapper）で包まれたドライバである。入力デバイス１４から受け取ったパケットは、代表的な一実施形態では、ジョイスティック型データ・パケットである。他のデータ・パケット（例えば、マウス、キーボード等）も同様に使用可能である。したがって、第１バス・ドライバ１５４は、パケットをジョイスティック型データ・パケットとして識別し、ジョイスティックＰＤＯを作成し、作成したＰＤＯに情報を引き継ぐＦＤＯを含む。次に、ジョイスティックＰＤＯは、スタックの上位にある、リマッパ１５６に情報を渡す。
【００６７】
リマッパ１５６は、プログラム・モジュールであり、その代表的な一実施形態はＧＣＫＥＲＮＥＬ．ＳＹＳと呼ばれ、アプリケーション・レイヤ１６０における最終的な受信側アプリケーションが必要とするオブジェクトを作成する。例えば、パケット１３６内の情報はコンピュータ２０にジョイスティック・パケットとして入ってくるので、そして多くのゲーム・アプリケーションはマウスおよび／またはキーボード操作によって視点情報を伝達する必要があるので、リマッパ１５６は、アプリケーション・レイヤ１６０におけるその後の使用のために、ジョイスティック情報をマウスおよび／またはキーボードＰＤＯにリマップする必要があるか否かについて判定を行う。
【００６８】
リマッパ１５６は、第１バス・ドライバ１５４において、ＰＤＯ１５５からの情報を受け取るＦｉＤＯ１７０を含む。ＦｉＤＯ１７０を図１１の分解部分に概略的に示す。ＦｉＤＯ１７０は、入力ポート１７２において情報を受け取り、これを正しいＰＤＯに送る。ＦｉＤＯ１７０は次に、この種の入力クラスを割り当てたか否かについて判定を行う。これをブロック１７４および１７６で示す。このような割り当てが行われていない場合、これは、受信側アプリケーションおよびアプリケーション・レイヤ１６０が単にその情報をジョイスティック情報として見ようとしていることを意味し、この情報をＦｉＤＯ１７０を介して直接出力ポート１７８に渡し、ここから（矢印１８０で示すように、アプリケーション・レイヤ１６０に）送信する。
【００６９】
しかしながら、割り当てブロック１７４において、この特定種類の入力クラスをマウス・パケットに割り当ててあった場合、ＦｉＤＯ１７０はこの情報をマウス・カーブ・フィルタ１８２に供給し、その中に含まれている適切なデータでマウスＰＤＯを作成する。このような仮想マウスＰＤＯを、リマッパ１５６内の１８４で示す。次に、マウスＰＤＯを、後述するアプリケーション・インターフェース１５８に渡す。
【００７０】
更に、ＦｉＤＯ１７０が、アプリケーション・レイヤ１６０内の受信側アプリケーションがキーボード操作に関する情報を見ようとしていると判定した場合、情報をマクロ・キュー１８６に供給し、キーストリークをボタン押下に割り当てる。これは、リマッパ１５６内に番号１８８で示す、仮想キーボードＰＤＯを作成するように作用する。次に、この情報を再度出力ポート１７８に供給し、ここからアプリケーション・インターフェース１５８に送信する。
【００７１】
デバイス１４から受け取ったジョイスティック型データ・パケットを実際に仮想マウスまたは仮想キーボードＰＤＯに変換した場合、これをアプリケーション・インターフェース１５８に供給する。アプリケーション・インターフェース１５８（代表的な一実施形態では、ＨＩＤＳＷＶＤ．ＳＹＳとも呼ぶ）は、アプリケーション・レイヤ１６０が予想するマウスまたはキーボード・データに対して特定の形態で情報を収容するＰＤＯを作成する。
【００７２】
したがって、リマッパ１５６は、一方のパイプ（例えば、ジョイスティック・パイプ）を通じて受け取ったデータを、別のパイプ（例えば、マウスおよび／またはキーボード・パイプ）に分割するように機能する。これによって、リマッパ１５６は、アプリケーション・レイヤ１６０内の特定のアプリケーションが何を受け取ることを予想しているかにしたがって、ジョイスティック・データをマウス・データまたはキーボード・データあるいは双方の組み合わせに変装させる（masquerade）。
【００７３】
また、リマッパ１５６は別の機能も実行する。リマッパ１５６は、データを試験し、当該データが、部材１８がメンバ１６に対して絶対または速度ゾーンのどちらにあることを示しているのかについて判定を行う。絶対ゾーンにある場合、リマッパ１５６は単にアプリケーションに（恐らくアプリケーション・インターフェース１５８を介して）、現在位置と最後の位置との差を表わす差分値、および最後の位置からのオフセットの方向を渡す。アプリケーション・レイヤ１６０内のアプリエーション・プログラムは、次に、視線表示（または、ディスプレイ装置１５上に表示中の他のいずれかのオブジェクト）を更新することができる。同様に、リマッパ１５６が、部材１８が連続即ち速度ゾーンにあると判定した場合、リマッパ１５６は、所定の差分値をアプリケーションに送り、部材１８が速度ゾーン内にあることを示すパケットがデバイス１４から受信される限り、そのデータを送り続ける。また、勿論、前述のように、速度ゾーンを多数の副帯またはサブ・ゾーンに分解する場合、部材１８が現在位置する個々のサブ・ゾーンに基づいて、変更値を変化させることができる。同様に、速度プロファイルが、先に論じたように異なる形状を有する場合、変更値をそれに応じて決定する。
【００７４】
図１２ないし図１４は、リマッパ１５６の動作を更に示す。最初に、リマッパ１５６は、デバイス１４から新たなパケットを受け取る。これをブロック１９０で示す。次に、リマッパ１５６はパケット内の位置情報を試験し、部材１８が絶対ゾーンまたは速度ゾーンのどちらにあるかについて判定を行う。これをブロック１９２および１９４で示す。尚、ＸおよびＹ軸双方に対して、同じ試験および判定を行うことを注記しておく。しかしながら、簡略化のために、図１２ないし図１４に関しては、一方の軸についてのみ説明する。
【００７５】
部材１８が絶対ゾーンにない場合、これは、速度ゾーンにあることを意味し、リマッパ１５６は、速度ゾーン内のける部材１８の部材１６に対する現在位置に基づいて、変更値を決定する。これをブロック１９６で示す。次に、この変更値をアプリケーション・レイヤ１６０に（恐らく、アプリケーション・インターフェース１５８を介して）、新たな位置情報として出力する。これをブロック１９８で示す。尚、部材１８が絶対ゾーンまたは速度ゾーンのどちらにあるかについて判定する際、リマッパ１５６はある種のヒステリシスを実装し、部材１８が絶対ゾーンおよび速度ゾーン間の境界付近に位置する場合、これら２つのを行ったり来たりするのを回避してもよい。これについては、図６および図７に関して説明する。
【００７６】
ブロック１９４において、リマッパ１５６が、部材１８が絶対位置決めゾーン内にあると判定した場合、次に、リマッパ１５６は、部材１８が丁度速度ゾーンから絶対位置決めゾーンに入ったところか否かについて判定を行う。その通りである場合、図７に関して説明したように、リマッパ１５６は、実際に速度ゾーン挙動から出る前に、ユーザに部材１８を中心に位置付けさせたい場合がある。したがって、本発明の一実施形態によれば、リマッパ１５６は、ブロック２００において、部材１８が直前には絶対位置決めゾーンにいたか否かについて判定を行う。そうでない場合、部材１８は速度ゾーンから絶対位置決めゾーンに入ったばかりであることを示す。この場合、リマッパ１５６は、絶対位置決めゾーンおよび速度ゾーン間の境界を、更に絶対位置決めゾーン側に移動させ、図７に示す中央ゾーン１１６の境界と一致させる。これをブロック２０２で示す。このように、リマッパ１５６は、部材１８を所定の公称中央範囲内に位置付けるまで、部材１８の速度ゾーン内における位置付けを示す値を供給し続ける。これらのゾーン間の境界を中央ゾーン１１６に移動したという事実が得られた場合、リマッパ１５６は、部材１８の位置に基づいて、変更値を決定し、これをアプリケーションに送る。これをブロック２０４に示す。次に、この値は、新たな位置情報としてアプリケーション・レイヤ１６０に出力する。これをブロック１９８で示す。勿論、図６および図７に関して先に説明したように、これらゾーン間の遷移は、種々の異なる方法で処理することができる。これらは、リマッパ１５６によってそれなりに実施する。
【００７７】
部材１８が絶対位置決めゾーン内にあり、ユーザがそれを移動させてない場合、位置センサが与える実際の位置情報値は、ある許容度およびフィルタリング技法のために、数ビット位置だけ変動する可能性がある。リマッパ１５６がこれらを認識した場合、ディスプレイ１５上に表示中のファースト・パーソン・パースペクティブ・ビューは、これら位置情報における、たいしたことがなく、不要な変化に基づいてジッタを生じたり、前後に行ったり来たりする場合がある。したがって、従来のジッタ・フィルタを採用し、変化の大きさがスレシホルド・レベル未満の場合には、位置情報の変化を無視することができる。
【００７８】
しかしながら、変化を無視すると、分解能が低下する虞れがあり、その結果制御の平滑性を損なうことになる。例えば、ユーザが部材１８を軸１０２を中心として連続的に時計回り方向に移動させている場合、ジッタ・フィルタを採用する必要は実質的にない。何故なら、各サンプル値は、以前の値よりも大きいからである。したがって、分解能を低下させる必要はない。
【００７９】
この理由のために、ブロック２００において、部材１８が絶対位置決めゾーン内にあると判定し、前回のサンプリング間隔中絶対位置決めゾーン内にいた場合、リマッパ１５６は、スロープ・フラグがセットされているか否かについて判定する。スロープ・フラグは、２回以上の連続するサンプリング期間において部材１８の位置が同じ方向に変化したことを示す位置情報を含む２つ以上の連続パケットを受信した場合、関連する軸を中心とする部材１８の移動の方向を示すためにセットする。
【００８０】
その通りである場合、ユーザが部材１８を連続的に同じ方向に少なくとも２サンプリング間隔において移動させていることを示す。スロープ・フラグがセットされているか否かについての判定をブロック２０６で示す。スロープ・フラグがセットされていない場合、ユーザは部材１８を一方向に２回以上の連続サンプリング間隔において連続的に移動させていないことを示す。その場合、リマッパ１５６はジッタ・フィルタを呼び出す（図１２に関して詳細に説明する）。これをブロック２０８で示す。ジッタ・フィルタの出力に基づいて、リマッパ１５６は、ブロック１９８に示すように、新たな位置情報をアプリケーションに出力する。
【００８１】
ブロック２０６において、スロープ・フラグがセットされている場合、リマッパ１５６は、部材１８の位置変化が、直前のスロープと同じ方向か否かについて判定を行う。同じでない場合、ユーザは移動方向を切り替えたことを意味する。その場合、ブロック２０８で示すように、再度ジッタ・フィルタを呼び出すことが望ましい場合がある。位置変化が直前のスロープと同じ方向か否かについての判定を、ブロック２１０で示す。
【００８２】
ブロック２１０において、部材１８の位置変化が直前のスロープと同じ方向であると判定した場合、ユーザは単に同じ方向に部材を移動させ続けていることを意味し、ジッタ・フィルタを呼び出したり、その結果として分解能の低下を招く必要はない。したがって、リマッパ１５６は、その場合、ブロック１９８で示すように、単に新たな位置情報をアプリケーション・レイヤ１６０に出力する。
【００８３】
一旦新たな位置情報をアプリケーションに供給したなら、アプリケーションはＸＹ位置フィールドからの新たなデータおよび残りのデータ（ボタン・アレイ内のいずれかのスイッチの押下等）に基づいて、表示を変更する。これをブロック２１２で示す。
【００８４】
図１４は、ジッタ・フィルタの呼び出しをより良く示す。ジッタ・フィルタを呼び出すと、リマッパ１５６は、前回の値からの位置変化がスレシホルド・レベルよりも大きいか否かについて判定を行う。これをブロック２１４で示す。大きい場合、これは正当な位置変化に対応し、リマッパ１５６は新たな位置情報をアプリケーション・レイヤ１６０に供給する。これをブロック１９８で示す。しかしながら、ブロック２１４において、前回の値からの位置変化がスレシホルド・レベルを超過しないと判定した場合、リマッパ１５６は単にこの位置変化を無視する。これをブロック２６０で示す。
【００８５】
図１５は、コンピュータ入力デバイス１４の代表的な一実施形態の分解図であり、その多数の機械的構造をより良く示すものである。図１５は、通常の使用位置からひっくり返した位置におけるコンピュータ入力デバイス１４を示す。図１５は、入力デバイス１４が、下側筐体２２０、および上側筐体２２２を有し、これらを組み立ての間に互いに接続することを示す。上側筐体２２２は、ボタンアレイ２８の親指接触部分２２６を受容する複数の空洞２２４を有する。一方、親指接触部分２２６は、対応するプランジャ２２８を摩擦力で係合する。これらは、押下した場合、関連するプリント回路ボード２３０上に位置するスイッチ接点を閉じるように作用する。
【００８６】
指係合トリガ（finger engaging trigger）３２を、ポスト２３２に枢動自在に装着する。ポスト２３２は、上側筐体部分２２２に固着する。トリガ３２は、延出するプランジャ２３４を有し、トリガ３２を押下した場合、プリント回路ボード２３０上に装着してある対応のスイッチ２３６とプランジャ２３４は係合する。
【００８７】
加えて、ハットスイッチ３０を、上側筐体２２２内の開口を貫通して、ショルダ２３８に装着してある。ハットスイッチ３０を種々の角度で押下すると（先の表１に関して記載したように）、ショルダ２３８はプリント回路ボード２４０上に装着してあるスイッチ接点の１つ以上の集合を閉鎖するように作用する（図１５に示す実施形態では、スイッチは、図示する面とは反対側のプリント回路ボード２４０の面上に装着してある）。
【００８８】
リンケージ（または蝶番部分）２２は、第１カム・アセンブリ２４２および第２カム・アセンブリ２４４を含み、双方については、図１７ないし図２５に関して更に詳細に説明する。カム・アセンブリ２４２により、部材１８は軸１０６を中心として揺動することができ、一方カム・アセンブリ２４４により、部材１８は軸１０２を中心として偏揺する（yaw）ことができる。また、入力デバイス１４は、一例として、中空シャフト２４６も含み、これはカム・アセンブリ２４４を貫通し、カム・アセンブリ２４２内に達する。ワイヤ・ハーネス２４８が、シャフト２４６の中空部分を貫通し、部材１８上の回路ボード２３０上の種々のスイッチおよびボタンからの信号を、後続の処理のために、部材１６上に位置する回路ボード２３０に返送する。
【００８９】
スリーブ２５２を用いてシャフト２４６をポテンショメータ２６０に接続する。スリーブ２５２は、延出するタング部２５４を含む。タング部２５４は、中空シャフト２４６の開放上部内に見えないように嵌合するサイズであり、中空シャフト２４６の内面を開放上部と摩擦係合させる。また、スリーブ２５２は、ポテンショメータ２６０の回転ワイパ２５８を受容するサイズとした開口を含む対向端２５６を有する。ポテンショメータ２６０は、部材１６内に収容した回路ボード２３０に装着してある。スリーブ２５２をシャフト２４６上に組み付けた場合、部材１８が軸１０６を中心として揺動すると、スリーブ２５２はシャフト２４６と共に回転する。スリーブ２５２内の開口２５６は、ポテンショメータ２６０のワイパ２５８と摩擦係合するので、ワイパ２５８もシャフト２４６と共に回転する。これによって、部材１８の軸１０６を中心とする移動を示すポテンショメータ信号を与える。
【００９０】
図１６は、図１５に示したコンピュータ入力デバイス１４の一部の超拡大図である。同様の品目には、図１５に示したものと同様に付番してある。図１６は、第２シャフト２６６を部材１８に結合し、カム・アセンブリ２４２を貫通して上方向（図１６に示す図において）に延びることを示す。シャフト２６６は、シャフト２４６の開放部分を貫通して上方向に延び、軸１０２を規定する。軸１０２を中心として部材１８はヨー方向即ちＸ方向に枢動する。カム・アセンブリ２４２によって隠れているが、図１５においてシャフト２４６に関して説明したのと同様のポテンショメータ構成が、シャフト２６６にも備えてあり、部材１８のＸ方向位置を示す電気信号も回路ボード２３０に（ワイヤ・ハーネス２４８を介して）供給するようにしてある。
【００９１】
また、図１６は、開口２７０を内部に規定する部材１８の筐体も示す。開口２７０は、筐体２６８および環状スリーブ２７２間に多少の遊びが得られる程度の大きさである。環状スリーブ２７２はシャフト２４６に堅固に結合してあり、それと共に回転する。一実施形態では、環状スリーブ２７２およびシャフト２４６は、互いに一体的に成形する。環状スリーブ２７２は、部材１８がその外周の回りを回転する間、適所に留まる。環状スリーブ２７２が内側に延び筐体１８内に達しているので、部材１８がその最大運動範囲にわたって軸１０２を中心に回転しても、スリーブ２７２はなおもアパーチャ２７０の実質的な閉鎖を維持するため、部材１８の筐体２６８の内側は露出されない。
【００９２】
また、図１６は、カム・アセンブリ２４４がクロージャ２７４も含むことを示す。クロージャ２７４は、カム２７６の外周よりも多少大きいサイズの内周を有する。カム・ホロワ２７８が、カム２７６に近接配置してあり、シャフト２４６と共に回転するように構成してある。圧縮ばね２８０（図１７に示す）が、クロージャ２７４の内壁とカム２７６の対向面との間に配置してある。
【００９３】
図１７ないし図２５は、カム・アセンブリ２４２および２４４をより良く示す。これらの図に示すカム・アセンブリは、カム・アセンブリ２４２または２４４のいずれにも等しく適用可能であるが、明確化のために、ここではカム・アセンブリ２４４のみについて論ずることにする。更に、カムおよびカム・ホロワの向きは、図示のものから逆転することも可能である。
【００９４】
図１７は、カム２７６、カム・ホロワ２７８および圧縮ばね２８０の分解図であり、クロージャ２７４を取り除いてある。図１７は、カム２７６がその実質的に平坦な表面上に配した複数のカム面２８２を、図１７に示す面と対向して、有することを示す。同様に、カム２７６は、圧縮ばね２８０の外周よりも多少大きなサイズとした、ショルダ２８４を含む。したがって、圧縮ばね２８０は、ショルダ２８４が規定する空洞内において、カム２７６に接する。
【００９５】
カム・ホロワ２７８は複数の突起２８６を含み、実質的に平坦なカム追従面２８８から突出している。カム・ホロワ２７８は、シャフト２４６周囲に配置してあり、シャフト２４６と共に回転する。
【００９６】
図１８は、カム・アセンブリ２４４を組み立てた図を示し、クロージャ２７４は取り外してある。図１８は、中立位置にあるカム・アセンブリ２４４を示し、その場合、突起２８６はカム面２８２間に位置する。中立位置は、部材１８が図６における挙動ゾーン１１０内にあることとに対応する。
【００９７】
図１９は、中立位置にあるカム・アセンブリ２４４の一部を通過する側断面図である。図１９は、中立位置において、カム・フォロワ２７８上の突起２８６およびカム２７６上のカム面２８２が実質的に平坦な対向面に接するように、圧縮ばね２８０がカム２７６およびカムフォロワ２７８に力を加えていることをより良く示す。したがって、シャフト２４６が回転すると、ユーザは、圧縮ばね２８０が加える力によって対向する表面に沿って摺動する突起２８６およびカム面２８２の摩擦によって生ずるほぼ一定の力を知覚する。代表的な一実施形態では、カム２７６およびカム・フォロワ２７８は、Ｄｅｌｒｉｎという商標で販売されているアセタール材で形成する。この材料は、２つの部品が互いに摺動する際、粘性流体感を与え、移動に対して軽い抵抗をもたらす。勿論、所望の感触を得るためには、他の材料も同様に使用可能である。
【００９８】
図２０ないし図２２は、図１７ないし図１９に示した中立位置に対して、例えば、約３０度回転した位置におけるカム・アセンブリ２４４を示す。したがって、図２０ないし図２２は、部材１８を回転させ図６に示したゾーン１１０を完全に通過し、ゾーン１１２または１１４の一方に移行し始めているときの、カム・アセンブリ２４４を示す。図２２に明確に見ることができるように、カム面２８２および突起２８６は、圧縮ばね２８０の力により、直接互いに接している。したがって、ユーザが部材１８を回転させて絶対位置ゾーンから速度ゾーンに移行させると、ユーザは回転に対して別個の抵抗増大を感じる。何故なら、カム面２８２および突起２８６はその時点で互いに係合するからである。
【００９９】
図２４ないし図２５は、例えば、図１７ないし図１９に示した中立位置から約４０度回転した場合の位置におけるカム・アセンブリ２４４を示す。したがって、これは、例えば、図７に示したゾーン１１２の一方の側端に対応する。図２２に示すように、カム面２８２は、カム・ホロワ２７８上の突起２８６と係合し、互いに向かって押し付けられ、カム２７６がカム・ホロワ２７８から変位している。勿論、カム・ホロワ２７８は、図２２に示す図の垂直方向に固定してある。したがって、カム２７６を上方向に移動させることによって、ばね２８０を圧縮させる。ばね２８０を圧縮させる程、ばね２８０はより大きな抵抗力を発生する。したがって、カム・フォロワ２７８をその最大運動範囲にわたって回転させた場合（例えば、中立から約＋４０度）、ばね２８０はその最大の力を発揮し、したがってユーザはこの時点で回転に対して最大の抵抗を知覚する。
【０１００】
図１５ないし図３０は、入力デバイス１４のある人間工学的な面を示す。図２６は、部材１６および１８双方が、全体的に長手方向軸２９０および２９２をそれぞれ有することを示す。部材１６および１８の長手方向軸は、人間工学的な中立位置を得るために、僅かなトーイン（toe-in）角度を有する。例えば、シャフト２４６は、図２６において番号２９４で全体的に示す軸を規定する。軸２９０および２９２は、軸２９４に対してほぼ垂直な線に対して角度２９６だけ内向きになっている。トーイン角度２９６は、一例として、約１０ないし１５度であり、更に約１２度とすることができる。このように、入力デバイス１４の形状および初期トーイン角度により、ユーザの手首を中立初期手首姿勢とする。平均して、デバイス１４の初期手首姿勢は、約１４度の延長（extension）および８度の尺骨偏位（ulnar deviation）である。これらの値は、手首の中立姿勢の範囲内である。中立手首屈曲／延長は、約０度ないし２０度の延長範囲であり、一方中立手首偏位は約０度ないし２０度の尺骨偏位の範囲である。
【０１０１】
図２７は、第５パーセンタイル（percentile）ないし第９５パーセンタイルの親指の幅を有する北アメリカの男性の親指の幅を収容する多数の間隔を示す。親指作動制御部（ハットスイッチ３０およびボタン・アレイ２８内のボタン等）は、不用意な作動を回避するように構成してある。したがって、ボタン・アレイ２８内のボタンの中心対中心間隔３００は、一例として、約１８ｍｍないし２８ｍｍであり、約２１ｍｍとすることも可能である。加えて、アレイ２８内のボタンの中心対中心間隔３０２は、一例として、約１３ｍｍよりも大きく、更に約１４．６ｍｍである。
【０１０２】
加えて、リンケージ（または蝶番機構）２２は、一例として、アレイ２８内のボタンを作動させていないときに、ユーザの右手の親指を載せることができる表面３０４を含む。また、表面３０４の中央領域は、軸１０２を中心として部材１８を枢動させるための枢軸位置にも対応する。部材１８上の４つのボタン・アレイ２８の中心と枢動軸１０２との間の距離３０６は、一例として、約７ｍｍないし４７ｍｍの範囲である。更に、距離３０６は、一例として、約２５ないし３０ｍｍの範囲であり、約２７ｍｍとすることも可能である。
【０１０３】
枢動軸１０２から４つのボタン・アレイ２８の中央までの距離３０８は、典型的な親指のスイングの運動範囲が入るように構成する。距離３０８は、一例として、約３０ないし４０ｍｍの範囲であり、約３４．６ｍｍとすることも可能である。
【０１０４】
方向パッド３０も、第５パーセンタイルないし第９５パーセンタイルの親指の幅を有する男性に対処するサイズを有し、不用意な作動を回避するように構成する。したがって、ハットスイッチ３０が有する長さ３１０は、一例として、約２０ないし３０ｍｍの範囲であり、約２８．４ｍｍとすることも可能である。加えて、ハットスイッチ３０は、幅３１２も有し、一例として、約１８ないし２８ｍｍの範囲であり、約２２．５ｍｍとすることができる。
【０１０５】
図２８は、入力デバイス１４の前下側から取った斜視図である。図２８は、部材１６および１８のハンド・グリップが、下側に指係合部分３１４および３１６を有し、把持摩擦を増大させるために表面処理（texture）を施してある。テクスチャは、摩擦を増大させる表面であればいずれとすることもでき、リッジが内部に形成してある低デュロメータ材料、または粗い表面のプラスチック等がある。
【０１０６】
図２９は、図２８の切断線１６Ｂ−１６Ｂに沿った断面図である。図２９は、部材１６のハンドル部分のエッジを丸めてあり、凸円弧形状となっていることを示す。これは、ユーザの手のひらの凹円弧と一致するような外形としたものである。同様に、ハンドル部分の直径３２０全体は、第５パーセンタイルないし第９５パーセンタイル範囲の手のひらサイズを有する北アメリカの男性に対処するような外形としてある。したがって、直径３２０は、一例として、約４３ｍｍないし５３ｍｍの範囲であり、約５０ｍｍとすることができる。同様に、部材１６および１８のハンドル部分の胴回り（即ち、外周）は、一例として、約１２０ないし１４５ｍｍの範囲であり、約１３３ｍｍとすることができる。
【０１０７】
図３０は、図２６に示した軸２９２に沿った部材１８の断面図である。部材１８のハンドル部分の長さ３２２は、一例として、第５パーセンタイルないし第９５パーセンタイル範囲の北アメリカの男性の手のひらの幅が納まるように構成する。したがって、長さ３２２は、一例として、約８６ｍｍよりも大きく、また約１０５ｍｍよりも大きくてもよく、更に約１３１ｍｍとすることも可能である。また、図３０は、部材１６および１８は、そのハンドル部分が、ボタン・アレイ２８およびハットスイッチ３０を支持するパッド・エリアから後方および下方に延びているという点で、いくらかピストルのグリップのように具体化していることも示す。部材１８上に位置する４つのボタン・アレイ２８の中心から部材１８のハンドル部分の端部までの距離３２４は、一例として、約９０ないし１００ｍｍの範囲であり、約９７．５ｍｍとすることができる。
【０１０８】
トリガ３２の位置は、手および指が部材１８のハンドル部分上のピストル・グリップ形状内にある場合に、人差指の先端で作動させることができるように構成する。部材１８上の４つのボタン・アレイ２８の中心からトリガ３２の前面までの距離３２６は、指の長さが第５パーセンタイルないし第９５パーセンタイルの範囲である北アメリカの男性に対応する。これを行うには、手がピストル・グリップにあるときに、目標母集団（target population）の細端がトリガ３２の表面に達することができるようにする。したがって、距離３２６は、約４５ｍｍ未満であり、約３５ｍｍ未満とすることもでき、更に約３３．５ｍｍとすることも可能である。
【０１０９】
加えて、デバイス１４の重量は、一例として、長時間使用してもユーザに大きな疲労を与えないように、十分小さくする。したがって、代表的な一実施形態では、デバイス１４は、約２２５ないし３４５グラムの範囲の重量である。また、デバイス１４は、約２８４グラムの重量とすることも可能である。
結論
以上のように、本発明は、互いに対して回転可能および連動可能であり、その移動を示す信号を与える２つの部材を有する、コンピュータへのユーザ入力デバイスを提供する。一例として、本発明は、２つ以上の範囲の運動間の移動を与え、これを検知して、表示しているオブジェクトの挙動特性を変化させるために用いることができる。同様に、本デバイスは、人間工学的な作動に対応したサイズおよび形状を有するコンポーネントを用いて構成した。
【０１１０】
本発明は、好適な実施形態を参照しながら説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更も可能であることを、当業者は認めよう。
【図面の簡単な説明】
【図１】本発明による入力デバイスを利用可能なコンピュータ・システムのブロック図である。
【図２】本発明による入力デバイスと共に使用可能なコンピュータの一実施形態のブロック図である。
【図３】本発明の一態様による絶対位置検知を示す図である。
【図４】本発明の一態様による絶対位置検知を示す図である。
【図５】本発明の一態様による絶対位置検知を示す図である。
【図６】本発明の一態様による絶対および速度制御を示すグラフである。
【図７】本発明の一態様による絶対ゾーンおよび速度ゾーンを示す図である。
【図８】本発明の一態様による入力デバイスの上位機能ブロック図である。
【図９】図８に示す入力デバイスが発生する情報パケットの一実施形態を示す図である。
【図１０】図８に示す入力デバイスが情報パケットを発生する際の動作を示すフロー図である。
【図１１】本発明の一態様による情報パケットの処理を示す機能ブロック図である。
【図１２】本発明の一態様による情報パケットの処理を示すフロー図である。
【図１３】本発明の一態様による情報パケットの処理を示すフロー図である。
【図１４】本発明の一態様による情報パケットの処理を示すフロー図である。
【図１５】本発明の一実施形態による入力デバイスの分解図である。
【図１６】図１５に示す入力デバイスの一部の拡大図である。
【図１７】本発明の一態様によるカム配列を示す図である。
【図１８】本発明の一態様によるカム配列を示す図である。
【図１９】本発明の一態様によるカム配列を示す図である。
【図２０】本発明の一態様によるカム配列を示す図である。
【図２１】本発明の一態様によるカム配列を示す図である。
【図２２】本発明の一態様によるカム配列を示す図である。
【図２３】本発明の一態様によるカム配列を示す図である。
【図２４】本発明の一態様によるカム配列を示す図である。
【図２５】本発明の一態様によるカム配列を示す図である。
【図２６】本発明の一態様によるある人間工学的機構を示す図である。
【図２７】本発明の一態様によるある人間工学的機構を示す図である。
【図２８】本発明の一態様によるある人間工学的機構を示す図である。
【図２９】本発明の一態様によるある人間工学的機構を示す図である。
【図３０】本発明の一態様によるある人間工学的機構を示す図である。
【符号の説明】
１０    システム
１４    入力デバイス
１５    コンピュータ表示装置
１６    第１ハンドル部材
１８    第２ハンドル部材
２０    コンピュータ
２２    リンケージ
２８    ボタン・アレイ
３０    多元スイッチ入力デバイス
３２    トリガ
３４，３６    細長ハンドル部分
１１０，１１２，１１４    挙動ゾーン
１１６    中央制御帯
１１８    絶対位置決め制御帯
１２０    速度制御ゾーン
１２４    コントローラ
１２６    Ｘ位置センサ
１２８    Ｙ位置センサ
１３０    較正回路
１３２    スイッチ
１３４    ゾーン較正回路
１３６    アナログ／ディジタル（Ａ／Ｄ）変換器
１５３    バス・レベル・レイヤ
１５４    第１バス・ドライバ
１５６    リマッパ
１５８    アプリケーション・インターフェース
１６０    アプリケーション・レイヤ
１６２，１６４，１６６    アプリケーション
２２０    下側筐体
２２２    上側筐体
２２４    空洞
２２６    親指接触部分
２２８    プランジャ
２３０    プリント回路ボード
２３２    ポスト
２３４    プランジャ
２３８    ショルダ
２４０    プリント回路ボード
２４２    第１カム・アセンブリ
２４４    第２カム・アセンブリ
２４６    中空シャフト
２４８    ワイヤ・ハーネス
２５２    スリーブ
２５４    タング部
２５８    回転ワイパ
２６０    ポテンショメータ
２６６    第２シャフト
２６８    筐体
２７０    アパーチャ
２７２    環状スリーブ
２７４    クロージャ
２７６    カム
２７８    カム・ホロワ
２８０    圧縮ばね
２８２    カム面
２８４    ショルダ
２８６    突起
【図１】
0004544682.tif 000003
【図２】
0004544682.tif 000004
【図３】
0004544682.tif 000005
【図４】
0004544682.tif 000006
【図５】
0004544682.tif 000007
【図６】
0004544682.tif 000008
【図７】
0004544682.tif 000009
【図８】
0004544682.tif 000010
【図９】
0004544682.tif 000011
【図１０】
0004544682.tif 000012
【図１１】
0004544682.tif 000013
【図１２】
0004544682.tif 000014
【図１３】
0004544682.tif 000015
【図１４】
0004544682.tif 000016
【図１５】
0004544682.tif 000017
【図１６】
0004544682.tif 000018
【図１７】
0004544682.tif 000019
【図１８】
0004544682.tif 000020
【図１９】
0004544682.tif 000021
【図２０】
0004544682.tif 000022
【図２１】
0004544682.tif 000023
【図２２】
0004544682.tif 000024
【図２３】
0004544682.tif 000025
【図２４】
0004544682.tif 000026
【図２５】
0004544682.tif 000027
【図２６】
0004544682.tif 000028
【図２７】
0004544682.tif 000029
【図２８】
0004544682.tif 000030
【図２９】
0004544682.tif 000031
【図３０】
0004544682.tif 000032