実施の形態1.
本発明の第1の実施の形態について、図面を参照して説明する。図1は、本発明の第1の実施の形態の一構成例を示すブロック図である。
入力装置の一例としてのマウス100には、使用者が手をマウス100の上に載置した際の指先側(以下、前側という)の固定面と接する面にマウス100の前側の動きを検出する第1のセンサ(検出手段)1が設けられ、使用者が手をマウス100の上に載置した際の手首側(以下、後側という)の固定面と接する面にマウス100の後側の動きを検出する第2のセンサ(検出手段)2が設けられている。また、マウス100は、第1のセンサ1および第2のセンサ2が検出した結果にもとづいて、マウス100の動きを算出する演算部(演算手段)10、第1のセンサ1および第2のセンサ2が検出した結果を記憶する記憶部(記憶手段)20、および指令を示す情報であるコマンドをマウス100が接続されたコンピュータに送信する制御部(制御手段、送信手段)30を含む。ここで、コマンドとは、例えば、左クリックや、右クリック、画面スクロール等のコンピュータへの指令である。なお、マウス100には、使用者がクリック操作を行うためのスイッチやボタンは設けられていなくてもよい。
第1のセンサ1は、マウス100の移動に伴う移動ベクトル(移動方向と移動量)を特定可能な信号を出力するセンサであり、例えば、マウス100の移動に従って回転する球と、水平面上で直交するように設置され、球の回転に従って回転する2つのロータと、2つのロータのそれぞれの回転量に応じた信号を出力するロータリエンコーダとで構成される。一方のロータは、球の前側および後側への回転に従って回転し、他方のロータは、球の回転に従って一方のロータに直交する方向に回転する。従って、一方のロータの軸に接続されているロータリエンコーダは、球の前側および後側(X方向とする)への移動量に応じた信号を出力する。他方のロータの軸に接続されているロータリエンコーダは、X方向に直交するY方向の球の移動量に応じた信号を出力する。例えば、一方のロータリエンコーダは、マウス100がX方向に所定量移動する毎に出力信号の状態を変化させる。また、他方のロータリエンコーダは、マウス100がY方向に所定量移動する毎に出力信号の状態を変化させる。
また、第1のセンサ1は、発光器と受光器とを備え、発光器が発光し、マウスパッド等が反射した光を受光器が受光することによって、マウス100の移動方向と移動量とに応じた情報を得て、その情報を示す信号を出力する構成であってよい。さらに、第1のセンサ1は、撮像素子を備え、撮像素子が撮像によって得た画像を、所定時間(例えば0.1秒)前に得た画像と比較して、画像変化にもとづいてX方向およびY方向の移動量を示す信号を出力する構成であってよい。
なお、第2のセンサ2の構成は、第1のセンサ1の構成と同様である。また、マウス100の回転を正確に把握するには、ロータを介するロータリエンコーダを使用するよりも、撮像素子を備えたセンサを用いることが好ましいが、本実施の形態では、説明を簡単にするために、一定量の回転を検出する毎に位相差を変える2相信号を出力するロータリエンコーダを使用する場合を例にする。
演算部10および制御部30は、例えば、CPUによって実現される。記憶部20は、例えば、CPUが内蔵するキャッシュメモリや、RAM等によって実現される。
演算部10の構成について説明する。図2は、演算部10の一構成例を示すブロック図である。演算部10には、第1のセンサ1の一方のロータリエンコーダの出力(図2においてX1とする。)にもとづいて、第1のセンサ1がX方向に所定量移動する毎に1パルスを出力する移動検出部21Xが設けられている。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。また、第1のセンサ1の他方のロータリエンコーダの出力(図2においてY1とする。)にもとづいて、第1のセンサ1がY方向に所定量移動する毎に1パルスを出力する移動検出部21Yが設けられている。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。
さらに、第2のセンサ2の一方のロータリエンコーダの出力(図2においてX2とする。)にもとづいて、第2のセンサ2がX方向に所定量移動する毎に1パルスを出力する移動検出部22Xが設けられている。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。また、第2のセンサ2の他方のロータリエンコーダの出力(図2においてY2とする。)にもとづいて、第2のセンサ2がY方向に所定量移動する毎に1パルスを出力する移動検出部22Yが設けられている。
判定部11は、移動検出部21Xの出力と移動検出部22Xの出力とを比較して、X方向について、第1のセンサ1と第2のセンサ2とが相対的に移動しているか否か判定する。ここでは、第1のセンサ1の移動による移動ベクトルの方向と第2のセンサ2の移動による移動ベクトルの方向とが同じである場合には、第1のセンサ1と第2のセンサ2とは相対的に移動していないとする。すなわち、第1のセンサ1と第2のセンサ2とが相対的に移動していない状態では、マウス100は回転していない。また、判定部11は、移動検出部21Yの出力と移動検出部22Yの出力とを比較して、Y方向について、第1のセンサ1と第2のセンサ2とが相対的に移動しているか否か判定する。
判定部11は、さらに、X方向についての判定結果とY方向についての判定結果とから、マウス100が回転しているか否かと、回転している場合には、第1のセンサ1と第2のセンサ2とのうちのいずれが回転の中心位置であるのかを判定する。
例えば、第1のセンサ1と第2のセンサ2との距離が3cmであって、使用者が、マウス100を、第2のセンサ2の位置を中心として、机上やマウスパッド上などの固定面上で反時計回りに45°回転させると、回転開始から回転終了までの間に、移動検出部22Xおよび移動検出部22Yはパルスを出力しない。しかし、移動検出部21Yは、マウス100を上方から見て左側に約2.12cm移動したことに応じた数のパルスを出力し、移動検出部21Xは、後側に約0.88cm移動したことに応じた数のパルスを出力する。すると、判定部11は、第1のセンサ1と第2のセンサ2が相対的に移動している、すなわちマウス100が回転していると判定できる。また、判定部11は、マウス100が回転していると判定した場合には、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて、回転の中心位置を判定する。この場合、移動検出部22Xおよび移動検出部22Yはパルスを出力しないので、マウス100は、第2のセンサ2の位置を中心として回転していると判定する。すなわち、回転の中心位置は第2のセンサ2の位置であると判定する。
算出部12は、判定部11の判定結果を入力し、判定結果にもとづいて、移動検出部21X,21Y,22X,22Yの出力を用いて、基準方向に対する回転方向と回転角度とを算出する。
第2のセンサ2の位置が回転の中心位置である場合には、算出部12は、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて回転方向と回転角度とを算出する。すなわち、tan−1(2.12/(3−0.88))=45°の計算結果から、マウス100の回転方向は反時計回りであって、回転角度は45°であると算出する。なお、マウス100を上方から見て左側の移動方向を正とし、反時計回りの回転方向を正とする。
また、使用者が、マウス100を第2のセンサ2の位置を中心に固定面上で時計回りに45°回転させると、回転開始から回転終了までの間に、移動検出部22Xおよび移動検出部22Yはパルスを出力しない。しかし、移動検出部21Yは、マウス100を上方から見て右側に約2.12cm移動したことに応じた数のパルスを出力し、移動検出部21Xは、前側に約0.88cm移動したことに応じた数のパルスを出力する。すると、判定部11は、マウス100が回転していること、および回転の中心位置が第2のセンサ2の位置であるとの判定結果を出力する。算出部12は、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて回転方向と回転角度とを算出するのであるが、この場合には、tan−1(−2.12/(3−0.88))=−45°であるため、マウス100の回転方向は時計回りであって、回転角度は45°であると算出する。
そして、算出部12は、判定部11の判定結果(回転しているか否かと回転の中心位置)と、算出結果(回転方向と回転角度)とを制御部30に出力する。また、移動検出部21X,21Y,22X,22Yの出力も制御部30に出力される。
以下、算出部12が回転方向および回転角度を算出したことを、例えば、「第1のセンサ1(もしくは第2のセンサ2)の位置を中心にして反時計回り(もしくは時計回り)の方向にx°回転したと判定した」または「第1のセンサ1(もしくは第2のセンサ2)の位置を中心にして反時計回り(もしくは時計回り)の方向にx°回転したと検出した」のように表現する。
制御部30は、演算部10が特定した回転中心の位置を示す信号と、算出結果とを入力すると、回転中心の位置および算出結果に応じてあらかじめ決められているコマンドを、マウス100が接続されているコンピュータに送信する。なお、制御部30は、マウス100が回転していることが検出されていないときには、移動検出部21Xおよび移動検出部21Yの出力、または移動検出部22Xおよび移動検出部22Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。コンピュータは、表示部にポインタを表示するとともに、マウス100の移動を表す信号にもとづいて、表示部においてポインタを移動させる。マウス100は、移動を表す信号として、移動検出部21Xおよび移動検出部21Yの出力を用いてもよいし、移動検出部22Xおよび移動検出部22Yの出力を用いてもよい。
図3は、マウス100の回転とコマンドとの関係の一例を示す説明図である。図3に示す関係を示すデータ、すなわち回転の中心位置、回転方向および回転角度とコマンドとの対応関係は、記憶部20に、あらかじめ記憶されている。なお、図3に示す関係は一例であって、マウス100の回転とコマンドとの関係は、図3の例示に限られない。
本発明の第1の実施の形態の動作について説明する。図4は、使用者が、マウス100を第2のセンサ2の位置を中心にして反時計回りの方向に45°回転させる場合を示す説明図である。図4(a)は、マウス100を回転させる前の状態を示す。図4(b)は、マウス100を第2のセンサ2の位置を中心にして反時計回りの方向に45°回転させた状態を示す。
まず、マウス100が、左クリックのコマンドをコンピュータに送信する場合を説明する(図3におけるA欄参照)。例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
すると、演算部10における算出部12が、マウス100が、第2のセンサ2の位置を中心にして回転したと判定し、移動検出部21X,21Y,22X,22Yの出力にもとづいて、第2のセンサ2の位置を中心にして反時計回りの方向に45°回転し、その後、所定時間内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転した(つまり、マウス100は、元の姿勢に戻る)と判定する。この場合、回転方向と回転角度の基準方向は、回転開始時の第2のセンサ2の位置から第1のセンサ1の位置に向かう方向である。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、左クリックのコマンドをコンピュータに送信する。
次に、ドラッグのコマンドをコンピュータに送信する場合を説明する(図3におけるB,C欄参照)。例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、次いで、第1のセンサ1と第2のセンサとが相対的に移動しないようにして、すなわちマウス100を回転させないようにして、マウス100を移動させ、さらに、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させたとする。
すると、算出部12は、まず、マウス100が、第2のセンサ2の位置を中心にして回転したと判定する。そして、所定時間内に算出部12がさらなる回転を検出しなかった場合に、制御部30は、ドラッグのコマンドをコンピュータに送信する。その後、算出部12が第2のセンサ2の位置を中心にしてマウス100が反時計回りの方向に45°回転したことを判定したときに、制御部30は、ドラッグ終了のコマンドをコンピュータに送信する。ドラッグのコマンドが送信されてからドラッグ終了のコマンドが送信されるまで、マウス100の回転はなされないので、その間、制御部30は、移動検出部21Xおよび移動検出部21Yの出力、または移動検出部22Xおよび移動検出部22Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。コンピュータは、マウス100の移動を表す信号によって、マウス100の移動の軌跡を認識することができ、範囲指定がなされたことを認識することができる。
なお、コンピュータは、ドラッグのコマンドが送信されてからドラッグ終了のコマンドが送信されるまで、範囲指定された領域の色を反転して表示させてもよい。
この実施の形態では、マウス100は、左クリックのコマンドとドラッグのコマンドを、別のコマンドとしてコンピュータに送信することができる。
さらに、範囲指定の領域に含まれる情報を他の領域に複写する場合には、使用者は、範囲指定がなされている状態で、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させる。すると、算出部12は、第2のセンサ2の位置を中心にしてマウス100が時計回りの方向に45°回転したことを判定する。すると、制御部30は、ドラッグのコマンドをコンピュータに送信する。
使用者は、さらに、マウス100を回転させないようにしつつ、コンピュータの表示部においてポインタが複写先を指すように移動させる。その後、使用者は、例えば、コンピュータのキーボードの「Ctrl」キーを押下した状態で、第2のセンサ2の位置を中心にしてマウス100を反時計回りの方向に45°回転させる。すると、制御部30は、ドラッグ終了のコマンドをコンピュータに送信するが、コンピュータは、そのコマンドを受信するとともに「Ctrl」キーが押下されたことを認識して、範囲指定の領域に含まれる情報を、マウス100が反時計回りの方向に45°回転されたときに、表示部においてポインタが表示されている位置に複写する。
次に、マウス100が、右クリックのコマンドをコンピュータに送信する場合を説明する(図3におけるD欄参照)。例えば、使用者が、第1のセンサ1の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第1のセンサ1の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
すると、演算部10における算出部12が、マウス100が、第1のセンサ1の位置を中心にして回転したと判定し、移動検出部21X,21Y,22X,22Yの出力にもとづいて、第1のセンサ1の位置を中心にして反時計回りの方向に45°回転し、その後、所定時間内に、第1のセンサ1の位置を中心にして時計回りの方向に45°回転した(つまり、マウス100は、元の姿勢に戻る)と判定する。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、右クリックのコマンドをコンピュータに送信する。
なお、コンピュータに搭載されているソフトウェアによっては、右クリックのコマンドを受信すると、コンピュータの表示部に、命令等を選択させるためのウィンドウが表示される場合がある。そのとき、使用者が、命令等を選択するために、表示部に表示されているポインタがウィンドウ内の所定箇所を指すように、マウス100を、回転させないように移動させると、制御部30は、マウス100の移動に応じて、移動検出部21Xおよび移動検出部21Yの出力、または移動検出部22Xおよび移動検出部22Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。また、マウス100は、移動を表す信号として、移動検出部21X、および移動検出部22Xの出力の平均値と、移動検出部21Y、および移動検出部22Yの出力の平均値とを用いてもよい。
そして、使用者が、第2のセンサ2の位置を中心にマウス100を反時計回りの方向に45°回転させ、さらに、所定時間内に、時計回りの方向に45°回転させると、制御部30は、左クリックのコマンドをコンピュータに送信する。コンピュータは、左クリックのコマンドに応じて、ウィンドウ内の命令等を選択する。
次に、マウス100が、左ダブルクリックのコマンドをコンピュータに送信する場合を説明する(図3におけるE欄参照)。例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。さらに、所定の短時間が経過する前に、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
制御部30は、算出部12が第1回目の使用者による反時計回りの方向への回転、および所定時間内の時計回りの方向への回転を検出したことに応じて、まず、左クリックのコマンドをコンピュータに送信しようとする。しかし、所定の短時間が経過する前に算出部12が第2回目の使用者による反時計回りの方向への回転、および所定時間内の時計回りの方向への回転を検出した場合には、左クリックのコマンドを送信せず、左ダブルクリックのコマンドをコンピュータに送信する。
つまり、算出部12が第1回目の使用者による反時計回りの方向への回転および所定時間内の時計回りの方向への回転を検出した後、所定の短時間が経過する前に第2回目の使用者による反時計回りの方向への回転および所定時間内の時計回りの方向への回転を検出した場合には、制御部30は、左ダブルクリックのコマンドをコンピュータに送信する。また、所定の短時間が経過する前に第2回目の使用者による反時計回りの方向への回転および所定時間内の時計回りの方向への回転を検出した場合には、制御部30は、左クリックのコマンドをコンピュータに送信する。
なお、制御部30が、左クリックのコマンドを送信すべきか左ダブルクリックのコマンドを送信すべきかを容易に判断できるように、例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に90°回転させ、その後、所定時間(例えば1秒)内に、第2のセンサ2の位置を中心にして時計回りの方向に90°回転させたことを算出部12が検出した場合に、制御部30は、左ダブルクリックのコマンドをコンピュータに送信するようにしてもよい。
次に、マウス100が、画面スクロールのコマンドをコンピュータに送信する場合を説明する(図3におけるF欄参照)。例えば、例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、時計回りの方向に90°回転させたとする。すると、演算部10における算出部12が、マウス100が、第2のセンサ2の位置を中心にして回転したと判定し、移動検出部21X,21Y,22X,22Yの出力にもとづいて、第2のセンサ2の位置を中心にして時計回りの方向に90°回転したと判定する。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、画面スクロールのコマンドをコンピュータに送信する。
例えば、表計算ソフトウェアを実行し、データ領域を表示部の全体に表示させているコンピュータは、画面スクロールのコマンドを受信すると、データ領域全体のうち、どの範囲を表示部に表示させているのかを示すウィンドウを表示しているデータ領域に重畳して表示部に表示させてもよい。図5は、表示部にデータ領域全体のうち、どの範囲を表示部に表示させているのかを示すウィンドウを表示させた場合の一例を示す説明図である。図5において、ウィンドウの外形である第1の枠200は、データ領域全体の形状を示し、第2の枠201は、表示部が表示しているデータ領域の範囲を示す。
そして、コンピュータは、受信した画面スクロールのコマンドに応じて、表示部に表示させるデータ領域の範囲を移動させるとともに、第1の枠200内で第2の枠201を移動させる。ここで、表示部がデータ領域の横幅全体を表示している場合、コンピュータは、画面を横にスクロールさせるコマンドを受信しても、第2の枠201を移動させないが、画面を縦にスクロールさせるコマンドを受信すると、第2の枠201を縦に移動させる。同様に、表示部がデータ領域の縦幅全体を表示している場合、コンピュータは、画面を縦にスクロールさせるコマンドを受信しても、第2の枠201を移動させないが、画面を横にスクロールさせるコマンドを受信すると、第2の枠201を横に移動させる。
以上に述べたように、この実施の形態によれば、マウス100は、従来のマウスを使用した場合と同様に、コンピュータに上記のコマンドを送信することができる。その結果、従来のマウスを使用した場合と同様に、コンピュータに種々のコマンドを送信することができる。また、従来のマウスを使用した場合とは異なり、使用者がスイッチやボタンを押下する必要はない。
なお、制御部30は、算出部12がマウス100が回転開始したことを検出してから回転終了を検出するまで(回転方向と回転角度との算出を終了するまで)、コンピュータの表示部に表示されているポインタが移動しないようにするために、マウス100の移動を表す信号(移動検出部21Xおよび移動検出部21Yの出力、または移動検出部22Xおよび移動検出部22Yの出力)をコンピュータに送信しないように規制する。しかし、そのような規制をせず、マウス100が回転を開始してから回転を終了するまでの第1のセンサ1または第2のセンサ2の出力にもとづいて、マウス100の移動ベクトル(移動量と移動方向)を検出し、コマンドをコンピュータに送信する際に、その移動ベクトルとは逆向きの移動ベクトルを示す情報をコンピュータに送信することによって、マウス100の回転によってコンピュータの表示部に表示されているポインタが移動することを防ぐようにしてもよい。
また、この実施の形態で用いられた回転角度は一例であって、回転角度は45°や90°に限定されない。種々のコマンドを送信できるように、回転角度の区別ができれば、回転角度として任意の値を用いることができる。
実施の形態2.
本発明の第2の実施の形態について、図面を参照して説明する。図6は、本発明の第2の実施の形態のマウス100を回転させた場合を説明する説明図である。図6(a)は、マウス100を回転させる前の状態を示している。図6(b)は、使用者が、マウス100を反時計回りの方向に回転させた状態を示している。
本発明の第2の実施の形態における入力装置の一例としてのマウス100は、マウス100の動きを検出するセンサを4個(第1のセンサ1、第2のセンサ2、第3のセンサ3、および第4のセンサ4)備える点が第1の実施の形態と異なり、その他の点は第1の実施の形態と同様である。そのため、第1の実施の形態と同様なセンサ等には、図1と同じ符号を付し、説明を省略する。
第1のセンサ1および第2のセンサ2は、マウス100の固定面と接する面の前側に設置され、第3のセンサ3および第4のセンサ4は、マウス100の固定面と接する面の後側に設置される。ここで、各センサは、マウス100の固定面と接する面において、上底が前側で下底が後側となるような台形状の各頂点に位置するように設置される。例えば、マウス100の固定面と接する面側から見て、台形状の上底の左端に第1のセンサ1が設置され、右端に第2のセンサ2が設置され、台形状の下底の左端に第4のセンサ4が設置され、右端に第3のセンサ3が設置される。
第3のセンサ3および第4のセンサ4の構成は、第1の実施の形態における第1のセンサ1および第2のセンサ2と同様なため、説明を省略する。
この実施の形態のマウス100の回路構成は図1に例示されたようであるが、演算部10は、例えば、図7のブロック図に示すように構成される。図7に示す構成おいて、移動検出部23Xは、第3のセンサ3の一方のロータリエンコーダの出力(X3とする。)にもとづいて、第3のセンサ3がX方向に所定量移動する毎に1パルスを出力する。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。また、移動検出部23Yは、第3のセンサ3の他方のロータリエンコーダの出力(Y3とする。)にもとづいて、第3のセンサ3がY方向に所定量移動する毎に1パルスを出力する。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。
移動検出部24Xは、第4のセンサ4の一方のロータリエンコーダの出力(X4とする。)にもとづいて、第4のセンサ4がX方向に所定量移動する毎に1パルスを出力する。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。また、移動検出部24Yは、第4のセンサ4の他方のロータリエンコーダの出力(Y4とする。)にもとづいて、第4のセンサ4がY方向に所定量移動する毎に1パルスを出力する。出力するパルスには、前進方向のパルスと後退方向のパルスとがある。移動検出部21X,21Y,22X,22Yの構成および作用は第1の実施の形態のものと同じである。
判定部11は、8つの移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力にもとづいて、マウス100が固定面上で回転したか否かを判断する。具体的には、判定部11は、移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力にもとづいて第1〜第4のセンサの移動ベクトルを検出し、例えば移動検出部21X,21Yからパルスが出力されているにも関わらず、それぞれの移動ベクトルの差が一定の値以下であるか否か判定する。それぞれの移動ベクトルの差が一定の値以下であれば、マウス100は固定面上で回転せずに移動したと判定する。また、3つの移動ベクトルが有意な値を示しているにもかかわらず、1つの移動ベクトルが無意(値が0または0に近い値)な値を示している場合には、その移動ベクトルに対応するセンサの位置を中心としてマウス100が回転したと判定する。
算出部12は、マウス100が回転している場合には、移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力を用いて、基準方向(例えば、マウス100おける後側から前側への方向)に対する回転方向と回転角度とを算出する。そして、算出部12は、判定部11の判定結果(回転しているか否かと回転の中心位置)と、算出結果(回転方向と回転角度)とを制御部30に出力する。また、移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力も制御部30に出力される。
例えば、第1のセンサ1と第3のセンサ3との距離が3cmであって、使用者が、マウス100を、第3のセンサ3の位置を中心として、机上やマウスパッド上などの固定面上で反時計回りに45°回転させると、回転開始から回転終了までの間に、移動検出部23Xおよび移動検出部23Yはパルスを出力しない。しかし、移動検出部21Yは、マウス100を上方から見て左側に約2.12cm移動したことに応じた数のパルスを出力し、移動検出部21Xは、後側に約0.88cm移動したことに応じた数のパルスを出力する。すると、判定部11は、第1のセンサ1と第3のセンサ3が相対的に移動している、すなわちマウス100が回転していると判定できる。また、判定部11は、マウス100が回転していると判定した場合には、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて、回転の中心位置を判定する。この場合、移動検出部23Xおよび移動検出部23Yはパルスを出力しないので、マウス100は、第3のセンサ3の位置を中心として回転していると判定する。すなわち、回転の中心位置は第3のセンサ3の位置であると判定する。
算出部12は、判定部11の判定結果を入力し、判定結果にもとづいて、移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力を用いて、基準方向に対する回転方向と回転角度とを算出する。
第3のセンサ3の位置が回転の中心位置である場合には、算出部12は、例えば、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて回転方向と回転角度とを算出する。すなわち、tan−1(2.12/(3−0.88))=45°の計算結果から、マウス100の回転方向は反時計回りであって、回転角度は45°であると算出する。なお、マウス100を上方から見て左側の移動方向を正とし、反時計回りの回転方向を正とする。
また、使用者が、マウス100を第3のセンサ3の位置を中心に固定面上で時計回りに45°回転させると、回転開始から回転終了までの間に、移動検出部23Xおよび移動検出部23Yはパルスを出力しない。しかし、移動検出部21Yは、マウス100を上方から見て右側に約2.12cm移動したことに応じた数のパルスを出力し、移動検出部21Xは、前側に約0.88cm移動したことに応じた数のパルスを出力する。すると、判定部11は、マウス100が回転していること、および回転の中心位置が第3のセンサ3の位置であるとの判定結果を出力する。算出部12は、移動検出部21Xおよび移動検出部21Yが出力したパルス数にもとづいて回転方向と回転角度とを算出するのであるが、この場合には、tan−1(−2.12/(3−0.88))=−45°であるため、マウス100の回転方向は時計回りであって、回転角度は45°であると算出する。
なお、演算部10における判定部11は、移動検出部21X,21Y,22X,22Y,23X,23Y,24X,24Yの出力にもとづく第1〜第4のセンサの移動量の大きさにもとづいて、回転の中心のセンサを特定してもよい。具体的には、例えば、検出した移動量が小さい順に、第1のセンサ1、第2のセンサ2、第4のセンサ4、第3のセンサ3であれば、マウス100が移動量が最も小さい第1のセンサ1の位置を中心に回転したと判定する。
なお、各センサ間の距離は、それぞれ異なっていてもよいが、ここでは、例えば、第1のセンサ1と第4のセンサ4との距離と、第2のセンサ2と第3のセンサ3との距離とが等しいものとし、第2のセンサ2と第4のセンサ4との距離と、第1のセンサ1と第3のセンサ3との距離とが等しいものとする。さらに、各センサ間の距離は、距離の短い順に、第1のセンサ1と第2のセンサ2との距離、第3のセンサ3と第4のセンサ4との距離、第1のセンサ1と第4のセンサ4との距離、第2のセンサ2と第4のセンサ4との距離であるものとし、演算部10は、それぞれの距離をあらかじめ記憶しているものとする。
本発明の第2の実施の形態の動作について説明する。例えば、使用者が、第1のセンサ1の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第1のセンサ1の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
すると、演算部10における算出部12が、マウス100が、第1のセンサ1の位置を中心にして回転したと判定し、移動検出部21X,21Yの出力と、移動検出部23X,23Yまたは移動検出部24X,24Yの出力にもとづいて、第1のセンサ1の位置を中心にして反時計回りの方向に45°回転し、その後、第1のセンサ1の位置を中心にして時計回りの方向に45°回転した(つまり、マウス100は、元の姿勢に戻る)と算出する。回転方向と回転角度との基準方向は、回転開始時の第1のセンサ1の位置から第3のセンサ3または第4のセンサ4の位置に向かう方向である。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、左クリックのコマンドをコンピュータに送信する。
次に、ドラッグのコマンドをコンピュータに送信する場合を説明する。例えば、使用者が、第4のセンサ4の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、次いで、各センサが相対的に移動しないようにして、すなわちマウス100を回転させないようにして、マウス100を移動させ、さらに、第4のセンサ4の位置を中心にして時計回りの方向に45°回転させたとする。
算出部12は、まず、マウス100が、第4のセンサ4の位置を中心にして回転したと判定する。そして、所定時間内に算出部12がさらなる回転を検出しなかった場合に、制御部30は、ドラッグのコマンドをコンピュータに送信する。その後、算出部12が第2のセンサ2の位置を中心にしてマウス100が反時計回りの方向に45°回転したことを判定したときに、制御部30は、ドラッグ終了のコマンドをコンピュータに送信する。ドラッグのコマンドが送信されてからドラッグ終了のコマンドが送信されるまで、マウス100の回転はなされないので、その間、制御部30は、移動検出部21X,21Yの出力、移動検出部22Xおよび移動検出部22Yの出力、移動検出部23X,23Yまたは移動検出部24X,24Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。コンピュータは、マウス100の移動を表す信号によって、マウス100の移動の軌跡を認識することができ、範囲指定がなされたことを認識することができる。
なお、コンピュータは、ドラッグのコマンドが送信されてからドラッグ終了のコマンドが送信されるまで、範囲指定された領域の色を反転して表示させてもよい。また、制御部30は、マウス100が回転していることが検出されていないときには、移動検出部21Xおよび移動検出部21Yの出力、移動検出部22Xおよび移動検出部22Yの出力、移動検出部23Xおよび移動検出部23Yの出力、または移動検出部24Xおよび移動検出部24Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。コンピュータは、表示部にポインタを表示するとともに、マウス100の移動を表す信号にもとづいて、表示部においてポインタを移動させる。マウス100は、移動を表す信号として、移動検出部21Xおよび移動検出部21Yの出力、移動検出部22Xおよび移動検出部22Yの出力、移動検出部23Xおよび移動検出部23Yの出力、ならびに移動検出部24Xおよび移動検出部24Yの出力のうちのいずれを用いてもよい。また、マウス100は、移動を表す信号として、移動検出部21X、移動検出部22X、移動検出部23X、および移動検出部24Xの出力の平均値と、移動検出部21Y、移動検出部22Y、移動検出部23Y、および移動検出部24Yの出力の平均値とを用いてもよい。
さらに、範囲指定の領域に含まれる情報を他の領域に複写する場合には、使用者は、範囲指定がなされている状態で、第4のセンサ4の位置を中心にして、マウス100を、反時計回りの方向に45°回転させる。すると、算出部12は、第4のセンサ4の位置を中心にしてマウス100が時計回りの方向に45°回転したことを判定する。すると、制御部30は、ドラッグのコマンドをコンピュータに送信する。
使用者は、さらに、マウス100を回転させないようにしつつ、コンピュータの表示部においてポインタが複写先を指すように移動させる。その後、使用者は、例えば、コンピュータのキーボードの「Ctrl」キーを押下した状態で、第4のセンサ4の位置を中心にしてマウス100を反時計回りの方向に45°回転させる。すると、制御部30は、ドラッグ終了のコマンドをコンピュータに送信するが、コンピュータは、そのコマンドを受信するとともに「Ctrl」キーが押下されたことを認識して、範囲指定の領域に含まれる情報を、マウス100が反時計回りの方向に45°回転されたときに、表示部においてポインタが表示されている位置に複写する。
次に、マウス100が、右クリックのコマンドをコンピュータに送信する場合を説明する。例えば、使用者が、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
すると、演算部10における算出部12が、マウス100が、第2のセンサ2の位置を中心にして回転したと判定し、移動検出部22X,22Yと、移動検出部23X,23Yの出力または移動検出部24X,24Yの出力とにもとづいて、第1のセンサ1の位置を中心にして反時計回りの方向に45°回転したと判定する。その後、算出部12は、所定時間内に、第2のセンサ2の位置を中心にして時計回りの方向に45°回転した(つまり、マウス100は、元の姿勢に戻る)と判定する。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、右クリックのコマンドをコンピュータに送信する。
なお、コンピュータに搭載されているソフトウェアによっては、右クリックのコマンドを受信すると、コンピュータの表示部に、命令等を選択させるためのウィンドウが表示される場合がある。そのとき、使用者が、命令等を選択するために、表示部に表示されているポインタがウィンドウ内の所定箇所を指すように、マウス100を、回転させないように移動させると、制御部30は、マウス100の移動に応じて、移動検出部21X,21Yの出力、移動検出部22Xおよび移動検出部22Yの出力、移動検出部23X,23Yまたは移動検出部24X,24Yの出力を、マウス100の移動を表す信号として、コンピュータに送信する。
そして、使用者が、第4のセンサ4の位置を中心にマウス100を反時計回りの方向に45°回転させ、さらに、所定時間内に、時計回りの方向に45°回転させると、制御部30は、左クリックのコマンドをコンピュータに送信する。コンピュータは、左クリックのコマンドに応じて、ウィンドウ内の命令等を選択する。
次に、マウス100が、左ダブルクリックのコマンドをコンピュータに送信する場合を説明する。例えば、使用者が、第3のセンサ3の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、所定時間(例えば1秒)内に、第3のセンサ3の位置を中心にして時計回りの方向に45°回転させた(つまり、マウス100は、元の姿勢に戻る)とする。
すると、演算部10における算出部12が、マウス100が、第3のセンサ3の位置を中心にして回転したと判定し、移動検出部23X,23Yの出力と、移動検出部21X,21Yまたは移動検出部22X,22Yの出力にもとづいて、第1のセンサ1の位置を中心にして反時計回りの方向に45°回転し、その後、第1のセンサ1の位置を中心にして時計回りの方向に45°回転した(つまり、マウス100は、元の姿勢に戻る)と算出する。算出部12は、判定結果と算出結果とを制御部30に出力する。制御部30は、判定結果と算出結果とに応じて、例えば、左ダブルクリックのコマンドをコンピュータに送信する。
なお、4個のセンサが備えられている場合には、回転の中心を4種類にすることができるので、それぞれのセンサを回転の中心位置とする45°の回転と90°の回転とに別のコマンドを割り当てることによって、計8種類のコマンドを定義することができる。さらに、時計回りの方向の場合と反時計回りの方向の場合とで、別コマンドを割り当てることによって、合計16種類のコマンドを定義することができる。すなわち、マウス100は、コンピュータに、16種類のコマンドを送信することができる。なお、制御部30に設定するコマンドは、4個の各センサのそれぞれを中心とした時計回りの方向と反時計回りの方向とのそれぞれ45°と90°とに回転させた場合に限定するものではなく、例えば、4個の各センサのそれぞれを中心とした時計回りの方向と反時計回りの方向とのそれぞれ30°と60°とに回転させた場合や、4個の各センサのそれぞれを中心とした時計回りの方向と反時計回りの方向とのそれぞれ15°と45°と100°とに回転させた場合等であってもよい。
以上に述べたように、この実施の形態によれば、マウス100は、従来のマウスを使用した場合と同様に、コンピュータに上記のコマンドを送信することができる。その結果、従来のマウスを使用した場合と同様に、コンピュータに種々のコマンドを送信することができる。また、従来のマウスを使用した場合とは異なり、使用者がスイッチやボタンを押下する必要はない。
なお、制御部30は、算出部12がマウス100が回転開始したことを検出してから回転終了を検出するまで、コンピュータの表示部に表示されているポインタが移動しないようにするために、マウス100の移動を表す信号(移動検出部21Xおよび移動検出部21Yの出力、移動検出部22Xおよび移動検出部22Yの出力、移動検出部23Xおよび移動検出部23Yの出力、または、移動検出部24Xおよび移動検出部24Yの出力)をコンピュータに送信しないように規制する。しかし、そのような規制をせず、マウス100が回転を開始してから回転を終了するまでの第1のセンサ1ないし第4のセンサ4の出力にもとづいて、マウス100の移動ベクトル(移動量と移動方向)を検出し、コマンドをコンピュータに送信する際に、その移動ベクトルとは逆向きの移動ベクトルを示す情報をコンピュータに送信することによって、マウス100の回転によってコンピュータの表示部に表示されているポインタが移動することを防ぐようにしてもよい。
また、この実施の形態で用いられた回転角度は一例であって、回転角度は45°や90°に限定されない。種々のコマンドを送信できるように、回転角度の区別ができれば、回転角度として任意の値を用いることができる。さらに、マウス100に設置されるセンサの数は、4個に限られず、3個や、5個以上であってもよい。
実施の形態3.
本発明の第3の実施の形態について、図面を参照して説明する。図8は、本発明の第3の実施の形態を説明する説明図である。
本発明の第3の実施の形態におけるマウス100は、第1の実施の形態におけるマウス100の構成に加えて、マウス100の内部にマウス100が固定面に接しているか否かを検出する接触検出部(接触検出手段)110を含む。
センサとしてマウス100の移動に従って回転する球を含むものが用いられる場合、各センサが含む球は、マウス100の底面が固定面と接すると上方に移動し、マウス100の底面が固定面と接していないときは、自重によって下方に移動する。接触検出部110は、例えば第2のセンサ2が含む球の上方または下方への移動に従って上方または下方へ移動する移動部111と、移動部111が上方に移動すると、接点を接触させるスイッチ112とを含む。
制御部31は、接触検出部110のスイッチ112の接点が接触したか否かを検出する。図8に示す例では、第2のセンサ2が含む球が下方に位置する状態を実線で示し、第2のセンサ2が含む球が上方に移動して、移動部111を上方に移動させ、スイッチ112の接点を接触させている状態を点線で示している。なお、接触検出部110は、発光器と受光器とによって実現されてもよく、その場合、発光器が発光し、マウスパッド等が反射した光を受光器が受光したか否かによって、マウス100の底面が固定面と接しているか否かを検出してもよい。
この実施の形態では、使用者は、マウス100の底面を固定面から浮かせて、すなわち固定面に接触していない状態にした後、マウス100の底面を固定面に接触させてマウス100を移動することによって、マウス100の初期位置を設定する。移動方向を初期方向Kとする(図9(A)参照)。その後、再度、マウス100の底面を固定面から浮かせた後、マウス100の底面を固定面に接触させてマウス100を初期方向Kとは異なる方向(図9(B),(C),(D)参照)に移動することによって、マウス100の制御部31に、移動した方向に応じたコマンドを認識させることができる。
図10は、この実施の形態のマウス100の回路構成例を示すブロック図である。図10に示すように、制御部31に、スイッチ112の検出信号が入力されている。制御部31は、上記の実施の形態における制御部30と同様に、コンピュータにコマンドを送信する。演算部13は、例えば、図11のブロック図に示すように構成される。図10に示す演算部13において、移動方向検出部(移動方向検出手段)14は、制御部31の指示に応じて、移動検出部21X,21Yの出力または移動検出部22X,22Yの出力にもとづいてマウス100の移動方向を検出する。移動方向の起点は、移動開始時の第1のセンサ1または第2のセンサ2の位置、すなわちマウス100の底面を固定面に接触させたときの移動開始時の第1のセンサ1または第2のセンサ2の位置である。
本発明の第3の実施の形態の動作について説明する。マウス100の使用者が、マウス100の底面を浮かせると、接触検出部110のスイッチ112の接点が離れる。制御部31は、接触検出部110のスイッチ112の接点が離れたことを検出する。すると、制御部31は、使用者の操作によって何らかのコマンドが指定されるために初期方向を設定するモードになったと判断する。そして、使用者が、マウス100の底面を固定面に接触させると、接触検出部110のスイッチ112の接点が接触する。制御部31は、接触検出部110のスイッチ112の接点が接触したことを検出すると、移動方向検出部14に、移動方向の検出を開始するように指示する。なお、接触検出手段としてのスイッチ112が出力した検出信号にもとづいてマウス100が固定面から離反した後に固定面に接したことを検出する上下動判定手段は、制御部31によって実現されていることになる。
使用者が、マウス100を回転させないようにしてマウス100を移動させると、移動方向検出部14は、移動検出部21X,21Yの出力または移動検出部22X,221Yの出力にもとづいて、マウス100の移動方向を検出する。移動方向検出部14は、検出した移動方向を示す情報を制御部31に出力する。制御部31は、検出した移動方向を示す情報を、初期方向Kを示す情報として記憶部20に記憶させる。
次いで、制御部31は、使用者がマウス100の底面を浮かせたことに応じて、接触検出部110のスイッチ112の接点が離れたことを検出する。そして、使用者がマウス100の底面を固定面に接触させたことに応じて、制御部31は、接触検出部110のスイッチ112の接点が接触したことを検出する。すると、制御部31は、何らかのコマンドが指定されるモードになったと判断する。そして、移動方向検出部14に、移動方向の検出を開始するように指示する。
移動方向検出部14は、移動検出部21X,21Yの出力または移動検出部22X,221Yの出力にもとづいて、マウス100の移動方向を検出する。移動方向検出部14は、検出した移動方向を示す情報を制御部31に出力する。制御部31は、記憶部に記憶されている移動方向を示す情報と、移動方向検出部14が出力した移動方向を示す情報とを比較して、初期方向Kに対して、マウス100がどの方向に移動したのか判定する。そして、判定結果に応じたコマンドをコンピュータに送信する。なお、初期方向Kが決定された後、マウス100の底面を固定面から浮かせた後マウス100の底面を固定面に接触させる操作を使用者が再度行うことなく、何らかのコマンドが指定されるモードに入るようにしてもよい。
例えば、制御部31は、初期方向Kに対して、反時計回りの方向に90°回転した方向に移動したことが検出された場合には(図9(B)参照)、左クリックのコマンドをコンピュータに送信する。また、初期方向Kに対して、180°回転した方向に移動したことが検出された場合には(図9(C)参照)、ダブルクリックのコマンドをコンピュータに送信する。また、初期方向Kに対して、時計回りの方向に90°回転した方向に移動したことが検出された場合には(図9(D)参照)、右クリックのコマンドをコンピュータに送信する。
制御部31は、コマンドをコンピュータに送信したときに、何らかのコマンドが指定されるモードを終了させる。ただし、使用者に操作に応じて、そのようなモードを終了させるようにしてもよい。例えば、マウス100の底面を複数回浮かせたり、所定時間以上に亘って浮かせておくことによってそのようなモードを終了させるようにしてもよい。制御部31は、スイッチ112の検出信号によって、マウス100の底面が複数回浮かせられたり、所定時間以上に亘って浮かせられたことを認識すると、そのようなモードを終了させる。従って、制御部31は、あらためてマウス100の底面が浮かせられたことを認識すると、新たに、何らかのコマンドが指定されるために初期方向を設定するモードになったと判断する。
以上、述べたように、この実施の形態によれば、使用者は、マウス100を浮かせた後に固定面に置き、マウス100を移動させることによって、マウス100にコマンドを送信させることができる。その際に、従来のマウスを使用した場合とは異なり、使用者がスイッチやボタンを押下する必要はない。
なお、制御部31は、何らかのコマンドが指定されるために初期方向を設定するモードになってから何らかのコマンドが指定されるモードが終了するまで(特定モード期間とする。)、コンピュータの表示部に表示されているポインタが移動しないようにするために、マウス100の移動を表す信号(移動検出部21Xおよび移動検出部21Yの出力、または移動検出部22Xおよび移動検出部22Yの出力)をコンピュータに送信しないように規制する。そして、特定モード期間以外の期間において、マウス100の移動を表す信号をコンピュータに送信する。なお、マウス100は、移動を表す信号として、移動検出部21Xおよび移動検出部21Yの出力を用いてもよいし、移動検出部22Xおよび移動検出部22Yの出力を用いてもよい。また、マウス100は、移動を表す信号として、移動検出部21X、および移動検出部22Xの出力の平均値と、移動検出部21Y、および移動検出部22Yの出力の平均値とを用いてもよい。
しかし、上記のような規制をせず、特定モード期間における第1のセンサ1または第2のセンサ2の出力にもとづいて、マウス100の移動ベクトル(移動量と移動方向)を検出し、コマンドをコンピュータに送信する際に、その移動ベクトルとは逆向きの移動ベクトルを示す情報をコンピュータに送信することによって、マウス100の回転によってコンピュータの表示部に表示されているポインタが移動することを防ぐようにしてもよい。
また、本実施の形態では、2つのセンサが設けられている場合を例にしたが、センサが1つもしくは3つ以上設けられている場合でも、制御部31は、マウス100の移動方向に応じたコマンドをコンピュータに送信する処理を実行することができる。
さらに、本実施の形態を、第1の実施の形態または第2の実施の形態と組み合わせることができる。例えば、第1の実施の形態では、左クリックのコマンドを送信するために、使用者は、第2のセンサ2の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、第2のセンサ2の位置を中心にして時計回りの方向に45°回転させたが、マウス100を、反時計回りの方向に45°回転させる代わりに、マウス100の底面を固定面から浮かせた後、マウス100の底面を固定面に接触させるようにしてもよい。
また、右クリックのコマンドを送信するために、使用者は、第1のセンサ1の位置を中心にして、マウス100を、反時計回りの方向に45°回転させ、その後、第1のセンサ1の位置を中心にして時計回りの方向に45°回転させたが、マウス100を、反時計回りの方向に45°回転させる代わりに、マウス100の底面を固定面から浮かせた後、マウス100の底面を固定面に接触させるようにしてもよい。その他のコマンドについても、マウス100を回転させる操作の一部に代えて、マウス100の底面を固定面から浮かせた後、マウス100の底面を固定面に接触させるようにすることができる。このことは、第2の実施の形態と組み合わせる場合も同様である。
つまり、制御部31は、上下動判定手段がマウス100が固定面から離反した後に固定面に接したことを検出した後に、第1の実施の形態または第2の実施の形態の場合と同様に(ただし、操作の一部は不要)、回転の中心位置、回転方向および回転角度とに応じたコマンドをコンピュータに送信するように構成されていてもよい。
実施の形態4.
本発明の第4の実施の形態について説明する。図12は、本発明の第4の実施の形態を説明する説明図である。
第4の実施の形態におけるマウス100は、一端が鋭角に尖り、中ほどに凸部を有する棒である回転時固定部(回転時固定手段)121と、回転時固定部121を上方に押し上げるバネ122とを含み、マウス100の上面側における各センサの上方の部分に凹部を有する点が第1の実施の形態と異なり、他の点は第1の実施の形態と同様なため、第1の実施の形態と同様なセンサ等には図1と同じ符号を付し、説明を省略する。
回転時固定部121の鋭角に尖った一端は、各センサの近傍に設けられた穴を通過するように位置し、回転時固定部121の他端は、マウス100の上面の凹部に設けられた穴を通過するように位置する(図12(a)の状態)。そして、使用者が、マウス100の上面の凹部に指等を載置して回転時固定部121の一端を押し下げると、回転時固定部111の鋭角に尖った他端は、各センサの近傍に設けられた穴を通過してマウスパッド等に押しつけられる(図12(b)の状態)。すると、マウス100は、回転時固定部121の鋭角に尖った一端を中心にして回転するように固定される。例えば、使用者が、第1のセンサ1の上方の部分の凹部に指等を載置して回転時固定部121を押し下げると、回転時固定部121の鋭角に尖った一端がマウスパッド等に押しつけられ、マウス100は第1のセンサ1の近傍を中心にして回転するように固定される。すると、使用者は、第1のセンサ1の近傍を中心としてマウス100を回転させることが容易になる。
使用者が、回転時固定部121から指等を離すと、バネ122が回転時固定部122を上方に押し上げ、回転時固定部121の鋭角に尖った一端はマウスパッド等から離れる。すると、使用者は、マウス100を前後左右に自由に動かすことができるようになる。
なお、使用者が、マウス100の上面の凹部に指等を載置すると、電磁石等で回転時固定部121を下方に移動させるようにしてもよい。
この実施の形態によれば、使用者の操作によって回転時固定部121がセンサの近傍を中心にして回転するようにマウス100を固定するため、使用者はマウス100を回転させることが容易になる。また、マウス100を固定した回転時固定部121の近傍のセンサは、回転しているときに検出する移動量が小さくなるため、演算部10は、どのセンサを中心として回転しているのかの判断が容易になる。
なお、ここでは、第1の実施の形態を例にしたが、第2の実施の形態および第3の実施の形態に本実施の形態を適用することもできる。
実施の形態5.
本発明の第5の実施の形態について説明する。図13は、本発明の第5の実施の形態を説明する説明図である。
第5の実施の形態におけるマウス100は、固定面と接する面における各センサの近傍に、弾性体(回転時固定手段)123が設置されている点が第1の実施の形態と異なり、他の点は第1の実施の形態と同様なため、第1の実施の形態と同様なセンサ等には図1と同じ符号を付し、説明を省略する。弾性体123は、例えば、クッションや、スポンジ、ゴム、ウレタン、プラスチック等によって実現される。なお、各センサの上方には、凹部が設けられている。
弾性体123は、使用者がマウス100を固定面に押しつけると変形し、固定面との摩擦力が増加する。したがって、使用者が、例えば、第1のセンサ1の上方の凹部を押下して、マウス100を固定面に押しつけると、第1のセンサ1の近傍の弾性体123は変形して固定面との摩擦力が増加する。すると、使用者は、第1のセンサ1の近傍を中心としてマウス100を回転させることが容易になる。
使用者が、マウス100を固定面に押しつけることをやめると、弾性体123は元の形状に戻り、マウス100と固定面との摩擦力が減少する。すると、使用者は、マウス100を前後左右に自由に動かすことができるようになる。
この実施の形態によれば、使用者の操作によって弾性体123がセンサの近傍を中心にして回転するようにマウス100を固定するため、使用者はマウス100を回転させることが容易になる。また、マウス100を固定した弾性体123の近傍のセンサは、回転しているときに検出する移動量が小さくなるため、演算部10は、どのセンサを中心として回転しているのかの判断が容易になる。
なお、ここでは、第1の実施の形態を例にしたが、第2の実施の形態および第3の実施の形態に本実施の形態を適用することもできる。
実施の形態6.
本発明の第6の実施の形態について、図面を参照して説明する。図14は、本発明の第6の実施の形態を説明する説明図である。
本発明の第6の実施の形態におけるマウス100は、上面に指紋を検出する指紋検出部(指紋検出手段)130を含み、内部に使用者の指紋を記憶する指紋記憶部(指紋記憶手段)を含む点が第1の実施の形態と異なり、その他の点は第1の実施の形態と同様である。そのため、第1の実施の形態と同様なセンサ等には、図1と同じ符号を付し、説明を省略する。
指紋検出部130は、例えば、指紋認証モジュールによって実現される。指紋記憶部は、例えば、RAM等のメモリによって実現される。
制御部30は、使用者が指紋検出部130に指を載置してマウス100のボタンの押下等の所定の操作を行うと、指紋を指紋記憶部に記憶させる。そして、制御部30は、使用者がマウス100を使用する際に、指紋検出部130に指を載置すると、指紋検出部130が検出した指紋と、指紋記憶部が記憶している指紋とを比較し、指紋検出部130が検出した指紋が、指紋記憶部が記憶している指紋と合致すると判断すると、使用者がマウス100に行った操作に応じたコマンドをコンピュータに送信する。制御部30は、使用者が指紋検出部130に指を載置しなかったり、指紋検出部130が検出した指紋が指紋記憶部が記憶している指紋と合致しないと判断したりすると、使用者がマウス100を操作してもコマンドをコンピュータに送信しない。なお、制御部30は、指紋検出部130が検出した指紋が、指紋記憶部が記憶している指紋と合致しないと判断すると、指紋が不一致であることを示す情報をコンピュータに送信してもよい。
この実施の形態によれば、指紋記憶部が記憶している指紋と合致しない使用者は、マウス100を操作することができないため、コンピュータにパスワード等を入力する場合に比べて、セキュリティを向上させることができる。また、指紋記憶部は、複数の使用者の指紋を記憶していてもよい。
マウス100は、指紋検出部130を複数備えていてもよい。図15は、マウス100が指紋検出部130を複数備えた場合を示す説明図である。そして、指紋記憶部は、複数の指の指紋を記憶してもよい。すると、指紋検出部130が1つの場合に比べて、よりセキュリティを向上させることができる。また、複数の指紋検出部130を、使用者がマウス100に手を載置する際に、左右対称の位置にそれぞれ配置してもよい。すると、右手でマウス100を操作する使用者と、左手でマウス100を操作する使用者とのいずれもが、違和感なく指紋検出部130に指を載置することができる。
なお、ここでは、第1の実施の形態を例にしたが、第2の実施の形態、第3の実施の形態、第4の実施の形態および第5の実施の形態に本実施の形態を適用することもできる。
また、上記の各実施の形態では、図4や図6に例示されているように、マウス100が有線でコンピュータに接続されている場合を想定した。しかし、上記の各実施の形態ではマウス100は任意の方向に回転自在であることが望ましいので、コンピュータとの間の配線が回転操作の邪魔にならないように、マウス100は、電波、赤外線、超音波などを媒体とした無線通信によって、コンピュータと通信するように構成されていることがより好ましい。
次に、コンピュータ側の処理例を説明する。コンピュータは、使用者に、マウス100がコマンドを送信したことを通知するために、コマンドを受信すると、コマンドを受信したことを示す情報を表示部に表示させてもよい。
例えば、コンピュータは、表示部が表示しているポインタの所定の部分を、受信したコマンドに応じた色を用いて点灯させてもよい。図16は、ポインタの左半分を所定の色で表示させた場合の表示例を示す説明図である。具体的には、例えば、コンピュータは、左クリックのコマンドを受信するとポインタの左半分を緑色にして点灯させたり、右クリックのコマンドを受信すると、ポインタの右半分を橙色にして点灯させたり、ダブルクリックのコマンドを受信すると、ポインタ全体を青色にして点灯させたり、左ドラッグのコマンドを受信すると、ポインタ全体を緑色にして点滅させたりする。また、コンピュータは、コマンドを受信中にキーボードの「Ctrl」キーが押下されているときは、ポインタの外枠の線を赤色の太線にして点灯させる。
また、例えば、コンピュータは、表示部が表示しているポインタの近傍の所定の位置に、受信したコマンドに応じて丸い点を点灯させてもよい。図17は、ポインタの所定の位置に、丸い点を表示させる場合の例を示す説明図である。具体的には、例えば、コンピュータは、左クリックのコマンドを受信するとポインタの矢印の先端の左側に緑色の丸い点を点灯させたり、右クリックのコマンドを受信するとポインタの矢印の先端の右側に橙色の丸い点を点灯させたり、ダブルクリックのコマンドを受信するとポインタの矢印の先端の両側に青色の丸い点を点灯させたり、左ドラッグのコマンドを受信するとポインタの矢印の先端の左側に緑色の丸い点を点滅させたりする。また、コマンドを受信中にキーボードの「Ctrl」キーが押下されているときは、ポインタの矢印の根元に赤色の丸い点を点灯させる。
さらに、例えば、コンピュータは、マウス100から受信したコマンドを示すウィンドウを表示部の画面に表示させてもよい。図18は、マウス100から受信したコマンドを示すウィンドウを表示部の画面に表示させる表示例を示す説明図である。具体的には、例えば、コンピュータは、左クリックのコマンドを受信するとウィンドウの中に「左クリック」と表示させてウィンドウの枠を緑色にして点灯させたり、右クリックのコマンドを受信するとウィンドウの中に「右クリック」と表示させてウィンドウの枠を橙色にして点灯させたり、ダブルクリックのコマンドを受信するとウィンドウの中に「ダブルクリック」と表示させてウィンドウの枠を青色にして点灯させたり、左ドラッグのコマンドを受信するとウィンドウの中に「左ドラッグ」と表示させてウィンドウの枠を緑色にして点滅させたりする。また、コマンドを受信中にキーボードの「Ctrl」キーが押下されているときは、ウィンドウの下の枠線を赤色にして点灯させる。
なお、以上に述べたコンピュータが受信したコマンドを使用者に通知する方法は、例であり、コンピュータは、他の色を用いたり、他の組み合わせを用いたりして受信したコマンドを使用者に通知してもよい。
本発明では、マウス100をクリックする操作が行われないので、使用者がマウス100からコンピュータに確かにコマンドが送信されたことを確認するために、表示部においてコマンドに応じた表示を行うことが有意義である。
(付記1)ポインタを画面に表示するコンピュータに接続され、移動されると移動量と移動方向とを前記コンピュータに送信する入力装置において、入力装置の移動量と移動方向とを特定可能な信号を出力する検出手段と、前記検出手段が出力した信号にもとづいて入力装置の移動量と移動方向とを判定し、移動量と移動方向と示す情報を前記コンピュータに送信する送信手段と、入力装置が固定面に接しているか否かを検出して検出結果を示す検出信号を出力する接触検出手段と、前記検出手段が出力した信号を用いて入力装置の移動方向を検出する移動方向検出手段と、前記接触検出手段が出力した検出信号にもとづいて入力装置が固定面から離反した後に固定面に接したことを検出する上下動判定手段と、前記上下動判定手段が入力装置が固定面から離反した後に固定面に接したことを検出した後に、前記移動方向検出手段が検出した移動方向を初期方向として決定し、その後に前記移動方向検出手段が検出した移動方向の前記初期方向に対する方向に応じて、前記コンピュータへの指示を示す情報であるコマンドを前記コンピュータに送信する制御手段とを備えたことを特徴とする入力装置。
(付記2)制御手段は、初期方向を決定した後、上下動判定手段が入力装置が固定面から離反した後に固定面に接したことを再び検出した後に、コマンドをコンピュータに送信する付記1に記載の入力装置。
(付記3)検出手段の近傍に、入力装置の回転の中心位置を固定するための回転時固定手段が設けられている付記1または付記2に記載の入力装置。
(付記4)回転時固定手段は棒状であって、一端が押下されると鋭角に尖った他端が、入力装置を検出手段の近傍で回転するように固定する付記3に記載の入力装置。
(付記5)回転時固定手段は弾性体であって、検出手段の近傍が固定面に押しつけられると、入力装置を検出手段の近傍で回転するように固定する付記3に記載の入力装置。
(付記6)指紋を検出する指紋検出手段と、指紋を予め記憶する指紋記憶手段とを備え、制御手段は、前記指紋検出手段が検出した指紋と前記指紋記憶手段が記憶している指紋とが合致するか否かを判定し、合致すると判定すると、コマンドをコンピュータに送信する付記1から付記5のうちいずれかに記載の入力装置。
(付記7)指紋検出手段を複数備え、前記指紋検出手段は、使用者が入力装置に手を載置する際に、左右対称の位置にそれぞれ配置されている付記6に記載の入力装置。
(付記8)検出手段を3個以上備え、前記検出手段は、互いの距離がそれぞれ異なるように設置される付記1から付記7のうちいずれかに記載の入力装置。
(付記9)入力装置の移動量と移動方向とを特定可能な信号を出力する検出手段と、前記検出手段が出力した信号にもとづいて入力装置の移動量と移動方向とを判定し、移動量と移動方向と示す情報を前記コンピュータに送信する送信手段と、入力装置が固定面に接しているか否かを検出して検出結果を示す検出信号を出力する接触検出手段と、前記検出手段が出力した信号を用いて入力装置の移動方向を検出する移動方向検出手段と、前記接触検出手段が出力した検出信号にもとづいて入力装置が固定面から離反した後に固定面に接したことを検出する上下動判定手段と、前記上下動判定手段が入力装置が固定面から離反した後に固定面に接したことを検出した後に、前記移動方向検出手段が検出した移動方向を初期方向として決定し、その後に前記移動方向検出手段が検出した移動方向の前記初期方向に対する方向に応じて、前記コンピュータへの指示を示す情報であるコマンドを前記コンピュータに送信する制御手段とを含む入力装置と、前記入力装置から受信したコマンドに応じて、前記受信したコマンドを示す情報を表示手段に表示させる表示処理手段を含むコンピュータとを備えたことを特徴とする入力システム。
(付記10)表示処理手段は、表示手段に、入力装置から受信したコマンドに応じた色で、ポインタの一部または全部を点灯または点滅させる付記9に記載の入力システム。
(付記11)表示処理手段は、表示手段に、入力装置から受信したコマンドに応じた色の図形を、ポインタ近傍で点灯または点滅させる付記10に記載の入力システム。
(付記12)表示処理手段は、表示手段に、入力装置から受信したコマンドに応じた色のウィンドウに、受信したコマンドを示す情報を表示させる付記10に記載の入力システム。