(57)【要約】【課題】ソフトウェアによる仮想ボタンを用いた入力操作とその他の入力操作とを容易に切り替える。【解決手段】情報処理装置１は、ユーザのタッチが長押し判定時間が経過するまでに終了した場合、上層の仮想ボタンに割り当てられたコードを入力とし、タッチが長押し判定時間が経過するまで継続した場合、下層のオペレーション画面の処理を行う。【選択図】図１
2013214189.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアによる仮想ボタンを用いて入力操作を行う情報処理装置において、
表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知手段と、
上記操作検知手段が検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力手段と、
上記操作検知手段が検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知手段が取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーション手段と、を備えることを特徴とする情報処理装置。
【請求項２】
上記仮想ボタンは、上記オペレーション画面の上に複数配置されており、
上記操作検知手段が上記仮想ボタンの領域に対する操作を検知したとき、当該操作が検知された上記仮想ボタンのみを表示する仮想ボタン表示手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
１つの上記仮想ボタンには複数の文字コードが割り当てられており、
上記仮想ボタン入力手段は、１つの上記仮想ボタンが連続して操作されたことを検知したとき、検知した操作の回数に応じて上記複数の文字コードから特定した１つの文字コードを、上記入力されたコードとして決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
ソフトウェアによる仮想ボタンを用いて入力操作を行う情報処理装置の制御方法において、
表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知ステップと、
上記操作検知ステップにて検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力ステップと、
上記操作検知ステップにて検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知ステップにて取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーションステップと、を含むことを特徴とする情報処理装置の制御方法。
【請求項５】
請求項１から３のいずれか１項に記載の情報処理装置を動作させるための制御プログラムであって、コンピュータを前記各手段として機能させるための制御プログラム。
【請求項６】
請求項５に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばタッチパネルを備え、ソフトウェアによる仮想ボタンを用いて入力操作を行う情報処理装置、情報処理装置の制御方法、制御プログラム、および記録媒体に関する。
【背景技術】
【０００２】
タッチパネル表示部を搭載した携帯型情報処理装置が広く利用されている。携帯型情報処理装置は携帯性を重視し小型化されているため、タッチパネル表示部のサイズも小さく制限される。携帯型情報処理装置は、ハードウェアキーを備えておらず、タッチパネル表示部に表示した仮想ボタン（以後、単にボタンとする）にユーザがタッチすることで、入力操作するものが多い。
【０００３】
このような携帯型情報処理装置では、ボタンを表示する領域は、ユーザがボタン操作をするために必要な大きさを確保しておかなければならない。しかし、ボタンを表示する領域を大きくとると、他に表示できる情報が少なくなる。
【０００４】
上記の問題を解決する技術として、例えば特許文献１に記載の技術がある。特許文献１に記載の技術は、待機状態ではタッチパネル表示部でのボタンの表示を行わず、タッチパネル表示部への接触を検出した使用状態では接触領域及び該接触領域の周囲に設定されたボタンを表示するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１０８２４５号公報（２０１０年５月１３日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術には下記の問題がある。
【０００７】
上述のように特許文献１に記載の技術は、タッチパネル表示部への接触を検出したとき、接触領域及び該接触領域の周囲に設定されたボタンを表示するものである。そのため、例えばＨＴＭＬの検索ページにおいて、検索文字の入力途中に、アクセスしたいリンクが情報表示エリアに表示されたときでも、上記リンクの表示の位置にボタンを表示する領域が重なる場合、上記リンクにはアクセスできない。なぜなら、上記リンクの表示へのタッチは、ボタンへのタッチと見なされ、ボタンへの入力操作が優先されるためである。
【０００８】
従って、特許文献１に記載の技術には、ボタンが表示される領域に表示されている情報に対する操作ができないという問題がある。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、その目的は、ソフトウェアによる仮想ボタンを用いた入力操作とその他の入力操作とを容易に切り替えることができる情報処理装置、情報処理装置の制御方法、制御プログラム、および記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明に係る情報処理装置は、ソフトウェアによる仮想
ボタンを用いて入力操作を行う情報処理装置において、表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知手段と、上記操作検知手段が検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力手段と、上記操作検知手段が検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知手段が取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーション手段と、を備えることを特徴としている。
【００１１】
また、本発明に係る情報処理装置の制御方法は、ソフトウェアによる仮想ボタンを用いて入力操作を行う情報処理装置の制御方法において、表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知ステップと、上記操作検知ステップにて検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力ステップと、上記操作検知ステップにて検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知ステップにて取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーションステップと、を含むことを特徴としている。
【００１２】
上記の構成および方法により、上記情報処理装置は、オペレーション画面の上に重ねて配置された仮想ボタンの領域に対する操作を検知したとき、当該操作が継続する時間を計時し、操作が基準判定時間が経過するまでに終了した場合、仮想ボタンに割り当てられたコードを入力とする一方、操作が基準判定時間が経過するまで継続した場合、オペレーション画面の処理を行う。すなわち、ユーザの操作が短い時間で終了した場合（例えば、短押し）には、操作された位置の仮想ボタンをそのまま処理する。一方、ユーザの操作が長い時間継続した場合（例えば、長押し）には、操作された位置の仮想ボタンを処理するのではなく、仮想ボタンの下に重ねて表示されているオペレーション画面の項目への操作と見なして、オペレーション画面の処理を行う。
【００１３】
これにより、情報処理装置は、表示部における位置情報が同じであっても、ユーザの操作が継続する時間によって、上層に表示した仮想ボタンと下層に表示したオペレーション画面の項目とを選択的に操作することができる。
【００１４】
よって、仮想ボタンによる入力操作とそれ以外の入力操作とをユーザが容易に切り替えることができる。特に、ハードウェアキーを備えておらず、タッチパネルのサイズが小さく制限された携帯型情報処理装置には、ユーザが操作し易い大きさの仮想ボタンを表示しても、下層に表示したオペレーション画面を操作できるため好適である。
【００１５】
さらに、本発明に係る情報処理装置は、上記仮想ボタンは、上記オペレーション画面の上に複数配置されており、上記操作検知手段が上記仮想ボタンの領域に対する操作を検知したとき、当該操作が検知された上記仮想ボタンのみを表示する仮想ボタン表示手段を備えることを特徴としている。
【００１６】
上記の構成により、さらに、仮想ボタンはオペレーション画面の上に複数配置されており、仮想ボタンの領域に対する操作を検知したとき、当該操作が検知された仮想ボタンのみを表示することができる。したがって、操作されていない仮想ボタンを表示しないため、仮想ボタンによって邪魔しないで見せることができるオペレーション画面の領域をできるだけ広く確保できる。よって、ユーザの操作性の低下を抑えることができる。
【００１７】
さらに、本発明に係る情報処理装置は、１つの上記仮想ボタンには複数の文字コードが割り当てられており、上記仮想ボタン入力手段は、１つの上記仮想ボタンが連続して操作されたことを検知したとき、検知した操作の回数に応じて上記複数の文字コードから特定した１つの文字コードを、上記入力されたコードとして決定することを特徴としている。
【００１８】
上記の構成により、さらに、１つの仮想ボタンに複数の文字コードが割り当て、１つの仮想ボタンが連続して操作された回数に応じて複数の文字コードから１つの文字コードを特定する。
【００１９】
したがって、１つの仮想ボタンによって複数の文字コードを入力することが可能となる。よって、画面に表示すべき仮想ボタンの数が少なくて済むため、仮想ボタンにユーザが操作し易い大きさを確保することが可能となり、また、オペレーション画面の視認性の低下を抑えることができる。さらに、仮想ボタン以外の入力操作と操作の連続性があるため、操作しやすいユーザインターフェイスを実現できる。
【００２０】
なお、上記情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記入力装置をコンピュータにて実現させる入力装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２１】
以上のように、本発明に係る情報処理装置は、表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知手段と、上記操作検知手段が検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力手段と、上記操作検知手段が検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知手段が取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーション手段と、を備える構成である。
【００２２】
また、本発明に係る情報処理装置の制御方法は、表示部における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、上記表示部における表示上でユーザが操作可能な仮想ボタンの領域に対する操作を検知し、当該操作の上記表示部における位置情報を取得する操作検知ステップと、上記操作検知ステップにて検知した操作が基準判定時間が経過するまでに終了した場合、上記仮想ボタンに割り当てられたコードを入力として決定する仮想ボタン入力ステップと、上記操作検知ステップにて検知した操作が上記基準判定時間が経過するまで継続した場合、上記操作検知ステップにて取得した位置情報に基づいて、上記オペレーション画面の処理を行う非仮想ボタンオペレーションステップと、を含む方法である。
【００２３】
よって、仮想ボタンによる入力操作とそれ以外の入力操作とをユーザが容易に切り替えることができるという効果を奏する。特に、ハードウェアキーを備えておらず、タッチパネルのサイズが小さく制限された携帯型情報処理装置には、ユーザが操作し易い大きさの仮想ボタンを表示しても、下層に表示したオペレーション画面を操作できるため好適である。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施の形態に係る情報処理装置の構成を示す機能ブロック図である。
【図２】図１に示した情報処理装置における、非ボタンモードからボタンモードへ切り替える処理を示すフローチャートである。
【図３】図１に示した情報処理装置における、ボタンモードでの動作を示すフローチャートの前半である。
【図４】図１に示した情報処理装置における、ボタンモードでの動作を示すフローチャートの後半である。
【図５】図１に示した情報処理装置の一動作例を説明する画面例であり、テキストボックスにユーザがタッチした直後の表示を示す図である。
【図６】図１に示した情報処理装置の一動作例を説明する画面例であり、テキストボックスへのタッチに続けて、ユーザがボタンにタッチした直後の表示を示す図である。
【図７】図１に示した情報処理装置の一動作例を説明する画面例であり、長押し判定時間が経過する前にユーザの指がボタンから離れた後、文字確定判定時間が経過した時の表示を示す図である。
【図８】図１に示した情報処理装置の一動作例を説明する画面例であり、ユーザがボタンにタッチしてから、タッチ位置を変化させず、長押し判定時間が経過するまでタッチを離さなかった時の表示を示す図である。
【図９】図１に示した情報処理装置の他の一動作例を説明する画面例であり、編集領域にユーザがタッチした直後の表示を示す図である。
【図１０】図１に示した情報処理装置の他の一動作例を説明する画面例であり、編集領域へのタッチに続けて、ユーザがボタンにタッチした直後の表示を示す図である。
【図１１】図１に示した情報処理装置の他の一動作例を説明する画面例であり、長押し判定時間が経過する前にユーザの指がボタンから離れた後、文字確定判定時間が経過した時の表示を示す図である。
【図１２】図１に示した情報処理装置の他の一動作例を説明する画面例であり、ユーザがボタンにタッチしてから、タッチ位置を変化させず、長押し判定時間が経過するまでタッチを離さなかった時の表示を示す図である。
【発明を実施するための形態】
【００２５】
図１〜図１２に基づいて、本発明の実施の形態について詳細に説明する。
【００２６】
〔情報処理装置の概要〕
図１は、本実施の形態に係る情報処理装置１の構成を示す機能ブロック図である。
【００２７】
情報処理装置１は、表示部２に表示されている情報をユーザがタッチパネル４を用いて操作する機能を有する。詳細には、アプリケーションの表示（オペレーション画面）に重畳させて、ソフトウェアによるボタン（仮想ボタン）を表示し、上記アプリケーションの表示に対する操作と、上記ボタンに対する操作とを共に可能な装置である。よって、情報処理装置１としては、これらの操作が可能であれば、任意の装置に適用できる。すなわち
、情報処理装置１は、例えば、携帯電話またはＰＤＡ（Personal Digital Assistants）のような携帯型通信装置であってもよいし、カーナビゲーションシステムのような移動乗り物搭載型通信装置であってもよいし、通信機能を備えない装置であってもよい。
【００２８】
情報処理装置１の特徴は、表示上でユーザが操作可能な項目を含む文字または画像の情報（オペレーション画面）の上に、表示上でユーザが操作可能な１または複数のボタンを重ねて表示することができる表示部２と、表示部２上に設けられたタッチパネル４と、非ボタンモードでは表示部２でのボタンの表示を行わず、表示部２が表示するテキストエリアへのタッチを検出したとき、ボタンモードに遷移し、ボタンモードでは、タッチ位置に設定されたボタンを表示するとともに、ボタンへのタッチが長押し判定時間（基準判定時間）の経過するまでに離れた場合、ボタンに割り当てられた文字を入力し、ボタンへのタッチが長押し判定時間を超えて継続した場合、上記ボタンの下層に重ねて表示している情報に該当するオペレーションを実行する制御部８とを備えていることにある。
【００２９】
これにより、情報処理装置１は、ユーザによるタッチパネル４へのタッチが継続する時間によって、上層に表示したボタンと下層に表示した情報とを選択的に操作することができるので、ボタン操作とそれ以外の操作とをユーザが容易に切り替えることができる。
【００３０】
（情報処理装置１の構成）
以下、図１を参照して、情報処理装置１の構成について詳細に説明する。
【００３１】
図１に示すように、情報処理装置１は、表示部２、表示制御部３、タッチパネル４、タッチパネル制御部（操作検知手段）５、メモリ６、タイマ７、制御部８を備えて構成されている。なお、各構成が有する機能を明示するために、図１では表示部２とタッチパネル４とを分離して示しているが、例えばタッチパネル４を表示部２である液晶ディスプレイの上に重畳して、両者を一体として構成してよい。
【００３２】
（表示部２および表示制御部３）
表示制御部３は、制御部８が出力するコンテンツを表示部２で表示可能な形式にしたがう表示用データに変換する。表示用データとしては、例えばビットマップ形式の画像であってもよいし、他の形式に従う画像、またはその他表示に適したデータ形式であってもよい。なお、表示制御部３は、当該情報を表示用データへ形式変換できるものを含んでいればよく、例えば一般的なディスプレイアダプタでよい。
【００３３】
表示部２は、表示制御部３から入力される表示用データを、表示部２の表示面に表示する装置である。表示部２としては、主に液晶ディスプレイ（Liquid Crystal Display；ＬＣＤ）が利用できるが、表示機能を有する装置（特に、フラットパネルディスプレイ）でありさえすればハードウェアの種類は限定されない。例えば、プラズマディスプレイ（Plasma Display Panel；ＰＤＰ）やＥＬ（Electroluminescence）ディスプレイなどの表示素子と、表示制御部３から入力された表示用データに基づいて、当該表示素子を駆動するドライバ回路とを備える装置等で、表示部２を構成できる。
【００３４】
（タッチパネル４およびタッチパネル制御部５）
タッチパネル４は、その入力面に対するユーザの指やペンの接触（正確には、入力面との「接触」だけでなく、「近接」を含んでいてもよい。）を検知する。そして、タッチパネル制御部５は、タッチパネル４が検知したユーザの指やペンの入力面における２次元の座標情報を、接触位置（タッチ位置情報）として制御部８に出力する。なお、タッチパネル４は、ユーザが表示に対して２次元の座標情報が入力可能な入力機器であればよく、情報処理装置１が備える入力機器はタッチパネルに限定されない。
【００３５】
タッチパネル制御部５は、表示部２における表示上でユーザが操作可能な項目を含むオペレーション画面の上に重ねて配置された、表示部２における表示上でユーザが操作可能なボタンの領域に対する操作を検知し、当該操作の表示部２における位置情報を取得する。具体的には、タッチパネル制御部５は、タッチパネル４へのタッチの有無と、タッチがあった場合にそのタッチのあった位置とを検知し、タッチ位置情報を制御部８に送信する。タッチ位置情報は、入力面におけるタッチを検出した座標、タッチが有った旨の情報、さらに、タッチが離れた、つまりタッチが終了した旨の情報も含む。
【００３６】
前述したように、タッチパネル４と表示部２とは一体として構成されてよい。すなわち、タッチパネル４は、矩形板状に形成されたガラス等の透明な透過部材からなる入力面を含んで構成され、表示部２が有する表示面を覆うように一体的に形成されてよい。これにより、タッチパネル４の入力面に対するユーザの指の接触位置と、表示部２が当該接触に応じて表示面に表示する図形等の表示位置とが一致するため、ユーザは自然な入力感覚を得ることができる。
【００３７】
（メモリ６）
メモリ６は、情報処理装置１が動作するために必要な情報をあらかじめ格納している。具体的には、メモリ６は、表示設定情報、ボタン設定情報、長押し判定時間、ボタン無効化判定時間、文字確定判定時間を少なくとも格納している。
【００３８】
「表示設定情報」は、制御部８の非ボタンオペレーション部１２が表示する画面構成を規定する情報である。すなわち、非ボタンオペレーション部１２が処理するアプリケーションによって表示されるコンテンツの画面表示を規定する情報である。表示設定情報は、例えば、テキストエリアやリンク等のユーザが操作可能なオブジェクトの表示部２における位置を規定している。
【００３９】
「ボタン設定情報」は、ボタン処理部２０のボタン表示部２３が表示するボタンを規定する情報である。すなわち、表示部２のどの位置にどのボタンを表示するかを規定した配置情報と、各ボタンに割り当てられたコードを示すコード情報とを少なくとも含む。ここで、「コード」とは、例えば「文字コード」であるが、ボタンが選択された時に出力可能なデータであれば任意に選択できる。また、１つのボタンに複数のコードが割り当てられる場合、上記複数のコードには、ボタンがタッチされた回数に応じて択一的に選択できるように、優先順位が付与されている。また、ボタンとして表示する画像が、ボタンが選択された時に出力するコードとが異なる場合には、ボタン設定情報が当該画像をさらに含んでいてもよい。本実施の形態では、１つのボタンには複数の文字コードが割り当てられているものとする。
【００４０】
「長押し判定時間」は、ボタン処理部２０のボタン表示部２３が表示部２に表示しているボタンの位置に一定時間以上継続してタッチがある場合に、上記ボタンを非表示化するために設定されている。「長押し判定時間」は、例えば、３秒に設定してもよい。
【００４１】
「ボタン無効化判定時間」は、ボタン処理部２０のボタン表示部２３が表示部２に表示しているボタンの位置にタッチがないまま一定時間が経過した場合に、上記ボタンを非表示化するために設定されている。「ボタン無効化判定時間」は、例えば、５秒に設定してもよい。
【００４２】
「文字確定判定時間」は、ボタンへのタッチが離れた後で、仮確定文字を確定文字に確定するために設定されている。「文字確定判定時間」は、「ボタン無効化判定時間」よりも短い時間に設定され、例えば、３秒に設定してもよい。
【００４３】
（タイマ７）
タイマは、現在時刻を制御部８に通知する。これにより、制御部８は、タッチパネル制御部５から取得する上記タッチ位置情報を用いて、いつ、どこに、タッチが有り、タッチが移動し、タッチが離れたかを検知することができる。
【００４４】
（制御部８）
制御部８は、オペレーション部１０とボタン処理部２０とを含む。なお、制御部８の各機能部は、ＣＰＵ（central processing unit）等が、ＲＯＭ（read only memory）、ＮＶＲＡＭ（non-volatile random access memory）等で実現された記憶装置に記憶されているプログラムをＲＡＭ（random access memory）等に読み出して実行することで実現できる。
【００４５】
まず、オペレーション部１０は、ボタン有効化部１１、非ボタンオペレーション部（非仮想ボタンオペレーション手段）１２、ボタンオペレーション部１３を含む。また、オペレーション部１０は、タッチパネル制御部５からタッチ位置情報を取得し、メモリ６から表示設定情報、ボタン設定情報、長押し判定時間、ボタン無効化判定時間、文字確定判定時間を取得する。
【００４６】
ボタン有効化部１１は、表示設定情報とタッチ位置情報とから、タッチ位置が表示部２で表示しているテキストエリア内にあるかを判定する。テキストエリア内にタッチが有ると判定した場合、ボタン有効化部１１はボタン処理有効化信号をボタン処理部２０に送る。これにより、制御部８はボタンモードに遷移する。
【００４７】
非ボタンオペレーション部１２は、タッチパネル制御部５から取得するタッチ位置情報に基づいて、アプリケーションの処理を実行する。具体的には、タッチパネル制御部５から取得するタッチ位置とメモリ６から取得する表示設定情報とに基づき、タッチ位置に表示されている、ボタン以外の操作可能なオブジェクトを検知する。そして、検知したオブジェクトのオペレーションを実行し、実行結果を表示制御部３を介して表示部２に表示する。
【００４８】
非ボタンオペレーション部１２は、特に、タッチパネル制御部５が検知した操作が長押し判定時間が経過するまで継続した場合、タッチパネル制御部５が取得した位置情報に基づいて、オペレーション画面の処理を行う。具体的には、非ボタンオペレーション部１２は、ボタン無効化部２１からボタン処理無効化通知信号を受信すると、表示部２でボタンの下層に表示されているアプリケーションの処理を実行する。なお、非ボタンオペレーション部１２は、上記実行結果の表示制御部３への通知の前の時点で、ボタン処理部２０のボタン表示部２３によって表示部２に表示されているボタンを非表示化するよう、表示制御部３に指示してもよい。
【００４９】
ボタンオペレーション部１３は、ボタン処理部２０のボタン文字選択入力部２２が表示したボタンを介して入力された仮確定文字または確定文字を受信し、これらを処理する。このとき、ボタンオペレーション部１３は、仮確定文字または確定文字とともに、その表示位置を、表示制御部３に通知する。表示制御部３は、ボタンオペレーション部１３から取得する、上記の文字と表示位置の情報に基づいて、表示部２での表示を行う。
【００５０】
（ボタン処理部２０）
ボタン処理部２０は、ボタンの表示と非表示の制御、および、ボタンへのタッチに応じた文字の表示部２への表示を行う。ボタン処理部２０は、オペレーション部１０のボタン有効化部１１からのボタン処理有効化信号を受信することで非ボタンモードからボタンモードに遷移する。ボタン処理部２０は、ボタンモードの状態で、ユーザがタッチパネル４
にタッチすると、タッチパネル制御部５からタッチ位置情報を取得し、タイマ７から時刻を取得する。また、ボタン処理部２０は、ボタン無効化部２１、ボタン文字選択入力部（仮想ボタン入力手段）２２、ボタン表示部（仮想ボタン表示手段）２３を含む。
【００５１】
ボタン文字選択入力部２２は、タッチパネル制御部５から取得したタッチ位置にボタンが配置されている場合、ボタンに割り当てられている文字をボタン表示部２３に通知し、表示部２に表示させる。このとき、ボタン表示部２３は、タッチパネル制御部５がボタンの領域に対するタッチを検知したボタンのみを表示する。
【００５２】
また、ボタン文字選択入力部２２は、タッチの様相に応じて、仮確定文字または確定文字をボタンオペレーション部１３に通知する。また、ボタン文字選択入力部２２は、タッチパネル制御部５が検知したタッチが長押し判定時間が経過するまでに終了した場合、ボタンに割り当てられた文字コードを入力として決定する。さらに、ボタン文字選択入力部２２は、１つの仮想ボタンが連続して操作されたことを検知したとき、検知した操作の回数に応じて複数の文字コードから特定した１つの文字コードを入力として決定する。
【００５３】
具体的には、ボタン文字選択入力部２２はまず、タッチ位置情報と、メモリ６から取得したボタン設定情報とを比較し、タッチ位置が表示部２で表示するボタンの領域内にあるかを判定する。ボタンの領域内にタッチ位置が有ると判定した場合、ボタン文字選択入力部２２はさらに、上記タッチ位置情報と、タイマ７から取得する時刻とからタッチの様相を検知し、タッチの様相に応じた文字をボタンオペレーション部１３とボタン表示部２３とに通知する。タッチの様相に応じた文字の表示について、以下に詳細を説明する。
【００５４】
まず、ボタン文字選択入力部２２は、例えば「ら」行のボタンが表示される位置に１回タッチが有ったことを検知すると、ボタン表示部２３に「ら」のボタンを表示するよう通知する。そして、ボタン文字選択入力部２２は、「ら」行のボタンへのタッチが短い期間で離れたことを検知すると、ボタンオペレーション部１３に「ら」を仮確定文字として通知する。その後、タッチが離れてから文字確定判定時間が経過するまでタッチを検知しなかった場合、ボタン文字選択入力部２２は、ボタンオペレーション部１３に「ら」を確定文字として通知する。
【００５５】
一方、上記１回目のタッチが離れた直後に、同じ「ら」行のボタン位置に、２回目のタッチが有ったのを検知した場合、ボタン文字選択入力部２２はボタン表示部２３に、「り」、または「ら」行の先頭文字である「ら」を通知する。さらに、上記２回目のタッチが離れたことを検知すると、ボタン文字選択入力部２２は、ボタンオペレーション部１３に仮確定文字として「り」を通知する。同様に、短い間隔で「ら」行のボタンに３回のタッチがあり、３回目のタッチが離れたのを検知した場合には「る」を、４回であれば「れ」をそれぞれ仮確定文字として通知する。タッチが離れてから文字確定判定時間が経過したら、ボタン文字選択入力部２２は、ボタンオペレーション部１３に最後に通知した仮確定文字を確定文字として通知する。
【００５６】
なお、１回目のタッチが離れずにタッチ位置だけが移動したのを検知した場合、ボタン文字選択入力部２２は、移動後のタッチ位置がボタンが配置されている領域内にあるかを判定し、ボタンの領域内である場合、タッチ位置に該当するボタンに割り当てられている文字をボタン表示部２３に伝える。そして、その位置で短い期間でタッチが離れた場合、その文字を仮確定文字として表示するよう通知する。例えば、タッチ位置が最初は「ら」行のボタンの位置であったが、タッチが離れずに「は」行のボタンに移動したのを検知した場合、タッチの移動に伴い、ボタンの表示を「ら」から「は」に変更する。そして、「は」のボタンにタッチが移動してから短い時間でタッチが離れた場合、テキストエリアに「は」を仮確定文字として表示させる。その後、タッチが離れてから文字確定判定時間が
経過すると、「は」を確定文字として表示する点は上述の通りである。
【００５７】
なお、タッチ位置がボタンの配置されていない位置であった場合、ボタン処理部２０は上記処理は行わず、非ボタンオペレーション部１２が非ボタンオペレーションを実行する。非ボタンオペレーションを実行する際、非ボタンオペレーションの実行前にテキストエリア内に仮確定文字を表示していた場合、非ボタンオペレーションの実行前に、仮確定文字を確定文字に変更するようにしてもよいし、仮確定文字をキャンセルするようにしてもよい。
【００５８】
ボタン無効化部２１は、表示部２で表示しているボタンへのタッチが長押し判定時間を超過して継続したのを検知した場合、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信する。また、ボタン無効化部２１は、ボタンへのタッチが離れてからボタン無効化判定時間が経過したのを検知した場合も、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信する。なお、ボタン無効化部２１は、タッチパネル制御部５から取得するタッチ位置情報と、タイマ７から取得する時刻情報とによって、タッチの開始時点および開始位置、タッチの終了時点および終了位置、タッチの移動を検知することができる。
【００５９】
具体的には、ボタン無効化部２１は、タッチ位置情報とボタン設定情報とを比較し、タッチ位置が表示部２で表示するボタンの領域内にあるかを判定する。そして、タッチ位置がボタンの領域内であると判定した場合、ボタン無効化部２１は、ボタンへのタッチがあった時点をタイマ７から取得し、タッチ継続時間（Ｔ１）の計時を開始する。そして、ボタン無効化部２１は、タッチが離れず移動もしないまま、タッチ継続時間（Ｔ１）が長押し判定時間を超えた場合、非ボタンオペレーション部１２にボタン無効化通知信号を送信する。
【００６０】
また、ボタン無効化部２１は、タッチが開始された時点と同様に、ボタンへのタッチが離れた時点を取得し、タッチが終了した時点をタイマ７から取得し、タッチ終了後時間（Ｔ２）の計時を開始する。そして、ボタン無効化部２１は、タッチパネル４へのタッチがないまま、ボタン無効化判定時間が経過したかを判定する。ボタン無効化部２１は、タッチ終了後時間（Ｔ２）がボタン無効化判定時間を超えた場合、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信する。なお、ボタン無効化判定時間が経過する前にタッチパネル４へのタッチを検知した場合、上記タッチ終了時点はキャンセルされる。
【００６１】
（処理の詳細）
以下、図２〜４のフローチャートを参照しながら、情報処理装置１の具体的な動作の一例について説明する。
【００６２】
（ボタンモードと非ボタンモードと切り替え）
図２は、情報処理装置１における、非ボタンモードからボタンモードへ切り替える処理を示すフローチャートである。
【００６３】
まず、ボタン有効化部１１は、タッチパネル制御部５から取得するタッチ位置情報に基づき、タッチパネル４へのタッチを判定する（Ｓ１）。タッチパネル４へのタッチが有ったと判定すると（Ｓ１でＹＥＳ）、ボタン有効化部１１はさらに、上記タッチ位置情報に基づき、タッチが表示部２に表示しているテキストエリア（図５の例ではテキストボックスｄ１１）内へのタッチであったかを判定する（Ｓ２）。そして、タッチがテキストエリア内へのタッチであると判定した場合（Ｓ２でＹＥＳ）、ボタン有効化部１１はボタン処理有効化信号をボタン処理部２０に送る。ボタン処理有効化信号を受け取ることでボタン処理部２０は非ボタンモードからボタンモードへ遷移する（Ｓ３）。一方、タッチがテキ
ストエリア外へのタッチであると判定した場合（Ｓ２でＮＯ）、ボタン有効化部１１はボタン処理有効化信号を送信しない。したがって、情報処理装置１は非ボタンモードのままである（Ｓ４）。
【００６４】
なお、非ボタンモードでは、ボタンモードにおいてボタンが表示される領域がタッチされても、表示部２にボタンは表示されず、それゆえボタンに割り当てられている機能も動作しない。そして、アプリケーションの表示内に、タッチ位置に操作可能なオブジェクトが配置（表示）されている場合、非ボタンオペレーション部１２がオブジェクトに割り当てられている処理を実行する。
【００６５】
逆に、ボタンモードでは、ボタンが配置されている領域がタッチされると、ボタン表示部２３がボタンを表示部２に表示する。ボタンモード中のタッチによって、情報処理装置１がどのように動作するかについては、以下に詳細に説明する。
（ボタンモードでの処理）
図３、図４は、ボタンモードにおける、情報処理装置１の動作を示すフローチャートである。図３と図４は、フローチャートの中の結合子１、２、３、４において結合されて、一連の処理の流れを示す。
【００６６】
図３に示すように、ボタンモードに遷移すると、まず、ボタン文字選択入力部２２が、タッチパネル制御部５から取得したタッチ位置情報から、タッチを検知する（Ｓ５（操作検知ステップ）でＹＥＳ）。そして、ボタン文字選択入力部２２は、メモリ６に格納されているボタン設定情報と、タッチパネル制御部５から取得したタッチ位置情報とから、タッチ位置がボタンの配置されている領域内か否かを判定する（Ｓ６）。
【００６７】
さらに、ボタン文字選択入力部２２が、タッチ位置がボタンの配置されていない領域であると判定した場合（Ｓ６でＮＯ）、オペレーション部１０が、タッチ位置がテキストエリア内にあるかを判定する（Ｓ２４）。そして、タッチ位置がテキストエリア内にあると判定した場合（Ｓ２４でＹＥＳ）、非ボタンオペレーション部１２が、タッチパネル制御部５からタッチ位置情報を取得し、テキストエリア内の編集処理を行う。その後、タッチの検知処理に戻る（Ｓ５）。なお、上記編集処理は、例えば、カーソル移動や、文字のコピーおよびペーストに関する処理である。一方、タッチ位置がテキストエリア内にないと判定した場合（Ｓ２４でＮＯ）、ボタン無効化部２１が、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信して、ボタンモードから非ボタンモードへ遷移する（Ｓ２６）。
【００６８】
つづいて、ステップＳ６においてボタン文字選択入力部２２が、タッチ位置がボタンの配置されている領域であると判定した場合（Ｓ６でＹＥＳ）、ボタン文字選択入力部２２は、タッチ位置に配置されているボタンに割り当てられている文字を示すボタン文字情報をボタン表示部２３に通知する。そして、ボタン表示部２３は、ボタン文字情報に指定されている文字を、表示制御部３を介して、タッチ位置に配置されたボタンとして表示部２に表示する（Ｓ７）。
【００６９】
このとき、ボタン無効化部２１は、タイマ７を用いて、上記タッチが開始された時点からの経過時間であるタッチ継続時間（Ｔ１）の計時を開始する（Ｓ８）。そして、ボタン文字選択入力部２２が、タッチ開始後に、タッチ位置の変化を検知した場合（Ｓ９でＹＥＳ）、ステップＳ６に戻り、変化後のタッチ位置がボタンの領域であれば、ボタンを表示して、タッチ継続時間（Ｔ１）の計時をやり直す。また、ボタン文字選択入力部２２が、タッチ開始後に、タッチ位置が変化せず、タッチ継続時間（Ｔ１）が長押し判定時間を超えるまでに、タッチが離れたことを検知した場合（Ｓ９でＮＯ、かつ、Ｓ１０でＹＥＳ）、すなわち、ユーザによってボタンが短押しされた場合、ステップＳ１１以降の処理へ進
む（図４）。
【００７０】
これに対して、ボタン文字選択入力部２２が、タッチ開始後に、タッチ位置が変化せず、タッチ継続時間（Ｔ１）が長押し判定時間を超えたことを検知した場合（Ｓ９でＮＯ、かつ、Ｓ２１でＹＥＳ）、すなわち、ユーザによってボタンが長押しされた場合、ボタン無効化部２１が、ボタン処理無効化通知信号を非ボタンオペレーション部１２に送信する。そして、上記ボタン処理無効化通知信号を受信した非ボタンオペレーション部１２は、表示部２で表示しているボタンを非表示化するよう表示制御部３に指示する（Ｓ２２）。
【００７１】
このとき、非ボタンオペレーション部１２は、タッチパネル制御部５からタッチ位置情報を取得し、テキストエリア内の編集処理を行う（Ｓ２３；非仮想ボタンオペレーションステップ）。すなわち、ボタンの位置に対するタッチを下層のレイヤであるテキストエリアが受け取って処理する。その後、ボタンモードから非ボタンモードへ遷移して、タッチの検知処理に戻る（Ｓ１）。
【００７２】
続いて、図４を参照して、ボタンモードにおける文字入力処理について詳細に説明する。
【００７３】
上記のように、ボタン文字選択入力部２２が、タッチ開始後に、タッチ位置が変化せず、タッチ継続時間（Ｔ１）が長押し判定時間を超えるまでに、タッチが離れたことを検知した場合（Ｓ９でＮＯ、かつ、Ｓ１０でＹＥＳ）、すなわち、ユーザによってボタンが短押しされた場合、タッチ位置に配置されているボタンに割り当てられた文字を仮確定文字としてボタンオペレーション部１３に通知する。そして、ボタンオペレーション部１３は、表示制御部３を介して、上記仮確定文字を表示部２に表示する（Ｓ１１；仮想ボタン入力ステップ）。
【００７４】
このとき、ボタン文字選択入力部２２は、タイマ７を用いて、上記タッチが終了した時点からの経過時間であるタッチ終了後時間（Ｔ２）の計時を開始する（Ｓ１２）。
【００７５】
そして、ボタン文字選択入力部２２が、タッチ終了後時間（Ｔ２）が文字確定判定時間を経過後、ボタン無効化判定時間を超えるまでに、次のタッチを検知した場合（Ｓ１３（操作検知ステップ）でＹＥＳ）、ボタン文字選択入力部２２は、新たなタッチ位置が、前回のタッチ位置に配置されていたボタンの領域内であるか否かを判定する（Ｓ１４）。そして、新たなタッチ位置が、前回のタッチ位置に配置されていたボタンの領域内である場合（Ｓ１４でＹＥＳ）、ボタン無効化部２１は、タイマ７を用いて、上記タッチが開始された時点からの経過時間であるタッチ継続時間（Ｔ１）の計時を開始する（Ｓ１５）。
【００７６】
次に、ボタン文字選択入力部２２は、タッチ継続時間（Ｔ１）が長押し判定時間を超えるまでに、タッチが離れたことを検知した場合（Ｓ１６でＹＥＳ）、ステップＳ１１に戻って、ボタンに割り当てられている次の文字を特定し、ボタンオペレーション部１３に新たな仮確定文字として通知する。そして、ボタンオペレーション部１３は、表示制御部３を介して、新たな仮確定文字を、前回のタッチによって決定された仮確定文字に代えて表示部２に表示する（Ｓ１１）。
【００７７】
ここで、ボタンとして、図６に示すように、「あ」「か」・・・「わ」という５０音の各行の先頭文字を示すボタンと、「＊」と「♯」のボタンとから成る３×４のキーボードを構成する計１２個のボタンを表示するものとする。そして、例えば、「あ」行のボタンには、「あ」「い」「う」「え」「お」の各文字がこの順に割り当てられているものとする。この場合、「あ」行のボタンがタッチされ、「あ」が仮確定文字であるときに、再度「あ」行のボタンがタッチされると、「あ」に代えて「い」を仮確定文字とする。これに
より、複数の文字から１つの文字をタッチの回数に応じて選択可能に、１つのボタンに複数の文字を割り当てることができる。
【００７８】
一方、ボタン文字選択入力部２２が、タッチ開始後に、タッチ位置が変化せず、タッチ継続時間（Ｔ１）が長押し判定時間を超えたことを検知した場合（Ｓ１６でＮＯ）、すなわち、ユーザによってボタンが長押しされた場合、ステップＳ２２〜Ｓ２３へ移行して、ボタン無効化部２１が、ボタンを非表示化し、さらに、ボタンの位置に対するタッチを下層のレイヤであるテキストエリアが受け取って処理する。なお、ステップＳ２２〜Ｓ２３へ移行する前に、ステップＳ２０と同様の処理により、前回のタッチによって決定された仮確定文字を確定文字として確定させてもよい（Ｓ１７）。
【００７９】
一方、新たなタッチ位置が、前回のタッチ位置に配置されていたボタンの領域内でない場合（Ｓ１４でＮＯ）、ステップＳ６へ戻る。すなわち、前回のタッチによって決定された仮確定文字はキャンセルされる。これにより、ユーザは、ボタンから指を離してすぐに（文字確定判定時間を超えるまでに）、他のボタンにタッチすれば、前回のタッチ操作がキャンセルされるので、間違ってボタンにタッチした場合でも操作を容易に取り消すことができる。
【００８０】
また、ボタン文字選択入力部２２が、タッチ終了後時間（Ｔ２）が文字確定判定時間を超えるまでに、次のタッチを検知しなかった場合（Ｓ１３でＮＯ、かつ、Ｓ１８でＹＥＳ）、すなわち、ユーザが文字確定判定時間の経過するまでボタンから指を離したままにした場合、表示部２で表示しているボタンを非表示化するよう表示制御部３に指示する（Ｓ１９）。これと同時に、ボタンオペレーション部１３は、表示部２のテキストエリアに仮確定文字として表示していた文字を、確定文字として上記テキストエリアに表示するよう、表示制御部３に指示する（Ｓ２０）。その後、ステップＳ５に戻り、ボタンモードにおいて、ボタン文字選択入力部２２がタッチの検出を待機する。なお、非ボタンオペレーション部１２は、ボタンオペレーション部１３によって確定された確定文字をテキストエリアに取得すると直ちにテキストエリアの処理を実行してもよいし、ボタンモードに遷移した後で処理してもよい。
【００８１】
〔実施例１〕
図５〜図８を参照して、情報処理装置１の一実施例として、テキストエリアとしてのテキストボックスｄ１１を含むＷｅｂ検索ページでの動作を説明する。
【００８２】
図５は、テキストボックスｄ１１にユーザがタッチした直後の表示（オペレーション画面）を示す図である。図６は、テキストボックスｄ１１へのタッチに続けて、ユーザがボタンｄ１２にタッチした直後の表示を示す図である。図７は、長押し判定時間が経過する前にユーザの指がボタンｄ１２から離れた後、文字確定判定時間が経過した時の表示を示す図である。図８は、ユーザがボタンｄ１２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過するまでタッチを離さなかった時の表示を示す図である。なお、図６、図７中の輪郭を破線で示したボタンは、画面上に配置されているが、表示されていないことを示す。
【００８３】
まず、図５に示すように、ユーザがテキストボックスｄ１１にタッチすると、オペレーション部１０は、メモリ６から取得する画面構成を規定した表示設定情報と、タッチパネル制御部５から取得するタッチ位置情報とにより、テキストボックスｄ１１へのタッチを検知する。そして、ボタンオペレーション部１３は、タッチされたテキストボックスｄ１１にカーソルを当てた表示を行うように表示制御部３に指示する。上記指示に基づき、表示部２は、テキストボックスｄ１１にカーソルが当たっている画面（図５）を表示する。
【００８４】
また、オペレーション部１０がテキストボックスｄ１１へのタッチを検知したとき、ボタン有効化部１１は、ボタン処理有効化信号をボタン処理部２０に送信する。そして、ボタン処理有効化信号を受信したボタン処理部２０は、非ボタンモードからボタンモードに遷移し、ボタンへのタッチを待つ。
【００８５】
図５では、テキストボックスｄ１１の「あい」に続く位置へのタッチを検出し、「あい」の後ろにカーソルを当てて、その位置への文字入力を待っている状態を示している。
【００８６】
次に、図６に示すように、ボタン文字選択入力部２２は、タッチパネル制御部５から取得するタッチ位置情報と、メモリ６から取得するボタンの位置を規定したボタン設定情報とから、タッチ位置に設定されているボタンｄ１２を特定する。そして、ボタン表示部２３が、ボタン文字選択入力部２２によって特定されたボタンｄ１２を表示制御部３を介して、表示部２の該当する位置に表示する。
【００８７】
図６では、ユーザの指がボタンｄ１２が配置されている位置をタッチしている状態を示している。ボタン文字選択入力部２２は、ユーザがボタンｄ１２（「ら」行のボタン）が表示される位置にタッチしたとき、ボタン表示部２３に「ら」を通知する。そして、ボタン表示部２３は、ボタン文字選択入力部２２から取得する通知に基づき、表示制御部３を介して、表示部２の該当する位置に「ら」のボタンを表示する。これと同時に、ボタン文字選択入力部２２は、ボタンオペレーション部１３に「ら」を仮確定文字として通知する。この通知を受けてボタンオペレーション部１３は、表示制御部３を介して、仮確定文字を表示する位置、つまりテキストボックスｄ１１のカーソルが当たっている位置に、「ら」を仮確定文字ｄ１３として表示する。
【００８８】
なお、図６では「ら」行以外のボタンも半透過状態で表示しているが、「ら」行以外のボタンは表示しないことも可能である。また、例えば、「ら」行のボタンへのタッチを２回連続して検知した場合に、当該ボタンを「ら」として表示してもよいし、「り」と表示してもよいことは、前述の通りである。
【００８９】
図７では、長押し判定時間が経過する前にユーザの指がボタンｄ１２から離れ、文字確定判定時間が経過した状態を示している。ボタン文字選択入力部２２は、「ら」のボタンｄ１２へのタッチ（ここでは１回とする）が、長押し判定時間の経過前に離れ、かつ、文字確定判定時間が経過したのを検知すると、ボタン表示部２３を介して、「ら」のボタンｄ１２を消去する。これと同時に、ボタン文字選択入力部２２は、ボタンオペレーション部１３に「ら」を確定文字として通知する。この通知を受けてボタンオペレーション部１３は、表示制御部３を介して、確定文字を表示する位置、つまりテキストボックスｄ１１のカーソルが当たっている位置に、「ら」を確定文字ｄ１４として表示する。すなわち、テキストボックスｄ１１に、「ら」の仮確定文字ｄ１３（図６）に代えて、「ら」の確定文字ｄ１４を表示する。なお、文字確定判定時間が経過後、さらにタッチを検出しないままボタン無効化判定時間が経過すると、非ボタンモードに遷移する。
【００９０】
図７では、長押し判定時間が経過する前にユーザの指がボタンｄ１２から離れ、文字確定判定時間が経過したのを検知し、「ら」を確定文字ｄ１４として、テキストボックスｄ１１のカーソルが当たっていた位置、すなわち「あい」の後ろに表示している状態を示している。なお、ボタンオペレーション部１３は、「ら」が確定文字ｄ１４として、テキストボックスｄ１１に入力された時点で検索を実行してもよい。
【００９１】
一方、図８では、ユーザがボタンｄ１２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過した状態を示している。ボタン文字選択入力部２２が、「ら」のボタンｄ１２へのタッチが移動も離れもしないまま、長押し判定時間が経過したのを検知し
た場合、ボタン表示部２３を介して、「ら」のボタンｄ１２を消去する。これと同時に、ボタン無効化部２１が、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信する。そして、ボタン処理無効化通知信号を受信した非ボタンオペレーション部１２は、タッチパネル制御部５から取得するタッチ位置情報に基づいて、ボタンｄ１２の下層レイヤに規定されていた表示設定情報に従って処理を実行し、表示制御部３を介して、画面表示を行う。
【００９２】
図８では、ユーザがボタンｄ１２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過したとき、ボタンｄ１２を非表示にするとともに、ボタンｄ１２の下層レイヤに表示されていたリンク（ユーザが操作可能な項目）ｄ１５へのタッチを検出した状態を示している。この後、非ボタンオペレーション部１２は、リンクｄ１５を処理し、その結果を表示部２に表示する。
【００９３】
〔実施例２〕
図９〜図１２を参照して、情報処理装置１の他の実施例として、テキストエリアとしてのテキスト入力アプリの編集領域ｄ２１での動作を説明する。
【００９４】
図９は、編集領域ｄ２１にユーザがタッチした直後の表示（オペレーション画面）を示す図である。図１０は、編集領域ｄ２１へのタッチに続けて、ユーザがボタンｄ２２にタッチした直後の表示を示す図である。図１１は、長押し判定時間が経過する前にユーザの指がボタンｄ２２から離れた後、文字確定判定時間が経過した時の表示を示す図である。図１２は、ユーザがボタンｄ２２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過するまでタッチを離さなかった時の表示を示す図である。なお、図１０、図１１中の輪郭を破線で示したボタンは、画面上に配置されているが、表示されていないことを示す。
【００９５】
まず、図９に示すように、ユーザが編集領域ｄ２１にタッチすると、ボタンオペレーション部１３は、タッチパネル制御部５から取得するタッチ位置情報に基づき、編集領域ｄ２１のタッチされた位置にカーソルを当てた表示を行うように表示制御部３に指示する。上記指示に基づき、表示部２は、編集領域ｄ２１の指定された位置にカーソルが当たっている画面（図９）を表示する。
【００９６】
また、オペレーション部１０が編集領域ｄ２１へのタッチを検知したとき、ボタン有効化部１１は、ボタン処理有効化信号をボタン処理部２０に送信する。そして、ボタン処理有効化信号を受信したボタン処理部２０は、非ボタンモードからボタンモードに遷移し、ボタンへのタッチを待つ。
【００９７】
図９では、編集領域ｄ２１の３行目の「雨であ」に続く位置へのタッチを検出し、「雨であ」の後ろにカーソルを当てて、その位置への文字入力を待っている状態を示している。
【００９８】
次に、図１０に示すように、ボタン文字選択入力部２２は、タッチパネル制御部５から取得するタッチ位置情報と、ボタンの位置を規定したボタン設定情報とから、タッチ位置に設定されているボタンｄ２２を特定する。そして、ボタン表示部２３が、ボタン文字選択入力部２２によって特定されたボタンｄ２２を表示制御部３を介して、表示部２の該当する位置に表示する。
【００９９】
図１０では、ユーザの指がボタンｄ２２が配置されている位置をタッチしている状態を示している。ボタン文字選択入力部２２は、ユーザがボタンｄ２２（「た」行のボタン）が表示される位置にタッチしたとき、ボタン表示部２３に「た」を通知する。そして、ボ
タン表示部２３は、ボタン文字選択入力部２２から取得する通知に基づき、表示制御部３を介して、表示部２の該当する位置に「た」のボタンを表示する。これと同時に、ボタン文字選択入力部２２は、ボタンオペレーション部１３に「た」を仮確定文字として通知する。この通知を受けてボタンオペレーション部１３は、表示制御部３を介して、仮確定文字を表示する位置、つまり編集領域ｄ２１のカーソルが当たっている位置に、「た」を仮確定文字ｄ２３として表示する。
【０１００】
なお、図１０では「た」行以外のボタンも半透過状態で表示しているが、「た」行以外のボタンは表示しないことも可能である。また、例えば、「た」行のボタンへのタッチを３回連続して検知した場合に、当該ボタンを「た」として表示してもよいし、「つ」と表示してもよいことは、前述の通りである。
【０１０１】
図１１では、長押し判定時間が経過する前にユーザの指がボタンｄ２２から離れ、文字確定判定時間が経過した状態を示している。ボタン文字選択入力部２２は、「た」のボタンｄ２２へのタッチ（ここでは１回とする）が、長押し判定時間の経過前に離れ、かつ、文字確定判定時間が経過したのを検知すると、ボタン表示部２３を介して、「た」のボタンｄ２２を消去する。これと同時に、ボタン文字選択入力部２２は、ボタンオペレーション部１３に「た」を確定文字として通知する。この通知を受けてボタンオペレーション部１３は、表示制御部３を介して、確定文字を表示する位置、つまり編集領域ｄ２１のカーソルが当たっている位置に、「た」を確定文字ｄ２４として表示する。すなわち、編集領域ｄ２１に、「た」の仮確定文字ｄ２３（図１０）に代えて、「た」の確定文字ｄ２４を表示する。なお、文字確定判定時間が経過後、さらにタッチを検出しないままボタン無効化判定時間が経過すると、非ボタンモードに遷移する。
【０１０２】
図１１では、長押し判定時間が経過する前にユーザの指がボタンｄ２２から離れ、文字確定判定時間が経過したのを検知し、「た」を確定文字ｄ２４として、編集領域ｄ２１のカーソルが当たっていた位置、すなわち「雨であ」の後ろに表示している状態を示している。
【０１０３】
一方、図１２では、ユーザがボタンｄ２２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過した状態を示している。ボタン文字選択入力部２２が、「た」のボタンｄ１２へのタッチが移動も離れもしないまま、長押し判定時間が経過したのを検知した場合、ボタン表示部２３を介して、「た」のボタンｄ２２を消去する。これと同時に、ボタン無効化部２１が、非ボタンオペレーション部１２にボタン処理無効化通知信号を送信する。そして、ボタン処理無効化通知信号を受信した非ボタンオペレーション部１２は、タッチパネル制御部５から取得するタッチ位置情報に基づいて、ボタンｄ２２の下層レイヤである編集領域ｄ２１の処理を実行し、表示制御部３を介して、画面表示を行う。
【０１０４】
図１２では、ユーザがボタンｄ２２にタッチしてから、タッチ位置を変化させず、長押し判定時間が経過したとき、ボタンｄ２２を非表示にするとともに、ボタンｄ２２の下層レイヤに表示されていた編集領域ｄ２１へのタッチを検出し、その位置へカーソル（ユーザが操作可能な項目）ｄ２５を移動させた状態を示している。
【０１０５】
（まとめ）
以上のように、情報処理装置１によれば、ユーザによるタッチパネル４へのタッチが継続する時間によって、上層に表示したボタンと下層に表示した情報とを選択的に操作することができるので、ボタン操作とそれ以外の操作とをユーザが容易に切り替えることができる。したがって、ハードウェアキーを備えておらず、タッチパネルのサイズが小さく制限された携帯型情報処理装置において、ユーザが操作し易い大きさのボタンを表示しても、下層に表示した情報を操作できる。
【０１０６】
〔実施の形態に含まれる構成（技術的手段）の組み合わせについて〕
上述した実施の形態に含まれる構成は、適宜組み合わせられることに注意する。すなわち、本発明は上述した実施の形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【０１０７】
〔ソフトウェアによる実現例〕
最後に、情報処理装置１の各ブロック、特に制御部８の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１０８】
後者の場合、情報処理装置１は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである情報処理装置１の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、情報処理装置１に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１０９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０１１０】
また、情報処理装置１を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１１１】
このように、本明細書においては、手段とは必ずしも物理的手段を意味せず、各手段の機能がソフトウェアによって実現される場合も含む。また、１つの手段の機能が２つ以上の物理的手段により実現されてもよいし、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【産業上の利用可能性】
【０１１２】
本発明は、ソフトウェアによる仮想ボタンを用いて入力操作を行う情報処理装置におい
て、仮想ボタンによる入力操作とその他の入力操作とを容易に切り替えることができるため、例えば、タッチパネルのディスプレイを搭載したスマートフォン端末やタブレット端末に広く適用可能である。
【符号の説明】
【０１１３】
１    情報処理装置
２    表示部
５    タッチパネル制御部（操作検知手段）
１２    非ボタンオペレーション部（非仮想ボタンオペレーション手段）
２２    ボタン文字選択入力部（仮想ボタン入力手段）
２３    ボタン表示部（仮想ボタン表示手段）
ｄ１２、ｄ２２    ボタン（仮想ボタン）
Ｓ５、Ｓ１３    操作検知ステップ
Ｓ１１    仮想ボタン入力ステップ
Ｓ２３    非仮想ボタンオペレーションステップ
【図１】
2013214189.tif 000003
【図２】
2013214189.tif 000004
【図３】
2013214189.tif 000005
【図４】
2013214189.tif 000006
【図５】
2013214189.tif 000007
【図６】
2013214189.tif 000008
【図７】
2013214189.tif 000009
【図８】
2013214189.tif 000010
【図９】
2013214189.tif 000011
【図１０】
2013214189.tif 000012
【図１１】
2013214189.tif 000013
【図１２】
2013214189.tif 000014