JPH07306769A - マルチウィンドウ情報処理装置 - Google Patents

マルチウィンドウ情報処理装置

Info

Publication number
JPH07306769A
JPH07306769A JP6121745A JP12174594A JPH07306769A JP H07306769 A JPH07306769 A JP H07306769A JP 6121745 A JP6121745 A JP 6121745A JP 12174594 A JP12174594 A JP 12174594A JP H07306769 A JPH07306769 A JP H07306769A
Authority
JP
Japan
Prior art keywords
event
macro
window
application
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.)
Pending
Application number
JP6121745A
Other languages
English (en)
Inventor
Tadamichi Tagawa
忠道 田川
Akihiro Okumura
晃弘 奥村
Toshihiko Miyazaki
敏彦 宮崎
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP6121745A priority Critical patent/JPH07306769A/ja
Publication of JPH07306769A publication Critical patent/JPH07306769A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【構成】 表示部21に表示された任意のウィンドウ上
でイベントが発生した場合、そのイベントを各アプリケ
ーションに配送される前に取得し、解析し、マクロ化を
行う。マクロ化されたイベントはマクロ情報格納部17
に格納され、保存される。マクロ実行指示があると、こ
のマクロ化されたイベントが順に読み出され、該当する
アプリケーションに配送される。このようなイベントの
取得は、例えばマクロ化の対象となる全てのウィンドウ
より優先順位の高い透明のウィンドウにより行われる。 【効果】 複数のウィンドウ間にまたがって任意のイベ
ントを組み合せ、マクロ化を行うことが可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、イベント駆動型のソフ
トウェアを採用するコンピュータのマンマシンインタフ
ェースを改造したマルチウィンドウ情報処理装置に関す
る。
【0002】
【従来の技術】パーソナルコンピュータやワークステー
ションにおいては、プログラムの並列処理を可能にする
イベント駆動型のソフトウェア処理が広く採用されるに
至っている。また、ユーザに優しいマンマシンインタフ
ェースを提供するために、マルチウィンドウ処理が広く
採用されている。
【0003】例えば、パーソナルコンピュータのディス
プレイには複数のアプリケーションにより制御されるウ
ィンドウが複数重ね合わせて表示され、最も手前に表示
されたウィンドウを制御するアプリケーションプログラ
ムが処理の対象となるよう構成される。ユーザは、これ
らのウィンドウに表示されたアプリケーションを組み合
わせて活用し、各種の業務等に利用している。一方、例
えば表計算処理や図形処理等のアプリケーションプログ
ラムには、複雑なキー操作を簡略化できるように複数の
キー操作を一括して記憶し、自動的に処理できるマクロ
機能が設けられている。これにより、ユーザは1回のキ
ー操作で、頻繁に使用される複雑なキー操作を指示する
ことができる。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来のマルチウィンドウ情報処理装置には次のような
解決すべき課題があった。上記のように利用者の便宜を
図るマクロ機能は、一般に各アプリケーション毎に独自
に設けられている。従って、いずれのマクロ機能も、そ
れぞれディスプレイに表示された各アプリケーション用
のウィンドウ内でのみ有効となる。
【0005】ところが、マルチウィンドウ情報処理装置
においては、複数のアプリケーションを同時に立ち上げ
て利用し、例えば表計算プログラムから一定のデータを
取り出し、文書操作プログラムに移し込んで処理をする
といったことが頻繁に行われる。従って、複数のアプリ
ケーションにまたがるマクロ機能の実現が望まれる。ま
た、一般に各アプリケーションのマクロの登録はキー操
作を順に記憶するといったもので、マウスのようなポイ
ンティングデバイスによる位置情報やその他各種の入出
力装置からの情報を組み合わせてマクロを生成するとい
った方法は困難であった。
【0006】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。本発明はイベント駆動型
マルチウィンドウシステムを採用する情報処理装置にお
いて採用される。この装置には、イベント取得解析部
と、マクロ制御部と、マクロ情報格納部と、イベント再
構成送出部を備える。イベント取得格納部は、イベント
の発生を監視して、そのイベントが各アプリケーション
に配送される前に、そのイベントを取得して解析する。
マクロ制御部はイベントのマクロ化を行う。マクロ情報
格納部はマクロ化されたイベントを格納する。イベント
再構成送出部は、マクロ情報格納部から取り出したマク
ロ化されたイベントを実行する際に、マクロを構成する
各イベントを再構成して該当するアプリケーションに配
送する。
【0007】
【作用】この装置は、表示部に表示された任意のウィン
ドウ上でイベントが発生した場合、そのイベントが各ア
プリケーションに配送される前に取得し、解析し、マク
ロ化を行う。マクロ化されたイベントはマクロ情報格納
部に格納され、保存される。マクロ実行指示があると、
このマクロ化されたイベントが順に読み出され、該当す
るアプリケーションに配送される。このようなイベント
の取得は、例えばマクロ化の対象となるウィンドウより
優先順位の高い透明のウィンドウにより行われる。これ
によって、複数のウィンドウ間にまたがって任意のイベ
ントを組み合せ、マクロ化を行うことが可能になる。
【0008】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。 [装置の概略]図1は、本発明のマルチウィンドウ情報
処理装置実施例を示すブロック図である。この装置は、
キーボード10、ポインティングデバイス11、イベン
ト生成部12、マップ情報格納部13、イベント分配部
14を備えている。また、イベント分配部14の出力を
受け入れるマクロ登録処理部30には、アプリケーショ
ン(AP)情報格納部15、イベント取得解析部16、
マクロ情報格納部17、マクロ制御部18、イベント再
構成送出部19が設けられている。このマクロ登録処理
部30の出力するイベントは任意の数のウィンドウ3i
に供給される。このウィンドウは、例えば3i〜3nと
いうように表示する。ウィンドウを合成して表示するた
めに、表示合成部20と表示部21とが設けられてい
る。
【0009】図に示すような構成は、マクロ登録処理部
30を除き、一般的なパーソナルコンピュータやワーク
ステーションに標準的に設けられているものである。な
お、イベント生成部12から表示合成部20までは、通
常、ソフトウェア処理により実現される。キーボード1
0やポインティングデバイス11は入力処理のための手
段である。また、イベント生成部12はキーボード10
やポインティングデバイス11からの入力信号によりイ
ベントを生成する部分である。マップ情報格納部13に
は、ウィンドウの表示状態等を制御するマップ情報が格
納されている。イベント分配部14は、マップ情報と生
成されたイベントによってイベントの送出ウィンドウを
選択する。
【0010】ウィンドウ3iはアプリケーション毎に設
けられる。表示合成部20は、これらのウィンドウ3i
をマップ情報格納部13に格納されたマップ情報を参照
しながら設定された順に重ね合わせ合成する部分であ
る。表示部21はディスプレイ等から構成され、表示合
成部20の出力によってマルチウィンドウを制御する。
マクロ登録処理部30は、本発明において新たに設けら
れたもので、マクロ登録のための指示があると、後で説
明するような手順でアプリケーション間をまたがること
のできるマクロの登録を行い、そのマクロの実行を可能
にする。
【0011】図2に、このマクロ登録処理部30に設け
られたマクロ制御部18を含むマクロ情報格納部周辺の
ブロック図を示す。この図に示すように、マクロ制御部
18には、登録をすべき指示や登録対象となるイベント
やマクロ実行のための指示等を含むイベント情報が入力
する。これは、コマンド解析部51に受け入れられる。
この他に、マクロ制御部18にはコマンド解析部51の
信号の転送先を選択する入力選択部52と、マクロ実行
の際に動作する判定用バッファ53や、マクロ比較部5
4と、マクロ制御部18から出力されるイベントを選択
する出力選択部55が設けられている。マクロ情報格納
部17には、マクロ命令を特定するための名称に相当す
るマクロ命令を格納するためのマクロ命令格納部62
と、そのマクロの内容を格納するマクロ内容格納部61
が設けられている。
【0012】[装置の使用データ]まず、ここで、この
装置で使用するデータの概要を説明する。図3には、使
用データ概要説明図を示す。まず、ウィンドウ識別子W
Iは、ウィンドウ3iに順に付与される識別子である。
この識別子は全てのウィンドウに対してユニークとなる
値が付与される。このウィンドウ識別子WIの中で、特
に実際にアプリケーションが稼働しているウィンドウの
識別子を実体ウィンドウ識別子RWIと呼ぶ。また、後
で説明する本発明で特にマクロ処理のために設けられる
透明な入力専用ウィンドウの識別子を透明ウィンドウ識
別子TWIとする。このウィンドウによってイベント取
得が行われる。
【0013】アプリケーション種別APは、あるウィン
ドウ3iで稼働するアプリケーションの名前やクラス名
を示す。例えば、この実施例ではターム(term)という
文字データを扱うアプリケーションと、ドロー(draw)
という描画等のグラフィカルデータを扱うアプリケーシ
ョンと、ルート(root)というマルチウィンドウ情報処
理装置を集中的に管理する特別なアプリケーションが稼
働するものとする。
【0014】イベント種別EVは、システム内部での情
報の授受が簡便になるようにまとめられた情報の種類を
示す。イベント種別EVには多くの種類のものがある
が、この実施例では、特に図に示したムーブ(Move)、
クリック(Click )、ドラッグ(Drag)、プレス(Pres
s )といった入力イベントを取り扱う。例えば、ムーブ
(Move)というイベントは、ポインティングデバイス1
1が動かされたときに生成されるイベントである。プレ
ス(Press )というイベントはキーボード10が押し下
げられたときに生成されるイベントである。また、懇請
イベントRQEVはイベント種別EVのうちの特殊なも
ので、アプリケーションが懇請しているイベントであ
る。このイベントは、発生した多くのイベントの中でア
プリケーションに送られるべきイベントを指定するため
のものである。そして、イベント番号EVNはイベント
を識別するために便宜上付けられた番号である。
【0015】イベント発生位置XEは、ウィンドウ内の
イベントが発生したX軸方向の位置を示す。また、イベ
ント発生位置YEは、ウィンドウ上のY軸方向の位置を
示す。ボタン押し下げ情報BTは、ポインティングデバ
イス11のボタンが押し下げられた場合に、どのボタン
が押し下げられたかという情報である。これには、左ボ
タン、中ボタン、右ボタン等がある。また、キーボード
押し下げ情報KYは、キーボード10のキーが押し下げ
られた場合に、どのキーが押し下げられたかという情報
である。この内容としては、“A”〜“z”等がある。
なお、Ctrl+“A”は、Ctrlキーを押し下げながら
“A”キーを押したことを示している。イベント発生条
件EOCは、そのイベントが発生する条件を示してい
る。
【0016】イベント発生時刻Tはイベントが発生した
時刻を表しており、イベント発生時間間隔DTは、イベ
ントから次のイベントが発生するまでの時間を表してい
る。ウィンドウX位置X及びウィンドウY位置Yは、表
示画面の左隅頂点を基準点W(0,0)とし、それぞれ
右方向をXの正方向、下方向をYの正方向とした各ウィ
ンドウ3iの右下隅までのピクセル数を示す。また、ウ
ィンドウ幅W及びウィンドウ高Hは、それぞれウィンド
ウ3iの幅及び高さのピクセル数を格納している。ウィ
ンドウ優先度Pはウィンドウ3iの重なり具合いを表し
ており、このPの数値が大きくなるほど手前に表示され
る。
【0017】上記のような装置にイベントを入力するに
は、文字的情報の入力にキーボード10が用いられる。
また、グラフィカル情報はマウスやトラックボールとい
ったポインティングデバイス11が用いられる。入力さ
れた情報は、先に説明したようにイベント生成部12に
よってシステム内部での取扱いが簡単なイベントに変換
される。個々のイベントを区別するために、各イベント
にはイベント番号EVNが付けられる。以下、この明細
書では各イベントをイベントEjとして区別する。jは
イベント番号EVNのことである。このイベント番号に
よって、図1に示したイベント分配部14は、マップ情
報格納部13を参照して配送先のウィンドウ3iを決定
する。
【0018】図4に、イベントの例説明図を示す。例え
ば、この図に示すように、クリック(Click )、ドラッ
グ(Drag)、ムーブ(Move)、プレス(Press )といっ
た各イベントが、それぞれいずれかのウィンドウ上で発
生すると、その発生した位置座標、イベント発生時刻等
がイベント毎に情報テーブル化される。
【0019】図5に、マップ情報の例説明図を示す。マ
ップ情報は、例えばこの図に示すように、ウィンドウの
識別子に対応して、その表示位置や幅、重なり合い位置
等を順にテーブル化した構成となっている。各ウィンド
ウ3iでは、稼働しているアプリケーションにイベント
Ejを与えると、アプリケーションは適宜処理を実行
し、必要に応じて処理結果をグラフィカルな情報として
表示合成部20に送る。表示合成部20ではマップ情報
格納部13のマップ情報を元にウィンドウ3iの重なり
具合いを決定し、各ウィンドウ3iからのグラフィカル
情報を合成し、表示部21へ出力する。
【0020】[ウィンドウ]図6に、ウィンドウ表示例
説明図を示す。図5に示したようなマップ情報に基づい
てウィンドウを表示すると、この図に示すようになる。
ここでは、最大のウィンドウ3nの上に2枚のウィンド
ウ31、32が表示されている。このウィンドウの重な
り具合いは、上からウィンドウ31、ウィンドウ32、
ウィンドウ3nの順となっている。なお、本発明の実施
にあたっては、各ウィンドウ上で発生したイベントを取
り込むために、この例では各ウィンドウ上にそのウィン
ドウと完全に重なるように各アプリケーションより1つ
だけ優先順位の高い透明ウィンドウ41、42、4nを
設けている。
【0021】この透明ウィンドウは、各アプリケーショ
ンが稼働するウィンドウ上で発生するイベントを各アプ
リケーションに配送される前に横取りする。この横取り
は、図1に示すイベント取得解析部16により行われ
る。更に、マクロ登録処理部30中のアプリケーション
情報格納部15は一定のアプリケーション情報を用いて
アプリケーション種別の解析等を行う。即ち、そのイベ
ントについて、対応するアプリケーションの性質に応じ
た適切な解析を実行する。マクロ制御部18は、マクロ
化用及びマクロ実行用のコマンドの検出とマクロの登
録、マクロの実行等の処理を行う部分である。イベント
再構成送出部19は、当初に取り込んだイベントEjと
マクロ実行時マクロ制御部18から出力されるイベント
Ejとの整合性を確保し、該当するアプリケーションの
ウィンドウにそのイベントを配送する処理を実行する部
分である。
【0022】[イベント取得と解析]まず、図1に示し
たイベント取得解析部16の動作について説明する。こ
のイベント取得解析部16は、図6で説明したように、
アプリケーションが稼働している各ウィンドウ3iの上
にそのウィンドウ3iと同じ大きさの入力専用の透明ウ
ィンドウ4iを作成し配置することによって、イベント
を横取りする。即ち、従来、各ウィンドウ3iに入力さ
れていたイベントが透明ウィンドウ4iの方に入力され
る。これによって、イベントの取得を実現する。なお、
イベントの横取りは、例えばこの他に、マルチウィンド
ウ化したアプリケーションを表示するための画面上でマ
クロ化の対象となる全てのウィンドウより優先順位の高
い透明なウィンドウを1つ設定することでも達成され
る。なお、この場合にはどのアプリケーションに対する
イベントであるのかをウィンドウ構成とイベントの発生
位置等により判定し処理するための演算が必要となる。
ウィンドウ毎にそのウィンドウに完全に重なる透明のウ
ィンドウを設けるようにすれば、ウィンドウ単位でその
イベントを管理でき、位置情報の管理は簡単になる。従
って、この実施例では後者の例を使用してその具体的な
説明を行う。
【0023】[初期化処理]透明ウィンドウ4iの作成
配置処理を初期化処理と呼ぶ。図7に、初期化処理のた
めの動作フローチャートを示す。まず、図7のステップ
S1において、i番目のウィンドウ3iの各種情報とそ
の上で稼働しているアプリケーションの各種情報を取得
し、アプリケーション情報格納部へ格納する。
【0024】なお、この各種情報は、該当するアプリケ
ーションのイベントの内容を解析するために必要な情報
である。即ち、i番目のウィンドウ3iの識別子情報や
表示位置や大きさといった情報と、そのウィンドウ上で
稼働しているアプリケーションの種類や懇請しているイ
ベントの種別等を取得し格納する。イベント取得解析部
16やイベント再構成送出部19は、このアプリケーシ
ョン情報を使用してその後の動作を実行する。
【0025】図8には、アプリケーション情報の例説明
図を示す。例えば、ターム(term)という名称のアプリ
ケーションについては懇請されているイベントはプレス
(Press )やムーブ(Move)である。更に、その実ウィ
ンドウ、透明ウィンドウの識別子がアプリケーション情
報に含められる。次に、図7のステップS2において、
アプリケーション格納部のウィンドウ情報から入力専用
の透明ウィンドウを作成し配置する。即ち、ここでは表
示位置や大きさは元のアプリケーションのウィンドウと
全く同じで、入力専用の透明のウィンドウ4iを作成す
る。そして、その各透明ウィンドウ4iを元のウィンド
ウ3iより優先順位を1つだけ高いところに配置する。
これによって、実ウィンドウ3iに入力されるべきイベ
ントが透明ウィンドウ4iへ入力され、目的とするイベ
ントの横取りが実現できる。なお、各透明ウィンドウ4
iのウィンドウを識別子n+iとし、これもアプリケー
ション情報格納部15へ格納する。これは、図8に示し
た通りである。
【0026】ステップS3では、マクロ化やその実行の
ために必要なイベントを別途懇請している。マップ情報
格納部13に格納すべき情報はこのようにして得られ
る。図9には、透明ウィンドウ貼り付き後のマップ情報
の例説明図を示す。この図に示すように、識別子WIが
1〜nの実ウィンドウに対しn+1〜2nの透明ウィン
ドウが、それぞれ図に示すようにマッピングされてい
る。
【0027】[マクロ登録処理]次に、マクロ登録操作
についての説明を行う。マクロの登録は、マクロを起動
した際に実行する内容、即ちイベント列から成るマクロ
内容の登録と、そのマクロを起動させるための命令、即
ちマクロ命令の登録による。図2に示すマクロ命令格納
部62にはこのようなマクロ命令が格納され、マクロ内
容格納部61にはイベント列から成るマクロ内容が順に
マクロ命令と対応付けて格納される。コマンド解析部5
1は入力するマクロ制御イベントを検出する。また、入
力選択部52は、コマンド解析部51の検出した情報に
よってイベントの出力先を選択する。判定用バッファ5
3はマクロ実行命令を判定するためにイベントを一時的
に保持するためのメモリである。マクロ比較部54はマ
クロ命令格納部62に格納されたマクロを構成するイベ
ント列と、判定用バッファ53に格納されたイベント列
とを比較する部分である。出力選択部55はこの判定用
バッファ53の出力によりイベントを取り出して出力す
る方向を選択する。
【0028】なお、上記のようなマクロの登録を実現す
るため、次の3つのマクロ制御イベントを定義する。 マクロ内容登録イベントEd これはマクロ内容の登録を開始させるイベントである。
マクロ制御部18はこのイベント以降からマクロ命令登
録イベントEcが出現するまでのイベント列をマクロ内
容としてマクロ内容格納部61へ格納する。具体的に
は、任意のウィンドウにおいてKYデータがAlt+
“D”となるプレスイベントが発生したとする。なお、
このイベントは、Altキーを押しながら“D”キーを
押し下げするといった内容のものである。
【0029】マクロ命令登録イベントEc これは、マクロの内容の登録を終了させ、マクロ命令の
登録を開始させるイベントである。マクロ制御部18は
このイベント以降からマクロ登録終了イベントEeが出
現するまでのイベント列をマクロ命令としてマクロ命令
格納部62に格納する。具体的には、例えば任意のウィ
ンドウ上でKYデータがAlt+“C”となるプレスイ
ベントが発生した場合とする。従って、Alt+“D”
のプレスイベントからAlt+“C”のプレスイベント
の間までに入力されたイベントがマクロ内容として登録
される。 マクロ登録終了イベントEe これはマクロ命令の登録を終了させるイベントである。
具体的には、任意のウィンドウにおいてKYデータがA
lt+“E”となるプレスイベントが発生した場合とす
る。このイベントが発生するとマクロ内容とマクロ命令
の登録が全て終了し、通常のアプリケーション処理に移
る。
【0030】ここで、具体的に登録すべきマクロ命令の
実例を説明する。図10には、マクロ登録操作例説明図
を示す。この例では、例えば図6を用いて説明したマル
チウィンドウ上でキーボード10やポインティングデバ
イス11を用いてイベントを発生させ、これをマクロ化
する。まず、最初にこの図に示すように、ポイントp1
において、ポインティングデバイス11の左ボタンをク
リック(Click )する。その位置座標はこの図に示した
通り、w2(250,200)である。次に、ポイント
p1〜ポイントp2までポインティングデバイス11の
左ボタンを押しながらドラッグ(Drag)をする。ポイン
トp2の位置座標はw2(250,300)である。次
に、ポイントp2〜ポイントp5までポインティングデ
バイス11を移動させる。
【0031】図を見て明らかなように、ポイントp1、
p2はウィンドウ32の内部における点である。しかし
ながら、ポイントp5はウィンドウ31の内部に存在す
る点である。即ち、ここでは2種のアプリケーションに
またがるポインティングデバイスの移動をマクロ登録し
ようとしている。ここで、ポイントp5において、キー
ボード10の“a”キーを押し下げする。この実施例で
は、これもマクロに含めて登録する。ここでは、上記の
ようなマウスの操作を、キーボード10を用いてCtrl+
“X”を押し下げた後、Ctrl+“Y”を押し下げるマク
ロ命令によって実行するといったマクロの登録について
説明を行う。
【0032】[イベント取得解析処理]次に、図1に示
したイベント取得解析部16において実行されるイベン
ト取得解析処理について説明を行う。図11は、イベン
ト取得解析処理フローチャートである。なお、図12に
は、このときに使用されるマクロ登録時のイベント取得
解析部への入力イベント説明図を示し、図13にはマク
ロ登録時のマクロ制御部入力イベント説明図を示す。
【0033】まず、図11のステップS1において、透
明ウィンドウからイベントEjを取得する。例えば、図
12に示した説明図中のイベント番号EVNが“1”の
マクロ登録開始イベントの場合、見かけ上ウィンドウ識
別子WIが“2”であるウィンドウ上でキーボード10
のAlt+“D”キーを押し下げている。この入力イベ
ントは、ウィンドウ識別子TWIがn+2である透明ウ
ィンドウに入力されている。
【0034】次に、図11のステップS2において、ア
プリケーション情報格納部を参照し、ウィンドウ識別子
WIをアプリケーション種別APへ変換する。これは、
アプリケーション情報格納部15を参照しながら実行す
る。例えば、図12に示したイベント番号EVNが
“1”のマクロ登録開始イベントのウィンドウ識別子W
Iはn+2である。これが図13に示すように、アプリ
ケーション種別APがドロー(draw)となるように変換
される。
【0035】図11のステップS3では、イベント発生
時刻Tからイベント発生時間間隔DTを計算する。即
ち、ここで時間的な正規化を行い、これをイベントEj
に付与する。これによって、マクロ命令実行の際の実行
速度が適正に設定される。こうして変換が終了した図1
3に示すようなイベントデータが、図11のステップS
4においてマクロ制御部18へ送り出される。
【0036】[マクロ登録処理]次に、図1に示したマ
クロ制御部18で実施するマクロ登録処理について説明
する。図14に、マクロ登録処理フローチャートを示
す。まず、図14のステップS1において、マクロ内容
の登録状態かどうかを判断する。これはマクロ内容登録
イベントEdが入力後の状態かどうかを判断する部分で
ある。その次のステップS2において、マクロ命令登録
イベントEcが入力したかどうかを判断する。マクロ内
容の登録作業はこれによって終了し、マクロ命令の登録
作業はこのイベントEcによって開始される。従って、
イベントEcが入力する前はステップS3に移り、マク
ロ内容登録状態にする。そして、イベントEc入力後は
マクロ命令を登録する状態にする。
【0037】なお、ステップS1の判定の際は、図2に
示す入力選択部52がコマンド解析部51を端子Idに
接続しているかどうかを検査する。端子Idに接続され
ている場合は、イベントはマクロ内容格納部61に格納
されるとともに、そのままマクロ制御部18へ向けて出
力側に送られる。従って、マクロ内容登録状態になる。
ステップS2では、入力されたイベントがAlt+
“C”のキーボード押し下げによるものかどうか判定を
行う。入力されたイベントがマクロ命令登録イベントE
cであると判定した場合、ステップS4に移り、システ
ムの状態をマクロ命令登録状態に切り換えてこの処理を
終了する。マクロ命令登録状態では、図2に示す入力選
択部52がコマンド解析部51を端子Icを介してマク
ロ命令格納部62に接続する。
【0038】一方、マクロ命令登録イベントEc発生前
はステップS2からステップS3に移り、入力したイベ
ントEjをマクロ情報格納部17へ格納し処理を終了す
る。マクロ内容の格納の際は図2に示す入力選択部52
を端子Idへ接続し、イベントEjはこの端子Idを介
してマクロ内容格納部61に格納される。
【0039】ステップS5では、現在のシステムの状態
を検査し、マクロ命令登録状態かどうかを判断する。マ
クロ命令登録状態であればステップS6に移り、そうで
なければステップS9に移る。ここでは、図2におい
て、入力選択部52が端子Icに接続されているかどう
かを検査する。
【0040】図14のステップS6では、マクロ登録終
了イベントEeが入力したかどうかの判断を行う。ここ
では入力されたイベントがAlt+“E”のキーボード
押し下げによるものかの判定を行う。このステップでマ
クロ登録終了イベントEeであると判断した場合、ステ
ップS8に移り、システムの状態を通常の状態にして本
処理を終了する。一方、マクロ登録終了イベントEeで
ない場合、ステップS7に移り、マクロ命令格納部62
へイベントEjを格納する。
【0041】図2において、コマンド解析部51によっ
て入力イベントがAlt+“E”のプレスイベントと判
断されれば、入力選択部52を端子Ibへ接続する。そ
うでなければ、現在入力選択部52はIcへ接続されて
いる状態であって、そのイベントは命令格納部62に格
納される。
【0042】ステップS9では、マクロ内容登録イベン
トEdかどうかの判断を行う。入力されたイベントがA
lt+“D”のキーボード押し下げによるものかの判定
を行う。ここで、マクロ内容登録イベントEdであると
判断した場合には、ステップS10へ移り、システムの
状態をマクロ内容登録状態として本処理を終了する。一
方、そうでない場合には、ステップS11へ進み、マク
ロ実行処理を行う。図2において、コマンド解析部51
によって入力イベントがAlt+“D”のプレスイベン
トであれば入力選択部52をIdへ接続する。それ以外
の場合はマクロ実行状態であるから、入力選択部52を
Ibへ接続し、そのイベントは判定用バッファ53に格
納される。
【0043】図15に、この実施例において入力するマ
クロ情報の例説明図を示す。この図に示すように、マク
ロ内容は例えば6個のイベントから構成されている。ま
た、このマクロは2個のイベントから成るマクロ命令に
よって選択し実行する仕組みになっている。なお、マク
ロ内容登録状態では、図2に示す出力選択部55は端子
Odに接続されており、そのときのイベントEjはイベ
ント再構成送出部19へ送られ、そのままウィンドウ3
iに向け送出される。
【0044】図16に、そのようなマクロ登録時のウィ
ンドウへの入力イベント説明図を示す。この図に示すよ
うに、マクロ登録時は透明ウィンドウに各イベントが取
り込まれるが、その後そのままの形で各アプリケーショ
ンのウィンドウに送出される。従って、マクロ命令登録
時には各アプリケーションにおけるそのイベントに基づ
く処理がそのまま実行される。
【0045】[マクロ実行処理]次に、マクロ制御部1
8で実施するマクロ実行処理について説明を行う。図1
7は、マクロ実行処理の動作を説明するフローチャート
である。このステップS1において、入力イベントEj
を図2に示す判定用バッファ53の末尾へ格納する。な
お、図2において、マクロ実行時には入力選択部52は
コマンド解析部51を端子Ibに接続した状態となって
いる。従って、入力イベントは判定用バッファ53に送
られ格納される。
【0046】図17のステップS2では、図2に示した
判定用バッファ53の中のイベント列と、マクロ命令格
納部62に格納されたマクロ命令を構成するイベント列
とをマクロ比較部54により順次比較する。そして、両
者が一致するものがあれば実行可能なマクロ命令があっ
たと判断する。ステップS2において、実行可能なマク
ロ命令があると判断した場合にはステップS3に移り、
該当するマクロ命令のマクロ内容イベントを出力可能な
端子、例えばOm1に出力する。出力選択部55はこのと
きマクロ内容格納部61の出力を受け入れるようにその
スイッチを切り換える。図17のステップS4では、判
定用バッファから該当マクロ命令イベントを削除する。
ステップS3で、マクロ内容格納部61のマクロ内容を
順次送り出し、更にステップS4では、該当するマクロ
命令のイベント列を判定用バッファから削除し、残りの
イベントを、イベント列判定用バッファ53内において
前方にシフトさせる。
【0047】ステップS7では、判定用のバッファ53
が空であるかを判断し、空でなければ再びステップS2
へ戻り、S2〜S7までの処理を繰り返す。空であれば
この処理を終了する。一方、ステップS2において実行
可能なマクロ命令が存在しなかった場合、ステップS5
に進んでマクロ実行候補があるかどうかの検査を行う。
候補があった場合にはこの処理を終了する。また、候補
がない場合にはステップS6に移り、出力選択部55を
Obに接続し、判定用バッファ53で最も古いイベント
を送出して判定用バッファが空になったかの検査を行
う。この検査はステップS7で行う。例えば、図16に
示すようなイベントの入力があったとき、判定用バッフ
ァは具体的に次のように動作する。
【0048】図18に、マクロ実行時の判定用バッファ
内容説明図を示す。まず、ステップS1において、空の
初期状態の判定用バッファ53にイベントE21が入力す
る。次にステップS2で、マクロ比較部54を用いてマ
クロ命令格納部62に格納されたマクロのイベントと比
較する。なお、予め図2に示すマクロ命令格納部62の
イベントE9 とイベントE10には、予めマクロ命令実行
のためのイベントE22、E23と一致する内容が格納され
ているものとする。
【0049】図19には、このようなマクロ実行時のイ
ベント取得解析部入力イベント説明図を示す。また、図
20には、マクロ実行時のマクロ制御部入力イベント説
明図を示す。再び、図18に戻って、最初に入力したイ
ベントE21はこのまま判定用バッファ53に保存される
(ステップS2)。次に、図18のステップS3におい
て、次のイベントE22が判定用バッファ53に入力す
る。ステップS4では、マクロ比較部54が比較を行
う。
【0050】この場合、イベントE21、E22の内容はマ
クロ命令格納部62のイベントE10、E9 と対応させて
等しくないので、判定用バッファ53に格納されている
イベント列はマクロ実行のためのトリガとならない。ス
テップS5では、最も古いイベントであるイベントE21
を出力選択部55へ送る。同時に判定用バッファ53の
内部を整理する。そして、出力選択部55が端子Obに
接続され、イベントE21は次のイベント再構成送出部1
9へ送られる。
【0051】一方、判定用バッファ53はまだ空でない
ため、判定用バッファ53の内容がマクロ実行可能な候
補となるかどうかの検査を行う。ここで、ステップS6
において、イベントE23が入力されると、イベント列E
22、E23はマクロ命令格納部62に格納されたイベント
列E9 、E10と等しくなる。従って、マクロが実行可能
になる。
【0052】図18のステップS6では、次のイベント
E23が判定用バッファ53の内部に入力される。ステッ
プS7でマクロ比較部54を同様に比較すると、E10=
E23であり、マクロ番号1のマクロ命令と一致する。こ
のため、出力選択部55はOm1へ接続され、マクロ番号
1のマクロ内容が送出される。図18のステップS8で
は、判定用バッファ53の内容がクリアされ空になり、
この処理を終了する。
【0053】図21に、マクロ実行時のイベント再構成
送出部入力イベント説明図を示す。上記のことから、次
のようにマクロが実行される。図21は、マクロ実行時
のイベント再構成送出部入力イベント説明図である。登
録されたマクロを実行すると、この図に示すような順番
にイベントが出力される。
【0054】[イベント再構成送出処理]次に、イベン
ト再構成送出処理について説明する。図23は、イベン
ト再構成送出処理フローチャートである。まずステップ
S1において、イベント発生時刻Tが不明なイベントE
jはイベント発生時間間隔DTより計算をする。マクロ
制御部18で生成されたイベントEjはイベント発生時
刻Tが不明になる。従って、イベントEjのイベント発
生時刻Tをイベント発生時間間隔DTと、直前のイベン
トのイベント発生時刻Tより算出して適切なイベントの
再生を行う。また、アプリケーションの動作に支障のな
い範囲でイベント発生時間間隔DT及びイベント発生時
刻Tを操作することも可能であり、例えばイベント発生
時間間隔DTを短くすることにより高速なイベントの再
生を行うことが可能となる。
【0055】次にステップS2において、アプリケーシ
ョン情報格納部を参照して、その結果から、アプリケー
ションは本来そのイベントを懇請していたかどうかを判
断する。例えば、図8に示した各アプリケーションのか
っこ内のイベントは、マクロ機能を実現するためにシス
テムが別途懇請したものである。従って、これらのイベ
ントはウィンドウ3iに送出する必要がないため、これ
に該当した場合には処理を終了する。ステップS3で
は、アプリケーション情報格納部を参照し、アプリケー
ション種別APをウィンドウ識別子WIに変換する。そ
して、ステップS4において、送出タイミングを図りな
がらイベントを該当ウィンドウに送出する。この送出タ
イミングは、イベント発生時刻Tや発生間隔DTにより
設定する。その結果、ウィンドウ3iには次のようなイ
ベントが順に送出される。
【0056】図22は、マクロ実行時のウィンドウ入力
イベント説明図である。なお、上記の実施例において、
キーボード10やポインティングデバイス11によって
イベントを入力したが、例えば音声認識装置を用いれば
音声によってイベントを入力することができ、画像認識
装置を用いればゼスチャー等によってイベントが入力で
きる。従って、マクロ命令の登録やマクロ命令の実行
も、このような入力手段により入力が可能となる。
【0057】上記の装置によれば、表示部に表示された
複数のアプリケーションにまたがったマクロ機能が実現
する。しかも、複数のアプリケーション間でも単一のア
プリケーション内でもキーボード10による文字入力情
報とポインティングデバイス11による位置入力情報の
複合した情報を組み合わせたマクロ機能を実現すること
が可能になる。
【0058】[マクロ命令の重複防止]ところで、上記
のようなマクロ機能を実現した場合、あるマクロを実行
するためにはそのマクロ命令を覚えておく必要がある。
また、任意にマクロ命令を設定すると、既に登録したマ
クロ命令と同一のマクロ命令を再び登録してしまうおそ
れがある。従って、このような重複を避けなければ効果
的なマクロ命令の利用が不可能になる。これを解決する
ために、マクロ制御部に補完機能を付与する。この補完
機能を付与すると、例えば操作1、操作2、操作3、操
作4という手順でマクロが登録され実行されるものとす
れば、マクロ命令を入力するのでなく、操作1、操作2
というようにイベントを入力すると、そのイベントの入
力順によって該当するマクロを検索し実行する。なお、
この場合、既に操作1、操作2という処理は実行されて
いるので、残りの操作3、操作4が続いて実行されるこ
とになる。
【0059】図24に、このような補完機能を有する装
置の実施例ブロック図を示す。この実施例は、マクロ制
御部18の部分に補完機能を持たせた具体的な例を示し
ている。マクロ情報格納部17にはマクロ内容格納部6
1を設ける。即ち、この実施例ではマクロ命令格納部は
存在しない。また、マクロ制御部18におけるコマンド
解析部51、入力選択部52、出力選択部55は、既に
説明した図2に示した実施例と同様のものである。判定
用バッファ53は入力したイベントを一時的に格納する
ためのバッファメモリである。マクロ比較部54はマク
ロ内容格納部61に格納されたマクロを構成するイベン
ト列と、判定用バッファ53に格納された単数又は複数
のイベントとを比較するための部分である。出力選択部
55は、このマクロ比較部54の出力により接続切換え
が決定される。送出位置指定部56は、マクロ内容格納
部61に収められたマクロ内容のイベント列から順番に
必要なイベントを取り出し、出力選択部55に向けて送
り出すための部分である。このようなマクロ制御部18
やマクロ情報格納部17を使用した場合、イベント取得
初期化等の処理は、既に説明した図1や図2に示す実施
例と全く変わるところはない。
【0060】次に、マクロの登録は次のような2つのマ
クロ制御イベントを用いて行う。 マクロ内容登録イベントEd これはマクロ内容の登録を開始させるイベントである。
マクロ制御部18は、このイベント以降からマクロ登録
終了イベントEeが出現するまでのイベント列をマクロ
内容としてマクロ内容格納部61へ格納する。具体的に
は、任意のウィンドウにおいて、KYデータ、Alt+
“D”となるようなプレスイベントが発生した場合とす
る。なお、このキー操作はAltキーを押しながら
“D”キーを押し下げする処理となる。
【0061】マクロ登録終了イベントEe これはマクロの内容の登録を終了させるイベントであ
る。具体的には、任意のウィンドウ上でKYデータがA
lt+“E”となるプレスイベントが発生した場合とす
る。イベント取得解析処理については、既に図1や図2
を用いて説明した例と同様である。
【0062】図25に、マクロ登録処理フローチャート
を示す。まず、図25のステップS1において、マクロ
内容の登録状態かどうかを判断し、ステップS2におい
て、マクロ登録終了イベントEeかどうかを判断する。
ステップS1でマクロ内容登録状態でなければステップ
S5に移り、マクロ内容登録イベントEdかどうかを判
断する。そして、ステップS2では、マクロ登録終了イ
ベントEeかどうかの検査を行い、そうであればステッ
プS4に移り、通常状態にして処理を終了する。また、
マクロ登録終了イベントEeでなければステップS3に
移り、マクロ内容格納部61へイベントEjを格納す
る。一方、ステップS5において、マクロ内容登録イベ
ントEdであると判断されると、ステップS6に移り、
マクロ内容登録状態とする。また、そうでなければステ
ップS7に移り、マクロ実行処理を行う。これらの処理
は、既に図14を用いて説明したものと同様であり、図
14のマクロ命令登録状態に関する処理がないものに相
当する。なお、絶対的な時間であるイベント発生時間T
は不要であるため、マクロ内容格納部へは格納しない。
【0063】このような一連の操作を登録する例を次の
図26、図27に示す。図26は、マクロ登録時のマク
ロ制御部入力イベント説明図である。また、図27は、
マクロ情報の例説明図である。即ち、図26に示すよう
な入力イベントが順にマクロ制御部へ入力した場合に、
図27に示すようなマクロ情報が得られ、格納される。
なお、図24に示す出力選択部55は、マクロ実行状態
ではマクロ情報格納部17の出力を受け入れるよう接続
を行っており、それ以外の状態では端子Otに接続さ
れ、コマンド解析部51から受け入れられたイベントを
そのまま出力する構成となっている。図26に示すイベ
ントE2 〜E7 は、図24において、コマンド解析部5
1から入力選択部52を介して端子Idを通じ、マクロ
情報格納部17に順に格納される一方、端子Otを通
じ、イベント再構成送出部19へ直接送られることにな
る。
【0064】[マクロ実行]マクロ実行処理の概要を次
に述べる。マクロの実行は、マクロ実行イベントExが
入力されることによって開始される。この場合、図24
に示したマクロ内容格納部61に登録されているマクロ
内容と、判定用バッファ53内に格納された単数又は複
数のイベントとの一致度評価を行い、一致度の高いマク
ロが存在すると、実行される。即ち、この場合には、マ
クロ命令の判定ではなく、イベント列そのものを比較
し、入力された1個のイベントやイベント列が、既に登
録されているマクロのイベント列の先頭部分と一致すれ
ば、そのマクロを実行するといった方法を採用する。
【0065】図24に示したマクロ比較部54は、一致
度の高い実行可能なマクロがどこまで一致しているか、
どこまで実行されているかという情報を送出位置指定部
56へ送る。そして、送出位置指定部56は、未実行部
分のイベントを図1のイベント再構成送出部19へ送出
する。即ち、この実施例では、マクロ実行状態にあっ
て、マクロを構成する最初のいくつかのイベントが実行
されると、そのイベント列で始まるマクロを探し、該当
するものがあれば残りのイベント列を順に実行する。な
お、マクロ実行イベントExは、具体的には例えばマク
ロ登録関係のイベントと同様に、任意のウィンドウ上で
KYデータがAlt+“X”となるようなプレスイベン
トが発生した場合とする。
【0066】[マクロ実行処理]次に、マクロ制御部1
8で実施するマクロ実行処理の詳細について説明する。
図28に、判定用バッファとマクロ内容格納部の内容説
明図を図示した。図において、判定用バッファ53は最
も長いマクロ内容と同じ容量を持つバッファにより構成
されている。そして、時刻tに判定用バッファ53に格
納されたイベントEjをEb(t)とし、同様に過去に
遡って時刻t−1、t−2、…に格納されたイベントE
jをEb(t−1)、Eb(t−2)というように表
す。判定用バッファ53が格納しきれない過去のイベン
トEjは破棄される。
【0067】一方、マクロ内容格納部61にはマクロと
して登録されたイベントEjが順番に格納されている。
その中のEm(K,1)はK番目のマクロの先頭から1
番目のイベントを表している。そして、ハッチングを付
した部分がマクロ比較部54により比較される場所を示
している。
【0068】図29に、マクロ実行処理フローチャート
を示す。まず、ステップS1において、マクロ実行開始
イベントExかどうかの判断がされる。マクロ実行イベ
ントExであればステップS2に移り、マクロ実行を開
始する。そうでなければステップS3に移り、入力イベ
ントEjを判定用バッファ53へEb(t)として格納
する。
【0069】ステップS2では、判定用バッファ53で
全ての登録済マクロとの一致度評価処理を行う。即ち、
図28に示した要領で、入力したイベント列と格納され
たマクロの先頭部分のイベント列とを比較する。マクロ
比較部54はこのような比較を行い、ステップS4にお
いて、しきい値以上の一致度s(i)を持つマクロがあ
るかを判断する。一致度の一定以上のマクロがなけれ
ば、それで処理が終了する。また、一致度の高いマクロ
があればステップS5に移り、更に次のイベントを比較
し、一致度s(i)の高いマクロが2つ以上あるかどう
かを判断する。即ち、このステップS5では、一致度の
高いマクロが1つだけ存在するか2以上存在するかを判
断する。2以上存在すると、誤って間違ったマクロを実
行してしまう場合がある。従って、このような場合には
処理を終了し、マクロの実行をしない。
【0070】一方、一致度の高いマクロが1つしかない
場合にはステップS6に移り、その一致情報を送出位置
指定部56へ送る。この情報は、入力されたイベント列
と既に登録されているマクロを構成するイベント列とを
比較し、どこまで一致しているか、既にどこまで実行し
ているかを示す情報である。これによって、続いて送り
出すべきイベントを決定する。そして、ステップS7に
おいて、出力選択部55は一致度の高いマクロを選択し
て、その後、イベント列を連続的に送出する。なお、こ
の場合には、マクロが出力可能な端子Omnに接続してイ
ベント列を送り出せる状態にする。
【0071】[一致度評価]なお、一致度評価は次のよ
うにして行う。一致度評価の方法には様々な方法があ
る。この実施例では、単純に一致したイベントの長さを
一致度として用いる。図30に示した処理は、i番目の
マクロの一致度を評価する具体的な方法である。この図
の中で、i番目のマクロの長さをi番目マクロ長さl
(i)とし、i番目のマクロの一致度をi番目マクロ一
致度s(i)とする。
【0072】まず、図30のステップS1で、i番目マ
クロ一致度s(i)の初期値として、i番目マクロ長さ
l(i)から1を減じた値を代入する。この1を減じる
理由は、i番目マクロ一致度s(i)がi番目マクロ長
さl(i)である場合、入力完了により新たに送出すべ
きイベントがない状態を意味するからである。次のステ
ップS2では、各対応する位置にあるイベントを全て比
較してその全てが等しい場合、i番目マクロ一致度s
(i)を結果として出力し処理を終了する。一方、いず
れかのイベントが等しくなかった場合には、ステップS
3に移る。ステップS3では、i番目のマクロ一致度s
(i)を1だけ減じ、次のステップS4において、その
値が0より多いキーかの検査を行う。この値が0より大
きい場合にはステップS2に戻り、一致度評価を繰り返
す。一方、0以下となった場合にはそのi番目のマクロ
一致度s(i)を結果として出力し、その処理を終了す
る。このようにしてステップS1からステップS4まで
の処理を1番目からn番目までのマクロに適応して各i
番目マクロ一致度s(i)を求める。こうすれば、入力
されたイベントやイベント列と先頭部分が最も一致する
イベント列を持つマクロが選択される。
【0073】図31及び図32に、一致度評価処理概要
説明図を示す。この図は判定用バッファ53とマクロ内
容格納部61に順に格納されるイベントを比較する場合
の具体的な例を示している。まず、ステップS1におい
て、新しいイベントE21が判定用バッファ53に格納さ
れる。この場合、判定用バッファ53に既に格納されて
いるイベントが図の右方向にシフトし、左端の空き領域
にイベントE21が格納される。従って、判定用バッファ
53にはイベントE16〜イベントE20までが格納され
る。次に、ステップS2において、マクロ実行イベント
であるE22が入力され、一致度検査が開始される。ま
ず、マクロ内容格納部61に格納された最初のマクロ1
の長さl(1)が6であるため、1番目のマクロ一致度
s(1)の初期値は5となる。即ち、マクロ1を構成す
る5つのイベントE2 〜E7 のうち、先頭のイベントE
2 〜E6 を判定用バッファ53に格納された5つのイベ
ントE17〜E21と比較する。この場合、少なくともE21
とE6 とは一致しておらず、次の処理に進む。
【0074】ステップS3では、1番目マクロ一致度s
(1)では1ずつ減じられ、最終的に1番目マクロ一致
度s(1)が1となった場合の評価状態を示したもので
ある。即ち、マクロ内容格納部61の登録されたマクロ
位置の先頭部分のイベントE2 と判定用バッファ53の
最後に格納されたイベントE21とが比較される。この場
合、両者が不一致であれば、1番目マクロ一致度s
(1)は0となり、これによって、マクロ1についての
比較を終了する。
【0075】ステップS4では、同様にマクロ2の検査
を開始し、ステップS5では、マクロnの検査を行う。
なお、このステップS5までの例では、どのマクロも全
て一致していない。即ち、2番目マクロ一致度s(2)
からn番目マクロ一致度s(n)が全て0であり、所定
のしきい値、例えばしきい値を1に設定した場合、その
しきい値以上のマクロがなかったとして評価処理が終了
される。従って、この場合にはマクロ実行イベントEx
として入力したE22の要求に対するマクロは実行されな
い。そして、次のイベントE21をステップS1と同様に
して判定用バッファ53に格納する。ステップS6で
は、図示しないマクロ実行イベントが入力され、再びマ
クロ一致度評価が開始される。ここで、ステップS7
で、イベントE23とマクロ内容格納部61に格納された
マクロの先頭のイベントE2 とが一致したとする。この
場合、1番目マクロ一致度s(1)が1という評価結果
となる。なお、2番目マクロ一致度s(2)〜n番目マ
クロ一致度s(n)までが0であれば、送出位置指定部
56からイベント送出開始位置をEm(1,2)に出力
選択部55が端子Om1を選択する。その結果、マクロ内
容のイベントE3 〜E7が続いて送出される。
【0076】図33には、マクロ実行時のマクロ制御部
入力イベントを示し、図34には、この場合のマクロ実
行時のイベント再構成送出部入力イベント説明図を示
す。この図に示すように、上記マクロ内容のイベントE
3 〜E7 はイベントE32〜E35としてイベント再構成送
出部19へ送出され、マクロ実行が完了する。なお、上
記実施例では、例えばマクロの先頭のイベントが完全に
一致したり、あるいはマクロの先頭と次の2番目のイベ
ントとが入力されたイベント列と一致した場合、そのマ
クロが選択されるようにしたが、イベントが位置デー
タ、座標データ、時間データ等の場合に、ある程度範囲
を設定し、幅を持たせた方がマクロの呼出しが容易にな
る。従って、例えば一定の位置座標の場合、数ミリメー
トル以内の範囲にあればイベントは一致すると判断し、
処理を行うようにしてもよい。
【0077】以上の構成によって、マクロ命令を入力す
る代わりにマクロの内容の一部を入力し、自動的にこれ
に続くマクロを補完させることができる。これによっ
て、マクロ命令を覚えておく必要がなくなり、また、マ
クロ命令を重複して登録するといった問題を考慮するこ
とも不要になる。
【0078】本発明は以上の実施例に限定されない。イ
ベントの発生を監視してそのイベントが各アプリケーシ
ョンに配送される前にイベントを取得する方法は、透明
のウィンドウによらず、その他各種のOSの改良によっ
て実現が可能である。ただ、一般に広く採用されている
マルチウィンドウシステムに本発明を適用する場合、透
明のウィンドウを設定することが最も実用的で処理の高
速化が図れる。
【0079】また、透明のウィンドウ上で発生したイベ
ントがどのアプリケーションに属するかを認識するため
に、各透明のウィンドウに識別子を付けて区別するよう
にすれば、対応するアプリケーションの認識がそのウィ
ンドウの識別子により容易に判断できる。また、マクロ
命令とマクロ内容とを対応付けて格納し、マクロ命令を
入力することによってマクロを実行することも可能であ
る。後で説明した図24に示すような実施例を用いれ
ば、マクロ命令を使用することなくマクロの実行が可能
である。この場合、マクロを構成する先頭のイベントあ
るいは先頭からいくつかのイベント列が一致するマクロ
が2以上あるとき、どのマクロも実施しないようにすれ
ば誤ったマクロの実行が避けられる。この場合の比較す
るイベント数は自由でよい。また、マクロ操作の場合の
ポインティングデバイスによる位置座標入力は、マクロ
操作開始時の座標を原点として生成するようにしてもよ
い。
【0080】
【発明の効果】以上説明した本発明のマルチウィンドウ
情報処理装置によれば、イベント駆動型マルチウィンド
ウシステムを採用する情報処理装置において、イベント
の発生を監視し、そのイベントが各アプリケーションに
配送される前に、そのイベントを取得して解析するイベ
ント取得解析部と、そのイベントのマクロ化を行うマク
ロ制御部と、マクロ化されたイベントを格納するマクロ
情報格納部と、マクロ情報格納部から取り出したマクロ
化されたイベントを実行する際に、マクロを構成する各
イベントを再構成して該当するアプリケーションに配送
するイベント再構成送出部を備えるようにしたので、マ
ルチウィンドウシステム上でアプリケーション間にまた
がって動作するマクロを登録し利用することができる。
従って、マルチウィンドウシステムを利用した複数のア
プリケーション間のデータコピーやその他の処理を簡便
に行うことができ、優れたマンマシンインタフェースを
提供することができる。
【図面の簡単な説明】
【図1】本発明のマルチウィンドウ情報処理装置実施例
を示すブロック図である。
【図2】マクロ情報格納部周辺のブロック図である。
【図3】使用データ概要説明図である。
【図4】イベント例説明図である。
【図5】マップ情報の例説明図である。
【図6】ウィンドウ表示例説明図である。
【図7】初期化処理フローチャートである。
【図8】AP情報の例説明図である。
【図9】透明ウィンドウ貼り付け後のマップ情報の例説
明図である。
【図10】マクロ登録操作例説明図である。
【図11】イベント取得解析処理フローチャートであ
る。
【図12】マクロ登録時のイベント取得解析部の入力イ
ベント説明図である。
【図13】マクロ登録時のマクロ制御部入力イベント説
明図である。
【図14】マクロ登録処理フローチャートである。
【図15】マクロ情報の例説明図である。
【図16】マクロ登録時のウィンドウへの入力イベント
説明図である。
【図17】マクロ実行処理フローチャートである。
【図18】マクロ実行時の判定用バッファ内容説明図で
ある。
【図19】マクロ実行時のイベント取得解析部入力イベ
ント説明図である。
【図20】マクロ実行時のマクロ制御部入力イベント説
明図である。
【図21】マクロ実行時のイベント再構成送出部入力イ
ベント説明図である。
【図22】マクロ実行時のウィンドウ入力イベント説明
図である。
【図23】イベント再構成送出処理フローチャートであ
る。
【図24】補完機能を有する装置実施例ブロック図であ
る。
【図25】マクロ登録処理フローチャートである。
【図26】マクロ登録時のマクロ制御部入力イベント説
明図である。
【図27】マクロ情報の例説明図である。
【図28】判定用バッファとマクロ内容格納部の内容説
明図である。
【図29】マクロ実行処理フローチャートである。
【図30】一致度評価処理フローチャートである。
【図31】一致度評価処理概要説明図(その1)であ
る。
【図32】一致度評価処理概要説明図(その2)であ
る。
【図33】マクロ実行時のマクロ制御部入力イベント説
明図である。
【図34】マクロ実行時のイベント再構成送出部入力イ
ベント説明図である。
【符号の説明】
3i ウィンドウ 12 イベント生成部 13 マップ情報格納部 14 イベント分配部 15 AP情報格納部 16 イベント取得解析部 17 マクロ情報格納部 18 マクロ制御部 19 イベント再構成送出部 20 表示合成部 21 表示部 30 マクロ登録処理部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 イベント駆動型マルチウィンドウシステ
    ムを採用する情報処理装置において、 イベントの発生を監視して、そのイベントが各アプリケ
    ーションに配送される前に、そのイベントを取得して解
    析するイベント取得解析部と、 そのイベントのマクロ化を行うマクロ制御部と、 マクロ化されたイベントを格納するマクロ情報格納部
    と、 このマクロ情報格納部から取り出したマクロ化されたイ
    ベントを実行する際に、マクロを構成する各イベントを
    再構成して該当するアプリケーションに配送するイベン
    ト再構成送出部とを備えたことを特徴とするマルチウィ
    ンドウ情報処理装置。
  2. 【請求項2】 イベント取得解析部は、 マルチウィンドウ化したアプリケーションを表示する画
    面上で、マクロ化の対象となる全てのウィンドウより優
    先順位の高い透明のウィンドウを設定して、 この透明のウィンドウにより、 イベントが各アプリケーションに配送される前に、その
    イベントを取得することを特徴とする請求項1記載のマ
    ルチウィンドウ情報処理装置。
  3. 【請求項3】 イベント取得解析部は、 マルチウィンドウ化したアプリケーションを表示する画
    面上で、マクロ化の対象となる各アプリケーションのウ
    ィンドウ上に完全に重なるように、各アプリケーション
    より優先順位の高い透明のウィンドウを設定して、 これらの透明のウィンドウにより、 イベントが各アプリケーションに配送される前に、その
    イベントを取得することを特徴とする請求項1記載のマ
    ルチウィンドウ情報処理装置。
  4. 【請求項4】 各アプリケーションのウィンドウ上に重
    ねられた透明のウィンドウに、それぞれ、各透明のウィ
    ンドウを区別する識別子を付けて保持するアプリケーシ
    ョン情報格納部を設け、 イベント取得解析部は、 前記識別子により、対応するアプリケーションを認識す
    ることを特徴とする請求項3記載のマルチウィンドウ情
    報処理装置。
  5. 【請求項5】 マクロ実行イベントが入力し、続いて入
    力される単数又は複数のイベントと、マクロ情報格納部
    に格納されたマクロを構成する各イベント列の先頭部分
    を比較して、両者が一致したマクロを再構成して該当す
    るアプリケーションに配送するイベント再構成送出部を
    備えたことを特徴とする請求項1、2または3記載のマ
    ルチウィンドウ情報処理装置。
  6. 【請求項6】 イベント再構成送出部は、 入力される単数又は複数のイベントと先頭部分が一致す
    るイベント列により構成される2以上のマクロがマクロ
    情報格納部に格納されているとき、 いずれのマクロの実行も禁止することを特徴とする請求
    項5記載のマルチウィンドウ情報処理装置。
  7. 【請求項7】 入力される単数又は複数のイベントと、
    マクロ情報格納部に格納されたマクロを構成する各イベ
    ント列の先頭部分とを比較したとき、その差が、予め設
    定した許容範囲にあるときは、両者が一致したと判断す
    ることを特徴とする請求項5記載のマルチウィンドウ情
    報処理装置。
