JP3042942B2 - Input event sharing control method - Google Patents

Input event sharing control method

Info

Publication number
JP3042942B2
JP3042942B2 JP5023040A JP2304093A JP3042942B2 JP 3042942 B2 JP3042942 B2 JP 3042942B2 JP 5023040 A JP5023040 A JP 5023040A JP 2304093 A JP2304093 A JP 2304093A JP 3042942 B2 JP3042942 B2 JP 3042942B2
Authority
JP
Japan
Prior art keywords
unit
terminal
button
state
input
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
Application number
JP5023040A
Other languages
Japanese (ja)
Other versions
JPH06243071A (en
Inventor
昌平 菅原
敦嗣 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5023040A priority Critical patent/JP3042942B2/en
Publication of JPH06243071A publication Critical patent/JPH06243071A/en
Application granted granted Critical
Publication of JP3042942B2 publication Critical patent/JP3042942B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、通信回線で接続された
複数の端末で計算機の表示画面および入力操作を共有
し、あたかも同一の場所で一台の端末を利用しているか
のような操作性を提供することにより、遠隔教授、遠隔
保守、小人数での共同設計などを効率的に実現するため
の入力イベント共有制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method in which a plurality of terminals connected by a communication line share a display screen and an input operation of a computer, and operate as if one terminal is used in the same place. The present invention relates to an input event sharing control method for efficiently realizing remote teaching, remote maintenance, collaborative design with a small number of people, etc., by providing responsiveness.

【0002】[0002]

【従来の技術】従来の共有画面等による共同作業では、
特定の利用者に入力操作権を与え、該当利用者が一連の
入力操作を完了した時点で、陽に次の操作権要求者に対
し入力権を与える、所謂フロアコントロール形式による
共有入力制御が用いられることが多かった。また入力操
作の管理を行わず、任意の時点で任意の端末から入力を
実行させる方法も使われている。
2. Description of the Related Art In a conventional joint work using a shared screen or the like,
The input operation right is given to a specific user, and when the corresponding user completes a series of input operations, the input right is explicitly given to the next requester of the operation right. Was often done. There is also used a method of executing input from an arbitrary terminal at an arbitrary time without managing the input operation.

【0003】状態を持つ入力操作を用いた例としては、
作図用ソフトウェアにおいて線分を記入する場合、一方
の端点の位置でマウスボタンを押し下げ、そのままマウ
スを移動させて他方の端点の位置でマウスボタンを解放
することにより、線分の両端点を確定する例が挙げられ
る。押下状態でのマウス座標の追跡は、端末からのマウ
スボタン押下イベント発生を契機としてアプリケーショ
ンよりマウス位置を連続して読み込むことで行ってい
る。
As an example using an input operation having a state,
When drawing a line segment in the drawing software, depress the mouse button at one end point, move the mouse as it is, and release the mouse button at the other end position to determine both end points of the line segment Examples are given. The tracking of the mouse coordinates in the pressed state is performed by continuously reading the mouse position from the application triggered by the occurrence of a mouse button pressing event from the terminal.

【0004】[0004]

【発明が解決しようとする課題】従来技術のフロアコン
トロールを用いた制御では、マウスのボタンを押し下げ
ながらの座標移動などの、状態を持つ入力の途中で、入
力操作を他の利用者と交替することが出来なかった。さ
らに、入力権を獲得して該当状態遷移を引き起こした端
末がなんらかの理由で通信等を継続できなくなると、入
力権を該当端末が保持したままの状態となり、アプリケ
ーションの実行がハングアップしてしまうという問題が
あった。また、入力操作の管理を行わない場合は、マウ
ス座標の追跡時に、他の参加者の端末のマウス状態を読
み込んでしまい、他の参加者の端末のマウスボタンが解
放状態になっているか、あるいは解放状態に移行する
と、マウスボタンが押下状態から解放状態に移行したと
判断され、アプリケーションが終了してしまうという問
題があった。
In the control using the floor control of the prior art, the input operation is exchanged with another user during an input having a state such as a coordinate movement while pressing a mouse button. I couldn't do that. Furthermore, if the terminal that acquired the input right and caused the relevant state transition cannot continue communication etc. for some reason, the input right will be retained by the corresponding terminal and the application execution will hang. There was a problem. If the input operation is not managed, the mouse state of another participant's terminal is read when tracking the mouse coordinates, and the mouse button of the other participant's terminal is released, or When transitioning to the released state, it is determined that the mouse button has transitioned from the pressed state to the released state, and the application ends.

【0005】本発明の目的は、共有画面等を用いた共同
作業において、ジョイスティックやマウスボタン押下状
態での座標更新入力などの入力操作を実行中に、端末間
で入力操作を交替することを可能とすることで、共同作
図や共同編集などの作業を効率よく実現しようとするこ
とにある。
[0005] It is an object of the present invention to enable input operations to be exchanged between terminals during execution of input operations such as coordinate update input when a joystick or a mouse button is pressed in a joint work using a shared screen or the like. By doing so, it is intended to efficiently realize work such as collaborative drafting and collaborative editing.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明では、1台の計算機上で実行するア
プリケーションに対し、複数の端末から同時に操作入力
を行うシステムにおいて、端末の状態変化イベント発生
に伴い、当該端末から到来する端末識別子及び状態変化
イベント・フラグを格納するバッファ部と、直前に状態
変化イベントの発生した端末の端末識別子を保持するレ
ジスタ部と前記バッファ部の端末識別子と前記レジスタ
部の端末識別子を比較する比較部と、前記バッファ部の
状態変化イベント・フラグが入力操作を示す時、前記比
較部の比較結果に関係なくセット状態をとり、前記バッ
ファの状態変化イベント・フラグが復旧操作を示す時、
前記比較部の比較結果が一致を示すとリセット状態とな
るカウンタ部と、前記アプリケーションに対し、前記カ
ウンタ部がセット状態になると入力操作を通知し、前記
カウンタ部がリセット状態になると復旧操作を通知する
処理部とを設けたことを特徴とする。
In order to achieve the above object, according to the first aspect of the present invention, there is provided a system for simultaneously inputting operations from a plurality of terminals to an application executed on one computer. With the occurrence of the state change event, a buffer unit for storing a terminal identifier and a state change event flag coming from the terminal, a register unit for holding the terminal identifier of the terminal in which the state change event has occurred immediately before, and a terminal of the buffer unit. A comparison unit for comparing an identifier with a terminal identifier of the register unit, and when the status change event flag of the buffer unit indicates an input operation, the comparison unit takes a set state irrespective of the comparison result, and changes the status of the buffer. When the event flag indicates a recovery operation,
A counter unit that is reset when the comparison result of the comparison unit indicates a match, and notifies the application of an input operation when the counter unit is set, and a recovery operation when the counter unit is reset, to the application. And a processing unit for performing the processing.

【0007】また、請求項2の発明では、1台の計算機
上で実行するアプリケーションに対し、複数の端末から
同時に操作入力を行うシステムにおいて、端末の状態変
化イベント発生に伴い、当該端末から到来する端末識別
子及び状態変化イベント・フラグを格納するバッファ部
と、直前に状態変化イベントの発生した端末の端末識別
子を保持するレジスタ部と前記バッファ部の端末識別子
と前記レジスタ部の端末識別子を比較する比較部と、前
記バッファ部の状態変化イベント・フラグが入力操作を
示し、且つ、前記比較部の比較結果が不一致を示すと、
カウントアップし、前記バッファ部の状態変化イベント
・フラグが復旧操作を示す時、前記比較部の比較結果に
関係なくカウントダウンするカウンタ部と、前記アプリ
ケーションに対し、前記カウンタ部のカウント値が1以
上になると入力操作を通知し、カウント値が0になると
復旧操作を通知する処理部とを設けたことを特徴とす
る。
According to a second aspect of the present invention, in a system in which an application to be executed on one computer is operated and input from a plurality of terminals at the same time, the application arrives from the terminal when a status change event of the terminal occurs. A buffer unit that stores a terminal identifier and a state change event flag, a register unit that holds a terminal identifier of a terminal in which a state change event has occurred immediately before, and a comparison that compares the terminal identifier of the buffer unit with the terminal identifier of the register unit. Unit, when the state change event flag of the buffer unit indicates an input operation, and the comparison result of the comparison unit indicates a mismatch,
A counter that counts up and counts down irrespective of the comparison result of the comparing unit when the status change event flag of the buffer unit indicates a recovery operation; and for the application, the count value of the counter unit is 1 or more. And a processing unit for notifying an input operation when the count value becomes zero and notifying a recovery operation when the count value becomes zero.

【0008】[0008]

【作用】請求項1の発明の入力イベント共有制御方式で
は、任意の端末(これを端末Aとする)よりマウス押し
下げイベントが発生したとき、レジスタ部に端末Aの識
別子を設定するとともに、カウンタ部をセットする。以
降、状態はボタン押下状態となる。端末Aがマウスボタ
ンを押し下げたまま座標を変更している間に、別の端末
(これを端末Bとする)がマウスボタンを押し下げる
と、レジスタ部には端末Bの識別子が設定される。ここ
で、端末Bがマウス座標の変更を開始し、端末Aがマウ
ス座標の操作をやめ、ボタンを解放したとき、状態回復
イベントが発生するが、レジスタ部の識別子が端末Bで
あるため、比較部の比較結果は不一致となって該当イベ
ントは無視され、端末Bがボタン押下状態での座標入力
を継続できる。逆に端末Bが先にボタンを解放した場合
は、比較部の比較結果は一致するため、その時点で状態
回復となる。レジスタ部に端末Bの識別子が設定されて
いる状態で、端末Aが強制的にボタン解放状態に移行し
たい場合は、一度ボタンを押し下げることでレジスタ部
の設定値を再びAの識別子に戻してからボタンを解放す
れば良い。
In the input event sharing control method according to the first aspect of the present invention, when a mouse pressing event occurs from an arbitrary terminal (hereinafter, referred to as a terminal A), the identifier of the terminal A is set in the register section and the counter section is set. Is set. Thereafter, the state is a button pressed state. If another terminal (this is referred to as terminal B) depresses the mouse button while terminal A changes the coordinates while holding down the mouse button, the identifier of terminal B is set in the register section. Here, when the terminal B starts changing the mouse coordinates and the terminal A stops operating the mouse coordinates and releases the button, a state recovery event occurs. However, since the identifier of the register unit is the terminal B, the comparison is performed. The result of the comparison does not match, the corresponding event is ignored, and the terminal B can continue to input coordinates while the button is pressed. Conversely, when the terminal B releases the button first, the comparison results of the comparison unit match, and the state is restored at that point. If the terminal A forcibly shifts to the button release state in a state where the identifier of the terminal B is set in the register unit, the set value of the register unit is returned to the identifier of the A again by depressing the button once. Just release the button.

【0009】このように、請求項1の発明の入力イベン
ト共有制御方式においては、任意の端末がマウスボタン
の押下状態での座標入力に参加し、最後に座標入力に参
加した端末がボタンを解放して、初めてボタン解放状態
となるが、なんらかの理由で最後にボタン押下入力を開
始した端末以外の端末から強制的にボタン解放状態に移
行したいときは、端末からマウスボタンのクリック動作
(連続した押し下げ/解放動作)を実行すれば良い。
As described above, in the input event sharing control method according to the first aspect of the present invention, an arbitrary terminal participates in coordinate input when the mouse button is pressed, and the terminal that participated in the coordinate input last releases the button. When the button is released for the first time, but for some reason you want to forcibly switch to the button released state from a terminal other than the terminal that initiated the last button press input, click the mouse button from the terminal (continuous pressing down). / Release operation).

【0010】請求項2の発明の入力イベント共有制御方
式では、任意の端末(これを端末Aとする)よりマウス
ボタン押し下げイベントが発生したとき、レジスタ部に
端末Aの識別子を設定するとともに、カウンタ部のカウ
ンタ値を1にセットする。以降、状態はボタン押下状態
となる。端末Aがマウスボタンを押し下げたまま座標を
変更している間に、別の端末(これを端末Bとする)が
マウスボタンを押し下げたとき、レジスタ部に端末Bの
識別子を設定し、カウンタ部のカウント値を2にする。
ここで、端末Bがマウス座標の変更を開始し、端末Aが
マウス座標の操作をやめ、ボタンを解放したとき、状態
回復イベントの発生によりカウンタ部のカウント値は1
となり、続いて端末Bがボタンを解放すると、カウンタ
部のカウント値は0になり、状態はボタン解放状態とな
る。端末Bが端末Aより先にボタンを解放したときも同
様にして、端末Aがボタンを解放した時点で、初めて状
態はボタン解放状態となる。すなわち、端末AおよびB
の任意の端末がマウスボタン押下状態での座標移動を実
行でき、両者がボタンを解放したとき初めてマウスボタ
ンが解放される。ここで、端末AおよびBがボタン押下
中(レジスタ=B、カウンタ=2)に端末Aが強制的に
ボタンを解放状態にしたい場合(例えば端末Bとの通信
路が突然切断されたとき)は、端末Aが一度マウスボタ
ンを解放し(レジスタ=B、カウンタ=1)、再度マウ
スボタンを押し下げ(レジスタ=A、カウンタ=2)、
続けて解放する(レジスタ=A、カウンタ=1)。もう
一度端末Aがマウスボタンを押し下げとき、すでにレジ
スタ部の端末識別子がAであり、カウンタは増加しない
ため、レジスタ=A、カウンタ=1となり、続けて解放
すると、レジスタ=A、カウンタ=0となり、状態はボ
タン解放状態になる。
In the input event sharing control method according to the second aspect of the present invention, when a mouse button down event occurs from an arbitrary terminal (this is referred to as terminal A), the identifier of the terminal A is set in the register section and the counter is set. The counter value of the section is set to 1. Thereafter, the state is a button pressed state. When another terminal (this is referred to as terminal B) presses the mouse button while terminal A changes the coordinates while holding down the mouse button, the identifier of terminal B is set in the register section, and the counter section is set. Is set to 2.
Here, when the terminal B starts changing the mouse coordinates, the terminal A stops operating the mouse coordinates, and releases the button, the count value of the counter unit becomes 1 due to the occurrence of the state recovery event.
Then, when the terminal B releases the button, the count value of the counter unit becomes 0, and the state becomes the button released state. Similarly, when the terminal B releases the button before the terminal A, the state becomes the button released state only when the terminal A releases the button. That is, terminals A and B
Can execute coordinate movement with the mouse button pressed down, and the mouse button is released only when both release the button. Here, when the terminal A wants to forcibly release the button while the terminals A and B are pressing the button (register = B, counter = 2) (for example, when the communication path with the terminal B is suddenly disconnected) Terminal A releases the mouse button once (register = B, counter = 1) and depresses the mouse button again (register = A, counter = 2),
Then release (register = A, counter = 1). When the terminal A depresses the mouse button again, the terminal identifier of the register section is already A, and the counter does not increase. Therefore, the register is set to A, the counter is set to 1, and when released continuously, the register is set to A, the counter is set to 0, The state becomes the button released state.

【0011】このように、請求項2の発明の入力イベン
ト共有制御方式においては、任意の端末がマウスボタン
の押下状態での座標入力に参加し、全端末がボタンを解
放して初めてボタン解放状態となるが、なんらかの理由
でボタン押下状態の端末がいるにもかかわらず強制的に
ボタン解放状態に移行したいときは、任意の端末からマ
ウスボタンの連続したクリック動作を実行すれば良い。
As described above, in the input event sharing control method according to the second aspect of the present invention, an arbitrary terminal participates in coordinate input when the mouse button is pressed, and the button is released only when all terminals release the button. However, if for some reason it is desired to forcibly shift to the button released state despite the presence of a terminal in the button pressed state, a continuous clicking operation of the mouse button may be executed from any terminal.

【0012】[0012]

【実施例】以下、本発明の一実施例について図面により
説明する。
An embodiment of the present invention will be described below with reference to the drawings.

【0013】図1は本発明の第一の実施例の構成図を示
す。図において、100は入力を要求するアプリケーシ
ョンプロセス、110は本実施例の中心をなす入力イベ
ント共有制御部、120は各端末(図示せず)から入力
信号を受信する端末インタフェース部、130は入力イ
ベント共有制御部110からアプリケーションプロセス
100へ伝えられる入力割込み信号、140は端末イン
タフェース部120から入力イベント共有制御部110
へ伝えられる入力割込み信号である。
FIG. 1 is a block diagram of a first embodiment of the present invention. In the figure, 100 is an application process requesting an input, 110 is an input event sharing control unit which is the center of this embodiment, 120 is a terminal interface unit for receiving an input signal from each terminal (not shown), and 130 is an input event An input interrupt signal 140 transmitted from the sharing control unit 110 to the application process 100 is input from the terminal interface unit 120 to the input event sharing control unit 110.
This is an input interrupt signal transmitted to.

