(57)【要約】【課題】携帯電子機器の操作性を向上すること。【解決手段】携帯電子機器１０は、プロセッサ１１と、タッチパネル１２と、加速度センサ１３と、メモリ１４とを有し、タッチパネル１２へのタッチを検出すると、タッチセンサ１２−２からタッチ位置を取得し、メモリ１４からタッチ直前の携帯電子機器１０の回転状態を取得し、タッチ位置と、タッチ直前の回転状態との組合せが所定の条件を満たすか否かを判断し、その組合せが所定の条件を満たすときに、携帯電子機器１０の回転量に応じた変更量だけ、タッチ位置をタッチが実際になされた位置から変更、または、タッチパネル１２上でのタッチの検出領域の位置を基準位置から変更する。【選択図】図１
2015084193.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルと、プロセッサとを備える携帯電子機器であって、
前記プロセッサは、前記タッチパネルへのタッチを検出したときに、前記タッチが実際になされた位置と、前記タッチから所定時間前の前記携帯電子機器の回転の状態とに応じて、タッチ位置を前記タッチが実際になされた位置から変更する第１の変更、前記タッチパネル上での前記タッチの検出領域の位置を基準位置から変更する第２の変更、または、前記タッチパネル上でのメニューの表示位置の決定を行う、
携帯電子機器。
【請求項２】
前記プロセッサは、前記タッチが実際になされた位置と、前記回転の状態とが所定の条件を満たすときに、前記第１の変更または前記第２の変更を行う、
請求項１に記載の携帯電子機器。
【請求項３】
前記プロセッサは、前記回転の量に応じて、前記第１の変更及び前記第２の変更における変更量を決定する、
請求項１または２に記載の携帯電子機器。
【請求項４】
タッチパネルと、プロセッサとを備える前記携帯電子機器に用いられる制御プログラムであって、
前記タッチパネルへのタッチを検出したときに、前記タッチから所定時間前の前記携帯電子機器の回転の状態を取得し、
前記タッチが実際になされた位置と、前記回転の状態とに応じて、タッチ位置を前記タッチが実際になされた位置から変更する第１の変更、前記タッチパネル上での前記タッチの検出領域の位置を基準位置から変更する第２の変更、または、前記タッチパネル上でのメニューの表示位置の決定を行う
処理を、前記プロセッサに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電子機器及び制御プログラムに関する。
【背景技術】
【０００２】
最近、携帯電子機器として、タッチパネルを搭載したスマートフォンの普及が進んでいる。また、スマートフォンの普及とともに、視認性を向上させるために、スマートフォンの大画面化が進んでいる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３４１２０号公報
【特許文献２】特開２００９−２３９４１０号公報
【特許文献３】特開２０１２−０３７９６３号公報
【特許文献４】国際公開第２００９／０３１２１４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スマートフォンのユーザは、スマートフォンを片手で把握して操作することが多い。また、スマートフォンを片手で把握したユーザは、タッチパネルを親指１本でタッチして操作することが多い。このため、大画面のスマートフォン、すなわち、大面積のタッチパネルを搭載したスマートフォンを片手で操作するユーザは、親指から遠い位置をタッチしようとする際に、所望のタッチ位置と異なる位置をタッチしてしまうことがある。例えば、スマートフォンを右手で把握したユーザが、右手の親指でタッチパネルの左上隅をタッチしようとする際に、指先がその左上隅の位置まで届かないために、その左上隅の位置よりも手前の位置を親指の腹でミスタッチしてしまうことがある。つまり、スマートフォンの大画面化が進むにつれて、視認性は向上する一方で、操作性が低下することがある。
【０００５】
開示の技術は、上記に鑑みてなされたものであって、操作性を向上できる携帯電子機器及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
開示の態様では、携帯電子機器に備えられたタッチパネルへのタッチを検出したときに、タッチから所定時間前の携帯電子機器の回転の状態を取得する。そして、タッチが実際になされた位置と、上記の回転の状態とに応じて、タッチ位置をタッチが実際になされた位置から変更する第１の変更、タッチパネル上でのタッチの検出領域の位置を基準位置から変更する第２の変更、または、タッチパネル上でのメニューの表示位置の決定を行う。
【発明の効果】
【０００７】
開示の態様によれば、携帯電子機器の操作性を向上できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１の携帯電子機器のハードウェア構成例を示す図である。
【図２】図２は、実施例１の回転角の説明に供する図である。
【図３】図３は、実施例１のタッチパネルのＸＹ座標の一例を示す図である。
【図４】図４は、実施例１の条件テーブルの一例を示す図である。
【図５】図５は、実施例１の座標算出テーブルの一例を示す図である。
【図６】図６は、実施例１の携帯電子機器の動作の説明に供する図である。
【図７】図７は、実施例１のピッチ角及びロール角の履歴の一例を示すグラフである。
【図８】図８は、実施例１の携帯電子機器の処理の説明に供するフローチャートである。
【図９】図９は、実施例２の携帯電子機器の動作の説明に供する図である。
【図１０】図１０は、実施例２の座標算出テーブルの一例を示す図である。
【図１１】図１１は、実施例３の条件テーブルの一例を示す図である。
【図１２】図１２は、実施例３の携帯電子機器の動作の説明に供する図である。
【図１３】図１３は、実施例３の携帯電子機器の動作の説明に供する図である。
【図１４】図１４は、実施例３の携帯電子機器の動作の説明に供する図である。
【図１５】図１５は、実施例３の携帯電子機器の処理の説明に供するフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する携帯電子機器及び制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する携帯電子機器及び制御プログラムが限定されるものではない。また、以下の実施例において、同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付し、重複する説明を省略する。
【００１０】
[実施例１]
＜携帯電子機器のハードウェア構成＞
図１は、実施例１の携帯電子機器のハードウェア構成例を示す図である。図１において、携帯電子機器１０は、プロセッサ１１と、タッチパネル１２と、加速度センサ１３と、メモリ１４とを有する。携帯電子機器１０の一例として、スマートフォン、片手によって把握可能な小型のタブレット端末等があり、携帯電子機器１０は、ユーザの片手によって操作可能なものである。
【００１１】
プロセッサ１１は、携帯電子機器１０の各種処理を行う。特に、プロセッサ１１は、タッチパネル１２へのタッチを検出し、タッチ位置に応じた処理を実行する。プロセッサ１１の一例として、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。
【００１２】
タッチパネル１２は、液晶パネル１２−１と、タッチセンサ１２−２とを有し、携帯電子機器１０の表面に取り付けられる。液晶パネル１２−１と、タッチセンサ１２−２とは積層されている。液晶パネル１２−１は、各種の情報を表示する。タッチセンサ１２−２は、タッチパネル１２上のタッチ位置を座標値に変換してプロセッサ１１に出力する。
【００１３】
加速度センサ１３は、携帯電子機器１０の「回転角」である、「ピッチ角」と「ロール角」とを検出する。
【００１４】
メモリ１４は、各種のプログラム、携帯電子機器１０の回転角の履歴等を記憶する。メモリ１４の一例として、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。
【００１５】
＜携帯電子機器の動作＞
図２は、実施例１の回転角の説明に供する図である。
【００１６】
本実施例では、図２に示すように、タッチパネル１２の搭載面を上面（つまり、Ｚ軸の正方向）とし、携帯電子機器１０に対し、携帯電子機器１０の短手方向に「Ｘ軸」を設定し、携帯電子機器１０の長手方向に「Ｙ軸」を設定する。携帯電子機器１０の短手方向はタッチパネル１２の短手方向に一致し、携帯電子機器１０の長手方向はタッチパネル１２の長手方向に一致する。また、タッチパネル１２の搭載面に向かって、Ｘ軸では右方向を正方向とし、Ｙ軸では上方向を正方向とする。
【００１７】
また、図２に示すように、Ｘ軸を回転軸とした回転２１を「ピッチ回転」とし、Ｙ軸を回転軸とした回転２２を「ロール回転」とする。すなわち、ピッチ回転は、携帯電子機器１０を縦方向に回転させる回転で、ロール回転は、携帯電子機器１０を横方向に回転させる回転となる。そして、携帯電子機器１０がタッチパネル１２の搭載面を上面にして水平に置かれた状態を、携帯電子機器１０の基準状態とする。その基準状態からのピッチ回転によってタッチパネル１２の搭載面と水平面との間に生じる角度を「ピッチ角」とする。また、その基準状態からのロール回転によってタッチパネル１２の搭載面と水平面との間に生じる角度を「ロール角」とする。また、ピッチ角の正方向は、Ｘ軸周りに携帯電子機器１０の上端を下方（つまり、Ｚ軸の負方向）に、下端を上方（つまり、Ｚ軸の正方向）に回転させる方向とする。ロール角の正方向は、Ｙ軸周りに携帯電子機器１０の左端を下方（つまり、Ｚ軸の負方向）に、右端を上方（つまり、Ｚ軸の正方向）に回転させる方向とする。加速度センサ１３は、所定の時間間隔（例えば、１００ms間隔）で、ピッチ角及びロール角を検出してプロセッサ１１に出力するとともに、検出時刻に対応させてメモリ１４に逐次記録する。よって、メモリ１４には、ピッチ角の履歴及びロール角の履歴、つまり、携帯電子機器１０の回転の履歴が記録される。
【００１８】
図３は、実施例１のタッチパネルのＸＹ座標の一例を示す図である。タッチパネル１２の全領域における座標値は、ＸＹ座標を用いて図３のように規定される。すなわち、タッチパネル１２の中央を原点（０,０）とし、Ｘ座標の値は−３６０から３６０までの何れかの値をとり、Ｙ座標の値は−６４０から６４０までの何れかの値をとる。タッチセンサ１２−２は、タッチパネル１２上のタッチ位置の座標（以下では「タッチ座標」と呼ぶことがある）をプロセッサ１１に出力する。
【００１９】
ここで、大面積のタッチパネル１２を搭載した携帯電子機器１０のユーザがＹ軸上の負方向に存在し、Ｙ軸上の正方向を向いて、携帯電子機器１０の下方を右手で把握し、タッチパネル１２へのタッチ操作を親指で行う場合を想定する。このような想定の場合、ユーザは、タッチパネル１２の上端付近に表示されたアイコンを親指でタッチしようとしても、親指の先がアイコンまで届かないことがある。そこで、ユーザは、タッチパネル１２の上端付近に表示されたアイコンを親指でタッチする際には、親指から遠い位置にあるアイコンを親指に近づけるために、携帯電子機器１０を負方向にピッチ回転させる傾向にある。
【００２０】
また上記のような想定の場合、ユーザは、タッチパネル１２の左端付近に表示されたアイコンを親指でタッチしようとしても、親指の先がアイコンまで届かないことがある。そこで、ユーザは、タッチパネル１２の左端付近に表示されたアイコンを親指でタッチする際には、親指から遠い位置にあるアイコンを親指に近づけるために、携帯電子機器１０を負方向にロール回転させる傾向にある。
【００２１】
また、ユーザが携帯電子機器１０を上記のように負方向にピッチ回転または負方向にロール回転させても、まだ親指の先がアイコンに届かずに、ユーザは、実際のアイコンの位置よりも親指に近い位置を親指の腹でタッチしてしまうことがある。つまり、大面積のタッチパネル１２を搭載した携帯電子機器１０を片手の親指で操作するユーザは、所望のアイコンの位置よりも手前の位置をタッチしてしまうことがある。
【００２２】
そこで、プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、以下のようにして、タッチが実際になされた位置と、そのタッチから所定時間前の携帯電子機器１０の回転の状態とに応じて、タッチ位置をそのタッチが実際になされた位置から変更する。「タッチから所定時間前」とは、例えば、「タッチの直前」である。以下、タッチの直前の回転の状態に応じて処理を行う場合について説明する。
【００２３】
図４は、実施例１の条件テーブルの一例を示す図であり、図５は、実施例１の座標算出テーブルの一例を示す図である。図４の条件テーブル及び図５の座標算出テーブルは、メモリ１４に記憶されている。
【００２４】
プロセッサ１１は、タッチパネル１２へのタッチを検出すると、タッチ座標をタッチセンサ１２−２から取得する。タッチセンサ１２−２から取得されるタッチ座標は、タッチが実際になされた位置を示す。また、プロセッサ１１は、タッチパネル１２へのタッチを検出すると、メモリ１４を参照して、タッチ直前の回転状態を取得する。例えば、プロセッサ１１は、タッチが検出された時刻でのピッチ角と、タッチが検出された時刻から所定の「対象時間」前の時刻でのピッチ角との差分を、ピッチ回転の状態として取得する。また、プロセッサ１１は、タッチが検出された時刻でのロール角と、タッチが検出された時刻から所定の「対象時間」前の時刻でのロール角との差分を、ロール回転の状態として取得する。１００ms間隔でピッチ角及びロール角がメモリ１４に記録される場合、「対象時間」は、例えば３００ｍｓに設定される。そして、プロセッサ１１は、タッチセンサ１２−２から取得されたタッチ座標と、タッチ直前の回転状態との組合せが、図４の条件テーブルに設定された各条件を満たすか否かを判断する。
【００２５】
例えば、タッチ座標（Ｘ,Ｙ）のうちのＸ座標の値が−３６０以上１２０以下の範囲（つまり、タッチパネル１２の左側の範囲）にあり、かつ、ロール回転の量が−９０°以上−２°以下の範囲にある場合は、プロセッサ１１は、その組合せが条件番号「１」の条件を満たすと判断する。なお、条件番号１の条件が満たされる場合、プロセッサ１１は、ユーザが携帯電子機器１０を右手で把握していると判断することができる。
【００２６】
また、タッチ座標（Ｘ,Ｙ）のうちのＸ座標の値が−１２０以上３６０以下の範囲（つまり、タッチパネル１２の右側の範囲）にあり、かつ、ロール回転の量が２°以上９０°以下の範囲にある場合は、プロセッサ１１は、その組合せが条件番号「２」の条件を満たすと判断する。なお、条件番号２の条件が満たされる場合、プロセッサ１１は、ユーザが携帯電子機器１０を左手で把握していると判断することができる。
【００２７】
また、タッチ座標（Ｘ,Ｙ）のうちのＹ座標の値が−２２０以上６４０以下の範囲（つまり、タッチパネル１２の上側の範囲）にあり、かつ、ピッチ回転の量が−９０°以上−２°以下の範囲にある場合は、プロセッサ１１は、その組合せが条件番号「３」の条件を満たすと判断する。
【００２８】
また、タッチ座標（Ｘ,Ｙ）のうちのＹ座標の値が−６４０以上２２０以下の範囲（つまり、タッチパネル１２の下側の範囲）にあり、かつ、ピッチ回転の量が２°以上９０°以下の範囲にある場合は、プロセッサ１１は、その組合せが条件番号「４」の条件を満たすと判断する。
【００２９】
そして、プロセッサ１１は、タッチ座標と、タッチ直前の回転状態との組合せが条件番号１〜４の何れかを満たす場合には、満たされた条件番号に基づいて、図５の座標算出テーブルに従って、タッチ位置の変更量を決定する。すなわち、プロセッサ１１は、その組合せが条件番号「１」または「２」の条件を満たす場合には、タッチ座標（Ｘ,Ｙ）のうちＸの値を「（（現在のロール角）−（対象時間前のロール角））」により算出される量だけ変更する。また、プロセッサ１１は、その組合せが条件番号「３」または「４」の条件を満たす場合には、タッチ座標（Ｘ,Ｙ）のうちＹの値を「−（（現在のピッチ角）−（対象時間前のピッチ角））×α」により算出される量だけ変更する。そして、プロセッサ１１は、変更後のタッチ位置に応じた処理を実行する。
【００３０】
ここで、「（（現在のロール角）−（対象時間前のロール角））」は、タッチ直前のロール回転の回転量に相当する。また、「（（現在のピッチ角）−（対象時間前のピッチ角））」は、タッチ直前のピッチ回転の回転量に相当する。つまり、プロセッサ１１は、携帯電子機器１０の回転の量に応じてタッチ位置の変更量を決定する。なお、αは変更量の調節係数であり、タッチパネル１２の縦横比に応じて設定されるのが好ましい。例えば、図３に示すように、タッチパネル１２の全領域が、Ｘ座標：−３６０〜３６０，Ｙ座標：−６４０〜６４０で表される場合、αは１.７７または１.７８に設定されるのが好ましい。
【００３１】
次いで、具体的な数値例を用いて、携帯電子機器１０の動作を説明する。図６は、実施例１の携帯電子機器の動作の説明に供する図である。
【００３２】
図６に示すようにタッチパネル１２にアイコンｉ１〜ｉ１２が表示されている状態で、携帯電子機器１０の下方を右手で把握するユーザがアイコンｉ１を右手の親指でタッチしようと試みた。しかし、親指とアイコンｉ１との間の距離が離れているために、アイコンｉ１の範囲外にある座標Ａ（−１７６,３１１）の位置が誤ってタッチされた。また、座標Ａがタッチされた時刻は「１１時３４分００.０秒」であり、その時刻でのロール角は「−１４°」、ピッチ角は「−１５°」であった。座標Ａがタッチされたとき、プロセッサ１１は、「１１時３４分００.０秒」から３００ms前（つまり、対象時間前）の「１１時３３分５９.７秒」におけるロール角「−５°」及びピッチ角「−１２°」をメモリ１４から取得した。よって、プロセッサ１１は、タッチ直前の回転状態として、タッチ直前のロール回転量を「−１４°−（−５°）＝−９°」と、タッチ直前のピッチ回転量を「−１５°−（−１２°）＝−３°」と算出する。よって、タッチが実際になされた位置である座標Ａ（−１７６,３１１）、タッチ直前のロール回転量：−９°及びタッチ直前のピッチ回転量：−３°は、図４に示す条件番号１〜４のうち、条件番号「１」と「３」とを満たす。
【００３３】
そこで、プロセッサ１１は、満たされた条件番号「１」と「３」とに基づいて、図５の座標算出テーブルに従って、タッチ位置の変更量を算出する。すなわち、プロセッサ１１は、Ｘ座標における変更量を「−１４−（−５）＝−９」と算出する。また、プロセッサ１１は、Ｙ座標における変更量を「−（−１５−（−１２））×２＝６」と算出する。なお、ここでは、説明を簡単にするために、α＝２とした。よって、変更後のタッチ位置のＸ座標の値は「−１７６＋（−９）＝−１８５」となり、変更後のタッチ位置のＹ座標の値は「３１１＋６＝３１７」となり、変更後のタッチ位置の座標Ｂ（−１８５,３１７）は、アイコンｉ１の範囲内に入る。このようにして、プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、タッチ位置を、そのタッチが実際になされた位置である座標Ａ（−１７６,３１１）から、座標Ｂ（−１８５,３１７）に変更する。よって、ユーザは、実際には座標Ａ（−１７６,３１１）の位置をタッチした場合でも、アイコンｉ１をタッチすることができ、プロセッサ１１は、アイコンｉ１がタッチされたものとして、アイコンｉ１へのタッチ操作に応じた処理を実行する。
【００３４】
次いで、タッチ位置の変更が行われる場合について、メモリ１４に実際に記録されたピッチ角及びロール角の履歴を用いて説明する。図７は、実施例１のピッチ角及びロール角の履歴の一例を示すグラフである。
【００３５】
図７における１１時３３分４６.０秒，１１時３４分００.０秒，１１時３４分００.８秒の各時点で、タッチパネル１２の左上がタッチされた。ここで、「タッチパネル１２の左上」の範囲は、例えば、Ｘ座標の値が−３６０以上１２０以下で、かつ、Ｙ座標の値が−２２０以上６４０以下の範囲と規定される。よって、１１時３３分４６.０秒，１１時３４分００.０秒，１１時３４分００.８秒の各時点において、座標条件は、図４の条件番号１，３を満たす。また、これらの各時点の直前、例えば、各時点の３００ms前から各時点までの間に、ロール回転及びピッチ回転の双方が負方向に変化し、ロール回転の条件が図４の条件番号１を満たし、ピッチ回転の条件が図４の条件番号３を満たした。つまり、１１時３３分４６.０秒，１１時３４分００.０秒，１１時３４分００.８秒の各時点において、座標条件及び回転条件の双方が同時に満たされる条件番号は、条件番号１，３となる。そこで、プロセッサ１１は、１１時３３分４６.０秒，１１時３４分００.０秒，１１時３４分００.８秒の各時点で、タッチ位置を、タッチが実際になされた位置から左上方向の位置へ変更する。
【００３６】
また、図７における１１時３４分０３.３秒の時点で、タッチパネル１２の中央上方がタッチされた。ここで、「タッチパネル１２の中央上方」の範囲は、例えば、Ｘ座標の値が−１２０以上１２０以下で、かつ、Ｙ座標の値が−２２０以上６４０以下の範囲と規定される。よって、１１時３３分０３.３秒の時点において、座標条件は、図４の条件番号１，２，３を満たす。また、１１時３４分０３.３秒の時点の直前、例えば、この時点の３００ms前からこの時点までの間に、ピッチ回転は負方向に変化して図４の条件番号３を満たしたが、正方向のロール回転は図４の条件番号２を満たさなかった。つまり、１１時３４分０３.３秒の時点において、座標条件及び回転条件の双方が同時に満たされる条件番号は、条件番号３となる。そこで、プロセッサ１１は、１１時３４分０３.３秒の時点で、タッチ位置を、タッチが実際になされた位置から上方向の位置へ変更する。
【００３７】
また、図７における１１時３４分０９.１秒の時点で、タッチパネル１２の右上がタッチされた。ここで、「タッチパネル１２の右上」の範囲は、例えば、Ｘ座標の値が−１２０以上３６０以下で、かつ、Ｙ座標の値が−２２０以上６４０以下の範囲と規定される。よって、１１時３４分０９.１秒の時点において、座標条件は、図４の条件番号２，３を満たす。また、１１時３４分０９.１秒の時点の直前、例えば、この時点の３００ms前からこの時点までの間に、ロール回転及びピッチ回転の双方が負方向に変化し、ロール回転の条件が図４の条件番号１を満たし、ピッチ回転の条件が図４の条件番号３を満たした。つまり、１１時３４分０９.１秒の時点において、座標条件及び回転条件の双方が同時に満たされる条件番号は、条件番号３となる。そこで、プロセッサ１１は、１１時３４分０９.１秒の時点で、タッチ位置を、タッチが実際になされた位置から上方向の位置へ変更する。
【００３８】
このように、プロセッサ１１は、図４に示す条件テーブル及び図５に示す座標算出テーブルを用いて、タッチ位置を移動させる。よって、プロセッサ１１は、座標条件及び回転条件が、条件番号１〜４のうち条件番号１だけを満たす場合には、タッチ位置を左方向に移動させ、条件番号２だけを満たす場合には、タッチ位置を右方向に移動させる。また、プロセッサ１１は、座標条件及び回転条件が条件番号３だけを満たす場合には、タッチ位置を上方向に移動させ、条件番号４だけを満たす場合には、タッチ位置を下方向に移動させる。また、プロセッサ１１は、座標条件及び回転条件が条件番号１及び３を満たす場合には、タッチ位置を左上方向に移動させ、条件番号１及び４を満たす場合には、タッチ位置を左下方向に移動させる。また、プロセッサ１１は、座標条件及び回転条件が条件番号２及び３を満たす場合には、タッチ位置を右上方向に移動させ、条件番号２及び４を満たす場合には、タッチ位置を右下方向に移動させる。
【００３９】
＜携帯電子機器の処理＞
図８は、実施例１の携帯電子機器の処理の説明に供するフローチャートである。図８に示すフローチャートは、携帯電子機器１０の電源がオンにされたときに開始され、オフにされたときに停止される。
【００４０】
まず、プロセッサ１１は、タッチパネル１２に対するタッチを検出したか否かを判断する（ステップＳ３０１）。タッチパネル１２に対するタッチが検出されないときは（ステップＳ３０１：Ｎｏ）、プロセッサ１１は、ステップＳ３０１の判断を繰り返し行う。
【００４１】
タッチパネル１２に対するタッチが検出されたときは（ステップＳ３０１：Ｙｅｓ）、プロセッサ１１は、タッチセンサ１２−２から、タッチ位置の座標を取得する（ステップＳ３０２）。
【００４２】
次いで、プロセッサ１１は、メモリ１４に記録されたピッチ角及びロール角の履歴に基づいて、タッチ直前の携帯電子機器１０の回転状態を取得する（ステップＳ３０３）。
【００４３】
次いで、プロセッサ１１は、条件番号を初期値にセットする（ステップＳ３０４）。条件テーブルが図４に示すものである場合、条件番号の初期値は「１」となる。
【００４４】
次いで、プロセッサ１１は、タッチ位置の座標が図４に示す条件番号１の座標条件を満たすか否かを判断する（ステップＳ３０５）。また、プロセッサ１１は、携帯電子機器１０の回転状態が、図４に示す条件番号１の回転条件を満たすか否かを判断する（ステップＳ３０６）。
【００４５】
タッチ位置の座標が条件番号１の座標条件を満たし（ステップＳ３０５：Ｙｅｓ）、かつ、携帯電子機器１０の回転状態が条件番号１の回転条件を満たす場合（ステップＳ３０６：Ｙｅｓ）、プロセッサ１１は、条件番号１をメモリ１４に記録し（ステップＳ３０７）、処理はステップＳ３０８に進む。
【００４６】
一方で、タッチ位置の座標が条件番号１の座標条件を満たさない場合（ステップＳ３０５：Ｎｏ）、または、携帯電子機器１０の回転状態が条件番号１の回転条件を満たさない場合（ステップＳ３０６：Ｎｏ）、プロセッサ１１は条件番号１を記録することなく、処理はステップＳ３０８に進む。
【００４７】
次いで、プロセッサ１１は、すべての条件番号についてステップＳ３０５，Ｓ３０６の判断を行ったか否かを判断する。ステップＳ３０５，Ｓ３０６の判断が行われていない条件番号が残っている場合（ステップＳ３０８：Ｎｏ）、プロセッサ１１は、条件番号を＋１だけ増加させ（ステップＳ３０９）、処理はステップＳ３０５に戻る。よって、ステップＳ３０５，Ｓ３０６の次の判断は、図４に示す条件番号２に対してなされる。このようにして、ステップＳ３０５，Ｓ３０６の判断が図４に示すすべての条件番号に対してなされるまで、ステップＳ３０５〜Ｓ３０８の処理が繰り返し行われる。例えば、条件テーブルが図４に示すものである場合、ステップＳ３０５〜Ｓ３０８の処理が４回繰り返して行われる。
【００４８】
そして、すべての条件番号についてステップＳ３０５，Ｓ３０６の判断が行われた場合（ステップＳ３０８：Ｙｅｓ）、プロセッサ１１は、メモリ１４に記録された条件番号があるか否かを判断する（ステップＳ３１０）。メモリ１４に記録された条件番号がない場合（ステップＳ３１０：Ｎｏ）、処理はステップＳ３０１に戻り、プロセッサ１１は、次のタッチを待つ。
【００４９】
一方で、メモリ１４に記録された条件番号がある場合（ステップＳ３１０：Ｙｅｓ）、プロセッサ１１は、記録された条件番号に基づいて、図５に示す座標算出テーブルに従って、タッチ位置の変更量を算出し、その変更量の分だけ、タッチ位置を変更する（ステップＳ３１１）。タッチ位置の変更後、処理はステップＳ３０１に戻り、プロセッサ１１は、次のタッチを待つ。
【００５０】
なお、ステップＳ３０７では、条件番号をメモリ１４に記録した。しかし、条件番号のデータ量は僅かなので、条件番号をメモリ１４に記録する代わりに、関数の引数に記録してもよい。
【００５１】
以上のように、本実施例では、携帯電子機器１０は、タッチパネル１２と、プロセッサ１１とを備える。プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、タッチが実際になされた位置と、そのタッチの直前の携帯電子機器１０の回転の状態とに応じて、タッチ位置をタッチが実際になされた位置から変更する。
【００５２】
こうすることで、タッチ位置の変更が、タッチが実際になされた位置と、タッチ直前の携帯電子機器１０の回転の状態とに応じてなされるため、実際にタッチがなされた位置がユーザの所望のタッチ位置か否かを正しく判断してタッチ位置を変更することができる。例えば、携帯電子機器１０を片手で操作するユーザが所望のアイコンの位置より手前の位置をタッチしたか否かを正しく判断してタッチ位置を奥の方へ変更することができる。また例えば、携帯電子機器１０を片手で操作するユーザが、携帯電子機器１０の回転前後でのアイコンに対する視差により、所望のアイコンの位置より奥の位置をタッチしたか否かを正しく判断してタッチ位置を手前の方に変更することができる。これにより、ユーザが所望のアイコンの位置と異なる位置をタッチした場合でも、所望のアイコンへのタッチ操作とみなし、ユーザの意図に沿った処理を実行することができる。よって、本実施例によれば、タッチパネル１２に対するユーザのミスタッチを防いで、携帯電子機器１０の操作性を向上できる。
【００５３】
また、本実施例では、プロセッサ１１は、タッチが実際になされた位置と、携帯電子機器１０の回転の状態とが所定の条件を満たすときに、タッチ位置を変更する。
【００５４】
こうすることで、タッチ位置の変更の要否を適切に判断できるため、タッチ位置の不要な変更を防止できる。また、所定の条件に合致する適切な方向へタッチ位置を移動して変更することができる。
【００５５】
また、本実施例では、プロセッサ１１は、携帯電子機器１０の回転の量に応じてタッチ位置の変更量を決定する。
【００５６】
携帯電子機器１０の回転の量が大きいほど所望のタッチ位置と実際のタッチ位置との誤差が大きいと推測されるため、こうすることで、タッチ位置の変更量を適切な量に決定することができる。
【００５７】
[実施例２]
＜携帯電子機器の動作＞
実施例１では、タッチ位置をタッチが実際になされた位置から変更した。これに対し、本実施例では、タッチパネル１２上でのタッチの検出領域の位置を基準位置から変更する点が実施例１と異なる。図９は、実施例２の携帯電子機器の動作の説明に供する図であり、図１０は、実施例２の座標算出テーブルの一例を示す図である。
【００５８】
実施例１と同様に、図９に示すようにタッチパネル１２にアイコンｉ１〜ｉ１２が表示されている状態で、携帯電子機器１０の下方を右手で把握するユーザがアイコンｉ１を右手の親指でタッチしようと試みた。アイコンｉ１〜ｉ１２におけるタッチの検出領域の基準位置は、アイコンｉ１〜ｉ１２の表示位置に一致する。しかし、親指とアイコンｉ１との間の距離が離れているために、アイコンｉ１の範囲外にある座標Ａ（−１７６,３１１）の位置が誤ってタッチされた。また、座標Ａがタッチされた時刻は「１１時３４分００.０秒」であり、その時刻でのロール角は「−１４°」、ピッチ角は「−１５°」であった。座標Ａがタッチされたとき、プロセッサ１１は、「１１時３４分００.０秒」から３００ms前（つまり、対象時間前）の「１１時３３分５９.７秒」におけるロール角「−５°」及びピッチ角「−１２°」をメモリ１４から取得した。よって、プロセッサ１１は、タッチ直前の回転状態として、タッチ直前のロール回転量を「−１４°−（−５°）＝−９°」と、タッチ直前のピッチ回転量を「−１５°−（−１２°）＝−３°」と算出する。よって、タッチが実際になされた位置である座標Ａ（−１７６,３１１）、タッチ直前のロール回転量：−９°及びタッチ直前のピッチ回転量：−３°は、図４に示す条件番号１〜４のうち、条件番号「１」と「３」とを満たす。
【００５９】
そこで、プロセッサ１１は、満たされた条件番号「１」と「３」とに基づいて、図１０の座標算出テーブルに従って、タッチの検出領域の位置の変更量を算出する。すなわち、プロセッサ１１は、Ｘ座標における変更量を「−（−１４−（−５））＝９」と算出する。また、プロセッサ１１は、Ｙ座標における変更量を「（（−１５）−（−１２））×２＝−６」と算出する。なお、ここでは、説明を簡単にするために、α＝２とした。
【００６０】
そして、プロセッサ１１は、アイコンｉ１〜ｉ１２におけるタッチの検出領域の位置を、基準位置（つまり、アイコンｉ１〜ｉ１２の表示位置）から、Ｘ軸上で「９」、Ｙ軸上で「−６」だけ移動させる。なお、図９では、説明を簡単にするために、アイコンｉ１についてのみ、タッチの検出領域の位置が変更される様子を示した。よって、アイコンｉ１におけるタッチの検出領域は、アイコンｉ１の表示領域と同一の領域からＸ軸上で「９」、Ｙ軸上で「−６」だけ移動された領域ｄ１に変更される。これにより、座標Ａ（−１７６,３１１）は、アイコンｉ１におけるタッチの検出領域の範囲内に入る。このように、本実施例では、プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、タッチが実際になされた位置と、そのタッチの直前の携帯電子機器１０の回転の状態とに応じて、タッチパネル１２上でのタッチの検出領域の位置を基準位置から変更する。よって、ユーザは、実際には座標Ａ（−１７６,３１１）の位置をタッチした場合でも、アイコンｉ１をタッチすることができ、プロセッサ１１は、アイコンｉ１がタッチされたものとして、アイコンｉ１へのタッチ操作に応じた処理を実行する。
【００６１】
また、本実施例では、プロセッサ１１は、タッチが実際になされた位置と、携帯電子機器１０の回転の状態とが所定の条件を満たすときに、タッチの検出領域の位置を基準位置から変更する。
【００６２】
また、本実施例では、プロセッサ１１は、携帯電子機器１０の回転の量に応じて、タッチの検出領域の位置の変更量を決定する。
【００６３】
このように、タッチ位置をタッチが実際になされた位置から変更する代わりに、タッチパネル１２上でのタッチの検出領域の位置を基準位置から変更しても、実施例１と同様の効果を奏することができる。
【００６４】
[実施例３]
＜携帯電子機器の動作＞
本実施例では、プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、タッチが実際になされた位置と、そのタッチの直前の携帯電子機器１０の回転の状態とに応じて、タッチパネル１２上でのメニューの表示位置を決定する。図１１は、実施例３の条件テーブルの一例を示す図であり、図１２〜１４は、実施例３の携帯電子機器の動作の説明に供する図である。以下、具体的な数値例を用いて携帯電子機器１０の動作を説明する。以下では、数値例１と、数値例２の２つの数値例を挙げる。
【００６５】
＜数値例１＞
携帯電子機器１０を左右の何れか一方の手で把握するユーザがタッチパネル１２上の座標Ｃ（−１８５,３１７）の位置をタッチした。また、座標Ｃがタッチされた時刻は「１１時３４分００.０秒」であり、その時刻でのロール角は「−１４°」であった。座標Ｃがタッチされたとき、プロセッサ１１は、「１１時３４分００.０秒」から３００ms前（つまり、対象時間前）の「１１時３３分５９.７秒」におけるロール角「−５°」をメモリ１４から取得した。よって、プロセッサ１１は、タッチ直前の回転状態として、タッチ直前のロール回転量を「−１４°−（−５°）＝−９°」と算出する。よって、座標ＣのＸ座標の値：−１８５及びタッチ直前のロール回転量：−９°は、図１１に示す条件番号１，２のうち、条件番号「１」を満たす。図１１に示す条件番号１の条件が満たされる場合、プロセッサ１１は、ユーザが携帯電子機器１０を右手で把握していると判断する。そこで、プロセッサ１１は、メニューｍ１の表示位置を「右寄り」と決定し、図１２に示すように、メニューｍ１をタッチパネル１２の右寄りに表示させる。ここでの「右寄り」とは、メニューｍ１における中央Ｃ１の位置が、タッチパネル１２のＸ座標の中央値である「０」より大きい範囲にあることを言う。
【００６６】
＜数値例２＞
携帯電子機器１０を左右の何れか一方の手で把握するユーザがタッチパネル１２上の座標Ｄ（０,１５）の位置をタッチした。また、座標Ｄがタッチされた時刻は「１１時４０分００.０秒」であり、その時刻でのロール角は「１２°」であった。座標Ｄがタッチされたとき、プロセッサ１１は、「１１時４０分００.０秒」から３００ms前（つまり、対象時間前）の「１１時３９分５９.７秒」におけるロール角「５°」をメモリ１４から取得した。よって、プロセッサ１１は、タッチ直前の回転状態として、タッチ直前のロール回転量を「１２°−５°＝７°」と算出する。よって、座標ＤのＸ座標の値：０及びタッチ直前のロール回転量：７°は、図１１に示す条件番号１，２のうち、条件番号「２」を満たす。図１１に示す条件番号２の条件が満たされる場合、プロセッサ１１は、ユーザが携帯電子機器１０を左手で把握していると判断する。そこで、プロセッサ１１は、メニューｍ１の表示位置を「左寄り」と決定し、図１３に示すように、メニューｍ１をタッチパネル１２の左寄りに表示させる。ここでの「左寄り」とは、メニューｍ１における中央Ｃ１の位置が、タッチパネル１２のＸ座標の中央値である「０」より小さい範囲にあることを言う。
【００６７】
なお、タッチ座標におけるＸ座標の値が図１１に示す座標条件を満たさない場合、または、タッチ直前のロール回転量が図１１に示す回転条件を満たさない場合には、プロセッサ１１は、メニューｍ１の表示位置を「中央」と決定する。そして、プロセッサ１１は、図１４に示すように、メニューｍ１をタッチパネル１２の中央に表示させる。ここでの「中央」とは、メニューｍ１における中央Ｃ１の位置が、タッチパネル１２のＸ座標の中央値である「０」に一致することを言う。
【００６８】
＜携帯電子機器の処理＞
図１５は、実施例３の携帯電子機器の処理の説明に供するフローチャートである。図１５に示すフローチャートは、携帯電子機器１０の電源がオンにされたときに開始され、オフにされたときに停止される。なお、図１５におけるステップＳ３０１〜Ｓ３０３の処理は図８と同一であるため、説明を省略する。
【００６９】
プロセッサ１１は、タッチ位置の座標と、タッチ直前の携帯電子機器１０の回転状態とを取得後（ステップＳ３０２，Ｓ３０３）、ステップＳ４０１〜Ｓ４０５の処理を行う。
【００７０】
すなわち、プロセッサ１１は、タッチ位置の座標とタッチ直前の携帯電子機器１０の回転状態とが図１１に示す条件番号１の座標条件と回転条件とを満たすか否かを判断する（ステップＳ４０１）。
【００７１】
タッチ位置の座標及びタッチ直前の携帯電子機器１０の回転状態の双方が条件番号１の条件を満たす場合（ステップＳ４０１：Ｙｅｓ）、プロセッサ１１は、タッチパネル１２の右寄りにメニューを表示させる（ステップＳ４０２）。
【００７２】
タッチ位置の座標またはタッチ直前の携帯電子機器１０の回転状態が条件番号１の条件を満たさない場合（ステップＳ４０１：Ｎｏ）、プロセッサ１１は、タッチ位置の座標とタッチ直前の携帯電子機器１０の回転状態とが図１１に示す条件番号２の座標条件と回転条件とを満たすか否かを判断する（ステップＳ４０３）。
【００７３】
タッチ位置の座標及びタッチ直前の携帯電子機器１０の回転状態の双方が条件番号２の条件を満たす場合（ステップＳ４０３：Ｙｅｓ）、プロセッサ１１は、タッチパネル１２の左寄りにメニューを表示させる（ステップＳ４０４）。
【００７４】
タッチ位置の座標またはタッチ直前の携帯電子機器１０の回転状態が条件番号２の条件を満たさない場合（ステップＳ４０３：Ｎｏ）、プロセッサ１１は、タッチパネル１２の中央にメニューを表示させる（ステップＳ４０５）。
【００７５】
以上のように、本実施例では、プロセッサ１１は、タッチパネル１２へのタッチを検出したときに、タッチが実際になされた位置と、そのタッチの直前の携帯電子機器１０の回転の状態とに応じて、タッチパネル１２上でのメニューの表示位置を決定する。
【００７６】
こうすることで、メニューの表示位置の決定が、タッチが実際になされた位置と、タッチ直前の携帯電子機器１０の回転の状態とに応じてなされるため、携帯電子機器１０を把握する手が左右何れの手であるかを正しく判断して、メニューの表示位置を決定することができる。すなわち、携帯電子機器１０を把握する手が右手と判断される場合には、メニューをタッチパネル１２の右寄りに表示させ、左手と判断される場合には、メニューをタッチパネル１２の左寄りに表示させることができる。よって、本実施例によれば、左右何れか一方の手で把握されることが多い携帯電子機器１０の操作性を向上できる。
【００７７】
［他の実施例］
［１］携帯電子機器１０での上記説明における各処理は、各処理に対応する制御プログラムをプロセッサ１１に実行させることによって実現してもよい。例えば、上記説明における各処理に対応する制御プログラムがメモリ１４に記憶され、制御プログラムがプロセッサ１１によってメモリ１４から読み出されて実行されてもよい。
【００７８】
［２］上記実施例１，２では、携帯電子機器１０が縦向きで使用されることを想定し、調節係数αをＹ座標の変更量に対して用いることにより、Ｙ座標の変更量をＸ座標の変更量より相対的に大きくした。しかし、横向きで使用される携帯電子機器１０においては、調節係数αをＸ座標の変更量に対して用いて、Ｘ座標の変更量をＹ座標の変更量より相対的に大きくしてもよい。また、プロセッサ１１は、携帯電子機器１０が縦向きであるときは、調節係数αをＹ座標の変更量に対して用い、携帯電子機器１０が横向きであるときは、調節係数αをＸ座標の変更量に対して用いてもよい。つまり、携帯電子機器１０が縦向きであるか、横向きであるかに応じて、調節係数αを適用する座標軸を変化させてもよい。なお、携帯電子機器１０が縦向きであるか、横向きであるかは、加速度センサ１３を用いて検出することができる。
【００７９】
［３］上記実施例２では、タッチパネル１２上でのタッチの検出領域の位置を基準位置から変更したが、検出領域の位置を変更する代わりに、検出領域の範囲を拡大してもよい。例えば、図９において、アイコンｉ１におけるタッチの検出領域を、アイコンｉ１の表示領域と、領域ｄ１との双方の領域にしてもよい。
【００８０】
［４］上記各実施例では、加速度センサ１３を用いて携帯電子機器１０のピッチ角及びロール角を検出した。しかし、加速度センサ１３に代えて、携帯電子機器１０のピッチ回転及びロール回転を検出可能なセンサを用いてもよい。ピッチ回転及びロール回転を検出可能なセンサを用いる場合、プロセッサ１１でのピッチ回転の算出及びロール回転の算出は不要となる。
【符号の説明】
【００８１】
１０  携帯電子機器
１１  プロセッサ
１２  タッチパネル
１２−１  液晶パネル
１２−２  タッチセンサ
１３  加速度センサ
１４  メモリ
【図１】
2015084193.tif 000003
【図２】
2015084193.tif 000004
【図３】
2015084193.tif 000005
【図４】
2015084193.tif 000006
【図５】
2015084193.tif 000007
【図６】
2015084193.tif 000008
【図７】
2015084193.tif 000009
【図８】
2015084193.tif 000010
【図９】
2015084193.tif 000011
【図１０】
2015084193.tif 000012
【図１１】
2015084193.tif 000013
【図１２】
2015084193.tif 000014
【図１３】
2015084193.tif 000015
【図１４】
2015084193.tif 000016
【図１５】
2015084193.tif 000017