本発明の操作装置は、操作用部材と、前記操作用部材の回転を検出可能な回転検出手段と、前記回転検出手段により検出された回転に対応したパルス信号を出力する出力手段と、ディスプレイに表示されたポインタの位置が前記操作用部材の回転に伴って表示画面上で定められた第1軸方向に沿って変更される第1モードと、ディスプレイに表示されたポインタの位置が前記操作用部材の回転に伴って前記表示画面上で定められ且つ前記第1軸方向と交差する第2軸方向に沿って変更される第2モードとを記憶する第1の記憶手段と、前記第1の記憶手段に記憶された2つのモードのうちのいずれか1つのモードを記憶する第2の記憶手段と、前記第2の記憶手段に記憶された1つのモードにおいて、前記出力手段から出力されたパルス信号に基づいてポインタの位置を変更する変更手段と、前記出力手段から出力されたパルス信号のうちの連続して出力された2つのパルス間の時間とあらかじめ設定された所定時間とを比較する比較手段と、前記第2の記憶手段に記憶された1つのモードを、前記第1の記憶手段に記憶された2つのモードのなかの前記1つのモードとは異なる別のモードに切り換える切り換え手段とを備えており、前記切り換え手段は、前記比較手段により前記2つのパルス間の時間が前記所定時間以上であるという比較結果が得られた場合に、前記第2の記憶手段に記憶された1つのモードを、前記第1の記憶手段に記憶された2つのモードのなかの前記1つのモードとは異なる別のモードに切り換えるものである。
この構成によると、操作用部材の回転に伴って出力されるパルス信号において、連続して出力された2つのパルス間の時間が所定時間以上になった場合に、ディスプレイに表示されたポインタの移動に関するモードが切り換えられる。そのため、操作用部材を断続的に回転させる場合に、操作間に形成される休止時間を調整することによって、モードの切り換えの有無を制御することができる。つまり、操作者は、操作間に形成される休止時間を所定時間以上にすることによって、ポインタの移動に関するモードを切り換えることができる。このとき、操作間に形成される休止時間が所定時間より短い場合にはモードは切り換えられないので、例えば操作用部材を持ち直すために操作用部材の回転を休止するときでも、すぐに(所定時間以上の休止時間が形成されない間に)操作用部材の回転を再開することによって、休止前と同じモードにおいてポインタを移動させる操作を継続することができる。このように、操作用部材を回転させるという単純な操作によって、2つのモードにおいてポインタを移動させることができるので、操作装置の操作性がよいと共に、ぶれにくく安定性が高くなる。また、本発明の操作装置では、一般的なマウスのように机などは必要ではないので、特にウェアラブルコンピューティングに有効である。
また、第1軸方向へのポインタの位置の変更と第2軸方向へのポインタの位置の変更とを交互に行うことによって、ポインタの位置を比較的容易に制御することができる。
ここで、「操作用部材の回転を検出」とは、操作用部材が回転された場合の回転量、回転方向及び回転速度を検出することを意味している。従って、出力手段から出力される信号またはパルス信号は、操作用部材の回転量、回転速度及び回転方向の全てに対応している。
この構成によると、初期位置に対するポインタの移動方向の変更と初期位置からのポインタの移動距離の変更とを交互に行うことによって、ポインタの位置を比較的容易に制御することができる。
この構成によると、初期位置に対するポインタの移動方向を変更した後で、初期位置からのポインタの移動距離を変更することによってポインタの位置を変更し、引き続き、変更後のポインタの位置を初期位置として、再度、その初期位置に対するポインタの移動方向の変更とその初期位置からのポインタの移動距離の変更とを行うことができる。
この構成によると、初期位置からのポインタの移動距離を変更した後で、初期位置に対するポインタの移動方向を変更することによってポインタの位置を変更し、引き続き、変更後のポインタの位置を初期位置として、再度、その初期位置からのポインタの移動距離の変更とその初期位置に対するポインタの移動方向の変更とを行うことができる。
以下、本発明の第1の実施の形態について、図面を参照しつつ説明する。図1は、本発明の第1の実施の形態に係る操作装置が用いられたヘッドマウントディスプレイユニットを示す図である。図2は、図1のヘッドマウントディスプレイユニットの構成を示すブロック図である。
図1に示すヘッドマウントディスプレイユニット1(以下、HMDユニットと称する)は、頭部に装着されるヘッドマウントディスプレイ10(以下、HMDと称する)と、HMD10にケーブル10aを介して接続されたポインティングデバイスである操作装置20とを備えている。
HMD10は、小型の液晶パネルを内蔵したディスプレイ11と、ディスプレイ11を保持し且つ頭部へ装着するための保持部12とを有している。ディスプレイ11は、例えば複数のアイコン等のGUIを含む表示画面など種々の表示画面を表示可能である。また、この表示画面には、操作装置20による操作に用いられるポインタが表示される。保持部12は、略U型形状であり、その前側においてディスプレイ11を保持している。従って、保持部12が頭部に装着されると、ディスプレイ11が目の高さよりも少しだけ上方に配置される。
操作装置20は、2つのボタン21、22と、ロータリーエンコーダ30と、制御部40(図2参照)とを有している。2つのボタン21、22は、ポインタの位置が変更された後で押下される決定用ボタンである。なお、2つのボタン21、22は、一般的なマウスの左クリック用ボタン及び右クリック用ボタンのそれぞれに対応している。
ロータリーエンコーダ30は、図2に示すように、操作ダイヤル31と、回転検出部32と、出力部33とを有している。操作ダイヤル31は、操作者によって操作される部材であって、その軸周りに回転可能に設けられている。従って、操作者は、操作ダイヤル31を時計回り及び反時計回りのいずれかに回転させることによって、ディスプレイ11の表示画面に表示されたポインタの位置を変更することができる。ここで、操作ダイヤル31の回転という1次元の動きによって、ポインタの位置の上限下限のない無制限の操作ができる。
回転検出部32は、操作ダイヤル31が回転した場合に、その回転量、回転方向及び回転速度を検出し、その検出結果を出力部33に送信する。出力部33は、回転検出部32から送信された検出結果に対応したパルス信号を作成し、そのパルス信号を制御部40に対して出力する。ここで、出力部33は、操作ダイヤル31が回転している間は複数のパルスを連続して出力するが、そのパルス信号では、操作ダイヤル31の回転速度にしたがって連続する2つのパルス間の時間間隔が異なる。
制御部40は、操作装置20に係る各種動作の制御プログラムやデータなどが格納されたROM、操作装置20の各部の動作を制御する信号を生成するために各種演算を実行するCPU、CPUでの演算結果などのデータを一時保管するRAMなどの部材が含まれている。そして、制御部40には、これら各種部材およびソフトウェアによって、モード記憶部41と、実モード記憶部42と、フラグ記憶部43、パルス検知部44と、パラメータ記憶部45と、比較部46と、切り換え部47と、位置変更部48とが形成されている。
モード記憶部41は、ディスプレイ11の表示画面に表示されたポインタの移動に関する2つのモードを記憶する。本実施の形態では、モード記憶部41は、操作ダイヤル31の回転に伴ってポインタが元の位置(初期位置)からX軸方向に沿って移動するX軸モードと、操作ダイヤル31の回転に伴ってポインタが元の位置からX軸方向と直交するY軸方向に沿って移動するY軸モードとを記憶している。
実モード記憶部42は、モード記憶部41に記憶されたX軸モード及びY軸モードのいずれか一方を記憶する。つまり、実モード記憶部42は、操作ダイヤル31が回転することにより、ポインタの位置が変更する方向に対応したモードを記憶する。
フラグ記憶部43は、操作ダイヤル31に対する操作が行われているか否かを示すフラグを記憶する。本実施の形態では、フラグ記憶部43には、操作ダイヤルに対する操作が行われている間、及び、操作ダイヤルに対する操作が終了した後で閾値Trが経過するまでの間は、フラグとして0が記憶される。一方、操作ダイヤルに対する操作が行われていない間(操作ダイヤルに対する操作が終了した後で閾値Trが経過するまでの間を除く)は、フラグとして1が記憶される。
パルス検知部44は、パルス間隔検知部44aと、パルス数検知部44bとを有している。パルス間隔検知部44aは、ロータリーエンコーダ30から供給されたパルス信号において、連続する2つのパルス間の時間間隔を検知する。従って、パルス間隔検知部44aは、操作ダイヤル31に対する操作が行われている際に出力されるパルス信号であることを検知可能であると共に、このパルス信号が休止された場合に、後で詳述するように、その休止が、操作者が操作ダイヤル31を持ち直すために生じる小休止であるのか、または、操作者がポインタの移動方向を変更するために生じる大休止であるのかを検知することができる。パルス数検知部44bは、ロータリーエンコーダ30から供給されたパルス信号のパルス数を検知する。
パラメータ記憶部45は、操作装置20に係る各種動作に関する種々のパラメータを記憶する。本実施の形態では、パラメータ記憶部45には、実モード記憶部42に記憶されているモードを他方のモードに切り換えるタイミングが決定される際に用いられる時間間隔である閾値Tr、ディスプレイ11の表示画面に表示されるポインタの移動単位L1、ポインタの加速を開始するタイミングが決定される際に用いられる時間間隔である閾値Ta、そのときの加速倍率R1などのパラメータが記憶されている。
比較部46は、パルス間隔検知部44aで検知された時間間隔と、パラメータ記憶部45に記憶された閾値Trまたは閾値Taとを比較する。ここで、比較部46でのパルス間隔検知部44aで検知された時間間隔と閾値Trとの比較結果は、実モード記憶部42に記憶されているモードを他方のモードに切り換えるタイミングの決定に利用される。また、比較部46でのパルス間隔検知部44aで検知された時間間隔と閾値Taとの比較結果は、ディスプレイ11の表示画面に表示されるポインタの加速を開始するタイミングの決定に利用される。
切り換え部47は、操作ダイヤル31に対する操作が開始されると、フラグ記憶部43に記憶されたフラグを1から0に変更し、操作ダイヤル31に対する操作が終了した後で閾値Trが経過すると、フラグを0から1に変更する。また、切り換え部47は、比較部46において、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合に、実モード記憶部42に記憶されているモードを他方のモードに切り換える。つまり、切り換え部47は、実モード記憶部42に記憶されているモードがX軸モードである場合はY軸モードに切り換えると共に、実モード記憶部42に記憶されているモードがY軸モードである場合はX軸モードに切り換える。
このように、比較部46において、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いという比較結果が得られた場合には、操作ダイヤル31に対する操作は連続的である(ポインタの同じ方向への移動が継続される)と考えられるので、ポインタの位置を変更させる方向は切り換えられない。一方、比較部46において、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合には、操作ダイヤル31に対する操作は連続的でない(ポインタの移動方向が変更される)と考えられるので、ポインタの位置を変更させる方向が切り換えられる。
位置変更部48は、実モード記憶部42に記憶されているモードにおいて、ディスプレイ11の表示画面に表示されたポインタの位置を変更する。つまり、位置変更部48は、実モード記憶部42に記憶されたモードがX軸モードである場合には、操作ダイヤル31の回転量及び回転方向に対応した分だけポインタの位置をX軸方向に沿って変更する。一方、位置変更部48は、実モード記憶部42に記憶されたモードがY軸モードである場合には、操作ダイヤルの回転量及び回転方向に対応した分だけポインタの位置をY軸方向に沿って変更する。具体的には、X軸モードでは、操作ダイヤル31が時計回りに回転された場合はポインタを表示画面でX軸右方向に移動させ、操作ダイヤル31が反時計回りに回転された場合はポインタを表示画面でX軸左方向に移動させる。一方、Y軸モードでは、操作ダイヤル31が時計回りに回転された場合はポインタを表示画面でY軸上方向に移動させ、操作ダイヤル31が反時計回りに回転された場合はポインタを表示画面でY軸下方向に移動させる。
ここで、位置変更部48は、操作ダイヤル31の回転速度に応じた速度でポインタの位置を変更する。本実施の形態では、ポインタの移動速度が、比較部46でのパルス間隔検知部44aで検知された時間間隔と閾値Taとの比較結果にしたがって異なる。つまり、比較部46において、パルス間隔検知部44aで検知された時間間隔が閾値Ta以上であるという比較結果が得られた場合には、操作ダイヤル31は比較的遅い回転速度で回転されていると考えられるので、位置変更部48は、ポインタの位置をパラメータ記憶部45に記憶された移動単位L1ずつ変更する。一方、パルス間隔検知部44aで検知された時間間隔が閾値Taより短いという比較結果が得られた場合には、操作ダイヤル31は比較的速い回転速度で回転されていると考えられるので、位置変更部48は、ポインタの位置をパラメータ記憶部45に記憶された移動単位L1に加速倍率R1を乗じた移動単位L1’ずつ変更する。
次に、操作ダイヤル31に対する操作が行われた場合の動作手順について、図3を参照して説明する。図3は、操作ダイヤルに対する操作が行われた場合の動作手順を示すフローチャートである。
まず、実モード記憶部42に記憶されたモードがX軸モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS101)。そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS102)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S102:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS103)。このとき、ディスプレイ11の表示画面に表示されたポインタが、パルス数検知部44bで検知されたパルス数に対応した分だけ、X軸方向に沿って移動する(ステップS104)。
そして、比較部45では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS105)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S105:NO)、ステップS104に戻って、ポインタのX軸方向への移動が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S105:YES)、実モード記憶部42に記憶されたモードがY軸モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS106)。
そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS107)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S107:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS108)。このとき、ディスプレイ11の表示画面に表示されたポインタが、パルス数検知部44bで検知されたパルス数に対応した分だけ、Y軸方向に沿って移動する(ステップS109)。
そして、比較部45では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS110)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S110:NO)、ステップS109に戻って、ポインタのY軸方向への移動が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S110:YES)、ステップS101に戻って、実モード記憶部42に記憶されたモードがX軸モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる。
次に、ディスプレイ11の表示画面に表示されるポインタを移動させる方法について、図4及び図5を参照して説明する。図4は、ロータリーエンコーダから出力されるパルス信号の一例を示す図である。図5(a)〜図5(d)は、図4の時刻T0〜T3における表示画面の一例を示す図である。図5では、ポインタが移動した経路が破線で図示されている。
ここでは、図4の操作開始時刻T0に対応した図5(a)の表示画面において、ポインタをA点からD点まで移動させる場合について説明する。操作開始時刻T0では、ポインタはA点にあり、このとき、ポインタの先端部近傍には、実モード記憶部42に記憶されたモードはX軸モードであることを示すために、X軸方向に延びる矢印が表示されている。
そして、操作開始時刻T0において、操作者が操作ダイヤル31を時計回りに回転させ始めると、図4に示すように、ロータリーエンコーダ30からパルス信号の出力が開始される。操作が開始された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはX軸右方向に移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図4では、操作開始後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P1が出力されている。
このとき、操作者がポインタをX軸右方向へ移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタはX軸右方向に移動し始める。このように、ポインタのX軸方向への移動が継続される場合には、図4に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めるまでパルス信号は出力され、操作ダイヤル31の回転を止めた時点で、パルス信号が出力されなくなりポインタは停止する。ここで、図4では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P2が出力されている。
そして、上述と同様に、操作者がポインタをX軸右方向へ移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタはX軸右方向に移動し始める。その後、ポインタが、図5(b)に示す表示画面のB点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはB点から移動しなくなる。ここで、図4では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P3が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T1になると、実モード記憶部42に記憶されたモードがX軸モードからY軸モードに切り換えられる。従って、図4の時刻T1に対応した図5(b)の表示画面では、ポインタはB点にあり、このとき、実モード記憶部42に記憶されたモードはY軸モードであることを示すために、ポインタの先端部近傍にはY軸方向に延びる矢印が表示されている。
そして、時刻T1において、操作者が操作ダイヤル31を時計回りに回転させ始めると、ロータリーエンコーダ30からパルス信号の出力が再開される。操作が再開された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはY軸上方向に移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図4では、Y軸方向への操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P4が出力されている。
このとき、操作者がポインタをY軸上方向へ移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタはY軸上方向に移動し始める。このように、ポインタのY軸方向への移動が継続される場合には、図4に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、ポインタが、図5(c)に示す表示画面のC点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはC点から移動しなくなる。ここで、図4では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P5が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T2になると、実モード記憶部42に記憶されたモードがY軸モードからX軸モードに切り換えられる。従って、図4の時刻T2に対応した図5(c)の表示画面では、ポインタはC点にあり、このとき、実モード記憶部42に記憶されたモードはX軸モードであることを示すために、ポインタの先端部近傍にはX軸方向に延びる矢印が表示されている。
そして、時刻T2において、操作者が操作ダイヤル31を時計回りに回転させ始めると、ロータリーエンコーダ30からパルス信号の出力が再開される。そして、操作が再開された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはX軸右方向に移動する。その後、ポインタが、図5(d)に示す表示画面のD点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはD点から移動しなくなる。ここで、図4では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P6が出力されている。
また、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T3になると、実モード記憶部42に記憶されたモードがX軸モードからY軸モードに切り換えられる。従って、図4の時刻T3に対応した図5(d)の表示画面では、ポインタの位置はD点にあり、このとき、実モード記憶部42に記憶されたモードはY軸モードであることを示すために、ポインタの先端部近傍にはY軸方向に延びる矢印が表示されている。
このように、操作者がポインタを同じ方向に移動させる場合(X軸方向に移動する場合またはY軸方向に移動する場合)にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trよりも短い小休止である。つまり、図4において、パルス信号P1とパルス信号P2との間、パルス信号P2とパルス信号P3との間、及び、パルス信号P4とパルス信号P5との間には、パルス信号の小休止が形成される。
一方、操作者がポインタの移動方向を変更する場合(X軸方向からY軸方向に変更する場合及びY軸方向からX軸方向に変更する場合)にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trと同じ大休止である。つまり、図4において、パルス信号P3とパルス信号P4との間、パルス信号P5とパルス信号P6との間、及び、パルス信号P6の後には、パルス信号の大休止が形成される。
以上説明したように、本実施の形態に係る操作装置20では、操作ダイヤル31の回転に伴って出力されるパルス信号において、連続して出力された2つのパルス間の時間が閾値Tr以上になった場合に、実モード記憶部42に記憶されたモードが、X軸モードからY軸モードにまたはY軸モードからX軸モードに切り換えられる。そのため、操作ダイヤル31を断続的に回転させる場合に、操作間に形成される休止時間を調整することによって、モードの切り換えの有無を制御することができる。つまり、操作者は、操作間に形成される休止時間を閾値Tr以上にすることによって、実モード記憶部42に記憶されたモードを切り換えることができる。このとき、操作間に形成される休止時間が閾値Trより短い場合にはモードは切り換えられないので、例えば操作ダイヤル31を持ち直すために操作ダイヤル31の回転を休止するときでも、すぐに(閾値Tr以上の休止時間が形成されない間に)操作ダイヤル31の回転を再開することによって、休止前と同じモードにおいてポインタを移動させる操作を継続することができる。このように、操作ダイヤル31を回転させるという単純な操作によって、ポインタを移動させることができるので、操作装置20の操作性がよいと共に、ぶれにくく安定性が高くなる。
また、モード記憶部41は、操作ダイヤル31の回転に伴ってポインタが元の位置からX軸方向に沿って移動するX軸モードと、操作ダイヤル31の回転に伴ってポインタが元の位置からX軸方向と直交するY軸方向に沿って移動するY軸モードとを記憶しているので、ポインタの位置を極めて容易に制御することができる。
次に、本発明の第2の実施の形態について、図面を参照しつつ説明する。本発明の第2の実施の形態に係る操作装置120が含まれるHMDユニット101が、第1の実施の形態の操作装置20が含まれるHMDユニット1と大きく異なる点は、HMDユニット1ではポインタの位置が直交座標系において変更するのに対し、本実施の形態のHMDユニット101ではポインタの位置が極座標系において変更する点である。
図6は、本発明の第2の実施の形態に係る操作装置が含まれるヘッドマウントディスプレイユニットの構成を示すブロック図である。制御部140には、モード記憶部41と、実モード記憶部42と、フラグ記憶部43、パルス検知部44と、パラメータ記憶部45と、比較部46と、切り換え部47と、位置変更部48と、更新部141が形成されている。これらの構成のうち第1の実施の形態と同様のものについては詳細な説明は省略する。
本実施の形態では、モード記憶部41は、操作ダイヤル31の回転に伴って元の位置(初期位置)に対するポインタの移動方向が変更される方向変更モードと、操作ダイヤル31の回転に伴って元の位置からのポインタの移動距離が変更される距離変更モードとを記憶している。実モード記憶部42は、モード記憶部41に記憶された方向変更モード及び距離変更モードのいずれか一方を記憶する。
また、切り換え部47は、実モード記憶部42に記憶されているモードが方向変更モードである場合は距離変更モードに切り換えると共に、実モード記憶部42に記憶されているモードが距離変更モードである場合は方向変更モードに切り換える。
位置変更部48は、実モード記憶部42に記憶されたモードが方向変更モードである場合には、操作ダイヤル31の回転量及び回転方向に対応した分だけポインタの位置を元の位置を中心とする円周に沿って変更する。一方、位置変更部48は、実モード記憶部42に記憶されたモードが距離変更モードである場合には、操作ダイヤルの回転量及び回転方向に対応した分だけポインタの位置を、元の位置と方向変更モードで決められたポインタの位置とを結ぶ直線上に沿って変更する。
具体的には、方向変更モードでは、操作ダイヤル31が時計回りに回転された場合はポインタを元の位置を中心として時計回りに移動させ、操作ダイヤル31が反時計回りに回転された場合はポインタを元の位置を中心として反時計回りに移動させる。一方、距離変更モードでは、操作ダイヤル31が時計回りに回転された場合はポインタを元の位置から上記直線に沿う一方向に移動させ、操作ダイヤル31が反時計回りに回転された場合はポインタを元の位置から前記直線に沿う他方向に移動させる。
更新部141は、切り換え部47により実モード記憶部42に記憶された1つのモードが距離変更モードから方向変更モードに切り換えられる直前に、ポインタの元の位置を更新する。つまり、実モード記憶部42に記憶されているモードが距離変更モードである場合には、切り換え部47は、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合に、方向変更モードに切り換えるが、その直前に、距離変更モードで決められた距離だけ元の位置から離れた位置にポインタの元の位置を変更する。従って、実モード記憶部42に記憶されているモードが方向変更モードに切り換えられた後は、ポインタの位置は、操作ダイヤル31の回転量及び回転方向に対応した分だけ更新された後のポインタの元の位置を中心とする円周に沿って変更される。
次に、操作ダイヤル31に対する操作が行われた場合の動作手順について、図7を参照して説明する。図7は、操作ダイヤルに対する操作が行われた場合の動作手順を示すフローチャートである。
まず、実モード記憶部42に記憶されたモードが方向変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS201)。そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS102)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S202:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS203)。このとき、ディスプレイ11
の表示画面に表示されたポインタが、パルス数検知部44bで検知されたパルス数に対応した分だけ、元の位置を中心とする円周に沿って移動する(ステップS204)。
そして、比較部45では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS205)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S205:NO)、ステップS204に戻って、ポインタの上記円周上の移動が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S205:YES)、実モード記憶部42に記憶されたモードが距離変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS206)。
そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS207)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S207:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS208)。このとき、ディスプレイ11の表示画面に表示されたポインタが、パルス数検知部44bで検知されたパルス数に対応した分だけ、方向変更モードで決められた方向に移動する(ステップS209)。
そして、比較部45では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS210)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S210:NO)、ステップS209に戻って、ポインタの方向変更モードで決められた方向への移動が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S210:YES)、ポインタの元の位置が距離変更モードで決められた位置に更新される(ステップS211)。その後、ステップS201に戻って、実モード記憶部42に記憶されたモードが方向変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる。
次に、ディスプレイ11の表示画面に表示されるポインタを移動させる方法について、図8及び図9を参照して説明する。図8は、ロータリーエンコーダから出力されるパルス信号の一例を示す図である。図9(a)〜図9(d)は、図8の時刻T0〜T3における表示画面の一例を示す図である。図9では、ポインタの移動方向が一点鎖線で、ポインタの移動経路が破線で図示されている。
ここでは、図8の操作開始時刻T10に対応した図9(a)の表示画面において、ポインタをA点からB点まで移動させる場合について説明する。操作開始時刻T10では、ポインタはA点にあり、このとき、ポインタの先端部近傍には、実モード記憶部42に記憶されたモードは方向変更モードであることを示すために、A点を中心とする円弧状の矢印が表示されている。
そして、操作開始時刻T10において、操作者が操作ダイヤル31を時計回りに回転させ始めると、図8に示すように、ロータリーエンコーダ30からパルス信号の出力が開始される。操作が開始された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはA点を中心とする円周に沿って移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図8では、操作開始後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P11が出力されている。
このとき、操作者がポインタをA点を中心とする円周に沿って移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタは上記円周に沿って移動し始める。このように、ポインタの上記円周上での移動が継続される場合には、図8に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、ポインタが、図9(a)に示すように、A点とB点とを結ぶ直線(図9(a)では一点鎖線)上に配置された状態で、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図8では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P12が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T11になると、実モード記憶部42に記憶されたモードが方向変更モードから距離変更モードに切り換えられる。従って、図9の時刻T11に対応した図9(b)の表示画面では、ポインタはA点にあり、このとき、実モード記憶部42に記憶されたモードは距離変更モードであることを示すために、ポインタの先端部近傍には、方向変更モードで決められた方向に延びる矢印が表示されている。
そして、時刻T11において、操作者が操作ダイヤル31を時計回りに回転させ始めると、ロータリーエンコーダ30からパルス信号の出力が再開される。操作が再開された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタは方向変更モードで決められた右下方向に移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図8では、右下方向への操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P3が出力されている。
このとき、操作者がポインタをY軸上方向へ移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタは右下方向に移動し始める。このように、ポインタの右下方向への移動が継続される場合には、図8に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、時刻T12において、ポインタが、図9(c)に示す表示画面のB点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはB点から移動しなくなる。ここで、図8では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P14が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T13になると、実モード記憶部42に記憶されたモードが距離変更モードから方向変更モードに切り換えられる。従って、図8の時刻T13に対応した図9(d)の表示画面では、ポインタはB点にあり、このとき、実モード記憶部42に記憶されたモードは方向変更モードであることを示すために、ポインタの先端部近傍にはB点を中心とする円弧状の矢印が表示されている。
このように、操作者が、元の位置に対するポインタの移動方向の変更を継続する場合及びポインタの元の位置からの距離の変更を継続する場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trよりも短い小休止である。つまり、図8において、パルス信号P11とパルス信号P12との間、及び、パルス信号P13とパルス信号P14との間には、パルス信号の小休止が形成される。
一方、操作者がポインタの移動方向を変更させる状態からポインタの元の位置からの距離を変更させる状態に変更する場合及びその反対の場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trと同じ大休止である。つまり、図8において、パルス信号P12とパルス信号P13との間、及び、パルス信号P14の後には、パルス信号の大休止が形成される。
以上説明したように、本実施の形態に係る操作装置120では、第1の実施の形態と同様の効果を得ることができる。また、モード記憶部41は、操作ダイヤル31の回転に伴って元の位置に対するポインタの移動方向が変更される方向変更モードと、操作ダイヤル31の回転に伴って元の位置からのポインタの移動距離が変更される距離変更モードとを記憶しているので、ポインタの位置を比較的容易に制御することができる。また、実モード記憶部42に記憶された1つのモードが距離変更モードから方向変更モードに切り換えられる直前に、ポインタの元の位置が更新されるので、元の位置に対するポインタの移動方向を変更した後で、元の位置からのポインタの移動距離を変更することによってポインタの位置を変更し、引き続き、変更後のポインタの位置を初期位置として、再度、その元の位置に対するポインタの移動方向の変更とその初期位置からのポインタの移動距離の変更とを行うことができる。
次に、本発明の第1の参考例について、図面を参照しつつ説明する。本発明の第1の参考例に係る操作装置220が含まれるHMDユニット201が、第1の実施の形態の操作装置20が含まれるHMDユニット1と大きく異なる点は、HMDユニット1ではポインタの位置が直交座標系において変更するのに対し、本参考例のHMDユニット201ではポインタの位置がうずまき状に変更する点である。
図10は、本発明の第1の参考例に係る操作装置が含まれるヘッドマウントディスプレイユニットの構成を示すブロック図である。制御部240には、フラグ記憶部43、パルス検知部44と、パラメータ記憶部45と、比較部46と、切り換え部47と、位置変更部48と、更新部241が形成されている。これらの構成のうち第1の実施の形態と同様のものについては詳細な説明は省略する。
本参考例では、パラメータ記憶部45には、ポインタの元の位置を更新するタイミングが決定される際に用いられる時間間隔である閾値Tr、ポインタの移動経路を示す関数、ディスプレイ11の表示画面に表示されるポインタの半径方向の移動単位L2及び回転方向の移動単位α、ポインタの加速を開始するタイミングが決定される際に用いられる時間間隔である閾値Ta、そのときの半径方向の加速倍率R2、回転方向の加速倍率R3などのパラメータが記憶されている。
ここで、HMDユニット201では、ポインタの位置がうずまき状に変更する。従って、本参考例では、パラメータ記憶部45には、ポインタの元の位置を点(x0、y0)、元の位置からのポインタの移動距離をd、初期位置に対するポインタの移動角度をθとした場合に、ポインタのx座標を示す関数x0+d×cosθ及びポインタのy座標を示す関数y0+d×sinθが記憶されている。
位置変更部48は、パラメータ記憶部45に記憶された関数にしたがってポインタの位置を変更する。つまり、位置変更部48は、元の位置である点(x0、y0)を通り、且つ、ポインタのx座標及びy座標が、ポインタの移動距離d及びポインタの移動角度θを用いた関数x0+d×cosθ及び関数y0+d×sinθにしたがってそれぞれ決定される移動経路に沿って元の位置からポインタの位置を変更する。従って、ポインタの移動距離d及びポインタの移動角度θが例えば一定間隔または一定比で増加するように操作ダイヤル31が回転された場合には、位置変更部48は、元の位置を中心とするうずまき状の移動経路に沿ってポインタの位置を変更する。
ここで、位置変更部48は、操作ダイヤル31の回転速度に応じた速度でポインタの位置を変更する。本参考例では、ポインタの移動速度が、比較部46でのパルス間隔検知部44aで検知された時間間隔と閾値Taとの比較結果にしたがって異なる。つまり、比較部46において、パルス間隔検知部44aで検知された時間間隔が閾値Ta以上であるという比較結果が得られた場合には、操作ダイヤル31は比較的遅い回転速度で回転されていると考えられるので、位置変更部48は、ポインタの位置を半径方向及び回転方向にそれぞれパラメータ記憶部45に記憶された移動単位L2、αずつ変更する。一方、パルス間隔検知部44aで検知された時間間隔が閾値Taより短いという比較結果が得られた場合には、操作ダイヤル31は比較的速い回転速度で回転されていると考えられるので、位置変更部48は、ポインタの位置を半径方向及び回転方向にそれぞれパラメータ記憶部45に記憶された移動単位L2に加速倍率R2を乗じた移動単位L2’、移動単位αに加速倍率R3を乗じた移動単位α’ずつ変更する。
更新部241は、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合に、位置変更部48により変更されたポインタの位置に、ポインタの元の位置を更新する。従って、その後、操作ダイヤル31に対する操作が行われる場合には、更新された後のポインタの元の位置を中心として、操作ダイヤル31の回転量及び回転方向に対応した分だけ、ポインタの位置がうずまき状に変更される。
次に、操作ダイヤル31に対する操作が行われた場合の動作手順について、図11を参照して説明する。図11は、操作ダイヤルに対する操作が行われた場合の動作手順を示すフローチャートである。
まず、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS301)。そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS302)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S302:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS303)。このとき、ディスプレイ11の表示画面に表示されたポインタが、パルス数検知部44bで検知されたパルス数に対応した分だけ、元の位置を中心とするうずまき状の移動経路に沿って移動する(ステップS304)。
そして、比較部45では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS305)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S305:NO)、ステップS304に戻って、ポインタの上記うずまき状の移動経路上の移動が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S305:YES)、ポインタの元の位置が位置変更部48により変更された位置に更新される(ステップS306)。その後、ステップS301に戻って、フラグ記憶部43に記憶されたフラグが1に切り換えられる。
次に、ディスプレイ11の表示画面に表示されるポインタを移動させる方法について、図12及び図13を参照して説明する。図12は、ロータリーエンコーダから出力されるパルス信号の一例を示す図である。図13(a)〜図13(d)は、図12の時刻T20〜T23における表示画面の一例を示す図である。図13では、ポインタの移動経路(移動前)が一点鎖線で、ポインタの移動経路(移動後)が破線で図示されている。
ここでは、図12の操作開始時刻T20に対応した図13(a)の表示画面において、ポインタをA点からD点まで移動させる場合について説明する。操作開始時刻T20では、ポインタはA点にある。
そして、操作開始時刻T20において、操作者が操作ダイヤル31を時計回りに回転させ始めると、図12に示すように、ロータリーエンコーダ30からパルス信号の出力が開始される。操作が開始された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはA点を中心とするうずまき状の移動経路に沿って移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタは移動しなくなる。ここで、図12では、操作開始後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P21が出力されている。
このとき、操作者がポインタをA点を中心とするうずまき状の移動経路に沿って移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、ポインタは上記うずまき状の移動経路に沿って移動し始める。このように、ポインタの上記うずまき状の移動経路に沿う移動が継続される場合には、図12に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、ポインタが、図13(c)に示す表示画面のC点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはC点から移動しなくなる。ここで、図12では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P22が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T22になると、ポインタの元の位置がC点に更新される。従って、図12の時刻T22に対応した図13(c)の表示画面では、ポインタはC点にある。
そして、操作開始時刻T22において、操作者が操作ダイヤル31を時計回りに回転させ始めると、ロータリーエンコーダ30からパルス信号の出力が開始される。操作が開始された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、ポインタはC点を中心とするうずまき状の移動経路に沿って移動する。その後、ポインタが、図13(d)に示す表示画面のD点に到達し、操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなりポインタはD点から移動しなくなる。ここで、図12では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P23が出力されている。
このように、操作者がA点を中心とするうずまき状の移動経路に沿う移動を継続する場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trよりも短い小休止である。つまり、図12において、パルス信号P21とパルス信号P22との間には、パルス信号の小休止が形成される。
一方、操作者がポインタの元の位置をA点からC点に更新する場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trと同じ大休止である。つまり、図12において、パルス信号P22とパルス信号P23との間、及び、パルス信号P23の後には、パルス信号の大休止が形成される。
以上説明したように、本参考例に係る操作装置220では、第1の実施の形態と同様の効果を得ることができる。また、ポインタの位置が元の位置を中心とするうずまき状に変更されるので、ポインタの位置を容易に制御することができる。
次に、本発明の第2の参考例について、図面を参照しつつ説明する。本発明の第2の参考例に係る操作装置320が含まれるHMDユニット301が、第1の実施の形態の操作装置20が含まれるHMDユニット1と大きく異なる点は、HMDユニット1では操作装置20はポインタの位置を変更するために用いられるのに対し、本参考例のHMDユニット201では操作装置320は文字を入力するために用いられる点である。
図14は、本発明の第2の参考例に係る操作装置が含まれるヘッドマウントディスプレイユニットの構成を示すブロック図である。制御部340には、モード記憶部341と、実モード記憶部342と、フラグ記憶部43、パルス検知部44と、パラメータ記憶部45と、比較部46と、切り換え部47と、選択領域変更部348と、文字決定部349とが形成されている。これらの構成のうち第1の実施の形態と同様のものについては詳細な説明は省略する。
ここで、図15は、文字が入力される場合のディスプレイ11の表示画面の一例である。図15に示す文字入力画面350には、文字入力の位置を示す入力領域351と、複数の文字に関する列番号及び行番号を示す文字表352とが表示されている。複数の文字は、図15に示すように、互いに異なる番号(列番号1〜9)が割り当てられた複数列及び互いに異なる番号(行番号1〜5)が割り当てられた複数行に配置されている。また、図15は、実モード記憶部42に記憶されているモードが列番号変更モードである場合が図示されている。従って、図15の文字表352では、1つの列番号の文字上に配置される選択領域353(図15ではハッチングの領域)が、列番号1に対応した文字上に配置されている。
モード記憶部341は、文字入力画面350で文字を入力する場合に、複数の文字から1つの入力文字が選択される際の2つのモードを記憶する。モード記憶部341は、操作ダイヤル31の回転に伴って入力文字を含む列番号に対応した文字上に選択領域353の位置を変更する列番号変更モードと、操作ダイヤル31の回転に伴って入力文字を含む行番号に対応した文字上に選択領域353の位置を変更する行番号変更モードとを記憶している。
実モード記憶部342は、モード記憶部341に記憶された列番号変更モード及び行番号変更モードのいずれか一方を記憶する。つまり、実モード記憶部342は、操作ダイヤル31が回転することにより選択領域353の位置の変更に伴って変更される列番号及び行番号のいずれかのモードを記憶する。
パラメータ記憶部45は、操作装置20に係る各種動作に関する種々のパラメータを記憶する。本参考例では、パラメータ記憶部45には、実モード記憶部42に記憶されているモードを他方のモードに切り換えるタイミングが決定される際に用いられる時間間隔である閾値Trなどのパラメータや、互いに異なる列番号及び行番号にそれぞれ割り振られた文字表のデータなどが記憶されている。
比較部346は、パルス間隔検知部44aで検知された時間間隔と、パラメータ記憶部45に記憶された閾値Trとを比較する。ここで、比較部346でのパルス間隔検知部44aで検知された時間間隔と閾値Trとの比較結果は、実モード記憶部42に記憶されているモードを他方のモードに切り換えるタイミングの決定に利用される。
切り換え部347は、操作ダイヤル31に対する操作が開始されると、フラグ記憶部43に記憶されたフラグを1から0に変更し、操作ダイヤル31に対する操作が終了した後で閾値Trが経過すると、フラグを0から1に変更する。また、切り換え部347は、比較部346において、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合に、実モード記憶部42に記憶されているモードを他方のモードに切り換える。つまり、切り換え部347は、実モード記憶部42に記憶されているモードが列番号変更モードである場合は行番号変更モードに切り換えると共に、実モード記憶部42に記憶されているモードが行番号変更モードである場合は列番号変更モードに切り換える。
このように、比較部346において、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いという比較結果が得られた場合には、操作ダイヤル31に対する操作は連続的である(選択領域353に対応した列番号または行番号の変更が継続される)と考えられるので、選択領域353を変更させる方向は切り換えられない。一方、比較部346において、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるという比較結果が得られた場合には、操作ダイヤル31に対する操作は連続的でないと考えられるので、選択領域353を選択させる方向が切り換えられる。
選択領域変更部348は、実モード記憶部342に記憶されているモードにおいて、文字入力画面350において入力文字を選択する際に選択領域353の位置を変更する。つまり、選択領域変更部348は、実モード記憶部42に記憶されたモードが列番号変更モードである場合には、操作ダイヤル31の回転量及び回転方向に対応した分だけ、選択領域353に対応した文字が含まれる列番号が変化する方向に選択領域353の位置を変更する。一方、選択領域変更部348は、実モード記憶部42に記憶されたモードが行番号変更モードである場合には、操作ダイヤルの回転量及び回転方向に対応した分だけ、選択領域353に対応した文字が含まれる行番号が変化する方向に選択領域353の位置を変更する。
具体的には、列番号変更モードでは、操作ダイヤル31が時計回りに回転された場合は選択領域の位置がそれに対応した文字が含まれる列番号が大きくなるように変更され、操作ダイヤル31が反時計回りに回転された場合は選択領域がそれに対応した文字が含まれる列番号が小さくなるように変更される。一方、行番号変更モードでは、操作ダイヤル31が時計回りに回転された場合は選択領域がそれに対応した文字が含まれる行番号が大きくなるように変更され、操作ダイヤル31が反時計回りに回転された場合は選択領域がそれに対応した文字が含まれる行番号が小さくなるように変更される。
文字決定部349は、切り換え部347により列番号変更モードから行番号変更モードに切り換えられる場合には、モードが切り換えられる直前に、選択領域に対応した文字が含まれる列番号を入力文字が含まれる列番号に決定すると共に、切り換え部347により行番号変更モードから列番号変更モードに切り換えられる場合には、モードが切り換えられる直前に、選択領域に対応した文字が含まれる行番号を入力文字が含まれる列番号に決定する。本実施の形態では、まず入力文字が含まれる列番号が決定された後で、入力文字が含まれる行番号が決定されることによって、入力文字として1つの文字が決定される。そして、入力文字として1つの文字が決定された後は、引き続き、次の入力文字が含まれる列番号が決定される。
次に、操作ダイヤル31に対する操作が行われた場合の動作手順について、図16を参照して説明する。図16は、操作ダイヤルに対する操作が行われた場合の動作手順を示すフローチャートである。
まず、実モード記憶部342に記憶されたモードが列番号変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS401)。そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS402)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S402:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS403)。このとき、文字入力画面350において、1つの列番号の文字上に配置される選択領域353の位置がパルス数検知部44bで検知されたパルス数に対応した分だけ変更される(ステップS404)。
そして、比較部345では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS405)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S405:NO)、ステップS404に戻って、選択領域353の位置に対応した列番号の変更が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S405:YES)、そのときに(モードが切り換えられる直前に)選択されている列番号が入力文字が含まれる列番号として決定される(ステップS406)。そして、実モード記憶部42に記憶されたモードが行番号変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる(ステップS407)。
そして、操作ダイヤル31に対する操作が開始されたか否かの判断が繰り返される(ステップS408)。操作ダイヤル31に対する操作が開始されたと判断された場合には(S408:YES)、フラグ記憶部43に記憶されたフラグが0に切り換えられる(ステップS409)。このとき、文字入力画面350において、1つの行番号の文字上に配置される選択領域353の位置がパルス数検知部44bで検知されたパルス数に対応した分だけ変更される(ステップS410)。
そして、比較部345では、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であるか否かが判断される(ステップS411)。ここで、パルス間隔検知部44aで検知された時間間隔が閾値Trより短いと判断された場合には(S411:NO)、ステップS410に戻って、選択領域353の位置に対応した行番号の変更が継続される。一方、パルス間隔検知部44aで検知された時間間隔が閾値Tr以上であると判断された場合には(S411:YES)、そのときに(モードが切り換えられる直前に)選択されている行番号が入力文字が含まれる行番号として決定される(ステップS412)。そして、ステップS401に戻って、実モード記憶部42に記憶されたモードが列番号変更モードに切り換えられると共に、フラグ記憶部43に記憶されたフラグが1に切り換えられる。
次に、文字入力画面350における文字の入力方法について、図17及び図18を参照して説明する。図17は、ロータリーエンコーダから出力されるパルス信号の一例を示す図である。図18(a)〜図18(e)は、図17の時刻T30〜T34における表示画面に表示される文字表の一例を示す図である。図18では、選択領域353がハッチングで図示され、入力文字が含まれる決定領域354が破線で図示されている。
ここでは、図15の文字入力画面350において、文字「る」を入力する場合について説明する。図17の操作開始時刻T30に対応した図18(a)の文字表では、実モード記憶部42に記憶されたモードは列番号変更モードであることを示すために、列番号1の文字上に配置される選択領域353が表示されている。
そして、操作開始時刻T30において、操作者が操作ダイヤル31を時計回りに回転させ始めると、図17に示すように、ロータリーエンコーダ30からパルス信号の出力が開始される。操作が開始された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、選択領域353は右方向に(列番号が大きくなる方向に)移動する。その後、操作者が、操作ダイヤル31を持ち直すために、操作ダイヤル31の回転を止めると、パルス信号が出力されなくなり選択領域353は移動しなくなる。ここで、図17では、操作開始後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P31が出力されている。
このとき、操作者が選択領域353を右方向へ移動させ続けるために、すぐに操作ダイヤル31を持ち直して、再度、操作ダイヤル31を時計回りに回転させると、ロータリーエンコーダ30からパルス信号の出力が再開されると共に、選択領域353は右方向に移動し始める。このように、選択領域353の右方向への移動が継続される場合には、図17に示すように、パルス信号が休止しても、すぐに、次のパルス信号が出力される。その後、選択領域353が、図18(b)に示す文字表で入力文字「る」が含まれる列番号8に対応した位置に到達し、時刻T31で操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなり選択領域353は列番号8に対応した位置から移動しなくなる。ここで、図17では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P32が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T32になると、そのときに選択領域353の位置に対応した列番号8が、入力文字が含まれる列番号として決定されると共に、実モード記憶部42に記憶されたモードが列番号変更モードから行番号変更モードに切り換えられる。従って、図17の時刻T32に対応した図18(c)の文字表では、決定領域354が列番号8に対応した文字上に配置されていると共に、選択領域353が実モード記憶部42に記憶されたモードは行番号変更モードであることを示すために、行番号1に対応した文字上に配置されている。
そして、時刻T32において、操作者が操作ダイヤル31を時計回りに回転させ始めると、ロータリーエンコーダ30からパルス信号の出力が再開される。操作が再開された後、操作者が操作ダイヤル31を回転させている間は、パルス信号が連続的に出力されると共に、選択領域353は下方向(行番号が大きくなる方向)に移動する。その後、選択領域353が、図18(d)に示す文字表で入力文字「る」が含まれる行番号3に対応した位置に到達し、時刻T33で操作者が操作ダイヤル31の回転を止めると、パルス信号が出力されなくなり選択領域353は行番号3に対応した位置から移動しなくなる。ここで、図17では、操作再開後、操作者が操作ダイヤル31の回転を止めるまでの間に、パルス信号P33が出力されている。
そして、操作者が操作ダイヤル31の回転を止めた後で、閾値Trが経過した時刻T34になると、そのときに選択領域353の位置に対応した行番号3が入力文字が含まれる行番号として決定されると共に、実モード記憶部42に記憶されたモードが行番号変更モードから列番号変更モードに切り換えられる。従って、文字入力画面350の入力領域351に文字「る」が入力されると共に、図17の時刻T34に対応した図18(d)の文字表では、実モード記憶部42に記憶されたモードは列番号変更モードであることを示すために、選択領域353が実モード記憶部42に記憶されたモードは列番号変更モードであることを示すために、列番号8に対応した文字上に配置されている。
このように、操作者が選択領域の列番号または行番号の変更を継続する場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trよりも短い小休止である。つまり、図17において、パルス信号P31とパルス信号P32との間には、パルス信号の小休止が形成される。一方、操作者が選択領域の移動方向を変更する場合にパルス信号が休止されたときは、連続する2つのパルスの時間間隔は閾値Trと同じ大休止である。つまり、図17において、パルス信号P32とパルス信号P33との間、、及び、パルス信号P33の後には、パルス信号の大休止が形成される。
以上説明したように、本参考例に係る操作装置320では、操作ダイヤル31の回転に伴って出力されるパルス信号において、連続して出力された2つのパルス間の時間が閾値Tr以上になった場合に、実モード記憶部342に記憶されたモードが、列番号変更モードから行番号変更モードにまたは行番号変更モードから列番号変更モードに切り換えられる。そのため、操作ダイヤル31を断続的に回転させる場合に、操作間に形成される休止時間を調整することによって、モードの切り換えの有無を制御することができる。従って、操作者は、操作間に形成される休止時間を閾値Tr以上にすることによって、実モード記憶部342に記憶されたモードを切り換えることができる。このとき、操作間に形成される休止時間が閾値Trより短い場合にはモードは切り換えられないので、例えば操作ダイヤル31を持ち直すために操作ダイヤル31の回転を休止するときでも、すぐに(閾値Tr以上の休止時間が形成されない間に)操作ダイヤル31の回転を再開することによって、休止前と同じモードにおいて選択領域353を移動させる操作を継続することができる。このように、操作ダイヤル31を回転させるという単純な操作によって、選択領域353を移動させることができるので、操作装置320の操作性がよいと共に、ぶれにくく安定性が高くなる。
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。例えば、第1の実施の形態では、モード記憶部がX軸モード及びY軸モードの2つのモードを記憶しており、第2の実施の形態では、モード記憶部が方向変更モード及び距離変更モードの2つのモードを記憶しているが、モード記憶部がポインタの移動に関するその他の2つのモードを記憶していてもよい。
また、上述の第1の実施の形態では、X軸とY軸とは直交しているが、X軸とY軸とは交差していれば直交してなくてもよい。
また、上述の第2の実施の形態では、方向変更モードで元の位置に対するポインタの移動方向が決められた後で、距離変更モードで元の位置からのポインタの移動距離が決められ、距離変・BR>Xモードから方向変更モードに切り換えられる直前に、ポインタの元の位置が更新されているが、距離変更モードで元の位置からのポインタの移動距離が決められた後で、方向変更モードで元の位置に対するポインタの移動方向が決められ、方向変更モードから距離変更モードに切り換えられる直前に、ポインタの元の位置が更新されてもよい。
また、上述の第1の参考例では、パラメータ記憶部に記憶されるポインタの移動経路を示す関数は、ポインタの元の位置を通る関数であれば変更可能である。従って、ポインタの位置は、ポインタの元の位置を中心とするうずまき状に変更されなくてもよく、その他の移動経路に沿って変更されてもよい。
また、上述の第1、第2の実施の形態及び第1の参考例では、出力部は操作ダイヤルの回転に対応したパルス信号を出力し、比較部はそのパルス信号において連続する2つのパルス間の時間間隔と所定時間とを比較し、2つのパルス間の時間間隔が所定時間以上になった場合に、モードの切り換えまたはポインタの元の位置の更新が行われているが、出力部は操作ダイヤルの回転に対応した信号(パルス信号及びパルス信号以外の信号を含む)を出力し、比較部はこの信号と所定条件とを比較し、この信号が所定条件を満たす場合に、モードの切り換えまたはポインタの元の位置の更新が行われてもよい。ここで、所定条件は、連続する2つの信号間の時間間隔に関する条件以外の条件であってもよい。