(54)【発明の名称】携帯端末、カーソル表示制御プログラム、カーソル表示制御方法、カーソル発生制御プログラム、カーソル発生制御方法、アイコン表示プログラムおよびアイコン表示方法
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0003】
たとえば、特許文献1の携帯端末装置のようにカーソルを表示する場合、カーソルの位置を見失わないようにするために、カーソルの軌跡を示す画像を表示することがある。
【0004】
また、特許文献1の携帯端末装置のポインティングデバイスとして、静電容量型のタッチパネルが利用された場合、タッチ操作に対する反応をよくするために、タッチパネルの応答性は高く設定されている。この場合、ユーザが指を動かしていないつもりでも、応答性が高いタッチパネルは指の僅かな動きを検出してしまい、ユーザの意図に反してカーソルがわずかに動くことがある。
【0005】
そして、上述したように、カーソルの軌跡を表示する設定がされている場合、指の僅かな動きに応答してカーソルが動くと、カーソルの周囲に、カーソルの軌跡を示す画像が表示されてしまい、ユーザはカーソル位置を認識し辛くなる。
【0006】
それゆえに、この発明の主たる目的は、新規な、携帯端末、カーソル表示制御プログラム、カーソル表示制御方法、カーソル発生制御プログラム、カーソル発生制御方法、アイコン表示プログラムおよびアイコン表示方法を提供することである。
【0007】
この発明の他の目的は、ユーザの操作性を向上させることが出来る携帯端末、カーソル表示制御プログラム、カーソル表示制御方法、カーソル発生制御プログラム、カーソル発生制御方法、アイコン表示プログラムおよびアイコン表示方法を提供することである。
【0008】
この発明のその他の目的は、カーソルを操作するときの操作性を向上させることが出来る携帯端末、カーソル表示制御プログラムおよびカーソル表示制御方法を提供することである。
【0009】
この発明のさらにその他の目的は、カーソルを発生させるときの操作性を向上させることが出来る携帯端末、カーソル発生制御プログラムおよびカーソル発生制御方法を提供することである。
【0010】
この発明の他の目的は、タッチ操作中の操作性を向上させることが出来る携帯端末、アイコン表示プログラムおよびアイコン表示方法を提供することである。
【課題を解決するための手段】
【0011】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0012】
第1の発明は、タッチパネルおよびタッチパネルが設けられ、タッチ操作に応じて移動するカーソルを表示する表示部を有する、携帯端末であって、
タッチパネルの端からのタッチ位置の距離に応じて、タッチ位置をカーソル原点として設定する設定部、タッチ位置が変化したとき、変化した後のタッチ位置
とカーソル原点との距離に基づいて前記カーソルの表示位置を算出する算出部、算出部によって算出された表示位置を記憶する記憶部、算出部によって算出された表示位置に基づいて、カーソルの表示を更新する更新部、タッチ位置が変化したとき、記憶部によって記憶された前回の表示位置と現在の表示位置との距離が閾値より大きいかを判断する距離判断部、および前回の表示位置と現在の表示位置との距離が閾値より大きいと判断されたとき、前回の表示位置にカーソルの前回位置を示すオブジェクトを表示するオブジェクト表示部を備え、オブジェクト表示部は、現在の表示位置との距離が閾値より大きいと判断されなかったとき、オブジェクトを表示しない、携帯端末である。
【0013】
第1の発明では、携帯電話機(10:実施例において対応する部分を例示する参照符号。以下、同じ。)は、タッチパネル(16)が設けられた表示部(14)を有する。表示部には、タッチパネルに対するタッチ操作に応じて移動するカーソル(CU)が表示されている。
設定部(30,S19)は、タッチパネルの端からのタッチ位置の距離に応じて、前記タッチ位置をカーソル原点として設定するする。そして、算出部(30,S47)は、タッチ位置が変化したとき、変化した後のタッチ位置
とカーソル原点との距離に基づいて前記カーソルの表示位置を算出する。記憶部(30,S49)は、たとえばRAM(46)に記憶されるテーブル(350)に対して、算出された表示位置を記憶する。更新部(30,S51)は、算出された表示位置に基づいて、カーソルが表示される位置を更新する。距離判断部(30,S77)は、上述したように、タッチ操作によってタッチ位置が変化したとき、たとえば記憶部によってテーブルに記憶された前回の表示位置と現在の表示位置との距離が閾値(第2閾値:閾値L0)より大きいかを判断する。オブジェクト表示部(30,S79)は、たとえば前回の表示位置と現在の表示位置との距離が閾値より大きい場合、前回の表示位置にカーソルの前回位置を示すオブジェクト(SC)を表示する。一方、前回の表示位置と現在の表示位置との距離が閾値より大きくない場合、カーソルの前回位置には、オブジェクトは表示されない。
【0014】
第1の発明によれば、カーソルの移動量が多いときにはオブジェクトによってカーソルの前回位置を示し、カーソルの移動量が少ないときにはオブジェクトを表示しないようにすることで、カーソルを操作するときのユーザの操作性を向上させることが出来る。
【0015】
第2の発明は、第1の発明に従属し、オブジェクトの透過度を設定する設定部をさらに備え、オブジェクト表示部は、透過度に基づいてオブジェクトを表示する。
【0016】
第2の発明では、設定部(30,S73)は、たとえばカーソルよりも透過度が高くなるように、オブジェクトの透過度(α2)を設定する。そして、オブジェクト表示部は、このようにして設定された透過度に基づいて、オブジェクトを表示する。
【0017】
第2の発明によれば、カーソルとオブジェクトとは透過度が異なるため、ユーザはカーソルとオブジェクトとを識別しやすくなる。
【0018】
第3の発明は、第1の発明または第2の発明に従属し、記憶部によって、複数の表示位置が記憶されており、オブジェクト表示部は、記憶部によって記憶された複数の表示位置のうち、それぞれの距離が閾値より大きいと判断されたとき、複数の表示位置のそれぞれにオブジェクトを表示する。
【0019】
第3の発明では、たとえば、RAMに記憶されるテーブルには、複数の表示位置が記憶されている。たとえば、複数の表示位置のうち、それぞれの距離が閾値より大きいと判断されると、複数の表示位置のそれぞれにオブジェクトを表示する。つまり、複数のオブジェクトによって、カーソルの移動軌跡が示される。
【0020】
第3の発明によれば、カーソルの移動軌跡として複数のオブジェクトを表示することで、ユーザがカーソルの表示位置を見失いにくくすることが出来る。
【0021】
第4の発明は、第3の発明に従属し、それぞれが異なる透過度となるように、複数のオブジェクトの透過度を変更する変更部をさらに備える。
【0022】
第4の発明では、変更部(30,S83)は、たとえば、カーソルの表示位置から離れるほど、透過度が高くなるように、複数のオブジェクトの透過度を変更する。
【0023】
第4の発明によれば、複数のオブジェクトが表示されたとしても、カーソルから離れるにつれてオブジェクトの透過度が高くなるため、ディスプレイの視認性が低下しないようにされている。
【0024】
第5の発明は、第1の発明ないし第4の発明いずれかに従属し、現在のタッチ位置に、所定周期で表示態様が変化するアイコンを表示するアイコン表示部をさらに備える。
【0025】
第5の発明では、アイコン表示部(30,S41,S43)は、たとえば、透過度(α1)や表示の大きさが所定周期で変化するアイコン(TI)を、現在のタッチ位置に合わせて表示する。
【0026】
第5の発明によれば、アイコンの表示態様を変化させることで、タッチ位置の把握と、背景の把握とを両立させることが出来る。
【0027】
第6の発明は、タッチパネル(16)およびタッチパネルが設けられ、タッチ操作に応じて移動するカーソル(CU)を表示する表示部(14)を有する、携帯端末(10)のプロセッサ(30)を、
タッチパネルの端からのタッチ位置の距離に応じて、前記タッチ位置をカーソル原点として設定する設定部(S19)、タッチ位置が変化したとき、変化した後のタッチ位置
とカーソル原点との距離に基づいてカーソルの表示位置を算出する算出部(S47)、算出部によって算出された表示位置を記憶する記憶部(S49)、算出部によって算出された表示位置に基づいて、カーソルの表示を更新する更新部(S51)、タッチ位置が変化したとき、記憶部によって記憶された前回の表示位置と現在の表示位置との距離が閾値より大きいかを判断する距離判断部(S77)、および前回の表示位置と現在の表示位置との距離が閾値より大きいと判断されたとき、前回の表示位置にカーソルの前回位置を示すオブジェクト(SC)を表示するオブジェクト表示部(S79)として機能させ、オブジェクト表示部は、現在の表示位置との距離が閾値より大きいと判断されなかったとき、オブジェクトを表示しない、カーソル表示制御プログラムである。
【0028】
第6の発明でも、第1の発明と同様、カーソルの移動量が多いときにはオブジェクトによってカーソルの前回位置を示し、カーソルの移動量が少ないときにはオブジェクトを表示しないようにすることで、カーソルを操作するときのユーザの操作性を向上させることが出来る。
【0029】
第7の発明は、タッチパネル(16)およびタッチパネルが設けられ、タッチ操作に応じて移動するカーソル(CU)を表示する表示部(14)を有する、携帯端末(10)のカーソル表示制御方法であって、
タッチパネルの端からのタッチ位置の距離に応じて、タッチ位置をカーソル原点として設定し(S19)、タッチ位置が変化したとき、変化した後のタッチ位置
とカーソル原点との距離に基づいて前記カーソルの表示位置を算出する算出し(S47)、算出された表示位置を記憶し(S49)、算出された表示位置に基づいて、カーソルの表示を更新し(S51)、タッチ位置が変化したとき、記憶された前回の表示位置と現在の表示位置との距離が閾値より大きいかを判断し(S77)、前回の表示位置と現在の表示位置との距離が閾値より大きいと判断されたとき、前回の表示位置にカーソルの前回位置を示すオブジェクト(SC)を表示し(S79)、そして現在の表示位置との距離が閾値より大きいと判断されなかったとき、オブジェクトを表示しない、カーソル表示制御方法である。
【0030】
第7の発明でも、第1の発明と同様、カーソルの移動量が多いときにはオブジェクトによってカーソルの前回位置を示し、カーソルの移動量が少ないときにはオブジェクトを表示しないようにすることで、カーソルを操作するときのユーザの操作性を向上させることが出来る。
【発明の効果】
【0052】
この発明によれば、カーソルおよびそれに関連する表示を制御することで、ユーザの操作性を向上させることが出来る。
【0053】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための形態】
【0055】
図1を参照して、この発明の一実施例の携帯電話機10は、一例としてスマートフォン(smart phone)であり、縦長の扁平矩形のハウジング12を含む。ただし、この発明は、タブレット端末、PDAなど任意の携帯端末に適用可能であることを予め指摘しておく。
【0056】
ハウジング12の一方主面(表面)には、表示部として機能する、たとえば液晶や有機ELなどのディスプレイ14が設けられる。ディスプレイ14の上には、タッチパネル16が設けられる。したがって、この実施例の携帯電話機10では、後述のハードキーの操作によるものを除く大部分の入力操作は、このタッチパネル16を介して行われる。
【0057】
ハウジング12の縦方向一端の主面側にスピーカ18が内蔵され、縦方向他端の主面側にマイク20が内蔵される。
【0058】
ハウジング12の一方主面には、タッチパネル16と共に入力操作手段を構成するハードキー22として、この実施例では、通話キー22a、終話キー22bおよびホームキー22cが設けられる。
【0059】
たとえば、ユーザは、ディスプレイ14に表示されたダイヤルキーに対して、タッチパネル16によってタッチ操作を行うことで電話番号を入力でき、通話キー22aを操作して音声通話を開始することが出来る。そして、終話キー22bを操作すれば、音声通話を終了することが出来る。
【0060】
また、着信した場合は、ディスプレイ14の表示、バイブレータ50(
図2参照)の振動、スピーカ18からの着信音等によって、着信がユーザに通知される。ユーザは、このような着信状態で、通話キー22aを操作すれば音声通話を開始することが出来る。
【0061】
なお、終話キー22bを長押しすることによって、携帯電話機10の電源をオン/オフすることが出来る。
【0062】
ユーザがホームキー22cを操作すれば、ディスプレイ14にホーム画面(
図3参照)が表示される。ユーザは、その状態でディスプレイ14に表示されている機能アイコンに対して、タッチパネル16によるタッチ操作を行うことによって、機能アイコンに関連する処理を実行することが出来る。なお、本実施例における、「機能アイコンに関連する処理」には、アプリケーションの処理、メニュー画面などに遷移する処理などが含まれる。
【0063】
また、携帯電話機10は、電話機能以外に、アドレス帳機能、メール機能およびブラウザ機能などを有している。
【0064】
図2を参照して、
図1に示す実施例の携帯電話機10は、コンピュータまたはCPUと呼ばれるプロセッサ30などを含む。プロセッサ30には、無線通信回路32、A/D変換器36、D/A変換器38、入力装置40、表示ドライバ42、フラッシュメモリ44、RAM46、タッチパネル制御回路48、バイブレータ50およびジャイロセンサ52などが接続される。
【0065】
プロセッサ30は、携帯電話機10の全体制御を司る。RAM46には、フラッシュメモリ44に予め設定されているプログラムの全部または一部が使用に際して展開され、プロセッサ30はこのRAM46上のプログラムに従って動作する。また、RAM46はさらに、プロセッサ30のワーキング領域ないしバッファ領域として用いられる。
【0066】
入力装置40は、
図1に示すハードキー22を含むものである。そのため、ハードキー22に対するユーザからのキー操作を受け付ける操作受付部を構成する。ユーザが操作したハードキーの情報(キーデータ)はプロセッサ30に入力される。
【0067】
無線通信回路32は、アンテナ34を通して、音声通話やメールなどのための電波を送受信するための回路である。実施例では、無線通信回路32は、CDMA方式での無線通信を行うための回路である。たとえば、ユーザが入力装置40を操作して電話発信(発呼)を指示すると、無線通信回路32は、プロセッサ30の指示の下、電話発信処理を実行し、アンテナ34を介して電話発信信号を出力する。電話発信信号は、基地局および通信網を経て相手の電話機に送信される。そして、相手の電話機において着信処理が行われると、通信可能状態が確立され、プロセッサ30は通話処理を実行する。
【0068】
A/D変換器36には
図1に示すマイク20が接続され、上述のようにマイク20からの音声信号はこのA/D変換器36でディジタルの音声データに変換され、プロセッサ30に入力される。一方、D/A変換器38にはスピーカ18が接続される。D/A変換器38は、ディジタルの音声データを音声信号に変換して、アンプを介してスピーカ18に与える。したがって、音声データに基づく音声がスピーカ18から出力される。そして、通話処理が実行されている状態では、マイク20によって集音された音声が相手の電話機に送信され、相手の電話機で集音された音声が、スピーカ18から出力される。
【0069】
なお、プロセッサ30は、たとえばユーザによるボリューム調整操作に応答して、D/A変換器38に接続されるアンプの増幅率を制御することによって、スピーカ18から出力される音声の音量を調整することが出来る。
【0070】
表示ドライバ42には
図1に示すディスプレイ14が接続され、したがって、ディスプレイ14はプロセッサ30から出力される映像または画像データに従って映像または画像を表示する。表示ドライバ42は表示する画像データを一時的に記憶するビデオメモリを含んでおり、プロセッサ30から出力されたデータはこのビデオメモリに記憶される。そして、表示ドライバ42は、ビデオメモリの内容に従って、ディスプレイ14に画像を表示する。つまり、表示ドライバ42は、プロセッサ30の指示の下、当該表示ドライバ42に接続されたディスプレイ14の表示を制御する。
【0071】
ディスプレイ14には、バックライトが設けられており、表示ドライバ42はプロセッサ30の指示に従って、そのバックライトの明るさや、点灯/消灯を制御する。
【0072】
タッチパネル制御回路48には、
図1に示すタッチパネル16が接続される。タッチパネル制御回路48は、タッチパネル16に必要な電圧などを付与するとともに、タッチパネル16に対するユーザによるタッチの開始を示すタッチ開始信号、ユーザによるタッチの終了を示す終了信号、およびユーザがタッチしたタッチ位置を示す座標データをプロセッサ30に入力する。したがって、プロセッサ30はこの座標データに基づいて、ユーザがどのオブジェクトに対してタッチしたかを判断することが出来る。
【0073】
実施例では、タッチパネル16は、その表面と表面に接近した指などの物体との間に生じる静電容量の変化を検出する静電容量方式のタッチパネルである。タッチパネル16は、たとえば1本または複数本の指がタッチパネル16に触れたことを検出する。そのため、タッチパネル16はポインティングデバイスとも呼ばれる。タッチパネル制御回路48は、タッチパネル16のタッチ有効範囲内でのタッチ操作を検出して、そのタッチ操作の位置を示す座標データをプロセッサ30に出力する。つまり、ユーザは、タッチパネル16の表面に対してタッチ操作を行うことによって、操作位置や、操作方向などを携帯電話機10に入力する。
【0074】
本実施例のタッチ操作には、タップ操作、ロングタップ操作、フリック操作、スライド操作などが含まれる。
【0075】
タップ操作は、タッチパネル16の表面に指を接触(タッチ)させた後、短時間のうちにタッチパネル16の表面から指を離す(リリースする)操作である。ロングタップ操作は、所定時間以上、指をタッチパネル16の表面に接触させ続けた後、指をタッチパネル16の表面から離す操作である。フリック操作は、タッチパネル16の表面に指を接触させ、任意の方向へ所定速度以上で指を弾く操作である。スライド操作は、タッチパネル16の表面に指を接触させたまま任意の方向へ移動させた後、タッチパネル16の表面から指を離す操作である。
【0076】
また、上記のスライド操作には、ディスプレイ14の表面に表示されたオブジェクトに指を触れ、オブジェクトを移動させるスライド操作、いわゆるドラッグ操作も含まれる。また、ドラッグ操作の後、タッチパネル16の表面から指を離す操作をドロップ操作と呼ぶ。
【0077】
なお、以下の説明では、タッチ操作、ロングタップ操作、フリック操作、スライド操作、ドラッグ操作およびドロップ操作は、それぞれ「操作」を省略して記述されることがある。また、タッチ操作はユーザの指だけに限らず、スタイラスペンなどによって行われてもよい。
【0078】
バイブレータ50は、偏心重が回転軸に取り付けられたモータであり、プロセッサ30によってオン/オフが制御される。そして、バイブレータ50がオンにされると、バイブレータ50が振動することで、携帯電話機10も振動する。
【0079】
ジャイロセンサ52は、携帯電話機10の動きを検出するために用いられる。たとえば、ジャイロセンサ52は、圧電型ジャイロであり、3軸(x,y、z)の角速度を検出し、その検出結果をプロセッサ30に出力する。プロセッサ30は、ジャイロセンサ52が検出した各軸の角速度に基づいて、携帯電話機10の動きや、傾きを検出する。そして、プロセッサ30は、検出した動きに基づいて、ディスプレイ14の表示方向などを制御する。
【0080】
図3を参照して、ディスプレイ14の表示範囲は、状態表示領域60および機能表示領域62を含む。状態表示領域60には、アンテナ34による電波受信状態を示すピクト、二次電池の残電池容量を示すピクトおよび時刻が表示される。また、機能表示領域62には、複数の機能アイコンを含むホーム画面が表示されている。
【0081】
たとえば、ユーザは、機能アイコンに対してタッチ操作を行えば、機能アイコンに対応する機能を実行することが出来る。また、表示されているホーム画面以外に、他のホーム画面が設定されている場合、ユーザは左右方向のスライド操作(またはフリック操作)を行うことで、表示されるホーム画面を切り替えることが出来る。
【0082】
また、
図3に示すように、携帯電話機10は、ユーザの右手の小指で下側を、薬指と中指とで左側を、人差し指(図示せず)で背面を、親指で右側を固定するように持たれている。このように携帯電話機10が持たれている場合、携帯電話機10に対するタッチ操作は、主に右手の親指で行われる。
【0083】
ここで、
図3に示す持ち方では、右手の親指だけでタッチパネル16の全ての範囲にタッチ操作を行うことが出来ない。たとえば、
図3に示すように携帯電話機10を持っているユーザは、左上に表示される機能アイコンにタッチ操作をするためには、左手の指でタッチ操作を行うか、右上のアイコンにも親指が届くように右手の持ち方を変える必要がある。
【0084】
ところが、ユーザが携帯電話機10を持っていない手(左手)で、荷物を持ったり、手すりを握っていたりしている場合、携帯電話機10を持っていない手でタッチ操作を行うことは出来ない。また、右手の持ち方を変えた場合、親指の付け根の周辺、つまりタッチパネルの右下に対するタッチ操作が行いにくくなる。
【0085】
そこで、本実施例では、タッチ操作に応じて移動するカーソルCUを、ディスプレイ14に表示することで、片手でも容易に携帯電話機10を操作出来るようにする。以下、カーソルCUの発生(表示)と、カーソルCUに対する操作について具体的に説明する。
【0086】
図4を参照して、タッチパネル16の端でタッチ操作が検出されると、カーソルCUを発生させるための操作を受け付けたことを示すために、タッチアイコンTIおよび効果画像(効果オブジェクト)EGが表示される。本実施例では、タッチパネル16の端の辺から一定距離(たとえば、約1.5ミリ)の範囲には、検出領域が設けられている。そして、この検出領域に対してタッチ操作がされたとき、タッチパネル16の端にタッチされたと判断される。
【0087】
なお、
図4では、効果画像EGおよびタッチアイコンTIの位置を明確にするため、親指を透明な状態で図示している。
【0088】
タッチアイコンTIは、現在のタッチ位置を示し、所定周期で透過率α1が変化するように処理される。また、タッチアイコンTIは、タッチ位置をユーザに示すために表示されており、タッチされている指よりも大きく表示される。ところが、このように表示すると、タッチアイコンTIによって背景が隠されてしまい、ユーザは指でタッチしている周辺を把握し辛くなる。そこで、タッチアイコンTIの透過率α1を変化させることで、透過率α1が高い状態であれば背景が把握しやすくなり、透過率α1が低い状態であればタッチ位置が把握しやすくなる。つまり、タッチアイコンTIの透過率α1を変化させることで、タッチ位置の把握と、背景の把握とを両立させることが出来る。なお、
図4の状態では、背景に表示される効果画像EGを明確にするために、タッチアイコンTIの透過率α1は最も低い状態で図示されている。
【0089】
効果画像EGは、端にタッチされた位置を中心として、タッチパネル16(ディスプレイ14)の端から現在のタッチ位置を頂部とする山なりの形状で表示される。そして、
図5に示すように、タッチ位置が変化すると、効果画像EGはタッチ位置に追従して変化する。そして、このように効果画像EGを表示することで、カーソルCUを発生させるときの操作感を、ユーザに与えることが出来る。
【0090】
図6を参照して、タッチ位置とタッチパネル16の端との距離が第1閾値よりも大きくなると、そのときのタッチ位置がカーソルCUの原点(以下、カーソル原点と言う。)として設定され、カーソル原点にカーソルCUが発生する。つまり、
図6に示すように、現在のタッチ位置を示すタッチアイコンTIに重ねて、カーソルCUがディスプレイ14に表示される。
【0091】
また、カーソルCUが発生すると、効果画像EGの表示が消去され、スピーカ18から「ポン」という効果音が出力されると共に、バイブレータ50が一定時間だけ振動する。つまり、ユーザは、これらの動作によって、カーソルCUが発生したことを知ることが出来る。なお、
図6でも、カーソルCUとタッチアイコンTIとの位置を明確にするため、親指を透明な状態で図示している。
【0092】
特に、本実施例では、タッチパネル16の端からタッチ操作がされなければカーソルCUは発生しないため、カーソルCUを発生させる操作と、その他の操作(たとえば、ホーム画面を切り替える操作)とを区別することが出来る。
【0093】
続いて、タッチ位置の変化に応じてカーソルCUの表示が変化する様子を説明する。
図7を参照して、カーソルCUの表示位置(座標)は、数1に示す数式に基づいて算出される。
【0095】
具体的に説明すると、カーソル原点(x
0,y
0)に対するタッチ位置(Tx,Ty)の座標変化において、横軸の座標変化を第1定数a倍(たとえば、3倍)にし、縦軸の座標変化を第2定数b倍(たとえば、4倍)にした座標位置が、カーソルCUの表示座標(x,y)とされる。そのため、タッチ位置が変化しカーソルCUの表示座標が数1に示す数式に基づいて算出されると、カーソルCUはタッチ位置とは異なる位置に表示される。つまり、ユーザは、タッチ操作を行うことで、タッチ位置とは離れた位置に表示されるカーソルCUを操作することが出来る。
【0096】
次に、
図7を参照して、カーソルCUによって任意の機能アイコンが選択されると、選択された機能アイコンの色が反転し、カーソルCUによって選択されている状態がユーザに通知される。ユーザは、このような状態でタッチパネル16から指を離すと、機能アイコンの選択を確定させることが出来る。つまり、指がタッチパネル16から離されたときのカーソルCUの最終位置に基づいて、任意の処理が実行される。
【0097】
ここで、タッチ位置と異なる位置にカーソルCUを表示させる場合、ユーザがカーソルCUの表示位置を見失う可能性がある。そこで、本実施例では、カーソルCUの前回位置を示す残像オブジェクトSCを表示する。
【0098】
たとえば、カーソルCUの前回位置には、残像オブジェクトSCaが表示され、そのさらに前回の位置に残像オブジェクトSCbが表示される。このように、カーソルCUの移動軌跡として複数の残像オブジェクトSCを表示することで、ユーザがカーソルCUの表示位置を見失いにくくすることが出来る。なお、表示される残像オブジェクトSCの数は、1つであってもよいし、3つ以上であってもよい。
【0099】
図8を参照して、本実施例では、カーソルCUの表示位置の変化は、表示位置テーブルに記録される。そして、表示位置テーブルに記録されている表示位置に基づいて、残像オブジェクトSCが表示される。
【0100】
表示位置テーブルは、番号の列、表示位置の列および距離の列を含む。番号には、表位位置を記憶した順番が古くなるにつれて番号が大きくなるように数字が記録されている。つまり、最後に記録された表示位置に対して割り振られる番号は最も小さくなる。表示位置の列には、番号に対応して座標(x
n,y
n)が記録される。距離の列には、1つ前の表示位置との距離L
nが記録される。なお、距離については後述するため、ここでの詳細な説明は省略する。
【0101】
また、残像オブジェクトSCは、カーソルCUに対して透過度α2が低く設定されている。つまり、カーソルCUと残像オブジェクトSCとは透過度α2が異なるため、ユーザはカーソルCUと残像オブジェクトSCとを識別することが出来る。
【0102】
また、複数の残像オブジェクトSCは、カーソルCUの表示位置から離れるにつれて、透過度α2が高くなるように設定される。具体的には、各残像オブジェクトSCには、透過度補正値が設定される。透過度補正値とは、残像オブジェクトSCの透過度α2を補正するための値であり、各残像オブジェクトSCの透過度α2は、カーソルCUの透過度α2から、対応する透過度補正値を減算した結果となる。そして、この透過度補正値は、カーソルCUと残像オブジェクトSCとの距離に応じて小さくなるように変化する。これにより、カーソルCUの表示位置から離れるにつれて、残像オブジェクトSCの透過度α2が高くなる。
【0103】
たとえば、
図9を参照して、カーソルCUの現在の表示位置、つまり表示位置テーブルの1番目に記憶されている表示位置は(x
1,y
1)であり、カーソルCUに対応する透過度補正値は「C(=C/1)」とされる。そして、透過度補正値は、カーソルCUの透過度α2が最低値となるように設定されているため、カーソルCUの透過度α2は最低値とされる。
【0104】
次に、2番目に記憶されている表示位置、つまり前回の表示位置は(x
2,y
2)であり、残像オブジェクトSCaに対応する透過度補正値は「C/2」とされる。そして、前回位置に表示される残像オブジェクトSCaの透過度α2は、カーソルCUの透過度α2から「C/2」が減算された値となる。つまり、前回の表示位置に表示される残像オブジェクトSCaの透過度α2は、カーソルCUの透過度α2に対して50%高くなる。
【0105】
また、3番目に記憶されている表示位置、つまりさらに1つ前の表示位置は(x
3,y
3)であるため、透過度補正値は「C/3」とされる。そのため、さらに1つ前の表示位置に表示される残像オブジェクトSCbの透過度α2はさらに高くなる。
【0106】
つまり、n番目の表示位置(x
n,y
n)に表示される残像オブジェクトSCと対応する透過度補正値は「C/n」とされ、この透過度補正値によって補正された透過度α2が、対応する残像オブジェクトSCの透過度α2とされる。そして、記憶された表示位置が古くなるにつれてnの値が大きくなるため、カーソルCUから離れるにつれて、透過度補正値が小さくなる。
【0107】
このように、複数の残像オブジェクトSCが表示されたとしても、カーソルCUから離れるにつれて残像オブジェクトSCの透過度α2が高くなるため、ディスプレイ14の視認性が低下しないようにされている。
【0108】
ここで、タッチパネル16の応答性は高く設定されているため、ユーザは指を動かしていないつもりでも指の僅かな動きが検出され、ユーザの意図に反してカーソルCUがわずかに動くことがある。そして、カーソルCUの移動量が少ない場合、カーソルCUの周辺に残像オブジェクトSCが表示されることになり、ユーザはカーソルCUの表示位置を識別しにくくなる。そこで、
図10に示すように、カーソルCUの移動量が少ない場合は、残像オブジェクトSCを表示しないようにする。
【0109】
たとえば、現在の表示位置(x
n,y
n)と前回の表示位置(x
n+1,y
n+1)との距離L
nは、数2に従う数式によって算出される。そして、算出された距離L
nが閾値L
0(第2閾値)よりも小さいときには、前回の表示位置には、残像オブジェクトSCが表示されない。
【0111】
また、他の残像オブジェクトSCについても、1つ前の表示位置との距離Lが閾値L
0(第2閾値)よりも大きくなければ、1つ前の表示位置にも残像オブジェクトSCが表示されない。
【0112】
このように、カーソルCUの移動量が多いときには残像オブジェクトSCによってカーソルCUの軌跡を示し、カーソルCUの移動量が少ないときには残像オブジェクトSCを表示しないようにすることで、カーソルCUを操作するときのユーザの操作性を向上させることが出来る。
【0113】
なお、誤操作を防止するために、ディスプレイ14(携帯電話機10)の傾きが許容範囲に含まれていない場合、カーソルCUは発生しないようにされている。
【0114】
また、本実施例では、カーソルCUの表示位置は上述の数式を利用して算出されたが、指の動きを考慮した変換マップを利用して、タッチ位置がカーソルCUの表示位置に変換されてもよい。
【0115】
また、他の実施例では、タッチパネル16の端にタッチされてからのスライド量に基づいて、タッチ位置とタッチパネル16の端との距離が第1閾値よりも大きいかを判断してもよい。
【0116】
また、その他の実施例では、タッチアイコンTIの透過度α1ではなく、タッチアイコンTIの表示の大きさ(面積)が変化してもよい。
【0117】
上述では本実施例の特徴を概説した。以下では、
図11に示すメモリマップおよび
図12−
図15に示すフロー図を用いて詳細に説明する。
【0118】
図11を参照して、RAM46には、プログラム記憶領域302とデータ記憶領域304とが形成される。プログラム記憶領域302は、先に説明したように、フラッシュメモリ44(
図2)に予め設定しているプログラムデータの一部または全部を読み出して記憶(展開)しておくための領域である。
【0119】
プログラム記憶領域302には、カーソルCUの発生を制御するためのカーソル発生制御プログラム310、発生したカーソルCUの表示位置を制御するためのカーソル表示制御プログラム312および残像オブジェクトSCを表示するための残像オブジェクト表示プログラム314などが記憶されている。
【0120】
なお、プログラム記憶領域302には、メールアプリケーションおよびアラームアプリケーションなどを実行するためのプログラムも記憶される。
【0121】
続いて、RAM46のデータ記憶領域304には、タッチバッファ330、ジャイロセンサバッファ332、距離バッファ334、第1透過度バッファ336、第2透過度バッファ338、カーソル原点バッファ340、表示位置バッファ342、最終位置バッファ344および効果画像バッファ346などが設けられる。また、データ記憶領域304には、タッチ座標マップ348、表示位置テーブル350、検出領域座標データ352およびカーソル画像データ354などが記憶されると共に、タッチフラグ356なども設けられる。
【0122】
タッチバッファ330には、タッチパネル制御回路48が出力するタッチ座標のデータが記憶される。ジャイロセンサバッファ332には、ジャイロセンサ52から出力された角速度の情報が一時的に記憶される。距離バッファ334には、効果画像EGが表示されているときに、タッチパネル16の端から現在のタッチ位置までの距離が一時的に記憶される。第1透過度バッファ336には、タッチアイコンTIの透過度α1が一時的に記憶される。第2透過度バッファ338には、カーソルCUおよび残像オブジェクトSCの透過度α2が一時的に記憶される。
【0123】
カーソル原点バッファ340には、カーソル原点が一時的に記憶される。表示位置バッファ342には、現在のカーソルCUの表示位置が一時的に記憶される。最終位置バッファ344には、タッチ操作が終了したときのカーソルCUの表示位置が記憶される。効果画像バッファ346には、タッチパネル16の端にタッチされたときに表示される効果画像EGを示す画像データが一時的に記憶される。
【0124】
タッチ座標マップ348は、タッチ操作におけるタッチ座標と、ディスプレイ14の表示座標とを対応付けるためのデータである。つまり、タッチパネル16に対して行われたタッチ操作の結果が、タッチ座標マップ348に基づいて、ディスプレイ14の表示に反映される。
【0125】
表示位置テーブル350は、たとえば
図8に示す構成のテーブルデータである。検出領域座標データ352には、タッチパネル16の端に設定される検出領域を示す座標データである。カーソル画像データ354は、カーソルCUを表示するための画像データである。
【0126】
タッチフラグ356は、タッチパネル16に対してタッチされているか否かを判断するためのフラグである。たとえば、タッチフラグ356は、1ビットのレジスタで構成される。タッチフラグ356がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、タッチフラグ356がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、タッチフラグ356は、タッチパネル制御回路48が出力する信号に基づいてオン/オフが切り換えられる。
【0127】
なお、データ記録領域304には、携帯電話機10の制御プログラムの実行に必要な他のデータが記憶されたり、制御プログラムの実行に必要な、他のフラグやタイマ(カウンタ)が設けられたりする。
【0128】
プロセッサ30は、Android(登録商標)およびREXなどのLinux(登録商標)ベースのOSや、その他のOSの制御下で、
図12に示すカーソル発生制御処理、
図13に示すカーソル表示制御処理および
図14に示す残像オブジェクト表示処理などを含む、複数のタスクを並列的に処理する。
【0129】
カーソル発生制御処理は、タッチパネル16にタッチ操作がされ、タッチフラグ356がオンになると開始される。ステップS1でプロセッサ30は、タッチパネル16の端にタッチされたか否かを判断する。つまり、プロセッサ30は、タッチバッファ330に記憶されるタッチ位置が、検出領域座標データ352によって示される検出領域に含まれているかを判断する。なお、ステップS1の処理を実行するプロセッサ30は判断部または第1判断部として機能する。
【0130】
ステップS1で“NO”であれば、つまりタッチパネル16の端にタッチされていなければ、ステップS3でプロセッサ30は、所定の処理を実行する。たとえば、機能アイコンに対してタッチされれば機能アイコンに対応する処理が実行され、ホーム画面を切り替えるタッチ操作がされれば、ホーム画面を切り替える処理が実行される。
【0131】
一方、ステップS1で“YES”であれば、たとえばタッチパネル16の端にタッチされると、ステップS5でプロセッサ30は、傾きが許容範囲か否かを判断する。つまり、ジャイロセンサ52の出力から得らえるディスプレイ14(携帯電話機10)の傾き(角度)が、許容範囲を示す角度範囲に納まっているかが判断される。ステップS5で“NO”であれば、つまり傾き(角度)が許容範囲外であれば、誤操作を防止するためにプロセッサ30はカーソル発生制御処理を終了する。
【0132】
ステップS5で“YES”であれば、つまり傾き(角度)が許容範囲内であれば、ステップS7でプロセッサ30は、タッチアイコンTIの透過度α1を設定する。つまり、タッチアイコンTIの表示態様を変化させるために、タッチアイコンTIの透過度α1が設定される。また、設定された透過度α1は第1透過度バッファ336に記憶される。
【0133】
続いて、ステップS9でプロセッサ30は、タッチアイコンTIを透過度α1に基づいて表示する。つまり、第1透過度バッファ336に記憶されている透過度α1に基づいて、タッチバッファ330に記憶されるタッチ位置を示す、タッチアイコンTIが表示される。続いて、ステップS11でプロセッサ30は、透過度α1を変更する。たとえば、タッチアイコンTIの透過度α1が高くなるように変更される。ただし、透過度α1が最大値になった後は、透過度α1が低くなるように変更され、透過度α1が最低値になった後は、透過度α1が再び高くなるように変更される。そして、変更された後の透過度α1は、第1透過度バッファ336に記憶される。なお、ステップS9およびステップS11の処理を実行するプロセッサ30は、アイコン表示部として機能する。
【0134】
続いて、ステップS13でプロセッサ30は、端からの距離に基づいて効果画像EGを表示する。たとえば、ステップS13では、距離バッファ334に記憶されている、タッチパネル16の端から現在のタッチ位置までの距離が読み出され、その距離に基づいて作成された効果画像EGのデータが効果画像バッファ346に記憶される。そして、プロセッサ30は、効果画像バッファ346に記憶されている画像データに基づいて、たとえば
図4に示すような効果画像EGをディスプレイ14に表示する。なお、ステップS13の処理を実行するプロセッサ30は効果オブジェクト表示部として機能する。
【0135】
続いて、ステップS15でプロセッサ30は、端からの距離が第1閾値よりも大きいか否かを判断する。つまり、タッチパネル16の端にタッチした指がスライドした結果、タッチパネル16の端とタッチ位置との最短距離が、第1閾値より大きくなったかを判断する。また、具体的には、プロセッサ30は、距離バッファ334に記憶されている値が第1閾値よりも大きいかを判断する。なお、ステップS15の処理を実行するプロセッサ30は第2判断部として機能する。
【0136】
ステップS15で“NO”であれば、たとえばタッチパネル16の端にタッチした指がほぼ動いていなければ、プロセッサ30はステップS9に戻る。つまり、ステップS15で“NO”と判断され続けている間は、ステップS9−S13の処理が繰り返されるため、タッチアイコンTIの表示態様が周期的に変化し、効果画像EGの表示がタッチ位置に追従して変化する。
【0137】
一方、ステップS15で“YES”であれば、つまりタッチパネル16の端とタッチ位置との最短距離が第1閾値よりも大きくなれば、ステップS17でプロセッサ30は、効果画像EGを消去する。つまり、効果画像バッファ346に記憶される画像データが削除され、ディスプレイ14に表示される効果画像EGが消去される。また、ステップS17の処理に合わせて、効果音が出力されると共に、バイブレータ50が振動する。なお、ステップS17の処理を実行するプロセッサ30は消去部として機能する。
【0138】
続いて、ステップS19でプロセッサ30は、カーソル原点を設定する。たとえば、プロセッサ30は、タッチバッファ330から現在のタッチ位置を読み出し、読み出したタッチ位置をカーソル原点バッファ340に記憶させる。つまり、現在のタッチ位置とタッチパネル16の端との最短距離が第1閾値より大きくなったときのタッチ位置が、カーソル原点として設定される。
【0139】
続いて、ステップS21でプロセッサ30は、カーソルCUを発生させる。つまり、カーソル原点バッファ340に記憶されている座標に基づいて、カーソル画像データ354の画像データを表示させる。その結果、
図6に示すように、カーソルCUがディスプレイ14に表示される。なお、ステップS21の処理を実行するプロセッサ30は発生部として機能する。
【0140】
続いて、ステップS23でプロセッサ30は、カーソルCUの表示位置を記憶する。つまり、カーソル原点が表示位置テーブル350に記録される。そして、ステップS23の処理が終了すれば、プロセッサ30はカーソル発生制御処理を終了する。
【0141】
図13のカーソル表示制御処理は、カーソルCUがディスプレイ14に表示されると開始される。ステップS41でプロセッサ30は、ステップS9と同様、タッチアイコンTIを透過度α1に基づいて表示する。また、ステップS43でプロセッサ30は、ステップS11と同様、透過度α1を変更する。なお、ステップS41およびステップS43の処理を実行するプロセッサ30はアイコン表示部として機能する。
【0142】
続いて、ステップS45でプロセッサ30は、タッチ位置が変化したか否かを判断する。つまり、タッチバッファ330に記憶されているタッチ位置の座標が変化したかが判断される。ステップS45で“NO”であれば、つまりタッチ位置が変化していなければ、プロセッサ30はステップS55に進む。
【0143】
ステップS45で“YES”であれば、たとえばユーザが指を移動させ、タッチ位置が変化すると、ステップS47でプロセッサ30は、カーソル原点とタッチ位置とに基づいてカーソルCUの表示位置を算出する。つまり、プロセッサ30は、カーソル原点バッファ340からカーソル原点(x
0,y
0)を読み出し、タッチバッファ330から変化後のタッチ位置(Tx,Ty)を読み出し、数1に従う数式に基づいてカーソルCUの表示位置(x,y)を算出する。そして、算出された表示位置は、表示位置バッファ342に記憶される。なお、ステップS47の処理を実行するプロセッサ30は算出部として機能する。
【0144】
続いて、ステップS49でプロセッサ30は、算出された表示位置を表示位置テーブル350に記憶させる。つまり、算出された表示位置の番号が「1」となるように、表示位置が表示位置テーブル350に記憶される。また、記憶する際に、前回の表示位置との距離L
1が算出され、算出された距離も表示位置テーブル350に記憶される。なお、ステップS49の処理を実行するプロセッサ30は記憶部として機能する。
【0145】
続いて、ステップS51でプロセッサ30は、カーソルCUの表示を更新する。つまり、表示位置バッファ342に記憶されている表示位置に基づいて、プロセッサ30は、カーソルCUが表示されている位置を更新する。なお、ステップS51の処理を実行するプロセッサ30は、更新部として機能する。
【0146】
続いて、ステップS53でプロセッサ30は、残像オブジェクト表示処理を実行する。この残像オブジェクト表示処理については、
図14に示すフロー図を用いて詳細に説明するため、ここでの説明は省略する。
【0147】
続いて、ステップS55でプロセッサ30は、リリースされたか否かを判断する。つまり、ユーザがタッチパネル16から指を離し、タッチフラグ356がオフになったかが判断される。ステップS55で“NO”であれば、つまりタッチパネル16にタッチされたままであれば、プロセッサ30はステップS41に戻る。
【0148】
また、ステップS55で“YES”であれば、つまりタッチパネル16から指が離されると、ステップS57でプロセッサ30は、カーソルCUの最終位置を記憶する。つまり、表示位置バッファ342に記憶されている表示位置が、最終位置バッファ344に記憶される。たとえば、プロセッサ30は、表示位置バッファ342に記憶されている表示位置(座標)が機能アイコンの表示範囲に含まれている場合、その機能アイコンに対応する処理を実行する。
【0149】
図14の残像オブジェクト表示処理は、カーソル表示制御処理のステップS53が実行されると開始される。ステップS71でプロセッサ30は、変数nを初期化する。つまり、表示位置テーブル350に記憶されている表示位置を指定するために、変数nが初期化される。続いて、ステップS73でプロセッサ30は、残像オブジェクトSCの透過度α2を設定する。つまり、第2透過度バッファ338に、1つ目の残像オブジェクトSCaの透過度α2が記憶される。また、残像オブジェクトSCaの透過度α2は、
図9に示す透過度補正値「C/2」によって補正された値である。なお、ステップS73の処理を実行するプロセッサ30は設定部として機能する。
【0150】
続いて、ステップS75でプロセッサ30は、n番目と(n+1)番目との表示位置の距離L
nを読み出す。たとえば、変数nが「1」であれば、現在の表示位置(x
1,y
1)と前回の表示位置(x
2,x
2)との距離L
1が読み出される。
【0151】
続いて、ステップS77でプロセッサ30は、読み出した距離L
nが第2閾値(閾値L
0)より大きいか否かを判断する。なお、ステップS77の処理を実行するプロセッサ30は距離判断部として機能する。
【0152】
ステップS77で“YES”であれば、たとえば
図7に示すように、タッチ位置の変化が大きく、読み出された距離L
1が第2閾値よりも大きければ、ステップS79でプロセッサ30は、透過度α2に基づいて、(n+1)番目の表示位置に残像オブジェクトSCを表示する。たとえば、変数nが「1」であれば、前回の表示位置に残像オブジェクトSCa(
図7参照)が表示される。なお、ステップS79の処理を実行するプロセッサ30はオブジェクト表示部として機能する。
【0153】
続いて、ステップS81でプロセッサ30は、変数nをインクリメントする。つまり、次の残像オブジェクトSCを表示する必要があるかを判断するために、変数nはインクリメントされる。
【0154】
続いて、ステップS83でプロセッサ30は、透過度α2を変更する。つまり、次の残像オブジェクトSCの透過度α2が高くなるように、透過度α2が変更される。そして、変更された結果は、第2透過度バッファ338に記憶される。そして、ステップS83の処理が終了すれば、プロセッサ30はステップS75に戻る。
【0155】
一方、ステップS77で“NO”であれば、たとえば
図10に示すように、タッチ位置の変化が小さく、読み出された距離L
1が第2閾値よりも小さければ、プロセッサ30は残像オブジェクト表示処理を終了して、カーソル表示制御処理に戻る。つまり、タッチ位置の変化が小さく、カーソルCUの移動量が少ないため、残像オブジェクトSCは表示されない。
【0156】
なお、タッチパネル16の端へのタッチを検出するための検出領域は、タッチパネル16の右側だけでなく左側にも設けられる。そのため、携帯電話機10が左手で持たれ、タッチパネル16の左端に設けられた検出領域でタッチ操作が検出されれば、
図4に示す状態に対して左右が反転した効果画像EGおよびタッチアイコンTIがディスプレイ14に表示される。
【0157】
また、
図3などに示す、携帯電話機10の持ち方はあくまで一例であり、携帯電話機10は左手で持たれてもよし、両手で持たれてもよい。
【0158】
また、他の実施例のカーソルCUは、矢印マークなどであってもよい。また、残像オブジェクトSCは、カーソルCUと異なる図形であってもよい。
【0159】
また、上述の実施例では、閾値に対して「より大きい」の言葉を用いたが、「閾値より大きい」という表現には「閾値以上」の意味も含まれる。また、「閾値よりも大きくない」と言う表現は「閾値よりも小さい」という表現に置き換えることができ、これらの表現には「閾値以下」および「閾値未満」の意味が含まれる。
【0160】
また、本実施例で用いられたプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して携帯電話機10に配信されてもよい。また、CD,DVD,BD(Blue-Ray Disk)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体に複数のプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、プログラムが本実施例と同等の構成の携帯電話機にインストールされた場合、本実施例と同等の効果が得られる。
【0161】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。