(57)【特許請求の範囲】
【請求項１】
ホスト・プロセッサと、複数のキーを有するキーボードと、ディスプレイ装置と、アプリケーションの表示された特定の機能を実行するためにディスプレイ・ポインタが該特定の機能の上に位置付けられたときに付勢される少なくとも１つのポインタ制御装置とを具備するコンピュータ・システムにおいて、複数のディスプレイ・ポインタを提供する方法であって、
上記ディスプレイ装置を用いて、ユーザにより全て制御され得る複数のディスプレイ・ポインタを定義することをユーザに許可するステップと、
定義された複数のディスプレイ・ポインタの中から活動ディスプレイ・ポインタをキーボードを用いて選んで、上記ポインタ制御装置の移動により該活動ディスプレイ・ポインタを動かすことをユーザに許可するステップと、
現在のアプリケーション・タイトルおよびポインタのためのアプリケーション内でのポインタ位置を含むポインタ状況を、各々の定義済みディスプレイ・ポインタと関連付けるステップと、
複数のポインタのうちの少なくとも１つを、ユーザがアプリケーションをオープンしたりクローズしてもその各々の位置に残る固定ポインタとして定義することをユーザに許可するステップと、
各々の定義済み固定ポインタをポインタ状況に加えて、１つまたはそれ以上のユーザ・アクションと関連付けるステップと、
関連付けられたユーザ・アクションが実行されるように定義済み固定ポインタをキーボードを用いて選ぶことをユーザに許可するステップと
を含むことを特徴とする方法。
【請求項２】
定義済みディスプレイ・ポインタをポインタ状況と関連付けるステップが、
アプリケーション・タイトルおよび定義済みポインタが存在するポインタ位置を決定するステップと、
複数のポインタ識別文字のうちの１つに従って、タイトルとポインタ位置をポインタ状況テーブルに記憶するステップと
を含むことを特徴とする請求項１記載の方法。
【請求項３】
固定ポインタを定義することをユーザに許可するステップが、
固定ポインタをキーボードの単一英数字で識別するステップと、
ディスプレイ・スクリーン上で関連のある固定ポインタの近くに上記英数字を表示するステップと
を含むことを特徴とする請求項１記載の方法。
【請求項４】
定義済みポインタとポインタ状況を関連付けるステップが、
アプリケーションまたは文書のタイトルおよび該定義済みポインタが存在するポインタ位置を決定するステップと、
定義済みポインタの識別英数字によりアドレスされるポインタ状況テーブルにタイトルおよび定義済みポインタのポインタ位置を記憶し、ポインタが固定ポインタである場合には１つまたはそれ以上のユーザ・アクションも記憶するステップと
を含むことを特徴とする請求項３記載の方法。
【請求項５】
ポインタ識別英数字を指定することにより現在のポインタ状況から異なるポインタ状況へ切り替えることをユーザに許可するステップと、
指定した識別英数字が固定ポインタと関連があるかどうかを決定するステップと、
識別英数字が固定ポインタと関連があるならばユーザ・アクションを実行するステップと
をさらに含むことを特徴とする請求項４記載の方法。
【請求項６】
上記英数字が固定ポインタと関連があるかどうかを決定するステップが、上記英数字と関連付けられたポインタ状況テーブルをチェックして、ユーザ・アクションを示す項目を含むかどうか決定するステップを含むことを特徴とする請求項５記載の方法。
【請求項７】
ホスト・プロセッサと、複数のキーを有するキーボードと、ディスプレイ装置と、活動ウィンドウ中の表示された特定の機能を実行するためにディスプレイ・ポインタが該特定の機能の上に位置付けられたときに付勢されるポインタ・ボタンを有する少なくとも１つのポインタ制御アクチュエータを具備するコンピュータ・システムにおいてウィンドウ処理環境を提供するグラフィカル・ユーザ・インターフェースに複数の固定ディスプレイ・ポインタを提供する方法であって、
ユーザがアプリケーション・ウィンドウをオープンしたりクローズしてもその各々のウィンドウ位置に固定される少なくとも１つの固定ポインタを定義することをコンピュータ・システム・ユーザに許可するステップと、
１つまたはそれ以上のユーザ・アクションを各々の固定ポインタと関連付けるステップと、
ホスト・プロセッサが関連付けられたユーザ・アクションを実行するようにユーザが固定ポインタをキーボードを用いて選ぶことを許可するステップと、
ウィンドウ・タイトルおよびウィンドウ内でのポインタ位置を含むポインタ状況と、各々の固定ポインタを関連付けるステップと
を含むことを特徴とする方法。
【請求項８】
ホスト・プロセッサと、
複数のキーを有するキーボードと、
ディスプレイ装置と、
ディスプレイ装置上にアプリケーションがオープンされ表示されるようにし、表示された文書内を移動可能な１つまたはそれ以上のディスプレイ・ポインタをディスプレイ装置に提供し、ディスプレイ・ポインタのうちの１つが活動ポインタとして指定され得るようにするオペレーティング・システムと、
ディスプレイ・ポインタの動きを制御し、ディスプレイ・ポインタが特定の機能のところに移動させられた後に付勢され得る制御ボタンを有す少なくとも１つのポインタ制御装置とを具備し、
オペレーティング・システムが、特定のアプリケーション・タイトルおよびアプリケーション内でのポインタ位置を含むポインタ状況と、各々の定義済みディスプレイ・ポインタを関連付け、
ユーザがアプリケーションをオープンおよびクローズしてもその各々の位置に残る固定ポインタとなるように複数のポインタのうちの少なくとも１つを定義することをオペレーティング・システムがコンピュータ・システム・ユーザに許可し、ポインタ状況に加えて、１つまたはそれ以上のユーザ・アクションと各々の定義済み固定ポインタとを関連付け、関連付けられたユーザ・アクションが実行されるように定義済み固定ポインタをキーボードを用いて選ぶことをユーザに許可する、
コンピュータ・システム。
【請求項９】
ユーザによる定義済み固定ポインタをキーボードを用いて選ぶことに応答して、システムが上記固定ポインタと関連付けられたユーザ・アクションを実行することを特徴とする請求項８記載のコンピュータ・システム。
【請求項１０】
固定ポインタを定義するために、ユーザが選んだキーボードの英数字を受け取り、ディスプレイ・スクリーン上で関連付けられた固定ポインタの近くに該英数字を表示することを特徴とする請求項８記載のコンピュータ・システム。
【請求項１１】
アプリケーション・タイトルおよび定義済みポインタが存在するポインタ位置を決定し、そのポインタが固定ポインタであるならば、１つまたはそれ以上のユーザ・アクションとともに、定義済みポインタの識別英数字によりアドレスされるポインタ状況テーブルに該タイトルおよび定義済みポインタの位置を記憶させることにより、システムが定義済みポインタとポインタ状況を関連付けることを特徴とする請求項１０記載のコンピュータ・システム。
【請求項１２】
ユーザがポインタ識別文字を指定したことに応答して、指定された識別文字が固定ポインタと関連があるかどうか決定し、もし関連があれば、現在のポインタ状況からポインタ識別文字により指定されるポインタ状況に切り替え、ユーザ・アクションを実行することを特徴とする請求項１１記載のコンピュータ・システム。
【請求項１３】
上記識別文字と関連付けられたポインタ状況テーブルをチェックして、ユーザ・アクションを示す項目を含むかどうかを決定するすることにより、上記識別文字が固定ポインタと関連があるかどうかをシステムが決定することを特徴とする請求項１１記載のコンピュータ・システム。
【請求項１４】
ホスト・プロセッサと、複数のキーを有するキーボードと、ディスプレイ装置と、アプリケーションがオープンされてディスプレイ装置に表示されることを許可するオペレーティング・システムとを具備するコンピュータ・システムにおいて使用されるポインタ制御システムであって、
表示された文書内をポインタ制御装置によって移動可能な１つまたはそれ以上のディスプレイ・ポインタをディスプレイ装置に提供し、ディスプレイ・ポインタのうちの１つを活動ポインタにすることを許可するディスプレイ・ドライバ手段と、
特定のアプリケーション・タイトルおよびそのアプリケーション内でのポインタ位置を含むポインタ状況と各々の定義済みディスプレイ・ポインタとを関連付け、１つまたはそれ以上の事前定義済みディスプレイ・ポインタがある活動アプリケーションにユーザが戻る際に、該ポインタ状況を再呼び出しするグラフィカル・インターフェース制御手段とを含み、
上記グラフィカル・インターフェース制御手段は、複数のポインタのうちの少なくとも１つを、ユーザがアプリケーションをオープンしたりクローズしてもその各々の位置に残る固定ポインタとして定義することをユーザに許可し、ポインタ状況に加えて、１つまたはそれ以上のユーザ・アクションと各々の定義済み固定ポインタとを関連付ける、
ポインタ制御システム。
【請求項１５】
ユーザによる定義済み固定ポインタをキーボードを用いて選ぶことに応答して、該固定ポインタと関連付けられたユーザ・アクションを実行することを特徴とする請求項１４記載のポインタ制御システム。
【請求項１６】
固定ポインタを定義するためにユーザが選んだキーボードの英数字をシステムが受け取り、ディスプレイ・スクリーン上で、関連付けられた固定ポインタの近くに該英数字を表示することを特徴とする請求項１４記載のポインタ制御システム。
【請求項１７】
アプリケーション・タイトルおよび定義済みポインタが存在するポインタ位置を決定し、そのポインタが固定ポインタであるならば、１つまたはそれ以上のユーザ・アクションとともに、定義済みポインタの識別英数字によりアドレスされるポインタ状況テーブルに該タイトルおよび定義済みポインタの位置を記憶させることにより、グラフィカル・インターフェース制御手段が定義済みポインタとポインタ状況を関連付けることを特徴とする請求項１６記載のポインタ制御システム。
【請求項１８】
ユーザがポインタ識別文字を指定したことに応答して、グラフィカル・インターフェース制御手段が指定された識別文字が固定ポインタと関連があるかどうか決定し、現在のポインタ状況からポインタ識別文字により指定されるポインタ状況に切り替え、該識別文字が固定ポインタと関連付けられているならば、ユーザ・アクションを実行することを特徴とする請求項１７記載のポインタ制御システム。
【請求項１９】
上記識別文字と関連付けられたポインタ状況テーブルをチェックして、ユーザ・アクションを示す項目を含むかどうかを決定するすることにより、上記識別文字が固定ポインタと関連があるかどうかをグラフィカル・インターフェース制御手段が決定することを特徴とする請求項１８記載のポインタ制御システム。
【請求項２０】
ホスト・プロセッサと、複数のキーを有するキーボードと、ディスプレイ装置と、アプリケーションの特定の機能を実行するためにディスプレイ・ポインタが該特定の機能の上に位置付けられたときに付勢され得る少なくとも１つのポインタ制御装置とを具備するコンピュータ・システムのための複数のディスプレイ・ポインタを提供する方法であって、
ユーザがアプリケーションをオープンしたりクローズしてもその各々の位置に残る複数の固定ポインタを定義することをコンピュータ・システム・ユーザに許可するステップと、
１つまたはそれ以上のユーザ・アクションと各々の定義済み固定ポインタを関連付けるステップと、
関連付けられたユーザ・アクションが実行されるように定義済み固定ポインタをユーザがキーボードを用いて選ぶことを許可するステップと、
ウィンドウ・タイトルおよびウィンドウ内でのポインタ位置を含むポインタ状況と、各々の定義済み固定ポインタを関連付けるステップと
を含むことを特徴とする方法。
【請求項２１】
固定ポインタを定義することをユーザに許可するステップが、
固定ポインタをキーボードの単一英数字で識別するステップと、
ディスプレイ・スクリーン上で、関連付けられた固定ポインタの近くに該英数字を表示するステップと
を含むことを特徴とする請求項２０記載の方法。
【請求項２２】
定義済み固定ポインタとポインタ状況を関連付けるステップが、
アプリケーションまたは文書のタイトルおよび、該定義済み固定ポインタが存在するポインタ位置を決定するステップと、
１つまたはそれ以上のユーザ・アクションとともに、定義済み固定ポインタの識別英数字によりアドレスされるポインタ状況テーブルに該タイトルおよび定義済み固定ポインタのポインタ位置を記憶するステップと
を含むことを特徴とする請求項２１記載の方法。
【請求項２３】
ポインタ識別英数字を指定することにより、現在のポインタ状況から異なるポインタ状況へ切り替えることをユーザに許可するステップと、
指定された識別英数字が固定ポインタと関連があるかどうか決定するステップと、
該識別英数字が固定ポインタと関連があるならば、ユーザ・アクションを実行するステップと
を含むことを特徴とする請求項２２記載の方法。
【請求項２４】
識別英数字が固定ポインタと関連があるかどうかを決定するステップが、該英数字と関連付けられたポインタ状況テーブルをチェックして、それがユーザ・アクションを示す項目を含むかどうかを決定するステップを含むことを特徴とする請求項２３記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般的にグラフィカル・ユーザ・インターフェースに関し、特にグラフィカル・ユーザ・インターフェース指示装置でコンピュータの動きを制御することに関する。
【０００２】
【従来の技術】
パーソナル・コンピュータ等のユーザが遭遇する対話式コンピュータ・システム処理環境は、オペレーションの容易さ、および便利さが特徴である。そのようなコンピュータのオペレーションをより容易に、より便利にするのに重要なのは、グラフィカル・ユーザ・インターフェース（ＧＵＩ）である。ＧＵＩは、視覚に重点をおいたコンピュータ・インターフェースを提供し、コンピュータ・ディスプレイ上に表示され、コンピュータのオペレーションをより直観的なものにし、その結果、ユーザの効率を高めることができるさまざまなグラフィカル製品を含む。
【０００３】
ＧＵＩ操作インターフェースは、例えばユーザが、コンピュータに接続されているディスプレイ・マウスまたは、トラック・ボールのようなＧＵＩ指示装置を使って、コンピュータのディスプレイ・ポインタを動かすことを可能にする。卓上でマウスを動かしたり、受皿についているトラック・ボールを回すことにより制御入力を生成すると、指示装置の応答機能に応じてその動きと同じ方向にディスプレイを横切ってポインタを動かす。指示装置の制御入力およびディスプレイ・スクリーン上のポインタの応答との関連は直観的である。複数のプログラムがコンピュータ・ディスプレイ上に異なるディスプレイ・ウィンドウとして同時に表示されることをほとんどのＧＵＩシステムが可能にする。ウィンドウの境界を調整したり、アイコン表現に追加したりすることが可能である。プログラムを起動または、再入するために、ユーザはディスプレイ・ポインタを要求するプログラム・ウィンドウ中に的を定め、あるいは、そのプログラムを表現するディスプレイ・アイコンに的を定めて、ディスプレイ・マウスまたはトラック・ボール装置のボタンを押す。ボタンを押すことはクリックすると呼ばれているが、それにより、そのプログラムを起動または再入する。
【０００４】
ＧＵＩなしにプログラムを起動するためには、ユーザは、実行可能ファイルの名前をタイプし、それをオペレーティング・システムに渡す必要がある。このようにして、プログラムを起動または再入するために必要なキー・ストロークは、除去されるか、または少なくともかなり減って、コンピュータを使用するのをより容易に、より便利にする。望む活動を指示することが、かなり直観的なので、コンピュータのオペレーションを学ぶのをより容易により便利にする。
【０００５】
グラフィカル・ユーザ・インターフェース・ディスプレイ・ポインタによりプログラム対話をさらに改善することが、早急に実現される。たとえば本出願人は、従来のコンピュータ・キーボードとは異なって、ほぼ中央に据え付けられた小さくて、実質的に固いジョイスティック・タイプのアクチュエータを備えているトラック・ポイントIIと呼ばれるディスプレイ・ポインタ制御機能を発表している。トラック・ポイントIIのコントロール・アクチュエータは、キーボードのほぼ中央に位置し、ホーム位置でのタイピストの手の間で、キーボードの普通の入力を妨害しないように充分短い。
【０００６】
コンピュータのユーザは、ディスプレイ・マウスを使うのではなく、そのコントロール・アクチュエータに横から力を加えてポインタをコンピュータ・ディスプレイ上で動かすことができる。トラック・ポイントIIのキーボードは、ディスプレイ・マウス・ボタンの機能を合わせ持つボタンを含む。だから、ユーザの手は、キーボードから離れることなくディスプレイ・ポインタを制御できる。この機能は、ディスプレイ・ポインタの動きを制御するためにマウス、またはトラック・ボールをコンピュータに接続するのが不便または困難であるラップトップまたはノートブック・コンピュータとして知られているようなグラフィカル・ユーザ・インターフェースを含むポータブル・コンピュータにおいて特に望まれる。たとえば、本出願人の「ThinkPad ７５０」と呼ばれているノートブック・コンピュータは、「トラックポイントII」コントロール・アクチュエータを備えている。
【０００７】
先に述べたとおり、グラフィカル・ユーザ・インターフェースは、複数のプログラムまたはウィンドウを同時に起動および表示することを可能にするし、異なるウィンドウ毎に異なるポインタを持つことは有益なので、２つ以上のディスプレイ・ポインタを制御できるようにしておくと有利なことがある。さらに、単一ウィンドウにおいてさえ、ユーザがそのウィンドウを終了した後に残っているポインタを位置づけることができれば便利な場合がある。従って、複数のポインタが使用可能であれば、ユーザがそのウィンドゥに戻った時にそれらを位置マーカとして再び呼び出すことができる。
【０００８】
ディスプレイ・マウスによって制御される移動可能ポインタおよびタブレット装置によりディスプレイ・ウィンドウを横切って動かすことができる移動可能カーソルの両方を、ＣＡＤ（計算機援用設計）用のコンピュータ・ワークステーションで使用することは知られている。これらのポインタおよびカーソルは別々に制御できるが、ポインタはディスプレイ・マウスのみに応答し、カーソルはタブレットにのみ応答するので、ＣＡＤワークステーション・システムは、望まれる柔軟性を持たない。さらに、カーソルの動きは概して示されたウィンドウに制限されて、ディスプレイ・スクリーン全体を横切って動くことはできない。最後に、ワークステーションが装備しているポインタおよびカーソルとは別のポインタまたはカーソルを使うことは、一般的に不可能である。
【０００９】
処理の容易さ、および複数のポインタを提供するＧＵＩ環境により得られる効率のより一層の改善を可能にすることは、有利なことであろう。ＧＵＩ操作環境をサポートしないコンピュータにとっても、コンピュータ・ユーザにより作成され、操作され得る複数のポインタを使用することは、有利なことであろう。そのような複数のポインタは、シングル・テキスト・ファイル内での場所のマーカとして使用され得る。典型的なコンピュータ・システムにおいては、複数の指示装置を接続することは可能だが、それらの指示装置はほとんどのオペレーティング・システムにより提供される一つのポインタしか制御しないであろう。さらにデバイス・ハードウェアの使用可能な直列ポートの数が限られているので、限られた数の指示装置しか接続できない。たとえば、ほとんどのパーソナル・コンピュータは、最大２台のディスプレイ装置を接続できる。最後に、複数のポインタを提供するためのパーソナル・コンピュータのデザインに必要な追加の装置およびハードウェアの変更の数を少なくするのが好ましい。
【００１０】
【発明が解決しようとする課題】
本発明の目的は、複数のディスプレイ・ポインタが作成され、操作され、容易にお互いの区別がつくようなコンピュータのためのポインタ・システムを提供することである。そして、そのようなポインタ・システムは、ハードウェアのポートおよびデスクトップのスペースによる制約を受けることなく、操作の制御をより簡単に、そしてより便利にする。
【００１１】
【課題を解決するための手段】
本発明によれば、指示装置を有するコンピュータのポインタ・システムは、コンピュータ・ユーザにより作成され、ラベルをつけられる複数のディスプレイ・ポインタを提供する。各ポインタは、ユーザがポインタを削除するまでは、ユーザがディスプレイを変更した時にさえ、ディスプレイ・スクリーンの位置を含む特定のポインタ状況と関連付けられたままである。ポインタは、ユーザによりキーボードの一つの英数字でラベルをつけられるのが好ましい。そしてその文字は、ディスプレイ・スクリーン上の関連のあるポインタの極めて近くに表示される。そのラベルにより、各々のポインタを即座に区別できるし、望むポインタの指定および再呼び出しも可能にする。このようにして、ユーザは、複数のディスプレイ・ポインタを定義し、識別し、操作できる。従って、コンピュータのオペレーションはさらに容易に、便利になる。ディスプレイ・ポインタを動かさずにコンピュータの異なる機能を容易に選択できる。本発明の他の特徴として、ディスプレイが変更された時にアプリケーションまたは文書の特定の場所に固定され、指示装置のボタンをクリックすることを要求する選択アクションのようなユーザ・アクションと関連付けられる固定ポインタ（アンカー・ポインタ）をユーザは定義することができる。
【００１２】
本発明のポインタ・システムは、ウィンドウ・アプリケーションおよびウィンドウを使用しないアプリケーションとともにさまざまなオペレーティング・システムで実施できる。マルチ・ウィンドウをサポートするＧＵＩ環境のオペレーティング・システムで処理をするコンピュータ・システムにおいて、ユーザがあるＧＵＩウィンドゥ内の固定ポインタを別のＧＵＩウィンドウ内の活動ポインタ位置から選択することを可能にする。その結果、ＧＵＩウィンドウはクローズされ、オペレーションは固定ポインタの目的地に移動され、固定ポインタと関連付けられたユーザ・アクションが実行される。このように、プログラム開始コマンド、編集コマンドまたは他の実行可能ルーチンのような比較的複雑で入り組んだアクションを定義して、コンピュータ・オペレーティング・システム内のどこからでも開始させることができる。
【００１３】
本発明によると、ユーザが文書間またはウィンドゥ間を移動するときに複数のディスプレイ・ポインタを容易に区別して操作することができ、従って複数の文書およびウィンドウによって、より容易でより便利なオペレーションの制御が、コンピュータ・ハードウェアのポートの数や、複数のディスプレイ制御装置の有効スペースのような制限に縛られることなく可能である。さらに、ユーザが反復タスクを実行するのに必要なオペレーションの数を削減するために複数の固定ポインタを定義して、選択することができる。
【００１４】
本発明の他の特徴や利点は、以下の好適実施例の説明から明白になるはずである。
【００１５】
【実施例】
図１は、本発明に従って構成されたコンピュータ・システム１０のブロック図である。そのコンピュータ・システムは、ランダム・アクセス・メモリ１４および周辺データ・ストレージ１６にデータを記憶するホスト・プロセッサ１２を含む。コンピュータ・システム処理およびコンピュータ・ユーザとの通信は、キーボード１８により開始され、キーボード１８は、キーボード・インターフェース２０を経由してホスト・プロセッサと接続する。ビデオ・ターミナルのようなディスプレイ装置２２は、コンピュータ出力およびシステム・オペレーションを表示する。ディスプレイ・オブジェクトの操作は、マウス・インターフェース２６経由でホスト・プロセッサと接続されているディスプレイ・マウス装置２４を使うことによりおこなう。好適実施例においては、コンピュータ・システム１０は、ウィンドウ処理環境を提供するグラフィカル・ユーザ・インターフェース（ＧＵＩ）を有するオペティング・システムを含む。そして、そのことは、当業者には周知なことなので、これ以上の説明は必要ない。ＧＵＩのプログラム命令は、ランダム・アクセス・メモリ１４およびデータ・ストレージ１６中にある。しかし、本発明はパーソナル・コンピュータのＤＯＳシステムまたはＤＯＳアプリケーションのようなウィンドウのない処理環境にも等しく適用できるものである。
【００１６】
ホスト・プロセッサ１２は、本出願人のＰＳ／２パーソナル・コンピュータ、ＲＳ／６０００ワークステーションなどの任意のプラットフォームで有することができる。データ・ストレージ１６は、ハード・ディスク・ドライブおよびフロッピー・ディスク・ドライブのような直接アクセス記憶装置を含む。ディスプレイ・マウス装置２４は、トラック・ボール又はジョイスティック（図示せず）のような同じ機能および制御を提供する他の装置で代替することができる。そのような代替装置は当業者には周知のことなので、これ以上の説明は必要ない。従って、ディスプレイ・マウスへの言及は、トラック・ボールおよびジョイスティックのような代替装置をも含んでいる。同様に、マウス・ボタンその他のマウスの機能への言及は、トラック・ボール、ジョイ・スティック装置等における同様なメカニズムを含む。
【００１７】
図２は、ＧＵＩ３０の処理構成要素を示す。ＧＵＩは、図１に示されているホスト・プロセッサ１２およびランダム・アクセス・メモリ１４で実施される。しかし、ＧＵＩの機能がコンピュータ・ユーザとプロセッサ間のインターフェースを提供することにあることを強調するために、図２では、別ブロックで表示されている。ＧＵＩ３０は、キーボード・バッファ３２からキーボード入力を受け取り、マウス・バッファ３４からディスプレイ・マウス入力（またはトラック・ボールもしくはジョイスティック入力）を受け取る。当業者には周知のとおり、キーストロークおよびディスプレイ装置の入力は、ホスト・プロセッサが入力可能になるまで、各々のバッファに記憶される。ＧＵＩがそのような入力情報を受け取り、ホスト・プロセッサが必要な処理を実行する時には、ＧＵＩは、ディスプレイ・ドライバ３６経由でディスプレイ装置２２での表示を継続させる。複数のアプリケーション・プログラム３８をサポートするために、ＧＵＩは、ウィンドウ処理環境を使用する。後で述べるように、本発明のＧＵＩ３０は、ポインタ制御インターフェース４０およびポインタ状況テーブル４２により複数のディスプレイ・ポインタをサポートする。
【００１８】
図３は、好適実施例のＧＵＩ３０によりサポートされるウィンドウ処理環境を示す表示イメージであり、ディスプレイ装置２２により表示される。周知のように、ＧＵＩは複数のアプリケーション・プログラムおよび文書をウィンドウ形式で同時に起動できるマルチレベル処理環境を提供する。図３の表示は、ウィンドウ・フレーム５２およびタイトル・バー５４を有するシステム管理プログラム・ディスプレイ・ウィンドウ５０を含む。そのタイトル・バーは、タイトル５６、メニュー・アイコン５８およびウィンドウ・サイズ変更アイコン６０を含む。タイトル・バーの下には、「Ｆｉｌｅ」，「Ｅｄｉｔ」，「Ｖｉｅｗ」，「Ｏｐｔｉｏｎｓ」および「Ｈｅｌｐ」と表題をつけられているドロップダウン・メニュー選択を示すメニュー・バー６２がある。これらのディスプレイ・ウィンドウ要素は、ＧＵＩにより生成される。
【００１９】
プログラム・ディスプレイ・ウィンドウ５０内には、作業領域６４が表示される。ウィンドウ作業領域内には、システム・ユーザにより起動されたアプリケーション・プログラムに対応するウィンドウ６６、６８、７０が表示されている。各々のアプリケーション・ウィンドウは、先に述べたプログラム・ウィンドウ同様、ウィンドウ・メニュー・アイコン、ウィンドウ・タイトル・バーおよびウィンドウサイズ変更アイコンを含む。通常のディスプレイ・ポインタ７１は、ディスプレイ・ウィンドウ５０内の作業領域６４中にある。他のディスプレイ・ポインタもラベルがつけられて、図３に示されている。たとえば、ディスプレイ・ウィンドウ５０の作業領域は、すぐ近くの文字「ａ」で示される移動可能ポインタ７２を含む。アプリケーション１のウィンドウ６６は、隣接文字「ｂ」で示される移動可能ポインタ７４を含む。アプリケーション２のウィンドウ６８は、隣接文字「ｃ」で示される移動可能ポインタ７６を含む。最後に、アプリケーション３のウィンドウ７０は、隣接文字「ｄ」で示される移動可能ポインタ７８を含む。
【００２０】
ＧＵＩ３０は、活動ポインタを特有な方法で表示するので、活動ポインタ７１は、他のポインタとは容易に区別される。たとえば、好適実施例においては、活動ポインタは他の示されたポインタより大きい。活動ポインタを含むウィンドウは、フォーカス・ウィンドウと呼ばれる。好適実施例においては、単一のディスプレイ・マウスがポインタを動かすのに使用される。従って、マウスが動かされた際には、フォーカス・ウィンドウ中の活動ポインタが、動く唯一のポインタである。
【００２１】
コンピュータ・システム１０のユーザは、ディスプレイ・マウス装置２４を使ってさまざまなポインタの動きを制御できる。好適実施例においては、ポインタは、ＧＵＩウィンドウ環境において実現され、それが最初に定義された特別なアプリケーション・ウィンドウの外で存在し続ける。従って、（ラベルがついていない）省略時ポインタ７１をアプリケーションからアプリケーションへディスプレイ装置２２のスクリーン全体を横切って動かせるのと同様に、他のポインタも各々のアプリケーションを定義するウィンドウのフレーム境界を越えて他のウィンドウの方へ動かすことができる。代わりに、移動可能ポインタが最初に定義したアプリケーション・ウィンドゥの外に出ないようにすることもできる。そのような場合には、ユーザが作業領域を横切ってディスプレイ・マウスを動かし続けても、各々のウィンドウ・フレームの境界に達すると移動可能ポインタは止まる。
【００２２】
移動可能ポインタ７２ないし７８は、さまざまな方法で定義し、ラベルをつけることができる。好適実施例においては、その識別子は、キーボード１８のキーの中から選ばれた英数字による。特定のファンクション・キーのような特別なキーを使うと、そのディスプレイ表示がはっきりしなかったり、扱いにくかったりするという問題があるが、識別子を英数字キーに限定した場合にはそのような問題はない。ポインタの識別文字は、図３に示されているように、なるべく各々のポインタの隣に表示し、ポインタがウィンドウのあちこちを動かされる際にも、その相対的な位置を保持しているのが好ましい。しかし、別の構成も使用できる。たとえば、図４は、識別文字がポインタのしっぽの上にある実施例を示す。この実施例でも、ポインタがウィンドウのあちこちを動かされる際にこの構成は維持される。
【００２３】
好適実施例において、ＧＵＩ３０は、ユーザにより定義されているさまざまな移動可能ポインタを監視する。どの移動可能ポインタが制御されているかということに関して、ユーザが混乱しないように、そして誤ったコマンド実行によって特定のポインタがディスプレイ・スクリーン上に予期せずに現れたり、あるいはスクリーンから消えたりすることのないように、ＧＵＩは、ポインタの応答を分けている。好適実施例においては、システムは、ポインタ状況テーブルにより複数のポインタを監視する。このテーブルは、各ポインタと、ディスプレイ・スクリーン上でポインタ位置を指定するのに充分な情報とを関連付ける。
【００２４】
先に述べたとおり、好適実施例においては、オペレーティング・システムは、ウィンドウ処理環境を提供するＧＵＩ３０を含む。ウィンドウ環境の場合、ポインタ状況テーブルの項目は、アプリケーション・ウィンドゥのタイトル・バー上のタイトル（アプリケーション名および文書名を含む）と、グラフィカル・オブジェクト・ハンドルと、アプリケーション・ウィンドウ内のポインタの概算のディスプレイ座標とを含む。ディスプレイ座標は、たとえば、アプリケーション・ウィンドウ・フレームの水平軸および垂直軸に沿った距離で与えることができる。
【００２５】
ウィンドウ・グラフィカル・オブジェクト・ハンドルはウィンドウの機能またはオブジェクトを示す所定の識別子を含む。たとえば、ＧＵＩ３０は、マウス・ボタンのクリックにより選択され、起動され得るサイズ変更アイコン、ドロップ・ダウン・メニュー・バー、ディスプレイ・ボタン、その他のオブジェクトに対して標準的な識別番号またはラベルを割り当てる。これらの識別ラベルがポインタ状況テーブルにあるグラフィカル・オブジェクト・ハンドルを構成する。グラフィカル・オブジェクト・ハンドルを参照すれば、ＧＵＩが特定のディスプレイ機能を正確に識別することができる。従って、プログラム・ウィンドウ作業領域６４にさえ予め決められた一意的なグラフィカル・オブジェクト・ハンドルが割り当てられている。
【００２６】
ウィンドウ環境では動かないアプリケーションにおいては、ポインタ状況テーブルは、上述のようなグラフィカル・オブジェクト・ハンドルは含まないが、ディスプレイ・スクリーン座標によりポインタの場所を示すことはできる。また、ポインタ状況テーブルは、アプリケーション名および文書名を含むアプリケーション識別子を含むことができる。
【００２７】
図５に示したとおり、ＧＵＩ３０により提供されるウィンドウ環境のためのポインタ状況テーブル８０は、システム１０において現在起動しているアプリケーション３８のテーブル８２により索引をつけられる。すなわち、各々のアプリケーションは、それと関連したポインタのポインタ状況テーブルを有する。図５は、あるアプリケーションのポインタ状況テーブルを示す。ネットワークにより通信する複数のユーザを有するシステムにおいては、各々のユーザは、ポインタ状況テーブルを持つ別々のオペレーティング・システム内で仕事をすることになる。あるいは、図５は、ネットワークのためのホスト・コンピュータが稼働中のアプリケーションに関連するユーザ・テーブル８４を維持できることを示す。テーブル８４の各ユーザはアプリケーションと関連付けられ、各アプリケーションはポインタ状況テーブルと関連付けられる。図５に示したとおり、ポインタ状況テーブル８０の欄の見出しは、ウィンドウ・タイトル、グラフィカル・オブジェクト・ハンドル、ポインタ位置、およびアクション・リストの欄を含む。
【００２８】
先に述べたとおり、ポインタ状況テーブル８０のウィンドウ・タイトルは、ワープロ・アプリケーション・プログラム、ウィンドウ管理プログラムまたは、デバイス管理プログラムの名前のように特定のアプリケーションのタイトルに対応している。そのウィンドウ・タイトルは、また、アプリケーション・プログラムによりアクセスされる特定の文書やデータ構造のタイトルを含むこともできる。グラフィカル・オブジェクト・ハンドルは、たとえば予め決められたワープロ・メニュー・ボタンと関連付けることができる。テーブル８０内のポインタ位置は、アプリケーション・ウィンドウ内における現在のポインタ位置の水平および垂直座標に対応する。その位置は、ウィンドウ・フレームに対する相対的な水平および垂直位置で表すのが好ましい。状況テーブル内のポインタ位置座標は、ポインタがウィンドウ内で動くのにつれて変わる。最後に、リストというラベルのついている欄は、後で述べる固定ポインタの１つの特徴であるアクション・リストに関係している。
【００２９】
ポインタ・システムが、たびたびポインタ状況テーブル８０を更新する必要はない。ポインタがディスプレイ装置２２のスクリーンを横切って動かされるのにつれて、マウス・インターフェース２６が、ポインタ位置を即座に更新する。従って、ポインタ状況テーブルがそのような情報を具備する必要はない。すなわち、瞬間的なポインタ位置は、コンピュータ１０の別のシステムにより決定されるので、ポインタ・システムのポインタ状況テーブルにより定義したり、保持したりする必要はない。コンピュータ・ユーザが、制御されるべきポインタを変えたり、特定の文書、アプリケーションまたはウィンドウをクローズしたりする際のみ、ポインタ状況テーブルを参照し、更新すればよい。
【００３０】
好適実施例においては、ポインタと関連のある、すなわちそのポインタを所有している文書またはアプリケーションがクローズされた時に、そのポインタのためのポインタ状況テーブルの項目は、削除される。たとえば、ウィンドウを使用しないオペレーティング・システムにおけるポインタのためのポインタ状況テーブルの項目は、そのポインタを所有する文書またはファイルの名前を具備するアプリケーション識別子を含み、ウィンドウを使用するオペレーティング・システムにおいては、そのポインタを所有しているウィンドウ、アプリケーションおよび文書の識別子を含む。どちらの場合にも、所有者のアプリケーションまたはウィンドウがクローズされると、テーブル内の対応するポインタ項目は削除される。従って、アプリケーションまたはウィンドウがクローズされるのに伴い、ポインタはディスプレイから削除される。
【００３１】
所有者のアプリケーションまたはウィンドウがクローズされる時に、システムがポインタ項目を保管するようにすることもできる。所有者のアプリケーションまたはウィンドウが再度オープンされた際には、システムは、ポインタ状況テーブル内にそのポインタ項目を見つけ、対応するポインタを適切な位置に再表示する。第三の方法としては、現在の所有者がクローズした時に、その下にあるいずれかのアプリケーションまたはウィンドウにそのポインタの所有権を与えるようにしてもよい。たとえば、ウィンドウを使用しないアプリケーションにおいては、複数の文書がオープンされることがあり、また、ウィンドウを使用する環境においては、複数のウィンドウがオープンされて、１つずつ積み重ねた形で表示されることがある。一つの文書またはウィンドウがクローズされた時には、その下にある文書またはウィンドウが表示される。第三の方法では、所有者の文書またはウィンドウがクローズされた時には、その下にあって新たに表示された文書またはウィンドウの名前が所有者名になるようにポインタ状況テーブルのポインタ項目は更新される。ユーザがシステムを導入する際、または本発明に従ってシステムを構成する際に、システムは、ユーザがこれらの代替案から選択できるようにすることができる。
【００３２】
図６は、プログラム管理機能を実行するシステム管理プログラムを表わし、３つの活動ウィンドウ６６，６８，７０を含む作業領域６４を有するディスプレイ・ウィンドウ５０が表示されているディスプレイ・スクリーンを示す。各々のアプリケーション・ウィンドウ６６，６８，７０は、それぞれ作業領域８８，９０，９２を含む。アプリケーション・ウィンドウの作業領域内には、移動可能ポインタおよび後で述べる固定ポインタを含むさまざまなディスプレイ・ポインタが表示されている。すべてのポインタに英数字のラベルがつけられている。固定ポインタは、異なるラベル付けを行うことにより、移動可能ポインタとは区別される。たとえば、好適実施例においては、移動可能ポインタは、隣接する英数字により識別され、固定ポインタはボックス内の英数字で示される。
【００３３】
図６において、ディスプレイ・ウィンドウ５０の作業領域６４は、省略時のＧＵＩポインタ７１を含み、それはラベルがつけられていない。作業領域６４内には、「ａ」という文字で識別される移動可能ポインタ７２も含まれる。第一のアプリケーション・ウィンドウ６６の作業領域８８内に含まれているのは、隣接する文字「ｂ」で識別される移動可能ポインタ７４および固定ポインタ・シンボルを構成するボックス内の文字「ｅ」で示される固定ポインタ９４である。固定ポインタ９４は、ウィンドウ・サイズ変更アイコン９６の上に一部重なっている。作業領域６４内にある第二のアプリケーション・ウィンドウ６８は、隣接する文字「ｃ」で識別される移動可能ポインタ７６および「Ｆｉｌｅ」のドロップダウン・メニュー・ボックスの上に一部重なっていて、ボックス内の文字「ｆ」で示される固定ポインタ９８を含む。第三のアプリケーション・ウィンドウ７０は、隣接する文字「ｄ」で識別される移動可能ポインタ７８のみを含む。
【００３４】
固定ポインタを表示するのにさまざまな異なる案を使うことができる。その幾つかの例を図７に示す。たとえば、第一の代替案は、丸で囲まれた点からなるシンボルおよびそれに隣接する識別文字を使用する。第二の代替案は、異なる識別文字、すなわち大文字を伴うポインタを使用する。固定ポインタが容易に移動可能ポインタと区別できる限り、多くの他の異なるシンボルを使うことができる。
【００３５】
先に述べたとおり、固定ポインタは、一つまたは一連のユーザ・アクションと関連付けることができる。ユーザ・アクションとは、たとえば、ディスプレイ・マウス・ボタンまたは類似のキーボード・ボタンを押したり、クリックしたりすることを含む。周知のとおり、さまざまなアイコンおよびグラフィカル・オブジェクトのところでディスプレイ・マウスをクリックすることにより、アプリケーション・ウィンドウのサイズを変えたり、プログラムを起動したり、その他さまざまなシステム・タスクを実行したりすることができる。本発明によるＧＵＩ３０は、ユーザが望むユーザ・アクションと対応する固定ポインタとを関連付けることができなければならないし、ユーザが要求した時には、関連付けられたユーザ・アクションを呼び出すことができなければならない。好適実施例においては、これらの機能は、前述のポインタ状況テーブル８０により提供される。
【００３６】
図８は、固定ポインタのアクション・リスト１００を示す。先に述べたとおり、アクション・リストは、ポインタ状況テーブル８０より参照される。ポインタ状況テーブル内の「リスト」の欄にデータがない場合には、そのポインタは単に移動可能ポインタであり、どのユーザ・アクションとも関連付けられない。しかし、ポインタ状況テーブルの「リスト」の欄が、ラベル・アドレスのようなデータを含む場合には、そのポインタは固定ポインタであり、テーブル・データは、対応するポインタと関連付けられている一つまたはそれ以上のユーザ・アクションを含むアクション・リストを参照する。
【００３７】
図８に示されているとおり、固定ポインタのためのアクション・リストは、固定ポインタ・ラベル、グラフィカル・オブジェクト・ハンドル、ユーザ・アクション、次のアクションの欄を含む。ポインタの位置は、ポインタ状況テーブルにより指定され、ユーザ・アクションは、取るべきアクションを指定する。たとえば、ユーザ・アクションの欄のデータは，所望のアクションのためにキーボード・バッファまたはディスプレイ・マウス・バッファに記憶されたデータに対応する。次のアクションの欄は、ユーザが関連付けられた固定ポインタを選択した時に実行される一連のユーザ・アクションをユーザがたどれるようにする。テーブルに含まれる項目は、実行されるべき順になっている。従って、同じラベルを持つ一連の項目は、テーブル内に並べられた順に実行されることになる。
【００３８】
ユーザが移動可能および固定の両方の複数のポインタを定義し、これらのポインタを使用することを本発明によるＧＵＩがどのようにして可能にするのかを説明するテーブル１０２を図９は含む。実行され得るさまざまな機能が第一の欄に列挙されており、後で順に説明する定義、置換を伴う定義、削除などのようなアクションを含む。テーブル１０２の次の欄は、固定ポインタと関連付けられた特徴を挙げている。テーブル１０２の最後の欄は、移動可能（固定されていない）ポインタと関連付けられた特徴を挙げている。固定ポインタおよび移動可能ポインタの欄の下の項目は、キーを押す順を示している。機能を実行するために押されるキーの種類および順番は単に例示されているだけであって、他のキーも、列挙された機能を実行するために選択され得る。実行可能な機能も図９に示したものに限らない。キーの名前は、対応するキーが押され、次いで開放されるべきであることを示す。そうすれば、第一の欄に挙げられた機能がＧＵＩ３０により実行される。
【００３９】
たとえば、固定ポインタを定義するため、図９のテーブル１０２の項目は、「Ｃｔｒｌ」キー、ポインタ識別キーおよびそれに続くアクションを指定している。このキー・シーケンスは、まず「Ｃｔｒｌ」キーを押して解放し、次にキーボードの英数字キーから選ばれたポインタ識別キーを押して解放し、最後にキーストローク・アクションが続くことを示す。最後のキーストローク・アクションは、単一キーおよび複数キー・アクション・シーケンス（たとえば「Ａｌｔ」キーおよびそれに続く「Ｆ１」キー、「Ｃｔｒｌ」キーおよびそれに続く「ｃ」キーなど）またはマウス・ボタンのシングル・クリック、「Ｅｎｔｅｒ」キーの押下げなどである。同様に、移動可能（固定されていない）ポインタは、左シフト・キーを最初に押して、それからそれを開放し、次に英数字キーを押して、開放することにより定義される。どちらの場合でも、ＧＵＩ３０により、定義済み固定または移動可能ポインタが省略時ポインタの場所に重なって現れるようになる。固定ポインタの場合には、省略時ポインタは固定ポインタの所から移動させることができる。そして固定ポインタはあとに残る。移動可能ポインタの場合には、制御が省略時ポインタから定義済みの移動可能ポインタに渡され、それによりマウスで移動可能ポインタを制御できるようになる。
【００４０】
場合によっては、固定または移動可能ポインタを定義し、同じ識別ラベルに関連する事前に定義されたポインタと置き換えることが望ましいことがある。この機能は、置換機能を伴う定義として言及されており、図９のテーブル１０２の２行目にある。テーブルに示されているように、固定ポインタおよび移動可能ポインタのためのシーケンスは、途中で「Ｉｎｓｅｒｔ」キーを押すことを除けば、ポインタを定義するシーケンスと同じである。テーブルに挙げられている削除機能は、ユーザにより事前に定義されたポインタとキーの結合関係を解消する。テーブルに挙げられている切り替え機能は、マウスによって制御されるポインタを、現在のポインタから切り替えキー・シーケンスで指定されるポインタに替える。たとえば、ユーザが現在省略時ポインタを制御していて、文字「ｃ」で識別される移動可能ポインタの制御を始めたいと思えば、ユーザは左「Ｓｈｉｆｔ」キー、そして「ｃ」キーを押す。
【００４１】
移動可能ポインタ固有の機能として、事前に定義されている移動可能ポインタとは関連のないポインタ識別文字を指定することにより、定義されていない移動可能ポインタを選択しようとすると、その結果、ＧＵＩ３０が選択された文字を有する移動可能ポインタを作成する。すなわち、移動可能ポインタは省略時解釈により定義され、ユーザが移そうとしていたラベルを与えられる。このように、ユーザが識別文字を指定することにより移動可能ポインタに切り替えようとする場合には、ＧＵＩは指定された英数字キーに対応する項目をポインタ状況テーブル８０から捜す。そして、ＧＵＩがそのような項目を見つけだせない際には、そのキーと結合する移動可能ポインタを作成する。このように、ユーザは事前に定義されていないポインタ・ラベルを単に指定することにより、移動可能ポインタを定義することができる。定義機能と同じく、新しい移動可能ポインタは、現活動ポインタの隣に位置づけられる。定義されていないラベルで固定ポインタを選択するユーザにとっては、省略時定義機能はない。この機能が固定ポインタには提供されないのは、省略時ユーザ・アクションをユーザ固定ポインタと関連付けることは概して望ましくないからである。従って、固定ポインタの定義は慎重に行う必要がある。
【００４２】
図９のテーブル１０２に挙げられている追加機能は、固定ポインタと関連付けられる。追加機能は、固定ポインタのアクション・リストにアクションを追加するために使用される。この機能が提供されるのは、アクション・リストと関連のあるアクションが単一のキー押下げを含むからである。複数のキー押下げを固定ポインタと関連付けるのが望ましい場合がある。たとえば、マウス・ボタンのダブル・クリックを可能にすることが望まれるかもしれない。追加機能は、ユーザが固定ポインタのアクション・リストにキー押下げを追加することを認める。固定ポインタ定義シーケンスの間、ユーザはただ「Ｃｔｒｌ」キーを押し、そして開放し、次に英数字識別キーが続き、最後に望んだアクションが続く。このようにして、望んだアクションを実行することが必要な間はずっと、ユーザは一連のアクションを定義することができる。実行機能は、ユーザが関連付けられた固定ポインタ・アクション・リストをＧＵＩ３０に実行させることを可能にする。テーブルの項目に示したとおり、固定ポインタは、右「Ｓｈｉｆｔ」キーを押して開放し、次いで英数字のポインタ識別キーを押して解放することにより実行される。
【００４３】
テーブル１０２にある全削除機能は、ユーザがシステムに直ちに、ＧＵＩ３０およびポインタ・システムの現在の呼び出し中に定義されたすべての固定および移動可能ポインタとキーのつながりを削除させることを可能にする。好適実施例においては、アプリケーションがクローズした時に、ポインタとキーのつながりを自動的に保管するか、または削除するかをユーザが選択することができる。ユーザがポインタの自動保管を選択した場合には、ポインタはユーザが削除するまで保管される。すなわち、ユーザがＧＵＩを終了したり、オペレーティング・システムをリブートする時にさえポインタは保管される。ポインタとキーのつながりをユーザのログイン識別コードと関連付けることにより、ＧＵＩはポインタとキーのつながりを再呼び出しすることができる。この機能をネットワーク・システムに組み込んでおくと、ネットワークのどのコンピュータの場所でも再呼び出しできる別々のポインタとキーのつながりを複数のユーザに持たせることができる。
【００４４】
テーブル１０２の複数状況選択機能は、第二アプリケーションが現在ＧＵＩ３０においてアクティブであるならば、ＧＵＩ３０が第一アプリケーションのポインタから第二アプリケーションのポインタへの切り替えを許可することを示す。すなわち、第一アプリケーションのポインタを制御中のユーザが、左シフト・キーを押し、次いで別のアプリケーションにおける移動可能ポインタを識別する英数字キーを押せば、ＧＵＩは活動ウィンドウを第二アプリケーションにシフトさせ、識別された移動可能ポインタに制御が移る。ＧＵＩポインタの機能のより深い理解は、特定のアプリケーションの実施例から得られる。
【００４５】
たとえば、ほとんどのＧＵＩプログラムにおいて、プログラム・アイコンの上にポインタを位置づけて、キーボードの「Ｅｎｔｅｒ」キーを押すか、または、左のマウス・ボタンを２回クリックすると、そのアイコンと関連付けられているプログラムが起動される。プログラムを起動するために固定ポインタを定義したければ、省略時ポインタをプログラム・アイコン上に位置づけて、ＧＵＩ３０の定義機能を開始するために「Ｃｔｒｌ」キーを押し、次いでポインタを識別する英数字キーを押し、最後にキーボードの「Ｅｎｔｅｒ」キーを押せばよい。このキー・シーケンスは、「Ｅｎｔｅｒ」キーの押下げに対応するデータをテーブル１０２のアクション欄に配置する。ユーザがアクションの実行を望む場合には、ユーザはただキーボードの右シフト・キーを押し、それを開放し、そしてそれから識別する英数字キーを押せばよい。ＧＵＩ３０は自動的に固定ポインタの位置を含むアクション情報を検索し、それにより関連付けられたプログラムを起動させる。
【００４６】
あるいは、ユーザは、プログラム・アイコンの上にポインタを位置づけた後にマウス・ボタンを二度押すことにより、プログラムを起動させることができる。そのためには、定義段階の間、マウス・ボタンを一度押し、その後、キーボードの「Ｃｔｒｌ」キーを押す追加コマンドが続き、識別英数字キーを押して、その後マウス・ボタンをもう一度押すことが必要である。このキー・ストローク・シーケンスは、マウス・ボタンの二度押しすなわちダブル・クリックに対応したデータをアクション・テーブルにセットする。このように、ユーザが固定ポインタを再び呼び出すか、または選択した場合には、適切なデータがアクション・リストから検索され、実行される。これにより、ユーザは、固定ポインタを使用して所望のアプリケーション・プログラムを起動することができる。
【００４７】
図１０ないし１３のディスプレイ・ウィンドウの表示を参照することにより、移動可能ポインタおよび固定ポインタをより理解することができる。図１０および１１は、移動可能ポインタの「切り替え」機能と関連がある。図１０は、作業領域６４を有するプログラム・ウィンドゥを示したもので、その中には第一アプリケーション・ウィンドウ６６があり、図６に示されていた第二および第三アプリケーション・ウィンドウは、アイコン１０４および１０６の大きさまで縮小されている。図１１は、事前に定義されたポインタが活動ポインタになるようにいかにしてＧＵＩがオペレーションを切り替えるのかを示す。
【００４８】
図１０においては、プログラム作業領域６４内の省略時ポインタ７１および移動可能ポインタ７２のうちのどちらか１つ、または、第一アプリケーション作業領域８８内のラベル「ｂ」の移動可能ポインタ７４が活動ポインタとして指定され得る。そして、活動ポインタは、ユーザがディスプレイ・マウス２４（図１参照）動かしたときにディスプレイ２２のスクリーン上を移動する。ＧＵＩ３０の切り替え機能を使用して、第三アプリケーション・ウィンドウ７０（図６参照）の作業領域９２内にあるラベル「ｄ」の移動可能ポインタ７８をユーザが指定する。第三アプリケーション・ウィンドウは活動状態なので、図１０ではアイコン１０６の大きさまで縮小されていたが、ユーザが移動可能ポインタ「ｄ」に切り替えると、ＧＵＩはポインタ状況テーブル８０内のポインタ「ｄ」の定義（その位置も含む）を見つけ、第三アプリケーション・ウィンドウをそのフルサイズ７０まで拡大し、活動ポインタ（ユーザに制御されているポインタ）をラベル「ｄ」のポインタ７８にする。ディスプレイ２２は図１１に描かれているようになる。
【００４９】
図１２および１３は、固定ポインタの処理を示す。図１２は、図６で示されていた第一、第二、第三アプリケーション・ウィンドウ６６，６８，７０が、それぞれアイコン１０８，１０４，１０６の大きさまで縮小されているプログラム・ウィンドウ５０の表示である。図６に示したとおり、第一アプリケーション・ウィンドウ６６は、ウィンドウのサイズ変更アイコン９６上にラベル「ｅ」の固定ポインタ９４を含む。図１３は、ユーザが図１２の表示から固定ポインタ「ｅ」を実行した結果を示す。図６の固定ポインタ「ｅ」は、２度のボタン・クリックまたはキーボードの「Ｅｎｔｅｒ」の押下げに対応したユーザ・アクションを有する。当業者には周知のとおり、固定ポインタ９４は、第一アプリケーション・ウィンドウのサイズ変更アイコンの上にあるので、そのアクションにより、アプリケーションのディスプレイ・ウィンドウが拡大される。特に、ユーザが固定ポインタ「ｅ」を指定した時には、ＧＵＩ３０はポインタ状況テーブル８０内のそのポインタを見つけ、アクション・リスト１００を見つけだし、指定されたアクションを実行する。このように、第一アプリケーション・ウィンドウ６６は図１３に描かれている大きさまで拡大される。従って、図１３は、図１２に示されたディスプレイからユーザが固定ポインタ「ｅ」を選択した後の拡大されたアプリケーション・ウィンドウを示す。
【００５０】
先に述べた好適実施例は、ウィンドウ処理環境に関して示されている。しかし、本発明によれば、ウィンドウを使用しない処理環境の状況においても複数のポインタを提供できる。ポインタの基本的なオペレーションは同じだが、細部が少し異なる。たとえば、ポインタ状況テーブルは、先に述べたようなウィンドウ識別情報は含まない。ウィンドウを使用しない処理環境におけるその他の相違点については、当業者であれば容易に理解できるであろうから、その詳細な説明は省略する。
【００５１】
図１４は、図１に示したシステムによるキーボード入力の処理を示すフロー・ダイアグラムである。ボックス２０２でシステムがシステム・フック入力からキーボード・アクションを受け取ると、処理が始まる。システム・フック入力はＧＵＩにより使用され、要求元のプロセスまたはアプリケーションへユーザのキー・ストロークまたはマウス入力の動きを提供し、さらに次の要求元プロセスまたはアプリケーションへ入力を渡す。ボックス２０２で獲得されたユーザ入力の処理は、ボックス２０４から始まる。ボックス２０４では、その入力が固定ポインタの定義アクションなのか、または追加アクションなのかを決定する（図９およびその説明参照）。
【００５２】
ユーザ・キーボード・アクションが固定ポインタの定義、置換を伴う定義、または追加であって、ボックス２０４で肯定的な結果になると、処理はボックス２０６へ進む。ボックス２０６で、置換および定義機能が存在すれば、システムは、固定ポインタに対応するポインタ状況テーブル項目を削除する。キーストロークであろうとマウス・クリックであろうとシステムは、次のアクションを取り込む。最後に、システムはアクションおよびポインタ状況をポインタ状況テーブルに記憶または追加する。処理はそれからボックス２０８へ進み、そこでは、システムはキーボード入力キュー（システム・フック入力）からユーザ入力を除去する。すなわち、ユーザのキーボード・ポインタ制御入力自体が除去され、従ってそれがシステム・フック入力を要求する他のプロセスまたはアプリケーションにより処理されることはない。従って、実行機能の場合には、スタック・データだけが入力キューに残る。処理はそれからボックス２１０に進み、そこではシステムは、システム・フック入力を要求している次のプロセスにキーボード入力を渡す。
【００５３】
ボックス２０４に戻って、入力が固定ポインタの定義、置換を伴う定義、または追加アクションでないならば、処理はボックス２１２に進み、入力が移動可能ポインタを定義するアクションであるかどうかをチェックする。入力が移動可能ポインタの定義アクションである時には、処理はボックス２１４に進む。ボックス２１４で、システムは、置換および定義機能が存在するかどうかを決定し、もし、存在するならば、活動ポインタを再定義するためにシステム省略時ポインタを切り替えた後にポインタ状況テーブルの項目を削除する。次に、システムは、ポインタ状況テーブルに現在のポインタ状況を記憶し、切り替え機能に記載されているように新しいポインタに切り替える。先に述べたとおり、さらにシステム・フック入力処理のために、処理はボックス２０８へ進む。
【００５４】
キーボード入力が固定ポインタの定義または追加機能ではなく、移動可能ポインタの定義機能でもない時には、ボックス２１６で入力が削除アクションのためのものかどうかシステムがチェックする。入力が削除アクションのためのものであり、削除アクションが現在の移動可能ポインタ上にあるならば、ボックス２１８でシステムはシステム省略時ポインタに切り替える。それからシステムはポインタ状況テーブルからポインタ構造を削除する。前と同じく、ユーザ入力処理はボックス２０８へ進む。
【００５５】
ボックス２１６で削除アクションかどうかの答えがＮＯならば、ボックス２２０で、キーボード入力が全削除アクションのためのものかどうかシステムがチェックする。キーボード入力が全削除アクションのためのものである時には、ボックス２２２でシステムは、システム省略時ポインタに切り替え、全ての移動可能ポインタ構造を削除する。処理は、ボックス２０８へ進む。
【００５６】
全削除アクションでなければ、次にボックス２２４で、キーボード入力が実行アクションのためのものかどうかシステムがチェックして、もしそうであるならば、ボックス２２６で、従来のＧＵＩキーボード／マウス割り込み処理に従って、システムは、記憶されたアクションを変換処理に備えてキーボード／マウス・バッファにスタックする。システム処理は、先に述べたとおり、ボックス２０８へ進む。
【００５７】
チェックされる最後の複数ポインタ関連機能は、条件ボックス２２８に示されているように、キーボード入力が切り替えアクションのためのものかどうかである。ポインタ制御入力が受け取られず、ボックス２２８の結果がＮＯであるならば、システム・フック入力の処理はボックス２１０に進む。システム・フック入力が切り替えアクションのためのものであるならば、処理はボックス２３０に進み、そこでシステムはまず現在のディスプレイ・ポインタの位置および状況の情報を更新し、先に述べた活動ポインタの特徴的性質を除去し（たとえばポインタの強調表示をやめたり、ポインタの大きさを他の活動状態でないポインタと同じになるように縮小したりする）、それから新しい活動ポインタに強調表示などの特徴的性質を与える。システムはそれから関連のあるアプリケーションのウィンドウをディスプレイ・スクリーンの一番前に持って来る。この状態は一般的に、ＧＵＩが関連のあるアプリケーションにフォーカスを当てる、という表現で表される。処理は先に述べたとおり、ボックス２０８に進む。
【００５８】
図１に示し、先に述べたコンピュータ・システムは、単一指示装置で複数のディスプレイ・ポインタを定義し、制御するのに便利な手段を提供する。複数の指示装置で複数のポインタを制御するのにも有利である。図１５は、図１に示したシステムと共通するいくつかの構成要素を有するコンピュータ・システム３０２を示す。共通の構成要素は、図１と共通の参照数字を有する。たとえば、図１５のシステムは、図１のシステムと共通のディスプレイ・ポインタ制御装置としてマウス２４を有するが、その他に第二のディスプレイ・ポインタ制御装置３０４および関連のある第二のデバイス・ドライバ３０６も具備する。このように、システム３０２は、ユーザが第一のポインタ制御装置２４または第二のポインタ制御装置３０４と関連のある複数のポインタを定義したり、その２つのポインタ制御装置間でポインタを共有したりすることを可能にする。
【００５９】
言うまでもないが、図１５のシステム３０２のためのポインタ状況テーブルは、単一指示装置システムのための先に述べたポインタ状況テーブル８０と比較して追加の情報を含む。たとえば、システム３０２の複数ポインタ状況テーブルは、ポインタを所有した各々のポインタ制御装置を指定する情報を含む。このように、特定のポインタを所有すると確認されたポインタ制御装置のみがそのポインタを動かすために使用され得る。上述のように、もし望むなら、２つ以上のポインタ制御装置が特定のポインタを所有するようにできる。
【００６０】
以上、本発明をその好適実施例により説明してきたが、ここで説明した以外に本発明が適用できる多くのコンピュータ・ディスプレイ・ポインタ・システム構成がある。本発明はここで説明した特定の実施例に限定されるのではなく、ポインタ・システムに関して一般的に幅広い適応性を有している。
【００６１】
【発明の効果】
本発明によれば、複数のポインタを定義し、各アプリケーションと関連付けて使用することができる。
【図面の簡単な説明】
【図１】本発明に従って構成されたコンピュータ・システムのブロック図。
【図２】図１に示されたシステムのＧＵＩおよび他の構成要素を示すブロック図。
【図３】図１に示されたシステムの複数のポインタを示すディスプレイ表示。
【図４】図１に示されたシステムの複数のポインタを示すディスプレイ表示。
【図５】図１に示されたコンピュータ・システムにおけるデータ構造。
【図６】図１に示されたシステムの移動可能および固定ポインタを示すディスプレイ表示。
【図７】図１に示されたシステムの移動可能および固定ポインタを示すディスプレイ表示。
【図８】図１に示されたコンピュータ・システムで使用されるデータ構造。
【図９】図２に示されたＧＵＩにより実行され得るアクションを示すテーブル。
【図１０】図１に示されたシステムの移動可能ポインタの実現を示すディスプレイ表示。
【図１１】図１に示されたシステムの移動可能ポインタの実現を示すディスプレイ表示。
【図１２】図１に示されたシステムにおける固定ポインタの実現を示すディスプレイ表示。
【図１３】図１に示されたシステムの固定ポインタの実現を示すディスプレイ表示。
【図１４】図１に示されたシステムの処理を示す流れ図。
【図１５】複数の指示装置をサポートする本発明の代替例に従って構成されたコンピュータ・システムのブロック図。
【符号の説明】
１０  コンピュータ・システム        ５４  タイトル・バー
１２  ホスト・プロセッサ            ５６  タイトル
１４  ランダム・アクセス・メモリ    ５８  メニュー・アイコン
１６  データ・ストレージ            ６０  ウィンドウ・サイズ変更アイコン
１８  キーボード                    ６２  メニュー・バー
２０  キーボード・インターフェース  ６４  作業領域
２２  ディスプレイ装置              ７１  活動ポインタ
２４  ディスプレイ・マウス装置      ７２  移動可能ポインタａ
２６  マウス・インターフェース      ７４  移動可能ポインタｂ
３０  ＧＵＩ                        ７６  移動可能ポインタｃ
３２  キーボード・バッファ          ７８  移動可能ポインタｄ
３４  マウス・バッファ              ８０  ポインタ状況テーブル
３６  ディスプレイ・ドライバ        ８２  テーブル
３８  アプリケーション・プログラム  ８４  ユーザ・テーブル
４０  ポインタ制御インターフェース  ９４  固定ポインタ
４２  ポインタ状況テーブル          ９６  ウィンドウ・サイズ変更アイコン
５０  ディスプレイ・ウィンドウ      ９８  固定ポインタ
５２  ウィンドウ・フレーム          １００  アクション・リスト
【図１】
0003782836.tif 000002
【図２】
0003782836.tif 000003
【図３】
0003782836.tif 000004
【図４】
0003782836.tif 000005
【図５】
0003782836.tif 000006
【図６】
0003782836.tif 000007
【図７】
0003782836.tif 000008
【図８】
0003782836.tif 000009
【図９】
0003782836.tif 000010
【図１０】
0003782836.tif 000011
【図１１】
0003782836.tif 000012
【図１２】
0003782836.tif 000013
【図１３】
0003782836.tif 000014
【図１４】
0003782836.tif 000015
【図１５】
0003782836.tif 000016