JP2601944B2 - Pointing device counting method - Google Patents
Pointing device counting methodInfo
- Publication number
- JP2601944B2 JP2601944B2 JP2314190A JP31419090A JP2601944B2 JP 2601944 B2 JP2601944 B2 JP 2601944B2 JP 2314190 A JP2314190 A JP 2314190A JP 31419090 A JP31419090 A JP 31419090A JP 2601944 B2 JP2601944 B2 JP 2601944B2
- Authority
- JP
- Japan
- Prior art keywords
- mouse
- pointing device
- counting
- counting method
- phase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Position Input By Displaying (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマウスなどのポインティングデバイスの相対
移動を検出するためのカウント方法に関するものであ
る。Description: TECHNICAL FIELD The present invention relates to a counting method for detecting relative movement of a pointing device such as a mouse.
例えば、マウスは、パーソナルコンピュータ(以下、
パソコンという)の入力機器として用いられ、その構成
は第4図の如くである。すなわち、マウス1はパルス発
生機構としての回転センサ2a,2bのほか、2つのボタン
スイッチ3を備えている。回転センサ2a,2bは、任意方
向へ回転自在なボール4の外表面に摺接するローラの回
転軸に各々連結された2つのロータリーエンコーダから
なり、ボール4の回転に応じてロータリーエンコーダか
らパルス信号がX方向及びY方向の回転情報として出力
される。なお、ここではメカニカルな構成によるマウス
の例を示したが、この他、光学式のオプティカルマウス
などにも用いられている。For example, a mouse is a personal computer (hereinafter, referred to as a personal computer).
It is used as an input device of a personal computer (PC), and its configuration is as shown in FIG. That is, the mouse 1 includes two button switches 3 in addition to the rotation sensors 2a and 2b as a pulse generating mechanism. The rotation sensors 2a and 2b are each composed of two rotary encoders connected to a rotation shaft of a roller that slides on an outer surface of the ball 4 that is rotatable in an arbitrary direction. A pulse signal is output from the rotary encoder in accordance with the rotation of the ball 4. It is output as rotation information in the X and Y directions. Although an example of a mouse having a mechanical configuration is shown here, the mouse is also used for an optical optical mouse and the like.
回転センサ2a,2b及びボタンスイッチ3の出力信号
は、ケーブルを介してパソコンに伝送される。パソコン
本体5内にはマウス・インターフェース7が設けられて
おり、このマウス・インターフェース7によってマウス
1よりの各信号が取り込まれ、所定の信号形式に変換さ
れたのち、CPU(中央処理装置)6の求めに応じて読み
出される。Output signals of the rotation sensors 2a and 2b and the button switch 3 are transmitted to a personal computer via a cable. A mouse interface 7 is provided in the personal computer body 5, and each signal from the mouse 1 is taken in by the mouse interface 7 and converted into a predetermined signal format. Read as requested.
そして、マウス1の移動方向(すなわち、X方向及び
Y方向)の前後進に応じてパルス信号がロータリーエン
コーダから出力され、前後進の移動量が検出される。こ
の検出パルスをCPU6が一定時間ごとに割り込み(例え
ば、100μS)をかけながら読み込まれ、その移動値に
応じて画面上のカーソルを移動させる。これにより、キ
ーボード上のカーソルキーを操作する場合に比べ、図形
の処理などを容易かつ短時間に効率良く行うことができ
る。Then, a pulse signal is output from the rotary encoder in accordance with the forward / backward movement of the mouse 1 in the moving direction (ie, the X direction and the Y direction), and the forward / backward moving amount is detected. This detection pulse is read by the CPU 6 while interrupting (for example, 100 μS) at regular intervals, and the cursor on the screen is moved according to the movement value. As a result, processing of graphics can be performed easily and efficiently in a short time as compared with a case where a cursor key on a keyboard is operated.
マウスの移動量をカウントするに際しては、論理回路
を組んで行うハードウェア方式と、プログラムをCPUに
より実行させて行うソフトウェア方式とがある。ハード
ウェアによる場合、回路構成次第でカウント追従を高速
にとれる利点があるものの、構成が複雑化し、コストア
ップ及び装置の大型化を招く不具合がある。一方、ソフ
トウェア方式は、マウスのための専用の回路を一部省略
できるものの、マウス出力の取り込みをCPUの割り込み
により行うため、CPUの他の作業との兼ね合いからマウ
スのために利用できる時間には限りがある。このため、
マウスのための検出時間は、例えば、100μS間隔程度
にならざるをえない。When counting the amount of mouse movement, there are a hardware method in which a logic circuit is assembled and a software method in which a program is executed by a CPU. In the case of using hardware, although there is an advantage that the count following can be performed at high speed depending on the circuit configuration, there is a problem that the configuration is complicated, which increases the cost and the size of the apparatus. On the other hand, in the software method, although the dedicated circuit for the mouse can be partially omitted, since the mouse output is captured by the interrupt of the CPU, the time available for the mouse due to the balance with other work of the CPU There is a limit. For this reason,
The detection time for a mouse must be, for example, about 100 μS intervals.
通常、マウスは1m/秒の速度で操作され、これを常時
検出する必要がある。このため、割り込みによる検出時
間は100μS程度より遅くすることはできない。このた
め、ソフトウェアによるシリアル通信などのように、割
り込みによる処理の中断は行うことができない。Normally, the mouse is operated at a speed of 1 m / s, which needs to be constantly detected. For this reason, the detection time due to the interruption cannot be made shorter than about 100 μS. For this reason, processing cannot be interrupted by an interrupt as in serial communication by software.
一方、マウスの分解能は、従来、200CPI程度(タイマ
割り込み周期=100μS)であったが、最近では400CPI
程度が要求されている。しかし、このためにはタイマ割
り込み周期を50μSにする必要がある。ところが、前記
したように、割り込み周期を短縮することは他の処理に
与える影響が大きく、現実には短くすることができな
い。On the other hand, the resolution of the mouse was conventionally about 200 CPI (timer interrupt period = 100 μS), but recently, 400 CPI
Degree is required. However, for this purpose, the timer interrupt cycle needs to be 50 μS. However, as described above, shortening the interrupt cycle has a large effect on other processes, and cannot be shortened in practice.
ところで、カウント処理においては、マウス1からの
2相パルスXA(YA),XB(YB)を用い、その相対移動
(前の位置からの移動量)を検出する。通常、XA,XBの
一方が変化し、この一方についてカウントを行ってい
る。By the way, in the counting process, the relative movement (movement amount from the previous position) is detected by using the two-phase pulses XA (YA) and XB (YB) from the mouse 1. Normally, one of XA and XB changes, and counting is performed on this one.
第5図は従来のマウス出力に対するカウント処理を示
すフローチャートである。FIG. 5 is a flowchart showing a conventional count process for mouse output.
まず、今回のA相,B相の状態をマウス1から入力し
(ステップ21)、これと前回のA相,B相の状態とを比較
し(ステップ22)、その結果に変化(増減)があるか否
かを判定する(ステップ23)。+方向の変化が判定され
た場合(ステップ24)、カウンタを+1(ステップ25)
にする。First, the current A-phase and B-phase states are input from the mouse 1 (step 21), and these are compared with the previous A-phase and B-phase states (step 22). It is determined whether or not there is (step 23). When a change in the + direction is determined (step 24), the counter is incremented by +1 (step 25).
To
また、−方向の変化が判定された場合(ステップ2
6)、カウンタを−1(ステップ27)にする。そして、
変化有りが判定されながら+,−の方向の判定できなか
った場合、変化無しとして処理を終了する(ステップ2
8)。If a change in the negative direction is determined (step 2
6) The counter is set to -1 (step 27). And
If the direction of + or-cannot be determined while it is determined that there is a change, the process ends with no change (step 2).
8).
なお、この種の技術に関するものには、例えば、特開
昭60−181820、特開昭61−210418、特開昭62−139033、
特開昭62−198921及び特平1−185714などがある。Incidentally, those related to this type of technology, for example, JP-A-60-181820, JP-A-61-210418, JP-A-62-139033,
JP-A-62-198921 and JP-A-1-185714.
しかし、上記した従来技術にあっては、マウスが高速
に移動した場合、A,B相が共に変化し、タイマ割り込み
周期の期間中に2カウント以上のパルスが発生した場
合、正しいカウントを行うことができない。However, in the above-described conventional technology, when the mouse moves at a high speed, both the A and B phases change, and when a pulse of two or more counts is generated during the timer interrupt period, the correct count is performed. Can not.
すなわち、第3図のエラーカウント方式に示すよう
に、XA(YA),XB(YB)の発生周期が短くなるとカウン
ト値が±0となり、マウスが動いているにもかかわら
ず、パソコン側では停止と判断する不具合が生じる。That is, as shown in the error counting method of FIG. 3, when the generation cycle of XA (YA) and XB (YB) becomes short, the count value becomes ± 0, and the PC stops even though the mouse is moving. Is determined.
本発明の目的は、上記した従来技術の実情に鑑みてな
されたものであり、ポインティングデバイスを高速で動
作させてもカウント処理を正確に行えるようにしたポイ
ンティングデバイスのカウント方法を提供することにあ
る。SUMMARY OF THE INVENTION An object of the present invention is to provide a counting method for a pointing device that is capable of accurately performing a counting process even when the pointing device is operated at high speed, in view of the above-described circumstances of the related art. .
上記目的を達成するために、本発明は、移動方向及び
相対移動量を2相パルスの信号で出力するポインティン
グデバイスにおいて、2相の状態変化が同時に検出さ
れ、かつ移動方向を特定できないときに、前回の移動方
向に従ってスキップカウントを行っている。In order to achieve the above object, the present invention provides a pointing device that outputs a moving direction and a relative moving amount as a two-phase pulse signal, when two-phase state changes are simultaneously detected and the moving direction cannot be specified. The skip count is performed according to the previous moving direction.
上記した手段によれば、ポインティングデバイスの高
速移動に伴って2相の信号が同時に検出された場合、前
回の移動方向が用いられ、その方向に応じてスキップカ
ウントが行われる。したがって、ソフト的にタイマ割り
込みによる追従ができない状況であっても、移動中とし
てのカウント処理がなされるので、高速追従が可能にな
る。According to the above-described means, when two-phase signals are detected simultaneously with the high-speed movement of the pointing device, the previous movement direction is used, and skip counting is performed in accordance with the direction. Therefore, even in a situation where tracking by a timer interrupt cannot be performed by software, the counting process is performed while the vehicle is moving, so that high-speed tracking can be performed.
以下、本発明の実施例について図面を参照しながら説
明する。Hereinafter, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明によるポインティングデバイスのカウ
ント方法を示すフローチャートである。FIG. 1 is a flowchart showing a pointing device counting method according to the present invention.
まず、今回のA相,B相の移動検出値をマウス1から入
力し(ステップ11)、これと前回のA相,B相の移動検出
値(100μSだけ前の検出値)とを比較し(ステップ1
2)、その結果に変化があるか否かを判定する(ステッ
プ13)。判定の結果、+方向であれば(ステップ14)、
ソフトカウンタを+1にし(ステップ15)、+方向フラ
グをセット(ステップ16)して処理を終了する。First, the movement detection values of the current A-phase and B-phase are input from the mouse 1 (step 11), and this is compared with the previous movement detection values of the A- and B-phases (detected values 100 μS earlier) ( step 1
2) It is determined whether there is a change in the result (step 13). If the result of the determination is that it is in the + direction (step 14),
The soft counter is set to +1 (step 15), the + direction flag is set (step 16), and the process is terminated.
一方、+方向でない場合、−方向であるか否かを判定
する(ステップ17)。−方向であれば、カウンタを−1
にし(ステップ18)、−方向フラグをセット(ステップ
19)して処理を終了する。On the other hand, if it is not the + direction, it is determined whether it is the-direction (step 17). If the direction is negative, set the counter to
(Step 18), and set the -direction flag (Step 18).
19) and end the processing.
また、+,−いずれでもない場合には、前回移動方向
が+、−のどちらであったかを確認し(ステップ20)、
+方向であればカウンタを+2にし(ステップ21)、−
方向であればカウンタを−2にし(ステップ22)、処理
を終了する。If it is neither + nor-, it is checked whether the previous moving direction was + or-(step 20).
If it is in the + direction, the counter is set to +2 (step 21), and-
If so, the counter is set to -2 (step 22), and the process is terminated.
第2図は本発明によるカウント処理を示す説明図であ
り、第3図はスキップカウント方式のタイミングチャー
トである。FIG. 2 is an explanatory diagram showing the counting process according to the present invention, and FIG. 3 is a timing chart of the skip counting method.
第2図に示すように、各方向に対し、XA(YA),XB(Y
B)の0,1に対応する今回の状態は4通りあり(XB=0,XA
=0、XB=0,XA=1、XB=1,XA=0、XB=1,XA=1)、
これに対する検出値は+方向の場合は−1,0,+1,+2
(−方向の場合は、+1,0,−1,−2)の各4種類があ
る。As shown in FIG. 2, XA (YA), XB (Y
There are four states this time corresponding to 0 and 1 in (B) (XB = 0, XA
= 0, XB = 0, XA = 1, XB = 1, XA = 0, XB = 1, XA = 1),
The detection value for this is -1,0, + 1, + 2 in the + direction.
There are four types (+1, 0, -1, -2 in the case of-direction).
例えば、第3図に示すように、従来は10番目のサンプ
リングポイントで検出値が0になっていたのに対し、本
発明では第1図のステップ20の前回移動方向を見て、−
方向であることを確認し、カウント値を−2にする。こ
の結果、第3図のスキップカウント方式に示すように、
10番目のサンプリングポイントでの累積カウント値は0
になる(従来は+2)。したがって、従来は停止と判断
されたものが、本発明では−方向へ移動しているものと
して処理され、画面上でもカーソルは移動して表示され
る。For example, as shown in FIG. 3, conventionally, the detection value was 0 at the tenth sampling point, whereas in the present invention, the previous movement direction at step 20 in FIG.
Confirm the direction, and set the count value to -2. As a result, as shown in the skip count method of FIG.
The cumulative count value at the 10th sampling point is 0
(Conventionally +2). Therefore, what is conventionally determined to be stopped is processed as if it is moving in the minus direction in the present invention, and the cursor is moved and displayed on the screen.
以上より明らかな如く、本発明によれば、移動方向及
び相対移動量を2相パルスの信号で出力するポインティ
ングデバイスにおいて、2相の状態変化が同時に検出さ
れ、かつ移動方向を特定できないときに、前回の移動方
向に従ってスキップカウントを行っているので、タイマ
割り込みによる追従ができない状況であっても、移動中
としてカウント処理がなされるので、高速追従が可能に
なり、分解能を向上させることができる。As is clear from the above, according to the present invention, in a pointing device that outputs a moving direction and a relative moving amount as a two-phase pulse signal, when two-phase state changes are simultaneously detected and the moving direction cannot be specified, Since skip counting is performed in accordance with the previous moving direction, even in a situation where tracking by a timer interrupt cannot be performed, counting processing is performed during movement, so that high-speed tracking becomes possible and resolution can be improved.
第1図は本発明によるポインティングデバイスのカウン
ト方法を示すフローチャート、第2図は本発明によるカ
ウント処理を示す説明図、第3図は本発明のスキップカ
ウント方式のタイミングチャート及び従来のポインティ
ングデバイスのカウント方法を示すタイミングチャー
ト、第4図はマウスの構成例を示すブロック図、第5図
は従来のマウス出力に対するカウント処理を示すフロー
チャートである。 1……マウス、 2a,2b……回転センサ、 3……ボタンスイッチ、 4……ボール、 5……パーソナルコンピュータ、 6……CPU。FIG. 1 is a flowchart showing a counting method of a pointing device according to the present invention, FIG. 2 is an explanatory diagram showing a counting process according to the present invention, FIG. 3 is a timing chart of a skip counting method of the present invention and counting of a conventional pointing device. FIG. 4 is a block diagram showing a configuration example of a mouse, and FIG. 5 is a flowchart showing a conventional count process for mouse output. 1 ... mouse, 2a, 2b ... rotation sensor, 3 ... button switch, 4 ... ball, 5 ... personal computer, 6 ... CPU.
Claims (1)
号で出力するポインティングデバイスにおいて、2相の
信号が同時に検出され、かつ移動方向を特定できないと
きに、前回の移動方向に従ってスキップカウントを行う
ことを特徴とするポインティングデバイスのカウント方
法。1. A pointing device for outputting a moving direction and a relative moving amount as a two-phase pulse signal. When a two-phase signal is detected simultaneously and the moving direction cannot be specified, a skip count is performed according to the previous moving direction. A counting method of a pointing device, which is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2314190A JP2601944B2 (en) | 1990-11-21 | 1990-11-21 | Pointing device counting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2314190A JP2601944B2 (en) | 1990-11-21 | 1990-11-21 | Pointing device counting method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04186419A JPH04186419A (en) | 1992-07-03 |
JP2601944B2 true JP2601944B2 (en) | 1997-04-23 |
Family
ID=18050345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2314190A Expired - Fee Related JP2601944B2 (en) | 1990-11-21 | 1990-11-21 | Pointing device counting method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2601944B2 (en) |
-
1990
- 1990-11-21 JP JP2314190A patent/JP2601944B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04186419A (en) | 1992-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6466831B1 (en) | Three-dimensional data input device | |
JPH07104689B2 (en) | Pulse encoder | |
JP2601944B2 (en) | Pointing device counting method | |
JP3370845B2 (en) | Absolute encoder | |
JPH061279B2 (en) | Digital speed detector | |
JP4463533B2 (en) | Rotary encoder detection device | |
JP2597977B2 (en) | Reference point setting method for position detection circuit | |
JP3448664B2 (en) | Multi-turn absolute encoder | |
JPH0441388Y2 (en) | ||
JP4214590B2 (en) | Rotary encoder | |
JPH0612877B2 (en) | Divide pulse transmission circuit | |
JP2004139188A (en) | Input device and input signal processing method | |
JPH01196578A (en) | Apparatus for detecting stationary state of moving body | |
JP2997079B2 (en) | Coordinate input device | |
JPS61184409A (en) | Apparatus for detecting position of moving body | |
JPH0511459Y2 (en) | ||
JPS62248025A (en) | Rotary encoder signal controller | |
JPH02294708A (en) | Original point return system using serial transfer encoder | |
JPS63128226A (en) | Position detector | |
JPH01136019A (en) | Pulse encoder circuit | |
JPS63289416A (en) | Pulse encoder | |
JPH07167877A (en) | Method and apparatus for detecting displacing speed | |
JPS63257021A (en) | Pointing device | |
JP2001022415A (en) | Method and device for controlling positioning of machine tool | |
JPH0279787A (en) | Apparatus for detecting moving amount and moving speed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |