JPH0773144A - Display communication relay method - Google Patents
Display communication relay methodInfo
- Publication number
- JPH0773144A JPH0773144A JP5220358A JP22035893A JPH0773144A JP H0773144 A JPH0773144 A JP H0773144A JP 5220358 A JP5220358 A JP 5220358A JP 22035893 A JP22035893 A JP 22035893A JP H0773144 A JPH0773144 A JP H0773144A
- Authority
- JP
- Japan
- Prior art keywords
- program
- input event
- input
- application program
- display
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はワークステーションや、
パーソナルコンピュータのディスプレイ上に画面を表示
する表示用通信中継方法に関する。The present invention relates to a workstation,
The present invention relates to a display communication relay method for displaying a screen on a display of a personal computer.
【0002】[0002]
【従来の技術】キーボードやマウスといった入力装置
と、ビットマップ・ディスプレイのような出力装置とを
制御するためのウィンドウ・サーバープログラムと、ア
プリケーションプログラムとが通信する形態のウィンド
ウシステムとして、Xウィンドウシステム(米国マサチ
ューセッツ工科大学の商標)、Open Windowsシステム
(米国Sun Microsystems Inc. の商標)が従来からよく
知られている。これらのウィンドウ・サーバープログラ
ムは、入力装置からの入力をイベントとして処理する入
力イベント送信プログラムと、アプリケーション・プロ
グラムからの表示出力要求に基づいて、出力装置を制御
する出力要求処理プログラムとを備えている。(例え
ば、O.Jones:Introduction to the X Window System,Pr
entice-Hall(1989) (西村(監訳):X Windowハンドブ
ック、アスキー出版(1990)参照)。2. Description of the Related Art As a window system in which an input device such as a keyboard or a mouse and a window server program for controlling an output device such as a bitmap display and an application program communicate with each other, an X window system ( The Open Windows system (trademark of Sun Microsystems Inc. in the United States) and the Massachusetts Institute of Technology (US) are well known. These window server programs include an input event transmission program that processes input from an input device as an event and an output request processing program that controls an output device based on a display output request from an application program. . (For example, O. Jones: Introduction to the X Window System, Pr
entice-Hall (1989) (Nishimura (translated): X Window Handbook, see ASCII Publishing (1990)).
【0003】[0003]
【発明が解決しようとする課題】このXウィンドウシス
テムのようなウィンドウシステムでは、ウィンドウ・サ
ーバープログラムとアプリケーションプログラムとの間
の通信量を減らすために、アプリケーションプログラム
が必要とする入力イベントを予めウィンドウ・サーバー
プログラムに要求し、ウィンドウ・サーバープログラム
の入力イベント送信プログラムはそのアプリケーション
プログラムが必要とする入力イベントのみを送信する。In a window system such as the X window system, in order to reduce the amount of communication between the window server program and the application program, an input event required by the application program is pre-selected as a window. Requests to the server program, and the window server program's input event sending program sends only the input events required by the application program.
【0004】したがって、例えばアプリケーションプロ
グラムが、マウスの移動についての入力イベントをウィ
ンドウ・サーバープログラムに要求しない場合、アプリ
ケーションプログラムの表示ウィンドウ上に、マウスの
移動イベントに基づいて、書き込みを行ったりポインタ
を表示したりといった重ね書きをすることはできなかっ
た。Therefore, for example, when the application program does not request the window server program for an input event regarding the movement of the mouse, writing or a pointer is displayed on the display window of the application program based on the movement event of the mouse. I couldn't write overwriting.
【0005】アプリケーションプログラムを変更して、
もともと要求していなかった入力イベントを送信するよ
う適宜ウィンドウ・サーバープログラムに要求する方法
が考えられるが、その入力イベントに関する処理を追加
するためにプログラムの実行手順を変更する必要がある
など、アプリケーションプログラムの変更には多くの工
程が要求される。また豊富にあるアプリケーションプロ
グラム全てに対して機能追加をするのは事実上不可能で
ある。By changing the application program,
It is possible to request the window server program to send an input event that was not originally requested, but it is necessary to change the execution procedure of the program to add the processing related to the input event. Many steps are required to change the. In addition, it is virtually impossible to add functions to all the abundant application programs.
【0006】本発明はこのような従来システムの問題点
に鑑みてなされたもので、アプリケーションプログラム
を変更することなく、豊富な従来資産を活用しながら、
アプリケーションプログラムの要求しない入力イベント
による書き込み・ポインティングなどの機能追加を可能
とする表示用通信中継方法を提供することを目的とす
る。The present invention has been made in view of the problems of the conventional system as described above. While utilizing abundant conventional assets without changing the application program,
An object of the present invention is to provide a display communication relay method that enables addition of functions such as writing and pointing by an input event not requested by an application program.
【0007】[0007]
【課題を解決するための手段】本発明に係る表示用通信
中継方法は、入力手段から入力された入力イベントを応
用プログラム処理手段へ送信し、前記応用プログラム処
理手段が前記入力イベントのうち所定の種類の入力イベ
ントに基づいて生成出力する表示要求を受信し、前記表
示要求を表示制御手段へ送信する表示用通信中継方法で
あって、前記入力手段からの入力イベントのうち前記所
定の種類以外の入力イベントに基づいて前記表示制御手
段へ送信する表示要求を生成出力することを特徴とす
る。A display communication relay method according to the present invention transmits an input event input from an input means to an application program processing means, and the application program processing means selects a predetermined one of the input events. A display communication relay method for receiving a display request to be generated and output based on a type of input event and transmitting the display request to a display control means, wherein the input event from the input means is other than the predetermined type. A display request to be transmitted to the display control means is generated and output based on an input event.
【0008】[0008]
【作用】本発明によれば、応用プログラム処理手段(ア
プリケーションプログラム)が要求しない入力イベント
に基づく書き込み・ポインティングなどの機能追加を、
アプリケーションプログラムを変更せずに行うことがで
きる。According to the present invention, it is possible to add functions such as writing and pointing based on an input event which is not requested by the application program processing means (application program).
It can be done without changing the application program.
【0009】[0009]
【実施例】以下この発明の実施例を図に基づいて説明す
る。図1はこの発明の一実施例を適用するためのシステ
ム構成を示している。このシステムはパソコンやワーク
ステーションに代表される端末装置であり、ユーザから
の入力を受け付けるキーボードやマウスなどの入力装置
1と、入力を処理する処理装置2と、処理結果を表示す
るディスプレイのような出力装置3からなる構成となっ
ている。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a system configuration for applying an embodiment of the present invention. This system is a terminal device typified by a personal computer or a workstation, such as an input device 1 such as a keyboard or a mouse that receives an input from a user, a processing device 2 that processes an input, and a display that displays a processing result. It is configured by the output device 3.
【0010】次に上記構成のシステムにおいて、ウィン
ドウを表示する従来の制御方法について説明する。出力
装置3に複数のウィンドウを表示するために、Xウィン
ドウシステムのようなウィンドウシステムでは、処理装
置2の中で、ウィンドウ・サーバープログラム21を動
作させる。図2に示すように、ウィンドウ・サーバープ
ログラム21は、入力装置1からの入力をイベントとし
て処理する入力イベント送信プログラム22と、出力装
置3に出力する出力要求処理プログラム23とから構成
される。ウィンドウ・サーバープログラム21は、入力
イベント送信プログラム22からの入力イベントをアプ
リケーションプログラム24に送信し、その処理結果と
して表示出力要求をアプリケーションプログラム24よ
り受け付けて、出力要求処理プログラム23が出力装置
3へのウィンドウの表示出力を行う。Next, a conventional control method for displaying a window in the system having the above configuration will be described. In order to display a plurality of windows on the output device 3, in the window system such as the X window system, the window server program 21 is operated in the processing device 2. As shown in FIG. 2, the window server program 21 is composed of an input event transmission program 22 that processes an input from the input device 1 as an event and an output request processing program 23 that outputs the output request to the output device 3. The window server program 21 transmits the input event from the input event transmission program 22 to the application program 24, receives a display output request from the application program 24 as a processing result, and the output request processing program 23 sends the output request processing program 23 to the output device 3. Output the window display.
【0011】Xウィンドウシステムでは、入力イベント
送信プログラム22と出力要求処理プログラム23とが
一体化して一つのウィンドウ・サーバープログラム21
として実現されているが、それぞれ別のプログラムとし
て実現されていてもよい。以下の説明では、ウィンドウ
・サーバープログラム21は、入力送信プログラム22
と出力要求処理プログラム23とを備えたプログラムで
あるとする。In the X window system, the input event transmission program 22 and the output request processing program 23 are integrated into one window server program 21.
However, they may be realized as separate programs. In the following description, the window server program 21 is the input transmission program 22.
And an output request processing program 23.
【0012】ウィンドウ・サーバープログラム21とア
プリケーションプログラム24との間の通信量を減らす
ために、アプリケーションプログラム24はそれが処理
する入力イベントの種類を規定して、ウィンドウ・サー
バープログラム21に入力イベントの送信を要求する。
ウィンドウ・サーバープログラム21は、アプリケーシ
ョンプログラム24に要求された種類の入力イベントの
みを、アプリケーションプログラム24に送信する。In order to reduce the amount of communication between the window server program 21 and the application program 24, the application program 24 defines the type of input event to be processed by the application program 24 and sends the input event to the window server program 21. To request.
The window server program 21 sends only input events of the type requested by the application program 24 to the application program 24.
【0013】図3に本発明の一実施例に係る通信中継方
法を適用した構成を示す。通信中継プログラム31は、
入力イベント送信プログラム22からアプリケーション
プログラム24への入力イベントの通信、およびアプリ
ケーションプログラム24から出力要求処理プログラム
23への表示出力要求の通信を仲介する。本実施例にお
いては、ウィンドウ・サーバープログラム21が入力イ
ベント送信プログラム22と出力要求処理プログラム2
3とを備えているので、ウィンドウ・サーバープログラ
ム21とアプリケーションプログラム24との間の通信
を、通信中継プログラム31が仲介しているといえる。FIG. 3 shows a configuration to which a communication relay method according to an embodiment of the present invention is applied. The communication relay program 31 is
Communication of an input event from the input event transmission program 22 to the application program 24 and communication of a display output request from the application program 24 to the output request processing program 23 are mediated. In this embodiment, the window server program 21 is an input event transmission program 22 and an output request processing program 2.
It can be said that the communication relay program 31 mediates the communication between the window server program 21 and the application program 24.
【0014】そして通信中継プログラム31は、入力イ
ベント要求手段32と入力イベント処理手段33と表示
出力要求処理手段34とを備える。入力イベント処理プ
ログラム22(ウィンドウ・サーバープログラム21)
はアプリケーションプログラム24が予め要求した種類
の入力イベントだけを送信するよう構成されているた
め、通常はその通信を仲介する通信中継プログラム31
にも、アプリケーションプログラム24が要求した種類
の入力イベントのみが送られる。そこで、入力イベント
要求手段32は、アプリケーションプログラム24がも
ともと要求する入力イベント以外の入力イベントを、入
力イベント送信プログラム22に要求する。入力イベン
ト送信プログラム22は、要求された入力イベントを入
力イベント処理手段33に送信する。入力イベント処理
手段33は、通常は入力イベントをそのままアプリケー
ションプログラム24へ送信するが、入力イベント要求
手段32の要求により送信されてきた入力イベントにつ
いては、直接表示出力要求を生成し、表示出力要求処理
手段34へ送信する。表示出力要求処理手段34は、ア
プリケーションプログラム24または入力イベント処理
手段33から送信される表示出力要求を出力要求処理プ
ログラム23へ仲介する。尚、入力イベント送信プログ
ラム22が要求された入力イベントのみでなく、その他
の入力イベントをも入力イベント処理手段33へ送信す
る構成になっている場合は、入力イベント要求手段32
はなくてもよい。The communication relay program 31 includes an input event requesting means 32, an input event processing means 33, and a display output request processing means 34. Input event processing program 22 (window server program 21)
Is configured to send only the type of input event requested by the application program 24 in advance, so the communication relay program 31 normally mediates the communication.
Also, only input events of the type requested by the application program 24 are sent. Therefore, the input event request means 32 requests the input event transmission program 22 for an input event other than the input event originally requested by the application program 24. The input event transmission program 22 transmits the requested input event to the input event processing means 33. The input event processing means 33 normally sends the input event as it is to the application program 24, but for the input event sent by the request of the input event request means 32, a direct display output request is generated and the display output request processing is performed. To the means 34. The display output request processing means 34 mediates the display output request transmitted from the application program 24 or the input event processing means 33 to the output request processing program 23. When the input event transmission program 22 is configured to transmit not only the requested input event but also other input events to the input event processing means 33, the input event requesting means 32
It does not have to be.
【0015】図4は本発明に基づく一実施例の画面例を
示した図である。文書を編集するテキスト・エディタの
ようなアプリケーションプログラム24に変更を加えず
に、そのウィンドウ画面上に、マウスやペンによる描画
や、キーボードからの文字入力を重ね書きできる。これ
は通信中継プログラム31による処理結果である。FIG. 4 is a diagram showing an example of a screen according to an embodiment of the present invention. Without changing the application program 24 such as a text editor for editing a document, drawing with a mouse or a pen and character input from a keyboard can be overwritten on the window screen. This is a processing result by the communication relay program 31.
【0016】すなわちもともとテキスト・エディタのよ
うなアプリケーションプログラム24は、マウスの移動
のような入力イベントを入力イベント送信プログラム2
2に要求しないため、従来ではその画面上にマウスによ
る描画を重ね書きすることはできなかった。しかし、本
実施例では、通信中継プログラム31の入力イベント要
求手段32が、マウス移動の入力イベントを入力イベン
ト送信プログラム22に要求する。これによりユーザが
マウスを動かすと、マウス移動の入力イベントが通信中
継プログラム31に受信される。そしてその中の入力イ
ベント処理手段33が、マウス移動イベントに基づい
て、表示出力要求手段34を介してアプリケーションプ
ログラム24が起動されている画面上に描画を行うこと
により、重ね書きを実現することができる。That is, originally, the application program 24 such as a text editor inputs an input event such as mouse movement into the input event transmission program 2
In the past, it was not possible to overwrite the drawing with the mouse on the screen because it is not required. However, in this embodiment, the input event request means 32 of the communication relay program 31 requests the input event transmission program 22 for an input event of mouse movement. As a result, when the user moves the mouse, the input event of the mouse movement is received by the communication relay program 31. Then, the input event processing means 33 therein draws on the screen on which the application program 24 is activated via the display output request means 34 based on the mouse movement event, thereby realizing overwriting. it can.
【0017】このほかにもキーボード入力を要求しない
アプリケーションプログラム24が起動されている画面
上に、キーボードからの文字入力を重ね書きしたりする
ことも実現できる。In addition to this, it is also possible to overwrite the character input from the keyboard on the screen on which the application program 24 that does not require keyboard input is activated.
【0018】次に本実施例におけるデータ構造について
説明する。図5に示したのは、通信中継プログラム31
内で管理されるデータ表現で、ウィンドウ・サーバープ
ログラム21の入力イベント送信プログラム22に対し
て送信要求をする入力イベントの種類を規定する。Next, the data structure in this embodiment will be described. The communication relay program 31 shown in FIG.
The data expression managed within defines the type of input event that is requested to be transmitted to the input event transmission program 22 of the window server program 21.
【0019】これはビット列からなるベクタ表現(ビッ
トベクタ)であり、各ビットは入力イベントの一つの種
類に相当する。そしてこのビットが1であることによ
り、入力イベント送信プログラム22にそのビットが表
す入力イベントの送信を要求することを意味する。0で
あれば、入力イベント送信プログラム22にその入力イ
ベントの送信を要求しない。このビットベクタの総ビッ
ト数は入力イベント送信プログラム22が送信する全て
の入力イベントの種類数となる。This is a vector expression (bit vector) consisting of bit strings, and each bit corresponds to one type of input event. When this bit is 1, it means that the input event transmission program 22 is requested to transmit the input event represented by the bit. If it is 0, the input event transmission program 22 is not requested to transmit the input event. The total number of bits of this bit vector is the number of types of all input events transmitted by the input event transmission program 22.
【0020】図5の例では、図5(a)によりアプリケ
ーションプログラム24が要求する入力イベントの種類
を規定する。ここではキーボードが押されること、ウィ
ンドウの表示内容が変更されたこと、というイベントを
入力イベント送信プログラム22に送信するよう要求し
ている。In the example of FIG. 5, the type of input event requested by the application program 24 is defined by FIG. Here, the input event transmission program 22 is requested to transmit the event that the keyboard is pressed and the display content of the window is changed.
【0021】一方図5(b)では通信中継プログラム3
1自体が、その機能追加のために要求する入力イベント
の種類が規定されている。この例ではマウスが移動した
こととウィンドウの表示内容が変更されたことをイベン
トとして送信するように要求している。On the other hand, in FIG. 5B, the communication relay program 3
1 itself defines the type of input event required to add the function. In this example, the fact that the mouse has moved and the display content of the window has been changed is requested to be sent as an event.
【0022】通信中継プログラム31の入力イベント要
求手段32は、図5(a)(b)それぞれのビットベク
タどうしのOR演算をとった図5(c)のビットベクタ
を、実際の入力イベント送信プログラム22に送信し
て、アプリケーションプログラム24が要求しない入力
イベントの送信を要求する。The input event request means 32 of the communication relay program 31 uses the bit vector of FIG. 5C obtained by ORing the bit vectors of FIGS. 5A and 5B as an actual input event transmission program. 22 to request transmission of an input event not requested by the application program 24.
【0023】入力イベント送信プログラム22は、図5
(c)のビットベクタで表されるイベントの送信を要求
されたことを記憶し、入力装置1からの入力をイベント
として処理する際に、要求された種類のイベントを通信
中継プログラム31に送信する。The input event transmission program 22 is shown in FIG.
The fact that the transmission of the event represented by the bit vector of (c) is requested is stored, and when the input from the input device 1 is processed as the event, the requested type of event is transmitted to the communication relay program 31. .
【0024】これにより、マウスが移動したことも入力
イベントとして通信中継プログラム31に送信されるた
め、この入力イベントに基づいた処理を通信中継プログ
ラム31は行える。すなわち通信中継プログラム31の
入力イベント処理手段33により、アプリケーションプ
ログラム24のウィンドウ画面上に、マウス移動による
描画を重ね書きするなどの機能追加を行うことができ
る。As a result, the movement of the mouse is also transmitted as an input event to the communication relay program 31, so that the communication relay program 31 can perform processing based on this input event. That is, the input event processing means 33 of the communication relay program 31 can add functions such as overwriting a drawing by moving the mouse on the window screen of the application program 24.
【0025】次に各プログラムの内部の動作について説
明する。図6は、本実施例における各プログラムの制御
動作の概略フローを表す。図中、細い矢印によりプログ
ラム制御の流れを、太い矢印により、各プログラム間の
通信データの流れを表す。Next, the internal operation of each program will be described. FIG. 6 shows a schematic flow of the control operation of each program in this embodiment. In the figure, thin arrows show the flow of program control, and thick arrows show the flow of communication data between programs.
【0026】まずアプリケーションプログラム24は、
通信中継プログラム31との接続を含む初期化処理(6
00)のあと、それが処理する入力イベントの種類を規
定し、送信要求を行う(601)。このあと中心中継プ
ログラム31からの通信待ち状態に入る(602)。送
信されてくるのは、要求した入力イベント、もしくは表
示出力要求に対する返事データである。そして送られて
きた入力イベント、返事データに基づいて処理を行い
(603)、必要なときには表示出力要求を通信中継プ
ログラム31に対して送信し(604)、また通信中継
プログラム31からの通信待ち状態に入る(602)。
このように通信中継プログラム31からの通信を待ち、
それに基づき必要な処理を行うイベント駆動型ループの
プログラムである。First, the application program 24
Initialization processing including connection with the communication relay program 31 (6
After 00), the type of input event to be processed is defined and a transmission request is made (601). After this, a state of waiting for communication from the central relay program 31 is entered (602). Sent is the requested input event or reply data to the display output request. Then, processing is performed based on the input event and reply data sent (603), a display output request is sent to the communication relay program 31 when necessary (604), and a communication waiting state from the communication relay program 31 Enter (602).
In this way, waiting for communication from the communication relay program 31,
This is an event-driven loop program that performs necessary processing based on it.
【0027】一方通信中継プログラム31は、ウィンド
ウ・サーバープログラム21(入力イベント送信プログ
ラム22と出力要求処理プログラム23)との接続を含
む初期化処理(610)のあと、ウィンドウ・サーバー
プログラム21とアプリケーションプログラム24から
の通信待ち状態に入る(611)。アプリケーションプ
ログラム24からの通信があれば(612)、そのデー
タをウィンドウ・サーバープログラム21に送信して
(613)、再び通信待ち状態に戻る(612)。また
ウィンドウ・サーバープログラム21からの通信があれ
ば(614)、そのデータ(入力イベント、返事デー
タ)の処理を行い(615)、再び通信待ち状態に戻る
(612)。On the other hand, the communication relay program 31 performs the initialization processing (610) including the connection with the window server program 21 (the input event transmission program 22 and the output request processing program 23), and then the window server program 21 and the application program. The communication waiting state from 24 is entered (611). If there is communication from the application program 24 (612), the data is transmitted to the window server program 21 (613), and the communication waiting state is returned again (612). If there is communication from the window server program 21 (614), the data (input event, reply data) is processed (615), and the communication waiting state is returned again (612).
【0028】ウィンドウ・サーバープログラム21は、
初期化処理(620)のあと、入力装置1からの入力と
通信中継プログラム31からの通信を待つ状態に入る
(621)。キーボードやマウスなどの入力装置1から
の入力があれば(622)、それを入力イベントとして
処理し、転送を要求されたものだけを通信中継プログラ
ム31に転送して(623)、再び待ち状態に戻る(6
21)。一方通信中継プログラム31からの通信があれ
ば(624)、その処理(表示出力要求の処理や入力イ
ベントの要求処理など)を行い(625)、再び待ち状
態に戻る(621)。The window server program 21 is
After the initialization process (620), a state of waiting for input from the input device 1 and communication from the communication relay program 31 is entered (621). If there is an input from the input device 1 such as a keyboard or a mouse (622), it is processed as an input event, only the requested transfer is transferred to the communication relay program 31 (623), and the waiting state is resumed. Return (6
21). On the other hand, if there is communication from the communication relay program 31 (624), the processing (display output request processing, input event request processing, etc.) is performed (625), and the process returns to the waiting state (621).
【0029】以下、入力イベントの要求(図7)、入力
イベントの処理(図8)、表示出力要求の処理(図9)
それぞれについて、各プログラムの動作を詳しく説明す
る。図7は、ウィンドウ・サーバープログラム21に対
して、送信する入力イベントの種類を規定する動作の制
御フローである。Hereinafter, an input event request (FIG. 7), an input event process (FIG. 8), and a display output request process (FIG. 9)
The operation of each program will be described in detail. FIG. 7 is a control flow of an operation for defining the type of input event to be transmitted to the window server program 21.
【0030】図6で述べたように、アプリケーションプ
ログラム24は、初期化処理(700)のあと、それが
処理する入力イベントの種類を規定し、送信要求を行う
(701)。その後入力イベントや返事データの待ち状
態に入る(702)。As described with reference to FIG. 6, after the initialization processing (700), the application program 24 defines the type of input event to be processed and makes a transmission request (701). After that, a waiting state for input events and reply data is entered (702).
【0031】アプリケーションプログラム24から要求
された入力イベントの種類は、図5(a)に示したよう
なビットベクタで表現される。通信中継プログラム31
は、通信待ち状態(710)から、アプリケーションプ
ログラム24からの入力イベント要求を受け取る(71
1)。通信中継プログラム31はそれ自体が要求する入
力イベントの種類を規定するビットベクタ(図5(b)
参照)と、アプリケーションプログラム24からの要求
であるビットベクタとの間でOR演算を行い(図5
(c)参照)、その結果を入力イベント要求手段32に
より、ウィンドウ・サーバープログラム21に対して送
信する(712)。これによりアプリケーションプログ
ラム24と通信中継プログラム31の両方が要求する入
力イベントの種類が規定され、ウィンドウ・サーバープ
ログラム21に送信されたことになる。通信中継プログ
ラム31は、それ自体が要求する入力イベントのビット
ベクタと、アプリケーションプログラム24が要求する
入力イベントのビットベクタの両方を、あとの処理用に
それぞれ記憶する(713)。The type of input event requested by the application program 24 is represented by a bit vector as shown in FIG. Communication relay program 31
Receives an input event request from the application program 24 from the communication waiting state (710) (71
1). The communication relay program 31 defines a type of input event requested by itself (see FIG. 5B).
And the bit vector requested by the application program 24 (see FIG. 5).
(See (c)), and the input event requesting means 32 transmits the result to the window server program 21 (712). As a result, the type of the input event requested by both the application program 24 and the communication relay program 31 is defined and transmitted to the window server program 21. The communication relay program 31 stores both the input event bit vector requested by itself and the input event bit vector requested by the application program 24, respectively, for subsequent processing (713).
【0032】一方ウィンドウ・サーバープログラム21
は、入力装置1からの入力と通信中継プログラム31か
らの通信待ち状態にあるが(720)、通信中継プログ
ラム31から送信されてきた入力イベントの種類を規定
するビットベクタを受信して記憶する(721)。これ
に基づき、入力イベントを送信する際に、送信するか否
かを決定する。On the other hand, the window server program 21
Is waiting for input from the input device 1 and communication from the communication relay program 31 (720), but receives and stores a bit vector defining the type of input event transmitted from the communication relay program 31 (( 721). Based on this, when transmitting the input event, it is determined whether or not to transmit.
【0033】図8は、ウィンドウ・サーバープログラム
21に対して入力装置1から入力があった際のイベント
の処理動作の制御フローである。ウィンドウ・サーバー
プログラム21は入力装置1からの入力があった場合
(820,821)、それを入力イベントとして処理す
る(822)。そして通信中継プログラム31からまえ
に送られた要求入力イベントの種類を規定するビットベ
クタ(図7、ステップ721で記憶したビットベクタ)
と照合し(823,824)、要求されたイベントのみ
を通信中継プログラム31に送信する(825)。その
後再び待ち状態に戻る(820)。FIG. 8 is a control flow of the event processing operation when the window server program 21 receives an input from the input device 1. When there is an input from the input device 1 (820, 821), the window server program 21 processes it as an input event (822). A bit vector that defines the type of the request input event sent from the communication relay program 31 (the bit vector stored in step 721 in FIG. 7).
(823, 824), and only the requested event is transmitted to the communication relay program 31 (825). Then, it returns to the waiting state again (820).
【0034】一方通信中継プログラム31は、ウィンド
ウ・サーバープログラム21から入力イベントが送信さ
れてくると(810,811)、それを受信する(81
2)。本実施例では、中継プログラム31が付加する機
能として、アプリケーションプログラム24のウィンド
ウ画面上にマウス移動による描画を重ね書きすることを
考える。On the other hand, when the input event is transmitted from the window server program 21 (810, 811), the communication relay program 31 receives it (81).
2). In this embodiment, as a function added by the relay program 31, it is considered that the drawing by the mouse movement is overwritten on the window screen of the application program 24.
【0035】通信中継プログラム31はモードを二つ持
つ。一つは入力イベントをそのままアプリケーションプ
ログラム24に転送するモードで、アプリケーションプ
ログラム24から要求されているイベントであるか照合
し(814、ステップ713で記憶したビットベクタと
照合)、マッチすればその入力イベントをアプリケーシ
ョンプログラム24に転送する(815)。もう一つの
モードは、通信中継プログラム31自体がその入力イベ
ントを処理するモードである。それ自体が要求したイベ
ントであるか照合し(816、ステップ713で記憶し
たビットベクタと照合)、マッチすればその入力イベン
トに基づいて、入力イベント処理手段33が処理を行う
(817)。本実施例では、アプリケーションプログラ
ム24が前に作成したウィンドウの識別子を、通信中継
プログラム31が記憶し(後述、図9ステップ91
6)、そのウィンドウに対して、入力イベント処理手段
33が表示出力要求手段34を介してマウス移動イベン
トに基づき描画を行うことで、アプリケーションプログ
ラム24のウィンドウ画面上に重ね書きが行われる。入
力イベントの処理が終ると、再び通信待ち状態に戻る
(810)。The communication relay program 31 has two modes. One is a mode in which the input event is transferred to the application program 24 as it is, and it is checked whether the event is a request from the application program 24 (814, check with the bit vector stored in step 713). Is transferred to the application program 24 (815). The other mode is a mode in which the communication relay program 31 itself processes the input event. It is checked whether the event itself is the requested event (816, the bit vector stored in step 713 is checked), and if there is a match, the input event processing means 33 performs processing based on the input event (817). In this embodiment, the communication relay program 31 stores the window identifier previously created by the application program 24 (to be described later, step 91 in FIG. 9).
6) Then, the input event processing unit 33 draws on the window based on the mouse movement event via the display output requesting unit 34, so that the window is overwritten on the window screen of the application program 24. When the processing of the input event is completed, the communication waiting state is returned again (810).
【0036】アプリケーションプログラム24は、入力
イベントを受け取る(800,801)と、それに基づ
き処理を行う(802)。必要に応じて表示出力要求を
送信する(803)。表示出力要求の処理については、
図9で説明する。その後、再び通信待ち状態に戻る(8
00)。When the application program 24 receives an input event (800, 801), it performs processing based on it (802). A display output request is transmitted if necessary (803). For the processing of display output request,
This will be described with reference to FIG. After that, it returns to the communication waiting state again (8
00).
【0037】図9は、アプリケーションプログラム24
からの表示出力要求の処理動作の制御フローである。表
示出力要求には、単なる描画だけでなく、ウィンドウの
作成や現在のマウス位置の問合せなどが含まれる。アプ
リケーションプログラム24からウィンドウ・サーバー
プログラム21への一方向通信のこともあれば、ウィン
ドウ・サーバープログラム21からの返事データを受け
取る双方向通信の場合もある。FIG. 9 shows the application program 24.
3 is a control flow of a processing operation of a display output request from FIG. The display output request includes not only simple drawing but also window creation, inquiry of the current mouse position, and the like. One-way communication may be made from the application program 24 to the window server program 21, and two-way communication may be made in which reply data from the window server program 21 is received.
【0038】アプリケーションプログラム24は、入力
イベント処理の結果(900)、ウィンドウの操作や表
示などの要求をウィンドウサーバープログラム21に対
して送信する(901)。そして通信待ち状態に戻る。
返事データのある双方向通信の場合は、この通信待ち状
態から返事データを非同期的に受信し(902,90
3)、それに基づき処理を行う(904)。そして再び
通信待ち状態に入る。The application program 24 transmits a result of the input event processing (900) and a request for window operation and display to the window server program 21 (901). Then, it returns to the communication waiting state.
In the case of two-way communication with reply data, reply data is asynchronously received from this communication waiting state (902, 90).
3), and processing is performed based on it (904). Then, the communication waiting state is entered again.
【0039】通信中継プログラム31は、通信待ち状態
から(910)、アプリケーションプログラム24から
の表示出力要求を受信し(911,912)、必要な情
報は記憶して、ウィンドウサーバープログラム21に転
送する(913)。そして通信待ち状態に戻る。返事デ
ータのある双方向通信の場合は、この通信待ち状態から
返事データを非同期的に受信し(914,915)、必
要な情報(例えばアプリケーションプログラム24が作
成したウィンドウの識別子など)を記憶し(916)、
返事データをアプリケーションプログラム24に転送す
る(917)。そして再び通信待ち状態に入る(91
0)。ステップ916で記憶したウィンドウ識別子は、
入力イベント処理手段33が重ね書きなどを行う際の利
用する(図8,817)。The communication relay program 31 receives the display output request from the application program 24 from the communication waiting state (910) (911, 912), stores necessary information, and transfers it to the window server program 21 ( 913). Then, it returns to the communication waiting state. In the case of two-way communication with reply data, reply data is asynchronously received from this communication waiting state (914, 915) and necessary information (for example, window identifier created by the application program 24) is stored ( 916),
The reply data is transferred to the application program 24 (917). Then, the communication waiting state is entered again (91
0). The window identifier stored in step 916 is
It is used when the input event processing means 33 performs overwriting, etc. (FIGS. 8 and 817).
【0040】ウィンドウ・サーバープログラム21は、
通信待ち状態から(920)、表示出力要求を受信し
(921,922)、それに従いウィンドウの作成・操
作・表示・描画などの処理を行う(923)。アプリケ
ーションプログラム24に返事データを送信する必要が
ある双方向通信の場合(924)は、返事データを通信
中継プログラム31に送信する(925)。The window server program 21 is
From the communication waiting state (920), the display output request is received (921, 922), and in accordance therewith, processing such as window creation / operation / display / drawing is performed (923). In the case of bidirectional communication in which it is necessary to send reply data to the application program 24 (924), reply data is sent to the communication relay program 31 (925).
【0041】以上、アプリケーションプログラム24が
要求しない入力イベントを、通信中継プログラム31が
要求する実施例について説明した。本実施例では、アプ
リケーションプログラム24が要求しない入力イベント
を、通信中継プログラム31はアプリケーションプログ
ラム24に転送しない制御手段(図8、ステップ81
4)を備えているが、この制御手段はなくてもよい。ア
プリケーションプログラム24は、もともと要求しない
入力イベントの処理についてはとくに何も行わないから
である。The embodiment in which the communication relay program 31 requests an input event not requested by the application program 24 has been described above. In the present embodiment, the communication relay program 31 does not transfer the input event not requested by the application program 24 to the application program 24 (FIG. 8, step 81).
4) is provided, this control means may be omitted. This is because the application program 24 does not particularly process the input event that is not originally requested.
【0042】また本実施例では、入力装置1からの入力
をイベントとして送信する入力イベント送信プログラム
22と、表示要求の処理を行う出力要求処理プログラム
23とを備えたウィンドウ・サーバープログラム21が
一つのプロセスとして動作する例を示したが、図10に
示すように、入力イベント送信プログラム21と出力要
求処理プログラム23とが独立したプロセスとして動作
する構成もある。In this embodiment, the window server program 21 is provided with an input event transmission program 22 for transmitting an input from the input device 1 as an event and an output request processing program 23 for processing a display request. Although an example of operating as a process has been shown, as shown in FIG. 10, there is a configuration in which the input event transmission program 21 and the output request processing program 23 operate as independent processes.
【0043】さらに上記実施例では、ウィンドウ・サー
バープログラム21とアプリケーションプログラム2
4、その間の通信中継プログラム31とが、それぞれ独
立したプロセスとして動作する構成を示したが、図11
に示すようにウィンドウ・サーバープログラム21と通
信中継プログラム31とが一体化した構成や、図12に
示すようにアプリケーションプログラム24と通信中継
プログラム31とが一体化した構成もある。Further, in the above embodiment, the window server program 21 and the application program 2
4 and the communication relay program 31 between them operate as independent processes.
There is also a configuration in which the window server program 21 and the communication relay program 31 are integrated as shown in FIG. 8 and a configuration in which the application program 24 and the communication relay program 31 are integrated as shown in FIG.
【0044】また図13は、本発明の別の実施例を示し
ている。これは本発明を単一の端末装置だけでなく複数
の端末装置に適用し、複数ユーザ間での協調作業を支援
するようにしたものである。各端末で動作する通信中継
プログラム31どうしを接続し、各個人端末からの入力
イベント、表示出力要求を分配することにより、各端末
で同一の画面を共有しながら、操作を行うことが可能と
なる。本発明ではアプリケーションプログラム24に変
更を加えずに、その画面上に重ね書きを行うことができ
るため、その処理も分配することにより、遠隔書き込
み、遠隔ポインティングなどの機能を付加することが可
能である。これにより遠隔地にある端末どうしで同じ画
面を共有しながら書き込みを行ったりポインティングし
たりして、協調作業を円滑に行うことが可能となる。FIG. 13 shows another embodiment of the present invention. This is to apply the present invention not only to a single terminal device but also to a plurality of terminal devices to support cooperative work among a plurality of users. By connecting the communication relay programs 31 operating on each terminal and distributing the input event and the display output request from each personal terminal, it becomes possible to perform the operation while sharing the same screen on each terminal. . In the present invention, since overwriting can be performed on the screen without changing the application program 24, it is possible to add functions such as remote writing and remote pointing by distributing the processing. . As a result, it becomes possible to smoothly carry out collaborative work by writing and pointing while sharing the same screen between terminals at remote locations.
【0045】また本実施例では、ビットベクタという特
定のデータ構造を用いて説明したが、実行速度や記憶容
量の観点から、同等の機能を持つ別のデータ構造を用い
ても構わない。配列、テーブルなどで代替できる。In this embodiment, a specific data structure called a bit vector has been described, but another data structure having an equivalent function may be used from the viewpoint of execution speed and storage capacity. It can be replaced by an array or table.
【0046】[0046]
【発明の効果】以上説明したようにこの発明によれば、
アプリケーションプログラムを変更することなく、アプ
リケーションプログラムの要求しない入力イベントによ
る書き込み、ポインティングなどの機能追加をすること
が可能となる。したがって、アプリケーションプログラ
ムを変更する工程なくして、アプリケーションプログラ
ムの画面上に重ね書きを行うような機能追加ができる。
またそれをネットワークを介して遠隔地間で共有化すれ
ば、同じ画面を見ながら相互にそれに書き込みやポイン
ティングを行う協調作業支援環境を実現することができ
る。As described above, according to the present invention,
It is possible to add functions such as writing and pointing by an input event not requested by the application program without changing the application program. Therefore, the function of overwriting on the screen of the application program can be added without the step of changing the application program.
Moreover, if it is shared between remote places via a network, it is possible to realize a collaborative work support environment in which the same screen is viewed while writing and pointing to each other.
【図1】 本発明の一実施例を適用するための装置構成
図。FIG. 1 is a block diagram of an apparatus for applying an embodiment of the present invention.
【図2】 従来のウィンドウシステムの原理を示した
図。FIG. 2 is a diagram showing the principle of a conventional window system.
【図3】 本発明の一実施例に係る通信中継方法を適用
した構成を示すブロック図。FIG. 3 is a block diagram showing a configuration to which a communication relay method according to an embodiment of the present invention is applied.
【図4】 本発明の一実施例における画面例を示した
図。FIG. 4 is a diagram showing an example of a screen according to an embodiment of the present invention.
【図5】 本発明の一実施例における入力イベント制御
のためのデータ構造図。FIG. 5 is a data structure diagram for controlling an input event according to an embodiment of the present invention.
【図6】 本発明の一実施例におけるプログラム群の概
略制御動作を示すフロー図。FIG. 6 is a flowchart showing a schematic control operation of a program group in an embodiment of the present invention.
【図7】 プログラム群による入力イベントの規定・要
求処理を示すフロー図。FIG. 7 is a flow chart showing the definition / request processing of an input event by a program group.
【図8】 プログラム群による入力イベントの処理を示
すフロー図。FIG. 8 is a flowchart showing processing of an input event by a program group.
【図9】 プログラム群による表示出力要求の処理を示
すフロー図。FIG. 9 is a flowchart showing processing of a display output request by a program group.
【図10】 本発明の別の実施例の構成を示すブロック
図。FIG. 10 is a block diagram showing the configuration of another embodiment of the present invention.
【図11】 本発明の別の実施例の構成を示すブロック
図。FIG. 11 is a block diagram showing the configuration of another embodiment of the present invention.
【図12】 本発明の別の実施例の構成を示すブロック
図。FIG. 12 is a block diagram showing the configuration of another embodiment of the present invention.
【図13】 本発明を協調作業に適用した実施例の構成
を示すブロック図。FIG. 13 is a block diagram showing the configuration of an embodiment in which the present invention is applied to cooperative work.
1…入力装置 2…処理装置 3…出力装置 21…ウィンドウ・サーバープログラム 22…入力イベント送信プログラム 23…出力要求処理プログラム 24…アプリケーションプログラム 31…通信中継プログラム 32…入力イベント要求手段 33…入力イベント処理手段 34…表示出力要求処理手段 DESCRIPTION OF SYMBOLS 1 ... Input device 2 ... Processing device 3 ... Output device 21 ... Window server program 22 ... Input event transmission program 23 ... Output request processing program 24 ... Application program 31 ... Communication relay program 32 ... Input event request means 33 ... Input event processing Means 34 ... Display output request processing means
───────────────────────────────────────────────────── フロントページの続き (72)発明者 児玉 真美 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Mami Kodama, No. 1 Komukai Toshiba-cho, Sachi-ku, Kawasaki-shi, Kanagawa Stock Company Toshiba Research and Development Center
Claims (1)
用プログラム処理手段へ送信し、前記応用プログラム処
理手段が前記入力イベントのうち所定の種類の入力イベ
ントに基いて生成出力する表示要求を受信し、前記表示
要求を表示制御手段へ送信する表示用通信中継方法であ
って、前記入力手段からの入力イベントのうち前記所定
の種類以外の入力イベントに基いて前記表示制御手段へ
送信する表示要求を生成出力することを特徴とする表示
用通信中継方法。1. An input event input from an input means is transmitted to an application program processing means, and the application program processing means receives a display request generated and output based on a predetermined type of input event among the input events. A display communication relay method for transmitting the display request to the display control means, wherein a display request to be transmitted to the display control means based on an input event other than the predetermined type among the input events from the input means. A display communication relay method characterized by generating and outputting.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5220358A JPH0773144A (en) | 1993-09-06 | 1993-09-06 | Display communication relay method |
US08/300,999 US5717880A (en) | 1993-09-06 | 1994-09-06 | Method and apparatus for relaying events and requests in a windows systems |
US08/848,832 US5805162A (en) | 1993-09-06 | 1997-05-05 | Method and apparatus for changing superposed drawing with window changes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5220358A JPH0773144A (en) | 1993-09-06 | 1993-09-06 | Display communication relay method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0773144A true JPH0773144A (en) | 1995-03-17 |
Family
ID=16749894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5220358A Pending JPH0773144A (en) | 1993-09-06 | 1993-09-06 | Display communication relay method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0773144A (en) |
-
1993
- 1993-09-06 JP JP5220358A patent/JPH0773144A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5553223A (en) | Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal | |
US5289574A (en) | Multiple virtual screens on an "X windows" terminal | |
US6430567B2 (en) | Method and apparatus for multi-user awareness and collaboration | |
US6268855B1 (en) | Method and system for sharing applications between computer systems | |
US6141022A (en) | Screen remote control | |
US6047314A (en) | Remote collaboration system with multiple host computers using multiple applications | |
US6611878B2 (en) | Method and apparatus for software technology injection for operating systems which assign separate process address spaces | |
US7904502B2 (en) | Method and apparatus for processing document requests at a server | |
US6199160B1 (en) | Computer system and method for performing multiple tasks | |
US5717880A (en) | Method and apparatus for relaying events and requests in a windows systems | |
JPH0793251A (en) | Remote cooperation system | |
JPH0749835A (en) | Remote cooperative system | |
US20020026323A1 (en) | Method and system for annotating a window shared by remote hosts | |
KR19980024102A (en) | Internet web page sharing system | |
JPH04238529A (en) | Device and method of controlling picture in computer-system | |
JP2000122945A (en) | Interactive cooperative operation system/method and data display method | |
US5367628A (en) | Multi-window system and display method for controlling execution of an application for a window system and an application for a non-window system | |
JPH06214743A (en) | Cooperative information processing system | |
Hao et al. | Collaborative computing: a multi-client multi-server environment | |
JP2002304362A (en) | Method for disclosing information | |
US20030218632A1 (en) | Method and architecture of an event transform oriented operating environment for a personal mobile display system | |
JPH0773144A (en) | Display communication relay method | |
US8788633B2 (en) | Low bandwidth remote control of an electronic device | |
US5617548A (en) | Method of interacting with computer graphics | |
JP2999516B2 (en) | Character output control method and device for terminal device |