【0014】入力イベント共有制御部110は、端末イ
ンタフェース部120から入力される端末の識別子およ
びボタン状態を示すフラグが収容される通信バッファ1
11、現在ボタン押下中の端末の識別子が設定されるレ
ジスタ部112、通信バッファ111の端末識別子とレ
ジスタ部112の端末識別子とを比較する比較部11
3、ボタン押下/解放状態を示すカウンタ部114、及
び、これらの各部の動作を制御すると共に、イベントの
状態変化をアプリケーションプロセス100に通知する
プロセッサ部115からなる。
The input event sharing control unit 110 is a communication buffer 1 that stores a terminal identifier input from the terminal interface unit 120 and a flag indicating a button state.
11, a register unit 112 in which the identifier of the terminal whose button is currently pressed is set, and a comparing unit 11 for comparing the terminal identifier of the communication buffer 111 with the terminal identifier of the register unit 112
3, a counter unit 114 that indicates a button pressed / released state, and a processor unit 115 that controls the operation of each of these units and notifies the application process 100 of a change in the state of an event.

【0015】図2は第一の実施例の状態遷移図であり、
これに従って図1の動作を説明する。
FIG. 2 is a state transition diagram of the first embodiment.
The operation of FIG. 1 will be described accordingly.

【0016】いま、入力イベント共有制御部110のレ
ジスタ部112とカウンタ部114は両方ともリセット
(偽)され、ボタン解放状態にあるとする(201)。
任意の端末でマウス押し下げイベントが発生し、該端末
より入力信号が端末インタフェース部120に到来する
と、入力割込信号140が入力イベント共有制御部11
0に伝えられる。入力イベント共有制御部110のプロ
セッサ部115は、入力割込信号140を受け取ると、
端末インタフェース部120より端末の識別子およびボ
タン状態フラグを通信バッファ111に読み込み、それ
ぞれ信号線116,117に出力する。
Now, it is assumed that both the register unit 112 and the counter unit 114 of the input event sharing control unit 110 are reset (false) and are in the button released state (201).
When a mouse press event occurs at any terminal and an input signal arrives at the terminal interface unit 120 from the terminal, the input interrupt signal 140 is transmitted to the input event sharing control unit 11.
Informed to 0. When the processor 115 of the input event sharing controller 110 receives the input interrupt signal 140,
The terminal identifier and the button status flag are read from the terminal interface unit 120 into the communication buffer 111 and output to the signal lines 116 and 117, respectively.

【0017】ここで、信号線117上の入力されたボタ
ン状態フラグがボタン押下イベントの時、カウンタ部1
14がリセット(偽)状態にあると、プロセッサ部11
5は、アプリケーションプロセス100に対し、入力割
込信号130としてボタン押下イベントを通知する(2
10)。同時に、プロセッサ部115は、信号線116
の端末識別子をレジスタ部112に設定し、信号線11
7のボタン状態フラグをカウンタ部114に送る。カウ
ンタ部114では、リセット状態の時、ボタン押下イベ
ントを示すボタン状態フラグが送られてくると、セット
状態(真)にかわる。即ち、状態はボタン押下状態とな
る(202)。
Here, when the input button state flag on the signal line 117 is a button press event, the counter 1
14 is in the reset (false) state, the processor unit 11
5 notifies the application process 100 of the button press event as the input interrupt signal 130 (2
10). At the same time, the processor unit 115
Is set in the register unit 112, and the signal line 11
7 is sent to the counter unit 114. In the reset state, the counter unit 114 changes to the set state (true) when a button state flag indicating a button press event is sent. That is, the state is a button pressed state (202).

【0018】以後、端末より入力信号が端末インタフェ
ース部120に到来すると、プロセッサ部115は、そ
の端末の識別子およびボタン状態フラグを通信バッファ
111に読み込み、この入力された端末識別子を信号線
116を介してレジスタ部112に設定するとともに、
レジスタ部112にそれまで設定されていた現在ボタン
押下中の端末の識別子を信号線118を介して比較部1
13に送り、入力されたボタン状態フラグは信号線11
7を介してカウンタ部114に送る。比較部113で
は、信号線116と118の端末識別子を比較し、一致
していれば真、一致していなければ偽の比較結果を信号
線119を介してカウンタ部114に送る。カウンタ部
114では、信号線117上の入力されたボタン状態フ
ラグがボタン押下イベントの場合、比較部113の比較
結果が真あるいは偽にかかわらず、セット状態(ボタン
押下状態)を維持する(203,204)。ただし、比
較部113の比較結果が偽の場合、レジスタ部112の
端末識別子は、後に入力された別の端末の識別子とな
る。
Thereafter, when an input signal from the terminal arrives at the terminal interface unit 120, the processor unit 115 reads the identifier of the terminal and the button status flag into the communication buffer 111, and transfers the input terminal identifier via the signal line 116. To the register 112,
The identifier of the terminal whose button is currently pressed down, which has been set in the register unit 112, is compared via the signal line 118 to the comparison unit 1.
13 and the input button state flag is
7 to the counter unit 114. The comparison unit 113 compares the terminal identifiers of the signal lines 116 and 118, and sends a true comparison result to the counter unit 114 via the signal line 119 if they match, and a false comparison result if they do not match. When the input button state flag on the signal line 117 is a button pressing event, the counter unit 114 maintains the set state (button pressing state) regardless of whether the comparison result of the comparing unit 113 is true or false (203, 203). 204). However, when the comparison result of the comparing unit 113 is false, the terminal identifier of the register unit 112 is the identifier of another terminal input later.

【0019】次に、このボタン押下状態の時、信号線1
17上の入力されたボタン状態フラグがボタン解放イベ
ントを示し、比較部113の比較結果が真の場合、カウ
ンタ部114はリセット状態(偽)にかわる(20
5)。これを受けて、プロセッサ部115は、アプリケ
ーションプロセス100に対し、入力割込信号130と
してボタン解放イベントを通知し(220)、レジスタ
部112をリセットする。これでボタン解放状態に戻る
(201)。その後、端末から入力信号が到来し、該端
末入力のボタン状態フラグがボタン解放イベントを示す
間、ボタン解放状態にとどまる(206)。
Next, when this button is pressed, the signal line 1
When the input button state flag on the button 17 indicates a button release event, and the comparison result of the comparison unit 113 is true, the counter unit 114 changes to the reset state (false) (20).
5). In response, the processor unit 115 notifies the application process 100 of the button release event as the input interrupt signal 130 (220), and resets the register unit 112. This returns to the button released state (201). Thereafter, the terminal stays in the button released state while an input signal arrives from the terminal and the button state flag of the terminal input indicates a button released event (206).

【0020】以上により、第一の実施例においては、最
後にボタン押し下げ状態での入力を実行した端末がボタ
ン解放状態へ移行する権利を持つ。さらに、本実施例の
動作では、マウスのボタンが解放状態/押し下げ状態の
間を変化するイベント自体は伝えられなくても、座標入
力時にボタン解放状態/ボタン押し下げ状態を示すフラ
グが与えられれば良いため、端末の割込み処理部でボタ
ン状態変化を検出できない場合も適用できる。
As described above, in the first embodiment, the terminal that last executed the input in the button pressed state has the right to shift to the button released state. Further, in the operation of the present embodiment, even if the event that the mouse button changes between the released state and the pressed state is not transmitted, a flag indicating the button released state or the button pressed state may be given at the time of inputting the coordinates. Therefore, the present invention can be applied to a case where a change in the button state cannot be detected by the interrupt processing unit of the terminal.

【0021】図3は本発明の第二の実施例の構成図を示
す。図において、300は入力を要求するアプリケーシ
ョンプロセス、310は本実施例の中心をなす入力イベ
ント共有制御部、320は各端末(図示せず)から入力
信号を受信する端末インタフェース部、330は入力イ
ベント共有制御部310からアプリケーションプロセス
300へ伝えられる入力割込み信号、340は端末イン
タフェース部320から入力イベント共有制御部310
へ伝えられる入力割込み信号である。
FIG. 3 shows a block diagram of a second embodiment of the present invention. In the figure, reference numeral 300 denotes an application process requesting an input, 310 denotes an input event sharing control unit which is the center of the present embodiment, 320 denotes a terminal interface unit that receives an input signal from each terminal (not shown), and 330 denotes an input event. An input interrupt signal 340 transmitted from the sharing control unit 310 to the application process 300 is transmitted from the terminal interface unit 320 to the input event sharing control unit 310.
This is an input interrupt signal transmitted to.

【0022】入力イベント共有制御部310の構成は、
図1の第一の実施例と基本的に同じであるが、カウンタ
部314の動作が異なる。即ち、図1のカウンタ部11
4はセットかリセットかのいずれかであったが、図3の
カウンタ部314ではボタン押し下げなどの状態遷移の
回数をカウントする。プロセッサ部315は、カウンタ
部314がリセット状態のときボタン解放状態と判定
し、1以上の値(ここではnとする)をとるときボタン
押下状態と判定する。
The configuration of the input event sharing control unit 310 is as follows.
Although the operation is basically the same as that of the first embodiment shown in FIG. 1, the operation of the counter unit 314 is different. That is, the counter unit 11 of FIG.
4 is either set or reset, the counter unit 314 in FIG. 3 counts the number of state transitions such as button presses. The processor unit 315 determines that the button is released when the counter unit 314 is in the reset state, and determines that the button is pressed when the counter unit 314 takes a value of 1 or more (here, n).

【0023】図4は第二の実施例の状態遷移図であり、
これに従って図3の動作を説明する。
FIG. 4 is a state transition diagram of the second embodiment.
The operation of FIG. 3 will be described accordingly.

【0024】いま、入力イベント共有制御部310のレ
ジスタ部312とカウンタ部314は両方ともリセット
(偽)され、ボタン解放状態にあるとする(401)。
任意の端末でマウス押し下げイベントが発生し、該端末
より入力信号が端末インタフェース部320に到来する
と、入力割込信号340が入力イベント共有制御部31
0に伝えられる。入力イベント共有制御部310のプロ
セッサ部315は、入力割込信号340を受け取ると、
端末インタフェース部320より端末の識別子およびボ
タン状態フラグを通信バッファ311に読み込み、それ
ぞれ信号線316,317に出力する。
Now, it is assumed that both the register section 312 and the counter section 314 of the input event sharing control section 310 are reset (false) and are in the button released state (401).
When a mouse down event occurs at any terminal and an input signal arrives at the terminal interface unit 320 from the terminal, the input interrupt signal 340 is transmitted to the input event sharing control unit 31.
Informed to 0. When receiving the input interrupt signal 340, the processor unit 315 of the input event sharing control unit 310
The terminal identifier and the button state flag are read from the terminal interface unit 320 into the communication buffer 311 and output to the signal lines 316 and 317, respectively.

【0025】ここで、信号線317上の入力されたボタ
ン状態フラグがボタン押下イベントの時、カウンタ部3
14がリセット(偽)状態にあると、プロセッサ部31
5は、アプリケーションプロセス300に対し、入力割
込信号330としてボタン押下イベントを通知する(4
10)。同時に、プロセッサ部315は、信号線316
の端末識別子をレジスタ部312に設定し、信号線31
7のボタン状態フラグをカウンタ部314に送る。カウ
ンタ部314では、リセット状態の時、ボタン押下状態
を示すボタン状態フラグが送られてくると、カウント値
(n)を1にする(402)。即ち、状態はボタン押下
状態となる(403)。
Here, when the input button state flag on the signal line 317 is a button press event, the counter unit 3
14 is in the reset (false) state, the processor unit 31
5 notifies the application process 300 of the button press event as the input interrupt signal 330 (4
10). At the same time, the processor unit 315
Is set in the register unit 312, and the signal line 31
7 is sent to the counter unit 314. In the reset state, the counter unit 314 sets the count value (n) to 1 when a button state flag indicating a button pressed state is sent (402). That is, the state becomes the button pressed state (403).

【0026】以後、端末より入力信号が端末インタフェ
ース部320に到来すると、プロセッサ部315は、そ
の端末の識別子およびボタン状態フラグを通信バッファ
311に読み込み、この入力された端末識別子を信号線
316を介してレジスタ部312に設定するとともに、
レジスタ部312にそれまで設定されていた現在ボタン
押下中の端末の識別子を信号線318を介して比較部3
13に送り、入力されたボタン状態フラグは信号線31
7を介してカウンタ部314に送る。比較部313で
は、信号線316と318の端末識別子を比較し、一致
していれば真、一致していなければ偽の比較結果を信号
線319を介してカウンタ部314に送る。カウンタ部
314は、信号線317のボタン状態フラグと信号線3
19の比較結果に従い、以下の如く動作する。即ち、ボ
タン状態フラグがボタン押下イベントであり、かつ、比
較結果が真の時、カウント値(n)を増加も減少もしな
い(404)。ボタン状態フラグがボタン押下イベント
であり、かつ、比較結果が偽の時、カウンタ値(n)を
1増加させる(405)。ボタン状態フラグがボタン解
放イベントの時は、カウント値(n)が2以上であると
(n>1)、比較結果に関係なく、カウント値を1減少
させる(406)。これらのいずれの場合も、動作後の
カウンタ部114は、そのカウント値が少なくとも1あ
るいはそれ以上の値を示すため、状態はボタン押下状態
のままである。
Thereafter, when an input signal from the terminal arrives at the terminal interface unit 320, the processor unit 315 reads the identifier of the terminal and the button status flag into the communication buffer 311 and transmits the input terminal identifier via the signal line 316. To the register section 312
The identifier of the terminal whose button is currently depressed, which has been set in the register unit 312, is compared via the signal line 318 to the comparison unit 3.
13 and the input button state flag is signal line 31
7 to the counter section 314. The comparing unit 313 compares the terminal identifiers of the signal lines 316 and 318, and sends a true comparison result to the counter unit 314 via the signal line 319 if they match, and a false result if they do not match. The counter unit 314 includes the button state flag of the signal line 317 and the signal line 3.
According to the 19 comparison results, the operation is performed as follows. That is, when the button state flag is a button press event and the comparison result is true, the count value (n) is neither increased nor decreased (404). When the button state flag is a button press event and the comparison result is false, the counter value (n) is increased by 1 (405). When the button state flag is a button release event, if the count value (n) is 2 or more (n> 1), the count value is decreased by 1 regardless of the comparison result (406). In any of these cases, the state of the counter unit 114 after the operation remains the button pressed state because the count value indicates at least one or more values.