JP6121745A 1994-05-11 1994-05-11 マルチウィンドウ情報処理装置 Pending JPH07306769A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6121745A JPH07306769A (ja) 1994-05-11 1994-05-11 マルチウィンドウ情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6121745A JPH07306769A (ja) 1994-05-11 1994-05-11 マルチウィンドウ情報処理装置

Publications (1)

Publication Number Publication Date
JPH07306769A true JPH07306769A (ja) 1995-11-21

Family

ID=14818839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6121745A Pending JPH07306769A (ja) 1994-05-11 1994-05-11 マルチウィンドウ情報処理装置

Country Status (1)

Country Link
JP (1) JPH07306769A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022498A (ja) * 1999-04-14 2001-01-26 Matsushita Electric Ind Co Ltd イベント制御装置およびデジタル放送システム
JP2006244468A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 自動化されたデータ編成
JP2006244466A (ja) * 2005-02-28 2006-09-14 Microsoft Corp エンドユーザデータ起動
JP2009015904A (ja) * 2007-06-29 2009-01-22 Toshiba Corp 光ディスク再生装置及び光ディスク再生方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022498A (ja) * 1999-04-14 2001-01-26 Matsushita Electric Ind Co Ltd イベント制御装置およびデジタル放送システム
JP4522533B2 (ja) * 1999-04-14 2010-08-11 パナソニック株式会社 イベント制御装置およびデジタル放送システム
US7962568B2 (en) 1999-04-14 2011-06-14 Panasonic Corporation Event control device and digital broadcasting system
JP2006244468A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 自動化されたデータ編成
JP2006244466A (ja) * 2005-02-28 2006-09-14 Microsoft Corp エンドユーザデータ起動
JP2009015904A (ja) * 2007-06-29 2009-01-22 Toshiba Corp 光ディスク再生装置及び光ディスク再生方法

