(57)【要約】【課題】  ＯＳのデスクトップ画面のような汎用的な環境において、タッチパネルを用いたタッチ操作によりディスプレイ画面の外側に設定された表示画像への表示領域の移動制御を可能にする。【解決手段】  タッチパネルユニット１００を備えたデータ処理装置において、このタッチパネルユニット１００に対する入力操作のうち、タッチパネルの入力面に設定された操作領域において特定のタッチ操作が行われた場合にこの操作を検出する操作イベント検出部１２と、検出された特定のタッチ操作の行われた位置に応じて、ディスプレイ画面の周縁に位置するカーソルをこのディスプレイ画面の外側へ向けて移動させる移動情報を生成するカーソル移動情報生成部１３と、生成された移動情報に基づいて表示画像上でカーソルの位置を移動させるカーソル動作制御部１４と、このカーソルの移動に応じてディスプレイ画面の表示内容をスクロールさせる仮想画面制御部１５とを備える。【選択図】図１
2011123916.tif 000002
【特許請求の範囲】
【請求項１】
入力手段として、ディスプレイ画面上に表示された表示画像へのタッチ操作を入力として受け付けるタッチパネルを備え、当該タッチパネルへのタッチ操作による入力をカーソルの動作に変換して処理するデータ処理装置において、
前記タッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出する操作イベント検出部と、
前記操作イベント検出部により検出された前記特定のタッチ操作の行われた前記操作領域中の位置に応じて、前記ディスプレイ画面の周縁に位置するカーソルを当該ディスプレイ画面の外側へ向けて移動させる移動情報を生成する移動情報生成部と、
前記移動情報生成部により生成された移動情報に基づいて前記表示画像上で前記カーソルの位置を移動させるカーソル動作制御部と、
前記カーソル動作制御部によるカーソルの移動に応じて前記ディスプレイ画面の表示内容をスクロールさせる表示制御部と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記操作イベント検出部は、前記ディスプレイ画面と大きさが一致する前記タッチパネルの入力面に設定された操作領域に対して、前記特定のタッチ操作が行われた場合に、当該操作を検出することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記操作イベント検出部は、前記ディスプレイ画面と大きさが一致する前記タッチパネルの入力面の周縁に設定された操作領域に対して、前記特定のタッチ操作が行われた場合に、当該操作を検出することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記操作イベント検出部は、前記タッチパネルの入力面の周縁に設定された操作領域に対して、タッチされた状態が一定時間以上継続した場合に、当該タッチ操作を検出し、
前記移動情報生成部は、前記操作領域中のタッチされた位置に応じて、生成する前記移動情報におけるカーソルの移動方向を決定すること
を特徴とする請求項１に記載のデータ処理装置。
【請求項５】
入力手段として、ディスプレイ画面上に表示された表示画像へのタッチ操作を入力として受け付けるタッチパネルを備えたデータ処理装置において、
ＧＵＩにより種々の入力処理を受け付け、出力を行うための入出力画面を作成し、当該入出力画面上でのカーソルの動作を制御する基本制御部と、
前記タッチパネルに対する入力を前記基本制御部におけるカーソルの移動情報に変換して前記基本制御部に送る入力制御部と、
前記入出力画面に基づいて前記ディスプレイ画面よりも大きい表示画像を生成し、当該表示画像上に前記ディスプレイ画面に対応する大きさの表示領域を設定し、前記ディスプレイ画面に当該表示領域を表示させる表示制御部とを備え、
前記入力制御部は、
前記タッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出する操作イベント検出部と、
前記操作イベント検出部により検出された前記特定のタッチ操作の行われた前記操作領域中の位置に応じて、前記ディスプレイ画面の周縁に位置するカーソルを当該ディスプレイ画面の外側へ向けて移動させる移動情報を生成して前記基本制御部へ送る移動情報生成部とを備え、
前記表示制御部は、
前記カーソルが当該表示領域を越えて移動する場合に、前記表示画像上において当該カーソルの移動方向に当該表示領域を移動させること
を特徴とするデータ処理装置。
【請求項６】
前記入力制御部の前記操作イベント検出部は、前記ディスプレイ画面と大きさが一致する前記タッチパネルの入力面の周縁に設定された操作領域に対して、タッチされた状態が一定時間以上継続した場合に、当該タッチ操作を検出し、
前記入力制御部の前記移動情報生成部は、前記操作領域における前記特定のタッチ操作が行われた位置に応じて、生成する前記移動情報におけるカーソルの移動方向を決定すること
を特徴とする請求項５に記載のデータ処理装置。
【請求項７】
ディスプレイ画面上に表示された表示画像へのタッチ操作を入力として受け付けるタッチパネルユニットと、
前記タッチパネルユニットによる入力をカーソルの動作に変換して処理する処理部とを備え、
前記処理部は、前記タッチパネルユニットの入力面に設定された操作領域に対して、予め設定された特定のタッチ操作が行われた場合に、当該特定のタッチ操作の行われた前記操作領域中の位置に応じて、当該位置に応じて決定される方向であって前記ディスプレイ画面の外側へ向かう方向へ、当該ディスプレイ画面の周縁に位置するカーソルを移動させる移動情報を生成し、
前記タッチパネルユニットは、前記処理部により生成された前記移動情報に基づく表示命令にしたがって前記ディスプレイ画面に表示画像を表示し、かつ当該表示画像をスクロールすること
を特徴とする入出力装置。
【請求項８】
前記タッチパネルユニットは、ディスプレイ画面と同じ大きさの入力面を備え、当該入力面の周縁に、前記特定のタッチ操作を受け付ける操作領域を備え、
前記処理部は、前記入力面の操作領域に対して行われた前記特定のタッチ操作の位置に応じてカーソルの前記移動情報を生成すること
を特徴とする請求項７に記載の入出力装置。
【請求項９】
ディスプレイ画面上に表示された表示画像へのタッチ操作を入力として受け付けるタッチパネルの制御方法において、
前記タッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出するステップと、
検出された前記特定のタッチ操作の行われた前記操作領域中の位置に応じて、前記ディスプレイ画面の周縁に位置するカーソルを当該ディスプレイ画面の外側へ向けて移動させる移動情報を生成するステップと
前記移動情報に基づく表示命令にしたがって前記ディスプレイ画面に表示画像を表示し、かつ当該表示画像をスクロールするステップと、
を含むことを特徴とするタッチパネルの制御方法。
【請求項１０】
前記特定のタッチ操作を検出するステップは、前記ディスプレイ画面の周縁に設定された操作領域で前記特定のタッチ操作が行われた場合に当該操作を検出するステップを含むことを特徴とする請求項９に記載のタッチパネルの制御方法。
【請求項１１】
前記特定のタッチ操作を検出するステップは、前記ディスプレイ画面の周縁に設定された操作領域に対して、タッチされた状態が一定時間以上継続した場合に、当該特定のタッチ操作を検出するステップを含み、
前記カーソルの移動情報を生成するステップは、前記操作領域中のタッチされた位置に応じて、生成する前記移動情報におけるカーソルの移動方向を決定するステップを含むこと
を特徴とする請求項９に記載のタッチパネルの制御方法。
【請求項１２】
コンピュータに実行させるプログラムを当該コンピュータの入力手段が読取可能に記憶した記憶媒体において、
前記プログラムは、
入力手段としてのタッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出する処理と、
検出された前記特定のタッチ操作の行われた前記操作領域中の位置に応じて、ディスプレイ画面の周縁に位置するカーソルを当該ディスプレイ画面の外側へ向けて移動させる移動情報を生成する処理と
前記移動情報に基づく表示命令にしたがって前記ディスプレイ画面に表示画像を表示し、かつ当該表示画像をスクロールする処理と、
を前記コンピュータに実行させることを特徴とする記憶媒体。
【請求項１３】
コンピュータに、
入力手段としてのタッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出する処理と、検出された前記特定のタッチ操作の行われた前記操作領域中の位置に応じて、ディスプレイ画面の周縁に位置するカーソルを当該ディスプレイ画面の外側へ向けて移動させる移動情報を生成する処理と、前記移動情報に基づく表示命令にしたがって前記ディスプレイ画面に表示画像を表示し、かつ当該表示画像をスクロールする処理と、を実行させるプログラムを記憶する記憶手段と、
前記記憶手段から前記プログラムを読み出して当該プログラムを送信する送信手段と
を備えたことを特徴とするプログラム伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルに係り、ディスプレイ装置の表示画面（以下、ディスプレイ画面と称す）の外側にまで表示画像が設定されている場合に、ディスプレイ画面に表示される表示領域を移動させる表示領域の移動方法に関する。
【背景技術】
【０００２】
今日、コンピュータ装置における出力表示は高解像度化が進む傾向にある。これは、解像度が高い方が１画像に表示できる情報量が増えるためである。アプリケーションプログラムの中には、ある程度以上の高い解像度による表示を要求するものも存在する。
【０００３】
この解像度の高い表示画像をディスプレイ画面上に表示するには、ディスプレイ画面にも同等の解像度が求められることとなる。しかし、大きさの固定されたディスプレイ画面において表示画像の解像度を上げると、これに応じて表示画像中の文字や図形が小さくなってしまうため、視認性が低下してしまう。大きなディスプレイ画面を用いれば、文字や図形を小さくすることなく高解像度の表示画像を表示することができる。しかし、携帯性が重視されるノートブック型パーソナルコンピュータなどでは、ディスプレイ画面の大きさに物理的な制限があるため、文字や図形の表示が小さくなってしまうことを回避できない。また、デスクトップ型パーソナルコンピュータにおいても、設置領域の大きさを考慮すれば、無制限に大きなディスプレイ画面を用意することはできない。
【０００４】
そこで、低解像度のディスプレイ画面を用いて高解像度の表示画像を表示する手段として、仮想画面による表示技術がある。これは、ビデオメモリ上に展開された表示画像上にディスプレイ画面の大きさに相当する表示領域（ビューポート画面）を設定し、ディスプレイ画面にはこの表示領域の内容を表示する技術である。
【０００５】
図１１は、表示画像と表示領域の関係を説明する図である。
図１１において、表示画像１１０１の解像度は１６００（dots）×１２００（dots）であり、表示領域１１０２の解像度は８００（dots）×６００（dots）であるものとする。この場合、表示画像１１０１と表示領域１１０２の解像度を考慮すれば、ディスプレイ画面には表示画像１１０１の４分の１の領域が表示されることとなる。
【０００６】
この仮想画面による表示技術において、表示領域１１０２は表示画像１１０１上を移動することができる。表示領域１１０２が表示画像１１０１上を移動するとき、ディスプレイ画面の表示は上下左右にスクロールすることとなる。この表示領域１１０２の移動は、ＧＵＩ（Graphical User Interface）におけるカーソル（マウスポインタ）の移動を用いて制御するのが一般的である。すなわち、ディスプレイ画面の周縁にカーソルを位置させた状態で、さらにその外側へカーソルを移動させるようにマウスを操作すると、この操作に応じて表示領域１１０２をカーソルの移動方向へ移動させる。
【０００７】
ところで、このカーソルの移動による表示領域１１０２の移動制御は、ポインティングデバイスとして、マウスやトラックポイント、トラックパッド、トラックボールなどを用いる場合には適用が容易であるが、タッチパネルを用いる場合には単純に適用することはできない。
タッチパネルは、ディスプレイ画面上に感圧式や静電式のパネルを載せ、表示画面の表面へのタッチによる位置情報を検出してパーソナルコンピュータに送る装置である。この種の、タッチパネルにおいては、表示画面に対して操作者の指や入力用のスタイラス・ペンによるタッチが行われると、タッチされた位置までカーソルを移動する。
【０００８】
マウスやトラックポイント、トラックパッド、トラックボールなどでは、操作に応じて、カーソルを現在の位置からどの方向にどれだけ動かすかといった相対的な指定を相対画素データにより行う。このため、カーソルがディスプレイ画面の周縁に位置していても、さらにその外側へ向けてカーソルを移動させるような操作を行うことができる。したがって、これらをポインティングデバイスとして用いるならば、表示画像１１０１における表示領域１１０２の外側へカーソルを移動させることは容易である。
【０００９】
しかし、タッチパネルでは、ディスプレイ画面上の座標とタッチによる入力（以下、タッチ入力と称す）を受け付けるパネル上の座標とが１対１で対応しているため、カーソルの移動先として表示領域１１０２の外側を指定することができない。すなわち、ディスプレイ画面の周縁とタッチパネルの周縁とが一致してしまうため、その外側をタッチしてカーソルを移動させることができなかった。
【００１０】
この問題を解決し、ポインティングデバイスとしてタッチパネルを用いながら仮想画面による表示技術を採用するための従来技術として、例えば、下記特許文献１に開示された技術がある。図９は、同公報に開示された従来技術を説明する図である。図９において、ディスプレイ装置９００は、領域９０１と領域９０２とを備える。領域９０１は、タッチ入力を受け付ける有効領域である。また、領域９０２は、画像が表示される有効表示領域であり、ディスプレイ画面に相当する。図示のように、領域９０１は領域９０２よりも広く、領域９０２の周囲にまで及んでいる。すなわち、この従来技術では、ディスプレイ画面の外側にタッチ入力を受け付けるための領域が存在する。
この従来技術では、領域９０１のうちの領域９０２と重なっていない部分である領域９０３へ行われたタッチ入力を、仮想画面におけるディスプレイ画面の外側への移動を指示する操作として受け付け、ディスプレイ画面の表示をスクロールさせる。
【００１１】
また、ポインティングデバイスとしてタッチパネルを用いながら仮想画面による表示技術を採用するための他の従来技術として、下記特許文献２に開示されたナビゲーション装置がある。図１０は、同公報に開示された従来技術を説明する図である。この従来技術では、ナビゲーション装置のディスプレイ画面１０００の端部分にタッチすることにより、任意の方向へ表示をスクロールさせ、ディスプレイ画面に現在表示している地図を超える範囲を表示させる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平７−７２９７６号公報
【特許文献２】特開２０００−１８０１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１に記載された従来技術は、ディスプレイ画面の外側にまでタッチ入力を受け付けるための一定の領域を設けているため、ディスプレイ画面の大きさは、ディスプレイ装置の全体の大きさに比べて、このタッチ入力を受け付ける領域の分だけ小さくならざるを得ない。これは、ノートブック型パーソナルコンピュータのように、物理的に制限された大きさの中でできるだけ大きなディスプレイ画面を得ようとする場合には好ましくない。
【００１４】
また、特許文献２に記載された従来技術は、ディスプレイ画面の端部分にタッチすることによって表示をスクロールさせるものであるため、ディスプレイ画面の外側に一定の領域を設けるためにディスプレイ画面自体の大きさが犠牲になることはない。しかしながら、この機能は、ナビゲーションシステムのように特定の閉じたアプリケーションにおいては有効であるが、オペレーティングシステムが提供する基本画面（デスクトップ画面）などの汎用的な環境で利用すると不具合が生じる場合がある。
【００１５】
すなわち、そのような汎用的な環境では、ディスプレイ画面の周縁付近にアイコンや表示されているアプリケーションのボタンなどのオブジェクトが存在する場合がある。そのため、ディスプレイ画面の周縁にタッチされた場合、当該オブジェクトをポイントしたいのか、ディスプレイ画面の表示をスクロールさせたいのか判断できない。したがって、操作者にとっては、オブジェクトをポイントしただけで意に反して表示がスクロールしてしまうといった状況が起こり得る。
【００１６】
そこで本発明は、タッチパネルにおいて、ディスプレイ画面の外側にタッチ入力を受け付ける領域を設けることなく、ディスプレイ画面へのタッチ操作によりディスプレイ画面の外側に設定された表示画像への表示領域の移動制御を可能にすることを目的とする。
【００１７】
また、本発明は、タッチパネルにおいて、ディスプレイ画面へのタッチ操作によるディスプレイ画面の外側に設定された表示画像に対する表示領域の移動制御を、オペレーティングシステムの基本画面のような汎用的な環境で利用可能とすることを他の目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するため、本発明は、入力手段としてタッチパネルを備え、このタッチパネルへのタッチ操作による入力をカーソルの動作に変換して処理するデータ処理装置において、タッチパネルに対する入力操作のうち、タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合にこの特定のタッチ操作を検出する操作イベント検出部と、検出された特定のタッチ操作の行われた操作領域中の位置に応じて、ディスプレイ画面の周縁に位置するカーソルをディスプレイ画面の外側へ向けて移動させる移動情報を生成する移動情報生成部と、生成された移動情報に基づいて表示画像上でカーソルの位置を移動させるカーソル動作制御部と、カーソル動作制御部によるカーソルの移動に応じてディスプレイ画面の表示内容をスクロールさせる表示制御部とを備えることを特徴とする。
このデータ処理装置は、パーソナルコンピュータやワークステーションなどのコンピュータ装置の他、ＰＤＡ、タッチパネルを備えた家電製品などを含む。また、表示制御部は、例えばコンピュータ装置におけるビデオドライバとすることができる。
【００１９】
ここで、この操作イベント検出部は、ディスプレイ画面と大きさが一致するタッチパネルの入力面に設定された操作領域に対して、特定のタッチ操作が行われた場合に、この操作を検出する。
この操作領域は、ディスプレイ画面のどの位置に設定しても良いが、より好ましくは、タッチパネルの入力面の周縁に設定することができる。ここで、周縁とは、タッチパネルの入力面の最外周から指やスタイラス・ペンでタッチすることができ、かつ所定の操作ができる程度の幅を有する領域である。
また、上述のようにこの入力画面はディスプレイ画面と大きさが一致しているので、この操作領域にも表示画像が表示されることとなる。そして、この操作領域は、予め設定された操作だけでなく、当該表示への通常の入力も受け付ける。
【００２０】
また、予め設定された特定のタッチ操作を、操作領域に対して、タッチされた状態を一定時間以上継続する操作とし、移動情報生成部において、操作領域中のタッチされた位置に応じて、生成する移動情報におけるカーソルの移動方向を決定する構成とすることができる。
【００２１】
また、本発明のデータ処理装置は、ＧＵＩにより種々の入力処理を受け付け、出力を行うための入出力画面を作成し、この入出力画面上でのカーソルの動作を制御する基本制御部と、タッチパネルに対する入力をこの基本制御部におけるカーソルの移動情報に変換してこの基本制御部に送る入力制御部と、この入出力画面に基づいてディスプレイ画面よりも大きい表示画像を生成し、この表示画像上にこのディスプレイ画面に対応する大きさの表示領域を設定し、このディスプレイ画面にこの表示領域を表示させる表示制御部とを備え、この入力制御部は、タッチパネルに対する入力操作のうち、当該タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合に当該特定のタッチ操作を検出する操作イベント検出部と、検出された特定のタッチ操作の行われた前記操作領域中の位置に応じて、ディスプレイ画面の周縁に位置するカーソルをこのディスプレイ画面の外側へ向けて移動させる移動情報を生成して基本制御部へ送る移動情報生成部とを備え、表示制御部は、カーソルが表示領域を越えて移動する場合に、表示画像上においてこのカーソルの移動方向に表示領域を移動させる構成とすることができる。
ここで、基本制御部は、例えば、パーソナルコンピュータなどのコンピュータ装置におけるオペレーティングシステムとすることができる。入力制御部は、タッチパネルの動作を制御するタッチパネルドライバとすることができる。
【００２２】
さらにまた、本発明は、次のように構成されたことを特徴とする入出力装置を提供する。すなわち、この入出力装置は、ディスプレイ画面上に表示された表示画像へのタッチ操作を入力として受け付けるタッチパネルユニットと、このタッチパネルユニットによる入力をカーソルの動作に変換して処理する処理部とを備え、この処理部は、このタッチパネルユニットの入力面に設定された操作領域に対して、予め設定された特定のタッチ操作が行われた場合に、この特定のタッチ操作の行われた操作領域中の位置に応じて、この位置に応じて決定される方向であってディスプレイ画面の外側へ向かう方向へ、ディスプレイ画面の周縁に位置するカーソルを移動させる移動情報を生成し、このタッチパネルユニットは、この処理部により生成された移動情報に基づく表示命令にしたがってディスプレイ画面に表示画像を表示し、かつこの表示画像をスクロールすることを特徴とする。
【００２３】
また、本発明は、タッチパネルの制御方法において、このタッチパネルに対する入力操作のうち、タッチパネルの入力面に設定された操作領域において予め設定された特定のタッチ操作が行われた場合にこの特定のタッチ操作を検出するステップと、検出された特定のタッチ操作の行われた操作領域中の位置に応じて、ディスプレイ画面の周縁に位置するカーソルをこのディスプレイ画面の外側へ向けて移動させる移動情報を生成するステップとを含む。
【００２４】
ここで、この検出されるタッチ操作を、ディスプレイ画面の周縁に設定された操作領域に対してタッチされた状態が一定時間以上継続する操作とし、カーソルの移動情報を生成するステップは、この操作領域中のタッチされた位置に応じて、生成する移動情報におけるカーソルの移動方向を決定するステップを含む構成とすることができる。
【００２５】
さらに、本発明は、これらのステップに対応する処理をコンピュータに実行させるプログラムであるタッチパネルドライバとして作成し、このタッチパネルドライバを格納した記憶媒体や、このタッチパネルドライバを伝送するプログラム伝送装置として提供することができる。
【発明の効果】
【００２６】
本発明によれば、ディスプレイ画面の外側にタッチ入力を受け付ける領域を設けることなく、ディスプレイ画面へのタッチ操作によりディスプレイ画面の外側に設定された表示画像への表示領域の移動を制御することができる。
また、本発明によれば、ディスプレイ画面へのタッチ操作によるディスプレイ画面の外側に設定された表示画像に対する表示領域の移動制御を、オペレーティングシステムの基本画面のような汎用的な環境で利用することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態におけるタッチパネル制御システムの構成を説明する図である。
【図２】本実施の形態によるタッチパネル制御を実現搭載するコンピュータ装置の構成例を示す図である。
【図３】本実施の形態のタッチパネル制御を実現するソフトウェアの構成例を示す図である。
【図４】オペレーティングシステムの基本画面（デスクトップ画面）に対して表示領域を設定した様子を例示する図である。
【図５】図４の表示領域をディスプレイ画面に表示した様子を例示する図である。
【図６】本実施の形態におけるタッチパネルユニットの入力面の構成を説明する図である。
【図７】本実施の形態における、第１の特定の操作に対応する処理の流れを説明するフローチャートである。
【図８】本実施の形態における、第２の特定の操作に対応する処理の流れを説明するフローチャートである。
【図９】従来のタッチパネルによる表示制御を説明する図である。
【図１０】従来のタッチパネルによる他の表示制御を説明する図である。
【図１１】ディスプレイ画面に対する表示制御において、ビデオメモリに展開される表示画像とディスプレイ画面に表示される表示領域との関係を説明する図である。
【発明を実施するための形態】
【００２８】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図２は、本実施の形態によるタッチパネル制御を実現搭載するコンピュータ装置の構成例を示す図である。
図２を参照すると、このコンピュータ装置は、ＣＰＵ（中央処理装置）２０と、システムバスを介してＣＰＵ２０に接続されたＭ／Ｂ（マザーボード）チップセット３０及びメインメモリ４０と、ＰＣＩバスなどの高速なバスを介してＭ／Ｂチップセット３０に接続されたビデオカード５０及びハードディスク６０と、さらにブリッジ回路２００及びＩＳＡバスなどの低速なバスを介してＭ／Ｂチップセット３０に接続されたフロッピー（登録商標）ディスクドライブ７０、キーボード８０及びシリアルＩ／Ｏポート９０と、シリアルＩ／Ｏポート９０に接続されたタッチパネルユニット１００とを備える。
【００２９】
なお、図２は本実施の形態のタッチパネル制御を実現するコンピュータ装置の構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々のシステム構成を取ることが可能である。例えば図２では、シリアルＩ／Ｏポート９０を介してタッチパネルユニット１００をシステムに接続しているが、パラレルＩ／ＯポートやＵＳＢ（Universal Serial Bus）を介してシステムに接続するようにしても良い。また、ビデオカード５０の代わりにビデオメモリのみを設け、ＣＰＵ２０自身が描画命令を実行するようなシステム構成とすることも可能である。さらに、図示はしないが、一般的なコンピュータ装置には、入力手段としてのマウス、音声入出力機構、ＣＤ−ＲＯＭドライブなどが接続される。
また、本実施の形態は、図２に示したようなパーソナルコンピュータやワークステーションなどのコンピュータ装置の他、各種のＰＤＡ（Personal Digital Assistants）、コンピュータにて制御されるテレビ受像機その他の家電製品などであって、入力手段としてタッチパネルを備えたハードウェアにても実現することができる。
【００３０】
図３は、本実施の形態のタッチパネル制御を実現するソフトウェアの構成例を示す図である。
図３を参照すると、タッチパネルユニット１００から入力された入力データは、ディスプレイ画面と１対１で対応するパネル上の座標データである。この入力データは、タッチパネルコントローラ３１０とシリアルＩ／Ｏポートを制御するシリアルドライバ３２０とを経てタッチパネルドライバ３３０にて処理される。
タッチパネルドライバ３３０において、座標データは、カーソルの移動データに変換される。また、後述するように、タッチパネルユニット１００へのタッチ入力の中から特定の操作を示す操作イベントを検出し、これを対応するカーソルの移動データに置き換える。このようにして生成されたカーソルはオペレーティングシステムのマウスドライバ３４０に送られる。
これにより、オペレーティングシステムは、マウスによる入力と全く変わらずにタッチパネルユニット１００からの入力を扱うことができる。
【００３１】
なお、図３は図２のコンピュータ装置を想定した本実施の形態を実現するソフトウェア構成の一例に過ぎない。タッチパネルユニット１００からの入力をエミュレーションしてマウスドライバ３４０で処理できるデータに変換する手段を有していれば、図示の構成の他にも、タッチパネルユニット１００の接続手段や本実施の形態を適用するハードウェアの構成に応じて、種々の構成を取り得る。また、マウスドライバ３４０を介さずに、タッチパネルユニット１００からの入力データに基づいて直接カーソルの移動を制御する構成とすることも可能である。
【００３２】
図１は、本実施の形態におけるタッチパネル制御システムの構成を説明する図である。
図１を参照すると、本実施の形態のタッチパネル制御システムは、タッチパネルユニット１００に対するタッチ入力をマウスによる入力に変換するマウスエミュレータ１１と、タッチパネルユニット１００に対するタッチ入力の中から特定の操作イベントを検出する操作イベント検出部１２と、操作イベント検出部１２により検出された操作イベントに応じたカーソルの移動情報を生成するカーソル移動情報生成部１３と、マウスによる入力に応じてカーソルの動作を制御するカーソル動作制御部１４と、カーソルの動作に応じてタッチパネルユニット１００のディスプレイ画面に表示する表示画像上の表示領域の移動を制御する表示制御部としての仮想画面制御部１５とを備える。なお、図１において、矢印はデータの流れを示す。
【００３３】
図１に示す各構成要素は、コンピュータプログラムにより制御された図２のＣＰＵ２０にて実現される仮想的なソフトウェアブロックである。このコンピュータプログラムは、例えば図２のメインメモリ４０に読み込まれてＣＰＵ２０の動作を制御する。かかるコンピュータプログラムは、ＣＤ−ＲＯＭやフロッピーディスクなどの記憶媒体に格納したり、ネットワークを介して伝送したりすることにより提供される。
【００３４】
上記構成において、マウスエミュレータ１１、操作イベント検出部１２及びカーソル移動情報生成部１３は、例えば、図３に示したタッチパネルドライバ３３０の機能として設けられる。
マウスエミュレータ１１は、上述したように、タッチパネルユニット１００から入力される座標データを、マウスによる入力データと同等のカーソルの移動データに変換し、出力する。
【００３５】
操作イベント検出部１２は、タッチパネルユニット１００に対するタッチ入力の中から、タッチパネルユニット１００の特定の場所に特定の手順でタッチ入力が行われたというような特定の操作が行われた場合に、これを操作イベントとして検出する。操作イベントの詳細な内容については後述する。
【００３６】
カーソル移動情報生成部１３は、操作イベント検出部１２により検出された操作イベントの種類に応じて、予め設定された方向に予め設定された距離だけカーソルが移動したことを示す移動データを生成し、出力する。カーソル移動情報生成部１３の具体的な動作については、操作イベントの内容と共に後述する。
【００３７】
カーソル動作制御部１４は、例えば、図３に示したマウスドライバ３４０の機能として実現される。カーソル動作制御部１４は、マウスエミュレータ１１及びカーソル移動情報生成部１３から出力されたカーソルの移動データに基づいて、ディスプレイ画面に表示する表示画像上でカーソルを移動させ、必要に応じてオブジェクトをポイントするなどの処理を行う。
【００３８】
仮想画面制御部１５は、例えば、図２に示したビデオカード５０の動作を制御するビデオドライバの機能として実現される。仮想画面制御部１５は、ビデオカード５０を制御して、ＣＰＵ２０から出力された描画命令に基づき、表示画像の描画データを作成する。また、仮想画面による表示制御を実行し、表示画像上にディスプレイ画面に実際に表示させる表示領域を設定する。
【００３９】
仮想画面による表示制御の手法は、従来から一般的に用いられている手法を用いることができる。すなわち、例えば図１１に示したように、表示画像１１０１の解像度を１６００（dots）×１２００（dots）とし、表示領域１１０２の解像度を８００（dots）×６００（dots）とすれば、ディスプレイ画面には表示画像１１０１の４分の１の領域が表示される。そして、表示領域１１０２の移動は、カーソルの移動を用いて制御する。すなわち、ディスプレイ画面の周縁にカーソルを位置させた状態で、さらにその外側へカーソルを移動させるような操作が行われた場合に、この操作に応じて表示領域１１０２をカーソルの移動方向へ移動させる。
【００４０】
図４は、米国マイクロソフト社のオペレーティングシステムであるWindowsの基本画面（デスクトップ画面）を表示画像１１０１として、表示領域１１０２を設定した様子を示す図である。また図５は、図４の表示領域１１０２をディスプレイ画面に表示した様子を示す図である。
オペレーティングシステムの基本画面は、本来、全体がディスプレイ画面に表示されることを想定しているが、従来技術において説明したように仮想画面による表示制御を行うことにより、基本画面を高解像度で作成した場合であっても、低解像度のディスプレイ画面に表示することが可能となる。
【００４１】
次に、操作イベント検出部１２及びカーソル移動情報生成部１３にて実現される、特定の操作によるカーソルの動作制御について説明する。
図６は、本実施の形態におけるタッチパネルユニット１００の入力面（以下、単に入力面と称す）の構成を説明する図である。
図６を参照すると、入力面６００の周縁に所定の幅の操作領域６０１〜６０４を設けてある。操作領域６０１〜６０４は、入力面６００の最外周から指やスタイラス・ペンでタッチすることができ、かつ所定の操作ができる程度の広さを有する。また、各操作領域６０１〜６０４の幅は、同一であっても良いし、異なっていても良い。操作イベント検出部１２は、この操作領域６０１〜６０４において操作者の指やスタイラス・ペンによる特定のタッチ入力が行われた際に、操作イベントを検出する。
カーソル移動情報生成部１３は、操作イベント検出部１２により検出された操作イベントの種類に応じて、図６に示すように、カーソル６１０をディスプレイ画面の周縁からさらに外側へ向かって移動させる移動データを生成する。図示の例では入力面６００の上側の操作領域６０１からさらにその上方へ移動させる移動データを生成する。そして、この移動データに基づいてカーソル動作制御部１４がカーソル６１０を移動させる。
【００４２】
ここで、カーソル６１０の動作はディスプレイ画面上で視認されるため、ディスプレイ画面の周縁から外側へ向かってカーソルを移動させるという表現を用いた。しかし、ディスプレイ画面に表示されている表示領域１１０２はオペレーティングシステムなどにより作成された表示画像１１０１の一部であるため、オペレーティングシステム及びオペレーティングシステムが提供するマウスドライバ３４０においては、単に表示画像１１０１上でカーソル６１０を移動したものとして扱われる。
そして、このカーソル６１０の移動が表示領域１１０２の境界を越えたため、仮想画面制御部１５がビデオドライバによるローカルな（オペレーティングシステムによらない）制御により、表示領域１１０２を移動させることとなる。
【００４３】
次に、タッチパネルの入力面６００の操作領域６０１〜６０４に対して行われる操作について説明する。
本実施の形態においては、入力面６００とディスプレイ画面とは同一の大きさを有し、完全に重なっている。したがって、操作領域６０１〜６０４に対応するディスプレイ画面の周縁にも、表示画像１１０１における表示領域１１０２の周縁に位置する画像が表示されており、表示画像１１０１上のアイコンやアプリケーションのボタンなどが存在する場合がある。このため、操作領域６０１〜６０４に対して指やスタイラス・ペンで単にタッチしただけで表示領域１１０２を移動させるように制御すると、操作領域６０１〜６０４に表示されているアイコンやボタンを操作しようとしてタッチしたことによって、表示領域１１０２が移動してしまい、アイコンやボタンの操作に支障をきたす恐れがある。
そこで、操作イベント検出部１２が単なるタッチと区別して操作イベントを検出するための特定の操作を予め定めておく必要がある。この操作の内容（すなわち、操作イベントを発生させる条件）は、単なるタッチと区別できる操作であればどのような操作であっても良い。本実施の形態では代表的な２種類の操作について詳細に説明する。
【００４４】
本実施の形態において提案する第１の操作は、操作領域６０１〜６０４に一定の時間タッチし続ける操作である。
これを実現するため、操作領域６０１〜６０４にタッチされたまま、時間ｔ以上経過した場合に操作イベントを発生するタイムアウト条件を設定する。これにより、時間ｔの間、操作領域６０１〜６０４にタッチした指やスタイラス・ペンが留まっていると、操作イベント検出部１２がタイムアウトを検知し、これに応じてカーソル移動情報生成部１３がカーソル６１０の移動データを生成する。
【００４５】
図６を参照して具体的に説明する。
初期設定として、一回のタイムアウトでカーソル移動情報生成部１３が生成する移動データにおいてカーソル６１０を相対的に動かすドット数をｄとする。また、カーソル６１０の入力面６００におけるＸ方向の座標をｈ（１≦ｈ≦Ｈ）、Ｙ方向の座標をｖ（１≦ｖ≦Ｖ）とし、操作領域６０１〜６０４の幅を一様にｍとする。さらに、仮想画面制御部１５は、カーソル６１０が表示領域１１０２の外側へｄドット移動する場合、表示領域１１０２を表示画像１１０１上でカーソル６１０が移動する方向にｄドット移動させることとする。
【００４６】
まず、カーソル６１０のＹ座標ｖが１≦ｖ≦ｍであるとき（操作領域６０１に対応）にタイムアウトが発生した場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を上方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が上方向へｄドット移動する。
カーソル６１０のＹ座標ｖがＶ−ｍ≦ｖ≦Ｖであるとき（操作領域６０２に対応）にタイムアウトが発生した場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を下方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が下方向へｄドット移動する。
カーソル６１０のＸ座標ｈが１≦ｈ≦ｍであるとき（操作領域６０３に対応）にタイムアウトが発生した場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を左方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が左方向へｄドット移動する。
カーソル６１０のＸ座標ｈがＨ−ｍ≦ｈ≦Ｈであるとき（操作領域６０４に対応）にタイムアウトが発生した場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を右方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が右方向へｄドット移動する。
【００４７】
以上の制御により、操作者が、操作領域６０１〜６０４にタッチすればカーソル６１０がタッチした位置に移動し、さらにタッチした指やスタイラス・ペンをタイムアウト条件である時間ｔの間そのまま留めておけば、ディスプレイ画面に表示されている表示領域１１０２が移動して、ディスプレイ画面の表示内容を上下左右にスクロールすることとなる。また、操作者が表示領域１１０２の移動後もさらに指やスタイラス・ペンをタッチしたまま留めておけば、タイムアウト条件である時間ｔが経過する度にディスプレイ画面の表示内容がスクロールし続けることとなる。
なお、上記の説明では入力面６００の角の部分（座標（１〜ｍ，１〜ｍ）、（Ｈ−ｍ〜Ｈ，１〜ｍ）、（１〜ｍ，Ｖ−ｍ〜Ｖ）、（Ｈ−ｍ〜Ｈ，Ｖ−ｍ〜Ｖ）の４カ所）において、操作領域６０１〜６０４が重なっているが、この位置においては、例えば横方向の移動または縦方向の移動のいずれかを優先させることにより矛盾無く制御することができる。
【００４８】
図７は、上述した第１の操作に対応する処理の流れを説明するフローチャートである。
図７を参照すると、まず、操作領域６０１〜６０４にタッチがなされ（ステップ７０１）、そのままの状態で一定時間が経過し、タイムアウト条件が満足すると（ステップ７０２）、操作イベント検出部１２によりこの操作が検出される。そして、カーソル移動情報生成部１３により、タッチがなされている操作領域６０１〜６０４に応じてカーソル６１０の移動データが生成される（ステップ７０３）。そして、生成されたカーソル６１０の移動データに応じて、カーソル動作制御部１４によりカーソル６１０が移動され、このカーソル移動に応じて、仮想画面制御部１５により表示領域１１０２が移動されて、ディスプレイ画面に表示されている画像が上下左右にスクロールする（ステップ７０４、７０５）。なお、操作領域６０１〜６０４以外の領域にタッチされた場合及び操作領域６０１〜６０４にタッチされたがタイムアウト条件を満足しない場合は（ステップ７０１、７０２でＮｏ）、タッチ操作をマウスによる操作にエミュレーションする通常の処理を行う（ステップ７０６）。
【００４９】
本実施の形態において提案する第２の操作は、操作領域６０１〜６０４にタッチしたまま特定の方向にカーソル６１０を移動させる操作である。
これを実現するため、操作領域６０１〜６０４に存在するカーソル６１０が特定の方向に移動した場合に操作イベントを発生する方向条件を設定する。なお、操作領域６０１〜６０４内におけるカーソル６１０の移動は、マウスエミュレータ１１によりエミュレーションされる通常のタッチ入力である。これにより、操作領域６０１〜６０４に存在するカーソル６１０が方向条件を満足する方向へ移動すると、操作イベント検出部１２が当該操作を検知し、これに応じてカーソル移動情報生成部１３がカーソル６１０の移動データを生成する。
【００５０】
図６を参照して具体的に説明する。なお、方向条件を満足する操作が一回行われた場合のカーソル移動情報生成部１３が生成する移動データにおけるカーソル６１０の移動量をｄドットとし、その他の初期設定は上述した第１の操作の場合と同様とする。
まず、カーソル６１０のＹ座標ｖが１≦ｖ≦ｍであるとき（操作領域６０１に対応）にカーソル６１０を下から上へ動かす操作が行われた場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を上方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が上方向へｄドット移動する。
カーソル６１０のＹ座標ｖがＶ−ｍ≦ｖ≦Ｖであるとき（操作領域６０２に対応）にカーソル６１０を上から下へ動かす操作が行われた場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を下方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が下方向へｄドット移動する。
カーソル６１０のＸ座標ｈがＨ−ｍ≦ｈ≦Ｈであるとき（操作領域６０３に対応）にカーソル６１０を右から左へ動かす操作が行われた場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を左方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が左方向へｄドット移動する。
カーソル６１０のＸ座標ｈがＨ−ｍ≦ｈ≦Ｈであるとき（操作領域６０４に対応）にカーソル６１０を左から右へ動かす操作が行われた場合、操作イベント検出部１２による当該イベントの検出に応じて、カーソル移動情報生成部１３は、カーソル６１０を右方向にｄドット移動させる。そして、仮想画面制御部１５の制御により、表示領域１１０２が右方向へｄドット移動する。
【００５１】
以上の制御により、操作者が例えば操作領域６０１にタッチすればカーソル６１０がタッチした位置に移動し、さらにその領域内で指やスタイラス・ペンを上方へ移動させれば、ディスプレイ画面に表示されている表示領域１１０２が上方へ移動して、ディスプレイ画面の表示内容をスクロールすることとなる。同様に、他の各操作領域６０２〜６０４においても、その領域内で所定の方向に指やスタイラス・ペンを移動させることにより、表示領域１１０２がそれぞれの方向へ移動し、ディスプレイ画面の表示内容をスクロールする。
【００５２】
図８は、上述した第２の操作に対応する処理の流れを説明するフローチャートである。
図８を参照すると、まず、操作領域６０１〜６０４にタッチがなされ（ステップ８０１）、さらに通常のタッチ入力において方向条件が満足するようにカーソル６１０が移動すると（ステップ８０２）、操作イベント検出部１２によりこの操作が検出される。そして、タッチがなされている操作領域６０１〜６０４及びカーソル６１０の移動方向に応じて、カーソル移動情報生成部１３によりカーソル６１０の移動データが生成される（ステップ８０３）。そして、生成されたカーソル６１０の移動データに応じて、カーソル動作制御部１４によりカーソル６１０が移動され、このカーソル移動に応じて、仮想画面制御部１５により表示領域１１０２が移動されて、ディスプレイ画面に表示されている画像が上下左右にスクロールする（ステップ８０４、８０５）。なお、操作領域６０１〜６０４以外の領域にタッチされた場合及び操作領域６０１〜６０４にタッチされたが方向条件を満足する操作が行われなかった場合は（ステップ８０１、８０２でＮｏ）、タッチ操作をマウスによる操作にエミュレーションする通常の処理を行う（ステップ８０６）。
【００５３】
なお、上記の操作において、カーソル６１０を移動させる方向は、ある程度の誤差を想定して設定することができる。例えば、操作領域６０１については、まっすぐ上方に移動するだけでなく、多少斜めに移動しても操作イベント検出部１２において操作イベントを検出する。
また、操作者がタッチパネルにおいて所定の場所をポイントする場合、手作業であるため、ポイントした指やスタイラス・ペンが多少動くことがある。このような場合、操作者の意に反してディスプレイ画面の表示内容がスクロールしてしまうといった誤動作が発生する恐れがある。そこで、カーソル６１０の移動距離を操作イベント検出の条件に加え、操作領域６０１〜６０４において、カーソル６１０が一定以上の距離を動いた場合に操作イベント検出部１２において操作イベントを検出するように制御することもできる。
【００５４】
さらに、上記の操作例では方向条件を満足する操作が行われた場合のカーソル６１０の移動量をｄドットとしたが、操作イベント検出の条件としてカーソル６１０の移動速度や加速度を加え、操作領域６０１〜６０４におけるカーソル６１０の移動が高速に行われた場合は、カーソル移動情報生成部１３が生成する移動データによるカーソル６１０の移動距離を長くするような制御を行うこともできる。
【００５５】
また、上記の操作例では、各操作領域６０１〜６０４に固有の方向条件を与えた。すなわち、入力面６００の上方に位置する操作領域６０１では方向条件を上とし、入力面６００の下方に位置する操作領域６０２では方向条件を下とし、入力面６００の左方に位置する操作領域６０３では方向条件を左とし、入力面６００の右方に位置する操作領域６０４では方向条件を右とした。これは、最初にタッチした位置からさらに外側へ指やスタイラス・ペンを移動させることにより、その方向へ表示領域１１０２を移動させるといった直感的に分かりやすい操作を実現する。
しかしながら、方向条件を各操作領域６０１〜６０４で固有とせず、全ての操作領域６０１〜６０４において指やスタイラス・ペンを上へ動かせば表示領域１１０２も上方へ移動し、指やスタイラス・ペンを左へ動かせば表示領域１１０２も左方へ移動するといった制御を行うこともできる。
【００５６】
なお、本実施の形態では、入力面６００に一定の操作領域６０１〜６０４を設定し、この領域内で特定の操作が行われた場合に操作イベント検出部１２が操作イベントを検出することとした。しかし、特定の操作とカーソル６１０の移動とを対応付けるという技術的観点に立てば、操作領域６０１〜６０４は必ずしも必要ではない。すなわち、通常のタッチ入力では行われないような特殊な操作を予め定義しておき、当該操作が行われた場合に、操作イベント検出部１２によりこの操作を検出し、カーソル移動情報生成部１３により所定の移動データを生成するような制御を行うことができる。
【符号の説明】
【００５７】
１１…マウスエミュレータ、１２…操作イベント検出部、１３…カーソル移動情報生成部、１４…カーソル動作制御部、１５…仮想画面制御部、１００…タッチパネルユニット、３１０…タッチパネルコントローラ、３２０…シリアルドライバ、３３０…タッチパネルドライバ、３４０…マウスドライバ、６００…入力面、６０１〜６０４…操作領域、１１０１…表示画像、１１０２…表示領域
【図１】
2011123916.tif 000003
【図２】
2011123916.tif 000004
【図３】
2011123916.tif 000005
【図４】
2011123916.tif 000006
【図５】
2011123916.tif 000007
【図６】
2011123916.tif 000008
【図７】
2011123916.tif 000009
【図８】
2011123916.tif 000010
【図９】
2011123916.tif 000011
【図１０】
2011123916.tif 000012
【図１１】
2011123916.tif 000013