以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
以下において、「タッチ」とは入力位置の検出装置が位置を検出可能な状態になることを意味し、検出装置に接触して押圧する場合、押圧せずに接触する場合、及び、接触せずに近接する場合を含む。入力位置の検出装置には、接触型に限らず非接触型の装置を用いることもできる。非接触型の検出装置の場合には「タッチ」とは、入力位置を検出可能な距離まで検出装置に近接した状態を意味する。
(第1の実施の形態)
図1を参照して、本発明の第1の実施の形態に係るインターフェイス装置100は、演算処理部(以下、CPUという)102、読出専用メモリ(以下、ROMという)104、書換可能メモリ(以下、RAMという)106、記録部108、接続部110、タッチ検出部112、表示部114、表示制御部116、ビデオメモリ(以下、VRAMという)118、及びバス120を備えている。CPU102は、インターフェイス装置100全体を制御する。
インターフェイス装置100はテーブル型インターフェイス装置である。即ち、後述するように、タッチ検出部112及び表示部114がタッチパネルディスプレイを構成し、タッチパネルディスプレイの画像表示面が水平に配置され、インターフェイス装置100はテーブルとして使用される。
ROM104は不揮発性の記憶装置であり、インターフェイス装置100の動作を制御するために必要なプログラム及びデータを記憶している。RAM106は、通電が遮断された場合にデータが消去される揮発性の記憶装置である。記録部108は、通電が遮断された場合にもデータを保持する不揮発性記憶装置であり、例えば、ハードディスクドライブ、又はフラッシュメモリ等である。記録部108は着脱可能に構成されていてもよい。CPU102は、バス120を介してROM104からプログラムをRAM106上に読出して、RAM106の一部を作業領域としてプログラムを実行する。CPU102は、ROM104に格納されているプログラムにしたがってインターフェイス装置100を構成する各部の制御を行なう。
バス120には、CPU102、ROM104、RAM106、記録部108、接続部110、タッチ検出部112、表示制御部116、及びVRAM118が接続されている。各部間のデータ(制御情報を含む)交換は、バス120を介して行なわれる。
接続部110は、外部装置との接続インターフェイスである。例えば、キーボード、マウス等とのインターフェイスである。また、接続部110は、インターフェイス装置100をネットワークに接続するためのNIC(Network Interface Card)を含んでいてもよい。
表示部114は、画像を表示するための表示パネル(液晶パネル等)である。表示制御部116は、表示部114を駆動するための駆動部を備え、VRAM118に記憶された画像データを所定のタイミングで読出し、表示部114に画像として表示するための信号を生成して、表示部114に出力する。表示される画像データは、CPU102が記録部108から読出して、VRAM118に伝送する。
タッチ検出部112は、タッチパネルであり、ユーザによるタッチ操作を検出する。タッチ検出部112は、表示部114の表示画面に重畳して配置される。タッチ検出部112へのタッチは、タッチ位置に対応する、表示画面に表示された画像の点を指定する操作である。したがって、本願明細書においては、記載の冗長性を排除するために、表示部114に表示された画像へのタッチと記載されている場合、この記載は、対応するタッチ検出部112上の位置へのタッチを意味する。タッチ検出部112にタッチパネルを用いる場合のタッチ操作の検出について、図2を参照して説明する。
図2は、赤外線遮断検出方式のタッチパネル(タッチ検出部112)を示す。タッチパネルは、長方形の書込面の隣接する2辺にそれぞれ一列に配置された発光ダイオード列(以下、LED列と記す)200、202と、それぞれのLED列200、202に対向させて一列に配置された2つのフォトダイオード列(以下、PD列と記す)210、212とを備えている。LED列200、202の各LEDから赤外線を発光し、この赤外線を対向するPD列210、212の各PDが検出する。図2において、LED列200、202の各LEDから赤外線を上向き及び左向きの矢印で示す。
タッチパネルは、例えばマイクロコンピュータ(以下、マイコンという)(CPU、メモリ、及び入出力回路等を含む素子)を備え、各LEDの発光を制御する。各PDは、受光した光の強度に応じた電圧を出力する。PDの出力電圧は、アンプによって増幅される。また、各PD列210、212の複数のPDからは同時に信号が出力されるので、出力信号は一旦バッファに保存された後、PDの配列順序に応じたシリアル信号として出力され、マイコンに伝送される。PD列210から出力されるシリアル信号の順序は、X座標を表す。PD列212から出力されるシリアル信号の順序は、Y座標を表す。
ユーザ(図2において破線で示す)220が指でタッチパネル上にタッチすると、タッチされた位置で赤外線が遮断される。したがって、遮断される前まで、その赤外線を受光していたPDの出力電圧は減少する。タッチされた位置(XY座標)に対応するPDからの信号部分が減少するので、マイコンは、受信した2つのシリアル信号の信号レベルが低下している部分を検出し、タッチされた位置座標を求める。マイコンは、決定した位置座標をCPU102に伝送する。このタッチ位置を検出する処理は、所定の検出周期で繰返されるので、同じ点が検出周期よりも長い時間タッチされていると、同じ座標データが繰返し出力される。どこにもタッチされていなければ、マイコンは位置座標を伝送しない。
上記したタッチされた位置の検出技術は公知であるので、これ以上の説明は繰返さない。また、タッチ検出部112には、赤外線遮断方式以外のタッチパネル(静電容量方式、表面弾性波方式、抵抗膜方式等)を用いてもよい。なお、静電容量方式では、センサに近接していれば非接触でも位置を検出することができる。
インターフェイス装置100は上記のように構成されており、ユーザはインターフェイス装置100をコンピュータと同様に操作することができる。即ち、ユーザは、表示部114に表示された画面上のユーザインターフェイス(操作ボタン、アイコン等の部分画像)を、タッチ検出部112を介してタッチ操作し、アプリケーションを起動すること、及び、起動したアプリケーションによって表示されるウィンドウ内の操作を、タッチ検出部112を介して行なうことができる。そのような状態で、タッチパネルディスプレイの周囲にいる複数のユーザが、部分画像(アイコン及びウィンドウ等)を操作する場合に、各ユーザが部分画像の把握を容易にするための処理に関して説明する。
この処理は、図3に示すプログラムによって実現される。即ち、インターフェイス装置100において、タッチパネルディスプレイの周囲に位置する各ユーザに、部分画像の把握を容易にするためのプログラムは、インターフェイス装置100の電源がオンされたときに、OSの起動に引続き、例えばROM104から読出されて実行される。
本プログラムの実行に必要な初期設定が行なわれた後、ステップ400において、CPU102は、「画面操作」がなされたか否かを判定する。具体的には、CPU102は、タッチ検出部112がタッチされ、且つ、そのタッチ操作が、画面操作に対応する操作であるか否かを判定する。上記したように、CPU102は、タッチ検出部112から位置座標を受信したか否かを判定する。タッチ検出部112は、タッチされていなければ位置座標を出力せず、タッチされると、タッチされた点の位置座標(X座標,Y座標)を出力する。
ここで、画面操作とは、タッチパネルディスプレイへのタッチ操作の結果、インターフェイス装置100に対して何らかの指示がなされる操作を意味する。例えば、タッチされた位置が、ボタン又はアイコン等の操作対象を表す部分画像上にある場合、そのタッチ操作は、画面操作と判定される。例えば、アイコンへのタップ操作(短時間の1回のタッチ)は、アイコンを選択する操作である。また、タッチされた位置が部分画像外であっても、タッチ操作が、インターフェイス装置100への指示が割当てられている特殊なタッチ操作(例えば、同じ位置で所定の時間以上タッチを維持する長押し操作)であった場合には、画面操作と判定される。例えば、部分画像が表示されていない背景領域へのタッチは、画面操作ではないが、長押し操作は、メニューを表示させる指示が割当てられており、画面操作と判定される。なお、部分画像が特殊なタッチ操作された場合には、当然に画面操作と判定される。画面操作であると判定された場合、制御はステップ402に移行する。そうでなければ、ステップ400が繰返される。
ステップ402において、CPU102は、「アイコン操作」であるか否かを判定する。アイコン操作とは、アイコン自体に対する操作を意味する。具体的には、CPU102は、ステップ400で受信した位置座標(タッチ位置座標)がアイコン上に位置し、タッチ操作が長押し操作であった場合、アイコン操作であると判定する。タッチ位置がアイコン上にあっても、タップ、又はダブルタップ(短時間内の連続2回タッチ)であれば、アイコン操作ではないと判定される。アイコン操作であると判定された場合、制御はステップ404に移行する。そうでなければ、制御はステップ426に移行する。
ステップ404において、CPU102は、タッチされたアイコンの向きに応じて、所定のメニューを表示し、ユーザの操作を待受ける。例えば、図4に示すように、表示部114の表示画面300にアイコン302が表示され、表示画面300の周囲に4人のユーザ222〜228がいる状況で、何れかのユーザがアイコン302を長押し操作した場合、タッチ位置の近傍に図5に示すように、アイコン302と同じ向きにメニュー304が表示される。その後、タッチ操作があれば、制御はステップ406に移行する。
表示部114に表示されるアイコンに関する情報は、記録部108にデータベース(以下「アイコンデータベース」という)として記憶されている。図面においては、データベースをDBと略記する。アイコンデータベースは、例えば、図6に示すように、アイコン302を特定するためのID(ここでは“1”)に対応付けられて、記録部108に記憶されている。アイコンに関する情報は、アイコンのID、アイコンが表すファイル種類(拡張子)、そのファイルを作成したアプリケーション名(実行プログラム名)、ハンドル、ファイルの場所を表すリンク、アイコンの作成日(年月日及び時刻)、アイコンの形状、アイコンの表示位置及び大きさ、及び、アイコンの位相を含む。図4に示されたアイコン302は、図6の情報にしたがって表示されている。なお、図6に示したアイコンデータベースは、主として、アイコンの向きを回転させる機能に必要な情報を示しており、アイコン画像の情報(アプリケーション毎のアイコン画像、及びアイコン画像と共に表示されるテキスト)等は、例えばアイコンIDに対応させて記録部108に記憶されている。
アイコンの形状は、例えば、図7の点線で囲まれた領域であり、アイコン画像及びテキスト画像を含む領域(以下、アイコン領域ともいう)の形状を意味し、“rectangle”は矩形を意味する。また、図7に示すように、表示画面300(図4)の右方向(ユーザ224がいる方向)及び下方向(ユーザ222がいる方向)をそれぞれX軸及びY軸の正方向とし、アイコン領域の表示位置及び大きさは、矩形のアイコン領域の左上の位置座標(x1,y1)及び右下の位置座標(x2,y2)によって表される。Y軸の負方向が、表示画面300の基準方向である。CPU102は、(x1,y1)及び(x2,y2)から、タッチ位置がアイコン領域内であるか否かを判定することができる。図6では、ID=1のアイコンの大きさは、X軸方向150画素、Y軸方向100画素である。
アイコンの位相とは、アイコン画像の正立方向(以下、アイコンの向きともいう)を表す情報であり、表示部114に表示されたアイコン画像の正立方向と基準方向(Y軸の負方向)との成す角度であって、時計の回転方向の角度である。部分画像(アイコン画像及びウィンドウ画像等)の正立方向とは、倒立せずに正立して見える部分画像の下部から上部に向かう方向であり、表示される文字の下から上に向かう方向でもある。ここでは、アイコンの位相には“0”、“90”、“180”又は“270”の離散的値が設定され、それぞれ、アイコンの向きが、基準方向(Y軸の負方向、即ち画面300の上方向)、X軸の正方向(画面300の右方向)、Y軸の正方向(画面300の下方向)、X軸の負方向(画面300の左方向)であることを表す。例えば、図4のアイコン302(アイコン画像)は、ユーザ222から見て正立しており、このアイコン画像の正立方向は基準方向と一致している。
CPU102は、アイコンの位相(図6では0度)に基づいて、アイコンの向きにメニュー304(図5)を表示する。即ち、メニュー304の文字画像の正立方向とアイコンの向きとが一致するようにメニュー304が表示される。
ハンドルは、コンテンツ(ファイル)に1対1に対応して設定される。例えば、1つのファイルに対して、複数のショートカットアイコンを作成することができ、その場合には、ショートカットアイコン毎に異なるIDが付与され、別のデータがアイコンデータベースに登録され得る。しかし、ハンドルには、同じ1つのファイルを特定する同じデータが設定される。ハンドルにより、マルチウィンドウ環境におけるファイル操作における整合性を保つことは、公知の技術である。
ステップ406において、CPU102は、ステップ404で表示したメニューのうち、アイコンを生成する指示が選択されたか否かを判定する。具体的には、図5に示したメニュー304の「ショートカットの作成」がタッチされたか否かを判定する。「ショートカットの作成」がタッチされたと判定された場合、制御はステップ408に移行する。そうでなければ、制御はステップ410に移行する。
ステップ408において、CPU102は、タッチされたアイコンのショートカットアイコンを生成して、所定の向きで表示部114に表示し、生成したアイコンに関する情報を、記録部108のアイコンデータベースに記憶する。その後、制御はステップ400に戻る。
例えば、図8に示すように、ショートカットアイコン310が、その向き(アイコン画像の正立方向)が基準方向になるように表示される。ショートカットアイコン310の画像は、ファイルを表すアイコン302の画像に、矢印及び「へのショートカット」の文字の画像が付加されている。記録部108のアイコンデータベースには、図9に示すように、ID=2に対応させて、ショートカットアイコン310に関する情報が記憶される。ファィル種類には、コンテンツ自体ではなくコンテンツへのショートカットであることを表す“shortcut”が記憶される。
ステップ410において、CPU102は、ステップ404で表示したメニューのうち、アイコンの向きを回転させる指示が選択されたか否かを判定する。具体的には、図5に示したメニュー304の「回転」がタッチされたか否かを判定する。「回転」がタッチされたと判定された場合、制御はステップ412に移行する。そうでなければ、制御はステップ418に移行する。
ステップ412において、CPU102は、角度選択メニューを表示する。具体的には、CPU102は、図10に示すように、項目「回転」の右側に、3種類の回転方向の項目を含む角度選択メニュー306を表示する。項目「回転」の右端に示されている三角形は、下位のメニューがあることを表している。図10では、ショートカットアイコン310が長押し操作されてメニュー304が表示され、「回転」がタッチされて角度選択メニュー306が表示された状態を示す。
ステップ414において、CPU102は、回転方向のメニュー項目の何れかが選択されたか否かを判定する。回転方向のメニュー項目の何れかが選択されたと判定された場合、制御はステップ416に移行する。そうでなければ、即ち回転方向のメニュー以外の領域がタッチされたと判定された場合には、キャンセルされたと判定され、制御はステップ400に戻る。
ステップ416において、CPU102は、ステップ414で選択された項目にしたがって、アイコンの向きを回転させて表示部114に表示し、記録部108のアイコンデータベースに記憶された情報のうち、対応するアイコンの情報を変更する。具体的には、指定された回転により新たに設定されるアイコンの位相は、回転前のアイコンの位相を、時計の回転方向に、項目に対応する角度だけ回転させて得られる。例えば、図8に示されたショートカットアイコン310上で長押し操作されることにより表示されるメニューの「回転」(図10参照)がタッチされ、表示されるメニューの「90度左回転」がタッチされると、図11に示すように、ショートカットアイコン312が表示される。ショートカットアイコン312は、図8に示されたショートカットアイコン310が、反時計回りに90度回転(即ち、時計回りに270度回転)されたものである。なお、回転の前後においてアイコン領域の左上の点の位置座標は維持される。
記録部108のアイコンデータベースには、図12に示すように、回転処理の対象であったショートカットアイコン310を特定するID=2に対応する情報が、回転後のショートカットアイコン312に応じて変更される。具体的には、アイコンの位相及び(x2,y2)が、回転の指示に応じて変更される。図12では、アイコンの位相が“0”から“270”に変更されている。上記したように、回転の前後においてアイコン領域の左上の点の位置座標は維持されるので、(x1,y1)は変更されない。回転されるアイコンの形状が長方形であれば、(x2,y2)が変更される。図9に示されたショートカットアイコン310の形状(アイコン領域の形状)は、X軸方向150画素、Y軸方向100画素の長方形であり、図12の回転後のショートカットアイコン312は、X軸方向100画素、Y軸方向150画素であるので、ショートカットアイコン312の右下の点の位置座標(x2,y2)は、(249,149)に変更されている。アイコン形状が正方形であれば、回転の前後で(x2,y2)は変更されない。
ステップ418において、CPU102は、ステップ404で表示したメニュー304のうち、アイコンを実行する項目が選択されたか否かを判定する。具体的には、図5に示したメニューの「開く」がタッチされたか否かを判定する。「開く」がタッチされたと判定された場合、制御はステップ420に移行する。そうでなければ、制御はステップ424に移行する。
ステップ420において、CPU102は、該当するファイルを指定して、該当するアプリケーションを起動する。具体的には、CPU102は、記録部108のアイコンデータベースに記憶されているアイコンに関する情報の中から、ステップ402で特定されたアイコン(アイコンID)に関する情報のうちアプリケーション名及びリンク情報を読出し、対応するアプリケーションを起動し、起動したアプリケーションにリンク情報を渡す。具体的には、CPU102は、図6の“application1.exe”を起動して、リンク情報“c:¥user¥d.aaa”に基づき、ウィンドウ画像を生成する。
ステップ422において、CPU102は、記録部108のアイコンデータベースから、ステップ402で選択されたアイコンに対応するアイコンの位相を読出し、ウィンドウの正立方向がアイコンの位相と一致するように、起動したアプリケーションによって生成されたウィンドウを表示部114に表示する。即ち、アイコンの正立方向と、ウィンドウの正立方向とが一致するように、ウィンドウが表示される。
ステップ424において、CPU102は、ステップ404で選択された指示に該当する処理を実行する。例えば、図5のメニュー304のうち、「削除」が選択された場合、CPU102は、アイコン302を画面300から削除し、アイコンデータベースから該当する情報を削除する。図5のメニュー304のうち、「名前の変更」が選択された場合、CPU102は、アイコン302のテキストを反転表示し、ユーザによる変更を受付ける。
ステップ402での判定の結果、アイコン操作であると判定されなかった場合、ステップ426において、CPU102は、アイコンの実行指示であるか否かを判定する。具体的には、CPU102は、アイコンがダブルタップされた場合に、アイコンの実行指示であると判定する。実行指示であると判定された場合、制御はステップ420に移行する。ぞうでなければ、制御はステップ428に移行する。
ステップ428において、CPU102は、ステップ400で指定された画面操作が、アプリケーションを起動する指示であるか否かを判定する。画面300(図4参照)には、インストールされている実行可能な各アプリケーションを起動するためのショートカットボタン330〜334が表示されており、ボタン330〜334がタッチされた場合、CPU102は、アプリケーションの起動指示と判定する。アプリケーションの起動指示と判定された場合、制御はステップ430に移行する。そうでなければ、制御はステップ432に移行する。
ステップ430において、CPU102は、ステップ428で指定されたアプリケーションを起動する。その後、制御はステップ400に戻る。ステップ430では、ステップ420とは異なり、アプリケーションの処理対象であるファイルが指定されずに、アプリケーションが起動される。また、アイコンが選択された状態での実行ではないので、CPU102は、アプリケーションが生成したウィンドウ画像をそのまま、即ち、ウィンドウ画像の正立方向が、基準方向と一致するようにウィンドウを表示する。
ステップ432において、CPU102は、ステップ400で指定された画面操作が、本プログラムの終了の指示であるか否かを判定する。例えば、インターフェイス装置のOSを終了する指示がなされた場合、終了指示と判定される。終了指示と判定された場合、本プログラムを終了する。そうでなければ、制御はステップ434に移行する。
ステップ434では、起動中のアプリケーションに対する処理、即ち表示されているウィンドウがタッチ操作された場合の処理が実行される。ステップ434の具体的処理を、図13に示す。図13には、主として、アイコンが新規に生成される処理を示している。
ステップ500において、CPU102は、ステップ400で検出された操作が、ファイル保存であるか否かを判定する。具体的には、ウィンドウ内のツールバーがタッチされて表示されるプルダウンメニューにおいて、例えば「名前を付けて保存」がタッチされた場合に、CPU102はファイル保存であると判定する。ファイル保存であると判定された場合、制御はステップ502に移行する。そうでなければ、制御はステップ522に移行する。
ステップ502において、CPU102は、ファイル保存のためのダイアログボックス(ウィンドウ)を表示する。
ステップ504において、CPU102は、ダイアログボックスに対して操作がなされたか否かを判定する。具体的には、CPU102は、ダイアログボックスに表示されたボタンへのタッチ、又は、テキスト入力がなされたか否かを判定する。操作がなされたと判定された場合、制御はステップ506に移行する。そうでなければ、ステップ504が繰返される。
後述するように、ユーザは、ダイアログボックスに表示されたテキスト入力セルにファイル名を入力し、ファイルを保存する場所(ディレクトリ)を指定することができる。テキスト入力は、例えば、接続部110に接続されたキーボードにより行なうことができる。タッチパネルディスプレイにソフトウェアキーボードを表示し、これによってテキスト入力を行なってもよい。
ステップ506において、CPU102は、ダイアログボックスに表示された保存ボタンがタッチされたか否かを判定する。保存ボタンは、例えば「OK」ボタンである。保存ボタンがタッチされたと判定された場合、制御はステップ508に移行する。そうでなければ、制御はステップ516に移行する。
ステップ508において、CPU102は、表示されているダイアログボックスを消去する。
ステップ510において、CPU102は、入力されたファイル名で、記録部108の指定されたディレクトリにファイルを保存する。CPU102は、OSによって提供される公知のディレクトリの階層構造と、公知のファイル管理プログラムとを利用する。なお、ファイル名、及びファイルを保存するディレクトリの情報は、後述するステップ520で入力され、RAM106に一時的に記憶される。
ステップ512において、CPU102は、ステップ510で保存したファイルのアイコンを生成すべきか否かを判定する。具体的には、CPU102は、ファイルを保存したディレクトリが所定のディレクトリであるか否かを判定する。所定のディレクトリとは、そのディレクトリに保存されたファイルが、タッチパネルディスプレイにアイコンとして表示されるように予め定められているディレクトリである。アイコンを生成すべきと判定された場合、制御はステップ514に移行する。そうでなければ、制御は図3のステップ400に戻る。
ステップ514において、CPU102は、保存したファイルに対応するアイコンを生成して表示部114に表示し、アイコンに関する情報をアイコンデータベースに追加する。例えば、図4に示したようにアイコン302が表示され、図5に示したアイコン情報がアイコンデータベースに追加される。その後、制御はステップ400に戻る。
ステップ516において、CPU102は、キャンセル指示を受けたか否かを判定する。例えば、CPU102は、ダイアログボックスに表示された「キャンセル」ボタンがタッチされたか否かを判定する。「キャンセル」ボタンがタッチされて、キャンセルされたと判定された場合、制御はステップ518に移行する。そうでなければ、制御はステップ520に移行する。
ステップ518において、CPU102は、表示されているダイアログボックスを消去する。その後、制御はステップ400に戻る。このとき、後述する入力処理(ステップ520)で受付けたデータ(ファイル名、及び保存ディレクトリへの経路情報)は破棄される。
ステップ520において、CPU102は、入力処理を実行する。例えば、保存するファイル名の入力を受付ける処理、又は、ファイルの保存ディレクトリの指定(経路情報)を受付ける処理を実行する。受付けた情報は、一時的にRAM106に記憶される。
一方、ステップ500でファイル保存であると判定されなければ、ステップ522において、CPU102は、ステップ400で検出された操作に該当する処理を実行する。具体的には、CPU102は、ツールバープルダウンメニューからファイル保存以外の項目(例えば、「新規作成」、「開く」、「上書保存」又は「印刷」等)が選択された場合、該当する処理を実行する。その後、制御はステップ400(図3)に戻る。
以上により、ユーザは、タッチパネルディスプレイ上に、アイコン(ファイルアイコン、及びショートカットアイコン)を作成し、表示されたアイコンを所望の方向に回転させて表示することができる。ユーザが、アイコンに対して所定のアプリケーションを実行する指示をした場合には、指定されたアイコンの向きと同じ向きに、ウィンドウを表示することができる。
新規にアイコンを生成する場合には、ユーザは、例えばボタン330(図4)にタッチしてアプリケーションを起動し(ステップ400→・・・→ステップ430)、起動したアプリケーションにより作成したファイルを、所定のディレクトリに保存する(ステップ400→・・・→ステップ434→ステップ500→・・・→ステップ510)。これによって、対応するアイコンが生成されて、図4のように画面300(表示部114)に新規に表示される(ステップ514)。
また、既に表示されているファイルアイコン302(図4)をダブルタッチして、アプリケーケーションを起動し(ステップ400→・・・→ステップ426→ステップ420)、別のファイル名で、所定のディレクトリに保存してもよい(ステップ400→・・・→ステップ434→ステップ500→・・・→ステップ510)。この場合には、別のファイル名のアイコンが、表示部114に新規に表示される(ステップ514)。
新規にショートカットアイコンを生成する場合には、ユーザは、例えば、既存のアイコン302(図4)を長押し操作し、表示されるメニュー中の項目「ショートカットの作成」をタッチする(ステップ400→・・・→ステップ408)。これによって、図8のように画面300に新規にショートカットアイコン310が表示される。
表示されているアイコンの向きを回転させる場合には、ユーザは、表示されているアイコン、例えば図8のアイコン310を長押し操作して、表示されたメニュー中の項目「回転」をタッチし、これによって表示されたメニューの所望の項目をタッチする(ステップ400→・・・→ステップ416)。図10において「90度左回転」がタッチされると、図11のように、ショートカットアイコン310が回転されたショートカットアイコン312が表示される。
図11に示されたショートカットアイコン312の向きを回転させるために、ユーザが、ショートカットアイコン312を長押し操作すると、図14のようにメニュー314が、アイコン312の向き(図12の位相“270”)に表示される。即ち、メニュー(メニュー画像)は、メニュー画像の正立方向が、アイコンの正立方向と一致するように表示される。さらに、「回転」がタッチされた場合に表示されるメニュー316も、アイコン312の向き(図12の位相“270”)に表示される。
以上のようにして、ユーザは、例えば図15に示すように、アイコン302、312、320及び322を、各アイコンの正立方向が所望の方向になるように表示させることができる。ショートカットアイコン312は、上記したように、アイコン302から生成されたショートカットを、90度左回転させたものである。アイコン320は、アプリケーションで作成したファイルを保存することにより作成され表示されたアイコンを、90度右回転させたものである。アイコン322(アイコンの位相が“180”)は、例えば、アイコン320を選択して、基準方向を向いたショートカットアイコン(アイコンの位相が“0”)を生成して表示し、表示されたショートカットアイコンを180度回転させたものである。
図15に対応するアイコンデータベースの情報を、図16に示す。アイコンの大きさは全て同じであり、X軸方向150画素、Y軸方向100画素である。アイコン302、312、320及び322の位相は、各アイコンの向きに対応して“0”、“270”、“90”及び“180”となっている。
図15において、アイコン302が指定されて対応するアプリケーションが実行された場合(例えば、アイコン302がダブルタップされた場合)、ステップ420及びステップ422の処理により、図17に示すようにウィンドウ340が表示される。即ち、ウィンドウ340の正立方向は、アイコン302の正立方向と一致している。ウィンドウ340には、ファイル名「d.aaa」及びそれを作成したアプリケーション名「アプリケーション1」が表示されている。ウィンドウ340は、ユーザ222がその表示内容を、他の3人のユーザよりも容易に視認可能な向きに表示されている。
図15において、アイコン312が指定されて対応するアプリケーションが実行された場合(例えば、アイコン312がダブルタップされた場合)、ステップ420及びステップ422の処理により、図18に示すようにウィンドウ342が表示される。即ち、ウィンドウ342の正立方向は、アイコン312の正立方向と一致している。ウィンドウ342には、ファイル名「d.aaa」及びそれを作成したアプリケーション名「アプリケーション1」が表示されている。ウィンドウ342は、ユーザ224がその表示内容を、他の3人のユーザよりも容易に視認可能な向きに表示されている。
図15において、アイコン320が指定されて対応するアプリケーションが実行された場合(例えば、アイコン320がダブルタップされた場合)、ステップ420及びステップ422の処理により、図19に示すようにウィンドウ344が表示される。即ち、ウィンドウ344の正立方向は、アイコン320の正立方向と一致している。ウィンドウ344には、ファイル名「f.bbb」及びそれを作成したアプリケーション名「アプリケーション2」が表示されている。ウィンドウ344は、ユーザ228がその表示内容を、他の3人のユーザよりも容易に視認可能な向きに表示されている。
図15において、アイコン322が指定されて対応するアプリケーションが実行された場合(例えば、アイコン322がダブルタップされた場合)、ステップ420及びステップ422の処理により、図20に示すようにウィンドウ346が表示される。即ち、ウィンドウ346の正立方向は、アイコン322の正立方向と一致している。ウィンドウ346には、ファイル名「f.bbb」及びそれを作成したアプリケーション名「アプリケーション2」が表示されている。ウィンドウ346は、ユーザ226がその表示内容を、他の3人のユーザよりも容易に視認可能な向きに表示されている。
上記では、ステップ408において、新規にショートカットアイコンが生成されて表示される場合、その正立方向が基準方向と一致するように表示される場合を説明したが、これに限定されない。例えば、画面に表示されているアイコンを選択して、そのショートカットアイコンを生成する場合、選択されたアイコンの位相をアイコンデータベースから取得し、正立方向が、取得した位相と一致するようにショートカットアイコンを表示してもよい。例えば、図15のアイコン320(位相が“90”)を選択してショートカットアイコンの作成を指示した場合、その正立方向が右向きとなるようにショートカットアイコン(位相が“90”)を表示する。
また、新規にアイコンを作成するときに、アイコンの向きを指定できるようにしてもよい。例えば、図5に示したメニュー304の「ショートカットの作成」が選択された場合に、「回転なし」、「90度右回転」、「90度左回転」、「180度回転」の項目を表示し、作成したショートカットアイコンの向きを、アイコン302の向きを基準として選択可能にしてもよい。このようにすれば、複数のユーザがタッチパネルディスプレイを取り囲んで見ている状況において、あるユーザが、自分から見て正立しているアイコンのショートカットアイコンを、自分と異なる位置にいる別のユーザのために作成する場合、その別のユーザから見て正立するようにショートカットアイコンを表示させることができる。
なお、新規にショートカットアイコンを作成するときの、アイコンの向きの指定は、選択されたアイコンの向きを基準とせずに、基準方向に対して指定されてもよい。
上記では、アイコン毎に回転操作を行なう場合を説明したがこれに限定されない。複数のアイコンを選択して、それらを同時に回転させてもよい。例えば、複数のアイコンを選択する操作に続き、選択された状態の何れかのアイコン上で長押し操作がなされた場合、図3のステップ404と同様に選択メニューを表示し、ステップ410〜ステップ416と同様に、「回転」が選択された場合に、選択されたアイコンを全て回転表示し、対応するアイコンデータベースの情報を更新すればよい。
上記では、アイコンに対応するアプリケーションが実行されたときに、そのアイコンの向きと同じ向きにウィンドウを表示する場合を説明したが、別のアプリケーションを実行するときにも同様に表示してもよい。例えば、ファイルアイコンが長押し操作されて表示されるメニューで「プログラムから開く」又は「送る」等の項目が選択されて、長押し操作されたアイコンに対応するアプリケーション以外のアプリケーションを実行することができる。その場合にも、アイコンの位相に基づいて、アイコンの向きと同じ向きにウィンドウを表示してもよい。
上記では、1つのアイコンが指定されて、アプリケーションが実行される場合を説明したが、これに限定されない。複数のアイコンを選択して、アプリケーションを実行する場合に、各アイコンの向きに、対応するウィンドウを表示してもよい。例えば、アイコン等の操作対象が表示されていない画面上でタッチし、ドラッグ(タッチを維持したままタッチ点を移動させる操作)した後、タッチを止めると、タッチされた軌跡の始点及び終点を対角の頂点とする長方形領域内にあるアイコンが全て選択された状態にすることができる。したがって、例えば、複数のアイコンを選択する操作に続き、選択された状態の何れかのアイコン上で長押し操作がなされた場合、図3のステップ404と同様に選択メニューを表示し、ステップ418〜ステップ422と同様に、「開く」が選択された場合に、選択されている各アイコンの位相から、対応するウィンドウの向きを決定すればよい。
本発明においては、表示されているアイコンに対する回転操作、及び、アイコンを指定してアプリケーションを起動した場合に、アイコンの向きに応じてウィンドウが表示される点に特徴がある。したがって、アイコンを生成する方法、アプリケーションを起動する方法等に関しては、上記した方法以外の方法であってもよい。例えば、インストールされているアプリケーションをリスト表示するボタンを画面に設け、そのボタンがタッチされた場合に表示されるリストから、タッチ操作により選択して、アプリケーションを実行するようにしてもよい。また、ショートカットアイコン310と同様に、デフォルトのファイルを指定してアプリケーションを起動するためのショートカットアイコンを画面に表示してもよい。
上記では、インターフェイス装置100が、タッチパネルディスプレイを備え、タッチ操作により指示が入力される場合を説明したが、これに限定されない。接続部110に、有線又は無線によって接続されたマウスにより、アイコンが操作(回転等)されてもよい。マウス操作によるアイコンの操作方法は、公知の方法を採用すればよい。
上記では、テーブル型インターフェイス装置である場合を説明したが、これに限定されない。ノート型のパーソナルコンピュータ、又はタブレットコンピュータ等の、表示画面を略水平に配置することができる装置であればよい。そのような装置に本発明を適用すれば、表示画面の周りの複数のユーザにとって、表示画面に表示されたアイコン及びウィンドウ等の視認及び操作が容易になる。
(第2の実施の形態)
第1の実施の形態では、アイコン及びウィンドウの向きを回転して表示するプログラムが、1つのプログラムとして構成されていたが、第2の実施の形態では、機能毎のプログラムモジュールから構成される。図21は、第2の実施の形態に係るインターフェイス装置の機能を、機能毎のモジュールとして示すブロック図である。第2の実施の形態に係るインターフェイス装置は、第1の実施の形態に係るインターフェイス装置100(図1参照)と同様に構成される。したがって、重複する説明は繰返さない。
位相判定部140は、タッチ検出部112からタッチ位置座標を入力され、タッチ点及びタッチ点の軌跡等から、既存のアイコンに対するタッチ操作であることを検出すると、位相データベース(アイコンデータベースに対応)150から、該当するアイコンの情報を取得する。位相判定部140は、取得したアイコンの情報の中の位相データを位相処理部142に出力する。位相判定部140は、新規にアイコンを作成する操作を検出した場合には、位相データベース150に、作成するアイコンの情報を新たに記憶する。
操作判定部144は、位相判定部140からタッチ位置座標とアイコンの情報を入力され、それらに基づいて画面操作を判定し、判定結果に応じた指示を処理部146に出力する。
処理部146は、操作判定部144から入力される指示及びアイコンの情報にしたがって、OSの機能を利用し、又はアプリケーションを実行し、表示部114に表示する画像(アイコン、メニュー及びウィンドウ等)を生成する。処理部146は、生成した部分画像(アイコン、メニュー及びウィンドウ等)を、位相処理部142に出力する。
位相処理部142は、処理部146から入力される部分画像の向きを、位相判定部140から入力される位相データにしたがって回転させて、表示部114に出力する。具体的には、位相処理部142が、入力される画像の向きを回転した画像を生成して、図1に示したVRAM118に記憶すると、表示制御部116により、表示部114に表示される。
例えば、表示されているアイコンが長押し操作されたことが検出されると、位相判定部140は、位相データベース150から該当するアイコンの情報を取得し、その中の位相を位相処理部142に出力する。また、操作判定部144が、メニューを表示する指示を処理部146に出力し、これを受けた処理部146は、従来のメニュー画像(正立方向が基準方向に一致)を生成して、位相処理部142に出力する。位相処理部142は、処理部146から入力されたメニュー画像を、位相判定部140から入力された位相データにしたがって回転させて、表示部114に出力する。これによって、長押し操作されたアイコンの向きと同じ向きにメニューが表示される(図5参照)。
表示されたメニューの項目「回転」がタッチされて選択されたことが検出されると、上記と同様にして、角度選択メニュー306(図10参照)が表示される。
さらに、表示された角度選択メニュー306の項目がタッチされて選択されたことが検出されると、位相判定部140は、位相データベース150から取得したアイコン情報を、選択されたメニュー項目に対応する角度に応じて変更する。位相は、選択されたメニュー項目に対応する角度だけ変更されて、位相処理部142に出力される。位相判定部140は、変更後のアイコン情報で、該当するアイコン情報を更新する(「90度左回転」が選択された場合を示す図12参照)。位相処理部142は、処理部146から入力されたアイコン画像を、位相判定部140から入力された変更後の位相にしたがって回転させて、表示部114に出力する。これによって、長押しされたアイコンが、選択された角度選択メニューの項目に応じて回転されて表示される(図11参照)。
表示されたメニューの項目「作成」がタッチされたことが検出されると、位相判定部140は、アイコンデータベースに記憶されているIDと重複しないように、新たに作成するショートカットアイコンのIDを決定し、位相データベース150から取得した既存のアイコン情報の一部(図9のアプリケーション名、ハンドル、リンク、及び位相等)を、決定したIDに対応させて、アイコンデータベースに記憶する。ファイル種類、形状、(x1,y1)、(x2,y2)は、ショートカットアイコンに対応して予め設定されているデータが記憶される。但し、(x1,y1)、(x2,y2)は、元のアイコンと重ならないように、シフトした値が記憶される。また、位相判定部140は、元のアイコン情報の位相を、位相処理部142に出力する。また、操作判定部144が、ショートカットアイコンを生成する指示を処理部146に出力し、これを受けた処理部146は、従来のショートカットアイコン画像(正立方向が基準方向に一致)を生成して、位相処理部142に出力する。位相処理部142は、処理部146から入力されたショートカットアイコン画像を、位相判定部140から入力された位相データにしたがって回転させて、表示部114に出力する。これによって、長押し操作されたアイコンの向きと同じ向きに、ショートカットアイコンが表示される(図8参照)。
また、例えば、表示されているアイコンが指定されて、アプリケーションの実行が指示された(アイコンがダブルタップされた)ことが検出されると、位相判定部140は、位相データベース150から該当するアイコンの情報を取得し、その中の位相を位相処理部142に出力する。また、操作判定部144が、アイコン情報に含まれるリンク(位相判定部140から入力される)と、アプリケーションの実行指示を処理部146に出力し、これを受けた処理部146は、アプリケーションを起動し、リンクにより特定されるファイルを用いて、従来のウィンドウ画像(正立方向が基準方向に一致)を生成して、位相処理部142に出力する。位相処理部142は、処理部146から入力されたウィンドウ画像を、位相判定部140から入力された位相データにしたがって回転させて、表示部114に出力する。これによって、ダブルタップされたアイコンの向きと同じ向きに、ウィンドウが表示される(図17〜図20参照)。
以上のように、第2の実施の形態においても、第1の実施の形態と同様に、アイコンを回転させて表示することができ、アイコンが選択されて処理が指示された場合に、メニュー及びウィンドウを、選択されたアイコンの向きと同じ向きに表示することができる。
(第3の実施の形態)
第1及び第2の実施の形態では、アイコンを回転させる角度をメニューから選択して行なう方法を採用したが、第3の実施の形態では、異なるアイコンの回転方法を採用する。第3の実施の形態に係るインターフェイス装置は、第1の実施の形態に係るインターフェイス装置100(図1参照)と同様に構成され、図3と同様のプログラムが実行される。したがって、重複する説明は繰返さない。
第3の実施の形態において実行されるプログラムの制御構造を示す図22が、図3と異なるのは、図3のステップ412〜ステップ414が、ステップ600に置換えられている点だけである。
ステップ410において、アイコンの向きを回転させる指示が選択されたと判定された場合、例えば、図5に示したメニュー304の「回転」がタッチされたと判定された場合、ステップ600においてアイコンの向きの回転処理が実行される。ステップ600の回転処理を、図23に示す。
ステップ602において、CPU102は、回転用バー(部分画像)をアイコンに重畳して表示し、操作を待受ける。回転用バーは、例えば、回転用バーの長手方向が基準方向に一致するように表示される。後述するように、ユーザは回転用バーにタッチしてドラッグ操作をすることにより、アイコンの回転角度を指定することができる。
ステップ604において、CPU102は、タッチ検出部112へのタッチ操作がなされたか否かを判定する。具体的には、CPU102は、タッチ検出部112から位置座標を受信したか否かを判定する。位置座標を受信した場合、即ちタッチ操作されたと判定された場合、制御はステップ606に移行する。そうでなければ、ステップ604が繰返される。
ステップ606において、CPU102は、回転用バーへのタッチ操作であるか否かを判定する。具体的には、CPU102は、ステップ604で受信した位置座標が、回転用バーの画像上の位置座標であるか否かを判定する。受信した位置座標が回転用バーの画像上の位置座標である場合、即ち回転用バーへのタッチ操作であると判定された場合、制御はステップ608に移行する。そうでなければ、即ち回転用バー以外の領域へのタッチであると判定された場合、制御はステップ610に移行する。
ステップ608において、CPU102は、ドラッグ操作がなされたことに応じて、アイコンを回転させて表示する。具体的には、CPU102は、ドラッグ操作の軌跡から、回転方向及び回転角度を計算し、計算値を用いて回転後のアイコン及び回転用バーの画像を生成し、VRAM118に記憶する。このとき、CPU102は、基準方向からの回転角度(例えば、時計の回転方向の角度)を所定の角度単位(例えば1度単位)で計算し、RAM106に上書する。これによって、回転されたアイコンが表示部114に表示され、最新の角度が維持される。例えば、図24に示すように、アイコンが点線で示された状態で、ユーザが回転用バー350にタッチして、矢印で示すように右回りにドラッグすると、実線で示すように回転されたアイコン及び回転用バーが表示される。
ステップ610において、CPU102は、回転用バーへのタッチが維持されなくなったか否かを判定する。具体的には、CPU102は、タッチ検出部112から、所定の時間以上、位置座標を受信しなければ、タッチが維持されなくなったと判定する。タッチが維持されなくなったと判定された場合、制御はステップ612に移行する。そうでなければ、制御はステップ608に移行する。ステップ608及びステップ610によって、タッチが維持されたままドラッグされていれば、ステップ608が繰返されるので、回転操作中のアイコンを表示することができる。
タッチが維持されなくなると、ステップ612において、CPU102は、RAM106から現在のアイコンの回転角度を読出し、アイコンデータベースにおいて、対応するアイコンの位相を更新する。なお、アイコンデータベースは、(x1,y1)及び(x2,y2)の代りに、アイコンの大きさ(縦の画素数及び横の画素数)、アイコンの回転の中心の位置座標を含み、その位置座標は変更されない。その後、制御はステップ604に移行する。これによって、一旦ドラッグ操作を止めた場合にも、回転されたアイコン及び回転用バーが表示されたままになるので、ユーザは、回転用バーのドラッグ操作を繰返し、アイコンをさらに回転させることができる。
ステップ606で、回転用バーの操作でないと判定された場合、ステップ610において、CPU102は、表示されている回転用バーを消去する。その後、制御は図22のステップ400に戻る。したがって、ユーザは、回転用バー以外の領域にタッチすることにより、回転用バーを消去して、アイコンの回転操作を終了することができる。
このように、第3の実施の形態においては、第1の実施の形態とは異なり、ユーザは、アイコンの正立方向(アイコンの位相)を、所定の角度単位(例えば1度単位)で任意の方向に設定することができる。アイコンが選択されてアプリケーションが実行された場合には、ステップ422(図22)により、アイコンデータベースからアイコンの位相を読出し、ウィンドウの正立方向が、アイコンの正立方向に一致するようにウィンドウを表示する。これによって、選択されたアイコンと同じ方向にウィンドウを表示することができる。したがって、矩形のタッチパネルディスプレイの辺の中央付近に位置するユーザ以外のユーザ、例えば、矩形のタッチパネルディスプレイの角付近に位置するユーザから見て正立して見えるように、アイコン及びウィンドウを表示することができる。
上記では、回転用の部分画像(回転用バー)をアイコンに重ねて表示する場合を説明したがこれに限定されない。回転用の部分画像を表示せず、アイコンを直接タッチ操作してもよい。例えば、アイコンがタッチされて選択された状態で、アイコン付近の2点が同時にタッチされて、タッチされたまま2点がアイコンの周りに回転移動された場合に、上記と同様に回転角度を決定してもよい。
上記では、画面上で回転されたアイコンの角度をそのまま、アイコンの位相としてアイコンデータベースに記憶する場合を説明したが、これに限定されない。回転中のアイコンはドラッグに応じて回転されて表示されるが、最終的に確定されるアイコンの向き(位相)は、上下左右方向に限定してもよい。例えば、ユーザのドラッグ操作によって決定された回転角度αが、45≦α<135であれば位相θ=90とし、135≦α<225であれば位相θ=180とし、225≦α<315であれば位相θ=270とし、0≦α<45又は275≦α<0であれば位相θ=0とする。
以上、実施の形態を説明することにより本発明を説明したが、上記した実施の形態は例示であって、本発明は上記した実施の形態に限定されるものではなく、種々変更して実施することができる。
また、上述した発明の一側面としては、水平に配置され得る表示画面を備えた装置において、基準方向以外の方向から画面を見るユーザにとって、画面に表示された部分画像の把握を容易にすることができるインターフェイス装置、インターフェイス方法、インターフェイスプログラム、及びそのプログラムを記憶したコンピュータ読取可能な記録媒体を提供することを目的としている。
これにより、上述した発明の効果としては、テーブル型インターフェイス装置等の、水平に配置され得る表示画面を備えた装置において、表示画面の周囲に位置するユーザは、自分に適した方向、又は他のユーザに適した方向に、アイコン及びウィンドウを表示することができる。したがって、1つの表示画面を用いて行なう共同作業の効率を向上することができる。
また、異なる方向を向いた複数のアイコンを選択して、アプリケーションの実行が指示された場合には、各アイコンの方向と同じ方向に、対応するウィンドウを表示するので、表示画面を異なる方向から見ている各ユーザに適切な方向にアイコンが表示されていれば、各ユーザが把握が容易な方向に各ウィンドウを、一度に表示することが可能になる。
また、発明の一態様としては、画面にアイコンを表示する表示手段と、
ユーザにより指定された前記アイコンの向きの変更を、ユーザが指示するための回転指示手段と、
前記アイコンを指定して、アプリケーションプログラムの実行を指示する実行手段とを含み、
前記表示手段は、
前記回転指示手段によりアイコンの向きの変更が指示されたことに応じて、当該アイコンの向きを変更して表示する手段と、
前記実行手段により、アイコンが指定されてアプリケーションプログラムの実行が指示されたことを受けて、当該アイコンの向きと一致するようにウィンドウを表示する手段とを含むことを特徴とするインターフェイス装置であってもよい。
このとき、前記画面に対して設定された基準方向に対する前記アイコンの向きを表す位相情報を記憶する記憶手段をさらに含み、
前記記憶手段は、前記回転指示手段によりアイコンの向きの変更が指示されたことに応じて、当該アイコンの前記位相情報を変更し、
前記表示手段は、前記実行手段により、アイコンが指定されてアプリケーションプログラムの実行が指示されたことを受けて、当該アイコンの前記位相情報により決定される向きに前記ウィンドウを表示することを特徴としてもよい。
このとき、前記回転指示手段は、アイコン毎に、当該アイコンの向きを任意の方向に変更することを特徴としてもよい。
このとき、前記アイコンの向きは、前記アイコンの中央から前記画面の4辺に向かう4方向の何れかの方向であることを特徴としてもよい。
このとき、前記表示手段は、前記実行手段により、複数のアイコンが指定されてアプリケーションプログラムの実行が指示されたことを受けて、選択された各アイコンの向きと一致するように、対応するウィンドウを表示することとしてもよい。