Similar Documents

Publication Publication Date Title
US11954305B2 (en) Operation methods of a smart interactive tablet, storage medium and related equipment
US11256333B2 (en) Closing, starting, and restarting applications
EP0249399A2 (en) Multiwindow control method and apparatus for work station having multiwindow function
EP0318154B1 (en) A method of operating a computer graphics system
US5734377A (en) Data matching method, coordinate input method, and coordinate input system
JPS6273327A (ja) ワ−クステ−シヨン
JPH07306769A (ja) マルチウィンドウ情報処理装置
JP3984658B2 (ja) 情報処理装置及びその方法
JPH03256116A (ja) 情報処理装置及びメニュー表示方法
JP3182430B2 (ja) マンマシンインタフェース装置
JPS60204077A (ja) 図形選択制御方式
JPH1185835A (ja) 作図装置
JPH0721067A (ja) 多重アンドゥ方法
JPH0659802A (ja) ペン入力制御装置
JP2001202257A (ja) ソフトウェア連動動作処理装置及びその方法
JPH0816805A (ja) 図形作成装置
JPH10171999A (ja) グラフ表示装置
JPH086962A (ja) データ検索装置及び検索データの表示方法
JPH05210444A (ja) 電子計算機の自動入力システム
JPH0370022A (ja) 手続き実行装置
JPH04280318A (ja) マウス入力におけるページ検索方式
JP2682480B2 (ja) ペン入力オペレーティングシステムにおけるイベント通知方法及びそれを適用したペン入力操作装置
JPH10198522A (ja) 入力制御装置及び該装置におけるコマンド選択支援方法
JPH11338681A (ja) ビジュアルプログラミングシステム
JPH07105397A (ja) Cadシステム用図形指示受取装置