(57)【要約】【課題】ユーザによる細かな入力操作を実現することを目的とする。【解決手段】入力面上の２点へのタッチ入力が検知された場合に、２点に基づいて定まる位置であり、かつ２点と異なる位置を入力位置とするユーザ操作を受け付ける受付手段と、ユーザ操作に応じた処理を行う処理手段とを有し、処理手段は、第１のモードに設定されている場合に、表示画面の入力位置に対応する位置にカーソルを表示し、第２のモードに設定されている場合に、表示画面の入力位置に対応する位置に表示されたオブジェクトを選択する。【選択図】図１
2016133978.tif 000002
【特許請求の範囲】
【請求項１】
入力面上の２点へのタッチ入力が検知された場合に、前記２点に基づいて定まる位置であり、かつ前記２点と異なる位置を入力位置とするユーザ操作を受け付ける受付手段と、
前記ユーザ操作に応じた処理を行う処理手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記受付手段は、前記２点の間の位置を前記入力位置とするユーザ操作を受け付けることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段は、前記２点を結ぶ線分の中点を前記入力位置とするユーザ操作を受け付けることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記処理手段は、表示画面の前記入力位置に対応する位置にカーソルを表示することを特徴とする請求項１乃至３何れか１項に記載の情報処理装置。
【請求項５】
前記処理手段は、表示画面の前記入力位置に対応する位置に表示されたオブジェクトを選択することを特徴とする請求項１乃至３何れか１項に記載の情報処理装置。
【請求項６】
前記処理手段は、第１のモードに設定されている場合に、表示画面の前記入力位置に対応する位置にカーソルを表示し、第２のモードに設定されている場合に、前記表示画面の前記入力位置に対応する位置に表示されたオブジェクトを選択することを特徴とする請求項１乃至３何れか１項に記載の情報処理装置。
【請求項７】
情報処理装置が実行する情報処理方法であって、
入力面上の２点へのタッチ入力が検知された場合に、前記２点に基づいて定まる位置であり、かつ前記２点と異なる位置を入力位置とするユーザ操作を受け付ける受付ステップと、
前記ユーザ操作に応じた処理を行う処理ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
コンピュータを、
入力面上の２点へのタッチ入力が検知された場合に、前記２点に基づいて定まる位置であり、かつ前記２点と異なる位置を入力位置とするユーザ操作を受け付ける受付手段と、
前記ユーザ操作に応じた処理を行う処理手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、タッチパネルを備えた携帯電話端末や携帯音楽プレーヤ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等のモバイル機器が多数製品化されている。それに伴い、タッチパネルに対応したアプリケーションが多数開発されており、その中には、細かな編集操作が必要とされるものも含まれている。例えば、大きなオブジェクトを選択する際は１本指でタッチすることでオブジェクト選択できるようにすることが、操作も簡易で分かり易いＵＩである。しかし、小さいオブジェクトを指で選択する場合には、指がオブジェクトに被ってしまうため、オブジェクト自体が見えなくなる。特許文献１には、この問題を回避するため、オペレータがタッチパネルをタッチしてカーソルを移動させる場合、移動させたカーソルを実際の位置より上方にずらすことにより、カーソルがオペレータの指に隠れないようにすることが開示されている。
【０００３】
また、表示画面の端や隅に表示されているオブジェクトは、タッチし難く、このようなオブジェクトを選択する操作は、ユーザにとって煩わしい操作となる。特許文献２には、常にカーソルをタッチ位置の上側に表示することにより、画面最下部に指示点を設けることができなくなるという問題を回避する技術として、画面の下側の領域ではカーソルをタッチ位置の左側に表示することが開示されている。さらに、特許文献２には、画面の下側の領域でカーソルをタッチ位置の左側に表示すると画面の左下側には指示点を設けることができなくなってしまうので、画面の左下側の領域ではカーソルをタッチ位置の右側に表示することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２３７１５７号公報
【特許文献２】特開平１０−４００１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のオブジェクトが近接して配置されている場合、ユーザは所望のオブジェクトをタッチしたつもりでも、別のアイコンや複数のオブジェクトが選択されてしまうことがある。また、オブジェクトを移動させる等の微調整が必要な場合には、１本指によるオブジェクトのタッチ、ドラッグ操作では細かな位置の指定が困難である。また、特許文献１、２の技術においては、カーソルの表示位置が自動的に変更されるため、ユーザのタッチ操作中にカーソル（選択位置）が突然、予想しない別の場所に移動してしまうという問題があった。
【０００６】
本発明はこのような問題点に鑑みなされたもので、ユーザによる細かな入力操作を実現することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、情報処理装置であって、入力面上の２点へのタッチ入力が検知された場合に、前記２点に基づいて定まる位置であり、かつ前記２点と異なる位置を入力位置とするユーザ操作を受け付ける受付手段と、前記ユーザ操作に応じた処理を行う処理手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザによる細かな入力操作を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置を示す図である。
【図２】マルチ選択モードの説明図である。
【図３】カーソル表示モードの説明図である。
【図４】タッチパネルの表示例を示す図である。
【図５】情報処理装置による処理を示すフローチャートである。
【図６】通常選択モード処理を示すフローチャートである。
【図７】マルチ選択モード処理を示すフローチャートである。
【図８】カーソル表示モード処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
図１は、本実施形態の情報処理装置１００を示す図である。情報処理装置１００は、タッチパネル１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、ＣＰＵ１０５、ネットワークＩ／Ｆ１０６及びバス１０７を有している。タッチパネル１０１は、タッチセンサが配置された入力面と、表示画面としてのディスプレイを備え、タッチセンサをディスプレイに重ね合わせて平面的に構成されている。タッチパネル１０１は、物体が接触した入力面上の位置を示す座標情報を出力する入力デバイスである。タッチパネル１０１は、情報処理装置１００が出力する画像情報をディスプレイに表示する表示機能と、タッチセンサにより物体の接触を検知し検知情報を電気信号としてＣＰＵ１０５に入力する入力機能を有している。タッチパネル１０１は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものであってもよい。
【００１１】
ＲＯＭ１０２は、タッチ入力プログラム等の各種制御プログラムやデータを保存する。ＲＡＭ１０３は、ＣＰＵ１０５のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。ＨＤＤ１０４は、情報処理装置１００内で実行される制御プログラムや一時保管したデータ等を格納する。ＣＰＵ１０５は、ＲＯＭ１０２、ＨＤＤ１０４に格納されたＯＳや制御プログラムに基づいて、各デバイスを制御する。なお、後述する情報処理装置１００の機能や処理は、ＣＰＵ１０５がＲＯＭ１０２又はＨＤＤ１０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１２】
ネットワークＩ／Ｆ１０６は、他の情報処理装置やプリンタ等とネットワークを介して通信を行う。バス１０７は、アドレスバス、データバス及びコントロールバスを含む。ＣＰＵ１０５に対する制御プログラムの提供は、ＲＯＭ１０２、ＨＤＤ１０４から行うこともできるし、ネットワークＩ／Ｆ１０６を介してネットワーク経由で他の情報処理装置等から行うこともできる。
【００１３】
ＣＰＵ１０５は、タッチパネル１０１へのユーザ操作を受け付け、ユーザ操作に応じた、操作状態を検知する。操作状態としては、タッチダウン、タッチオン、ドラッグ、タッチアップ及びタッチオフが挙げられる。タッチダウンとは、指やペン等の物体がタッチパネル１０１に触れる操作が行われた状態である。タッチオンとは、物体がタッチパネル１０１に触れている状態である。ドラッグとは、物体がタッチパネルに触れたまま移動している状態である。タッチアップとは、タッチパネル１０１に触れていた物体をタッチパネル１０１から離す操作が行われた状態である。タッチオフとは、何もタッチパネル１０１に触れていない状態である。
【００１４】
操作状態としてはまた、シングルタップ、マルチタップ、ダブルシングルタップ（ダブルマルチタップ）、ロングシングルタップ、ロングマルチタップが挙げられる。シングルタップとは、タッチダウンが検知された後、所定時間内にタッチアップが連続して行われた状態である。マルチタップとは、複数カ所で同時にタッチダウンが検知された後、所定時間内に複数箇所で同時にタッチアップが行われた状態である。ダブルシングルタップとは、所定の時間内のタッチダウンとタッチアップの操作が、さらに所定時間内に２度行われた状態である。ロングシングルタップとは、１箇所でタッチダウンが検知された後、所定時間経過後に１箇所でタッチアップが連続して行われた状態である。ロングマルチタップとは、複数箇所でタッチダウンが検知された後、所定時間経過後に複数箇所でタッチアップが連続して行われた状態である。
【００１５】
なお、タップとは、比較的短い所定時間以下の間、タッチパネル１０１に接触する操作である。また、タップとは異なる操作としてドラッグという操作がある。ドラッグとは、タップに比べて、長い時間タッチパネル１０１に接触し続け、接触部を移動させる入力操作である。
【００１６】
ＣＰＵ１０５は、これらの操作や、物体がタッチパネル１０１に触れている位置を示す座標に基づいて、タッチパネル１０１を介して入力された操作を識別する。本実施形態のＣＰＵ１０５は、タッチパネル１０１上の１箇所だけで物体が接触していること（以下、シングルタッチと称する）、タッチパネル１０１上の複数箇所で物体が同時に接触していること（以下、マルチタッチと称する）を検知することが可能である。
【００１７】
次に、本実施形態に係る情報処理装置１００の、操作モードについて説明する。情報処理装置１００は、操作モードとして、通常選択モード、マルチ選択モード、カーソル表示モードの３つのモードを有している。これにより、簡便な操作でオブジェクト選択と詳細な編集操作を両立させるタッチパネルインタフェースを実現することができる。以下、各操作モードについて説明する。
【００１８】
まず、通常選択モードについて説明する。通常選択モードとは、ユーザ操作によりタッチパネル１０１へのシングルタップすることにより、表示されているオブジェクトを選択することができる操作モードである。通常選択モードにおいては、さらに、そのままドラッグすることにより、オブジェクトを、タッチパネル１０１上を移動させることができる。通常選択モードにおいてはさらに、マルチタッチによるピンチイン・アウト操作も行うことができる。ここで、ピンチイン・アウト操作とは、２点間の距離を変化させることで表示内容の拡大縮小を行う操作である。
【００１９】
次に、マルチ選択モードについて説明する。マルチ選択モードとは、２本指でマルチタッチすることにより、２本指のタッチ入力の入力位置の中点を選択できる操作モードである。図２は、マルチ選択モードを説明するための図である。図２（ａ）〜（ｄ）の２００，２０１は、ユーザの指を示す。２１０は、選択位置、２２０は、オブジェクトを示している。図２（ａ）は、ユーザが、２本指２００，２０１によりタッチパネル１０１をマルチタッチした状態を示している。マルチ選択モードでは、情報処理装置１００は、タッチパネル１０１上でユーザの指２００，２０１がタッチした２点を結ぶ線分の中点（＝選択位置２１０）を指定されたと判断する。図２（ａ）に示すように選択位置２１０上にオブジェクト２２０が表示されている場合、情報処理装置１００は、オブジェクト２２０の選択指示を受け付ける。情報処理装置１００は、マルチタッチを検知すると、選択位置２１０の座標を取得し、ＲＡＭ１０３に記録してもよい。このように情報処理装置１００は、マルチタッチされたときにその中点をタッチされたと判断するので、オブジェクトの選択中も、ユーザの指に隠れることなくオブジェクトを表示することができる。したがって、ユーザは、オブジェクトを見易い状態で、ユーザ操作を行うことができる。
【００２０】
図２（ｂ）は、図２（ａ）に示すように、タッチパネル１０１上でオブジェクト２２０が選択された状態から、２本指２００，２０１が画面右下方向にドラッグされた状態を示している。タッチパネル１０１上を、２本指２００，２０１でドラッグされると、２本指２００，２０１の中点が選択位置２１０として移動する。図２（ｂ）のようにオブジェクト２２０を選択した状態でマルチドラッグが行われると、オブジェクト２２０も選択位置２１０と共に移動する。
【００２１】
図２（ｃ）は、図２（ａ）に示すように、タッチパネル１０１上でオブジェクト２２０が選択された状態から、１本の指２０１だけがタッチパネル１０１から離れた状態を示している。このとき、情報処理装置１００は、選択位置２１０とタッチしたままの指２００の位置関係を保持し、オブジェクト２２０の選択中の状態を維持する。図２（ｄ）は、図２（ｃ）の状態からタッチパネル１０１上で指２００がタッチされたまま画面右下方向にドラッグされた状態を示している。このように、ドラッグ時には、タッチしている指２００と選択位置２１０の位置関係を保持したまま選択位置２１０が移動する。図２（ｄ）に示すように、オブジェクト２２０が選択された状態においては、オブジェクト２２０も選択位置２１０と共に移動する。
【００２２】
このように、マルチ選択モードにおいては、ユーザはオブジェクトを指で隠すことなくオブジェクトを選択できる。さらに、マルチタッチ後に片方の指だけを離した状態でドッグ操作が継続した場合には、タッチされている指とオブジェクトの位置関係を保ったままオブジェクトを移動させることができる。したがって、ユーザが指で選択しにくい画面端や隅に、オブジェクトを容易に移動させることができる。例えば、画面右端にオブジェクトを移動させたい場合は、マルチタッチした２本指のうち左に位置する指を離して右に位置する指でドラッグすることで、画面端に指が当たることなく、オブジェクトを移動することができる。すなわち、ユーザが指定したい場所に合わせて、タッチパネルに接触する指と、タッチパネルに表示されたカーソルやオブジェクトとの位置関係を任意に設定することができるので、ユーザの操作性が向上する。
【００２３】
次に、カーソル表示モードについて説明する。カーソル表示モードとは、２本指でマルチタッチすることにより、２本指のタッチ入力の入力位置の中点にカーソル等のポインティングを表示する操作モードである。ユーザは、こうして表示されたカーソルを操作することにより、オブジェクトを選択することができる。図３は、カーソル表示モードを説明するための図である。図３（ａ）〜（ｅ）の３００，３０１は、ユーザの指を示す。３１０は、カーソル、３２０は、オブジェクトを示している。
【００２４】
図３（ａ）は、ユーザが２本指３００，３０１によりタッチパネル１０１をマルチタッチした状態を示している。カーソル表示モードでは、情報処理装置１００は、カーソルが非表示の状態において、マルチタッチを検知すると、２点の中点にカーソル３１０を表示する。なお、情報処理装置１００は、カーソル３１０が表示された状態において、ダブルタップを検知した場合には、カーソル３１０で指定された位置に配置されたオブジェクト又はカーソル３１０で指定された位置が選択されたと判断する。そして、情報処理装置１００は、タッチパネル１０１上の接触の検知がなくなると、カーソル３１０を非表示とする。ここで、タッチパネル１０１上の接触の検知がなくなる場合としては、ユーザが２本の指両方をタッチパネル１０１から離した場合、すなわち２本指のタッチアップが検知された場合である。図３（ｂ）は、図３（ａ）に示すように、タッチパネル１０１上にカーソル３１０が表示された状態から、ユーザが２本指３００，３０１をタッチしたまま画面右下方向にドラッグした状態を示している。このとき、カーソル３１０は、２本指３００，３０１のドラッグ操作による２本指３００，３０１のタッチ位置の変化に応じて、中点位置を移動する。
【００２５】
図３（ｃ）は、図３（ａ）に示すように、タッチパネル１０１上にカーソル３１０が表示された状態から、１本の指３０１だけがタッチパネル１０１から離れた状態である。このとき、情報処理装置１００は、タッチしている指３００とカーソル３１０の位置関係を保持しつつ、カーソル３１０の表示を継続する。図３（ｄ）は、図３（ｃ）に示す状態からタッチパネル１０１上で指３００がタッチされたまま画面右下方向にドラッグされた状態を示している。このとき、情報処理装置１００は、タッチしている指３００とカーソル３１０の位置関係を保持しつつ、カーソル３１０の表示位置を移動させる。さらにユーザは、指３００をタッチしたまま指３０１をタッチパネル上でダブルタップすることにより、カーソル３１０の位置にあるオブジェクト又はカーソル３１０の位置を選択することができる。図３（ｄ）に示すように、カーソル３１０の位置にオブジェクト３２０が表示されていれば、オブジェクト３２０を選択した状態となる。
【００２６】
図３（ｅ）は、図３（ｄ）に示す状態からタッチパネル１０１上で指３００がタッチされたまま指３０１で画面左上方向にドラッグされた状態を示している。この場合、情報処理装置１００は、タッチしている指３００とカーソル３１０の位置関係を保持したまま、カーソル３１０と選択されたオブジェクト３２０の表示位置を移動させる。
【００２７】
このように、カーソル表示モードにおいては、情報処理装置１００は、マルチタッチが検知された場合に、タッチされた２点の中点にカーソルを表示する。したがって、カーソルが指で隠れることがないので、ユーザは、快適な環境でユーザ操作を行うことができる。
【００２８】
さらに、情報処理装置１００は、片方の指を離してドラッグ操作が行われた場合に、タッチ中のタッチ位置とカーソルの位置関係を保ったままカーソル表示を移動させることができる。このため、ユーザが指で選択し難い画面端や隅にもカーソルを容易に移動させることができ、画面端や隅に位置するオブジェクトの操作も容易に行うことができる。例えば、画面右端にカーソルを移動させたい場合は、マルチタッチした２本指のうち右に位置する指を離して左に位置する指でドラッグすることで、画面端に指が当たることなく、カーソルを移動させることができる。
【００２９】
また、情報処理装置１００は、カーソルを片方の指で操作しながらもう片方の指で画面をタッチすることで、マウス操作を模擬することができる。これにより、画面端や隅に表示されているオブジェクトを容易に選択、移動させることができる。また、情報処理装置１００は、ユーザが片方の指を離したときにカーソルとタッチされている指の位置関係を決定することができる。したがって、突然、カーソルの位置が変更されることがないため、ユーザは違和感を抱くことなく、ユーザ操作を行うことができる。また、ユーザは、２点のタッチのうちいずれに対応する指を離すかを選択することにより、カーソル３１０と指の位置関係を希望に合わせて決定することができる。
【００３０】
以上のように、本実施形態に係る情報処理装置１００は、２点へのタッチ入力が検知された場合に、２点の中点を入力位置とするユーザ操作を受け付けたと判断し、ユーザ操作に応じた処理（オブジェクトの選択やカーソル表示）を行う。ただし、情報処理装置１００は、２点へのタッチ入力が検知された場合に、２点のタッチ位置に基づいて定まる位置を入力位置と判断すればよく、その位置は、２点の中点に限定されるものではない。例えば、情報処理装置１００は、２点の間の任意の位置を入力位置と判断してもよい。
【００３１】
図４は、タッチパネル１０１の表示例を示す図である。タッチパネル１０１には、オブジェクト４００、通常選択モードアイコン４０１、マルチ選択モードアイコン４０２、カーソル表示モードアイコン４０３、終了アイコン４０４が表示されている。オブジェクト４００は、画面上で移動操作可能なフォルダやアプリケーション等のアイコンである。
【００３２】
各モードアイコン４０１，４０２，４０３が選択されると、情報処理装置１００は、選択されたモードとタッチパネル１０１からのタッチ入力情報を基に各種処理を行う。具体的には、情報処理装置１００は、通常選択モードアイコン４０１が選択された場合には、通常選択モードに操作モードを切り替える。同様に、情報処理装置１００は、マルチ選択モードアイコン４０２が選択された場合には、マルチ選択モード、カーソル表示モードアイコン４０３が選択された場合には、カーソル表示モードに操作モードを切り替える。なお、他の例としては、情報処理装置１００は、各モードアイコンを選択するのに替えて、マルチタッチの長押し等の特定のタッチ操作によって操作モードを切り替えてもよい。終了アイコン４０４が選択されると、情報処理装置１００は、タッチ入力プログラムを終了させる。
【００３３】
図５は、情報処理装置１００による処理を示すフローチャートである。情報処理装置１００のＣＰＵ１０５は、ＯＳやタッチ入力プログラムを起動し、これらにしたがって各部を制御することで以下の処理を実現する。ステップＳ５０１において、情報処理装置１００のＣＰＵ１０５は、操作モードの初期設定を行う。操作モードの初期値は通常選択モードとする。次に、ステップＳ５０２において、ＣＰＵ１０５は、操作モードが通常選択モードであるか否かを判定する。通常選択モードの場合には（ステップＳ５０２でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ５０３へ進める。通常選択モードでない場合には（ステップＳ５０２でＮｏ）、ＣＰＵ１０５は、処理をステップＳ５０４へ進める。
【００３４】
ステップＳ５０４において、ＣＰＵ１０５は、マルチ選択モードであるか否かを判定する。マルチ選択モードの場合には（ステップＳ５０４でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ５０５へ進める。マルチ選択モードでない場合には（ステップＳ５０４でＮｏ）、ＣＰＵ１０５は、処理をＳ５０６へ進める。ステップＳ５０６において、ＣＰＵ１０５は、カーソル表示モードであるか否かを判定する。カーソル表示モードの場合には（ステップＳ５０６でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ５０７へ進める。カーソル表示モードでない場合には（ステップＳ５０６でＮｏ）、ＣＰＵ１０５は、処理をＳ５０８へ進める。
【００３５】
ステップＳ５０３において、ＣＰＵ１０５は、通常選択モード処理を行い、その後ステップＳ５０８へ処理を進める。通常選択モード処理の詳細については後述する。ステップＳ５０５において、ＣＰＵ１０５は、マルチ選択モード処理を行い、その後ステップＳ５０８へ処理を進める。マルチ選択モード処理の詳細については後述する。ステップＳ５０７において、ＣＰＵ１０５は、カーソル表示モード処理を行い、その後ステップＳ５０８へ処理を進める。カーソル表示モード処理の詳細については後述する。
【００３６】
ステップＳ５０８において、ＣＰＵ１０５は、モード変更指示を受け付けたか否かを判定する。ＣＰＵ１０５は、タッチパネル１０１において操作モードアイコン４０１，４０２，４０３が選択された場合に、モード変更指示を受け付ける。モード変更指示を受け付けた場合には（ステップＳ５０８でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ５０９へ進める。モード変更指示を受け付けなかった場合には（ステップＳ５０８でＮｏ）、ＣＰＵ１０５は、処理をステップＳ５１０へ進める。
【００３７】
ステップＳ５０９において、ＣＰＵ１０５は、選択された操作モードアイコンに対応する操作モードに設定を変更し、ステップＳ５０２の処理に戻る。ステップＳ５１０において、ＣＰＵ１０５は、終了指示を受け付けたか否かを判定する。ＣＰＵ１０５は、タッチパネル１０１において終了アイコン４０４が選択された場合に、終了指示を受け付ける。終了指示を受け付けた場合には（ステップＳ５１０でＹｅｓ）、ＣＰＵ１０５は、本処理を終了する。終了指示を場合には（ステップＳ５１０でＮｏ）、ＣＰＵ１０５は、処理をＳ５０２へ進める。
【００３８】
図６は、図５において説明した通常選択モード処理（ステップＳ５０３）における詳細な処理を示すフローチャートである。ステップＳ６０１において、ＣＰＵ１０５は、タッチパネル１０１において物体の接触を検知したか否かを判定する。タッチパネル１０１において物体の接触を検知した場合には（ステップＳ６０１でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ６０２へ進める。物体の接触を検知しなかった場合には（ステップＳ６０１でＮｏ）、ＣＰＵ１０５は、処理をステップＳ６０１へ進める。
【００３９】
ステップＳ６０２において、ＣＰＵ１０５は、ステップＳ６０１で検知した接触がシングルタッチであるか否かを判定する。シングルタッチの場合には（ステップＳ６０２でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ６０５へ進める。シングルタッチでない場合には（ステップＳ６０２でＮｏ）、情報処理装置１００は処理をステップＳ６０３へ進める。ステップＳ６０３において、ＣＰＵ１０５は、ステップＳ６０１で検知した接触がマルチドラッグであれば、表示内容の拡大縮小を行うピンチイン・ピンチアウトの処理等を行う。
【００４０】
一方、ステップＳ６０５において、ＣＰＵ１０５は、ステップＳ６０１で検知した接触位置（入力位置）に対応する位置にオブジェクトが表示されているか否かを判定する。オブジェクトが表示されている場合には（ステップＳ６０５でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ６０６へ進める。オブジェクトが表示されていない場合には（ステップＳ６０６でＮｏ）、ＣＰＵ１０５は、処理をステップＳ６０１へ進める。
【００４１】
ステップＳ６０６において、ＣＰＵ１０５は、ステップＳ６０１で検知した接触がシングルタップであるか否かを判定する。シングルタップの場合には（ステップＳ６０６でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ６０７へ進める。シングルタップでない場合には（ステップＳ６０６でＮｏ）、ＣＰＵ１０５は、処理をステップＳ６１１へ進める。ステップＳ６０７において、ＣＰＵ１０５は、ステップＳ６０１で検知した入力位置に対応する位置に表示されているオブジェクトを選択し、通常モード処理を終了する。
【００４２】
ステップＳ６１１において、ＣＰＵ１０５は、ステップＳ６０１で検知した接触がシングルドラッグであるか否かを判定する。シングルドラッグの場合には（ステップＳ６１１でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ６１２へ進める。シングルドラッグでない場合には（ステップＳ６１１でＮｏ）、ＣＰＵ１０５は、処理をステップＳ６０１へ進める。ステップＳ６１２において、ＣＰＵ１０５は、ステップＳ６０１で検知した入力位置の移動に沿って、入力位置と同移動方向に同移動量だけオブジェクトを移動し、通常モード処理を終了する。
【００４３】
図７は、図５において説明したマルチ選択モード処理（ステップＳ５０５）における詳細な処理を示すフローチャートである。ステップＳ７０１において、ＣＰＵ１０５は、タッチパネル１０１において物体の接触を検知したか否かを判定する。タッチパネル１０１において物体の接触を検知した場合には（ステップＳ７０１でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７０２へ進める。物体の接触を検知しなかった場合には（ステップＳ７０１でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７０１へ進める。ステップＳ７０２において、ＣＰＵ１０５は、Ｓ７０１で検知した接触がマルチタッチか否かを判定する。マルチタッチの場合には（ステップＳ７０２でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７０３へ進める。マルチタッチでない場合には（ステップＳ７０２でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７２０へ進める。ステップＳ７２０において、ＣＰＵ１０５は、シングルタッチの処理を行う。シングルタッチの処理は、図６を参照しつつ説明した、Ｓ６０５〜Ｓ６１２の処理と同様である。
【００４４】
ステップＳ７０３において、ＣＰＵ１０５は、ステップＳ７０１で検知した２つの入力位置の中点を入力位置とするユーザ操作を受け付け（受付処理）、入力位置にオブジェクトが表示されているか否かを判定する。オブジェクトが表示されている場合には（ステップＳ７０３でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７０４へ進める。オブジェクトが表示されていない場合には（ステップＳ７０３でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７０１へ進める。ステップＳ７０４において、ＣＰＵ１０５は、ステップＳ７０１で検知した接触がマルチタップであるか否かを判定する。マルチタップの場合には（ステップＳ７０４でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７０５へ進める。マルチタップでない場合には（ステップＳ７０４でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７０９へ進める。
【００４５】
ステップＳ７０５において、ＣＰＵ１０５は、ステップＳ７０１で検出した２つの接触箇所の中点に表示されているオブジェクトを選択する。次に、ステップＳ７０６において、ＣＰＵ１０５は、ステップＳ７０５において選択されたオブジェクトが操作モードアイコンであるか否かを判定する。操作モードアイコンが選択された場合（ステップＳ７０６でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７０７へ進める。操作モードアイコンでない場合には（ステップＳ７０６でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７０８へ進める。ステップＳ７０７において、ＣＰＵ１０５は、選択された操作モードアイコンに応じて操作モードを変更する。次に、Ｓ７０８において、ＣＰＵ１０５は、ステップＳ７０５において選択されたオブジェクトが終了アイコンであるか否かを判定する。終了アイコンの場合には（ステップＳ７０８でＹｅｓ）、ＣＰＵ１０５は、マルチ選択モード処理を終了する。終了アイコンでない場合には（ステップＳ７０８でＮｏ）、ＣＰＵ１０５は、処理をステップＳ７０１へ進める。
【００４６】
一方、ステップＳ７０９において、ＣＰＵ１０５は、ステップＳ７０１で検知した接触がマルチドラッグであるか否かを判定する。マルチドラッグの場合には（ステップＳ７０９でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７１０へ進める。マルチドラッグでない場合には（ステップＳ７０９でＮｏ）、ＣＰＵ１０５は、マルチ選択モード処理を終了する。ステップＳ７１０において、ＣＰＵ１０５は、２つの入力位置の中点である選択位置の移動に沿って、選択位置と同移動方向に同移動量で、オブジェクトを移動させる。これは、図２（ａ）、図２（ｂ）を参照しつつ説明した動作に対応する処理である。なお、ステップＳ７０５及びステップＳ７１０の処理は、ユーザ操作に応じた処理の一例である。
【００４７】
ステップＳ７１１において、ＣＰＵ１０５は、ステップＳ７０１でマルチタッチを検知した後、シングルタッチに変更になったか否かを判定する。シングルタッチに変更された場合には（ステップＳ７１１でＹｅｓ）、ＣＰＵ１０５は、処理をＳ７１２へ進める。シングルタッチに変更されていない場合には（ステップＳ７１１でＮｏ）、処理をＳ７１５へ進める。ステップＳ７１２において、シングルタッチのタッチ位置（入力位置）とオブジェクトの位置関係を算出し、ＲＡＭ１０３に保持する。
【００４８】
次に、ステップＳ７１３において、ＣＰＵ１０５は、シングルドラッグであるか否かを判定する。シングルドラッグの場合には（ステップＳ７１３でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ７１４へ進める。シングルドラッグでない場合には（ステップＳ７１１でＮｏ）、ＣＰＵ１０５は、マルチ選択モード処理を終了する。ステップＳ７１４において、ＣＰＵ１０５は、入力位置とオブジェクトの位置関係を保ち、入力位置の移動に沿って、入力位置と同移動方向に同移動量でオブジェクトを移動させる。ステップＳ７１１〜ステップＳ７１５の処理は、図２（ａ）、図２（ｃ）、図２（ｄ）を参照しつつ説明した動作に対応する処理である。次に、ステップＳ７１５において、ＣＰＵ１０５は、接触している指がタッチアップされたか否かを判定する。タッチアップを検知した場合には（ステップＳ７１５でＹｅｓ）、ＣＰＵ１０５は、マルチ選択モード処理を終了する。
【００４９】
図８は、図５において説明したカーソル表示モード処理（ステップＳ５０７）における詳細な処理を示すフローチャートである。ステップＳ８０１において、ＣＰＵ１０５は、初期状態として、タッチパネル１０１上のカーソルを非表示とする。次に、ステップＳ８０２において、ＣＰＵ１０５は、タッチパネル１０１において物体の接触を検知したか否かを判定する。物体の接触を検知した場合には（ステップＳ８０２でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８０３へ進める。物体の接触を検知しなかった場合には（ステップＳ８０２でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８０１へ進める。
【００５０】
ステップＳ８０３において、ＣＰＵ１０５は、ステップＳ８０１で検知した接触がマルチタッチであるか否かを判定する。マルチタッチの場合には（ステップＳ８０３でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８０４へ進める。マルチタッチでない場合には（ステップＳ８０３でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８２１へ進める。ステップＳ８２１において、ＣＰＵ１０５は、シングルタッチの処理を行う。シングルタッチの処理は、図６を参照しつつ説明した、Ｓ６０５〜Ｓ６１２の処理と同様である。
【００５１】
ステップＳ８０４において、ＣＰＵ１０５は、ステップＳ８０１で検知した２つの入力位置の中点を入力位置とするユーザ操作を受け付け（受付処理）、入力位置にカーソルを表示する。次に、ステップＳ８０５において、ＣＰＵ１０５は、ステップＳ８０１で検知した接触がマルチタップであるか否かを判定する。マルチタップの場合には（ステップＳ８０５でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８０６へ進める。マルチタップでない場合は（ステップＳ８０５でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８１１へ進める。
【００５２】
ステップＳ８０６において、ＣＰＵ１０５は、ステップＳ８０４で表示したカーソル位置にオブジェクトが表示されているか否かを判定する。カーソル位置にオブジェクトが表示されている場合には（ステップＳ８０６でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８０７へ進める。カーソル位置にオブジェクトが表示されていない場合には（ステップＳ８０６でＮｏ）、ＣＰＵ１０５は、カーソル表示モード処理を終了する。また、他の例としては、ＣＰＵ１０５は、カーソル位置にオブジェクトが表示されていない場合には、カーソル位置の座標をＲＡＭ１０３に保存した後でカーソル表示モード処理を終了してもよい。ステップＳ８０７において、ＣＰＵ１０５は、カーソル位置に表示されているオブジェクトを選択し、その後、カーソル表示モード処理を終了する。
【００５３】
一方、ステップＳ８１１において、ＣＰＵ１０５は、ステップＳ８０１で検知した接触がマルチドラッグであるか否かを判定する。マルチドラッグの場合には（ステップＳ８１１でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８１２へ進める。マルチドラッグでない場合には（ステップＳ８１１でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８１９へ進める。ステップＳ８１２において、ＣＰＵ１０５は、２箇所の接触位置（入力位置）の中点の移動に沿って、中点位置と同移動方向に同移動量で、カーソルを移動させる。これは、図２（ａ）、図２（ｂ）を参照しつつ説明した動作に対応する処理である。また、カーソルの位置にオブジェクトがある場合は、カーソルとともにオブジェクトも移動させる。なお、ステップＳ８０４、ステップ８０７、ステップＳ８１２の処理は、ユーザ操作に応じた処理の一例である。
【００５４】
ステップＳ８１４おいて、ＣＰＵ１０５は、ステップＳ８０１でマルチタッチを検知した後、シングルタッチに変更されたか否かを判定する。シングルタッチに変更された場合には（ステップＳ８１４でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８１５へ進める。シングルタッチに変更されていない場合には（ステップＳ８１４でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８１８へ進める。ステップＳ８１５において、ＣＰＵ１０５は、シングルタッチの入力位置とカーソルの位置関係を算出し、ＲＡＭ１０３に保持する。次に、ステップＳ８１６において、ＣＰＵ１０５は、シングルドラッグであるか否かを判定する。シングルドラッグの場合には（ステップＳ８１６でＹｅｓ）、ＣＰＵ１０５は、処理をステップＳ８１７へ進める。シングルドラッグでない場合には（ステップＳ８１６でＮｏ）、ＣＰＵ１０５は、処理をステップＳ８１８へ進める。
【００５５】
ステップＳ８１７において、ＣＰＵ１０５は、入力位置とカーソルの位置関係を保ち、接触箇所の移動に沿って、入力位置と同移動方向に同移動量で、カーソルを移動させる。カーソルの位置にオブジェクトが存在する場合は、カーソルと共にオブジェクトも移動させる。ステップＳ８１５〜ステップＳ８１８の処理は、図３（ａ）、図３（ｃ）、図３（ｄ）、図３（ｅ）を参照しつつ説明した動作に対応する処理である。次に、ステップＳ８１８において、ＣＰＵ１０５は、接触している指がタッチアップされたか否かを判定する。タッチアップを検知した場合には（Ｓ８１８でＹｅｓ）、ＣＰＵ１０５は、処理をＳ８１９へ進める。タッチアップを検知しなかった場合には（ステップＳ８１８でＮｏ）、ＣＰＵ１０５は、処理をＳ８１７で進める。ステップＳ８１９において、ＣＰＵ１０５は、カーソルを非表示にする。以上で、カーソル表示モード処理が終了する。
【００５６】
以上のように、本実施形態に係るＣＰＵ１０５は、ユーザが指等の指示部材を使ってタッチパネル上で所望の位置を指定する場合に、タッチパネル上のいずれの領域であっても細やかに位置を指定することができる。
【００５７】
なお、本実施形態の情報処理装置１００の変更例としては、ＣＰＵ１０５は、ＰＣ、ＰＤＡ等の装置であってもよい。また、情報処理装置１００は、デジタルカメラなどの撮像装置に搭載されてもよい。この場合、情報処理装置１００は、メモリカード等のデジタルカメラが読み取り可能な記録媒体に記録された撮影画像を、デジタルカメラの有する背面液晶装置等のタッチパネルに再生表示する。また、情報処理装置１００は、画像やテキスト、イラスト図形等のオブジェクトを表示可能な装置であってもよい。情報処理装置１００は、例えば、ＰＤＡ、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤ、ゲーム機、電子ブックリーダー等であってもよい。
【００５８】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【００５９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６０】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【００６１】
以上、上述した各実施形態によれば、ユーザによる細かな入力操作を実現することができる。
【００６２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６３】
１００  情報処理装置
１０１  タッチパネル
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＣＰＵ
【図１】
2016133978.tif 000003
【図２】
2016133978.tif 000004
【図３】
2016133978.tif 000005
【図４】
2016133978.tif 000006
【図５】
2016133978.tif 000007
【図６】
2016133978.tif 000008
【図７】
2016133978.tif 000009
【図８】
2016133978.tif 000010