(57)【要約】【課題】ユーザが正確なキー入力を行うことができる情報処理装置を提供する。【解決手段】情報処理装置１００は、ユーザが操作のために表示画面１に接触している位置をユーザ接触位置として検出し、上記ユーザ接触位置と、表示画面１における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得し、上記接触位置ズレ情報に基づき、表示画面１に表示されるソフトウェアキーの表示レイアウトを決定する。【選択図】図１
2013257648.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出手段と、
上記位置検出手段によって検出された上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得手段と、
上記接触位置ズレ情報取得手段によって取得された上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定手段と、を備えることを特徴とする情報処理装置。
【請求項２】
上記キーレイアウト決定手段は、
上記接触位置ズレ情報に基づき、上記ソフトウェアキーの表示サイズを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記キーレイアウト決定手段は、
上記接触位置ズレ情報における、上記位置検出基準点と上記ユーザ接触位置とのズレを示す数値の増減に伴って、上記ソフトウェアキーの表示サイズを拡大ないし縮小することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
上記キーレイアウト決定手段は、
上記ソフトウェアキーの表示サイズに応じて、上記表示画面に表示される上記ソフトウェアキーを構成する入力キーの数を決定することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
自装置の傾きを検出する傾き検出手段をさらに備え、
上記キーレイアウト決定手段は、
上記傾き検出手段による検出結果に応じて、上記ソフトウェアキーの表示レイアウトを決定することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
上記接触位置ズレ情報には、上記表示画面上の平面を成す２つの軸のうち一方の軸であるｘ軸、および、上記２つの軸のうち他方の軸であるｙ軸について、それぞれの軸方向におけるズレを示す情報が含まれており、
上記キーレイアウト決定手段は、
上記ｘ軸方向および上記ｙ軸方向のズレに基づき、上記表示画面に表示される上記ソフトウェアキーのｘ軸方向の幅およびｙ軸方向の幅を決定することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
上記キーレイアウト決定手段は、
上記表示画面上の異なる位置に設けられた複数の上記位置検出基準点のそれぞれについての上記接触位置ズレ情報に基づき、上記ソフトウェアキーの表示レイアウトを決定することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
上記キーレイアウト決定手段は、
上記表示画面上の異なる位置に設けられた複数の上記位置検出基準点のそれぞれについての上記接触位置ズレ情報に基づき、複数の上記位置検出基準点のいずれか１つをそれぞれ含む、上記表示画面中の複数の所定範囲の領域における上記ソフトウェアキーの表示サイズを決定することを特徴とする請求項２から７のいずれか１項に記載の情報処理装置。
【請求項９】
ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出ステップと、
上記位置検出ステップにおいて検出した上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得ステップと、
上記接触位置ズレ情報取得ステップにおいて取得した上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定ステップと、を含むことを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項１から８のいずれか１項に記載の情報処理装置の上記各手段としてコンピュータを機能させるための制御プログラム。
【請求項１１】
請求項１０に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画面に表示されるソフトウェアキーの表示レイアウトを変更する情報処理装置等に関する。
【背景技術】
【０００２】
携帯電話、スマートフォン、タブレット端末等、タッチパネルを備えた情報処理装置においては、ユーザが画面をタッチすることで操作可能なＧＵＩ（グラフィカルユーザインターフェース）として、ソフトウェアキーボードが広く利用されている。
【０００３】
ソフトウェアキーボードは、タッチパネル上でハードウェアキーと同様の操作性をユーザに提供することを目指したＧＵＩであるが、しばしば、ハードウェアキーボードよりも操作性に劣る。具体的には、タッチ位置のズレ、または、ユーザの指の大きさに対してキーが小さい等の理由により、ユーザ所望のキーが正しく押下されず、誤入力が生じやすいという問題がある。
【０００４】
このような問題を解決するためのアプローチとして、ソフトウェアキーボードのレイアウトを変更する技術が多数開示されている。
【０００５】
例えば、特許文献１には、サイズ可変キーのキー画像サイズが変更された場合、サイズ変更後のサイズ可変キー、基本キーおよび応用キーの各キー画像群の間隔を調整して画面のレイアウトを変更するとともに、すべてのキー画像を画面に同時に表示できない場合には、応用キーを構成キーの全部表示からスクロール表示に切り替えて画面のレイアウトを変更するデータ入力装置が記載されている。
【０００６】
また、特許文献２には、タッチパネル上に線図を描くユーザ操作に基づいて表示部に表示する操作キー群の表示位置および範囲を決定し、その決定された表示位置および範囲に基づいて操作キー群を表示部に表示するタッチパネル付き装置の制御方法が記載されている。
【０００７】
別のアプローチとして、ユーザ操作の検出位置を補正・学習する技術が存在する。特許文献３には、ボタン毎に、タッチパネル上の接触検知領域を定義し、過去の入力情報を記録し、利用者の接触位置が、各ボタンの接触検知領域のいずれかに含まれない場合、履歴記録情報に基づいて、接触位置を接触検知領域のいずれかに含められると判定された場合、該判定された接触検知領域に、接触位置を追加する入力装置が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−７０７３４号公報（２００４年３月４日公開）
【特許文献２】特開２０１１−２２７９１３号公報（２０１１年１１月１０日公開）
【特許文献３】特開２００８−２４２９５８号公報（２００８年１０月９日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の技術は、特定の操作キーのサイズをユーザによるサイズ変更の入力に応じて指定されたサイズに変更して、その他の操作キーのレイアウトを自動的に変更する構成であり、操作性が向上するのはサイズ可変キーのみである。このような構成は、ほぼ全てのキーが同等に高い操作性を有することが好ましいソフトウェアキーボードには適用することはできない。
【００１０】
また、特許文献２に記載の技術は、ユーザの指の可動範囲を考慮して操作キー群のレイアウトを設定することにより操作性の向上を目指すものであるが、個々のキーの正確な押下という点での操作性については考慮されていない。
【００１１】
特許文献３に記載の技術は、ユーザの接触位置と正規のボタン位置との誤差を自動補正することを可能とするが、この構成によれば、タッチパネル上のボタン位置と実際の接触位置との乖離がユーザに違和感を生じさせる虞がある。なお、特許文献３では、各ボタンの表示領域を変更する構成も記載されているが、この表示領域の変更に先立ち、各ボタンについて接触を検知する位置の補正・学習を行う構成となっており、多数のキーを備えるソフトウェアキーボードにこの構成を適用することは効率的でない。
【００１２】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ソフトウェアキーのレイアウトを変更することにより、ユーザが正確なキー入力を行うことができる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明に係る情報処理装置は、ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出手段と、上記位置検出手段によって検出された上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得手段と、上記接触位置ズレ情報取得手段によって取得された上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定手段と、を備えることを特徴としている。
【００１４】
また、本発明に係る情報処理装置の制御方法は、ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出ステップと、上記位置検出ステップにおいて検出した上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得ステップと、上記接触位置ズレ情報取得ステップにおいて取得した上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定ステップと、を含むことを特徴としている。
【００１５】
上記構成によれば、キーレイアウト決定手段は、表示画面上の位置検出基準点とユーザ接触位置とのズレに基づき、表示画面上に表示されるソフトウェアキーの表示レイアウトを決定する。
【００１６】
これにより、情報処理装置は、ユーザの所望する接触位置と実際の接触位置とのズレの大小に応じて、表示画面上のソフトウェアキーの表示レイアウトを変更することができる。
【００１７】
従って、情報処理装置は、ユーザの指の大きさやタッチの癖等の個人差に応じて、適切な表示レイアウトでソフトウェアキーを表示画面上に表示させることができる。
【００１８】
よって、ユーザは、正確なキー入力を行うことができる。
【００１９】
本発明に係る情報処理装置において、上記キーレイアウト決定手段は、上記接触位置ズレ情報に基づき、上記ソフトウェアキーの表示サイズを決定することが好ましい。
【００２０】
上記構成によれば、キーレイアウト決定手段は、表示画面上の位置検出基準点とユーザ接触位置とのズレに基づき、表示画面上に表示されるソフトウェアキーの表示サイズを決定する。
【００２１】
これにより、情報処理装置は、ユーザの所望する接触位置と実際の接触位置とのズレの大小に応じて、表示画面上のソフトウェアキーの表示サイズを変更することができる。
【００２２】
従って、情報処理装置は、ユーザの指の大きさやタッチの癖等の個人差に応じて、適切な表示レイアウトでソフトウェアキーを表示画面上に表示させることができる。
【００２３】
本発明に係る情報処理装置において、上記キーレイアウト決定手段は、上記接触位置ズレ情報における、上記位置検出基準点と上記ユーザ接触位置とのズレを示す数値の増減に伴って、上記ソフトウェアキーの表示サイズを拡大ないし縮小することが好ましい。
【００２４】
上記構成によれば、キーレイアウト決定手段は、表示画面上の位置検出基準点とユーザ接触位置とのズレの増減に伴って、表示画面上に表示されるソフトウェアキーの表示サイズを拡大ないし縮小する。
【００２５】
これにより、情報処理装置は、ユーザの所望する接触位置と実際の接触位置とのズレが大きくなるに従い、表示画面上のソフトウェアキーの表示サイズを拡大することができる。また、ユーザの所望する接触位置と実際の接触位置とのズレが小さくなるに従い、表示画面上のソフトウェアキーの表示サイズを縮小することができる。
【００２６】
従って、情報処理装置は、指が大きい等の理由によりタッチ時のズレが大きいユーザに対しては、ソフトウェアキーを大きく表示させることができる。また、タッチ時のズレが小さいユーザに対しては、ソフトウェアキーを小さく表示させることができる。
【００２７】
よって、ユーザは、タッチ時のズレの大きさに応じて拡大されたソフトウェアキーを用いて、正確なキー入力を行うことができる。
【００２８】
本発明に係る情報処理装置において、上記キーレイアウト決定手段は、上記ソフトウェアキーの表示サイズに応じて、上記表示画面に表示される上記ソフトウェアキーを構成する入力キーの数を決定することが好ましい。
【００２９】
上記構成によれば、情報処理装置は、例えば、ソフトウェアキーを構成する入力キーの表示サイズを小さくすることで、より多くのソフトウェアキーを表示画面に表示させることができる。
【００３０】
これにより、ユーザは、例えば、タッチ時のズレが小さく、ソフトウェアキーを構成する入力キーの表示サイズが小さくても正確にキー入力が行える場合には、より多くの入力キーが同時に表示されたソフトウェアキーを操作することができる。従って、ユーザは、キー選択のための画面の切り替え操作を省略することができる。
【００３１】
本発明に係る上記情報処理装置は、自装置の傾きを検出する傾き検出手段をさらに備え、上記キーレイアウト決定手段は、上記傾き検出手段による検出結果に応じて、上記ソフトウェアキーの表示レイアウトを決定してもよい。
【００３２】
上記構成によれば、キーレイアウト決定手段は、自装置の傾きに応じて、ソフトウェアキーの表示レイアウトを決定する。これにより、情報処理装置は、自装置の傾きに応じて、適切な表示レイアウトでソフトウェアキーを表示画面上に表示させることができる。
【００３３】
従って、ユーザは、情報処理装置を傾けて操作する状況においても、正確なキー入力を行うことができる。
【００３４】
本発明に係る情報処理装置において、上記接触位置ズレ情報には、上記表示画面上の平面を成す２つの軸のうち一方の軸であるｘ軸、および、上記２つの軸のうち他方の軸であるｙ軸について、それぞれの軸方向におけるズレを示す情報が含まれており、上記キーレイアウト決定手段は、上記ｘ軸方向および上記ｙ軸方向のズレに基づき、上記表示画面に表示される上記ソフトウェアキーのｘ軸方向の幅およびｙ軸方向の幅を決定してもよい。
【００３５】
上記構成によれば、キーレイアウト決定手段は、表示画面上のｘ軸方向およびｙ軸方向のそれぞれにおける、位置検出基準点とユーザ接触位置とのズレに基づき、ソフトウェアキーのｘ軸方向の幅およびｙ軸方向の幅を決定する。
【００３６】
これにより、情報処理装置は、例えば、タッチ時のズレがｘ軸方向またはｙ軸方向に特に大きいユーザに対して、特にズレが大きくなる方向にキーの幅を拡大したソフトウェアキーを表示画面に表示させることができる。また、ズレが小さい方向にはキーの表示範囲を不要に拡大せず、キーの表示面積を適切に設定することができるので、１画面に表示可能なキーの数の減少を必要最小限に抑えることができる。
【００３７】
従って、ユーザは、タッチ時の癖に応じて操作しやすい形状を有するソフトウェアキーを用いて、正確なキー入力を行うことができるとともに、キーの表示数の不要な減少を防止することができる。
【００３８】
本発明に係る情報処理装置において、上記キーレイアウト決定手段は、上記表示画面上の異なる位置に設けられた複数の上記位置検出基準点のそれぞれについての上記接触位置ズレ情報に基づき、上記ソフトウェアキーの表示レイアウトを決定してもよい。
【００３９】
上記構成によれば、キーレイアウト決定手段は、表示画面上の異なる位置に設けられた複数の位置検出基準点のそれぞれについての接触位置ズレ情報に基づき、ソフトウェアキーの表示レイアウトを決定する。
【００４０】
これにより、キーレイアウト決定手段は、例えば、複数の接触位置ズレ情報のうち、ユーザ接触位置と位置検出基準点とのズレが最大である接触位置ズレ情報に基づき、ソフトウェアキーの表示レイアウトを決定する。また、例えば、複数の接触位置ズレ情報におけるズレの平均値に基づき、ソフトウェアキーの表示レイアウトを決定する。
【００４１】
従って、情報処理装置は、例えば、タッチ時のズレが最も大きくなる状況に対応したレイアウトで、ソフトウェアキーを表示画面に表示させることができる。また、例えば、タッチ時の平均的なズレに基づいたレイアウトで、ソフトウェアキーを表示画面に表示させることができる。
【００４２】
よって、ユーザは、確実に正確なキー入力を行うことができる。
【００４３】
本発明に係る情報処理装置において、上記キーレイアウト決定手段は、上記表示画面上の異なる位置に設けられた複数の上記位置検出基準点のそれぞれについての上記接触位置ズレ情報に基づき、複数の上記位置検出基準点のいずれか１つをそれぞれ含む、上記表示画面中の複数の所定範囲の領域における上記ソフトウェアキーの表示サイズを決定してもよい。
【００４４】
上記構成によれば、キーレイアウト決定手段は、表示画面上の異なる位置に設けられた複数の位置検出基準点のいずれか１つをそれぞれ含む複数の所定範囲の領域において、各位置検出基準点についての接触位置ズレ情報に基づき、ソフトウェアキーの表示サイズを決定する。
【００４５】
これにより、情報処理装置は、例えば、上記複数の所定範囲の領域のうち、位置検出基準点とユーザ接触位置とのズレが大きい領域ではソフトウェアキーの表示サイズを相対的に大きくし、位置検出基準点とユーザ接触位置とのズレが小さい領域ではソフトウェアキーの表示サイズを相対的に小さくすることができる。
【００４６】
従って、ユーザは、表示画面上で特に正確にタッチしにくい領域において、拡大されたソフトウェアキーを用いて、正確なキー入力を行うことができる。
【００４７】
なお、上記情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記情報処理装置をコンピュータにて実現させる情報処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００４８】
以上のように、本発明に係る情報処理装置は、ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出手段と、上記位置検出手段によって検出された上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得手段と、上記接触位置ズレ情報取得手段によって取得された上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定手段と、を備える構成である。
【００４９】
また、本発明に係る情報処理装置の制御方法は、ユーザが操作のために表示画面に接触している位置をユーザ接触位置として検出する位置検出ステップと、上記位置検出ステップにおいて検出した上記ユーザ接触位置と、上記表示画面における位置検出の基準点となる位置検出基準点とのズレを示す接触位置ズレ情報を取得する接触位置ズレ情報取得ステップと、上記接触位置ズレ情報取得ステップにおいて取得した上記接触位置ズレ情報に基づき、上記表示画面に表示されるソフトウェアキーの表示レイアウトを決定するキーレイアウト決定ステップと、を含む方法である。
【００５０】
上記構成によれば、ユーザは、正確なキー入力を行うことができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態に係る情報処理装置（スマートフォン）の要部構成を示すブロック図である。
【図２】図１に示すスマートフォンにおいて、レイアウトＤＢに格納されているレイアウトデータのデータ構造例を示す図である。
【図３】図１に示すスマートフォンによるソフトウェアキーのレイアウトの決定に係る処理の流れを示すフローチャートである。
【図４】（ａ）は、図１に示すスマートフォンにおける、ズレ量の登録処理時の表示例を示す図であり、（ｂ）は、上記登録処理時のユーザの指のタッチ位置を、位置検出基準点（基準点）とともに示す図であり、（ｃ）は、上記ズレ量が小さい場合にキーサイズを拡大せず表示した表示例を示す図であり、（ｄ）は、上記ズレ量が大きい場合にキーサイズを拡大して表示した表示例を示す図である。
【図５】（ａ）は、図１に示すスマートフォンの一応用例において、レイアウトＤＢに格納されている、キーの幅に関するレイアウトデータのデータ構造例を示す図であり、（ｂ）は、上記レイアウトＤＢに格納されている、キーの高さに関するレイアウトデータのデータ構造例を示す図である。
【図６】（ａ）は、図１に示すスマートフォンの一応用例における、タッチパネルのｘ軸方向に上記ズレ量が大きい場合の表示例を示す図であり、（ｂ）は、（ａ）に示す応用例における、タッチパネルのｙ軸方向に上記ズレ量が大きい場合の表示例を示す場合であり、（ｃ）は、図１に示すスマートフォンの別の応用例における、ズレ量の登録処理時の表示例を示す図であり、（ｄ）は、（ｃ）に示す応用例において、上記所定範囲の領域ごとにキーサイズを変更した表示例を示す図であり、（ｅ）は、図１に示すスマートフォンのさらに別の応用例において、該スマートフォンを水平に置いて操作する使用状況を横から見た状態を示す図であり、（ｆ）は、（ｅ）に示す応用例における表示例を示す図である。
【発明を実施するための形態】
【００５２】
本発明の一実施形態について、図１〜６に基づいて説明すると以下のとおりである。
【００５３】
以下で説明する実施形態では、一例として、本発明の情報処理装置を、スマートフォンに適用した場合について説明する。しかし、本発明はこれに限定されず、例えば、携帯電話、タブレット端末、パーソナルコンピュータ（ＰＣ）、ＰＤＡ（Personal Digital Assistant）、電子書籍リーダ、電子辞書、ゲーム機器、デジタルカメラ等、画面を表示する機構と、ＧＵＩ画面に対するユーザ操作を受け付けるための機構とを備えるあらゆる情報処理装置に、本発明が適用され得る。
【００５４】
なお、以下の図面において同一または相当する部分には、同一の参照符号を付すものとし、それらの説明は重複して行わない。また、図面における長さ、大きさおよび幅などの寸法関係ならびに形状は、図面の明瞭化と簡略化のために適宜に変更されており、実際の寸法および形状を表してはいない。
【００５５】
〔スマートフォン１００の機能概要〕
本発明の一実施形態に係るスマートフォン（情報処理装置）１００は、タッチパネル（表示画面）１上に、ＧＵＩであるソフトウェアキーボードを表示させる。
【００５６】
本実施形態では、図４に示すように、タッチパネル１上に表示されるソフトウェアキーボードＫＢ（ソフトウェアキー）に含まれるキー（ソフトウェアキー）Ｋｎの表示サイズおよびキーレイアウトが、ユーザのタッチパネル１上のタッチ位置が、ユーザが意図した位置からどの程度ずれているかに応じて変更される。具体的には、スマートフォン１００は、タッチパネル１上に１または複数の基準点（位置検出基準点）Ｐ１を表示し、基準点Ｐ１に対するユーザ操作位置であるユーザ接触位置Ｐ２と、基準点Ｐ１との距離を検出し、これをズレ量Ｄ（接触位置ズレ情報）として登録・保持する。
【００５７】
スマートフォン１００は、このズレ量Ｄの大小により、ソフトウェアキーボードＫＢを構成するキーＫｎの表示サイズおよびキーレイアウトを変更する。具体的には、ズレ量Ｄが大きければ、キーＫｎの表示サイズが拡大され、これに伴い、各キーＫｎについて入力可能範囲が拡大される。一方、ズレ量Ｄが小さければ、キーＫｎの表示サイズは拡大されないが、１画面上にキーＫｎをより多く表示させることができる。
【００５８】
〔スマートフォン１００における表示例〕
図４は、本発明の一実施形態に係るスマートフォン１００による登録処理時の表示例、および該登録処理に基づいて決定されたキーレイアウトでのソフトウェアキーの表示例を示す図である。
【００５９】
図４（ａ）は、タッチ操作時のズレ量Ｄを登録する登録処理の際の、スマートフォン１００の表示例を、ユーザの指Ｆとともに示す図である。タッチパネル１上に、１または複数（図中では５個）の基準点Ｐ１が表示されており、ユーザは、各基準点Ｐ１に対し指Ｆでタッチ操作を行う。
【００６０】
図４（ｂ）は、図４（ａ）に例示した登録処理における指Ｆの接触位置を、基準点Ｐ１とともに示す拡大図である。タッチパネル１におけるユーザの指Ｆの接触位置であるユーザ接触位置Ｐ２と、基準点Ｐ１との距離は、ズレ量Ｄとして登録される。
【００６１】
本実施形態において、ソフトウェアキーボードＫＢの各キーＫｎの表示サイズ、およびキーレイアウトは、このズレ量Ｄに基づいて決定される。すなわち、ズレ量Ｄが大きいことは、ユーザの指Ｆの実際の接触位置がユーザ所望の位置から大きくずれていることを示している。この場合、キーＫｎの表示サイズが小さいと、当該ユーザのタッチ位置が、ユーザが意図したキーＫｎと異なる領域であることによる誤入力を招く。よって、当該ユーザが正確なキー入力を行うためには、当該ズレ量Ｄを許容する程度にキーＫｎの表示サイズが拡大されることが好ましい。一方、ズレ量Ｄが小さいことは、ユーザの指Ｆが、ユーザが意図した位置をほぼ正確にタッチしていることを示している。この場合、キーＫｎの表示サイズを拡大せずとも当該ユーザは十分に正確なキー入力が行えると考えられるため、キーＫｎの表示サイズは拡大されない。
【００６２】
図４（ｃ）は、図４（ｂ）において、ズレ量Ｄが小さい場合のソフトウェアキーボードＫＢの表示例を示す図である。ソフトウェアキーボードＫＢはタッチパネル１内での表示範囲が予め設定されており、各キーＫｎの表示サイズに応じて１画面内に表示可能なキーＫｎの数が決定される。従って、キーＫｎの表示サイズが小さければ小さいほど、スマートフォン１００は、１画面内に多数のキーＫｎを表示させることができる。なお、以下の記載においては、ズレ量Ｄが小さい場合にキーＫｎの表示サイズはデフォルトの表示サイズから拡大されない構成として説明するが、ズレ量Ｄが所定値よりも小さい場合にキーＫｎの表示サイズをデフォルトのサイズから縮小する構成であってもよい。
【００６３】
図４（ｄ）は、図４（ｂ）において、ズレ量Ｄが大きい場合のソフトウェアキーボードＫＢの表示例を示す図である、図４（ｃ）と比較してキーＫｎの表示サイズが拡大されており、これによって入力可能範囲が拡大されている。表示サイズの拡大に伴い、１画面内におけるキーＫｎの表示数が減少しているため、タッチパネル１上の所定の位置をタップまたはフリック操作することにより、表示されるキーＫｎを切り替えることで、全てのキーＫｎを表示できるようにしてもよい。
【００６４】
〔スマートフォン１００の構成〕
図１は、本実施形態に係るスマートフォン１００の要部構成を示すブロック図である。
【００６５】
本発明のスマートフォン１００は、図１に示すとおり、少なくとも、タッチパネル１、制御部２、および記憶部３を備えている。さらに、スマートフォン１００は、スマートフォンとしての一般的な機能を実現するために、例えば、図示しない、通信部、タッチパネルとは別の操作部（ボタン、スイッチなど）、近距離無線通信部、音声出力部、音声入力部、外部インターフェース、通話処理部、撮影を行う撮像部（レンズ、撮像素子等）、放送受像部（チューナ、復調部等）、ＧＰＳ、およびセンサ（加速度センサ、傾きセンサ等）他、スマートフォンが標準的に備えている各種部品を備えていてもよい。なお、本実施形態の一応用例（応用例３）においては、スマートフォン１００は傾きセンサ（傾き検出手段）を必須の要素として備えている。
【００６６】
タッチパネル（表示画面）１は、ユーザ入力受付および画像表示のためのインターフェースである。タッチパネル１は、操作部１１と表示部（表示画面）１２とを備えてなる。
【００６７】
操作部１１は、ユーザがスマートフォン１００を操作するための指示信号を、タッチパネル１を介して入力するためのものである。操作部１１は、タッチ面とタッチセンサとで構成されている。タッチ面は、指示体（表示部１２の画面位置を指示するもの。ここでは、例えば、指またはペン等）の接触を受け付けるものである。タッチセンサは、指示体とタッチ面との間の接触／非接触（接近／非接近）、および、その接触（接近）位置を検知するためのタッチセンサとで構成されている。タッチセンサは、指示体とタッチ面との接触／非接触を検知できればどのようなセンサで実現されていてもよい。例えば、圧力センサ、静電容量センサ、光センサ等で実現されてもよい。
【００６８】
表示部（表示画面）１２は、スマートフォン１００が扱う情報を表示するものである。表示部１２には、ソフトウェアキーボードを含む、ユーザがスマートフォン１００を操作するためのＧＵＩの他、スマートフォン１００に搭載されているアプリケーションのアプリケーションウィンドウ等、あらゆる表示対象物質が表示される。表示部１２は、例えば、ＬＣＤ（液晶ディスプレイ）などの表示装置で実現される。
【００６９】
タッチパネル１を投影型静電容量方式のタッチパネルで実現する場合、具体的には、上記タッチセンサは、ＩＴＯ（Indium Tin Oxide）等によるマトリクス状の透明電極パターンを、ガラス、プラスチック等の透明基板上に形成したものとなる。タッチセンサに指示体（ユーザの指またはペン等）が接触または接近すると、その付近の複数の透明電極パターンにおける静電容量が変化する。従って、制御部２は、上記透明電極パターンの電流または電圧の変化を検出することにより、上記指示体が接触または接近した位置を検出することができる。
【００７０】
以下では、「タッチ操作（を検知する・受け付ける）」、「タッチ位置」などというときの「タッチ」または「接触」という用語は、指示体とタッチ面とが完全に接する（接している）状態のみならず、指示体とタッチ面とが、タッチセンサが検知可能な程度に接近する（接近している）状態も含んでいる。
【００７１】
記憶部３は、スマートフォン１００の制御部２が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）制御部２が、スマートフォン１００が有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを記憶するものである。あるいは、（５）制御部２が各種機能を実行する過程で演算に使用するデータおよび演算結果等を記憶するものである。例えば、上記の（１）〜（４）のデータは、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically EPROM）（登録商標）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。例えば、上記（５）のデータは、ＲＡＭ（Random Access Memory）等の揮発性記憶装置に記憶される。どのデータを記憶するために、記憶部３をどの記憶装置にて実現するのかについては、スマートフォン１００の使用目的、利便性、コスト、物理的な制約等から適宜決定されればよい。記憶部３は、レイアウトＤＢ３１を備える。
【００７２】
レイアウトＤＢ３１は、各キーＫｎの表示サイズ（キーＫｎの幅および高さ）を、ズレ量Ｄと対応付けてレイアウトデータとして格納したデータベースである。
【００７３】
図２は、レイアウトＤＢ３１に格納されているレイアウトデータのデータ構造の一例を示す図である。この例では、レイアウトデータは、ズレ量ＤとキーＫｎの表示サイズ（幅および高さ）とが対応付けられたデータであり、以下では対応表とも記載する。「ズレ量」のカラムに含まれる各ラベルの示す数値をｘとしたとき、ズレ量Ｄに対し、Ｘ＝ｍａｘ｛ｘ｜ｘ＜Ｄ｝を満たすＸをラベルとして有するレコードが、当該ズレ量Ｄに対応するキーＫｎの表示サイズを含むレコードとして特定される。例えば、ズレ量Ｄが１ｍｍであるとき、「ズレ量」のカラムにおいてラベル「０」を有するレコード、すなわちインデックス番号１を有するレコードが選択されてもよい。図２に示す例では、インデックス番号１を有するレコードにおいて、各キーＫｎの幅（ｘ軸方向の長さ）は１２．０ｍｍ、高さ（ｙ軸方向の長さ）は１０．０ｍｍである。上記の幅および高さに基づき、例えば、ソフトウェアキーボードＫＢの表示可能範囲を１００ｍｍ×１００ｍｍとしたとき、キーＫｎはｘ軸方向に８個、ｙ軸方向に１０個表示可能であるから、１画面上に表示可能なキーＫｎの数は８０個となる。
【００７４】
なお、上記で説明の便宜上メートル法にて表現した数値は、スマートフォン１００上ではピクセル数にて表現される。具体的には、例えば、表示部１２が１ｍｍあたり１０ピクセル表示可能な画面解像度を有する場合には、上記の例では、１０ピクセルのズレ量Ｄに対し、各キーＫｎの幅は１２０ピクセル、高さは１００ピクセルとなる。もちろん、上記表示サイズ、表示可能範囲、およびズレ量Ｄは、表示部１２の画面解像度が異なれば異なる値をとる。
【００７５】
選択されるレコードにおけるキーＫｎの表示サイズは、上述および図２に示すように、ズレ量Ｄの増大に伴って拡大されることが好ましい。これにより、ズレ量Ｄが大きい、すなわちユーザのタッチ操作の位置的精度が低い場合には、各キーＫｎの表示サイズ、すなわちユーザ入力を受け付ける範囲が広くなるため、誤入力を防止することができる。しかしながら、個々のキーＫｎの表示サイズをあまりに拡大すると、１画面に表示可能なキーＫｎの数が極端に少なくなり、結果としてソフトウェアキーボードＫＢのＧＵＩとしての本来の利便性が著しく損なわれることとなる。このため、ズレ量Ｄが所定の閾値（図２に示す例では１０ｍｍ）を上回る場合には、上述のＸの定義に従い、上記レイアウトデータに含まれる複数のレコードのうち、キーＫｎの表示サイズが最大となるもの（図２に示す例ではインデックス番号６のレコード）が一律に選択される。これにより、ソフトウェアキーボードＫＢは、誤入力を防止するようにキーＫｎの表示サイズを変更しながら、ＧＵＩとしての利便性を一定以上に維持することができる。
【００７６】
制御部２は、スマートフォン１００が備える各部の機能を統括し、スマートフォン１００の駆動を制御するものである。制御部２は、例えば、ＣＰＵ（central processing unit）等で実現され、スマートフォン１００が備える機能は、制御部２としてのＣＰＵが、ＲＯＭ等に記憶されているプログラムを、ＲＡＭ等に読み出して実行することで実現される。制御部２は、図１に示すとおり、機能ブロックとして、少なくとも、操作取得部（位置検出手段）２１、接触位置ズレ情報取得部（接触位置ズレ情報取得手段）２２、キーレイアウト変更部（キーレイアウト決定手段）２３、および、表示制御部２４を含む構成である。
【００７７】
操作取得部（位置検出手段）２１は、タッチパネル１の操作部１１を介して入力されたユーザ操作に係る指示信号を受け付け、制御部２内の各部材の挙動に上記ユーザ操作を反映させるためのものである。具体的には、本実施形態では、操作取得部２１は、操作部１１から入力された指示信号を受け付け、指示体（以下、ユーザの指とする）の接触位置について表示部１２における座標の特定を行う。また、上記指示信号を時系列で受け付け、接触位置の軌跡の座標を時系列で特定することで、ユーザ操作の継続時間および接触位置の移動を検知し、取得したユーザ操作をタップ、長押し、フリック、およびドラッグ等として識別してもよい。操作取得部２１が特定した座標情報は、接触位置ズレ情報取得部２２に供給される。
【００７８】
接触位置ズレ情報取得部（接触位置ズレ情報取得手段）２２は、操作取得部２１が特定した接触位置の座標に基づき、ユーザ所望の接触位置と実際の接触位置とがどの程度ずれているかを求めるものである。具体的には、図４を参照すれば、タッチパネル１（操作部１１）におけるユーザの指Ｆの接触位置であるユーザ接触位置Ｐ２を特定する座標と、タッチパネル１（表示部１２）に表示された基準点Ｐ１の表示位置を特定する座標との距離を求め、該距離をズレ量Ｄとして決定する。接触位置ズレ情報取得部２２が決定したズレ量Ｄは、キーレイアウト変更部２３に供給される。
【００７９】
ここで、ズレ量（接触位置ズレ情報）Ｄについて説明する。ズレ量Ｄは、基準点Ｐ１とユーザ接触位置Ｐ２との距離を示す数量である。具体的には、基準点Ｐ１およびユーザ接触位置Ｐ２のｘ軸およびｙ軸の座標から、タッチパネル１の平面上における２点間の距離を求める。または、上記平面におけるｘ軸およびｙ軸のそれぞれについての２点の座標間の差分の絶対値のいずれかまたは両方が別個にズレ量Ｄとして用いられてもよい。後者の構成は、一方の軸についてのみ接触位置が大きくずれる場合等における適切なキーＫｎの表示サイズの変更に有用である。また、本実施形態において、ズレ量Ｄは、１つの基準点Ｐ１によって取得されてもよいし、複数の基準点Ｐ１によって取得されてもよい。複数の基準点Ｐ１によってズレ量Ｄが取得される場合、該ズレ量Ｄは、ｎ個の基準点Ｐ１のそれぞれについてのズレ量をＤｋ＝｛Ｄ１、Ｄ２、…、Ｄｎ｝としたとき、最大のＤｋをズレ量Ｄとしてもよいし、全てのＤｋの平均をズレ量Ｄとしてもよい。最大のＤｋをズレ量Ｄとすることにより、タッチ時のズレが最も大きくなる状況に対応したレイアウトで、ソフトウェアキーを表示画面に表示させることができる。一方、全てのＤｋの平均をズレ量Ｄとすることにより、タッチ時の平均的なズレに基づいたレイアウトで、ソフトウェアキーを表示画面に表示させることができる。
【００８０】
キーレイアウト変更部（キーレイアウト決定手段）２３は、ソフトウェアキーボードＫＢのレイアウトを変更するものである。具体的には、キーレイアウト変更部２３は、接触位置ズレ情報取得部２２からズレ量Ｄを取得すると、当該ズレ量Ｄに対応するキーＫｎの表示サイズを、レイアウトＤＢ３１から取得する。図２を参照して説明すれば、キーレイアウト変更部２３は、レイアウトＤＢ３１に格納された上記対応表において、当該のズレ量Ｄに対応するキーＫｎの表示サイズを含むレコードを特定し、これをソフトウェアキーボードＫＢのレイアウト情報として取得する。
【００８１】
キーレイアウト変更部２３によるレイアウトの変更に係る表示例を、図４（ｃ）および図４（ｄ）を参照して説明する。ここでは、ソフトウェアキーボードＫＢのデフォルトのレイアウトが図４（ｃ）に示すものであり、接触位置ズレ情報取得部２２が取得したズレ量Ｄが５ｍｍである場合を想定する。キーレイアウト変更部２３は、ズレ量Ｄ（５ｍｍ）に基づき、上記対応表を参照して、「ズレ量」のカラムにおいて、Ｘ＝ｍａｘ｛ｘ｜ｘ＜５｝を満たすＸ、図２に示す例では「６」をラベルとして有するレコード（インデックス番号「３」を有するレコード）を特定する。すなわち、図２に基づけば、キーＫｎが幅１６．０ｍｍ、高さ１３．３ｍｍを有するレコードを特定し、これをレイアウト情報として取得する。上記取得したレイアウト情報に基づいたソフトウェアキーボードＫＢの表示例が、図４（ｄ）である。なお、上述したとおり、ズレ量Ｄが所定の閾値以上となる場合には、キーレイアウト変更部２３は、キーＫｎの表示サイズが最大となるレコードを選択することが好ましい。
【００８２】
表示制御部２４は、制御部２によって処理された各種情報を表示部１２において可視化するために、表示部１２に対し、当該各種情報を画像として表示するための信号を出力するものである。本実施形態では特に、表示制御部２４は、キーレイアウト変更部２３から取得した上記レイアウト情報に基づき、所定のレイアウトを有するソフトウェアキーボードＫＢを表示させるための映像信号を記憶部３から読み出し、該映像信号を画像として表示するための信号を表示部１２に対し出力する。また、基準点Ｐ１を表示する場合には、予め設定されたタッチパネル１上の座標において、１または複数の基準点Ｐ１を表示させるための映像信号を記憶部３から読み出し、該映像信号を画像として表示するための信号を表示部１２に対し出力してもよい。表示部１２が、液晶ディスプレイで実現されている場合には、表示制御部２４は、ソフトウェアキーボードＫＢを可視化画像として表示させるための、液晶パネルの各ピクセルの駆動を指示する信号を、表示部１２に対して出力する。
【００８３】
〔スマートフォン１００における処理の流れ〕
次に、図３を参照しながら、スマートフォン１００における処理の流れについて説明する。図３は、スマートフォン１００におけるズレ量Ｄの登録からソフトウェアキーボードＫＢのレイアウトの決定までの処理の流れを示すフローチャートである。
【００８４】
まず、表示制御部２４は、表示部１２に基準点Ｐ１を表示させる（Ｓ３０１）。具体的には、表示制御部２４は、操作取得部２１が取得したユーザ操作の指示内容に基づき決定される、予め設定されたタッチパネル１上の１または複数の座標を示す情報を記憶部３から読み出し、当該座標に１または複数の基準点Ｐ１を表示部１２に表示させる。図４（ａ）に示す例では、５個の基準点Ｐ１が表示されている。
【００８５】
次に、操作取得部２１が、ユーザ接触位置Ｐ２を取得する（Ｓ３０２：位置検出ステップ）。具体的には、操作部１１から入力されたユーザ操作に係る指示信号を受け付け、ユーザの指Ｆの接触位置について表示部１２における座標の特定を行う。
【００８６】
次に、接触位置ズレ情報取得部２２は、基準点Ｐ１とユーザ接触位置Ｐ２とのズレ量Ｄを算出する（Ｓ３０３：接触位置ズレ情報取得ステップ）。具体的には、接触位置ズレ情報取得部２２は、ステップＳ３０１において決定された基準点Ｐ１の表示位置を特定する座標と、ステップＳ３０２において操作取得部２１が取得したユーザ接触位置Ｐ２を特定する座標との、タッチパネル１の平面上の距離を算出する。
【００８７】
次に、キーレイアウト変更部２３は、ズレ量Ｄが所定値を上回る否かを判定する（Ｓ３０４）。具体的には、キーレイアウト変更部２３は、接触位置ズレ情報取得部２２からズレ量Ｄを取得すると、レイアウトＤＢ３１に格納されている、ズレ量ＤとキーＫｎの表示サイズ（幅および高さ）との対応表（図２）を参照する。このとき、ステップＳ３０３において算出されたズレ量Ｄの値が、上記対応表のズレ量のカラムに含まれる数値の最大値（図２では１０ｍｍ）以下であれば（Ｓ３０４でＮＯ）ステップＳ３０５（キーレイアウト決定ステップ）に移行し、上記最大値を上回れば（Ｓ３０４でＹＥＳ）ステップＳ３０６（キーレイアウト決定ステップ）に移行する。
【００８８】
ズレ量Ｄが所定値以内である場合（Ｓ３０４においてＮＯ）、キーレイアウト変更部２３は、ズレ量Ｄに対応するレイアウト情報を取得する（Ｓ３０５：キーレイアウト決定ステップ）。具体的には、キーレイアウト変更部２３は、レイアウトＤＢ３１に格納されている上記対応表を参照し、ステップＳ３０３において算出されたズレ量Ｄに対応するキーＫｎの表示サイズを含むレコードを特定し、これをソフトウェアキーボードＫＢのレイアウト情報として取得する。
【００８９】
ズレ量Ｄが所定値を上回る場合（Ｓ３０４においてＹＥＳ）、キーレイアウト変更部２３は、キーＫｎの表示サイズが最大となるレイアウト情報を取得する（Ｓ３０６：キーレイアウト決定ステップ）。具体的には、キーレイアウト変更部２３は、レイアウトＤＢ３１に格納されている上記対応表のうち、ズレ量のカラムの数値が最大であるレコードを特定し、これをソフトウェアキーボードＫＢのレイアウト情報として取得する。
【００９０】
次に、表示制御部２４は、取得したレイアウト情報に基づき、ソフトウェアキーボードＫＢを表示させる（Ｓ３０７）。具体的には、表示制御部２４は、ステップＳ３０５またはＳ３０６でキーレイアウト変更部２３が取得したレイアウト情報に基づき、該レイアウト情報が示すレイアウトを有するソフトウェアキーボードＫＢを表示させるための映像信号を記憶部３から読み出し、該映像信号を画像として表示するための表示部１２に対し出力する。
【００９１】
以上のように、本実施形態に係るスマートフォン１００は、基準点Ｐ１と、該基準点Ｐ１に対するユーザのタッチ位置であるユーザ接触位置Ｐ２との距離を示すズレ量Ｄの大小に応じて、ソフトウェアキーボードＫＢのレイアウト、具体的には、ソフトウェアキーボードＫＢを構成するキーＫｎの表示サイズおよび表示数を変更する構成である。具体的には、ズレ量Ｄの増大に応じてキーＫｎの表示サイズを拡大する。また、ズレ量Ｄが小さい場合にはキーＫｎの表示サイズをデフォルトから縮小してもよい。
【００９２】
これにより、スマートフォン１００は、ユーザの指の大きさやタッチの癖等の個人差に応じて、適切なレイアウトでソフトウェアキーボードＫＢを表示部１２に表示させることができる。具体的には、例えば、タッチ位置が所望の位置からずれやすいユーザに対してはキーＫｎを拡大して提示することができるので、誤入力を防止することができる。従って、ユーザは正確なキー入力を行うことができる。
【００９３】
また、スマートフォン１００は、タッチ位置の精度が高いユーザに対してはキーＫｎの表示サイズを拡大しない、または縮小することで、より多くのキーＫｎを１画面内に表示させることができる。これにより、ユーザは、キー選択のための画面の切り替え操作を省略することができる。
【００９４】
また、スマートフォン１００は、ズレ量Ｄが所定の閾値を上回る場合には、キーＫｎの表示サイズが最大となるレイアウトを採用することで、ソフトウェアキーボードＫＢがＧＵＩとしての利便性を著しく損なうことを防止することができる。
【００９５】
さらに、スマートフォン１００は、複数の基準点Ｐ１のそれぞれについてのズレ量Ｄから導かれるズレ量Ｄの最大値または平均値に基づき、ソフトウェアキーボードＫＢのレイアウトを決定することで、ユーザにより確実に正確なキー入力が可能なＧＵＩを提示することができる。
【００９６】
〔応用例１：キーＫｎの幅と高さとを独立に変更する〕
本実施形態の別の応用例を、図５、図６（ａ）および図６（ｂ）を参照して説明する。なお、説明の便宜上、上述にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。以下、応用例２および３についても同様とする。
【００９７】
本応用例において、スマートフォン１００は、タッチパネル１の平面上におけるｘ軸およびｙ軸のそれぞれについてのキーＫｎの表示サイズ、すなわち幅（ｘ軸方向の幅）Ｗおよび高さ（ｙ軸方向の幅）Ｈを別個に変更する構成である。例えば、ｙ軸方向にのみタッチ位置がずれやすいユーザに対して、キーＫｎの高さ（ｙ軸方向の長さ）を選択的に（またはより多く）増大させる。
【００９８】
図６（ａ）は、図４（ｃ）に示す例と比較して、幅Ｗが増大したキーＫｎによってソフトウェアキーボードＫＢが構成されている表示例を示す図である。一方、図６（ｂ）は、図４（ｃ）に示す例と比較して、高さＨが増大したキーＫｎによってソフトウェアキーボードＫＢが構成されている表示例を示す図である。
【００９９】
本応用例において、接触位置ズレ情報取得部２２は、タッチパネル１の平面上のｘ軸およびｙ軸のそれぞれについて、基準点Ｐ１を特定する座標と、ユーザ接触位置Ｐ２を特定する座標との間の差分の絶対値を、ｘ軸方向のズレ量（接触位置ズレ情報）Ｄｘおよびｙ軸方向のズレ量（接触位置ズレ情報）Ｄｙとして取得する。
【０１００】
図５は、レイアウトＤＢ３１に格納されているレイアウトデータのデータ構造の一例を示す図である。本応用例において、キーレイアウト変更部２３は、図２の説明と同様の手順に従い、ｘ軸方向のズレ量Ｄｘに基づき図５（ａ）に示す対応表を参照してキーＫｎの幅Ｗを決定し、ｙ軸方向のズレ量Ｄｙに基づき図５（ｂ）に示す対応表を参照してキーＫｎの高さＨを決定する。キーレイアウト変更部２３は、上記決定したキーＫｎの幅Ｗおよび高さＨの組み合わせを、レイアウト情報として取得し、表示制御部２４に供給する。表示制御部２４は、該レイアウト情報に基づき、幅Ｗが選択的に増大した（図６（ａ））、または高さＨが選択的に増大した（図６（ｂ））ソフトウェアキーボードＫＢを表示部１２に表示させる。
【０１０１】
本応用例の構成によれば、スマートフォン１００は、ズレ量Ｄがｘ軸方向またはｙ軸方向に特に大きいユーザに対して、特にズレ量Ｄが大きくなる方向にキーＫｎの幅Ｗまたは高さＨを拡大したソフトウェアキーボードＫＢを表示画面に表示させることができる。
【０１０２】
これにより、ユーザは、タッチ時の癖に応じて操作しやすい形状を有するソフトウェアキーを用いて、正確なキー入力を行うことができる。
【０１０３】
また、必要な方向にのみキーＫｎの表示サイズを拡大し、不要な方向には拡大を行わないことで、キーＫｎの表示面積の不要な増大を避け、よって、１画面内に表示可能なキーＫｎの数の減少を必要最小限に抑えることができる。
【０１０４】
〔応用例２：複数の領域ごとのズレ量Ｄに応じてレイアウトを変更する〕
本実施形態のさらに別の応用例を、図６（ｃ）および図６（ｄ）を参照して説明する。
【０１０５】
本応用例において、スマートフォン１００は、ズレ量Ｄの登録処理時に、図６（ｃ）中にＰ１−１、Ｐ１−２、Ｐ１−３、Ｐ１−４で示される複数の基準点Ｐ１をタッチパネル１上に表示する。上記複数の基準点Ｐ１の個数は４個に限定されず、２以上であれば何個であってもよいが、ソフトウェアキーボードＫＢのレイアウトの変更において不要な負荷を生じない程度の個数であることが好ましい。
【０１０６】
本応用例では、上記複数の基準点Ｐ１のうちいずれか１つを含む所定の領域（所定範囲の領域）、図６（ｃ）においてはＡ１−１、Ａ１−２、Ａ１−３、Ａ１−４で示される領域において、ソフトウェアキーボードＫＢのレイアウトは別個に変更される。
【０１０７】
本応用例におけるソフトウェアキーボードＫＢのレイアウトの変更において、図１に示した各手段は以下のように機能する。
【０１０８】
まず、操作取得部２１は、Ｐ１−１ないしＰ１−４のそれぞれに対するユーザの指Ｆのタッチ操作の検出位置、すなわちユーザ接触位置Ｐ２を取得する。複数のユーザ接触位置Ｐ２がそれぞれ上記複数の基準点Ｐ１のいずれに対するタッチ操作によるものであるかの判定は、各基準点Ｐ１と各ユーザ接触位置Ｐ２とのズレ量Ｄに基づいて判断してもよいし、タッチ操作の順序を予め指定しておき、ユーザ接触位置Ｐ２の検出順序によって判断してもよい。
【０１０９】
次に、接触位置ズレ情報取得部２２は、Ｐ１−１ないしＰ１−４についてのそれぞれのズレ量Ｄを取得する。続いて、キーレイアウト変更部２３は、接触位置ズレ情報取得部２２からＰ１−１ないしＰ１−４についての各ズレ量Ｄを取得すると、それぞれのズレ量Ｄに対応する、領域Ａ１−１ないしＡ１−４におけるソフトウェアキーボードＫＢのレイアウト情報を、レイアウトＤＢ３１から取得する。
【０１１０】
なお、本応用例において、レイアウトＤＢ３１には、領域Ａ１−１ないしＡ１−４のそれぞれについて、ズレ量ＤとキーＫｎの表示サイズ、すなわち幅Ｗおよび高さＨ（図６（ａ）および図６（ｂ））との対応関係を示すレイアウトデータが格納されている。
【０１１１】
キーレイアウト変更部２３が、領域Ａ１−１ないしＡ１−４のそれぞれにおける上記レイアウト情報を取得すると、表示制御部２４は、該レイアウト情報に基づき、領域Ａ１−１ないしＡ１−４において個別にレイアウトが変更されたソフトウェアキーボードＫＢの一部を表示部１２に表示させる。具体的には、上記レイアウト情報に示される表示サイズを有するキーＫｎによって構成されたソフトウェアキーボードＫＢの一部を、領域Ａ１−１ないしＡ１−４のそれぞれにおいて表示させる。
【０１１２】
本応用例における表示部１２による表示例を図６（ｄ）に示す。図６（ｄ）では、例として、図６（ｃ）に示す領域Ａ１−１およびＡ１−４においてズレ量Ｄが小さく、図６（ｃ）の領域Ａ１−２およびＡ１−３においてズレ量Ｄが大きい場合の表示例を示している。図６（ｃ）における領域Ａ１−１およびＡ１−４に対応する図６（ｄ）の領域におけるキーＫｎの表示サイズは相対的に小さく、一方、図６（ｃ）の領域Ａ１−２およびＡ１−３に対応する図６（ｄ）の領域におけるキーＫｎの表示サイズは相対的に大きくなる。
【０１１３】
本応用例によれば、スマートフォン１００は、ユーザが特に正確なタッチ操作を行いにくい領域において、選択的にキーＫｎの表示サイズを拡大することができる。これにより、スマートフォン１００は、キーＫｎの表示サイズの不要な減少を抑えながら、ユーザが正確なキー入力を行いやすいソフトウェアキーボードＫＢを提示することができる。また、画面全体に亘り各キーＫｎの入力の正確性の均一化を図ることができる。
【０１１４】
〔応用例３：自装置の傾きに応じてレイアウトを変更する〕
本実施形態のさらに別の応用例を、図６（ｅ）および図６（ｆ）を参照して説明する。
【０１１５】
本応用例において、スマートフォン１００は、傾きセンサ（傾き検出手段）（不図示）が検知した自装置の傾きに応じてソフトウェアキーボードＫＢのレイアウトを変更する。具体的には、例えば、図６（ｅ）に示すように、スマートフォン１００が机上等に水平に置かれている場合に、図６（ｆ）に示すように、タッチパネル１の上部に表示されるキーＫｎの高さ（ｙ軸方向の幅）Ｈｔを、下部に表示されるキーＫｎの高さ（ｙ軸方向の幅）Ｈｂよりも自動的に増大させる。
【０１１６】
本応用例の有用性の根拠を以下に説明する。図６（ｅ）に示すような状況において、スマートフォン１００のタッチパネル１の下部をユーザが操作する場合、ユーザは指Ｆの先端部でタッチパネル１にタッチするため、ユーザの指Ｆとタッチパネル１との接触面積は狭くなり、比較的正確なタッチ操作が可能である、換言すればズレ量Ｄが小さいと考えられる。一方、タッチパネル１の上部をユーザが操作する場合、ユーザは指Ｆの腹でタッチパネル１にタッチするため、ユーザの指Ｆとタッチパネル１との接触面積は広くなり、タッチ操作の位置的精度が、特にｙ軸方向において低下する、換言すればズレ量Ｄが大きくなると考えられる。
【０１１７】
上記の想定に基づけば、スマートフォン１００が机上等に水平に置かれている状況では、タッチパネル１上においてユーザから相対的に遠い位置のキーＫｎは、ユーザから相対的に近い位置のキーＫｎよりも大きなズレ量Ｄを許容する表示サイズを有することが好ましい。
【０１１８】
そこで、本応用例に係るスマートフォン１００は、タッチパネル１上の領域ごとに新たにズレ量Ｄの登録処理を実行せずとも、ユーザから相対的に遠い位置と、ユーザから相対的に近い位置との間で、表示されるキーＫｎの高さＨ（図６（ｂ））を変更することができる構成となっている。
【０１１９】
具体的には、本応用例において、レイアウトＤＢ３１には、ズレ量Ｄと、自装置が水平に置かれた場合のソフトウェアキーボードＫＢの行ごとの高さＨとの対応関係を示す対応表がレイアウトデータとして格納されている。上記傾きセンサによって自装置が水平状態であることが検知されると、キーレイアウト変更部２３は、接触位置ズレ情報取得部２２から取得したズレ量Ｄに基づき、該ズレ量Ｄに対応する画面上部のキーＫｎの高さＨｔおよび画面下部のキーＫｎの高さＨｂを有するレコードを特定し、これをレイアウト情報として取得する。該取得後は図３に示すステップＳ３０７に移行する。なお、タッチパネル１上のいずれの方向を上とするかについては、水平状態が検知される直前のスマートフォン１００の傾きに基づいて判断されてもよい。
【０１２０】
上記構成によれば、スマートフォン１００は、自装置の傾きに応じて、適切な表示レイアウトでソフトウェアキーボードＫＢをタッチパネル１上に表示させることができるので、ユーザは、情報処理装置を傾けて操作する状況においても、正確なキー入力を行うことができる。
【０１２１】
さらに、スマートフォン１００は、自装置の傾きに基づき、ズレ量Ｄの画面上の領域ごとの変動の態様がある程度想定可能である状況において、新たなズレ量Ｄの登録処理を不要とすることができる。
【０１２２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１２３】
〔ソフトウェアによる実現例〕
最後に、スマートフォン１００の制御部２の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０１２４】
後者の場合、スマートフォン１００は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access 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）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１２７】
このように、本明細書においては、手段とは必ずしも物理的手段を意味せず、各手段の機能がソフトウェアによって実現される場合も含む。また、１つの手段の機能が２つ以上の物理的手段により実現されてもよいし、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【産業上の利用可能性】
【０１２８】
本発明は、スマートフォン、携帯電話、タブレット端末、パーソナルコンピュータ（ＰＣ）、ＰＤＡ（Personal Digital Assistant）、電子書籍リーダ、電子辞書、ゲーム機器、デジタルカメラ等、画面を表示する機構と、ＧＵＩ画面に対するユーザ操作を受け付けるための機構とを備える情報処理装置に好適に利用することができる。
【符号の説明】
【０１２９】
１    タッチパネル（表示画面）
１２    表示部（表示画面）
２１    操作取得部（位置検出手段）
２２    接触位置ズレ情報取得部（接触位置ズレ情報取得手段）
２３    キーレイアウト変更部（キーレイアウト決定手段）
１００    スマートフォン（情報処理装置）
Ａ１−１  領域（所定範囲の領域）
Ａ１−２  領域（所定範囲の領域）
Ａ１−３  領域（所定範囲の領域）
Ａ１−４  領域（所定範囲の領域）
Ｄ    ズレ量（接触位置ズレ情報）
ＤＢ３１  レイアウト
Ｄｘ    ｘ軸方向のズレ量（接触位置ズレ情報）
Ｄｙ    ｙ軸方向のズレ量（接触位置ズレ情報）
ＫＢ    ソフトウェアキーボード（ソフトウェアキー）
Ｋｎ    キー（ソフトウェアキー）
Ｈ    高さ（ｙ軸方向の幅）
Ｈｂ    高さ（ｙ軸方向の幅）
Ｈｔ    高さ（ｙ軸方向の幅）
Ｐ１    基準点（位置検出基準点）
Ｐ１−１  基準点（位置検出基準点）
Ｐ１−２  基準点（位置検出基準点）
Ｐ１−３  基準点（位置検出基準点）
Ｐ１−４  基準点（位置検出基準点）
Ｐ２    ユーザ接触位置
Ｗ    幅（ｘ軸方向の幅）
Ｓ３０２  位置検出ステップ
Ｓ３０３  接触位置ズレ情報取得ステップ
Ｓ３０５  キーレイアウト決定ステップ
Ｓ３０６  キーレイアウト決定ステップ
【図１】
2013257648.tif 000003
【図２】
2013257648.tif 000004
【図３】
2013257648.tif 000005
【図４】
2013257648.tif 000006
【図５】
2013257648.tif 000007
【図６】
2013257648.tif 000008