【0027】その後、このボタン押下状態にある時、任
意の端末から入力信号を受信し、そのボタン状態フラグ
がボタン解放イベントを示し、そのときカウンタ部31
4のカウント値が1であると(n=1)、1減少して0
(リセット状態)となる(407)。これを受けて、プ
ロセッサ部315は、アプリケーションプロセス300
に対し、入力割込信号330としてボタン解放イベント
を通知し(420)、レジスタ部312をリセットす
る。即ち、状態がボタン解放状態に戻る(401)。
Thereafter, when the button is in the pressed state, an input signal is received from an arbitrary terminal, and the button state flag indicates a button release event.
If the count value of 4 is 1 (n = 1), it is decreased by 1 to 0
(Reset state) (407). In response to this, the processor unit 315 sets the application process 300
In response, a button release event is notified as an input interrupt signal 330 (420), and the register unit 312 is reset. That is, the state returns to the button released state (401).

【0028】以上、第二の実施例においては、ボタン押
し下げ状態での入力を実行した全端末がボタン解放状態
へ移行すると、はじめてボタン解放状態になる。なお、
本実施例の動作では、マウスのボタンが解放状態/押し
下げ状態の間を変化するイベント自体が伝えられる必要
がある。
As described above, in the second embodiment, the button is released only when all the terminals that have executed the input in the button depressed state shift to the button released state. In addition,
In the operation of the present embodiment, the event itself that the mouse button changes between the released state and the pressed state needs to be transmitted.

【0029】[0029]

【発明の効果】以上説明したように、本発明の入力イベ
ント共有制御方式によれば、共有画面等を用いながら複
数端末より同一のアプリケーションを操作する場合に、
ジョイスティックやマウスボタンを押しながらの座標入
力などの入力操作を、複数端末の間で受け渡しすること
が出来るため、協同作図や協同編集等を効率的に実行で
きる。
As described above, according to the input event sharing control method of the present invention, when operating the same application from a plurality of terminals while using a shared screen or the like,
Since input operations such as coordinate input while pressing a joystick or a mouse button can be transferred between a plurality of terminals, collaborative drawing and collaborative editing can be efficiently executed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第一の実施例の構成図である。FIG. 1 is a configuration diagram of a first embodiment of the present invention.

【図2】図1の動作を説明するための状態遷移図であ
る。
FIG. 2 is a state transition diagram for explaining the operation of FIG.

【図3】本発明の第二の実施例の構成図である。FIG. 3 is a configuration diagram of a second embodiment of the present invention.

【図4】図3の動作を説明するための状態遷移図であ
る。
FIG. 4 is a state transition diagram for explaining the operation of FIG. 3;

【符号の説明】[Explanation of symbols]

