情報処理装置およびドラッグ制御方法
【課題】タッチスクリーンディスプレイ間に跨るオブジェクトのドラッグ操作の操作性の向上を図る。
【解決手段】第1の移動制御手段は、第1のタッチスクリーンディスプレイ上のタッチ位置に応じて第1のタッチスクリーンディスプレイ上のオブジェクトを選択し、第1のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて選択されたオブジェクトの位置を移動させる。第2の移動制御手段は、選択されたオブジェクトが第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、選択されたオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するために、前記選択されたオブジェクトの位置を、前記第1のタッチスクリーンディスプレイから前記第2のタッチスクリーンディスプレイに移動させる。
【解決手段】第1の移動制御手段は、第1のタッチスクリーンディスプレイ上のタッチ位置に応じて第1のタッチスクリーンディスプレイ上のオブジェクトを選択し、第1のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて選択されたオブジェクトの位置を移動させる。第2の移動制御手段は、選択されたオブジェクトが第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、選択されたオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するために、前記選択されたオブジェクトの位置を、前記第1のタッチスクリーンディスプレイから前記第2のタッチスクリーンディスプレイに移動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、タッチスクリーンディスプレイを有する情報処理装置に関する。
【背景技術】
【0002】
近年、様々な携帯型パーソナルコンピュータが開発されている。最近のパーソナルコンピュータは、タッチスクリーンディスプレイを使用したユーザインタフェースを用いることにより、より直感的な操作を実現している。タッチスクリーンディスプレイを備えたコンピュータにおいては、例えば、画面上の表示オブジェクト(例えば、アイコン、ウィンドウ、等)を指先でタッチしながらその指先を移動させることにより、そのオブジェクトを画面内で移動するというドラッグ操作を行うことができる。
【0003】
最近では、複数のタッチスクリーンディスプレイを使用するシステムも開発され始めている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−216499号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、複数のタッチスクリーンディスプレイを使用する場合、あるタッチスクリーンディスプレイの画面上のオブジェクトを別のタッチスクリーンディスプレイの画面へタッチ操作によって移動させることは困難である。なぜなら、通常、タッチスクリーンディスプレイ間は物理的に隔てられているので、指先の移動はタッチスクリーンディスプレイ間の隔たりによって途切れてしまい、指先をタッチスクリーンディスプレイ間に跨って連続的に移動させることが困難であるからである。
【0006】
本発明は上述の事情を考慮してなされたものであり、タッチスクリーンディスプレイ間に跨るオブジェクトのドラッグ操作の操作性の向上を図ることができる情報処理装置およびドラッグ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理装置は、第1のタッチスクリーンディスプレイと、第2のタッチスクリーンディスプレイと、第1の移動手段と、代替オブジェクト表示手段と、制御手段とを具備する。前記第1の移動手段は、前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択し、前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる。前記代替オブジェクト表示手段は、前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する。前記制御手段は、前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて前記代替オブジェクトに代えて前記第1のオブジェクトを表示すると共に、前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる。
【図面の簡単な説明】
【0008】
【図1】実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置の使用形態の例を示す図。
【図3】同実施形態の情報処理装置の使用形態の他の例を示す図。
【図4】同実施形態の情報処理装置のシステム構成を示すブロック図。
【図5】同実施形態の情報処理装置によって用いられるドラッグ制御プログラムの構成例を示すブロック図。
【図6】同実施形態の情報処理装置によって実行されるドラッグ制御処理の例を示す図。
【図7】同実施形態の情報処理装置によって実行されるドラッグ制御処理の別の例を示す図。
【図8】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図9】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図10】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図11】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図12】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図13】同実施形態の情報処理装置によって実行されるドラッグ制御処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の構成を説明する。この情報処理装置は、例えば、バッテリ駆動可能な携帯型パーソナルコンピュータ10として実現されている。
【0010】
図1は、コンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12の上面には、液晶表示装置(LCD)13から構成される表示装置が組み込まれており、そのLCD13の表示画面はディスプレイユニット12のほぼ中央に位置されている。
【0011】
このLCD13は、タッチスクリーンディスプレイとして実現されている。タッチスクリーンディスプレイは、ペン又は指によってタッチされたLCD13の画面上の位置(タッチ位置)を検知するように構成されている。タッチスクリーンディスプレイはタッチ検知可能ディスプレイとも称される。例えば、LCD13の上面には透明のタッチパネルを配置してもよい。LCD13と透明のタッチパネルとによって上述のタッチスクリーンディスプレイが実現される。ユーザは、LCD13の表示画面上に表示された各種オブジェクト(例えば、フォルダやファイルを表すアイコン、メニュー、ボタン、ウインドウ、等)を指先やペンなどを用いて選択することができる。表示画面上のタッチ位置を示す座標データはタッチスクリーンディスプレイからコンピュータ10内のCPUに入力される。
【0012】
ディスプレイユニット12は薄い箱型の筐体を有しており、このディスプレイユニット12はコンピュータ本体11にヒンジ部14を介して回動自在に取り付けられている。ヒンジ部14はコンピュータ本体11にディスプレイユニット12を連結する連結部である。すなわち、ディスプレイユニット12の下端部は、コンピュータ本体11の後端部にヒンジ部14によって支持されている。ディスプレイユニット12は、コンピュータ本体11に対してコンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動自在に取り付けられている。また、ディスプレイユニット12の上面上の所定位置、例えば、LCD13の右側には、本コンピュータ10をパワーオンまたはパワーオフするためのパワーボタン16が設けられている。
【0013】
コンピュータ本体11は薄い箱形の筐体を有するベースユニットであり、その上面には液晶表示装置(LCD)15が組み込まれており、そのLCD15の表示画面はコンピュータ本体11のほぼ中央に位置されている。このLCD15も、タッチスクリーンディスプレイ(すなわち、タッチ検知可能ディスプレイ)として実現されている。このタッチスクリーンディスプレイは、ペン又は指によってタッチされたLCD15の画面上の位置(タッチ位置)を検知するように構成されている。例えば、LCD15の上面には透明のタッチパネルを配置してもよい。LCD15と透明のタッチパネルとによって上述のタッチスクリーンディスプレイが実現される。
【0014】
コンピュータ本体11上のLCD15は、ディスプレイユニット12のLCD13とは独立したディスプレイである。これらLCD13,15は仮想画面環境を実現するためのマルチディスプレイとして使用することができる。この場合、コンピュータ10のオペレーティングシステムによって管理される2つの仮想画面をLCD13,15にそれぞれ割り当てても良いし、コンピュータ10のオペレーティングシステムによって管理される一つの仮想画面を、LCD13,15に割り当ててもよい。後者の場合、一つの仮想画面は、LCD13に表示される第1の画面領域とLCD15に表示される第2の画面領域とを含む。第1の画面領域および第2の画面領域はLCD13,15にそれぞれ割り当てられる。第1の画面領域および第2の画面領域の各々には、任意のアプリケーションウィンドウ、任意のオブジェクト等を表示することができる。
【0015】
2つのLCD13,15間はヒンジ部14によって物理的に隔てられている。換言すれば、2つのタッチスクリーンディスプレイの表面は不連続であり、これら不連続の2つのタッチスクリーンディスプレイが一つの仮想画面を構成する。
【0016】
本実施形態では、コンピュータ10は、図2に示す横位置(ランドスケープモード)、図3に示す縦位置(ポートレートモード)のいずれの状態でも使用することができる。ランドスケープモードでは、一つの仮想画面内の2つのタッチスクリーンディスプレイは上下方向に並べられた状態で使用される。一方、ポートレートモードでは、一つの仮想画面内の2つのタッチスクリーンディスプレイは左右方向に並べられた状態で使用される。さらに、各タッチスクリーンディスプレイに表示される画面イメージの向きは、使用されるモード(ランドスケープモード、ポートレートモード)に応じて自動的に変更される。
【0017】
図1に示すように、コンピュータ本体11の上面上の所定位置、例えば、LCD15の両側には2つのボタンスイッチ17,18が設けられている。これらボタンスイッチ17,18の各々には任意の機能を割り当てることが出来る。例えば、ボタンスイッチ17は、仮想キーボードをLCD13またはLCD15に表示するためのボタンスイッチ等として利用し得る。
【0018】
なお、以上の説明では、コンピュータ10が、互いに隔てられた不連続の2つのタッチスクリーンディスプレイを含む場合を想定したが、コンピュータ10が互いに隔てられた不連続の3つまたは4つのタッチスクリーンディスプレイを含んでもよい。
【0019】
次に、図4を参照して、本コンピュータ10のシステム構成を説明する。ここでは、コンピュータ10が2つのタッチスクリーンディスプレイを含む場合を想定する。
【0020】
本コンピュータ10は、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ115、BIOS−ROM116、ハードディスクドライブ(HDD)117、エンベデッドコントローラ118等を備えている。
【0021】
CPU111は、コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD117から主メモリ113にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラム等を実行する。
【0022】
アプリケーションプログラムには、ドラッグ制御プログラム201が含まれている。このドラッグ制御プログラム201は、表示オブジェクト(単にオブジェクトとも云う)を不連続の移動元タッチスクリーンディスプレイと移動先タッチスクリーンディスプレイとの間を跨ってドラッグするための処理を実行する。より具体的には、このドラッグ制御プログラム201は、あるタッチスクリーンディスプレイ(移動元タッチスクリーンディスプレイ)がタッチされた時、そのタッチ位置に応じて、移動元タッチスクリーンディスプレイ上のオブジェクトを選択する。ドラッグ制御プログラム201は、その移動元タッチスクリーンディスプレイ上のタッチ位置の移動(指先の移動)に応じて、選択されたオブジェクトの移動元タッチスクリーンディスプレイ上の位置を移動させる。そして、選択されたオブジェクトが移動元タッチスクリーンディスプレイ上の端部に移動された時、ドラッグ制御プログラム201は、移動先タッチスクリーンディスプレイを決定する。この場合、移動元タッチスクリーンディスプレイ上のその端部にディスプレイ境界を介して対向する端部を有する別のタッチスクリーンディスプレイが移動先タッチスクリーンディスプレイとして決定される。そして、ドラッグ制御プログラム201は、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上に表示するために、選択されたオブジェクトの位置を、移動元タッチスクリーンディスプレイから、移動先タッチスクリーンディスプレイに移動(スキップ)させる。この場合、選択されたオブジェクトを、移動元タッチスクリーンディスプレイの端部から、例えば、ディスプレイ境界に対向する、移動先タッチスクリーンディスプレイの端部に移動させてもよい。
【0023】
よって、指先の移動操作は移動元のディスプレイの端、つまりディスプレイ境界の手前で途切れるものの、オブジェクトを不連続の移動元および移動先のディスプレイ間を横切って容易に移動させることができる。オブジェクトが移動先タッチスクリーンディスプレイに移動された後は、ユーザは、移動先ディスプレイにおいてそのオブジェクトのドラッグ操作を継続して実行することができる。
【0024】
ドラッグ制御プログラム201は、上述のドラッグ制御処理を実現するために、例えば、以下の機能を含んでいる。
(1)タッチ操作を用いた表示オブジェクトのドラッグを検出し、表示オブジェクトを移動させる機能
(2)ドラッグによって表示オブジェクトがディスプレイ境界に近付いたことを検出する機能
(3)移動先ディスプレイを判定する機能(この判定機能は、2画面よりも多い複数ディスプレイ間の跨るドラッグ操作を可能にする)
(4)選択されたオブジェクトの位置を、移動先タッチスクリーンディスプレイ側に向けて所定距離移動させる機能
(5)表示オブジェクトの移動軌跡から、移動先ディスプレイに表示すべき表示オブジェクトの位置を決定する機能
また、CPU111は、BIOS−ROM116に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。ノースブリッジ112はCPU111のローカルバスとサウスブリッジ115との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。グラフィクスコントローラ114は、コンピュータ10のディスプレイモニタとしてそれぞれ使用される2つのLCD13,15を制御する表示コントローラである。グラフィクスコントローラ114は、ノースブリッジ112を介してCPU111から受信される描画要求に基づいてビデオメモリ(VRAM)に表示データを描画するための表示処理(グラフィクス演算処理)を実行する。ビデオメモリには、LCD13に表示される画面イメージに対応する表示データを格納する記憶領域と、LCD15に表示される画面イメージに対応する表示データを格納する記憶領域とが割り当てられている。
【0025】
LCD13上には透明のタッチパネル13Aが配置されている。LCD13とタッチパネル13Aとによって第1のタッチスクリーンディスプレイが実現される。同様に、LCD15上にも透明のタッチパネル15Aが配置されている。LCD15とタッチパネル15Aとによって第2のタッチスクリーンディスプレイが実現される。タッチパネル13A,15Aの各々は、例えば、抵抗膜方式または静電容量方式等を用いて、タッチパネル(タッチスクリーンディスプレイ)上のタッチ位置を検出するように構成されている。また、タッチパネル13A,15Aの各々としては、複数のタッチ位置を同時に検知可能なマルチタッチパネルを使用してもよい。
【0026】
サウスブリッジ115は、HDD121を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。エンベデッドコントローラ(EC)118は、ユーザによるパワーボタンスイッチ16の操作に応じてコンピュータ10をパワーオン/パワーオフする機能を有している。また、エンベデッドコントローラ(EC)118は、タッチパネル13A,15Aの各々を制御するタッチパネルコントローラ301を含んでいる。
【0027】
次に、図5を参照して、ドラッグ制御プログラム201の構成について説明する。 ドラッグ制御プログラム201は、オペレーティングシステム内のタッチパネルドライバプログラムを介してタッチパネル13A,15Aの各々からタッチ位置検出情報を受信する。タッチ位置検出情報は、ポインティング部材(例えば、ユーザの指、またはペン)がタッチされたタッチパネルディスプレイ上のタッチ位置を示す座標データを含む。
【0028】
ドラッグ制御プログラム201は、ドラッグ検出部211、オブジェクト位置判定部212、およびオブジェクト移動制御部213を機能実行モジュールとして含む。ドラッグ検出部211は、タッチ操作による表示オブジェクトのドラッグを検出してその表示オブジェクトを移動させるための第1の移動制御部として機能する。
【0029】
このドラッグ検出部211は、タッチスクリーンディスプレイ(LCD13またはLCD15)上のタッチ位置に応じてそのタッチスクリーンディスプレイ上のオブジェクトを選択する。例えば、そのタッチスクリーンディスプレイ上に表示されているオブジェクトの中から、タッチ位置上に表示されているオブジェクトが選択される。ドラッグ検出部211は、表示ドライバプログラムを介して、選択されたオブジェクトのタッチスクリーンディスプレイ上の位置を移動させる。この場合、ドラッグ検出部211は、タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトのタッチスクリーンディスプレイ上の位置を移動させる。ここで、タッチ位置の移動は、ドラッグ操作を意味する。ドラッグ操作は、ポインティング部材(指先、またはペン)がタッチスクリーンディスプレイに接触されている状態で、ポインティング部材によってタッチされるタッチスクリーンディスプレイ上の位置(タッチ位置)を移動する操作である。タッチスクリーンディスプレイ上においては、タッチ位置の移動に追従するようにオブジェクトの位置が移動される。
【0030】
オブジェクト位置判定部212は、オブジェクトがタッチスクリーンディスプレイ上の端部、例えば、ディスプレイ間の境界に接する端部、に移動されたかどうかを判定する。オブジェクト移動制御部213は、表示ドライバを介して、タッチスクリーンディスプレイ(LCD13またはLCD15)上のオブジェクトの位置を移動させるための第2の移動制御部として機能する。より詳しくは、オブジェクトがタッチスクリーンディスプレイ上の端部に移動されたことがオブジェクト位置判定部212によって判定されたならば、オブジェクト移動制御部213は、移動先タッチスクリーンディスプレイを決定する。そして、オブジェクト移動制御部213は、オブジェクトの位置を、ディスプレイ間の境界に接する、移動先タッチスクリーンディスプレイの端部に移動(スキップ)させる。より具体的には、オブジェクト移動制御部213は、オブジェクトの位置を、移動先タッチスクリーンディスプレイに向けて所定距離移動させる。移動距離は固定値であってもよいが、例えば、オブジェクトのサイズ等に関連付けられた距離を移動距離として用いても良い。
【0031】
オブジェクトは、移動先タッチスクリーンディスプレイの例えば端部に表示される。このように、本実施形態では、オブジェクトがタッチ操作を用いたドラッグによって移動元タッチスクリーンディスプレイの端部に移動されたことが検出された時に、そのオブジェクトの位置は、移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイに自動的に変更される。
【0032】
次に、図6を参照して、ドラッグ制御プログラム201によって実行される、タッチスクリーンディスプレイ間に跨ってオブジェクトをドラッグするためのドラッグ制御動作の例について説明する。図6では、「ディスプレイA」は移動元タッチスクリーンディスプレイを表し、「ディスプレイB」は移動先タッチスクリーンディスプレイを表している。ここでは、タッチスクリーンディスプレイ15が移動元タッチスクリーンディスプレイであり、タッチスクリーンディスプレイ13が移動先タッチスクリーンディスプレイである場合を想定する。
【0033】
図6の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、オブジェクト301の位置を移動させることができる。
【0034】
図6の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。ここで、移動元タッチスクリーンディスプレイ上の破線は、移動元タッチスクリーンディスプレイの端部判定のための境界位置を表している。境界位置は、例えば、移動元タッチスクリーンディスプレイの端から内側に微小距離(例えば数mm程度)だけ寄った位置に設定してもよい。例えば、オブジェクト301の中央部近傍等が、境界位置に重なった時、オブジェクト301のある一部は、移動元タッチスクリーンディスプレイから外部にはみ出し、不可視状態になる。この時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。換言すれば、オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が、100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定してもよい。
【0035】
もし移動元タッチスクリーンディスプレイと移動先タッチスクリーンディスプレイとが一つの仮想画面を構成しているならば、移動元タッチスクリーンディスプレイから消えた、オブジェクト301の一部(不可視状態の部分)は、移動先タッチスクリーンディスプレイに表示されるかもしれない。しかし、この場合でも、オブジェクト301のサイズが小さいならば、移動元タッチスクリーンディスプレイからはみ出す部分は非常に僅かであるので、移動先タッチスクリーンディスプレイには、オブジェクト301の僅かな部分しか表示されない。ユーザが、移動先タッチスクリーンディスプレイ上のこの僅かな部分をタッチすることは非常に困難である可能性がある。
【0036】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図6の上から3番目の部分に示すように、オブジェクト301の例えばほぼ全体が移動先タッチスクリーンディスプレイの端部近傍に表示されるように、オブジェクト301の位置を、移動元タッチスクリーンディスプレイ上の端部から、移動先タッチスクリーンディスプレイの端部近傍に移動させる。これにより、オブジェクト301の例えばほぼ全体が移動先タッチスクリーンディスプレイ上に表示される。
【0037】
図6の最下部は、移動先タッチスクリーンディスプレイ上に移動されたオブジェクト301が指先で再度タッチされ、そのオブジェクト301が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、オブジェクト301の位置を移動(ドラッグ)させることができる。
【0038】
なお、ドラッグ制御プログラム201は、オブジェクト301の位置が移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイに移動された時点から所定期間の間にオブジェクト301がタッチされた場合にのみ、オブジェクト301のドラッグを継続するようにしてもよい。この場合、もし所定期間の間に移動先タッチスクリーンディスプレイ上のオブジェクト301がユーザによってタッチされなかったならば(タイムアウト)、ドラッグ制御プログラム201は、例えば、以下のモード1またはモード2の処理を実行する。
【0039】
モード1: ドラッグ制御プログラム201は、オブジェクト301を移動元タッチスクリーンディスプレイの端部領域に戻す(図6の上から2番目で示される状態に戻る)。
【0040】
モード2: ドラッグ制御プログラム201は、オブジェクト301を移動先タッチスクリーンディスプレイ上の端部領域に残したままにする(図6の上から3番目で示される状態に維持される)。
【0041】
ドラッグ制御プログラム201は、ユーザがモード1またはモード2を選択することを可能にするユーザインタフェースを有している。ユーザは、このユーザインタフェースを用いることによって、タイムアウト時に実行すべき動作を予め指定することができる。
【0042】
なお、図6では、オブジェクト301の全体が移動先タッチスクリーンディスプレイに表示されるようにオブジェクト301を移動させる例を説明したが、これに限らず、例えば、オブジェクト301の一部が移動先タッチスクリーンディスプレイに表示されるようにオブジェクト301を移動させてもよい。この場合も、ドラッグ制御プログラム201は、移動前に移動元タッチスクリーンディスプレイからはみ出しているオブジェクト301の部分のサイズよりも、移動後に移動先タッチスクリーンディスプレイ上に表示されるオブジェクト301の部分のサイズが増加するように、オブジェクト301を移動先タッチスクリーンディスプレイ側へ向けて所定距離だけ移動する。
【0043】
図7は、移動元タッチスクリーンディスプレイに表示されるオブジェクト301内の部分と移動先タッチスクリーンディスプレイに表示されるオブジェクト301内の部分との間の比率が固定比率(例えば、50:50)となるように、オブジェクト301の移動量を制御する例を示している。
【0044】
図7の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。
【0045】
図7の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。
【0046】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図7の上から3番目の部分に示すように、オブジェクト301が移動元タッチスクリーンディスプレイの端部と移動先タッチスクリーンディスプレイの端部の双方に跨って表示され、且つオブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が上述の閾割合よりも低下されるように、オブジェクト301の位置を移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイ側に向けて移動する。ここでは、移動元タッチスクリーンディスプレイに表示されるオブジェクト301内の部分と移動先タッチスクリーンディスプレイに表示されるオブジェクト301内の部分との間の比率が固定比率(例えば、50:50)となるように、オブジェクト301は移動先タッチスクリーンディスプレイ側に移動される。
【0047】
図7の最下部は、移動先タッチスクリーンディスプレイ上に移動されたオブジェクト301が指先で再度タッチされ、そのオブジェクト301が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。
【0048】
次に、図8を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。図8では、オブジェクト301がユーザの指の移動によって移動元タッチスクリーンディスプレイの端部に移動された時に、ドラッグ制御プログラム201は、代替オブジェクト301’を移動先タッチスクリーンディスプレイ上の端部領域に表示する。
【0049】
図8の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。
【0050】
図8の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。例えば、オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。
【0051】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図8の上から3番目の部分に示すように、オブジェクト301の位置を移動先タッチスクリーンディスプレイの端部領域に移動すると共に、オブジェクト301の代わりに、代替オブジェクト301’を移動先タッチスクリーンディスプレイ上の端部領域に表示する。この代替オブジェクト301’の表示は、ドラッグ中であることをユーザに喚起するのに有用である。代替オブジェクト301’はいかなる形状であってもよい。
【0052】
移動先タッチスクリーンディスプレイ上の代替オブジェクト301’が指先又はペンによってタッチされると、ドラッグ制御プログラム201は、図8の最下部に示すように、代替オブジェクト301’に代えて、オリジナルのオブジェクト301を表示する。このオブジェクト301は、移動先タッチスクリーンディスプレイ上のタッチ位置の移動に応じて移動される。
【0053】
図9は、図7の代替オブジェクト301’としてバー302を移動先タッチスクリーンディスプレイの端部領域に表示する例を示している。
【0054】
次に、図10、図11を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。図10、図11では、ドラッグ対象のオブジェクトがウィンドウである場合を想定している。通常、ウィンドウをドラッグ操作のために指定可能な領域(ドラッグ操作領域)は、そのウィンドウ上部のバー(タイトルバー)のみに限られる。したがって、ユーザがタッチ操作によってウィンドウを、上下に並んだ2つのタッチスクリーンディスプレイの一方から他方にドラッグすることは難しい。
【0055】
図10は、コンピュータ10が図2で説明した横位置(ランドスケープモード)で使用されている状態で、ウィンドウ401を上側の移動元タッチスクリーンディスプレイから下側の移動先タッチスクリーンディスプレイにドラッグするためのドラッグ制御動作を示している。ここでは、タッチスクリーンディスプレイ13が移動元タッチスクリーンディスプレイ(ディスプレイA)であり、タッチスクリーンディスプレイ15が移動先タッチスクリーンディスプレイ(ディスプレイB)である場合を想定する。
【0056】
図10の最左部は、移動元タッチスクリーンディスプレイ上に表示されているウィンドウ401のタイトルバーが指先でタッチされ、そのウィンドウ401が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動させることができる。
【0057】
図10の左から2番目は、ドラッグ操作によってウィンドウ401のタイトルバーが移動元タッチスクリーンディスプレイの下端部に移動された様子を示している。タイトルバーが移動元タッチスクリーンディスプレイの下端部に移動された時、ドラッグ制御プログラム201は、図10の左から3番目の部分に示すように、ウィンドウ401の例えばほぼ全体が移動先タッチスクリーンディスプレイの上端部に表示されるように、ウィンドウ401の位置を、移動元タッチスクリーンディスプレイ上の下端部から、移動先タッチスクリーンディスプレイの上端部側に移動させる。これにより、ウィンドウ401の例えばほぼ全体が移動先タッチスクリーンディスプレイ上に表示される。
【0058】
図10の最右部は、移動先タッチスクリーンディスプレイ上に移動されたウィンドウ401のタイトルバーが指先で再度タッチされ、そのウィンドウ401が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動(ドラッグ)させることができる。
【0059】
図11は、コンピュータ10が図2で説明した横位置(ランドスケープモード)で使用されている状態で、ウィンドウ401を下側の移動元タッチスクリーンディスプレイ(ディスプレB)から上側の移動先タッチスクリーンディスプレイ(ディスプレイA)にドラッグするためのドラッグ制御動作を示している。ここでは、タッチスクリーンディスプレイ15が移動元タッチスクリーンディスプレイ(ディスプレイB)であり、タッチスクリーンディスプレイ13が移動先タッチスクリーンディスプレイ(ディスプレイA)である場合を想定する。
【0060】
図11の最左部は、移動元タッチスクリーンディスプレイ上に表示されているウィンドウ401のタイトルバーが指先でタッチされ、そのウィンドウ401が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動させることができる。
【0061】
図11の左から2番目は、ドラッグ操作によってウィンドウ401のタイトルバーが移動元タッチスクリーンディスプレイの上端部に移動された様子を示している。タイトルバーが移動元タッチスクリーンディスプレイの上端部に移動された時、ドラッグ制御プログラム201は、図11の左から3番目の部分に示すように、少なくともウィンドウ401内のタイトルバーの全体が移動先タッチスクリーンディスプレイの下端部に表示されるように、ウィンドウ401の位置を、移動元タッチスクリーンディスプレイ上の上端部から、移動先タッチスクリーンディスプレイの下端部側に移動させる。
【0062】
図11の最右部は、移動先タッチスクリーンディスプレイ上に移動されたタイトルバーが指先で再度タッチされ、ウィンドウ401が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動(ドラッグ)させることができる。
【0063】
次に、図12を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。ドラッグ制御プログラム201は、移動元タッチスクリーンディスプレイ上のオブジェクト301の移動の軌跡に基づいて、移動先タッチスクリーンディスプレイ上に表示すべきオブジェクト301の位置を予測する。例えば、図12に示されているように、下側の移動先タッチスクリーンディスプレイ上において、オブジェクト301がドラッグ操作によって右斜め上方に向けて移動され、そして移動先タッチスクリーンディスプレイの上端部に位置された場合には、ドラッグ制御プログラム201は、移動元タッチスクリーンディスプレイの上端部におけるオブジェクト301の位置から右斜め上方に存在する、移動先タッチスクリーンディスプレイ上の位置を、オブジェクト301の表示位置として決定する。そして、ドラッグ制御プログラム201は、オブジェクト301を、移動先タッチスクリーンディスプレイ上の決定された表示位置上に表示する。
【0064】
次に、図13を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御処理の手順を説明する。
【0065】
ドラッグ制御プログラム201は、まず、コンピュータ10内の複数のタッチスクリーンディスプレイ内のあるタッチスクリーンディスプレイ(移動元タッチスクリーンディスプレイ)上のオブジェクトのドラッグが開始されたか否かを判定する(ステップS101)。オブジェクトのドラッグが開始されたならば、つまり、ユーザの指先又はペンによってオブジェクトが選択されている状態で指先又はペンの位置(タッチ位置)がその移動元タッチスクリーンディスプレイ上のある位置から別の位置に移動されたならば(ステップS101のYES)、ドラッグ制御プログラム201は、そのタッチ位置の移動に応じて、その移動元タッチスクリーンディスプレイ上のオブジェクトの位置を移動させる(ステップS102)。
【0066】
換言すれば、ステップS101,S102では、ドラッグ制御プログラム201は、その移動元タッチスクリーンディスプレイ上のタッチ位置に応じてその移動元タッチスクリーンディスプレイ上のオブジェクトを選択し、その移動元タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトを移動元タッチスクリーンディスプレイ上のある位置から別の位置に移動させる。
【0067】
選択されたオブジェクトがリリースされたならば、つまり、指先又はペンと移動元タッチスクリーンディスプレイとの間が非接触状態となったならば(ステップS103のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを現在の位置にドロップし、そのドロップ位置に関連付けられた所定の処理(アクション)を実行する(ステップS105)。例えば、選択されたオブジェクトがファイルを表すアイコンであっても良い。このアイコンが、フォルダを表す別のアイコンにドロップされたならば、そのファイルは、そのフォルダ内に格納される。
【0068】
選択されたオブジェクトがドラッグされている間、ドラッグ制御プログラム201は、選択されたオブジェクトが移動元タッチスクリーンディスプレイの端に近づいたか否かを判定する(ステップS104)。選択されたオブジェクトが移動元タッチスクリーンディスプレイの端に近づいた時、つまり、選択されたオブジェクトがドラッグによって移動元タッチスクリーンディスプレイ上の端部に移動された時、ドラッグ制御プログラム201は、複数のタッチスクリーンディスプレイから移動先タッチスクリーンディスプレイ(ターゲットディスプレイ)を決定する(ステップS106)。ステップS106では、ドラッグ制御プログラム201は、複数のタッチスクリーンディスプレイの中から、選択されたオブジェクトが移動された端部にディスプレイ境界(ヒンジ14を含む非タッチ検知領域)を介して対向するタッチスクリーンディスプレイを、移動先タッチスクリーンディスプレイとして決定する。
【0069】
ドラッグ制御プログラム201は、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上に表示するために、選択されたオブジェクトの位置を、移動元タッチスクリーンディスプレイ上の端部から、移動先タッチスクリーンディスプレイの端部に移動させる(ステップS107)。ステップS107では、ドラッグ制御プログラム201は、例えば、選択されたオブジェクトの位置(例えば、仮想画面上の位置)を、例えば、所定値(所定距離)だけ移動先タッチスクリーンディスプレイ側に移動(シフト)させる。さらに、ドラッグ制御プログラム201は、オブジェクトを選択状態に維持したまま、そのオブジェクトを移動先タッチスクリーンディスプレイ上に移動しても良い。
【0070】
次いで、ドラッグ制御プログラム201は、タイマをスタートし、選択されたオブジェクトが移動先タッチスクリーンディスプレイに移動されてから経過した時間をカウントする(ステップS108)。
【0071】
カウントされる経過時間が閾時間を超える前に、移動先タッチスクリーンディスプレイ上に移動されたオブジェクトが指先またはペンによってタッチされたならば(ステップS109のYES)、ドラッグ制御プログラム201は、そのオブジェクトのドラッグを再開する(ステップS110)。ドラッグ制御プログラム201は、移動先タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上のある位置から別の位置に移動させる(ステップS102)。選択されたオブジェクトがリリースされたならば、つまり、指先又はペンと移動先タッチスクリーンディスプレイとの間が非接触状態となったならば(ステップS103のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを現在の位置にドロップし、そのドロップ位置に関連付けられた所定の処理(アクション)を実行する(ステップS105)。もし選択されたオブジェクトがドラッグによって移動先タッチスクリーンディスプレイ上の端部に移動されたならば(ステップS104のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを再び移動元タッチスクリーンディスプレイ上の端部に移動させる処理を実行する(ステップS106,S107)。
【0072】
一方、カウントされる経過時間が閾時間を超える前に、移動先タッチスクリーンディスプレイ上に移動されたオブジェクトがタッチされなかったならば、つまりタイムアウトが発生した場合には(ステップS114のYES)、ドラッグ制御プログラム201は、ドラッグ制御処理を中止する(ステップS115)。そして、ドラッグ制御プログラム201は、タイムアウトの動作モードが上述のモード1またはモード2のいずれであるかを判定する(ステップS116)。タイムアウトの動作モードがモード1であれば、ドラッグ制御プログラム201は、オブジェクトの位置を移動元タッチスクリーンディスプレイの端部に戻し、オブジェクトを移動元タッチスクリーンディスプレイの端部に表示する(ステップS117)。タイムアウトの動作モードがモード2であれば、ドラッグ制御プログラム201は、オブジェクトを移動先タッチスクリーンディスプレイ上の端部にそのまま残したままにする(ステップS118)。
【0073】
以上説明したように、本実施形態によれば、第1のタッチスクリーンディスプレイ上のオブジェクトがタッチ操作を用いたドラッグによって、第2のタッチスクリーンディスプレイとの間のディスプレイ境界に対向する第1のタッチスクリーンディスプレイ上の端部に移動された時、そのオブジェクトの位置は、第1のタッチスクリーンディスプレイから、第2のタッチスクリーンディスプレイに移動される。よって、ユーザはタッチ操作によってオブジェクトを第1のタッチスクリーンディスプレイの端部にまでドラッグするだけで、そのオブジェクトを、第2のタッチスクリーンディスプレイ上に移動させることができる。よって、タッチスクリーンディスプレイ間に跨るオブジェクトのドラッグ操作の操作性を向上させることが出来る。
【0074】
なお、本実施形態のコンピュータ10は本体11とディスプレイユニット12とを有しているが、コンピュータ10のシステムを構成するコンポーネントのほとんど全てを必ずしも本体11内に設ける必要はなく、例えば、コンポーネントの一部またはほとんど全てをディスプレイユニット12内に設けても良い。この意味で、本体11とディスプレイユニット12はほぼ対等の関係のユニット同士であってもよいと云える。よって、本体11もディスプレイユニットであると考えることができ、またディスプレイユニット12を本体として考えることも出来る。
【0075】
また、本実施形態のドラッグ制御機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムを複数のタッチスクリーンディスプレイを有するコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【0076】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0077】
10…コンピュータ、11…本体、12…ディスプレイユニット、13,15…LCD、13A,15A…タッチパネル、111…CPU、201…ドラッグ制御プログラム、211…ドラッグ検出部、212…オブジェクト位置判定部、213…オブジェクト移動制御部。
【技術分野】
【0001】
本発明の実施形態は、タッチスクリーンディスプレイを有する情報処理装置に関する。
【背景技術】
【0002】
近年、様々な携帯型パーソナルコンピュータが開発されている。最近のパーソナルコンピュータは、タッチスクリーンディスプレイを使用したユーザインタフェースを用いることにより、より直感的な操作を実現している。タッチスクリーンディスプレイを備えたコンピュータにおいては、例えば、画面上の表示オブジェクト(例えば、アイコン、ウィンドウ、等)を指先でタッチしながらその指先を移動させることにより、そのオブジェクトを画面内で移動するというドラッグ操作を行うことができる。
【0003】
最近では、複数のタッチスクリーンディスプレイを使用するシステムも開発され始めている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−216499号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、複数のタッチスクリーンディスプレイを使用する場合、あるタッチスクリーンディスプレイの画面上のオブジェクトを別のタッチスクリーンディスプレイの画面へタッチ操作によって移動させることは困難である。なぜなら、通常、タッチスクリーンディスプレイ間は物理的に隔てられているので、指先の移動はタッチスクリーンディスプレイ間の隔たりによって途切れてしまい、指先をタッチスクリーンディスプレイ間に跨って連続的に移動させることが困難であるからである。
【0006】
本発明は上述の事情を考慮してなされたものであり、タッチスクリーンディスプレイ間に跨るオブジェクトのドラッグ操作の操作性の向上を図ることができる情報処理装置およびドラッグ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、情報処理装置は、第1のタッチスクリーンディスプレイと、第2のタッチスクリーンディスプレイと、第1の移動手段と、代替オブジェクト表示手段と、制御手段とを具備する。前記第1の移動手段は、前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択し、前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる。前記代替オブジェクト表示手段は、前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する。前記制御手段は、前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて前記代替オブジェクトに代えて前記第1のオブジェクトを表示すると共に、前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる。
【図面の簡単な説明】
【0008】
【図1】実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置の使用形態の例を示す図。
【図3】同実施形態の情報処理装置の使用形態の他の例を示す図。
【図4】同実施形態の情報処理装置のシステム構成を示すブロック図。
【図5】同実施形態の情報処理装置によって用いられるドラッグ制御プログラムの構成例を示すブロック図。
【図6】同実施形態の情報処理装置によって実行されるドラッグ制御処理の例を示す図。
【図7】同実施形態の情報処理装置によって実行されるドラッグ制御処理の別の例を示す図。
【図8】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図9】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図10】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図11】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図12】同実施形態の情報処理装置によって実行されるドラッグ制御処理のさらに別の例を示す図。
【図13】同実施形態の情報処理装置によって実行されるドラッグ制御処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の構成を説明する。この情報処理装置は、例えば、バッテリ駆動可能な携帯型パーソナルコンピュータ10として実現されている。
【0010】
図1は、コンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12の上面には、液晶表示装置(LCD)13から構成される表示装置が組み込まれており、そのLCD13の表示画面はディスプレイユニット12のほぼ中央に位置されている。
【0011】
このLCD13は、タッチスクリーンディスプレイとして実現されている。タッチスクリーンディスプレイは、ペン又は指によってタッチされたLCD13の画面上の位置(タッチ位置)を検知するように構成されている。タッチスクリーンディスプレイはタッチ検知可能ディスプレイとも称される。例えば、LCD13の上面には透明のタッチパネルを配置してもよい。LCD13と透明のタッチパネルとによって上述のタッチスクリーンディスプレイが実現される。ユーザは、LCD13の表示画面上に表示された各種オブジェクト(例えば、フォルダやファイルを表すアイコン、メニュー、ボタン、ウインドウ、等)を指先やペンなどを用いて選択することができる。表示画面上のタッチ位置を示す座標データはタッチスクリーンディスプレイからコンピュータ10内のCPUに入力される。
【0012】
ディスプレイユニット12は薄い箱型の筐体を有しており、このディスプレイユニット12はコンピュータ本体11にヒンジ部14を介して回動自在に取り付けられている。ヒンジ部14はコンピュータ本体11にディスプレイユニット12を連結する連結部である。すなわち、ディスプレイユニット12の下端部は、コンピュータ本体11の後端部にヒンジ部14によって支持されている。ディスプレイユニット12は、コンピュータ本体11に対してコンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動自在に取り付けられている。また、ディスプレイユニット12の上面上の所定位置、例えば、LCD13の右側には、本コンピュータ10をパワーオンまたはパワーオフするためのパワーボタン16が設けられている。
【0013】
コンピュータ本体11は薄い箱形の筐体を有するベースユニットであり、その上面には液晶表示装置(LCD)15が組み込まれており、そのLCD15の表示画面はコンピュータ本体11のほぼ中央に位置されている。このLCD15も、タッチスクリーンディスプレイ(すなわち、タッチ検知可能ディスプレイ)として実現されている。このタッチスクリーンディスプレイは、ペン又は指によってタッチされたLCD15の画面上の位置(タッチ位置)を検知するように構成されている。例えば、LCD15の上面には透明のタッチパネルを配置してもよい。LCD15と透明のタッチパネルとによって上述のタッチスクリーンディスプレイが実現される。
【0014】
コンピュータ本体11上のLCD15は、ディスプレイユニット12のLCD13とは独立したディスプレイである。これらLCD13,15は仮想画面環境を実現するためのマルチディスプレイとして使用することができる。この場合、コンピュータ10のオペレーティングシステムによって管理される2つの仮想画面をLCD13,15にそれぞれ割り当てても良いし、コンピュータ10のオペレーティングシステムによって管理される一つの仮想画面を、LCD13,15に割り当ててもよい。後者の場合、一つの仮想画面は、LCD13に表示される第1の画面領域とLCD15に表示される第2の画面領域とを含む。第1の画面領域および第2の画面領域はLCD13,15にそれぞれ割り当てられる。第1の画面領域および第2の画面領域の各々には、任意のアプリケーションウィンドウ、任意のオブジェクト等を表示することができる。
【0015】
2つのLCD13,15間はヒンジ部14によって物理的に隔てられている。換言すれば、2つのタッチスクリーンディスプレイの表面は不連続であり、これら不連続の2つのタッチスクリーンディスプレイが一つの仮想画面を構成する。
【0016】
本実施形態では、コンピュータ10は、図2に示す横位置(ランドスケープモード)、図3に示す縦位置(ポートレートモード)のいずれの状態でも使用することができる。ランドスケープモードでは、一つの仮想画面内の2つのタッチスクリーンディスプレイは上下方向に並べられた状態で使用される。一方、ポートレートモードでは、一つの仮想画面内の2つのタッチスクリーンディスプレイは左右方向に並べられた状態で使用される。さらに、各タッチスクリーンディスプレイに表示される画面イメージの向きは、使用されるモード(ランドスケープモード、ポートレートモード)に応じて自動的に変更される。
【0017】
図1に示すように、コンピュータ本体11の上面上の所定位置、例えば、LCD15の両側には2つのボタンスイッチ17,18が設けられている。これらボタンスイッチ17,18の各々には任意の機能を割り当てることが出来る。例えば、ボタンスイッチ17は、仮想キーボードをLCD13またはLCD15に表示するためのボタンスイッチ等として利用し得る。
【0018】
なお、以上の説明では、コンピュータ10が、互いに隔てられた不連続の2つのタッチスクリーンディスプレイを含む場合を想定したが、コンピュータ10が互いに隔てられた不連続の3つまたは4つのタッチスクリーンディスプレイを含んでもよい。
【0019】
次に、図4を参照して、本コンピュータ10のシステム構成を説明する。ここでは、コンピュータ10が2つのタッチスクリーンディスプレイを含む場合を想定する。
【0020】
本コンピュータ10は、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ115、BIOS−ROM116、ハードディスクドライブ(HDD)117、エンベデッドコントローラ118等を備えている。
【0021】
CPU111は、コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD117から主メモリ113にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラム等を実行する。
【0022】
アプリケーションプログラムには、ドラッグ制御プログラム201が含まれている。このドラッグ制御プログラム201は、表示オブジェクト(単にオブジェクトとも云う)を不連続の移動元タッチスクリーンディスプレイと移動先タッチスクリーンディスプレイとの間を跨ってドラッグするための処理を実行する。より具体的には、このドラッグ制御プログラム201は、あるタッチスクリーンディスプレイ(移動元タッチスクリーンディスプレイ)がタッチされた時、そのタッチ位置に応じて、移動元タッチスクリーンディスプレイ上のオブジェクトを選択する。ドラッグ制御プログラム201は、その移動元タッチスクリーンディスプレイ上のタッチ位置の移動(指先の移動)に応じて、選択されたオブジェクトの移動元タッチスクリーンディスプレイ上の位置を移動させる。そして、選択されたオブジェクトが移動元タッチスクリーンディスプレイ上の端部に移動された時、ドラッグ制御プログラム201は、移動先タッチスクリーンディスプレイを決定する。この場合、移動元タッチスクリーンディスプレイ上のその端部にディスプレイ境界を介して対向する端部を有する別のタッチスクリーンディスプレイが移動先タッチスクリーンディスプレイとして決定される。そして、ドラッグ制御プログラム201は、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上に表示するために、選択されたオブジェクトの位置を、移動元タッチスクリーンディスプレイから、移動先タッチスクリーンディスプレイに移動(スキップ)させる。この場合、選択されたオブジェクトを、移動元タッチスクリーンディスプレイの端部から、例えば、ディスプレイ境界に対向する、移動先タッチスクリーンディスプレイの端部に移動させてもよい。
【0023】
よって、指先の移動操作は移動元のディスプレイの端、つまりディスプレイ境界の手前で途切れるものの、オブジェクトを不連続の移動元および移動先のディスプレイ間を横切って容易に移動させることができる。オブジェクトが移動先タッチスクリーンディスプレイに移動された後は、ユーザは、移動先ディスプレイにおいてそのオブジェクトのドラッグ操作を継続して実行することができる。
【0024】
ドラッグ制御プログラム201は、上述のドラッグ制御処理を実現するために、例えば、以下の機能を含んでいる。
(1)タッチ操作を用いた表示オブジェクトのドラッグを検出し、表示オブジェクトを移動させる機能
(2)ドラッグによって表示オブジェクトがディスプレイ境界に近付いたことを検出する機能
(3)移動先ディスプレイを判定する機能(この判定機能は、2画面よりも多い複数ディスプレイ間の跨るドラッグ操作を可能にする)
(4)選択されたオブジェクトの位置を、移動先タッチスクリーンディスプレイ側に向けて所定距離移動させる機能
(5)表示オブジェクトの移動軌跡から、移動先ディスプレイに表示すべき表示オブジェクトの位置を決定する機能
また、CPU111は、BIOS−ROM116に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。ノースブリッジ112はCPU111のローカルバスとサウスブリッジ115との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。グラフィクスコントローラ114は、コンピュータ10のディスプレイモニタとしてそれぞれ使用される2つのLCD13,15を制御する表示コントローラである。グラフィクスコントローラ114は、ノースブリッジ112を介してCPU111から受信される描画要求に基づいてビデオメモリ(VRAM)に表示データを描画するための表示処理(グラフィクス演算処理)を実行する。ビデオメモリには、LCD13に表示される画面イメージに対応する表示データを格納する記憶領域と、LCD15に表示される画面イメージに対応する表示データを格納する記憶領域とが割り当てられている。
【0025】
LCD13上には透明のタッチパネル13Aが配置されている。LCD13とタッチパネル13Aとによって第1のタッチスクリーンディスプレイが実現される。同様に、LCD15上にも透明のタッチパネル15Aが配置されている。LCD15とタッチパネル15Aとによって第2のタッチスクリーンディスプレイが実現される。タッチパネル13A,15Aの各々は、例えば、抵抗膜方式または静電容量方式等を用いて、タッチパネル(タッチスクリーンディスプレイ)上のタッチ位置を検出するように構成されている。また、タッチパネル13A,15Aの各々としては、複数のタッチ位置を同時に検知可能なマルチタッチパネルを使用してもよい。
【0026】
サウスブリッジ115は、HDD121を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。エンベデッドコントローラ(EC)118は、ユーザによるパワーボタンスイッチ16の操作に応じてコンピュータ10をパワーオン/パワーオフする機能を有している。また、エンベデッドコントローラ(EC)118は、タッチパネル13A,15Aの各々を制御するタッチパネルコントローラ301を含んでいる。
【0027】
次に、図5を参照して、ドラッグ制御プログラム201の構成について説明する。 ドラッグ制御プログラム201は、オペレーティングシステム内のタッチパネルドライバプログラムを介してタッチパネル13A,15Aの各々からタッチ位置検出情報を受信する。タッチ位置検出情報は、ポインティング部材(例えば、ユーザの指、またはペン)がタッチされたタッチパネルディスプレイ上のタッチ位置を示す座標データを含む。
【0028】
ドラッグ制御プログラム201は、ドラッグ検出部211、オブジェクト位置判定部212、およびオブジェクト移動制御部213を機能実行モジュールとして含む。ドラッグ検出部211は、タッチ操作による表示オブジェクトのドラッグを検出してその表示オブジェクトを移動させるための第1の移動制御部として機能する。
【0029】
このドラッグ検出部211は、タッチスクリーンディスプレイ(LCD13またはLCD15)上のタッチ位置に応じてそのタッチスクリーンディスプレイ上のオブジェクトを選択する。例えば、そのタッチスクリーンディスプレイ上に表示されているオブジェクトの中から、タッチ位置上に表示されているオブジェクトが選択される。ドラッグ検出部211は、表示ドライバプログラムを介して、選択されたオブジェクトのタッチスクリーンディスプレイ上の位置を移動させる。この場合、ドラッグ検出部211は、タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトのタッチスクリーンディスプレイ上の位置を移動させる。ここで、タッチ位置の移動は、ドラッグ操作を意味する。ドラッグ操作は、ポインティング部材(指先、またはペン)がタッチスクリーンディスプレイに接触されている状態で、ポインティング部材によってタッチされるタッチスクリーンディスプレイ上の位置(タッチ位置)を移動する操作である。タッチスクリーンディスプレイ上においては、タッチ位置の移動に追従するようにオブジェクトの位置が移動される。
【0030】
オブジェクト位置判定部212は、オブジェクトがタッチスクリーンディスプレイ上の端部、例えば、ディスプレイ間の境界に接する端部、に移動されたかどうかを判定する。オブジェクト移動制御部213は、表示ドライバを介して、タッチスクリーンディスプレイ(LCD13またはLCD15)上のオブジェクトの位置を移動させるための第2の移動制御部として機能する。より詳しくは、オブジェクトがタッチスクリーンディスプレイ上の端部に移動されたことがオブジェクト位置判定部212によって判定されたならば、オブジェクト移動制御部213は、移動先タッチスクリーンディスプレイを決定する。そして、オブジェクト移動制御部213は、オブジェクトの位置を、ディスプレイ間の境界に接する、移動先タッチスクリーンディスプレイの端部に移動(スキップ)させる。より具体的には、オブジェクト移動制御部213は、オブジェクトの位置を、移動先タッチスクリーンディスプレイに向けて所定距離移動させる。移動距離は固定値であってもよいが、例えば、オブジェクトのサイズ等に関連付けられた距離を移動距離として用いても良い。
【0031】
オブジェクトは、移動先タッチスクリーンディスプレイの例えば端部に表示される。このように、本実施形態では、オブジェクトがタッチ操作を用いたドラッグによって移動元タッチスクリーンディスプレイの端部に移動されたことが検出された時に、そのオブジェクトの位置は、移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイに自動的に変更される。
【0032】
次に、図6を参照して、ドラッグ制御プログラム201によって実行される、タッチスクリーンディスプレイ間に跨ってオブジェクトをドラッグするためのドラッグ制御動作の例について説明する。図6では、「ディスプレイA」は移動元タッチスクリーンディスプレイを表し、「ディスプレイB」は移動先タッチスクリーンディスプレイを表している。ここでは、タッチスクリーンディスプレイ15が移動元タッチスクリーンディスプレイであり、タッチスクリーンディスプレイ13が移動先タッチスクリーンディスプレイである場合を想定する。
【0033】
図6の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、オブジェクト301の位置を移動させることができる。
【0034】
図6の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。ここで、移動元タッチスクリーンディスプレイ上の破線は、移動元タッチスクリーンディスプレイの端部判定のための境界位置を表している。境界位置は、例えば、移動元タッチスクリーンディスプレイの端から内側に微小距離(例えば数mm程度)だけ寄った位置に設定してもよい。例えば、オブジェクト301の中央部近傍等が、境界位置に重なった時、オブジェクト301のある一部は、移動元タッチスクリーンディスプレイから外部にはみ出し、不可視状態になる。この時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。換言すれば、オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が、100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定してもよい。
【0035】
もし移動元タッチスクリーンディスプレイと移動先タッチスクリーンディスプレイとが一つの仮想画面を構成しているならば、移動元タッチスクリーンディスプレイから消えた、オブジェクト301の一部(不可視状態の部分)は、移動先タッチスクリーンディスプレイに表示されるかもしれない。しかし、この場合でも、オブジェクト301のサイズが小さいならば、移動元タッチスクリーンディスプレイからはみ出す部分は非常に僅かであるので、移動先タッチスクリーンディスプレイには、オブジェクト301の僅かな部分しか表示されない。ユーザが、移動先タッチスクリーンディスプレイ上のこの僅かな部分をタッチすることは非常に困難である可能性がある。
【0036】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図6の上から3番目の部分に示すように、オブジェクト301の例えばほぼ全体が移動先タッチスクリーンディスプレイの端部近傍に表示されるように、オブジェクト301の位置を、移動元タッチスクリーンディスプレイ上の端部から、移動先タッチスクリーンディスプレイの端部近傍に移動させる。これにより、オブジェクト301の例えばほぼ全体が移動先タッチスクリーンディスプレイ上に表示される。
【0037】
図6の最下部は、移動先タッチスクリーンディスプレイ上に移動されたオブジェクト301が指先で再度タッチされ、そのオブジェクト301が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、オブジェクト301の位置を移動(ドラッグ)させることができる。
【0038】
なお、ドラッグ制御プログラム201は、オブジェクト301の位置が移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイに移動された時点から所定期間の間にオブジェクト301がタッチされた場合にのみ、オブジェクト301のドラッグを継続するようにしてもよい。この場合、もし所定期間の間に移動先タッチスクリーンディスプレイ上のオブジェクト301がユーザによってタッチされなかったならば(タイムアウト)、ドラッグ制御プログラム201は、例えば、以下のモード1またはモード2の処理を実行する。
【0039】
モード1: ドラッグ制御プログラム201は、オブジェクト301を移動元タッチスクリーンディスプレイの端部領域に戻す(図6の上から2番目で示される状態に戻る)。
【0040】
モード2: ドラッグ制御プログラム201は、オブジェクト301を移動先タッチスクリーンディスプレイ上の端部領域に残したままにする(図6の上から3番目で示される状態に維持される)。
【0041】
ドラッグ制御プログラム201は、ユーザがモード1またはモード2を選択することを可能にするユーザインタフェースを有している。ユーザは、このユーザインタフェースを用いることによって、タイムアウト時に実行すべき動作を予め指定することができる。
【0042】
なお、図6では、オブジェクト301の全体が移動先タッチスクリーンディスプレイに表示されるようにオブジェクト301を移動させる例を説明したが、これに限らず、例えば、オブジェクト301の一部が移動先タッチスクリーンディスプレイに表示されるようにオブジェクト301を移動させてもよい。この場合も、ドラッグ制御プログラム201は、移動前に移動元タッチスクリーンディスプレイからはみ出しているオブジェクト301の部分のサイズよりも、移動後に移動先タッチスクリーンディスプレイ上に表示されるオブジェクト301の部分のサイズが増加するように、オブジェクト301を移動先タッチスクリーンディスプレイ側へ向けて所定距離だけ移動する。
【0043】
図7は、移動元タッチスクリーンディスプレイに表示されるオブジェクト301内の部分と移動先タッチスクリーンディスプレイに表示されるオブジェクト301内の部分との間の比率が固定比率(例えば、50:50)となるように、オブジェクト301の移動量を制御する例を示している。
【0044】
図7の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。
【0045】
図7の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。
【0046】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図7の上から3番目の部分に示すように、オブジェクト301が移動元タッチスクリーンディスプレイの端部と移動先タッチスクリーンディスプレイの端部の双方に跨って表示され、且つオブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が上述の閾割合よりも低下されるように、オブジェクト301の位置を移動元タッチスクリーンディスプレイから移動先タッチスクリーンディスプレイ側に向けて移動する。ここでは、移動元タッチスクリーンディスプレイに表示されるオブジェクト301内の部分と移動先タッチスクリーンディスプレイに表示されるオブジェクト301内の部分との間の比率が固定比率(例えば、50:50)となるように、オブジェクト301は移動先タッチスクリーンディスプレイ側に移動される。
【0047】
図7の最下部は、移動先タッチスクリーンディスプレイ上に移動されたオブジェクト301が指先で再度タッチされ、そのオブジェクト301が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。
【0048】
次に、図8を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。図8では、オブジェクト301がユーザの指の移動によって移動元タッチスクリーンディスプレイの端部に移動された時に、ドラッグ制御プログラム201は、代替オブジェクト301’を移動先タッチスクリーンディスプレイ上の端部領域に表示する。
【0049】
図8の最上部は、移動元タッチスクリーンディスプレイ上に表示されているオブジェクト301が指先でタッチされ、そのオブジェクト301が、ドラッグされる様子を示している。
【0050】
図8の上から2番目は、ドラッグ操作によってオブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された様子を示している。例えば、オブジェクト301全体に対する、移動元タッチスクリーンディスプレイに表示されているオブジェクト301の部分の割合が100パーセントよりも小さい所定の閾割合にまで低下した時、ドラッグ制御プログラム201は、オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動されたと判定する。
【0051】
オブジェクト301が移動元タッチスクリーンディスプレイの端部に移動された時、ドラッグ制御プログラム201は、図8の上から3番目の部分に示すように、オブジェクト301の位置を移動先タッチスクリーンディスプレイの端部領域に移動すると共に、オブジェクト301の代わりに、代替オブジェクト301’を移動先タッチスクリーンディスプレイ上の端部領域に表示する。この代替オブジェクト301’の表示は、ドラッグ中であることをユーザに喚起するのに有用である。代替オブジェクト301’はいかなる形状であってもよい。
【0052】
移動先タッチスクリーンディスプレイ上の代替オブジェクト301’が指先又はペンによってタッチされると、ドラッグ制御プログラム201は、図8の最下部に示すように、代替オブジェクト301’に代えて、オリジナルのオブジェクト301を表示する。このオブジェクト301は、移動先タッチスクリーンディスプレイ上のタッチ位置の移動に応じて移動される。
【0053】
図9は、図7の代替オブジェクト301’としてバー302を移動先タッチスクリーンディスプレイの端部領域に表示する例を示している。
【0054】
次に、図10、図11を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。図10、図11では、ドラッグ対象のオブジェクトがウィンドウである場合を想定している。通常、ウィンドウをドラッグ操作のために指定可能な領域(ドラッグ操作領域)は、そのウィンドウ上部のバー(タイトルバー)のみに限られる。したがって、ユーザがタッチ操作によってウィンドウを、上下に並んだ2つのタッチスクリーンディスプレイの一方から他方にドラッグすることは難しい。
【0055】
図10は、コンピュータ10が図2で説明した横位置(ランドスケープモード)で使用されている状態で、ウィンドウ401を上側の移動元タッチスクリーンディスプレイから下側の移動先タッチスクリーンディスプレイにドラッグするためのドラッグ制御動作を示している。ここでは、タッチスクリーンディスプレイ13が移動元タッチスクリーンディスプレイ(ディスプレイA)であり、タッチスクリーンディスプレイ15が移動先タッチスクリーンディスプレイ(ディスプレイB)である場合を想定する。
【0056】
図10の最左部は、移動元タッチスクリーンディスプレイ上に表示されているウィンドウ401のタイトルバーが指先でタッチされ、そのウィンドウ401が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動させることができる。
【0057】
図10の左から2番目は、ドラッグ操作によってウィンドウ401のタイトルバーが移動元タッチスクリーンディスプレイの下端部に移動された様子を示している。タイトルバーが移動元タッチスクリーンディスプレイの下端部に移動された時、ドラッグ制御プログラム201は、図10の左から3番目の部分に示すように、ウィンドウ401の例えばほぼ全体が移動先タッチスクリーンディスプレイの上端部に表示されるように、ウィンドウ401の位置を、移動元タッチスクリーンディスプレイ上の下端部から、移動先タッチスクリーンディスプレイの上端部側に移動させる。これにより、ウィンドウ401の例えばほぼ全体が移動先タッチスクリーンディスプレイ上に表示される。
【0058】
図10の最右部は、移動先タッチスクリーンディスプレイ上に移動されたウィンドウ401のタイトルバーが指先で再度タッチされ、そのウィンドウ401が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動(ドラッグ)させることができる。
【0059】
図11は、コンピュータ10が図2で説明した横位置(ランドスケープモード)で使用されている状態で、ウィンドウ401を下側の移動元タッチスクリーンディスプレイ(ディスプレB)から上側の移動先タッチスクリーンディスプレイ(ディスプレイA)にドラッグするためのドラッグ制御動作を示している。ここでは、タッチスクリーンディスプレイ15が移動元タッチスクリーンディスプレイ(ディスプレイB)であり、タッチスクリーンディスプレイ13が移動先タッチスクリーンディスプレイ(ディスプレイA)である場合を想定する。
【0060】
図11の最左部は、移動元タッチスクリーンディスプレイ上に表示されているウィンドウ401のタイトルバーが指先でタッチされ、そのウィンドウ401が、ドラッグされる様子を示している。ユーザは、指先を移動元タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動させることができる。
【0061】
図11の左から2番目は、ドラッグ操作によってウィンドウ401のタイトルバーが移動元タッチスクリーンディスプレイの上端部に移動された様子を示している。タイトルバーが移動元タッチスクリーンディスプレイの上端部に移動された時、ドラッグ制御プログラム201は、図11の左から3番目の部分に示すように、少なくともウィンドウ401内のタイトルバーの全体が移動先タッチスクリーンディスプレイの下端部に表示されるように、ウィンドウ401の位置を、移動元タッチスクリーンディスプレイ上の上端部から、移動先タッチスクリーンディスプレイの下端部側に移動させる。
【0062】
図11の最右部は、移動先タッチスクリーンディスプレイ上に移動されたタイトルバーが指先で再度タッチされ、ウィンドウ401が、移動先タッチスクリーンディスプレイ上でドラッグされる様子を示している。ユーザは、指先を移動先タッチスクリーンディスプレイ上に接触させた状態で、指先を移動させることにより、つまりタッチ位置を移動させることにより、ウィンドウ401の位置を移動(ドラッグ)させることができる。
【0063】
次に、図12を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御動作のさらに他の例について説明する。ドラッグ制御プログラム201は、移動元タッチスクリーンディスプレイ上のオブジェクト301の移動の軌跡に基づいて、移動先タッチスクリーンディスプレイ上に表示すべきオブジェクト301の位置を予測する。例えば、図12に示されているように、下側の移動先タッチスクリーンディスプレイ上において、オブジェクト301がドラッグ操作によって右斜め上方に向けて移動され、そして移動先タッチスクリーンディスプレイの上端部に位置された場合には、ドラッグ制御プログラム201は、移動元タッチスクリーンディスプレイの上端部におけるオブジェクト301の位置から右斜め上方に存在する、移動先タッチスクリーンディスプレイ上の位置を、オブジェクト301の表示位置として決定する。そして、ドラッグ制御プログラム201は、オブジェクト301を、移動先タッチスクリーンディスプレイ上の決定された表示位置上に表示する。
【0064】
次に、図13を参照して、ドラッグ制御プログラム201によって実行されるドラッグ制御処理の手順を説明する。
【0065】
ドラッグ制御プログラム201は、まず、コンピュータ10内の複数のタッチスクリーンディスプレイ内のあるタッチスクリーンディスプレイ(移動元タッチスクリーンディスプレイ)上のオブジェクトのドラッグが開始されたか否かを判定する(ステップS101)。オブジェクトのドラッグが開始されたならば、つまり、ユーザの指先又はペンによってオブジェクトが選択されている状態で指先又はペンの位置(タッチ位置)がその移動元タッチスクリーンディスプレイ上のある位置から別の位置に移動されたならば(ステップS101のYES)、ドラッグ制御プログラム201は、そのタッチ位置の移動に応じて、その移動元タッチスクリーンディスプレイ上のオブジェクトの位置を移動させる(ステップS102)。
【0066】
換言すれば、ステップS101,S102では、ドラッグ制御プログラム201は、その移動元タッチスクリーンディスプレイ上のタッチ位置に応じてその移動元タッチスクリーンディスプレイ上のオブジェクトを選択し、その移動元タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトを移動元タッチスクリーンディスプレイ上のある位置から別の位置に移動させる。
【0067】
選択されたオブジェクトがリリースされたならば、つまり、指先又はペンと移動元タッチスクリーンディスプレイとの間が非接触状態となったならば(ステップS103のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを現在の位置にドロップし、そのドロップ位置に関連付けられた所定の処理(アクション)を実行する(ステップS105)。例えば、選択されたオブジェクトがファイルを表すアイコンであっても良い。このアイコンが、フォルダを表す別のアイコンにドロップされたならば、そのファイルは、そのフォルダ内に格納される。
【0068】
選択されたオブジェクトがドラッグされている間、ドラッグ制御プログラム201は、選択されたオブジェクトが移動元タッチスクリーンディスプレイの端に近づいたか否かを判定する(ステップS104)。選択されたオブジェクトが移動元タッチスクリーンディスプレイの端に近づいた時、つまり、選択されたオブジェクトがドラッグによって移動元タッチスクリーンディスプレイ上の端部に移動された時、ドラッグ制御プログラム201は、複数のタッチスクリーンディスプレイから移動先タッチスクリーンディスプレイ(ターゲットディスプレイ)を決定する(ステップS106)。ステップS106では、ドラッグ制御プログラム201は、複数のタッチスクリーンディスプレイの中から、選択されたオブジェクトが移動された端部にディスプレイ境界(ヒンジ14を含む非タッチ検知領域)を介して対向するタッチスクリーンディスプレイを、移動先タッチスクリーンディスプレイとして決定する。
【0069】
ドラッグ制御プログラム201は、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上に表示するために、選択されたオブジェクトの位置を、移動元タッチスクリーンディスプレイ上の端部から、移動先タッチスクリーンディスプレイの端部に移動させる(ステップS107)。ステップS107では、ドラッグ制御プログラム201は、例えば、選択されたオブジェクトの位置(例えば、仮想画面上の位置)を、例えば、所定値(所定距離)だけ移動先タッチスクリーンディスプレイ側に移動(シフト)させる。さらに、ドラッグ制御プログラム201は、オブジェクトを選択状態に維持したまま、そのオブジェクトを移動先タッチスクリーンディスプレイ上に移動しても良い。
【0070】
次いで、ドラッグ制御プログラム201は、タイマをスタートし、選択されたオブジェクトが移動先タッチスクリーンディスプレイに移動されてから経過した時間をカウントする(ステップS108)。
【0071】
カウントされる経過時間が閾時間を超える前に、移動先タッチスクリーンディスプレイ上に移動されたオブジェクトが指先またはペンによってタッチされたならば(ステップS109のYES)、ドラッグ制御プログラム201は、そのオブジェクトのドラッグを再開する(ステップS110)。ドラッグ制御プログラム201は、移動先タッチスクリーンディスプレイ上のタッチ位置の移動に応じて、選択されたオブジェクトを移動先タッチスクリーンディスプレイ上のある位置から別の位置に移動させる(ステップS102)。選択されたオブジェクトがリリースされたならば、つまり、指先又はペンと移動先タッチスクリーンディスプレイとの間が非接触状態となったならば(ステップS103のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを現在の位置にドロップし、そのドロップ位置に関連付けられた所定の処理(アクション)を実行する(ステップS105)。もし選択されたオブジェクトがドラッグによって移動先タッチスクリーンディスプレイ上の端部に移動されたならば(ステップS104のYES)、ドラッグ制御プログラム201は、選択されたオブジェクトを再び移動元タッチスクリーンディスプレイ上の端部に移動させる処理を実行する(ステップS106,S107)。
【0072】
一方、カウントされる経過時間が閾時間を超える前に、移動先タッチスクリーンディスプレイ上に移動されたオブジェクトがタッチされなかったならば、つまりタイムアウトが発生した場合には(ステップS114のYES)、ドラッグ制御プログラム201は、ドラッグ制御処理を中止する(ステップS115)。そして、ドラッグ制御プログラム201は、タイムアウトの動作モードが上述のモード1またはモード2のいずれであるかを判定する(ステップS116)。タイムアウトの動作モードがモード1であれば、ドラッグ制御プログラム201は、オブジェクトの位置を移動元タッチスクリーンディスプレイの端部に戻し、オブジェクトを移動元タッチスクリーンディスプレイの端部に表示する(ステップS117)。タイムアウトの動作モードがモード2であれば、ドラッグ制御プログラム201は、オブジェクトを移動先タッチスクリーンディスプレイ上の端部にそのまま残したままにする(ステップS118)。
【0073】
以上説明したように、本実施形態によれば、第1のタッチスクリーンディスプレイ上のオブジェクトがタッチ操作を用いたドラッグによって、第2のタッチスクリーンディスプレイとの間のディスプレイ境界に対向する第1のタッチスクリーンディスプレイ上の端部に移動された時、そのオブジェクトの位置は、第1のタッチスクリーンディスプレイから、第2のタッチスクリーンディスプレイに移動される。よって、ユーザはタッチ操作によってオブジェクトを第1のタッチスクリーンディスプレイの端部にまでドラッグするだけで、そのオブジェクトを、第2のタッチスクリーンディスプレイ上に移動させることができる。よって、タッチスクリーンディスプレイ間に跨るオブジェクトのドラッグ操作の操作性を向上させることが出来る。
【0074】
なお、本実施形態のコンピュータ10は本体11とディスプレイユニット12とを有しているが、コンピュータ10のシステムを構成するコンポーネントのほとんど全てを必ずしも本体11内に設ける必要はなく、例えば、コンポーネントの一部またはほとんど全てをディスプレイユニット12内に設けても良い。この意味で、本体11とディスプレイユニット12はほぼ対等の関係のユニット同士であってもよいと云える。よって、本体11もディスプレイユニットであると考えることができ、またディスプレイユニット12を本体として考えることも出来る。
【0075】
また、本実施形態のドラッグ制御機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムを複数のタッチスクリーンディスプレイを有するコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【0076】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0077】
10…コンピュータ、11…本体、12…ディスプレイユニット、13,15…LCD、13A,15A…タッチパネル、111…CPU、201…ドラッグ制御プログラム、211…ドラッグ検出部、212…オブジェクト位置判定部、213…オブジェクト移動制御部。
【特許請求の範囲】
【請求項1】
第1のタッチスクリーンディスプレイと、
第2のタッチスクリーンディスプレイと、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択し、前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる第1の移動手段と、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する代替オブジェクト表示手段と、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて前記代替オブジェクトに代えて前記第1のオブジェクトを表示すると共に、前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる制御手段とを具備することを特徴とする情報処理装置。
【請求項2】
前記代替オブジェクト表示手段は、前記代替オブジェクトとして、前記第2のタッチスクリーンディスプレイ上にバーを表示することを特徴とする請求項1記載の情報処理装置。
【請求項3】
情報処理装置内の第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間でオブジェクトを移動させるドラッグ制御方法であって、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択するステップと、
前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させるステップと、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するステップと、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて、前記代替オブジェクトに代えて前記第1のオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するステップと、
前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させるステップとを具備することを特徴とするドラッグ制御方法。
【請求項4】
コンピュータ内の第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間でオブジェクトを移動するためのプログラムであって、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択する手順と、
前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる手順と、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する手順と、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて、前記代替オブジェクトに代えて前記第1のオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する手順と、
前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる手順を前記コンピュータに実行させることを特徴とするプログラム。
【請求項1】
第1のタッチスクリーンディスプレイと、
第2のタッチスクリーンディスプレイと、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択し、前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる第1の移動手段と、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する代替オブジェクト表示手段と、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて前記代替オブジェクトに代えて前記第1のオブジェクトを表示すると共に、前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる制御手段とを具備することを特徴とする情報処理装置。
【請求項2】
前記代替オブジェクト表示手段は、前記代替オブジェクトとして、前記第2のタッチスクリーンディスプレイ上にバーを表示することを特徴とする請求項1記載の情報処理装置。
【請求項3】
情報処理装置内の第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間でオブジェクトを移動させるドラッグ制御方法であって、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択するステップと、
前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させるステップと、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するステップと、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて、前記代替オブジェクトに代えて前記第1のオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示するステップと、
前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させるステップとを具備することを特徴とするドラッグ制御方法。
【請求項4】
コンピュータ内の第1のタッチスクリーンディスプレイと第2のタッチスクリーンディスプレイとの間でオブジェクトを移動するためのプログラムであって、
前記第1のタッチスクリーンディスプレイ上のタッチ位置に応じて前記第1のタッチスクリーンディスプレイ上の第1のオブジェクトを選択する手順と、
前記第1のタッチスクリーンディスプレイ上の前記タッチ位置の移動に応じて前記第1のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる手順と、
前記第1のオブジェクトが前記第1のタッチスクリーンディスプレイと前記第2のタッチスクリーンディスプレイとの間の境界に対向する前記第1のタッチスクリーンディスプレイ上の端部に移動された場合、前記第1のオブジェクトの代わりに、代替オブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する手順と、
前記第2のタッチスクリーンディスプレイ上の前記代替オブジェクトのタッチ操作に応じて、前記代替オブジェクトに代えて前記第1のオブジェクトを前記第2のタッチスクリーンディスプレイ上に表示する手順と、
前記第2のタッチスクリーンディスプレイ上のタッチ位置の移動に応じて前記第2のタッチスクリーンディスプレイ上の前記第1のオブジェクトの位置を移動させる手順を前記コンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−64232(P2012−64232A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2011−243829(P2011−243829)
【出願日】平成23年11月7日(2011.11.7)
【分割の表示】特願2010−98961(P2010−98961)の分割
【原出願日】平成22年4月22日(2010.4.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願日】平成23年11月7日(2011.11.7)
【分割の表示】特願2010−98961(P2010−98961)の分割
【原出願日】平成22年4月22日(2010.4.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]