(57)【特許請求の範囲】
【請求項１】
Ｘ方向検出部とＹ方向検出部とを含み、ポインティングデバイスの移動に伴って、該Ｘ方向検出部と該Ｙ方向検出部のそれぞれから、位相の異なる２つのパルス信号が出力されるセンサ部と、
該パルス信号から任意の周期で検出データを読み取る入力部と、該検出データから該ポインティングデバイスの移動方向を判定する第１の演算部と、該第１の演算部からの出力データをカウントするデータカウンタとを有し、
該第１の演算部は、前回の検出データを保持する前データ保持部と、前回の移動方向の正負符号を保持する前符号変化保持部とを具え、
今回の検出データと前回の検出データとを比較して、移動方向を正と判定すれば１を、負と判定すれば−１を該データカウンタに加算し、移動方向が判定できないときは、該前回の正負符号が正であれば２を、負であれば−２を該データカウンタに加算することを特徴とするポインティングデバイスコントローラ。
【請求項２】
前記第１の演算部に代えて第２の演算部を有し、該第２の演算部は、前回の検出データを保持する前データ保持部と、移動方向が判定できなかった回数をカウントする不定カウンタとを具え、
移動方向が判定できたときには、該不定カウンタのカウント数を２倍して１を加えると共に判定できた方向の正負符号を付け、該データカウンタに加算することを特徴とする請求項１記載のポインティングデバイスコントローラ。
【請求項３】
前記第１の演算部に代えて第３の演算部を有し、該第３の演算部は、前回の検出データを保持する前データ保持部と、前回の移動方向の正負符号を保持する前符号変化保持部と、移動方向が判定できなかった回数をカウントする不定カウンタとを具え、
移動方向が判定できたときには、該移動方向が前回の正負符号に合致した場合に限り、該不定カウンタのカウント数を２倍して１を加えると共に判定できた方向の正負符号を付け、該データカウンタに加算することを特徴とする請求項１記載のポインティングデバイスコントローラ。
【請求項４】
前記第２の演算部または前記第３の演算部は、不定カウンタのカウント数が設定値に到達すれば、該設定値以降のカウントを中止することを特徴とする請求項２または３記載のポインティングデバイスコントローラ。
【請求項５】
前記第１の演算部に代えて第４の演算部を有し、該第４の演算部は、前回の検出データを保持する前データ保持部と、前回の移動方向の正負符号を保持する前符号変化保持部と、データが変化しなかった回数をカウントする無変化カウンタとを具え、
該無変化カウンタのカウント数が設定値に到達すれば、移動方向が判定できないときのデータカウンタへのデータ入力を中止し、移動方向が判定できたとき、該無変化カウンタのカウント数をクリヤすることを特徴とする請求項１記載のポインティングデバイスコントローラ。
【請求項６】
前記第２の演算部または第３の演算部に代えて第５の演算部を有し、該第５の演算部は、前回の検出データを保持する前データ保持部と、前回の移動方向の正負符号を保持する前符号変化保持部と、移動方向が判定できなかった回数をカウントする不定カウンタと、データが変化しなかった回数をカウントする無変化カウンタとを具え、
該無変化カウンタのカウント数が設定値に到達すれば、該不定カウンタのカウント数をクリヤすることを特徴とする請求項２または３記載のポインティングデバイスコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパソコン等においてディスプレイに表示されたカーソルを任意に移動させるポインティングデバイスに係り、特に任意の周期でデータを検出する省消費電力型のポインティングデバイスに組み込まれるコントローラに関する。
【０００２】
近年、携帯型パソコンの普及に伴って電源の長寿命化が要求され、ポインティングデバイスにおいても低消費電力化の手段として、例えばセンサー部をパルス駆動することによってロータリエンコーダのデータが任意の周期で検出される。
【０００３】
データの検出周期は長いほど有効であるがポインティングデバイスの移動速度（走査速度）に対する追従性が低下し、移動の過程においてカウント抜けが発生してポインティングデバイスの移動方向判定が不可能になる等の問題が生じる。
【０００４】
そこでポインティングデバイスの移動方向が判定不可能になったときの補正手段を具えたコントローラの開発が要望されている。
【０００５】
【従来の技術】
図12は従来のマウスコントローラを示すブロック図、図13はパルス信号と検出周期との関係を示す図、図14は検出データの変化を説明する図、図15は従来の制御動作を示すフローチャートである。
【０００６】
従来のマウスコントローラは図12に示す如くマウスの移動に伴い移動量に対応したパルス信号を出力するセンサ部10と、センサ部10から入力されたパルス信号に基づきマウスの移動方向と移動量を示すデータを生成するＭＰＵ１を有する。
【０００７】
センサ部10はＸ方向に対応するエンコーダのＸ方向検出部10x とＹ方向に対応するエンコーダのＹ方向検出部10y を含み、マウスの移動に伴いＸ方向検出部10ｘとＹ方向検出部10y から位相の異なる２つのパルス信号Ａ、Ｂが出力される。
【０００８】
ＭＰＵ１は入力されたパルス信号Ａ、Ｂから任意の周期でＸ（Ｙ）方向のセンサ状態（検出データ）を検出する入力部２と、前回検出されたＸ（Ｙ）方向の検出データを保持するＸ（Ｙ）前データ保持部３と、今回検出された現検出データとＸ（Ｙ）前データ保持部３に保持された前回検出データとを比較して、マウスの移動方向を判定する演算部40と、演算部40からのＸ、Ｙ方向の検出データをカウントするＸ（Ｙ）データカウンタ５と、Ｘ（Ｙ）データカウンタ５からのＸ、Ｙ方向の移動データ（移動量）をホストコンピュータ11に出力するインタフェース部７と、データの検出周期を制御するタイマ８とで構成されている。
【０００９】
センサ部10から入力されるパルス信号はＸ方向について言えば図13に示す如く矩形波のパルス信号Ａx と、パルスＡx に対して位相が約１／４波長ずれた矩形波のパルス信号Ｂx を有し、入力部２は二つのパルス信号Ａx 、Ｂx を予め任意に設定された検出周期で読み出し、Ｘ方向のセンサ状態（検出データ）を得る。
【００１０】
即ち、図14において例えばマウスがＸ方向の正方向に移動する場合は、読み出されるセンサ状態（検出データ）が、ＬＬ、ＨＬ、ＨＨ、ＬＨ、ＬＬ、・・・・の順に変化し、負方向に移動する場合はＬＬ、ＬＨ、ＨＨ、ＨＬ、ＬＬ、・・・・の順に変化する。そこで演算部40は、Ｘ前データ保持部３に保持された前回の検出データ（以下、前検出データと称する）と、現在のセンサ状態を表す入力部２からの現検出データを比較し、検出データの変化からマウスが正負のいずれに移動したかを判定している。なお、Ｙ方向の検出データも同様にして得られる。
【００１１】
このような制御動作は図15に示す如く入力部２においてセンサ部10からのセンサ出力が任意の周期で読み出され、得られたＸ方向およびＹ方向の現検出データは演算部40に入力される（ステップＳ21）。
【００１２】
Ｘ前データ保持部３に保持されている前回のＸ前検出データと今回のＸ現検出データとを演算部40において比較し、Ｘ現検出データがＸ前検出データと同じであるか、Ｘ前検出データに対し変化したかを判定する（ステップＳ22）。
【００１３】
Ｘ前検出データと同じか変化の方向が判定できない不定の場合、Ｘ現検出データをＸ前検出データとしてＸ前データ保持部３に保持する（ステップＳ23）。
正変化の場合、Ｘデータカウンタ５に１を加算し（ステップＳ24）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ23）。
【００１４】
負変化の場合も同様で、Ｘデータカウンタ５に−１を加算し（ステップＳ25）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ23）。
Ｙ方向側も同様に図示するステップＳ22’、Ｓ23’、Ｓ24’、Ｓ25’が実行され完了すると、データカウンタ５のカウント数がマウスのＸＹ移動データとして、インタフェース部７を介しホストコンピュータ11に出力され（ステップＳ26）、タイマ８がオーバした時点でセンサ出力の読み出しに戻る（ステップＳ27）。
【００１５】
【発明が解決しようとする課題】
しかし、上記マウスコントローラによれば、携帯型パソコンの消費電力を低減するためにパルス駆動にし検出周期をある程度長くした場合、マウスの移動操作を早く行うとロータリエンコーダの回転速度が速くなって、パルスＡx 、Ｂx 、（Ａy 、Ｂy ）の１／４の周期が検出時間間隔より短くなる場合が発生するため、検出データが図14に破線矢印で示すように、検出データがＬＬ（ＨＨ）からＨＨ（ＬＬ）に、あるいはＨＬ（ＬＨ）からＬＨ（ＨＬ）に変化するような状態が生じ、マウスは正、負どちらの方向に移動したか判定できない。この移動方向が判定できない不定が生じた場合には、検出データを正常にカウントできずカウント不良（抜け）になり、マウスはカーソルを指定位置に正確に表示させることができないといった問題があった。
【００１６】
本発明は不定が発生しても不定の前後の変化でマウスの移動方向を推定し、不定分の移動量をカウントすることによって、カウント不良を補正できるポインティングデバイスコントローラの提供を目的とする。
【００１７】
【課題を解決するための手段】
図１は本発明になるマウスコントローラを示すブロック図である。なお全図を通し同じ対象物は同一記号で表している。
【００１８】
上記目的はＸ方向検出部10x とＹ方向検出部10y とを含み、ポインティングデバイスの移動に伴って、Ｘ方向検出部10x とＹ方向検出部10y のそれぞれから、位相の異なる２つのパルス信号が出力されるセンサ部10と、パルス信号から任意の周期で検出データを読み取る入力部２と、検出データからポインティングデバイスの移動方向を判定する第１の演算部４と、第１の演算部４からの出力データをカウントするデータカウンタ５とを有し、第１の演算部４は、前回の検出データを保持する前データ保持部３と、前回の移動方向の正負符号を保持する前符号変化保持部６とを具え、今回の検出データと前回の検出データとを比較して、移動方向を正と判定すれば１を、負と判定すれば−１をデータカウンタ５に加算し、移動方向が判定できないときは、前回の正負符号が正であれば２を、負であれば−２をデータカウンタ５に加算する本発明のポインティングデバイスコントローラにより達成される。
【００１９】
このように第１の演算部において現検出データと前データ保持部に保持されている前検出データとを比較し、移動方向が判定できない例えば、図12に示したＬＬからＨＨの破線矢印方向の不定の場合、前符号変化保持部に正符号が保持してあれば、ＬＬ、ＨＬ、ＨＨと変化しているものと推定して、不定分のカウント数としてデータカウンタに２を加算し、負符号が保持してあれば−２を加算し、補正されたカウント数を出力する本発明のポインティングデバイスコントローラは、マウスの移動速度に基づく不定が発生しても、その前後の変化でマウスの移動方向を推定し不定分のカウント数を補正することが可能であり、カーソルをほぼ指定位置近くに移動することができる。
【００２０】
即ち、不定が発生しても不定の前後の変化でマウスの移動方向を推定し、不定分の移動量をカウントすることによって、カウント不良を補正できるポインティングデバイスコントローラを実現することができる。
【００２１】
【発明の実施の形態】
以下添付図により本発明の実施例について説明する。図２は本発明になるコントローラの動作を示すフローチャート、図３は本発明の第２の実施例を示すブロック図、図４は第２の実施例の動作を示すフローチャート、図５は本発明の第３の実施例を示すブロック図、図６は第３の実施例の動作を示すフローチャート、図７は第４の実施例の動作を示すフローチャート、図８は本発明の第５の実施例を示すブロック図、図９は第５の実施例の動作を示すフローチャート、図10は本発明の第６の実施例を示すブロック図、図11は第６の実施例の動作を示すフローチャートである。
【００２２】
本発明の第１の実施例は図１に示す如くマウスの移動量に対応してＸＹ方向のパルス信号を出力するセンサ部10と、センサ部10から入力されたパルス信号に基づいてマウスの移動方向と移動量を示すデータを生成するＭＰＵ１とを有する。
【００２３】
センサ部10はＸ方向に対応するエンコーダのＸ方向検出部10x とＹ方向に対応するエンコーダのＹ方向検出部10y を含み、マウスの移動に伴いＸ方向検出部10ｘとＹ方向検出部10y から位相の異なる２つのパルス信号Ａ、Ｂが出力される。
【００２４】
ＭＰＵ１は、パルス信号Ａ、Ｂから任意の周期でＸＹ方向のセンサ状態（検出データ）を検出する入力部２と、演算部４と、演算部４からのＸ、Ｙ方向の検出データをカウントするＸ（Ｙ）データカウンタ５と、Ｘ（Ｙ）データカウンタ５からのＸ、Ｙ方向の移動データ（移動量）をホストコンピュータ11に出力するインタフェース部７と、データの検出周期を制御するタイマ８で構成されている。
【００２５】
入力部２において検出されたデータからマウスの移動方向を判定する演算部４は、前回の検出データを順次保持するＸ（Ｙ）前データ保持部３と、前回の移動方向の正負符号を順次保持するＸ（Ｙ）前符号変化保持部６とを具えている。
【００２６】
本発明になるマウスコントローラと従来のマウスコントローラとの相違点は、演算部４が、前回の検出データを保持する前データ保持部３の他に、前回の移動方向の正負符号を保持するＸ（Ｙ）前符号変化保持部６を具えている点にある。
【００２７】
演算部４は、入力部２から今回入力された検出データ（現検出データ）と、前データ保持部３に保持された前回の検出データ（前検出データ）とを比較して、移動方向を正と判定すれば１を、負と判定すれば−１をデータカウンタ５に加算し、移動方向が判定できないときは、前符号変化保持部６に保持された前回の正負符号が正であれば２を、負であれば−２をデータカウンタ５に加算する。
【００２８】
このような構成における制御動作の流れを図２を用いて説明すると、入力部２においてセンサ部10からのセンサ出力が任意の周期で読み出され、得られたＸ方向およびＹ方向の現検出データは演算部４に入力される（ステップＳ１）。
【００２９】
以下、Ｘ方向側のステップについて説明する。Ｙ方向側のステップはＸをＹに置き換えればよい。
演算部４は、Ｘ前データ保持部３に保持されているＸ前検出データと入力されたＸ現検出データとを比較して、Ｘ現検出データとＸ前検出データとが同じであるか、変化しているかを判定し（ステップＳ２）、以下のステップを実行する。
【００３０】
Ｘ現検出データがＸ前検出データと同じであれば無変化とし、Ｘ現検出データをＸ前データ保持部３に保持し（ステップＳ４）、変化している場合はその変化が正変化か、負変化か、あるいは不定かを判定する（ステップＳ３）。
【００３１】
正変化の場合はＸデータカウンタ５に１を加算（ステップＳ５）すると共に、Ｘ前符号変化保持部６に正を保持し（ステップＳ６）、Ｘ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００３２】
負変化の場合はＸデータカウンタ５に−１を加算（ステップＳ７）すると共に、Ｘ前符号変化保持部６に負を保持し（ステップＳ８）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００３３】
正変化か、負変化か判定できない不定の場合はＸ前符号変化保持部６に正、負どちらの符号が保持されているかを確認し（ステップＳ９）、正保持のときはＸデータカウンタ５に２を加算し（ステップＳ10）、負保持のときはＸデータカウンタ５に−２を加算し（ステップＳ11）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００３４】
Ｘ、Ｙ方向の前記ステップが終われば、データカウンタ５のカウント数がマウスのＸＹ移動データとして、インタフェース部７を介しホストコンピュータ11に出力され（ステップＳ12）、タイマ８がオーバした時点でセンサ出力の読み出しに戻る（ステップＳ13）。
【００３５】
操作時にマウスの移動速度が追従可能な速度から一時的に追従不可能な速度になりカウント抜けが発生しても、例えば移動方向が正から負に転じる場合や目標に近づいた場合等に追従可能な速度に落ちる過程があり、そのとき検出された現検出データと前データ保持部に保持されている前検出データとを、第１の演算部において比較することによって、カウント抜けが発生した前後における変化が無変化、正方向変化、負方向変化、不定の何れであるか判定することができる。
【００３６】
本発明になるマウスコントローラは、移動方向が判定できない例えば図14に示すＬＬからＨＨの破線矢印方向の不定が生じた場合、前符号変化保持部に正符号が保持してあれば、ＬＬ、ＨＬ、ＨＨと２カウント変化しているものと推定してデータカウンタに２が加算され、負符号が保持してあればＬＬ、ＬＨ、ＨＨと２カウント変化しているものと推定して、データカウンタに−２が加算されて、補正されたカウント数がホストコンピュータに出力される。
【００３７】
即ち、マウスの移動速度に基づく不定が発生してもその前後の変化でマウスの移動方向を推定し、データカウンタに不定分のカウント数（移動量）を加減算することによりマウスの操作（移動）速度に基づくカウント不良（抜け）を補正し、カーソルをほぼ指定位置近くに移動指示することができる。
【００３８】
本発明の第２の実施例は図３に示す如くマウスの移動量に対応してＸＹ方向のパルス信号を出力するセンサ部10と、センサ部10から入力されたパルス信号に基づいてマウスの移動方向と移動量を示すデータを生成するＭＰＵ１とを有する。
【００３９】
センサ部10はＸ方向に対応するエンコーダのＸ方向検出部10x とＹ方向に対応するエンコーダのＹ方向検出部10y を含み、マウスの移動に伴いＸ方向検出部10ｘとＹ方向検出部10y から位相の異なる２つのパルス信号Ａ、Ｂが出力される。
【００４０】
ＭＰＵ１は、パルス信号Ａ、Ｂから任意の周期でＸＹ方向のセンサ状態（検出データ）を検出する入力部２と、演算部41と、演算部41からのＸ、Ｙ方向の検出データをカウントするＸ（Ｙ）データカウンタ５と、Ｘ（Ｙ）データカウンタ５からのＸ、Ｙ方向の移動データ（移動量）をホストコンピュータ11に出力するインタフェース部７と、データの検出周期を制御するタイマ８で構成されている。
【００４１】
演算部41は、前回の検出データを保持するＸ（Ｙ）前データ保持部３と、マウスの移動方向が連続して判定できなかった回数をカウントするＸ（Ｙ）不定カウンタ９とを具え、移動方向が判定できたときＸ（Ｙ）不定カウンタ９のカウント数に判定できた方向の正負符号を付け、Ｘ（Ｙ）データカウンタ５に加算する。
【００４２】
このように構成された第２の実施例は、制御動作の流れが図４に示す如くステップＳ３とステップＳ４との間のステップが異なる。以下、Ｘ方向側のステップについて説明する。なお、Ｙ方向側のステップはＸをＹに置き換えればよい。
【００４３】
演算部41は、Ｘ前データ保持部３に保持されている前回のＸ前検出データと今回のＸ現検出データとを比較して、Ｘ現検出データがＸ前検出データと同じであるか、変化しているかを判定し（ステップＳ２）、以下のステップを実行する。
【００４４】
Ｘ現検出データがＸ前検出データと同じであれば無変化としてＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。また、変化している場合はその変化が正変化か、負変化か、あるいは不定かを判定する（ステップＳ３）。
【００４５】
正変化の場合は２Ｎｘ＋１をＸデータカウンタ５に加算（ステップＳ14）すると共に、Ｘ不定カウンタ９のカウント数Ｎｘをクリヤし（ステップＳ15）、今回の現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００４６】
負変化の場合は−（２Ｎｘ＋１）をＸデータカウンタ５に加算する（ステップＳ16）と共に、Ｘ不定カウンタ９のカウント数Ｎｘをクリヤし（ステップＳ17）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００４７】
正変化か、負変化か判定できない不定の場合はＸ不定カウンタ９のカウント数Ｎｘに今回の不定分１を加算し（ステップＳ18）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００４８】
このように、連続して不定が発生した後移動方向が判定できたとき、移動方向が判定できなかった回数Ｎｘの２倍に今回の現検出データ分を加えたカウント数、即ち２Ｎｘ＋１を、マウスの移動方向が正方向であればＸデータカウンタ５に加算し、負方向であればＸデータカウンタ５から減算することによって、前記本発明になるマウスコントローラと同等の作用、効果を得ることができる。
【００４９】
しかし、前記本発明になるマウスコントローラの第１の実施例や第２の実施例は、連続して不定が発生しその過程においてマウスの移動方向が例えば正から負に反転した場合も、移動方向が反転しなかったと見做してデータカウンタのカウント数が補正され、カーソルの位置が指定位置から大きく外れることがある。
【００５０】
本発明になるマウスコントローラの第３の実施例は前記第２の実施例と異なり、図５に示す如くＭＰＵ１が演算部41の代わりに演算部42を有し、演算部42は、前回の検出データを順次保持するＸ（Ｙ）前データ保持部３と、前回の正負符号を順次保持するＸ（Ｙ）前符号変化保持部６と、マウスの移動方向が連続して判定できなかった回数をカウントするＸ（Ｙ）不定カウンタ９とを具え、移動方向が判定できたとき移動方向が前回の正負符号に合致した場合に限り、Ｘ（Ｙ）不定カウンタ９のカウント数Ｎｘを２倍して１を加え、２Ｎｘ＋１に判定できた方向の正負符号を付けてＸ（Ｙ）データカウンタ５に加算する。
【００５１】
このように構成された第３の実施例は、制御動作の流れが図６に示す如くステップＳ３とステップＳ４との間のステップが異なる。以下、Ｘ方向側のステップについて説明する。なお、Ｙ方向側のステップはＸをＹに置き換えればよい。
【００５２】
演算部42は、Ｘ前データ保持部３に保持されている前回のＸ前検出データと今回のＸ現検出データとを比較して、Ｘ現検出データがＸ前検出データと同じであるか、変化しているかを判定し（ステップＳ２）、以下のステップを実行する。
【００５３】
Ｘ現検出データがＸ前検出データと同じであれば無変化とし、Ｘ現検出データをＸ前データ保持部３に保持し（ステップＳ４）、変化している場合はその変化が正変化か、負変化か、あるいは不定かを判定する（ステップＳ３）。
【００５４】
正変化のときＸ前符号変化保持部６に、正符号が保持されていれば（ステップＳ30のＹＥＳ）Ｘデータカウンタ５に２×Ｎｘ＋１を加算し（ステップＳ14）、負符号が保持されていれば（ステップＳ30のＮＯ）ステップＳ14を跳ばし、Ｘ前符号変化保持部６に正符号を保持（ステップＳ６）すると共に、Ｘ不定カウンタ９のカウント数Ｎｘをクリヤし（ステップＳ15）、今回の現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００５５】
負変化のときＸ前符号変化保持部６に、負符号が保持されていれば（ステップＳ31のＹＥＳ）Ｘデータカウンタ５に−（２×Ｎｘ＋１）を加算し（ステップＳ16）、正符号が保持されていれば（ステップＳ31のＮＯ）ステップＳ16を跳ばし、Ｘ前符号変化保持部６に負符号を保持（ステップＳ８）すると共に、Ｘ不定カウンタ９のカウント数Ｎｘをクリヤし（ステップＳ17）、今回の現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００５６】
正変化か、負変化か判定できない不定の場合はＸ不定カウンタ９のカウント数Ｎｘに今回の不定分１を加算し（ステップＳ18）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００５７】
このように、移動方向の判定できない不定判定が続いた後に移動方向が判定できたとき、判定できた方向が前回の正負符号に合致した場合に限り、移動方向が判定できなかった回数Ｎｘの２倍に今回の現検出データ分を加えたカウント数、即ち２×Ｎｘ＋１を、マウスの移動方向が正方向であればＸデータカウンタ５に加算し、負方向であればＸデータカウンタ５から減算することによって、確実に同一方向に移動している際に発生する不定のみを補正することができる。
【００５８】
しかし、前記第２の実施例または第３の実施例では、不定が連続して発生した後移動方向が判定された時点で不定分が纏めて加算されるため、移動方向が判定した時点においてカーソルが急速に移動し見失ってしまう恐れがある。
【００５９】
そこで本発明の第４の実施例は図７に示す如く、図４の第２の実施例の動作を示すフローチャートまたは図６の第３の実施例の動作を示すフローチャートにおいて、不定の場合にＸ不定カウンタ９のカウント数Ｎｘに１を加算するステップＳ18の代わりに、不定カウンタ９のカウント数Ｎｘがある数ａ、例えば１０以上ならば、Ｘ不定カウンタ９に１を加算するステップＳ18を跳ばしており、カーソルが急速に移動して見失うのを防止することができる。
【００６０】
また、前記第１の実施例で移動方向が判定してから次の移動方向の判定できない不定判定に至るまでの過程において、現検出データが前検出データと等しい無変化が連続して検出された場合にはマウスが停止状態にあることが推測される。
【００６１】
停止状態にあるマウスが移動を再開する際には停止前の移動方向と不連続な方向への移動が行われる場合があり、移動の再開に際して生じる方向不定はどの方向への移動により生じたのか不明であって不定に伴う処理を行わない方が良い。
【００６２】
そこで本発明の第５の実施例は第１の実施例と異なり図８に示す如く、ＭＰＵ１が演算部４の代わりに演算部43を有し、演算部43は、前回の検出データを順次保持するＸ（Ｙ）前データ保持部３と、前回の正負符号を順次保持するＸ（Ｙ）前符号変化保持部６と、データが変化しなかった回数をカウントする無変化カウンタ20とを具え、無変化カウンタ20のカウント数が設定値に到達すれば移動方向が判定できないときに実行される工程をスキップするように構成されている。
【００６３】
このように構成された第５の実施例は、図９に示す如く制御動作の流れがステップＳ２とステップＳ４との間のステップが異なる。以下、Ｘ方向側のステップについて説明する。なお、Ｙ方向側のステップはＸをＹに置き換えればよい。
【００６４】
演算部43は、Ｘ前データ保持部３に保持されている前回のＸ前検出データと今回のＸ現検出データとを比較して、Ｘ現検出データがＸ前検出データと同じであるか、変化しているかを判定し（ステップＳ２）、以下のステップを実行する。
【００６５】
Ｘ現検出データがＸ前検出データと同じであれば無変化として、無変化カウンタ20のカウント数Ｚｘに１を加算すると共に（ステップＳ32）、そのときのＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００６６】
第１の実施例は移動方向が判定できない不定の場合、Ｘ前符号変化保持部６に正、負どちらの符号が保持されているかを確認し（ステップＳ９）、正保持のときはＸデータカウンタ５に２を加算し（ステップＳ10）、負保持のときはＸデータカウンタ５に−２を加算し（ステップＳ11）、今回のＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）が、本実施例は無変化カウンタ20のカウント数Ｚｘがある値ｂ以上になれば（ステップＳ33のＹＥＳ）、ステップＳ９、Ｓ10、Ｓ11を跳ばしてＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。なお無変化カウンタ20のカウント数Ｚｘは、移動方向が正または負と判定されたときクリヤされるように構成されている（ステップＳ35）。
【００６７】
更に、第２の実施例または第３の実施例において不定と判定された後移動方向が判定するまでの間に、現検出データが前検出データと同じ無変化がある回数連続して生じた場合、その間はマウスが停止状態にあることが推測され、実用上それまでの不定カウントは無意味でありクリヤしたほうが良いと考えられる。
【００６８】
そこで本発明の第６の実施例は図10に示す如く、ＭＰＵ１が演算部41の代わりに演算部44を有し、演算部44は、前回の検出データを順次保持するＸ（Ｙ）前データ保持部３と、前回の正負符号を順次保持するＸ（Ｙ）前符号変化保持部６と、マウスの移動方向が連続して判定できなかった回数をカウントするＸ（Ｙ）不定カウンタ９と、データが変化しなかった回数をカウントする無変化カウンタ20とを具え、データの変化しなかった回数が所定のカウント数になれば、Ｘ（Ｙ）不定カウンタ９のカウント数をクリヤするように構成されている。
【００６９】
このように構成された第６の実施例は、制御動作の流れが図11に示す如くステップＳ２とステップＳ４との間のステップが異なる。以下、Ｘ方向側のステップについて説明する。なお、Ｙ方向側のステップはＸをＹに置き換えればよい。
【００７０】
演算部44は、Ｘ前データ保持部３に保持されている前回のＸ前検出データと今回のＸ現検出データとを比較して、Ｘ現検出データがＸ前検出データと同じであるか、変化しているかを判定し（ステップＳ２）、以下のステップを実行する。
【００７１】
Ｘ現検出データがＸ前検出データと同じであれば無変化として、無変化カウンタ20のカウント数Ｚｘに１を加算し（ステップＳ32）、無変化カウンタ20のカウント数Ｚｘがある値ｂ以上になれば（ステップＳ33のＹＥＳ）、Ｘ不定カウンタ９のカウント数Ｎｘをクリヤする（ステップＳ34）。無変化カウンタ20のカウント数Ｚｘがある値ｂ未満のとき（ステップＳ33のＮＯ）は、ステップＳ34を跳ばしてＸ現検出データをＸ前データ保持部３に保持する（ステップＳ４）。
【００７２】
Ｘ現検出データがＸ前検出データに対して変化している場合は、無変化カウンタ20のカウント数Ｚｘをクリヤし（ステップＳ35）、その変化が正変化か、負変化か、あるいは不定かを判定する（ステップＳ３）。その後のステップは第２の実施例または第３の実施例と同様に実行される。
【００７３】
このように、前回の検出データを順次保持するＸ（Ｙ）前データ保持部と、前回の正負符号を順次保持するＸ（Ｙ）前符号変化保持部の他に、マウスの移動方向が連続して判定できなかった回数をカウントするＸ（Ｙ）不定カウンタや、データが変化しなかった回数をカウントする無変化カウンタを具えた演算部を用いることによって、第１の実施例では遂行できなかった機能を付加することが可能になり、一層機能を向上させたマウスコントローラを形成することができる。
【００７４】
【発明の効果】
以上、詳述したように本発明によれば、マウスの操作（移動）速度に基づく不定が発生しても不定の前後の変化でマウスの移動方向を推定し、不定分の移動量をカウントすることによりマウスの移動速度によるカウント不良を補正することができるため、パルス駆動されるロータリエンコーダセンサの出力データの検出時間間隔を長くしたときの追従性劣化（カウント不良）を改善することができて携帯型パソコンなどの低消費電力化を図ることができるといった産業上極めて有用な効果を発揮する。
【図面の簡単な説明】
【図１】  本発明になるマウスコントローラを示すブロック図である。
【図２】  本発明になるコントローラの動作を示すフローチャートである。
【図３】  本発明の第２の実施例を示すブロック図である。
【図４】  第２の実施例の動作を示すフローチャートである。
【図５】  本発明の第３の実施例を示すブロック図である。
【図６】  第３の実施例の動作を示すフローチャートである。
【図７】  第４の実施例の動作を示すフローチャートである。
【図８】  本発明の第５の実施例を示すブロック図である。
【図９】  第５の実施例の動作を示すフローチャートである。
【図１０】  本発明の第６の実施例を示すブロック図である。
【図１１】  第６の実施例の動作を示すフローチャートである。
【図１２】  従来のマウスコントローラを示すブロック図である。
【図１３】  パルス信号と検出周期との関係を示す図である。
【図１４】  検出データの変化を説明する図である。
【図１５】  従来の制御動作を示すフローチャートである。
【符号の説明】
１  ＭＰＵ
２  入力部
３  Ｘ（Ｙ）前データ保持部
４、41、42、43、44  演算部
５  Ｘ（Ｙ）データカウンタ
６  Ｘ（Ｙ）前符号変化保持部
７  インタフェース部
８  タイマ
９  Ｘ（Ｙ）不定カウンタ
10  センサ部
10x Ｘ方向検出部
10y Ｙ方向検出部
11  ホストコンピュータ
20  Ｘ（Ｙ）無変化カウンタ
【図１】
0003744674.tif 000002
【図２】
0003744674.tif 000003
【図３】
0003744674.tif 000004
【図４】
0003744674.tif 000005
【図５】
0003744674.tif 000006
【図６】
0003744674.tif 000007
【図７】
0003744674.tif 000008
【図８】
0003744674.tif 000009
【図９】
0003744674.tif 000010
【図１０】
0003744674.tif 000011
【図１１】
0003744674.tif 000012
【図１２】
0003744674.tif 000013
【図１３】
0003744674.tif 000014
【図１４】
0003744674.tif 000015
【図１５】
0003744674.tif 000016