100,300 アプリケーションプロセス 110,310 入力イベント共有制御部 111,311 通信バッファ 112,312 レジスタ部 113,313 比較部 114,314 カウンタ部 115,315 プロセッサ部 120,320 端末インタフェース部 100, 300 application process 110, 310 input event sharing control unit 111, 311 communication buffer 112, 312 register unit 113, 313 comparison unit 114, 314 counter unit 115, 315 processor unit 120, 320 terminal interface unit

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 G06F 3/00 G06F 15/00 H04N 7/15 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G06F 13/00 G06F 3/00 G06F 15/00 H04N 7/15

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 1台の計算機上で実行するアプリケーシ
ョンに対し、複数の端末から同時に操作入力を行うシス
テムにおいて、 端末の状態変化イベント発生に伴い、当該端末から到来
する端末識別子及び状態変化イベント・フラグを格納す
るバッファ部と、 直前に状態変化イベントの発生した端末の端末識別子を
保持するレジスタ部と、 前記バッファ部の端末識別子と前記レジスタ部の端末識
別子を比較する比較部と、 前記バッファ部の状態変化イベント・フラグが入力操作
を示す時、前記比較部の比較結果に関係なくセット状態
をとり、前記バッファの状態変化イベント・フラグが復
旧操作を示す時、前記比較部の比較結果が一致を示すと
リセット状態となるカウンタ部と、 前記アプリケーションに対し、前記カウンタ部がセット
状態になると入力操作を通知し、前記カウンタ部がリセ
ット状態になると復旧操作を通知する処理部と、を設け
たことを特徴とする入力イベント共有制御方式。
In a system for simultaneously inputting an operation from a plurality of terminals to an application executed on one computer, a terminal identifier and a state change event coming from the terminal are generated when a terminal state change event occurs. A buffer unit for storing a flag, a register unit for holding a terminal identifier of a terminal in which a state change event has occurred immediately before, a comparing unit for comparing a terminal identifier of the buffer unit with a terminal identifier of the register unit, and the buffer unit When the status change event flag of the buffer indicates an input operation, the comparator takes a set state regardless of the comparison result, and when the status change event flag of the buffer indicates a recovery operation, the comparison result of the comparator matches. And a counter unit that is in a reset state when indicating that the counter unit is in a set state for the application. That the notified input operation, the input event sharing control scheme in which the counter unit is characterized by comprising a processing unit for notifying the recovery operations and in the reset state, the.
【請求項2】 1台の計算機上で実行するアプリケーシ
ョンに対し、複数の端末から同時に操作入力を行うシス
テムにおいて、 端末の状態変化イベント発生に伴い、当該端末から到来
する端末識別子及び状態変化イベント・フラグを格納す
るバッファ部と、 直前に状態変化イベントの発生した端末の端末識別子を
保持するレジスタ部と、 前記バッファ部の端末識別子と前記レジスタ部の端末識
別子を比較する比較部と、 前記バッファ部の状態変化イベント・フラグが入力操作
を示し、且つ、前記比較部の比較結果が不一致を示す
と、カウントアップし、前記バッファ部の状態変化イベ
ント・フラグが復旧操作を示す時、前記比較部の比較結
果に関係なくカウントダウンするカウンタ部と、 前記アプリケーションに対し、前記カウンタ部のカウン
ト値が1以上になると入力操作を通知し、カウント値が
0になると復旧操作を通知する処理部と、を設けたこと
を特徴とする入力イベント共有制御方式。
2. A system for simultaneously inputting operations from a plurality of terminals to an application executed on one computer, wherein a terminal identifier and a state change event coming from the terminal are generated in response to the occurrence of a terminal state change event. A buffer unit for storing a flag, a register unit for holding a terminal identifier of a terminal in which a state change event has occurred immediately before, a comparing unit for comparing a terminal identifier of the buffer unit with a terminal identifier of the register unit, and the buffer unit When the status change event flag of the comparison unit indicates an input operation and the comparison result of the comparison unit indicates inconsistency, the count is incremented. When the status change event flag of the buffer unit indicates a recovery operation, A counter unit that counts down regardless of the comparison result; Cement value notifies the input operation to become 1 or more, the input event sharing control method according to the count value becomes 0 and the processing unit for notifying the recovery operation, characterized in that the provided.
JP5023040A 1993-02-10 1993-02-10 Input event sharing control method Expired - Fee Related JP3042942B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5023040A JP3042942B2 (en) 1993-02-10 1993-02-10 Input event sharing control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5023040A JP3042942B2 (en) 1993-02-10 1993-02-10 Input event sharing control method

Publications (2)

Publication Number Publication Date
JPH06243071A JPH06243071A (en) 1994-09-02
JP3042942B2 true JP3042942B2 (en) 2000-05-22

Family

ID=12099353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5023040A Expired - Fee Related JP3042942B2 (en) 1993-02-10 1993-02-10 Input event sharing control method

Country Status (1)

Country Link
JP (1) JP3042942B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190411A (en) * 1996-01-12 1997-07-22 Nec Corp Operation right linking system and cooperation work system in shared application program
KR20040079341A (en) * 2004-04-28 2004-09-14 (주)신엠 Screen sharing method and service method thereof

Also Published As

Publication number Publication date
JPH06243071A (en) 1994-09-02

Similar Documents

Publication Publication Date Title
JP2957938B2 (en) Window control system
US6842795B2 (en) Methods and apparatus for shifting focus between multiple devices
JP2739042B2 (en) System and method for supporting teleconferencing
US20220027117A1 (en) Screen projection processing method and device
JP2002091914A (en) Terminal device for computer network and method for recording operation history
JPH07210508A (en) Information processing system
KR100611255B1 (en) Remote conference method of sharing work space
GB2272084A (en) Distributed computer system
CN104202637A (en) Key remote control and target dragging method
JP3042942B2 (en) Input event sharing control method
JPH04328627A (en) Cursor display method
JP3051021B2 (en) Operation input device
US5925096A (en) Method and apparatus for localized preemption in an otherwise synchronous, non-preemptive computing environment
JP2768052B2 (en) Group work system and group work individual work simultaneous execution system
JP3939365B2 (en) Information processing apparatus and method
JP3371436B2 (en) Screen display control method
JP3327633B2 (en) Display control device
JPH11272421A (en) Touch panel display
JPH10105365A (en) Communication terminal equipment, server device, cooperative operation system and pointer display control method
JP2022176797A (en) Electronic apparatus and method for controlling the same, and remote control system
JPH05108783A (en) Plural pointers information transmission system
JPH02157922A (en) Man machine interface device
JPH0283744A (en) Double system synchronizing processing method
JPS61194559A (en) Simultaneous use control unit for interactive processing
CN112269630A (en) Keyboard and mouse sharing system of virtual machine

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees