(57)【特許請求の範囲】
【請求項１】
文字が割り当てられた複数のキーをタッチパネルに表示するキー表示制御部と、
前記タッチパネルに対する複数の入力位置を順次取得する入力位置取得部と、
前記複数のキーの表示位置を変更する操作を受け付けるキー変更操作受付部と、
前記タッチパネルに表示された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第１の文字を前記複数の入力位置が取得された順序に並べることで得られる第１の文字列を前記タッチパネルに表示し、前記キー変更操作受付部によって前記操作が受け付けられた場合に、前記操作によって表示位置が変更された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第２の文字を前記複数の入力位置が取得された順序に並べることで得られる第２の文字列で前記タッチパネルに表示された前記第１の文字列を更新する文字表示制御部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記入力位置取得部は、取得した前記複数の入力位置の各々を可視化するための入力位置マーカを前記タッチパネルに表示し、
前記キー変更操作受付部は、前記入力位置マーカが前記タッチパネルに表示された状態で、前記操作を受け付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字表示制御部は、複数の前記第１の文字列又は複数の前記第２の文字列が得られる場合には、前記複数の入力位置の各々と、前記複数の入力位置の各々に近接するキーとの距離の和が小さいほど優先的に選択される表示態様で、複数の前記第１の文字列又は複数の前記第２の文字列を前記タッチパネルに表示する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置を利用するユーザの指が前記タッチパネルに近接するホバーイン状態を検出するホバー検出部をさらに備え、
前記キー表示制御部は、前記ホバー検出部によって前記ホバーイン状態が検出され、かつ、前記キー変更操作受付部によって前記操作が受け付けられていない場合に、前記タッチパネルに対する前記指の位置を用いて決定される表示位置に前記複数のキーを表示し、前記ホバー検出部によって前記ホバーイン状態が検出され、かつ、前記キー変更操作受付部によって前記操作が受け付けられた場合に、該操作によって変更された表示位置に前記複数のキーを表示することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記ホバー検出部は、前記指が前記タッチパネルから離反するホバーアウト状態をさらに検出し、
前記キー表示制御部は、前記ホバー検出部によって前記ホバーアウト状態が検出され、かつ、前記入力位置取得部によって前記入力位置が取得されていない場合に、前記複数のキーの表示を停止する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
情報処理装置が、
文字が割り当てられた複数のキーをタッチパネルに表示し、
前記タッチパネルに対する複数の入力位置を順次取得し、
前記タッチパネルに表示された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第１の文字を前記複数の入力位置が取得された順序に並べることで得られる第１の文字列を前記タッチパネルに表示し、
前記複数のキーの表示位置を変更する操作を受け付け、
前記操作が受け付けられた場合に、前記操作によって表示位置が変更された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第２の文字を前記複数の入力位置が取得された順序に並べることで得られる第２の文字列で前記タッチパネルに表示された前記第１の文字列を更新する
処理を実行することを特徴とする情報処理方法。
【請求項７】
情報処理装置に、
文字が割り当てられた複数のキーをタッチパネルに表示し、
前記タッチパネルに対する複数の入力位置を順次取得し、
前記タッチパネルに表示された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第１の文字を前記複数の入力位置が取得された順序に並べることで得られる第１の文字列を前記タッチパネルに表示し、
前記複数のキーの表示位置を変更する操作を受け付け、
前記操作が受け付けられた場合に、前記操作によって表示位置が変更された前記複数のキーのうち前記複数の入力位置の各々に近接するキーに割り当てられた第２の文字を前記複数の入力位置が取得された順序に並べることで得られる第２の文字列で前記タッチパネルに表示された前記第１の文字列を更新する
処理を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
例えば、スマートフォンやタブレット端末等の情報処理装置では、タッチパネルに複数のキーを表示し、各キーに割り当てられた文字を入力する機能を備えている。情報処理装置のユーザは、タッチパネルに表示された複数のキーのいずれかに指を置くことによって、指が置かれたキーに割り当てられた文字を入力することができる。
【０００３】
ここで、キーに置かれる指や手のサイズはユーザによって異なるため、ユーザの手のサイズに応じてキーの表示位置を調整するための方式が種々提案されている。例えば、キーが含まれるキーボード自体の大きさを調整する方式がある。また、指がタッチパネルに触れた位置に特定のキーの中心を合わせてキーボードのキー配列を決定し、決定したキー配列をタッチパネルに表示する方式がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−５４５８９号公報
【特許文献２】特表２００９−５２２６６９号公報
【特許文献３】特開２０１３−５８０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の方式では、キーの表示位置が調整された場合であっても、文字入力時にキーの表示位置が固定されている。このため、情報処理装置のユーザは、キーの表示位置を意識しつつ、複数のキーのいずれかに指を置く動作を行う。結果として、上述した従来の方式では、キーの表示位置に指を置く負担をユーザに課すこととなるという問題がある。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、キーの表示位置に指を置く負担をユーザに課すことなく文字入力を行うことができる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する情報処理装置は、一つの態様において、キー表示制御部、入力位置受付部、キー変更操作受付部及び文字表示制御部を備える。キー表示制御部は、文字が割り当てられた複数のキーをタッチパネルに表示する。入力位置取得部は、前記タッチパネルに対する入力位置を取得する。キー変更操作受付部は、前記複数のキーの表示位置を変更する操作を受け付ける。文字表示制御部は、前記タッチパネルに表示された前記複数のキーのうち前記入力位置に近接するキーに割り当てられた第１の文字を前記タッチパネルに表示する。文字表示制御部は、前記操作が受け付けられた場合に、前記操作によって表示位置が変更された前記複数のキーのうち前記入力位置に近接するキーに割り当てられた第２の文字で前記タッチパネルに表示された前記第１の文字を更新する。
【発明の効果】
【０００８】
本願の開示する情報処理装置の一つの態様によれば、キーの表示位置に指を置く負担をユーザに課すことなく文字入力を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例に係る情報処理装置におけるタッチパネルの表示画面の遷移の一例を示す説明図である。
【図２】図２は、本実施例に係る情報処理装置の構成例を示す図である。
【図３】図３は、本実施例におけるキー表示位置テーブルの一例を示す図である。
【図４】図４は、本実施例における入力位置テーブルの一例を示す図である。
【図５】図５は、本実施例におけるプロセッサの機能構成の一例を示すブロック図である。
【図６】図６は、ホバーイン状態及びホバーアウト状態の検出の一例を説明するための図である。
【図７】図７は、キー変更操作の一例を示す図（その１）である。
【図８】図８は、キー変更操作の一例を示す図（その２）である。
【図９】図９は、キー変更操作の一例を示す図（その３）である。
【図１０】図１０は、複数の入力位置の各々に近接するキーの抽出を説明するための図（その１）である。
【図１１】図１１は、複数の入力位置の各々に近接するキーの抽出を説明するための図（その２）である。
【図１２】図１２は、複数の第１の文字列又は複数の第２の文字列が得られる場合の文字列の更新を説明するための図である。
【図１３】図１３は、本実施例に係る情報処理装置による処理手順の一例を示すフローチャートである。
【図１４】図１４は、情報処理プログラムを実行する情報処理装置を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。
【実施例】
【００１１】
まず、本実施例に係る情報処理装置による動作の一例を説明する。図１は、本実施例に係る情報処理装置におけるタッチパネルの表示画面の遷移の一例を示す説明図である。図１（Ａ）は、文字入力エリアに対する文字入力を受け付けない通常モードの表示画面である。図１（Ｂ）は、文字入力エリアに対する文字入力を受け付ける文字入力モードの表示画面である。図１（Ｃ）は、文字が割り当てられた複数のキーが表示される状態の表示画面である。図１（Ｄ）は、タッチパネルに対する入力位置を可視化するための入力位置マーカが表示される状態の表示画面である。図１（Ｅ）は、入力位置に近接するキーに割り当てられた第１の文字が表示される状態の表示画面である。図１（Ｆ）は、複数のキーの表示位置を変更する操作後に、入力位置に近接するキーに割り当てられた第２の文字が表示される状態の表示画面である。図１（Ｇ）は、文字が選択される状態の表示画面である。図１（Ｈ）は、選択された文字が文字入力エリアに表示される状態の表示画面である。なお、図１では、情報処理装置のユーザがタッチパネル１７に対して「今日は」という文字を入力する場合のタッチパネル１７の表示画面の遷移の一例を示す。
【００１２】
図１（Ａ）に示すように、情報処理装置のユーザは、通常モードにおいて、タッチパネル１７に表示された文字入力エリア１７Ａに対するタップを行う。すると、通常モードが文字入力モードに切り替えられる。すると、タッチパネル１７に表示された文字入力エリア１７Ａには、図１（Ｂ）に示すように、文字入力カーソル１７Ｂが表示される。
【００１３】
このような状況の下で、情報処理装置は、図１（Ｃ）に示すように、複数のキー１７Ｃ−１をタッチパネル１７に表示する。複数のキー１７Ｃ−１には、文字がそれぞれ割り当てられている。情報処理装置は、複数のキー１７Ｃ−１をキーボード１７Ｃとしてタッチパネル１７に表示する。
【００１４】
情報処理装置は、タッチパネル１７に対するタッチイベントがある場合に、タッチパネル１７に対する入力位置を取得する。情報処理装置は、タッチパネル１７に対する複数のタッチイベントが連続的に発生する場合には、タッチパネル１７に対する複数の入力位置を順次取得する。情報処理装置は、入力位置を取得すると、図１（Ｄ）に示すように、取得した入力位置を可視化するための入力位置マーカ１７Ｄをタッチパネル１７に表示する。情報処理装置は、タッチパネル１７に対する複数の入力位置が順次取得される場合には、複数の入力位置が取得される順序（以下「入力順序」という）に対応付けて、複数の入力位置マーカ１７Ｄをタッチパネル１７に表示する。例えば、情報処理装置は、６つの入力位置が順次取得される場合には、入力順序が「１」〜「６」番目であることをそれぞれ示す複数の入力位置マーカ１７Ｄをタッチパネル１７に表示する。
【００１５】
続いて、情報処理装置は、図１（Ｅ）に示すように、タッチパネル１７に表示された複数のキー１７Ｃ−１のうち入力位置に近接するキーに割り当てられた第１の文字をタッチパネル１７に表示する。入力位置に近接するキーとは、タッチパネル１７に表示された複数のキー１７Ｃ−１の中から、入力位置との距離が小さい順に予め定められた数だけ抽出されたキーである。情報処理装置は、タッチパネル１７に対する複数の入力位置が順次取得された場合、以下のように第１の文字の表示処理を行う。すなわち、情報処理装置は、複数の入力位置の各々に近接するキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列をタッチパネル１７に表示する。なお、第１の文字には、第１の文字に対応する変換候補が含まれ、第１の文字列には、第１の文字列に対応する変換候補が含まれる。例えば、６つの入力位置が順次取得され、かつ、６つの入力位置の各々に近接するキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列が「ｊｕｏｕｈａ」及び「ｋｕｏｕｊａ」である場合を想定する。この場合、「ｊｕｏｕｈａ」に対応する変換候補である「樹王は」と、「ｋｕｏｕｊａ」に対応する変換候補である「食おうじゃ」とがタッチパネル１７に表示される。
【００１６】
情報処理装置は、タッチパネル１７に対するマルチタッチイベントがある場合に、図１（Ｆ）に示すように、複数のキー１７Ｃ−１の表示位置を変更する操作を受け付ける。複数のキー１７Ｃ−１の表示位置を変更する操作とは、例えば、複数のキーを移動する操作、複数のキーを拡大する操作、複数のキーを縮小する操作、複数のキーを回転する操作、並びに複数のキーの曲率を変更する操作を指す。以下では、複数のキー１７Ｃ−１の表示位置を変更する操作を適宜「キー変更操作」と呼ぶ。
【００１７】
情報処理装置は、キー変更操作が受け付けられた場合、図１（Ｆ）に示すように、キー変更操作によって表示位置が変更された複数のキー１７Ｃ−１のうち入力位置に近接するキーに割り当てられた第２の文字でタッチパネル１７に表示された第１の文字を更新する。情報処理装置は、タッチパネル１７に対する複数の入力位置が順次取得された場合、以下のように文字更新処理を行う。すなわち、情報処理装置は、表示位置が変更された複数のキー１７Ｃ−１のうち複数の入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列でタッチパネル１７に表示された第１の文字列を更新する。なお、第２の文字には、第２の文字に対応する変換候補が含まれ、第２の文字列には、第２の文字列に対する変換候補が含まれる。例えば、６つの入力位置が順次取得され、かつ、６つの入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列が「ｋｙｏｕｈａ」、「ｊｕｏｕｈａ」及び「ｋｕｏｕｊａ」である場合を想定する。この場合、「ｋｙｏｕｈａ」に対応する変換候補である「今日は」と、「ｊｕｏｕｈａ」に対応する変換候補である「樹王は」と、「ｋｕｏｕｊａ」に対応する変換候補である「食おうじゃ」とでタッチパネル１７に表示された第１の文字列が更新される。
【００１８】
その後、情報処理装置のユーザは、図１（Ｇ）に示すように、更新された第１の文字列の中から文字入力の対象の文字列である「今日は」を選択する。すると、図１（Ｈ）に示すように、キーボード１７Ｃの表示が停止され、さらに、選択された文字列である「今日は」が文字入力エリア１７Ａに表示される。その後、タッチパネル１７のうち文字入力エリア１７Ａ以外のエリアがタップされ、文字入力モードが通常モードに切り替えられる。
【００１９】
このように、本実施例の情報処理装置は、入力位置に近接するキーに割り当てられた第１の文字をタッチパネルに表示し、キー変更操作によって表示位置が変更された複数のキーのうち入力位置に近接するキーに割り当てられた第２の文字で第１の文字を更新する。このため、情報処理装置のユーザが、キーの表示位置を意識しつつ、複数のキーのいずれかに指を置く動作を排除することができる。結果として、本実施例の情報処理装置によれば、キーの表示位置に指を置く負担をユーザに課すことなく文字入力を行うことができる。
【００２０】
次に、本実施例に係る情報処理装置１の構成例を説明する。図２は、本実施例に係る情報処理装置の構成例を示す図である。図２に示す情報処理装置１は、例えば、ユーザのタッチイベントを受け付けるタッチパネル機能を有するタブレット等の情報処理装置である。情報処理装置１は、アンテナ１１、無線部１２、スピーカ１３、マイク１４、オーディオ入出力部１５、表示部１６及びタッチパネル１７を有する。また、情報処理装置１は、記憶部１８及びプロセッサ１９を有する。記憶部１８は、ＲＡＭ（Random  Access  Memory）２０及びＲＯＭ（Read  Only  Memory）２１を有する。
【００２１】
無線部１２は、アンテナ１１経由で無線信号を送受信する。オーディオ入出力部１５は、マイク１４で収音した音声にオーディオ処理を施すと共に、無線部１２経由で受信した無線信号内の音声信号にオーディオ処理を施してスピーカ１３から音響出力する。表示部
１６は、文字入力モードの表示画面等の各種情報を画面表示する出力インタフェースである。タッチパネル１７は、表示部１６の画面上のタッチ操作等を検出する入力インタフェースである。なお、以下の説明では、表示部１６及びタッチパネル１７をまとめて「タッチパネル１７」と表記する。
【００２２】
ＲＡＭ２０は、各種情報を記憶するメモリ領域である。ＲＡＭ２０には、キー表示位置テーブル８１と、入力位置テーブル８２とが格納されている。ＲＯＭ２１には、情報処理プログラム等の各種プログラムが格納されている。プロセッサ１９は、情報処理装置１全体を制御する。
【００２３】
図３は、本実施例におけるキー表示位置テーブルの一例を示す図である。図３に示すキー表示位置テーブル８１は、キー、Ｘ座標（標準）、Ｙ座標（標準）、回転角度（標準）、Ｘ座標（履歴）、Ｙ座標（履歴）及び回転角度（履歴）を対応付けて管理する。キーは、文字が割り当てられた複数のキーである。Ｘ座標（標準）は、各キーの表示位置のＸ座標の初期値である。Ｙ座標（標準）は、各キーの表示位置のＹ座標の初期値である。回転角度（標準）は、各キーの曲率の変更に用いられる回転角度の初期値である。Ｘ座標（履歴）は、キー変更操作によって変更された各キーの表示位置のＸ座標である。Ｙ座標（履歴）は、キー変更操作によって変更された各キーの表示位置のＹ座標である。回転角度（履歴）は、キー変更操作によって各キーの曲率が変更された後の回転角度である。Ｘ座標（履歴）、Ｙ座標（履歴）及び回転角度（履歴）は、キー変更操作が受け付けられる度に、履歴データとして更新される。つまり、履歴データは、キー変更操作によって変更された表示位置を示す。
【００２４】
図４は、本実施例における入力位置テーブルの一例を示す図である。図４に示す入力位置テーブル８２は、入力位置／Ｘ座標、入力位置／Ｙ座標及び入力順序を対応付けて管理する。入力位置／Ｘ座標は、タッチパネル１７に対する入力位置のＸ座標である。入力位置／Ｙ座標は、タッチパネル１７に対する入力位置のＹ座標である。入力順序は、タッチパネル１７に対する複数の入力位置が順次取得される場合に、複数の入力位置が取得される順序である。
【００２５】
図５は、本実施例におけるプロセッサの機能構成の一例を示すブロック図である。図５に示すプロセッサ１９は、ＲＯＭ２１に記憶された情報処理プログラムを読み出し、読み出された情報処理プログラムに基づき各種プロセスを機能として構成するものである。プロセッサ１９は、機能構成として、ホバー検出部９１、タッチイベント検出部９２、キー表示制御部９３、入力位置取得部９４、キー変更操作受付部９５及び文字表示制御部９６を有する。
【００２６】
ホバー検出部９１は、情報処理装置１を利用するユーザの指がタッチパネル１７に近接するホバーイン状態を検出する。また、ホバー検出部９１は、情報処理装置１を利用するユーザの指がタッチパネル１７から離反するホバーアウト状態を検出する。
【００２７】
図６は、ホバーイン状態及びホバーアウト状態の検出の一例を説明するための図である。図６に示すように、ホバー検出部９１は、情報処理装置１を利用するユーザの指Ｆと、タッチパネル１７の表面との距離であるホバー距離と、タッチパネル１７に対する指Ｆの位置であるホバー位置とを取得する。ホバー検出部９１は、ホバー距離が予め定められたホバー閾値以下であるか否かを判定する。なお、ホバー閾値は、タッチパネル１７が所定の時間だけ連続的に指Ｆを検知することができるように、予め定められる。ホバー検出部９１は、ホバー距離がホバー閾値を超える場合には、ホバー位置を破棄してホバーイン状態を検出しない。一方、ホバー検出部９１は、ホバー距離がホバー閾値以下である場合には、ホバー位置をキー表示制御部９３へ出力してホバーイン状態を検出する。さらに、ホバー検出部９１は、ホバーイン状態を検出した後に、ホバー距離がホバー閾値以下であるか否かを判定し、ホバー距離がホバー閾値を超える場合には、ホバーアウト状態を検出する。
【００２８】
図５の説明に戻る。タッチイベント検出部９２は、タッチパネル１７に対するタッチイベントを検出する。タッチイベント検出部９２は、タッチパネル１７に対する複数のタッチイベントが連続的に検出される場合には、タッチパネル１７に対する指の接触位置の座標を順次検出し、検出した座標を入力位置取得部９４へ順次出力する。また、タッチイベント検出部９２は、タッチパネル１７に対するマルチタッチイベントが検出される場合には、タッチパネル１７に対する複数の指の接触位置の座標を同時に検出し、検出した座標をキー変更操作受付部９５へ出力する。
【００２９】
キー表示制御部９３は、文字が割り当てられた複数のキーをタッチパネル１７に表示する。具体的には、キー表示制御部９３は、ホバー検出部９１によってホバーイン状態が検出された場合に、複数のキーをタッチパネル１７に表示する。
【００３０】
ここで、キー表示制御部９３による複数のキーの表示手法の一例を説明する。キー表示制御部９３は、ホバーイン状態が検出され、かつ、キー変更操作受付部９５によってキー変更操作が受け付けられていない場合には、タッチパネル１７に対する指の位置を用いて決定される表示位置に複数のキーを表示する。具体的には、キー表示制御部９３は、タッチパネル１７に対する指の位置を示すホバー位置をホバー検出部９１から受け取る。キー表示制御部９３は、キー表示位置テーブル８１を参照し、履歴データが存在するか否かを判定し、履歴データが存在しない場合に、特定のキーの表示位置の初期値とホバー位置との差分量を算出する。キー表示制御部９３は、算出した差分量を各キーの表示位置の初期値に加算することで決定される表示位置に複数のキーを表示する。
【００３１】
キー表示制御部９３は、ホバーイン状態が検出され、かつ、キー変更操作受付部９５によってキー変更操作が受け付けられた場合には、キー変更操作によって変更された表示位置に複数のキーを表示する。具体的には、キー表示制御部９３は、キー表示位置テーブル８１を参照し、キー変更操作によって変更された表示位置を示す履歴データを取得し、取得した履歴データで示される表示位置に複数のキーを表示する。
【００３２】
また、キー表示制御部９３は、複数のキーをタッチパネル１７に表示した後に、ホバー検出部９１によってホバーアウト状態が検出され、かつ、入力位置取得部９４によって入力位置が取得されていない場合には、複数のキーの表示を停止する。
【００３３】
入力位置取得部９４は、タッチパネル１７に対する入力位置を取得する。具体的には、入力位置取得部９４は、タッチイベント検出部９２から入力される座標を用いて入力位置を取得する。入力位置取得部９４は、タッチパネル１７に対する複数のタッチイベントが連続的に発生する場合には、タッチイベント検出部９２から入力される座標を用いて、タッチパネル１７に対する複数の入力位置を順次取得する。そして、入力位置取得部９４は、取得した複数の入力位置を入力順序に対応付けて入力位置テーブル８２へ格納する。
【００３４】
また、入力位置取得部９４は、取得した入力位置を可視化するための入力位置マーカをタッチパネル１７に表示する。入力位置取得部９４は、複数の入力位置が順次取得された場合には、入力順序に対応付けて、複数の入力位置マーカをタッチパネル１７に表示する。
【００３５】
キー変更操作受付部９５は、複数のキーの表示位置を変更する操作、すなわち、キー変更操作を受け付ける。具体的には、キー変更操作受付部９５は、タッチイベント検出部９２から入力される座標を用いてキー変更操作を受け付け、キー変更操作によって変更された表示位置を履歴データとしてキー表示位置テーブル８１に格納する。さらに、キー変更操作受付部９５は、キー変更操作を受け付けた旨を文字表示制御部９６へ通知する。
【００３６】
図７は、キー変更操作の一例を示す図（その１）である。図７の例では、タッチイベント検出部９２から入力される座標が、タッチパネル１７に対する２本の指の接触位置の座標に相当するものとする。図７に示すキー変更操作は、２本の指の接触位置にそれぞれ対応する２点Ａ１，Ａ２を結ぶ線分の中心Ａ３が移動した場合に、中心Ａ３の移動量を取得し、取得した移動量を用いて複数のキーを移動することで、複数のキーの表示位置を変更する。また、図７に示すキー変更操作は、２点Ａ１，Ａ３を結ぶ線分の長さが拡大又は縮小された場合に、元の長さに対する倍率を求め、求めた倍率を用いて複数のキーを拡大又は縮小することで、複数のキーの表示位置を変更する。
【００３７】
図８は、キー変更操作の一例を示す図（その２）である。図８の例では、タッチイベント検出部９２から入力される座標が、タッチパネル１７に対する３本の指の接触位置の座標に相当するものとする。図８に示すキー変更操作は、３本の指の接触位置にそれぞれ対応する３点Ｂ１〜Ｂ３を通過する円の中心を点Ｏとすると、点Ｏから３点Ｂ１〜Ｂ３を結ぶ円弧の中心へ向かうベクトルの回転量を用いて複数のキーを回転することで、複数のキーの表示位置を変更する。
【００３８】
図９は、キー変更操作の一例を示す図（その３）である。図９の例では、タッチイベント検出部９２から入力される座標が、タッチパネル１７に対する４本の指の接触位置の座標に相当するものとする。図９に示すキー変更操作は、４本の指の接触位置にそれぞれ対応する４点Ｃ１〜Ｃ４のうち左側の２点を通過する直線と、右側の２点を通過する直線との成す角度の１／２の正接値を用いて複数のキーの曲率を変更することで、複数のキーの表示位置を変更する。
【００３９】
また、キー変更操作受付部９５は、入力位置マーカがタッチパネル１７に表示される場合には、入力位置マーカがタッチパネル１７に表示された状態で、キー変更操作を受け付けても良い。例えば、キー変更操作受付部９５は、入力位置マーカがタッチパネル１７に表示された状態で、入力すべき文字が割り当てられたキーが入力位置マーカに近接するように、キー変更操作を受け付ける。
【００４０】
文字表示制御部９６は、タッチパネル１７に表示された複数のキーのうち入力位置に近接するキーに割り当てられた第１の文字をタッチパネル１７に表示する。具体的には、文字表示制御部９６は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、入力位置に近接するキーを抽出し、抽出したキーに割り当てられた第１の文字をタッチパネル１７に表示する。そして、文字表示制御部９６は、キー変更操作が受け付けられた場合に、キー変更操作によって表示位置が変更された複数のキーのうち入力位置に近接するキーに割り当てられた第２の文字でタッチパネル１７に表示された第１の文字を更新する。具体的には、文字表示制御部９６は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、入力位置に近接するキーを抽出し、抽出したキーに割り当てられた第２の文字で第１の文字を更新する。入力位置に近接するキーとは、タッチパネル１７に表示された複数のキーの中から、入力位置との距離が小さい順に予め定められた数だけ抽出されたキーである。第１の文字及び第２の文字には、第１の文字に対応する変換候補及び第２の文字に対応する変換候補が含まれる。
【００４１】
また、文字表示制御部９６は、タッチパネル１７に対する複数の入力位置が順次取得された場合、複数の入力位置の各々に近接するキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列をタッチパネル１７に表示する。具体的には、文字表示制御部９６は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、複数の入力位置の各々に近接するキーを抽出し、抽出したキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列を表示する。そして、文字表示制御部９６は、キー変更操作が受け付けられた場合に、以下の処理を行う。すなわち、文字表示制御部９６は、キー変更操作によって表示位置が変更された複数のキーのうち複数の入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列で第１の文字列を更新する。具体的には、文字表示制御部９６は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、複数の入力位置の各々に近接するキーを抽出し、該キーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列で第１の文字列を更新する。第１の文字列及び第２の文字列には、第１の文字列に対応する変換候補及び第２の文字列に対応する変換候補が含まれる。
【００４２】
さらに、文字表示制御部９６は、複数の第１の文字列又は複数の第２の文字列が得られる場合には、以下の処理を行う。すなわち、文字表示制御部９６は、複数の入力位置の各々と、複数の入力位置の各々に近接するキーとの距離の和が小さいほど優先的に選択される表示態様で、複数の第１の文字列又は複数の第２の文字列をタッチパネル１７に表示する。
【００４３】
ここで、文字表示制御部９６による文字列更新処理の一例を説明する。図１０は、複数の入力位置の各々に近接するキーの抽出を説明するための図（その１）である。図１１は、複数の入力位置の各々に近接するキーの抽出を説明するための図（その２）である。図１２は、複数の第１の文字列又は複数の第２の文字列が得られる場合の文字列の更新を説明するための図である。なお、図１２の例では、キー変更操作受付部９５によってキー変更操作が受け付けられたものとする。
【００４４】
文字表示制御部９６は、キー変更操作が受け付けられた旨の通知をキー変更操作受付部９５から受け付ける。すると、文字表示制御部９６は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、複数の入力位置の各々と、キー変更操作によって変更された各キーの表示位置との距離を求め、求めた距離を用いて複数の入力位置の各々に近接するキーを抽出する。図１０に示す例では、文字表示制御部９６は、入力位置Ｐ１と、キー変更操作によって変更された各キーの中心との距離を求め、求めた距離が小さい順に予め定められた数だけキーを特定することで、入力位置Ｐ１に近接するキーを抽出する。また、図１１に示す例では、文字表示制御部９６は、入力位置Ｐ２と、キー変更操作によって変更された各キーの中心以外の２点との距離を求め、求めた距離の和が小さい順に予め定められた数だけキーを特定することで、入力位置Ｐ２に近接するキーを抽出する。
【００４５】
続いて、文字表示制御部９６は、図１２に示すように、複数の入力位置の各々に近接するキーに割り当てられた文字と、キーの表示位置と複数の入力位置の各々との距離とを入力位置テーブル８２に追加することで、文字列更新テーブル８３を生成する。
【００４６】
続いて、文字表示制御部９６は、文字列更新テーブル８３を参照して、複数の入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列でタッチパネル１７に表示された第１の文字列を更新する。ここで、文字表示制御部９６は、複数の第２の文字列が得られる場合には、複数の入力位置の各々と、複数の入力位置の各々に近接するキーとの距離の和が小さいほど優先的に選択される表示態様で、複数の第２の文字列をタッチパネル１７に表示する。図１２の例では、文字表示制御部９６は、「ｋｙｏｕ…」、「ｊｔｐｊ…」、「ｉｇｌｉ…」の順番で、複数の第２の文字列をタッチパネル１７に表示する。
【００４７】
次に、本実施例に係る情報処理装置１による処理手順の一例を説明する。図１３は、本実施例に係る情報処理装置による処理手順の一例を示すフローチャートである。
【００４８】
図１３において、プロセッサ１９は、タッチパネル１７に表示された文字入力エリア１７Ａに対するタップを受け付け（ステップＳ１１）、通常モードを文字入力モードに遷移する（ステップＳ１２）。
【００４９】
プロセッサ１９は、ホバーイン状態を検出し（ステップＳ１３）、ホバーイン状態が検出された場合に、キー表示位置テーブル８１を参照し、履歴データが存在するか否かを判定する（ステップＳ１４）。プロセッサ１９は、履歴データが存在しない場合（ステップＳ１４；Ｎｏ）、すなわち、キー変更操作が受け付けられていない場合、ホバー位置を用いて決定される表示位置に複数のキーを表示する（ステップＳ１５）。
【００５０】
一方、プロセッサ１９は、履歴データが存在する場合（ステップＳ１４；Ｙｅｓ）、すなわち、キー変更操作が受け付けられた場合、キー表示位置テーブル８１から履歴データを取得する（ステップＳ１６）。そして、プロセッサ１９は、取得した履歴データで示される表示位置に複数のキーを表示する（ステップＳ１７）。
【００５１】
プロセッサ１９は、ホバーアウト状態が検出され、かつ、入力位置が取得されていない場合（ステップＳ１８；Ｙｅｓ）、複数のキーの表示を停止し（ステップＳ１９）、処理をステップＳ１３に戻す。
【００５２】
一方、プロセッサ１９は、ホバーアウト状態が検出されない場合、又は入力位置が取得された場合（ステップＳ１８；Ｎｏ）、タッチパネル１７に対する指のタッチ領域の直径が１５ｍｍ以上であるか否かを判定する（ステップＳ２０）。プロセッサ１９は、タッチ領域の直径が１５ｍｍ未満である場合（ステップＳ２０；Ｎｏ）、処理をステップＳ２３に移行する。
【００５３】
プロセッサ１９は、タッチ領域の直径が１５ｍｍ以上である場合（ステップＳ２０；Ｙｅｓ）、入力位置マーカをタッチパネル１７に表示し（ステップＳ２１）、入力位置を入力順序に対応付けて入力位置テーブル８２へ格納する（ステップＳ２２）。
【００５４】
プロセッサ１９は、ホバーアウト状態を検出し（ステップＳ２３）、ホバーアウト状態が検出されない場合（ステップＳ２３；Ｎｏ）、入力位置を新たに取得し（ステップＳ２４）、処理をステップＳ２０に戻す。
【００５５】
一方、プロセッサ１９は、ホバーアウト状態が検出された場合（ステップＳ２３；Ｙｅｓ）、複数の入力位置の各々に近接するキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列をタッチパネル１７に表示する（ステップＳ２５）。
【００５６】
プロセッサ１９は、マルチタッチイベントが検出された場合（ステップＳ２６；Ｙｅｓ）、入力位置マーカが表示された状態で、タッチパネル１７に対する複数の指の接触位置の座標を用いてキー変更操作を受け付ける（ステップＳ２７）。プロセッサ１９は、キー変更操作によって変更された表示位置を履歴データとしてキー表示位置テーブル８１に格納する（ステップＳ２８）。
【００５７】
プロセッサ１９は、キー表示位置テーブル８１及び入力位置テーブル８２を参照して、複数の入力位置の各々に近接するキーを抽出する（ステップＳ２９）。プロセッサ１９は、複数の入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで第２の文字列を取得する（ステップＳ３０）。プロセッサ１９は、第２の文字列でタッチパネル１７に表示された第１の文字列を更新し（ステップＳ３１）、処理をステップＳ２５へ戻す。
【００５８】
一方、プロセッサ１９は、マルチタッチイベントが検出されない場合（ステップＳ２６；Ｎｏ）、タッチパネル１７に表示された文字列（すなわち、第１の文字列又は第２の文字列）がユーザによって選択されたか否かを判定する（ステップＳ３２）。プロセッサ１９は、タッチパネル１７に表示された文字列がユーザによって選択されない場合（ステップＳ３２；Ｎｏ）、複数のキーの表示を停止し（ステップＳ３３）、未変換の文字列を文字入力エリア１７Ａに表示する（ステップＳ３４）。
【００５９】
一方、プロセッサ１９は、タッチパネル１７に表示された文字列がユーザによって選択された場合（ステップＳ３２；Ｙｅｓ）、複数のキーの表示を停止し（ステップＳ３５）、選択された文字列を文字入力エリア１７Ａに表示する（ステップＳ３６）。
【００６０】
その後、タッチパネル１７のうち文字入力エリア１７Ａ以外のエリアがタップされ（ステップＳ３７）、プロセッサ１９は、文字入力モードを通常モードに遷移する（ステップＳ３８）。
【００６１】
以上、本実施例の情報処理装置１は、入力位置に近接するキーに割り当てられた第１の文字をタッチパネルに表示し、キー変更操作によって表示位置が変更された複数のキーのうち入力位置に近接するキーに割り当てられた第２の文字で第１の文字を更新する。このため、情報処理装置のユーザが、キーの表示位置を意識しつつ、複数のキーのいずれかに指を置く動作を排除することができる。結果として、本実施例の情報処理装置１によれば、キーの表示位置に指を置く負担をユーザに課すことなく文字入力を行うことができる。
【００６２】
また、本実施例の情報処理装置１は、入力位置を可視化するための入力位置マーカがタッチパネル１７に表示された状態で、キー変更操作を受け付ける。結果として、本実施例の情報処理装置１によれば、情報処理装置１のユーザが入力位置マーカを参照しながら所望のキーの表示位置を入力位置に近づけることができ、文字入力を効率化することができる。
【００６３】
また、本実施例の情報処理装置１は、複数の入力位置を順次取得し、複数の入力位置の各々に近接するキーに割り当てられた第１の文字を入力順序に並べることで得られる第１の文字列をタッチパネルに表示する。そして、情報処理装置１は、キー変更操作によって表示位置が変更された複数のキーのうち複数の入力位置の各々に近接するキーに割り当てられた第２の文字を入力順序に並べることで得られる第２の文字列で第１の文字列を更新する。結果として、本実施例の情報処理装置１によれば、キーの表示位置に指を置く負担をユーザに課すことなく文字列の入力を行うことができる。
【００６４】
また、本実施例の情報処理装置１は、複数の文字列が得られる場合には、複数の入力位置の各々と、複数の入力位置の各々に近接するキーとの距離の和が小さいほど優先的に選択される表示態様で、複数の文字列をタッチパネル１７に表示する。結果として、本実施例の情報処理装置１によれば、情報処理装置１のユーザが複数の文字列から所望の文字列を選択する際の負担を軽減することができる。
【００６５】
また、本実施例の情報処理装置１は、ホバーイン状態が検出され、かつ、キー変更操作が受け付けられていない場合に、ホバー位置を用いて決定される表示位置に複数のキーを表示する。そして、情報処理装置１は、ホバーイン状態が検出され、かつ、キー変更操作が受け付けられた場合に、キー変更操作によって変更された表示位置に複数のキーを表示する。結果として、本実施例の情報処理装置１によれば、情報処理装置１のユーザにとって利便性の高い表示位置に複数のキーを表示することができる。
【００６６】
また、本実施例の情報処理装置１は、ホバーアウト状態が検出され、かつ、入力位置が取得されていない場合に、複数のキーの表示を停止する。結果として、本実施例の情報処理装置１によれば、文字入力が行われない場合に、複数のキーの表示を自動的に停止することができる。
【００６７】
なお、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００６８】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００６９】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図１４は、情報処理プログラムを実行する情報処理装置を示す図である。
【００７０】
図１４に示す情報処理プログラムを実行する情報処理装置１００では、ＲＯＭ１１０、ＲＡＭ１２０、プロセッサ１３０、操作部１４０及び表示部１５０を有する。なお、操作部１４０及び表示部１５０は、タッチパネルに相当する。
【００７１】
そして、ＲＯＭ１１０には、上記実施例と同様の機能を発揮する操作制御プログラムが予め記憶されている。尚、ＲＯＭ１１０ではなく、図示せぬドライブで読取可能な記録媒体に情報処理プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ、ＳＤカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。情報処理プログラムとしては、図１４に示すように、キー表示制御プログラム１１０Ａ、入力位置取得プログラム１１０Ｂ、キー変更操作受付プログラム１１０Ｃ及び文字表示制御プログラム１１０Ｄである。なお、プログラム１１０Ａ、１１０Ｂ、１１０Ｃ及び１１０Ｄについては、適宜統合又は分散しても良い。
【００７２】
そして、プロセッサ１３０は、これらのプログラム１１０Ａ、１１０Ｂ、１１０Ｃ及び１１０ＤをＲＯＭ１１０から読み出し、これら読み出された各プログラムを実行する。プロセッサ１３０は、図１４に示すように、各プログラム１１０Ａ、１１０Ｂ、１１０Ｃ及び１１０Ｄを、キー表示制御プロセス１３０Ａ、入力位置取得プロセス１３０Ｂ、キー変更操作受付プロセス１３０Ｃ及び文字表示制御プロセス１３０Ｄとして機能する。これらのプロセス１３０Ａ〜１３０Ｄは、それぞれ、図５に示したキー表示制御部９３、入力位置取得部９４、キー変更操作受付部９５及び文字表示制御部９６に対応する。
【符号の説明】
【００７３】
１  情報処理装置
１６  表示部
１７  タッチパネル
１８  記憶部
１９  プロセッサ
２０  ＲＡＭ
２１  ＲＯＭ
８１  キー表示位置テーブル
８２  入力位置テーブル
８３  文字列更新テーブル
９１  ホバー検出部
９２  タッチイベント検出部
９３  キー表示制御部
９４  入力位置取得部
９５  キー変更操作受付部
９６  文字表示制御部
【図１】
0006330565.tif 000002
【図２】
0006330565.tif 000003
【図３】
0006330565.tif 000004
【図４】
0006330565.tif 000005
【図５】
0006330565.tif 000006
【図６】
0006330565.tif 000007
【図７】
0006330565.tif 000008
【図８】
0006330565.tif 000009
【図９】
0006330565.tif 000010
【図１０】
0006330565.tif 000011
【図１１】
0006330565.tif 000012
【図１２】
0006330565.tif 000013
【図１３】
0006330565.tif 000014
【図１４】
0006330565.tif 000015