JP4900889B2 - 情報処理装置及びその制御方法とプログラム - Google Patents

情報処理装置及びその制御方法とプログラム Download PDF

Info

Publication number
JP4900889B2
JP4900889B2 JP2005014681A JP2005014681A JP4900889B2 JP 4900889 B2 JP4900889 B2 JP 4900889B2 JP 2005014681 A JP2005014681 A JP 2005014681A JP 2005014681 A JP2005014681 A JP 2005014681A JP 4900889 B2 JP4900889 B2 JP 4900889B2
Authority
JP
Japan
Prior art keywords
input
coordinate
application
pointing tool
coordinate data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005014681A
Other languages
English (en)
Other versions
JP2006202138A (ja
Inventor
紀章 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005014681A priority Critical patent/JP4900889B2/ja
Priority to US11/331,774 priority patent/US7464338B2/en
Publication of JP2006202138A publication Critical patent/JP2006202138A/ja
Application granted granted Critical
Publication of JP4900889B2 publication Critical patent/JP4900889B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、複数のユーザが表示画面を共有して、複数のユーザからの座標情報に基づいた画像表示やプログラムの実行などを制御する情報処理装置及びその制御方法とプログラムに関するものである。
近年、パーソナルコンピュータの普及に伴い、オフィスにおいても様々な業務の電子化が進められている。このような業務の電子化の流れは、紙への印刷を伴う作業に留まらず会議室にも訪れている。その代表的な製品がホワイトボードを電子化した、所謂、電子会議システムである。しかしながら、一般の業務では、ノート型パーソナルコンピュータの画面をプロジェクタで投影し、ホワイトボードと併せて利用する従来からの会議形態が主である。この会議形態では、ホワイトボードに複数のペンが用意され、そのボードに自由に描画が行えるものである。更に、このような電子会議システムを複数のユーザが同時に利用できる遠隔操作システムの提案がなされてきた。
ネットワークに接続された複数のコンピュータ機器間で描画データの同期を取るシステムが特許文献1で提案されている。これによれば、一台のコンピュータ機器の画面を共有表示装置に表示し、複数のユーザがそれぞれのコンピュータ機器を有する構成とすれば、複数のユーザが並行して同時に利用可能なホワイトボード・アプリケーションが実現できる。
また特許文献2は、ネットワークに接続された複数のコンピュータ機器間で描画データの同期に加えて、あるアプリケーションの表示データを共有するシステムを提案している。これにより、あるユーザがアプリケーションを操作している最中に、他のユーザが描画操作を行うことができる。
更に特許文献3は、共有画像表示装置へ複数の座標を入力するシステムを提案している。これによればコンピュータ機器の画面を投影する共有画像表示装置が、複数の座標を検出する検出手段を備え、各コンピュータ機器の表示装置の画面を合成して投影することができる。
特開平5−153310号公報 特開平8−36546号公報 特開2003−99196号公報
このように、ネットワークに接続された複数のコンピュータ機器による同時描画は既に実現されている。また複数のコンピュータ機器(PC)間で、ホストPCの画面データと専用のアプリケーション上での描画データとを共有し、このホストPCをリモート操作することのできるPCを1台に制限することで、ホストPCのリモート操作の競合を回避しつつ、専用アプリケーションに対する複数のPCからの同時描画を可能とした技術が提案されている。
しかし、これは複数のPCのそれぞれに接続された座標入力装置を操作することで可能となっている。この構成で、各PCで同時操作を実現しているのは、各PCが、それに接続されている座標入力装置から入力した座標値を処理して描画データを生成し、その描画データをやり取りしているためである。各PCが、それに接続されている座標入力装置とネットワークとのインタフェースだけの役目しか持っていないのであれば、1台のPCに複数の座標入力装置を単純につないだのと等価であり、ユーザ間に操作の干渉が発生する。即ち、共有画面を表示する表示装置にPCから描画データを出力して表示する場合、そのPCに単純に複数の座標入力装置を接続し、複数のユーザが同時に複数の座標入力装置を操作して座標データを入力できる構成とした場合には、各ユーザ間での座標入力操作の干渉が発生する。これは、従来からのウィンドウシステムでは、複数のウィンドウの内、フォーカスがあるウィンドウを操作対象としているからである。つまりPCに複数の座標入力装置が接続されていても1つの対象に対する操作しかできず、複数の座標入力装置から同時に座標値が入力されると操作対象の奪い合いが発生し、座標入力装置が切り替わる度に操作が途切れてしまうことになる。
例えば、1台のPCに、ポインティングデバイスであるマウスとタブレットが接続され、それぞれを別々のユーザA,Bが操作するものとする。いまユーザAがマウスを操作して描画アプリケーションへ線の描画を行っている最中に、ユーザBがブラウザでネットサーフィンをしようとすると、そのPCで実行されている描画アプリケーションで描画中の線が他のユーザが操作を行った地点まで描かれてしまい、ユーザBの操作がユーザAの操作を邪魔してしまう。
このような問題を解決する方法として、操作可能な座標入力装置を、先に座標データを入力した方の装置に制限する方法が提案されている。しかし、この方法では、座標データを入力可能な座標入力装置を1つに限定してしまうため、1台のPCに対して複数の座標入力装置からの座標値を同時に入力する、複数の座標入力装置を使用した同時操作を実現することは不可能である。
また、複数の座標入力装置と処理手段とを備えた専用の共有画面表示装置により同時描画が実現されている。しかしこの方法では、共有画面表示装置に画像を表示しているPCを、共有画面表示装置に備えられた座標入力装置から操作することができない。従って、ユーザは同時描画とPCの操作とを切り替えるために、操作する座標入力装置を切り替える必要があった。
本発明は、上記従来技術の欠点を解決することにある。
また本発明の特徴は、情報処理装置に接続された、座標データを入力する複数の座標指示具のそれぞれのユーザが並行して、表示画面上のウインドウを操作できる情報処理装置及びその制御方法とプログラムを提供することにある。
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力手段と、
操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が前記制御権により制限されない第2のアプリケーションのウインドウとを表示画面に表示させる表示制御手段と、
前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御手段と、
前記制御手段により前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理手段と、
前記取得処理手段により前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から入力座標データが入力されなかった場合、当該座標指示具のための前記制御権を解放する解放手段とを有し、
前記制御手段は更に、前記取得処理手段により前記制御権が取得されてから前記解放手段が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とする。
また本発明の一態様に係る情報処理装置の制御方法は以下のような工程を備える。即ち、
情報処理装置が行う情報処理方法であって、
座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力工程と、
操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が制御権により制限されない第2のアプリケーションのウインドウとを表示画面上に表示させる表示制御工程と、
前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御工程と
前記制御工程で前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理工程と、
前記取得処理工程で前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から入力座標データが入力されなかった場合、当該座標指示具のための前記制御権を解放する解放工程とを有し、
前記制御工程は更に、前記取得処理工程で前記制御権が取得されてから前記解放工程が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とする。
尚、この発明の概要は、必要な特徴を全て列挙しているものでなく、よって、これら特徴群のサブコンビネーションも発明になり得る。
本発明によれば、入力座標データを出力する複数の座標指示具のそれぞれのユーザが並行して、表示画面上のウインドウを操作できるという効果がある。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は、本願の特許請求の範囲に係る発明を限定するものでなく、また、本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
[実施の形態1]
図1は、本発明の実施の形態1に係る共同作業支援システムの機能構成を示す機能ブロック図である。
図1において、100はパーソナルコンピュータ(PC)又はワークステーションなどの情報処理装置であり、同時に複数の座標値を入力できる複数座標入力装置102や、複数座標入力装置102から入力される複数の座標値に基づいて画像を表示する共有画面表示装置101等の周辺機器(他の周辺装置はここでは省略している)を接続している。共有画面表示装置101は、情報処理装置100から出力される表示データに基づいて画像を表示するための表示装置で、リアプロジェクション・ディスプレイやPDP、プロジェクタのスクリーン等により構成されている。複数座標入力装置102は、共有画面表示装置101を使用して座標値を入力する座標入力装置で、例えばデジタイザやタッチパネル等を有し、複数のペンなどの座標指示具を用いて入力される複数の座標を同時に並行して検出し、それら複数の座標値を情報処理装置100に出力することができる。この複数座標入力装置102から入力されるデータには、各座標指示具で指示された座標値、各座標指示具のボタン情報及び識別子等が含まれている。この識別子は、同時に検出された複数の座標値が、どの座標指示具により指示されたものであるかを識別するための情報である。例えば、複数のペンを使用できるデジタイザなどでは各ペンが識別子を有しており、あるペンで指示された座標値と共に、そのペンの識別子が出力される。尚、この複数座標入力装置102が、識別子付加機能を持たない場合には、インタフェース(I/F)103で、その座標値に識別子を付加してもかまわない。
尚、図1では、複数座標入力装置102が一つの場合を示しているが、複数台の複数座標入力装置102を情報処理装置100へ接続し、各複数座標入力装置102間で互いに競合しない識別子を付与することにより、複数の複数座標入力装置102を使用した操作が可能となる。例えば、複数座標入力装置102が固有の製品番号を識別子に含めたり、インタフェース103がプロセスIDを識別子に含めたり、入力制御部104が入力データの送信元のプロセスIDを特定して識別子に付加することにより、識別子間での競合を避けることができる。
情報処理装置100では、インタフェース103で処理した入力データが入力制御部104に送られる。この入力制御部104は、制御権管理部105によってオペレーティングシステム108へのシステム・マウスイベントの送信権を管理し、入力振り分け部106で、入力データを操作制御部107及びオペレーティングシステム108のいずれに出力するかを判定して出力する。操作制御部107は、後述する操作方法によって、入力データの識別子ごとに、そのデータに応じた操作を行う操作手段である。オペレーティングシステム108は、制御権管理部105の管理の下で入力振り分け部106で振り分けられたシステム・マウスイベントを処理する。即ち、入力した座標データに基づくイベントの発生座標において、共有画面表示装置101に表示された最前面にある(焦点が当たっている)アプリケーション109に対してシステム・マウスイベントを通知する。
制御権管理部105は、オペレーティングシステム108へのシステム・マウスイベントの送信権を管理し、操作制御部107以外の操作が可能な識別子を一つに限定している。これにより操作制御部107以外では、操作可能な識別子の干渉を防止できる。制御権管理部105は、入力制御部104から制御権が要求された際、制御権が空いていればその要求された識別子に対して制御権を与える。こうして与えられた制御権は、所定時間が経過した後に自動的に解放されるが、同じ識別子のデータが入力された場合や、その識別子を有する座標指示具(ペンやマウスなど)がドラッグ操作中は、その制御権が解放されないように保護する。これにより、その識別子を有する操作中の座標指示具は、その座標指示具による操作終了までの間、操作制御部107以外の操作を占有して行うことができる。
但し、次のような例外が起こりうるため、そのための対策を施す必要がある。例えば、制御権を取得しているデバイス(座標入力装置または座標指示具)に故障が発生して、そのデバイスからの応答がなくなるといった例外事象の対策として、制御権を持った識別子を有するデバイスからの入力が長時間途絶えた場合には、その制御権を解放するのが良い。例えば、所定時間を非入力制限回数に設定し、その所定時間以上、制御権を持った識別子を有するデバイスからのデータ入力が途絶えた場合には、その制御権を解放する。また、ユーザが意図しない状況で、データが入力し続けられる場合への対策として、制御権を持った識別子を有するデバイスからの入力座標値が変化しない場合には、その制御権を解放するようにしても良い。例えば、所定時間を同じ座標値が連続して入力される制限回数Nに設定し、その所定時間を超えるまで、その制御権を持った識別子を有するデバイスからの座標値が変化しなかった場合には、その識別子を有するデバイスの制御権を解放するようにしても良い。
図2は、本発明の実施の形態に係る情報処理装置100のハードウェア構成を説明するブロック図で、図1と共通する部分は同じ記号で示し、それらの説明を省略する。
図において、CPU201は、RAM202或はROM203に記憶されているプログラムに従って後述する各種制御動作を実行し、この装置100全体の動作を制御している。RAM202は、CPU201により実行されるプログラムやデータを記憶すると共に、CPU201による制御処理時に各種データを一時的に保存するためのワークエリアを提供している。ROM203は、BIOSなどのプログラムや各種データを記憶している。インタフェース204は、前述した共有画面表示装置101とのインタフェースを制御している。外部記憶装置(HD)205は、OS108や各種アプリケーション109を予めインストールしており、実行時に、これらOS108やアプリケーション109がRAM202にロードされ、CPU201の制御の下に実行される。またこの外部記憶装置205は、画像データ等の各種データを保存するのにも使用される。表示部206は、この情報処理装置100に設けられた表示部で、CRTや液晶などの表示ユニットを備えている。入力部207は、キーボード及びマウス等のポインティングデバイスを有し、ユーザの操作に応じて各種データやコマンドなどを入力するのに使用される。尚、ここでは共有画面表示装置101及び複数座標入力装置102はそれぞれ表示部206、入力部207と別体として説明しているが、これら表示装置及び入力装置はそれぞれ同じハードウェアに一体化されていても良い。
また図1に示す入力制御部104、操作制御部107等の機能は、CPU201と、実行時にHD205からRAM202にロードされ、CPU201の制御の下で実行されるプログラムにより達成されている。
図3は、本発明の実施の形態1に係る制御権管理部105が入力制御部104からの制御権の取得要求の処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
まずステップS1で、座標入力装置からのデータを受信する。次にステップS2で、ステップS1で受信したデータの識別子Yを取得する。次にステップS3で、制御権管理部105が管理している制御権識別子(現在制御権を有している識別子)があるかどうかを判定する。ここで制御権識別子が、制御権が空いていることを示す「−1」である場合はステップS4に進み、制御権識別子をYに設定してステップS5へ進む。一方ステップS3で、制御権識別子が「−1」以外の場合は、既に制御権が設定されているのでステップS6に進み、制御権識別子が、ステップS1で入力したデータの制御権と同じ識別子Yであるかを判別する。ここで制御権識別子が識別子Yに設定されている場合にはステップS5へ進むが、制御権識別子が識別子Y以外に設定されている場合にはステップS7に進み、制御権の取得が失敗したと判断してステップS18で制御権の取得結果を出力する。
ステップS5では、ステップS1で受信したデータよりボタンデータを取得する。次にステップS8で、そのボタンデータがボタンダウンであるか判別し、ボタンダウンであればステップS9に進み、制御権管理部105が保持する制御権固定フラグをオンに設定(ドラッグ中かどうかを判別するため)してステップS15へ進む。
一方、ステップS8でボタンダウンでなければステップS10に進み、ボタンデータがボタンアップであるか否かを判別し、ボタンアップであればステップS11に進み、制御権固定フラグをオフにしてステップS15に進む。ステップS10でボタンアップでなければステップS12に進み、入力データの座標値が制御権管理部105の保持する前回入力した座標値と同じであるかを判別し、同じでなければステップS13で、前回の入力座標値を新たな座標値で更新する。次にステップS14で、同じ座標値が連続して入力される回数を計数している値Nを同座標制限値Naに初期化してステップS15へ進む。またステップS12で、前回の入力座標値と同じであればステップS15へ進み、制御権取得成功としてステップS16に進み、座標が入力されない回数を計数している値Mを非入力制限値Maに初期化する。次にステップS17で、制御権タイマを初期化して再起動してステップS18に進み、制御権取得結果を出力する。尚、同座標制限値Naは、所定時間を同じ座標値が連続して入力される制限回数に該当し、所定時間、その制限回数Na分、その制御権を持った識別子を有するデバイスからの座標値が変化しなかった場合には、その識別子を有するデバイスの制御権を解放するためのものである。また非入力制限値Maは、制御権を持った識別子を有するデバイスからの入力が、非入力制限回数Maに相当する所定時間以上途絶えた場合には、そのデバイスによる制御権を解放するためのものである。
また制御権タイマとは、所定時間が経過するたびにタイムアウトイベントを発行するタイマであり、再起動時には、制御権タイマによるタイムアウトイベントまでの時間が所定時間にリセットされる。
図4は、本実施の形態1に係る制御権管理部105が制御権タイマのタイムアウト時に行う処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
ステップS21で、制御権タイマのタイムアウトが発生するとステップS22に進み、制御権固定フラグの状態を判定する。ここで制御権が固定されていない場合はステップS27に進み、制御権識別子を制御権空きであることを示す「−1」にする。そしてステップS28で制御権タイマの計時動作を停止し、次にステップS29で制御権タイマによるタイムアウト処理を終了する。
一方、ステップS22で、制御権固定フラグが設定されていた場合はステップS23に進み、座標が入力されない回数を計数している値Mを減算する(M=M−1)。そしてステップS24で、Mの値が「0」より大きいか否かを判定する。ここでMの値が「0」より大きくない場合は、制御権を取得したままデバイスの故障などで応答がなくなっている例外事態であると判断してステップS27の制御権の解放処理へ進む。一方、ステップS24で、座標が入力されない回数を計数している値Mが「0」より大きい場合はステップS25に進み、同じ座標値が連続して入力される回数を計数している値Nを減算する(N=N−1)。そしてステップS26で、Nの値が「0」より大きいか否かを判定する。ここで「0」より大きくない場合は、ユーザが意図しない状況において、座標入力装置102からデータが入力し続けられる例外事態であると判断してステップS27の制御権の解放処理へ進む。またステップS26で、Nの値が「0」より大きい場合には制御権を変更せず、ステップS29で制御権タイマタイムアウト処理を終了する。
図5(A)〜(C)は、本実施の形態に係る入力振り分け部106が管理するドラッグ管理リストとZオーダリスト及び透明操作面リストの一例を示す図で、これらリストはRAM202に作成される。
図5(A)は、ドラッグ管理リスト400を示し、この管理リスト400には、インデックス(Index)に対応して、識別子と、入力ペンなどの座標指示具によるドラッグ操作中かどうかを示すドラッグ(Drag)フラグとがペアで配列されている。尚、ドラッグ(Drag)フラグの「TRUE」はドラッグ中を示し、「FALSE」はドラッグ中でない状態を示している。
図5(B)は、Zオーダリスト401を示し、このZオーダリスト401は、インデックス(Index)に対応して、共有画面に表示されている全ウィンドウのハンドルをZオーダ順(画面の手前[31]から後方に向かう順)に保存する。
図5(C)は、透明操作面リスト402を示し、インデックス(Index)に対応して、透明ではあるが、そのウィンドウ領域に含まれる座標データによるマウスイベントを取得する操作制御部107のウィンドウハンドルと、Zオーダリストのインデックス(ZオーダIndex)を、Zオーダ順に保存している。
図6は、本実施の形態に係る入力振り分け部106がオペレーティングシステム108で起きたZオーダの変化に対応してZオーダリスト401を更新する処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。この入力振り分け部106は、常にオペレーティングシステム108を監視しており、Zオーダが変化するとZオーダリスト401及び透明操作面リスト402を更新する。
ステップS30で、Zオーダの変更イベントを受信するとステップS31に進み、図5(B)に示すZオーダリスト401を初期化する。次にステップS32で、オペレーティングシステム108にZオーダ順にウィンドウハンドルを列挙するように要求する。次にステップS33に進み、ウィンドウハンドルの列挙が終了したかどうかを判断し、終了するまでステップS34からステップS37を繰り返す。そしてウィンドウハンドルの列挙が終了するとステップS38に進み、図5(C)に示す透明操作面リスト402を更新しZオーダ変更イベントの処理を終了する。この処理の詳細は、図7のフローチャートを用いて後述する。
ステップS34では、オペレーティングシステム108からウィンドウハンドル「hWnd」を受け取ってステップS35に進み、そのウィンドウハンドルを持つウィンドウの表示状態を取得する。次にステップS36で、ウィンドウの表示状態を確認し、表示中でなければステップS33へ戻って前述の処理を実行するが、表示中であればステップS37に進み、そのウィンドウハンドル「hWnd」をZオーダリスト401の最後に追加してステップS33へ戻る。
図7は、本実施の形態に係る入力振り分け部106が透明操作面リスト402(図5(C))を更新する処理(図6のステップS38の処理に相当)を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
この透明操作面リスト402の更新はZオーダに変更があった場合と、操作制御部107から透明操作面リスト402へウィンドウハンドルの登録・削除要求があった場合に実行される。尚、操作制御部107から透明操作面リスト402へウィンドウハンドルの登録要求があった場合には、透明操作面リスト402の更新を処理する前に、透明操作面リスト402へ、そのウィンドウハンドルとウィンドウが非表示状態であることを示すZオーダインデックスの値「−1」を追加する。また削除要求であった場合には、透明操作面リスト402から該ウィンドウハンドルを予め削除する。以下、詳しく説明する。
まずステップS40で、透明操作面リスト402の更新が開始されるとステップS41に進み、仮の透明操作面リストをRAM202に生成する。次にステップS42からステップS53において、Zオーダリスト401に含まれるウィンドウハンドルが透明操作面リスト402に含まれるかを判定し、含まれる場合は仮の透明操作面リスト(RAM202に生成する)に、そのウィンドウハンドルとZオーダインデックスを追加する。
ここではまずステップS42で、Zオーダリスト401の長さL1(総インデックス数)を取得し、次にステップS43でインデックスn1を「0」に初期化する。次にステップS44で、インデックスn1が長さL1より小さいかどうか、即ち、Zオーダリスト401の全てのインデックスの検査を終了したかどうかを判定する。インデックスn1が長さL1より小さくない場合は、Zオーダリスト401の全てのインデックスの検査を終了したのでステップS54へ進むが、小さい場合はステップS45へ進み、Zオーダリスト401のインデックス(Index)n1のウィンドウハンドル「hWndN」を取得する。次にステップS46で、透明操作面リスト402の長さL2(総インデックス数)を取得し、次にステップS47で、インデックスn2を「0」に初期化する。そしてステップS48で、インデックスn2が長さL2より小さいか否かを判定する。インデックスn2が長さL2より小さくない場合はステップS44へ戻るが、インデックスn2が長さL2より小さい場合はステップS49へ進み、透明操作面リスト402のインデックスn2のウィンドウハンドル「hWnd」を取得する。次にステップS50に進み、ステップS45で取得したZオーダリスト401のウィンドウハンドル「hWndN」と、ステップS49で取得した透明操作面リスト402のウィンドウハンドル「hWnd」とを比較し、これらが等しくない場合はステップS53に進み、インデックスn2をカウントアップ(+1)してステップS48へ戻り、前述の処理を実行する。一方、ステップS50で、ウィンドウハンドル「hWndN」と「hWnd」とが等しい場合はステップS51に進み、ウィンドウハンドル「hWnd」とインデックスn1を仮の透明操作面リストの最後に追加してステップS52に進み、インデックスn1をカウントアップしてステップS44へ戻る。
一方、ステップS44で、インデックスn1が長さL1より小さくない場合はステップS54からステップS65において、透明操作面リスト402に含まれるウィンドウハンドルが仮の透明操作面リストに含まれるか否かを判定し、含まれ[32]ない場合には、その仮の透明操作面リストに、そのウィンドウハンドルとウィンドウが非表示状態であることを示すZオーダインデックスの値「−1」を追加する。以下詳しく説明する。
ステップS54では、透明操作面リスト402の長さL2を取得してステップS55に進み、インデックスn2を「0」に初期化する。次にステップS56で、インデックスn2が長さL2より小さいか否か、即ち、透明操作面リスト402の全項目を全てチェックしたかどうかを判定する。インデックスn2が長さL2より小さくない場合はステップS66へ進むが、インデックスn2が長さL2より小さい場合はステップS57へ進み、透明操作面リスト402のインデックスn2のウィンドウハンドル「hWnd」を取得する。次にステップS58で、仮の透明操作面リストの長さL3を取得し、次にステップS59で、インデックスn3を「0」に初期化する。次にステップS60で、インデックスn3が長さL3より小さいか否かを判定し、小さくない場合はステップS56へ戻って前述の処理を実行する。一方、インデックスn3が長さL3より小さい場合はステップS61に進み、仮の透明操作面リストのインデックスn3のウィンドウハンドル「hWndM」を取得する。次にステップS62で、ウィンドウハンドル「hWndM」と「hWnd」とが等しいかを判定する。ここで「hWndM」と「hWnd」とが等し[33]い場合はステップS65に進み、インデックスn3をカウントアップしてステップS60へ戻り、前述の処理を実行する。一方、「hWndM」と「hWnd」とが等しくない場合はステップS63に進み、ウィンドウハンドル「hWnd」とZオーダインデックスが未知であることを示す値「−1」を仮の透明操作面リストの最後に追加し、ステップS64でインデックスn2をカウントアップしてステップS56へ戻る。
またステップS56で、インデックスn2が長さL2より大きい場合はステップS66に進み、透明操作面リスト402を仮の透明操作面リストで上書きし、ステップS67で処理を終了する。
図8は、本実施の形態に係る入力制御部104からの振り分け先判定要求に応じて、入力振り分け部106が実行する処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
ステップS70で、振り分け先要求が入力されることによりデータの振り分け処理が開始されると、ステップS71で、入力した座標データで示される座標を含む最も画面の手前にあるウィンドウのウィンドウハンドル「hWnd」をオペレーティングシステム108から取得する。次にステップS72で、そのウィンドウハンドル「hWnd」の親ウィンドウに当たるルートウィンドウのハンドル「hRWnd」をオペレーティングシステム108から取得する。尚、これらステップS71とステップS72の処理はオペレーティングシステム108を用いているが、Zオーダリスト401の内容にウィンドウの位置と大きさやルートウィンドウのハンドルを加えておけば、このオペレーティングシステム108を用いずに独自の処理によって入力座標を含むウィンドウハンドルを探したり、ルートウィンドウを探したりすることが可能になる。
そしてステップS73からステップS78では、ルートウィンドウのハンドル「hRWnd」と、Zオーダリスト401のウィンドウハンドル「hWnd」とを比較し、Zオーダインデックスを取得する。Zオーダインデックスの取得に失敗した場合には、ステップS88へ進む。以下、具体的に説明する。
ステップS73では、Zオーダリスト401の長さLを取得する。次にステップS74で、インデックスnを「0」に初期化し、次にステップS75で、インデックスnが長さLより小さいか否かを判定する。インデックスnが長さLより小さくない場合はステップS88に進むが、インデックスnが長さLより小さい場合はステップS76へ進み、Zオーダリスト401のインデックスnのウィンドウハンドル「hWndN」を取得する。次にステップS77で、このウィンドウハンドル「hWndN」と、ルートウィンドウのハンドル「hRWnd」とを比較し、これらが等しい場合はステップS79へ進む。等しくない場合はステップS78に進んで、インデックスnをカウントアップしてステップS75へ戻る。
ステップS79では、透明操作面リスト402の長さL2を取得し、次にステップS80で、インデックスn2を「0」に初期化する。次にステップS81で、インデックスn2が長さL2より小さいか否かを判定し、インデックスn2が長さL2より小さくない場合にはステップS88へ進むが、インデックスn2が長さL2より小さい場合にはステップS82へ進み、透明操作面リスト402のインデックスn2のZオーダインデックスZnを取得する。次にステップS83で、インデックスnがZnよりも大きいか否かを判定し、インデックスnがZnよりも大きい場合はステップS88へ進むが、インデックスnがZnよりも小さい場合はステップS84へ進み、透明操作面リスト402のインデックスn2のウィンドウハンドル「hWndN」を取得する。次にステップS85で、ウィンドウハンドル「hWndN」へ、入力データの識別子とその座標値を指定したHITTESTメッセージを送信する。
操作制御部107は、入力データの識別子とその座標値を指定したHITTESTメッセージを受信すると、該当する識別子からの入力を受け付ける状態かつ座標値が自ウィンドウ内であればHITを返し、そうでなければNOTHITを返す。
これにより、その座標値がウィンドウハンドル「hWndN」のウィンドウ内の座標を指示していれば、そのウィンドウハンドル「hWndN」に対応するアプリケーションから、HITしていることが通知される。逆に、その座標値がウィンドウハンドル「hWndN」のウィンドウ内の座標を指示していなければ、そのウィンドウハンドル「hWndN」に対応するアプリケーションからNOTHITであることが通知される。
ステップS86で、メッセージの戻り値を確認し、HITでなければステップS81へ戻り、HITであればステップS717に進み、振り分け先を「hWndN」として処理を終了する。
またステップS88では、識別子を指定したHITTESTメッセージをウィンドウハンドル「hWndN」に送信する。次にステップS89で、ウィンドウハンドル「hWndN」からの戻り値がHITであるかどうかを判定し、HITであればステップS90に進み、振り分け先を、そのHITした操作面「hWndN」として、振り分け要求の処理を終了する。一方、ステップS89で、HITではなかった場合はステップS91に進み、その振り分け先を、その他のアプリケーション109を示す値「−1」として、この処理を終了する。
ここで、入力振り分け部106が、透明ではあるがそのウィンドウ領域に含まれる座標データによるマウスイベントを取得する操作制御部107のウィンドウハンドルをZオーダリスト401に含めて管理していた場合、ステップS88では、Zオーダリスト401のウィンドウハンドル「hWnd」が存在するか否かを判定するだけでもよい。
図9は、本実施の形態に係る入力制御部104が、座標入力装置102からデータを受信した際に行う処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
ステップS100で、データを受信するとステップS101に進み、入力振り分け部106を利用して、振り分け先のウィンドウハンドル「hWnd」を特定する(図8)。そしてステップS102で、その振り分け先「hWnd」が操作制御部107であるか(図8のS90)、その他のアプリケーション109である(図8のS91で「−1」がセットされている)かを判定する。ここでウィンドウハンドル「hWnd」が操作制御部107である(「0」以上)と判定するとステップS103に進み、ステップS100で入力したデータをウィンドウハンドル「hWnd」へ出力し、ステップS104で入力データの処理を終了する。
一方、ステップS102で、ウィンドウハンドル「hWnd」が操作制御部107でない(「0」以下)と判定した場合はステップS105に進み、制御権管理部105を利用して、入力したデータの制御権を要求する(図3)。このステップS105の処理は図のフローチャートを参照されたい。次にステップS106に進み、制御権の取得結果を確認する。ここで制御権を取得できなかった場合はステップS104に進んで処理を終了する。ステップS106で、制御権を取得できた場合はステップS107に進み、オペレーティングシステム108へマウスイベントを出力して処理を終了する。
図10は、本実施の形態に係る操作制御部107が管理する操作管理リストの一例を示す図である。
この例では説明を簡単にするために、操作制御部107の機能を描画色のみが変更可能な自由線の描画に限定している。この操作管理リスト900は、インデックス(Index)に対応して、識別子とドラッグ中を示すフラグ(Dragフラグ)、前回の座標値、及び描画色を配列として保存している。この操作管理リスト900に更に、太さ、図形の種類などを追加することで、複数のユーザが同時に利用可能なベクタグラフィックスエディタなどの操作制御部107を実現できる。
この例では、識別子が「0」である座標指示具はドラッグ中で、前回の指示座標値は(10,50)、その座標値に基づく描画色は「黒」に設定されている。同様に、識別子が「1」である座標指示具はボタンダウンされておらず、前回の指示座標値は(0,0)、その座標値に基づく描画色は「緑」に設定されており、また識別子が「2」である座標指示具もボタンダウンされておらず、前回の指示座標値は(0,0)、その座標値に基づく描画色は「赤」に設定されていることがわかる。
図11は、図10に例示した管理機能を有する操作制御部107が管理している操作面の一例を示す図である。
1000は、共有画面表示装置101に表示される操作面を示す。また1001は、操作面1000に配置された操作ボタンを示している。この例では、操作ボタン1001を操作面1000内に配置したが、本発明はこれに限定されるものでなく、これらボタン1001を操作面1000の外部に配置し、これらボタン1001を操作して操作制御部107へ描画色の変更を指示できるようにしても良い。尚、この操作ボタン1001は、図2の入力部207、或は複数座標入力装置102に設けられていても良い。
図12は、描画色のみを変更できる自由線の描画機能に限定した操作制御部107における入力データの処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
ステップS110において、操作制御部107がデータを受信するとステップS111で、そのデータの識別子に対応する操作管理リスト900(図10)のインデックスnを取得する。次にステップS112で、図11に示す操作ボタン1001が指示されたかどうかを判定するHITTESTを行う。次にステップS113で、戻り値が「HIT」であるか否か(操作ボタン1001が指示されたか否か)を判定する。ステップS113で、戻り値が「HIT」、即ち、操作ボタン1001が指示された場合はステップS114に進み、ステップS110で入力したデータのボタンデータを取得する。次にステップS115で、ボタンダウンであるか否かを判定する。ここでボタンダウンではない場合は、ステップS117に進んで処理を終了する。一方、ステップS115でボタンダウンである場合はステップS116に進み、操作管理リスト900のインデックスnの描画色を、そのダウンされた操作ボタン1001に対応付けて変更し、ステップS117で処理を終了する。
またステップS113で戻り値が「HIT」ではない場合はステップS118に進み、入力データのボタンデータを取得する。次にステップS119で、そのボタンデータに基づいてボタンダウンであるか否かを判定する。ボタンダウンである場合はステップS120に進み、操作管理リスト900のインデックスnのドラッグフラグをドラッグ中であることを示す「TRUE」に変更し、前回の座標値を今回の入力データの座標値に更新して処理を終了する。
一方、ステップS119でボタンダウンでない場合はステップS121に進み、ボタンアップであるか否かを判定する。ここでボタンアップである場合はステップS120に進み、操作管理リスト900のインデックスnのドラッグフラグを、ドラッグ中ではないことを示す「FALSE」に変更して処理を終了する。
またステップS121でボタンアップではなかった場合はステップS122で、操作管理リスト900のインデックスnの前回の座標値を取得する。次にステップS123で、ステップS122で取得した前回の座標値と入力データの座標値とを比較し、前回と同じ座標値であればステップS117に進んで処理を終了する。
一方、ステップS123で、前回と同じ座標値でなければステップS124へ進み、操作面管理リスト900のインデックスのドラッグフラグを取得する。そしてステップS125でドラッグ中であるかどうかを判定する。ドラッグ中でなければステップS127へ進み、操作管理リスト900のインデックスnの前回の座標値を、今回の入力データの座標値に更新して処理を終了する。一方、ドラッグ中であればステップS126に進み、前回の座標値から入力座標値まで直線を描画してステップS127へ進み、前述したように、操作管理リスト900のインデックスnの前回の座標値を、今回の入力データの座標値に更新して処理を終了する。
図13は、本実施の形態1に係るRAM202に記憶された変数及びフラグのメモリマップを示す図である。
[実施の形態2]
図14は、本発明の実施の形態2に係る共同作業支援システムの機能構成を示す機能構成図で、前述の実施の形態1に係る図1と共通する部分は同じ記号で示し、それらの説明を省略する。尚、この実施の形態2に係る情報処理装置100のハードウェア構成は前述の実施の形態1と同様であるため、その説明を省略する。
この実施の形態2では、実施の形態1の構成に対してカーソル表示部110が加わっている。このカーソル表示部110は、識別子ごとの擬似カーソルを持ち、複数座標入力装置102からの入力座標に該擬似カーソルを表示することで、入力座標の位置をユーザに伝えることができる。これにより、共有画面表示装置101で入力を行わないタブレットやマウスなどが複数座標入力装置102として利用可能となる。
図15は、実施の形態2に係るカーソル表示部110の機能構成図である。
このカーソル表示部110は、識別子に対応する複数の擬似カーソル部1300を有しており、カーソル表示部110は、入力制御部104からのデータを受信すると、そのデータの識別子に対応する擬似カーソル部に出力する。
擬似カーソル部1300における擬似カーソルの表示/非表示の制御は、制御権管理部105における制御権の自動解放モード及び固定モードと同様の考えに基づき、所定時間で自動的に非表示となる自動非表示モードと、表示したままの表示固定モードによって行うと良い。このような制御を行わない場合には、識別子分の擬似カーソルが画面に表示されたままとなり、複数座標入力装置102から入力する際にどの擬似カーソルが操作対象であるか判別し辛くなる。
図16は、本実施の形態2に係る擬似カーソル部1300が、カーソル表示部110からの要求を処理する処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
ステップS130でカーソル表示部110からデータを受信するとステップS131に進み、そのデータよりボタンデータを取得する。次にステップS132で、そのボタンデータがボタンダウンを示しているか否かを判定し、ボタンダウンであればステップS133で、擬似カーソル部1300が保持する表示固定フラグをオンに設定してステップS134へ進むが、ボタンダウンでなければステップS135へ進み、ボタンデータがボタンアップであるか否かを判定する。ボタンアップであればステップS136で表示固定フラグをオフにしてステップS134へ進むが、ボタンアップでなければステップS137へ進み、入力データの座標が擬似カーソル部1300の保持する前回の入力座標値と同じであるか確認し、同じでなければステップS138に進んで前回の入力座標値を更新する。次にステップS139で、擬似カーソル部1300が保持する同じ座標値が連続して入力される回数を計数している値Nを同座標制限値Nbに初期化してステップS134へ進む。またステップS137で、前回の座標値と同じであればステップS134へ進む。
ステップS134では、擬似カーソル部1300は擬似カーソルを入力したデータの座標値に移動する。次にステップS140で、その擬似カーソルの表示状態を判定する。ここで擬似カーソルを表示中であればステップS142へ進むが、非表示中であればステップS141で擬似カーソルを表示した後、ステップS142へ進む。ステップS142では、擬似カーソル部1300が保持する座標が入力されない回数を計数している値Mを非入力制限値Mbに初期化する。そしてステップS143で、非表示タイマを初期化して再起動し、次にステップS144で擬似カーソルの移動処理を終了する。ここで非表示タイマとは、所定時間経過する度にタイムアウトイベントを発行するものであり、再起動時には、このタイムアウトイベントまでの時間が所定時間にリセットされる。
図17は、本実施の形態2に係る擬似カーソル部1300が非表示タイマのタイムアウト時に行う処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
まずステップS150で、非表示タイマのタイムアウトが発生するとステップS151で、表示固定フラグの内容を判定する。表示固定フラグがオフ、即ち、表示が固定されていない場合はステップS156で、擬似カーソルを非表示とする。次にステップS157で非表示タイマを停止して、この非表示タイマタイムアウト処理を終了する。
一方、ステップS151で、表示固定フラグがオンに設定されている場合はステップS152で、座標が入力されない回数を計数している値Mを減算し(M=M−1)、次にステップS153で、Mの値が「0」より大きいか否かを判定する。「0」より小さい場合は擬似カーソルを表示したままデバイスの故障などで応答がなくなっている例外事態であると判断してステップS156に進み、制御権の解放処理を実行する。一方、ステップS153で、Mの値が「0」より大きい場合はステップS154に進み、同じ座標値が連続して入力される回数を計数している値Nを減算する(N=N−1)。そしてステップS155で、Nの値が「0」より大きいか否かを判定する。ここで「0」より小さい場合は、ユーザが意図しない状況においてデータが入力し続けられる例外事態であると判断してステップS156に進み、擬似カーソルの非表示処理を行う。またステップS155で、Nの値が「0」より大きい場合は表示状態を変更せずに、そのまま非表示タイマのタイムアウト処理を終了する。
図18は、本実施の形態2に係る入力制御部104がデータを受信した際に行う処理を説明するフローチャートで、この処理は前述の図9に示すフローチャートとほぼ同じフローチャートであり、ここでは擬似カーソルを移動するステップS168が追加されている点のみが異なっている。
ステップS160で、入力制御部104がデータを受信するとステップS161に進み、入力振り分け部106を利用して振り分け先のウィンドウハンドル「hWnd」を特定する。次にステップS162で、その振り分け先のウィンドウハンドル「hWnd」が操作制御部107であるか、その他のアプリケーション109であるかを判定する。ウィンドウハンドル「hWnd」が操作制御部107である場合はステップS163に進み、ウィンドウハンドル「hWnd」へ入力データを出力し、ステップS168で、擬似カーソルを入力データの座標値へ移動する。
一方、ステップS162で、ウィンドウハンドル「hWnd」が操作制御部107ではない場合はステップS165に進み、制御権管理部105を利用して制御権を要求する。次にステップS166で、制御権の取得結果を判定する。ここで制御権を取得できなかった場合はステップS168に進み、擬似カーソルを入力データの座標値に対応する座標に移動して処理を終了する。一方ステップS166で制御権を取得できた場合はステップS167に進み、オペレーティングシステム108へマウスイベントを出力して処理を終了する。
[実施の形態3]
図19は、本発明の実施の形態3に係る共同作業支援システムの機能構成を示す機能構成図で、前述の実施の形態の各機能部と共通する部分は同じ記号で示している。
この実施の形態3では、前述の実施の形態2の構成に加えて識別子を付加する識別子付加部111によって、識別子を付加する機能を持たない座標入力装置からの利用が可能となる。尚、複数座標入力装置102と座標入力装置112、座標入力装置114をそれぞれ一つずつ図示したが、実際にはそれぞれ一つとは限らずにこれらの組み合わせによって実現される。この図19の構成は、前述の図14の構成に、識別子付加部111と座標入力装置112、座標入力装置112のインタフェース113、座標入力装置114、座標入力装置114のインタフェース115およびフック部116が追加されている。尚、この実施の形態3に係る情報処理装置100のハードウェア構成は前述の実施の形態1と同様であるため、その説明を省略する。
識別子付加部111は、インタフェース103、インタフェース113及びフック部116からのデータを受信し、入力元ごとに一意となるような識別子を付加して、入力制御部104へ出力する。座標入力装置112はインタフェース113に接続されるマウスなどの入力装置であり、インタフェース113は、座標入力装置112からの座標データを識別子付加部111へ直接出力できる。座標入力装置114はインタフェース115に接続されるマウスなどの入力装置であり、インタフェース115は、座標入力装置114からの入力に従って、オペレーティングシステム108へシステム・マウスイベントを出力する。複数座標入力装置102及び座標入力装置112からのデータは、そのデータに含まれる識別子により、又はデータ識別子付加部111がそのデータの送信元を識別して識別子を付加できるため、それぞれ複数台、この情報処理装置100に接続されても良い。
フック部116は、オペレーティングシステム108で発生するシステム・マウスイベントを監視し、そのイベントが入力制御部104からの出力に基づくものでなければフックし、オペレーティングシステム108には処理させない。尚、情報処理装置100に複数台の座標入力装置114が接続されている場合には、フック部116がフックしたシステム・マウスイベントに含まれる座標入力装置114に特有の入力情報を分析して、そのデータを発生した座標入力装置114を判別し、そのデータに識別子を付与して識別子付加部111へ出力することもできる。
例えば、タブレットやタッチパネル、デジタイザなどの絶対座標を出力する座標入力装置か、マウスやスクラッチパッドなどの相対座標を出力する座標入力装置であるかは、そのデータが絶対座標か相対座標かを示すフラグを設けることにより、いずれの座標入力装置から供給されたデータであるかを識別できる。もちろん、複数のマウスが座標入力装置114として存在する場合には、前述の識別ができないため、同じ座標入力装置114として扱うこととなる。但し、複数のタブレットなどのように絶対座標を出力する座標入力装置が座標入力装置114として存在する場合には、入力座標値を追跡することにより、複数の座標入力装置114から同時に座標が入力されたとしても、各軌跡を異なる座標入力装置114からのものとして弁別できる。こうして弁別した座標値に応じた各軌跡に対して識別子を付与することが可能である。
図20は、実施の形態3に係る識別子付加部111が保持する識別子管理リストの一例を示す図である。
この識別子管理リスト1800は、座標データの入力元を示すデバイス識別子と、入力制御部104以降で用いる識別子のペアを配列として保存している。尚、この実施の形態3では、デバイス識別子は入力元のプロセスIDとした。但し、複数座標入力装置102のインタフェース103からの入力データや、フック部116からの入力データのように、入力データに識別子が含まれている場合には、入力元のプロセスIDに入力データの識別子を連結して、デバイス識別子とする。
図21は、本実施の形態3に係る識別子付加部111が、デバイス識別子に対応する識別子を求める処理を説明するフローチャートで、この処理を実行するプログラムはRAM202にロードされてCPU201の制御の下に実行される。
まずステップS170で、デバイス識別子Xの変換要求を受信するとステップS171で、識別子管理リストに含まれる要素数Lを取得する。次にステップS172で、インデクスnを「0」に初期化する。次にステップS173で、そのインデクスnの値がリストの要素数Lよりも小さいか否かを判定する。インデクスnの値がリストの要素数Lよりも小さくない場合はステップS174に進み、そのデバイス識別子Xに対応する識別子Yを新たに生成する。次にステップS175で、デバイス識別子Xと識別子Yとを識別子管理リスト1800に保存する。そしてステップS176で、識別子Yを出力する。
一方、ステップS173で、インデクスnの値よりもリストの要素数Lの方が大きい場合はステップS177で、インデクスnのデバイス識別子xを取得する。次にステップS178で、デバイス識別子Xとxとを比較する。ここでXとxとが互いに異なる場合はステップS179に進み、インデクスnの値を+1してステップS173へ戻る。またステップS178で、Xとxが同じである場合はステップS180に進み、インデクスnの識別子Yを取得する。そしてステップS176で、識別子Yを出力する。
入力制御部104以降の処理は、前述の実施の形態2で説明した通りである。
以上説明したように上記実施の形態によれば、共有画面表示装置に画面を表示する情報処理装置に接続された、ユーザを特定可能な複数座標入力装置を用いて、該情報処理装置を一人で利用しているような操作感で複数のユーザが同時に利用可能となる。具体的には、ホワイトボードやアノテーションなどのアプリケーション上では、該アプリケーションの複数のユーザが干渉せずに操作可能であり、かつその他のアプリケーション上では制御権を持つ一人のユーザがその他のアプリケーションを操作が終わるまで占有的に利用できる。
また、ユーザごとに擬似カーソルを表示することで、マウスやタブレットといった共有画面表示装置上にはない座標入力装置からも利用できる。
更に、複数の座標入力装置が情報処理装置内のシステムを意識することなく接続し、複数座標入力装置からの座標入力の場合と同様に利用することができる。
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施の形態1に係る共同作業支援システムの機能構成を示す機能ブロック図である。 本実施の形態に係る情報処理装置のハードウェア構成を説明するブロック図である。 本発明の実施の形態1に係る制御権管理部が入力制御部からの制御権の取得要求の処理を説明するフローチャートである。 本実施の形態1に係る制御権管理部が制御権タイマのタイムアウト時に行う処理を説明するフローチャートである。 本実施の形態1に係る入力振り分け部が管理するドラッグ管理リスト(A)とZオーダリスト(B)及び透明操作面リスト(C)の一例を示す図である。 本実施の形態1に係る入力振り分け部がオペレーティングシステムで起きたZオーダの変化に対応してリストを更新する処理を説明するフローチャートである。 本実施の形態1に係る入力振り分け部が透明操作面リストを更新する処理を説明するフローチャートである。 本実施の形態1に係る入力制御部からの振り分け先判定要求に応じて、入力振り分け部が実行する処理を説明するフローチャートである。 本実施の形態1に係る入力制御部がデータを受信した際に行う処理を説明するフローチャートである。 本実施の形態1に係る操作部が管理する操作管理リストの一例を示す図である。 図10に例示した管理機能を有する操作部の操作面の一例を示す図である。 描画色のみを変更できる自由線の描画機能に限定した操作部における入力データの処理を説明するフローチャートである。 本実施の形態1に係るRAMに記憶された変数及びフラグのメモリマップを示す図である。 本発明の実施の形態2に係る共同作業支援システムの機能構成を示す機能構成図である。 実施の形態2に係るカーソル表示部の機能構成図である。 本実施の形態2に係る擬似カーソル部が、カーソル表示部からの要求を処理する処理を説明するフローチャートである。 本実施の形態2に係る擬似カーソル部が非表示タイマのタイムアウト時に行う処理を説明するフローチャートである。 本実施の形態2に係る入力制御部がデータを受信した際に行う処理を説明するフローチャートである。 本発明の実施の形態3に係る共同作業支援システムの機能構成を示す機能構成図である。 実施の形態3に係る識別子付加部が保持する識別子管理リストの一例を示す図である。 本実施の形態3に係る識別子付加部が、デバイス識別子に対応する識別子を求める処理を説明するフローチャートである。

Claims (7)

  1. 座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力手段と、
    操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が前記制御権により制限されない第2のアプリケーションのウインドウとを表示画面に表示させる表示制御手段と、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御手段と、
    前記制御手段により前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理手段と、
    前記取得処理手段により前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から入力座標データが入力されなかった場合、当該座標指示具のための前記制御権を解放する解放手段とを有し、
    前記制御手段は更に、前記取得処理手段により前記制御権が取得されてから前記解放手段が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とする情報処理装置。
  2. 座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力手段と、
    操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が前記制御権により制限されない第2のアプリケーションのウインドウとを表示画面に表示させる表示制御手段と、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御手段と、
    前記制御手段により前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理手段と、
    前記取得処理手段により前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から同じ入力座標データが入力された場合、当該座標指示具のための前記制御権を解放する解放手段と、
    前記制御手段は更に、前記取得処理手段により前記制御権が取得されてから前記解放手段が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とする情報処理装置。
  3. 前記表示画面に表示される複数のウインドウの前後関係に関する情報を記憶する記憶手段を更に有し、
    前記制御手段は、前記座標指示具による入力座標データと、前記複数のウインドウの位置と前後関係とに基づいて、前記入力座標データの供給先となるアプリケーションを判定することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記表示制御手段は、前記入力座標データを入力する複数の座標指示具の識別情報に対応した複数のカーソルを前記表示画面上に表示させ、前記カーソルを表示させた後、当該カーソルに対応する座標指示具から、所定時間、入力座標データの入力がない場合、当該カーソルを消去することを特徴とする請求項1又は2に記載の情報処理装置。
  5. 座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力手段と、
    操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が前記制御権により制限されない第2のアプリケーションのウインドウとを表示画面に表示させる表示制御手段と、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御手段とを有し、
    前記表示制御手段は、前記入力座標データを入力する複数の座標指示具の識別情報に対応した複数のカーソルを前記表示画面上に表示させ、前記カーソルを表示させた後、当該カーソルに対応する座標指示具から、所定時間、同じ入力座標データが入力された場合、当該カーソルを消去することを特徴とする情報処理装置。
  6. 情報処理装置が行う情報処理方法であって、
    座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力工程と、
    操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が制御権により制限されない第2のアプリケーションのウインドウとを表示画面上に表示させる表示制御工程と、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御工程と
    前記制御工程で前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理工程と、
    前記取得処理工程で前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から入力座標データが入力されなかった場合、当該座標指示具のための前記制御権を解放する解放工程とを有し、
    前記制御工程は更に、前記取得処理工程で前記制御権が取得されてから前記解放工程が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とする情報処理方法。
  7. コンピュータに、
    座標指示具による入力座標データと、当該座標指示具の識別情報を入力する入力手順と、
    操作が可能な座標指示具が制御権により制限される第1のアプリケーションのウインドウと、操作が可能な座標指示具が制御権により制限されない第2のアプリケーションのウインドウとを表示画面上に表示させる表示制御手順と、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合であって、前記入力座標データを入力する座標指示具の識別情報により当該座標指示具に前記制御権があると判定された場合、前記入力座標データを前記第1のアプリケーションに供給し、
    前記座標指示具による入力座標データと、前記表示画面に表示される複数のウインドウのそれぞれの位置とに基づいて、前記入力座標データの供給先となるアプリケーションが前記第2のアプリケーションであると判定された場合、前記入力座標データを前記第2のアプリケーションに供給する制御手順と
    前記制御手順で前記座標指示具による入力座標データの供給先となるアプリケーションが前記第1のアプリケーションであると判定された場合、前記座標指示具のための制御権の取得処理を実行する取得処理手順と、
    前記取得処理手順で前記座標指示具のために前記制御権が取得されてから所定時間、当該座標指示具から入力座標データが入力されなかった場合、当該座標指示具のための前記制御権を解放する解放手順とを実行させ、
    前記制御手順は更に、前記取得処理手順で前記制御権が取得されてから前記解放手順が前記制御権を解放するまで、前記入力座標データを前記第1のアプリケーションに供給することを特徴とするプログラム。
JP2005014681A 2005-01-21 2005-01-21 情報処理装置及びその制御方法とプログラム Expired - Fee Related JP4900889B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005014681A JP4900889B2 (ja) 2005-01-21 2005-01-21 情報処理装置及びその制御方法とプログラム
US11/331,774 US7464338B2 (en) 2005-01-21 2006-01-13 Information processing apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005014681A JP4900889B2 (ja) 2005-01-21 2005-01-21 情報処理装置及びその制御方法とプログラム

Publications (2)

Publication Number Publication Date
JP2006202138A JP2006202138A (ja) 2006-08-03
JP4900889B2 true JP4900889B2 (ja) 2012-03-21

Family

ID=36698506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005014681A Expired - Fee Related JP4900889B2 (ja) 2005-01-21 2005-01-21 情報処理装置及びその制御方法とプログラム

Country Status (2)

Country Link
US (1) US7464338B2 (ja)
JP (1) JP4900889B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1515223A1 (de) * 2003-09-10 2005-03-16 Siemens Aktiengesellschaft Generierung einer Objekt-Bearbeitungsplattform zwischen zwei Computern über eine Bildschirmzusammenfügung
US7624403B2 (en) * 2004-03-25 2009-11-24 Microsoft Corporation API for building semantically rich diagramming tools
US7765483B2 (en) * 2005-09-12 2010-07-27 Microsoft Corporation Filtering obscured data from a remote client display
CA2578640C (en) * 2006-01-31 2015-04-21 Jerry Moscovitch Cursor management system
JP4818791B2 (ja) * 2006-04-20 2011-11-16 株式会社東芝 表示制御装置、画像処理装置、表示制御方法
JP2008090563A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd 投影装置
WO2008041605A1 (fr) * 2006-09-29 2008-04-10 Brother Kogyo Kabushiki Kaisha Appareil de projection, support d'enregistrement comportant un programme enregistré en lui, procédé de projection et système de projection
JPWO2008066093A1 (ja) * 2006-12-01 2010-03-11 日本電気株式会社 位置依存情報表現システム、位置依存情報表現制御装置および位置依存情報表現方法
TW200836563A (en) * 2007-02-27 2008-09-01 Awind Inc Pointing control system for multi-site presentation conference
US8496153B2 (en) 2007-03-29 2013-07-30 Covidien Lp Anvil-mounted dissecting tip for surgical stapling device
JP2009150935A (ja) * 2007-12-18 2009-07-09 Brother Ind Ltd 画像投影システム、端末装置及びプログラム
JP4961358B2 (ja) * 2008-01-07 2012-06-27 日立オムロンターミナルソリューションズ株式会社 タッチパネルシステム
JP5087031B2 (ja) * 2009-02-26 2012-11-28 三菱重工業株式会社 表示制御装置、入力操作装置、表示システム、及び管制システム
US8522308B2 (en) * 2010-02-11 2013-08-27 Verizon Patent And Licensing Inc. Systems and methods for providing a spatial-input-based multi-user shared display experience
JP5585505B2 (ja) * 2011-03-17 2014-09-10 セイコーエプソン株式会社 画像供給装置、画像表示システム、画像供給装置の制御方法、画像表示装置、及び、プログラム
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
KR101888565B1 (ko) * 2011-12-28 2018-08-16 효성티앤에스 주식회사 금융거래 화면 연동 시스템
US8788950B2 (en) * 2012-02-15 2014-07-22 Seiko Epson Corporation Method for providing multiple mouse inputs in a remote desktop session
JP5437431B2 (ja) * 2012-04-20 2014-03-12 任天堂株式会社 通信ゲームシステム
KR20140012505A (ko) * 2012-07-20 2014-02-03 삼성전자주식회사 콘텐트를 공유하는 디바이스 및 방법
US9250792B2 (en) * 2012-11-29 2016-02-02 International Business Machines Corporation Method, apparatus and computer program to designate content retrieval on an interactive display
JP6381187B2 (ja) * 2013-08-09 2018-08-29 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9629627B2 (en) 2014-01-28 2017-04-25 Coviden Lp Surgical apparatus
JP6451226B2 (ja) * 2014-11-06 2019-01-16 富士ゼロックス株式会社 情報処理装置、情報処理システム、プログラム、及び記録媒体
CN104820565B (zh) * 2014-12-30 2018-09-04 平安科技(深圳)有限公司 滑动操作指令处理方法及终端
JP6495845B2 (ja) * 2016-03-03 2019-04-03 日本電信電話株式会社 アプリケーション操作制御方法、および、アプリケーション操作制御装置
KR102324964B1 (ko) 2017-06-01 2021-11-12 삼성전자 주식회사 외부 입력 장치의 입력을 처리하는 전자 장치 및 방법
WO2019021347A1 (ja) 2017-07-24 2019-01-31 富士通株式会社 情報処理装置、共有制御方法、及び共有制御プログラム
US11960668B1 (en) * 2022-11-10 2024-04-16 Honeywell International Inc. Cursor management methods and systems for recovery from incomplete interactions
US11954325B1 (en) 2023-04-05 2024-04-09 Honeywell International Inc. Methods and systems for assigning text entry components to cursors

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153310A (ja) 1991-11-26 1993-06-18 Nippon Telegr & Teleph Corp <Ntt> 描画情報通信制御方法
US5561811A (en) * 1992-11-10 1996-10-01 Xerox Corporation Method and apparatus for per-user customization of applications shared by a plurality of users on a single display
JP3019178B2 (ja) * 1993-05-27 2000-03-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 画面表示共用システム
US5586243A (en) * 1994-04-15 1996-12-17 International Business Machines Corporation Multiple display pointers for computer graphical user interfaces
JPH0836546A (ja) 1994-07-26 1996-02-06 Nippon Telegr & Teleph Corp <Ntt> 協調作業支援システム
JPH0844496A (ja) * 1994-07-28 1996-02-16 Hitachi Ltd 情報処理装置
JPH08307842A (ja) * 1995-04-28 1996-11-22 Oki Electric Ind Co Ltd 電子会議システム
US6204847B1 (en) * 1995-07-17 2001-03-20 Daniel W. Wright Shared virtual desktop collaborative application system
US6215486B1 (en) * 1998-07-20 2001-04-10 Hewlett-Packard Company Event handling in a single logical screen display using multiple remote computer systems
US7327376B2 (en) * 2000-08-29 2008-02-05 Mitsubishi Electric Research Laboratories, Inc. Multi-user collaborative graphical user interfaces
US6894703B2 (en) * 2000-08-29 2005-05-17 Mitsubishi Electric Research Laboratories, Inc. Multi-user collaborative circular graphical user interfaces
US6791530B2 (en) * 2000-08-29 2004-09-14 Mitsubishi Electric Research Laboratories, Inc. Circular graphical user interfaces
JP4728540B2 (ja) 2001-09-20 2011-07-20 株式会社リコー 会議等支援用画像投影装置
US20030179230A1 (en) * 2002-03-25 2003-09-25 Gerry Seidman Method and apparatus for providing remote peer-to-peer collaborative user interfaces
JP2004139419A (ja) * 2002-10-18 2004-05-13 Canon Inc 情報処理システム
US7209948B2 (en) * 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
US7222305B2 (en) * 2003-03-13 2007-05-22 Oracle International Corp. Method of sharing a desktop with attendees of a real-time collaboration
US7260784B2 (en) * 2003-05-07 2007-08-21 International Business Machines Corporation Display data mapping method, system, and program product
US7269794B2 (en) * 2003-09-11 2007-09-11 International Business Machines Corporation Method and apparatus for viewpoint collaboration
US7458029B2 (en) * 2004-01-15 2008-11-25 Microsoft Corporation System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US20050193328A1 (en) * 2004-02-27 2005-09-01 Microsoft Corporation Hypertext navigation for shared displays
US7412662B2 (en) * 2004-04-12 2008-08-12 Microsoft Corporation Method and system for redirection of transformed windows

Also Published As

Publication number Publication date
US7464338B2 (en) 2008-12-09
US20060168531A1 (en) 2006-07-27
JP2006202138A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
JP4900889B2 (ja) 情報処理装置及びその制御方法とプログラム
CA2711450C (en) Method of launching a selected application in a multi-monitor computer system and multi-monitor computer system employing the same
US10452249B2 (en) Tooltip feedback for zoom using scroll wheel
US7432876B2 (en) Display system and method for image copy to a remote display
US6847348B2 (en) Systems and methods for executing functions for objects based on the movement of an input device
US9268483B2 (en) Multi-touch input platform
JP3725263B2 (ja) ソース・オブジェクトとターゲット・オブジェクトとの対話を容易にする方法及び装置
US9659280B2 (en) Information sharing democratization for co-located group meetings
US6886138B2 (en) Directing users′ attention to specific icons being approached by an on-screen pointer on user interactive display interfaces
US8863007B2 (en) Programmatic information transfer
JP6364893B2 (ja) 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム
CN104024983B (zh) 用于间接交互设备的交互模型
CN105474160A (zh) 高性能触摸拖放
JP2013239147A (ja) 表示制御装置
CA2914351A1 (en) A method of establishing and managing messaging sessions based on user positions in a collaboration space and a collaboration system employing same
EP1025489B1 (en) System to associate control with applications using drag and drop interface
CN109117217B (zh) 信息处理设备、信息处理方法和记录介质
TW201738722A (zh) 程式、電腦裝置、程式執行方法、以及系統
JP2005284559A (ja) ツールバー表示切替方法
JP2002323968A (ja) マルチコンピュータシステム
JP2002244788A (ja) ウィンドウ処理装置、及びプログラム
JP6677019B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
TWI780663B (zh) 互動式觸控系統的操作判斷方法
JP6493099B2 (ja) 表示システム、制御方法、及びプログラム
JPH11218562A (ja) Gui処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees