以下、本発明の実施形態について、図面を参照して説明する。
図1(a)、(b)、(c)は、それぞれ、携帯電話機1の正面図、背面図および右側面図である。以下、説明の便宜上、図1(a)〜(c)に示すように、キャビネット2の長手方向を上下方向と定義し、キャビネット2の短手方向を左右方向と定義する。
図1に示されるように、携帯電話機1は、キャビネット2と、ディスプレイ3と、タッチパネル4と、マイクロフォン5と、通話スピーカ6と、外部スピーカ7と、カメラ8とを備えている。
キャビネット2は、正面から見て、ほぼ長方形の輪郭を有する。キャビネット2の正面側に、ディスプレイ3が配されている。ディスプレイ3には、その表示領域Rに各種の画像(画面)が表示される。ディスプレイ3は、たとえば、液晶ディスプレイである。ディスプレイ3は、有機ELディスプレイ等、他の種類のディスプレイであってもよい。さらに、ディスプレイ3を覆うように、タッチパネル4が配置されている。タッチパネル4は、透明なシート状に形成されている。タッチパネル4として、静電容量式、超音波式、感圧式、抵抗膜式、光検知式等、各種方式のタッチパネルが用いられ得る。
キャビネット2の内部には、下端部にマイクロフォン5が配されている。また、キャビネット2の内部には、上端部に通話スピーカ6が配されている。マイクロフォン5は、キャビネット2の正面に形成されたマイク孔5aを通過した音声を受け付ける。マイクロフォン5は、入力された音に応じた電気信号を生成する。通話スピーカ6は、音を出力する。出力された音は、キャビネット2の正面に形成された出力孔6aを通過してキャビネット2の外に放出される。通話の際には、通信先の機器(携帯電話機等)から受信された受話音声が通話スピーカ6から出力され、ユーザが発した発話音声がマイクロフォン5に入力される。なお、音は、音声、報知音等、様々な音を含む。
キャビネット2の内部には、外部スピーカ7が配されている。キャビネット2の背面には、外部スピーカ7と対向する領域に出力孔7aが形成されている。外部スピーカ7から出力された音は、出力孔7aを通過してキャビネット2の外に放出される。
キャビネット2の上部には、背面側にカメラ8が配されている。カメラ8は、CCD、CMOSセンサ等の撮像素子を含み、被写体を撮影する。
図2は、携帯電話機1の全体構成を示すブロック図である。
図2に示されるように、携帯電話機1は、制御部11と、記憶部12と、画像出力部13と、タッチ検出部14と、音声入力部15と、音声出力部16と、音声処理部17と、キー入力部18と、通信部19と、撮影部20とを備えている。
記憶部12は、ROM、RAM、外部メモリを含む。記憶部12には、各種のプログラムが記憶されている。記憶部12に記憶されるプログラムは、携帯電話機1の各部を制御するための制御プログラムの他、各種アプリケーション(たとえば、ホーム、電話、電子メール、ウェブブラウザ、地図、ゲーム、スケジュール管理、等)を含む。さらに、記憶部12に記憶されるプログラムは、後述する、カーソルモードの制御処理を実行するためのプログラムを含む。これらのプログラムは、メーカによって携帯電話機1の製造時に記憶部12に記憶される他、ユーザによって通信網やメモリカード、CD−ROM等の記憶媒体を介して記憶部12に記憶される。
記憶部12には、プログラムの実行の際、一時的に利用または生成されるデータを記憶するワーキング領域も含まれる。
制御部11は、CPUを含む。制御部11は、記憶部12に記憶されたプログラムに従って、携帯電話機1を構成する各部(記憶部12、画像出力部13、タッチ検出部14、音声入力部15、音声出力部16、音声処理部17、キー入力部18、通信部19、撮影部20等)を制御する。
画像出力部13は、図1に示すディスプレイ3を含む。画像出力部13は、制御部11からの制御信号と画像信号に基づき、ディスプレイ3に画像(画面)を表示する。
タッチ検出部14は、図1に示すタッチパネル4を含む。タッチ検出部14は、図1に示すディスプレイ3へのユーザによるタッチ操作を、タッチパネル4により検出する。すなわち、タッチ検出部14は、ユーザがディスプレイ3の表示領域R内を触れた場合に、タッチパネル4を用いて、ユーザが触れた位置(以下、「タッチ位置」と称する)を検出する。タッチ検出部14は、検出したタッチ位置に基づいて生成された位置信号を制御部11へ出力する。図1(a)に示すように、ディスプレイ3上には、たとえば、ディスプレイ3の左上の角を原点とし、左右方向をX軸、上下方向をY軸とする直交座標系が設定されている。ディスプレイ3に指がタッチされると、タッチパネル4は、ディスプレイ3におけるタッチ位置を示す座標値を出力する。
なお、タッチパネル4は、ユーザの指がディスプレイ3に近接したときに、指が近接した位置をタッチ位置として検出するように構成されてもよい。
ユーザは、携帯電話機1にタッチパネル4が設けられるために、ディスプレイ3に指を触れることによって様々なタッチ操作を行うことができる。タッチ操作は、たとえば、タップ操作、フリック操作、スライド操作、ドラッグ操作、ロングタッチ操作等を含む。タップ操作とは、ユーザがディスプレイ3に指を接触させた後、短時間のうちに指をディスプレイ3から離す操作である。フリック操作とは、ユーザがディスプレイ3に指を接触させた後、ディスプレイ3を指で任意の方向に弾く操作である。スライド操作とは、ユーザがディスプレイ3に指を接触させたまま、任意の方向へ指を移動させる操作である。ドラッグ操作とは、ユーザがアイコン等の移動対象物に対してスライド操作を行った後、ディスプレイ3から指を離す操作である。ロングタッチ操作とは、ユーザがディスプレイ3に指を接触させた後、指を移動させることなく指を長くディスプレイ3に接触させておく操作である。
たとえば、タッチ検出部14がタッチ位置を検出した場合に、タッチ位置が検出されてから予め定められた第1時間以内にタッチ位置が検出されなくなると、制御部11は、タッチ操作をタップ操作と判定する。タッチ位置が検出されてから予め定められた第2時間以内に予め定められた第1距離以上タッチ位置が移動した後、タッチ位置が検出されなくなった場合、制御部11は、タッチ操作をフリック操作と判定する。タッチ位置が検出された後、予め定めた第2距離以上タッチ位置が移動すると、制御部11は、タッチ操作をスライド操作と判定する。タッチ位置が検出された後、予め定めた第3距離以上タッチ位置が移動することなく、第3時間以上タッチ位置が検出され続けた場合、制御部11は、タッチ操作をロングタッチ操作と判定する。
音声入力部15は、マイクロフォン5を含む。音声入力部15は、マイクロフォン5からの電気信号を音声処理部17へ出力する。
音声出力部16は、通話スピーカ6および外部スピーカ7を含む。音声出力部16には、音声処理部17からの電気信号が入力される。音声出力部16は、通話スピーカ6または外部スピーカ7から音を出力させる。
音声処理部17は、音声入力部15からの電気信号にA/D変換等を施し、変換後のデジタルの音声信号を制御部11へ出力する。音声処理部17は、制御部11からのデジタルの音声信号にデコード処理およびD/A変換等を施し、変換後の電気信号を音声出力部16に出力する。
キー入力部18は、少なくとも1つ以上のハードキーを含む。たとえば、キー入力部18は、携帯電話機1に電源を投入するための電源キーなどを含む。キー入力部18は、携帯電話機1に配された各種ハードキー(図示せず)のうち、少なくとも一つのキーが押下されたときに、押下されたハードキーに対応する信号を制御部11に出力する。
通信部19は、通話や通信を行うため、信号を変換するための回路、電波を送受信するアンテナ等を備える。通信部19は、制御部11から入力される通話や通信のための信号を無線信号に変換し、変換された無線信号を、アンテナを介して基地局や他の通信装置等の通信先へ送信する。さらに、通信部19は、アンテナを介して受信した無線信号を制御部11が利用できる形式の信号へ変換し、変換された信号を制御部11へ出力する。
撮影部20は、図1(b)に示すカメラ8を含む。撮影部20は、カメラ8により撮影された画像の画像データに各種の画像処理を施し、画像処理後の画像データを制御部11に出力する。
図3は、アプリケーションの実行によりディスプレイ3に表示される画面について説明するための図である。制御部11は、上述のように、各種のアプリケーションを実行する。アプリケーションが実行された後は、制御部11は、ユーザによるディスプレイ3に対するタッチ操作に応じた処理を実行し、当該処理に基づく画面をディスプレイ3に表示する。
図3に示すように、ディスプレイ3に表示される画面は、ピクト領域RP、ウィンドウ領域RWおよびキー領域RKにより構成される。ピクト領域RPには、通知バー101が表示される。通知バー101は、現在時刻101a、電波の強度を示す強度メータ101b、バッテリー残量を示す残量メータ101c等を含む。さらに、通知バー101は、現在時刻101a、強度メータ101b、残量メータ101c以外のユーザに知らされるべきその他の通知情報に対応する通知アイコン101dを含む。その他の通知情報として、たとえば、電話の不在着信に係る情報(電話番号、発信者名等)、電子メールの新規着信
に係る情報(メールアドレス、送信者名等)、アラーム報知の時刻が経過した旨の情報、スケジュールの予定時刻が経過した旨の情報、携帯電話機1の更新に関する情報、携帯電話機1に外部メモリが接続された旨の情報などが挙げられる。ユーザは、通知バー101を確認することにより、通知情報を大凡確認することができる。
キー領域RKには、操作キー群102が表示される。操作キー群102は、設定キー102a、ホームキー102b、およびバックキー102cから構成されている。設定キー102aは、主に、各種設定を行う設定画面をディスプレイ3に表示させるためのキーである。ホームキー102bは、主に、ディスプレイ3の表示を他の画面からホーム画面に移行させるためのキーである。バックキー102cは、主に、実行された処理を1ステップ前の処理に戻すためのキーである。
ウィンドウ領域RWには、アプリケーションが実行されたときの動作画面が表示される。たとえば、ホームのアプリケーションが実行された場合、ウィンドウ領域RWには、ホーム画面が表示される。ホーム画面には、電話、電子メールなど、各種のアプリケーションをディスプレイ3上で(フォアグラウンドで)起動するための起動用アイコンが配列される。また、電話のアプリケーションが実行された場合、ウィンドウ領域RWには、ダイヤル画面、着信一覧画面等が表示される。さらに、ウェブブラウザのアプリケーションが実行された場合、ウィンドウ領域RWには、外部のサーバから取得したデータに基づき、ウェブ画面が表示される。
なお、実行されるアプリケーションによっては、ピクト領域RPおよびキー領域RKの少なくとも一つが表示されなくてもよい。この場合、ピクト領域RPまたはキー領域RKの領域まで、ウィンドウ領域RWが拡がっても良い。即ち、画面全体がウィンドウ領域RWで構成される場合がある。たとえば、ピクト領域RPが表示されない場合には、アプリケーションが実行されたときの動作画面は、ピクト領域RPまで拡がったウィンドウ領域RWを用いて表示されてもよい。キー領域RKが表示されない場合には、アプリケーションが実行されたときの動作画面は、キー領域RKまで拡がったウィンドウ領域RWを用いて表示されてもよい。また、ピクト領域RPおよびキー領域RKの両方が表示されない場合には、アプリケーションが実行されたときの動作画面は、ディスプレイ3全体に拡げられたウィンドウ領域RWを用いて表示されてもよい。
図4は、ディスプレイ3に対するタッチ操作に応じた処理が行われる場合の画面表示の例を示す図である。
制御部11は、ホームキー102bに対するタップ操作を検出すると、ホームのアプリケーションを実行し、ディスプレイ3にホーム画面を表示させる。ホーム画面には、各種のアプリケーションを起動するための起動用アイコン103が配列される。たとえば、図4(a)に示すように、ユーザにより、電話のアプリケーションの起動用アイコン103に対するタップ操作がなされると、図4(b)に示すように、電話のアプリケーションがディスプレイ3上で起動し、ダイヤル画面がディスプレイ3に表示される。ダイヤル画面は、ユーザが電話番号を入力して電話の発信を行うための画面である。
また、図4(c)に示すように、ホーム画面は複数のページにより構成される。たとえば、左方向にページが続く場合、ホーム画面の任意の位置に対して右方向へのフリック操作がなされると、ホーム画面がスクロールし、図4(d)に示すように、隣のページがディスプレイ3に表示される。また、複数のページは、互いに順位付けされていてもよく、たとえば、制御部11は、何れかの画面が表示されている場合にフリック操作を検出すると、フリック操作がなされた画面に付与された順位の前後の順位に対応づけられた画面の中から、フリック操作に基づいて一つの画面を選択し、選択した画面をディスプレイ3に
表示してもよい。
図5は、ディスプレイ3に表示される通知一覧画面104について説明するための図である。
ディスプレイ3のピクト領域RPの通知バー101は、ディスプレイ3に通知一覧画面104を表示するための操作に用いるオブジェクトとして機能する。通知一覧画面104には、通知バー101に通知アイコン101dなどで示された各通知情報が、さらに詳しく表示される。
図5(a)に示すように、ユーザが通知バー101に対して下方へのスライド操作を行うと、図5(b)に示すように、ディスプレイ3(ウィンドウ領域RW)に通知一覧画面104が表示される。このとき、通知一覧画面104は、スライド操作によって通知バー101から引き出されて見えるよう、通知バー101の下端から降りて来るように表示されると良い。
通知一覧画面104の各表示欄104aに、通知アイコン101d等より詳しく通知情報が表示される。たとえば、通知情報が不在着信情報である場合、不在着信の電話の件数と最新の不在着信情報(電話番号など)とが表示欄104aに表示される。
図5(b)に示すように、ユーザは、所望の通知情報に対して応答する場合、その通知情報に対応する表示欄104aに対するタップ操作を行う。これにより、タップ操作がなされた通知情報に対応するアプリケーションが起動される。たとえば、通知情報が不在着信情報である場合には、電話のアプリケーションが起動され、図5(c)に示すように、不在着信情報が各表示欄105aに表示された不在着信一覧画面105がディスプレイ3に表示される。
さて、ユーザは、携帯電話機1を利用する際、機器本体を片手で持ち、親指でディスプレイ3に対するタッチ操作を行う場合が多い。先に図20を参照して説明した通り、親指から遠く離れたディスプレイ3の位置には親指が届きにくい。よって、親指が届きにくい位置に起動用アイコン103等の操作対象となるオブジェクトがあり、ユーザが、そのオブジェクトに対してタッチ操作を行う場合、ユーザは携帯電話機1を持ち替える必要がある。
そこで、ユーザが片手での操作を円滑に行うことができるよう、本実施の形態の携帯電話機1は、操作モードとして、上述したタップ操作やフリック操作を受け付ける通常モードの他に、以下に説明するカーソルモードを備えている。
以下、図6ないし図10を参照して、カーソルモードについて説明する。
図6ないし図8は、カーソルモードの制御処理を示すフローチャートである。図6および図7は、メインの処理ルーチンを示すフローチャートである。図8は、カーソル位置決定の処理ルーチンを示すフローチャートである。図9および図10は、カーソルモードの制御処理が行われたときの画面表示の一例を示す図である。図9では、ディスプレイ3にホーム画面が表示されている。
図6および図7のフローチャートを参照して、制御部11は、ディスプレイ3へのロングタッチ操作がなされたか否かを監視する(S101)。本実施の形態では、ロングタッチ操作が、通常モードからカーソルモードへ切り替えるための操作となる。
片手で操作を行っているユーザは、ディスプレイ3の上部に位置する起動用アイコン103や通知バー101に対して操作を行う場合に、カーソルモードへ移行すべく、図9(a)に示すように、ディスプレイ3の任意の位置へ親指でロングタッチ操作を行う。
ロングタッチ操作が行われると(S101:YES)、制御部11は、タッチ検出部14から取得した現在のタッチ位置を基準タッチ位置PAに設定する(S102)。次に、制御部11は、基準カーソル位置QAを決定し(S103)、決定した基準カーソル位置QAにカーソルCを表示する(S104)。
カーソルCが表示されることにより、ユーザは、カーソルモードに切り替えられたことを把握できる。基準カーソル位置QAを基準タッチ位置PAと同じ位置にした場合には、カーソルCが指に隠れてしまい、ユーザが、カーソルモードへの切り替えを容易に把握できない虞がある。そこで、図9(a)に示すように、制御部11は、基準タッチ位置PAから所定ベクトルずれた位置を基準カーソル位置QAに設定する。
なお、本実施の形態では、便宜上、カーソルCを円形状としているが、矢印の形状など、カーソルCは任意の形状とされて良い。
次に、制御部11は、タッチ検出部14によるタッチ位置の次の検出タイミングが到来したか否かを判定する(S105)。制御部11は、次の検出タイミングが到来すると(S105:YES)、タッチ検出部14によりタッチ位置が検出されたか否かに基づいて、ディスプレイ3から指がリリースされたか否かを判定する(S106)。制御部11は、前回の検出タイミングまで検出されていたタッチ位置が検出されなくなった場合に、指がディスプレイ3からリリースされたと判定する。
図9(b)に示すように、ユーザは、ディスプレイ3の右上部に位置する起動用アイコン103を操作したい場合に、ディスプレイ3にタッチしたまま指を目標の起動用アイコン103へ移動させる。これにより、ディスプレイ3上をタッチ位置が移動する。
指がリリースされていない判定すると(S106:NO)、制御部11は、今回の検出タイミングで検出されたタッチ位置PBに基づき、カーソル位置QBを決定する(S107)。カーソル位置QBは、カーソルCを表示させる位置である。ただし、後述のように、決定されたカーソル位置QBが表示可能領域RA(後述する)の外に存在する場合、カーソル位置QBにはカーソルCが表示されない。
図8のフローチャートを参照して、制御部11は、今回の検出タイミングで検出されたタッチ位置PBと基準タッチ位置PAとの間の第1ベクトルVPを求める(S201)。次に、制御部11は、第1ベクトルVPを所定倍(たとえば、3倍)することにより、カーソル位置QBの決定に用いる第2ベクトルVQを求める(S202)。そして、制御部11は、基準カーソル位置QAから第2ベクトルVQ離れた位置を、カーソル位置QBに決定する(S203)。
図6および図7のフローチャートに戻り、カーソル位置QBが決定されると、制御部11は、決定されたカーソル位置QBが、表示可能領域RA内であるか否かを判定する(S108)。図9(a)に示すように、制御部11は、ディスプレイ3上に表示可能領域RAを設ける。表示可能領域RAは、カーソル位置QBにカーソルCを表示したときに、カーソルCがディスプレイ3の表示領域Rからはみ出すことながなく、カーソルCが表示可能な領域である。表示可能領域RAを示す座標データが記憶部12に記憶されている。
決定されたカーソル位置QBが表示可能領域RA内にあれば(S108:YES)、制
御部11は、決定されたカーソル位置QBにカーソルCを表示する(S109)。
このようにして、ユーザが、ディスプレイ3にタッチしたまま指を動かすことにより、ステップS105からステップS109の処理が繰り返され、タッチ位置の軌道を所定倍に拡大した軌道でカーソル位置QB、即ち、カーソルCがディスプレイ3上を移動する。やがて、カーソルCが右上部の起動用アイコン103に達する。
ユーザは、右上部の起動用アイコン103上にカーソルCが位置する状態で、ディスプレイ3から指をリリースする。指がディスプレイ3からリリースされたと判定すると(S106:YES)、制御部11は、リリース時のカーソル位置QBが、起動用アイコン103、通知一覧画面104の表示欄104aなど、操作対象となるオブジェクト上に位置しているか否かを判定する(S110)。カーソル位置QBがオブジェクト上に位置していれば(S110:YES)、制御部11は、オブジェクトに割り当てられた処理を実行する(S111)。たとえば、オブジェクトが電話のアプリケーションの起動用アイコン103である場合、制御部11は、電話のアプリケーションを起動して、図4(b)に示すようなダイヤル画面をディスプレイ3に表示する。
ユーザは、ディスプレイ3の上端に位置する通知バー101を操作したい場合、図9(c)に示すように、カーソル位置QBがディスプレイ3の上辺を超えるように、ディスプレイ3にタッチしたまま指を、上方に向けて大きく移動させる。
図9(a)に示すように、制御部11は、ディスプレイ3の上辺から所定距離Y1だけ上方に離れた位置に上境界線ULを設ける。上境界線ULは、カーソル位置QBに対する閾値であり、通知一覧画面104をディスプレイ3に表示するか否かを判定するために利用される。上境界線ULを示す座標データが記憶部12に記憶されている。
ユーザが指を上方へ移動させた場合、カーソル位置QBが表示可能領域RAから外れるまでは、上述したステップS105からステップS109の処理が繰り返される。やがて、カーソル位置QBが表示可能領域RAから外れると、制御部11は、ステップS108において、カーソル位置QBが表示可能領域RA内でない、即ち、表示可能領域RAから外れていると判定する(S108:NO)。制御部11は、カーソル位置QBとは別のカーソル位置QCを、カーソル位置QBの軌道上における表示可能領域RAを外れる直前の位置に設定し(S112)、設定したカーソル位置QCにカーソルCを表示する(S113)。カーソル位置QBが表示可能領域RAの上辺を越えた場合、図9(c)に示すように、カーソルCがディスプレイ3の上端部に表示された状態となる。
制御部11は、タッチ位置の移動が停止したか否かを判定する(S114)。タッチ位置が、さらに上方へ向けて移動中であって停止していなければ(S114:NO)、制御部11は、カーソル位置QBが上境界線ULを越えているか否かを判定する(S115)。カーソル位置QBが上境界線ULを越えていなければ(S115:NO)、ステップS105の処理に戻る。
こうして、カーソル位置QBが表示可能領域RAを外れてから上境界線ULを越えるまでは、ステップS105からステップS108、およびステップS112からステップS115の処理が繰り返される。
やがて、図9(c)に示すようにカーソル位置QBが上境界線ULを越える。これにより、ステップS115において、カーソル位置QBが上境界線ULを越えていると判定すると(S115:YES)、制御部11は、図10(a)に示すように、ディスプレイ3に通知一覧画面104を表示する(S116)。通知一覧画面104は、通知バー101
の下端から降りて来るように表示される。
なお、通知一覧画面104が表示された後は、ステップS115でカーソル位置QBが上境界線ULを越えていると判定されても、ステップS116の処理は実行されない。
ユーザは、通知一覧画面104が表示されたことを把握すると、一旦、指を止める。これにより、タッチ位置の移動が停止する。ステップS114において、タッチ位置の移動が停止したと判定し(S114:YES)、制御部11は、図10(a)に示すように、現在、カーソルCが表示されているカーソル位置QCを、新たに基準カーソル位置QAに設定する(S117)。さらに、制御部11は、現在のタッチ位置PBを新たに基準タッチ位置PAに設定する(S118)。
ユーザは、通知一覧画面104から所望の通知情報を選択する場合、ディスプレイ3へのタッチを継続したまま、所望の通知情報の表示欄104aへカーソルCを移動させる。これにより、ステップS105からS109の処理が繰り返される。
このとき、図7のカーソル位置決定の処理ルーチンでは、ステップS117およびS118で新たに設定された基準タッチ位置PAおよび基準カーソル位置QAが用いられる。すなわち、制御部11は、今回検出されたタッチ位置PBと新たな基準タッチ位置PAとの間の第1ベクトルVPから第2ベクトルVQを求める(S201、S202)。そして、制御部11は、新たな基準カーソル位置QAから第2ベクトルVQ離れた位置をカーソル位置QBに決定する(S203)。こうして、図9(b)に示すように、所望の通知情報へカーソルCが向かうよう、ユーザが指を移動させると、指が移動した方向と同じ方向に、直ちにカーソルCが移動する。
カーソルC(カーソル位置QB)が、所望の通知情報の表示欄104aへ達し、その位置で、ユーザが指をリリースすると、ステップS106で、制御部11は、リリースがなされた判定する(S106:YES)。制御部11は、カーソル位置QBがオブジェクトである表示欄104a上に位置するため(S110:YES)、オブジェクトに割り当てられた処理、すなわち、表示欄104aに表わされた通知情報に対応するアプリケーションを実行する(S111)。
通知一覧画面104の各通知情報の閲覧のみを行い、通知一覧画面104を閉じる場合、ユーザは、カーソル位置QBが表示欄104aに存在しない状態で指をリリースする。
ステップS110において、カーソル位置QBがオブジェクト上にないと判定すると(S110:NO)、制御部11は、通知一覧画面104がディスプレイ3に表示されているか否かを判定する(S119)。通知一覧画面104が表示されていれば(S119:YES)、制御部11は、通知一覧画面104を閉じる(S120)。
なお、上述のように、通知一覧画面104を表示させるためにユーザが意図的にディスプレイ3の外へカーソル位置QBを移動させる場合だけでなく、ユーザが、ディスプレイ3上でカーソルC(カーソル位置QB)を移動させるつもりが、誤って指を大きく動かし過ぎたときに、カーソル位置QBが表示可能領域RAを外れる場合がある。
この場合も、ユーザが指を一旦止め、タッチ位置の移動が停止すると、ステップS117およびステップS118の処理が行われ、現在、カーソルCが表示されているカーソル位置QCが、新たに基準カーソル位置QAに設定され、現在のタッチ位置PBが新たに基準タッチ位置PAに設定される。よって、その後、ユーザが指をディスプレイ3の内側に移動させると、カーソルCが、移動した指の方向と同じ方向に、直ちに移動する。
以上、本実施の形態によれば、ユーザが、ディスプレイ3にタッチしたまま指を移動させると、指の軌道を拡大した軌道でカーソルCがディスプレイ3上を移動し、カーソルCが所望の位置、たとえば、起動用アイコン103等、操作対象となるオブジェクトの位置に移動された状態で、ユーザが指をリリースすると、オブジェクトに割り当てられた処理が実行される。よって、ユーザは、携帯電話機1を片手で保持しながら操作する場合に、親指が届かないディスプレイ3上のオブジェクト等に対して操作を行うことができ、携帯電話機1を円滑に操作することができる。
さらに、本実施の形態によれば、カーソル位置QBがディスプレイ3の上辺を越えるように、ユーザがディスプレイ3上で指を移動させると、通知一覧画面104がディスプレイ3に表示され、ユーザがそのまま指で所望の通知情報を選択し、指をリリースすると、通知情報に対応するアプリケーションが実行される。また、通知情報を選択することなく、ユーザが指をリリースすると通知一覧画面104が閉じられる。よって、ユーザは、ディスプレイ3に通知一覧画面104を呼び出してから所望の通知情報に対応するアプリケーションを実行させるまでの動作、および、通知一覧画面104を呼び出してから通知一覧画面104を閉じるまでの動作を、ディスプレイ3上で指を移動させた後に指を離すという一連の操作で実現でき、携帯電話機1を一層円滑に操作することができる。
さらに、本実施の形態によれば、カーソル位置QBが、ディスプレイ3よりも外に設定された上境界線ULを越えた場合に、通知一覧画面104が表示される。よって、ユーザが、誤って指を大きく移動させてしまうことにより、カーソル位置QBが少々ディスプレイ3から外れても、通知一覧画面104が表示されない。
さらに、本実施の形態によれば、ディスプレイ3にタッチされた指が移動される前に基準タッチ位置PAと基準カーソル位置QAとがディスプレイ3上に設定され、指の移動が開始されてからタッチ位置PBが検出されると、検出されたタッチ位置PBと基準タッチ位置PAとの間の第1ベクトルVPが求められる。そして、第1ベクトルVPを所定倍に拡大した第2ベクトルVQだけ基準カーソル位置QBから離れた位置がカーソル位置QBに決定される。これにより、タッチ位置PBの軌道を拡大した軌道でカーソル位置QBが移動される。すなわち、基準タッチ位置PAと基準カーソル位置QAが固定されており、タッチ位置が検出される度に基準タッチ位置PAと基準カーソル位置QAが更新されないので、カーソル位置QBを決定するための演算処理が複雑になりにくい。
さらに、本実施の形態によれば、カーソル位置QBが、表示可能領域RAを外れた場合には、ディスプレイ3上に別のカーソル位置QCが設定され、このカーソル位置QCにカーソルCが表示される。このため、カーソル位置QBが、表示可能領域RAから外れても、カーソルCは、ディスプレイ3上に留まるので、ユーザは、カーソルモードであること、および、カーソル位置QBが、カーソルCを表示できる範囲から外れていることを認識できる。
しかも、本実施の形態では、カーソル位置QBが表示可能領域RAから外れた状態にあるときのタッチ位置PBが基準タッチ位置PAに新たに設定され、別のカーソル位置QCが基準カーソル位置QAに新たに設定される構成とされている。このため、カーソル位置QBが表示可能領域RAから外れた状態から、ユーザが指をディスプレイ3の内側に移動させると、直ちにカーソルCが移動する。また、カーソルCの動き出しの方向は指の移動方向と同じ方向となる。
図11に示すように、カーソル位置QBが表示可能領域RAから外れた後も基準タッチ位置PAおよび基準カーソル位置QAが変更されない場合、ある程度、指がディスプレイ
3の内側に移動されることによりカーソル位置QBが表示可能領域RA内に戻らないとカーソルCが動き始めない。すなわち、ユーザが指を動かしてもカーソルCが直ちに動かないため、ユーザが追従性の悪さを感じてしまう虞がある(図11(a)参照)。また、カーソルCの動き出しの方向が指の方向とは異なる方向となるため、ユーザが違和感を覚える虞がある(図11(b)参照)。この点、本実施の形態の構成では、ユーザが指をディスプレイ3の内側に移動させると、カーソルCが指と同じ移動方向に直ちに移動するので、ユーザが追従性の悪さを感じたり違和感を覚えたりしにくい。
さらに、本実施の形態では、カーソル位置QBが表示可能領域RAから外れている状態でタッチ位置の移動が停止したときのタッチ位置PBが基準タッチ位置PAに設定され、別のカーソル位置QCが基準カーソル位置QAに設定される構成とされている。ユーザは、通常、カーソル位置QBがディスプレイ3から離れる方向へ移動させていた指を一旦止めてから、カーソル位置QBをディスプレイ3上に戻す方向に指を移動させる。よって、ユーザがカーソル位置QBをディスプレイ3上に戻すために指を動かす直前である適正なタイミングで、基準タッチ位置PAおよび基準カーソル位置QAを変更することができる。
以上、本発明の実施の形態について説明したが、本発明は、上記実施の形態等によって何ら制限されるものではなく、また、本発明の実施の形態も、上記以外に種々の変更が可能である。
<変更例1>
上記実施の形態では、ユーザが、カーソル位置QBがディスプレイ3の上辺を越えるように指を上方へ移動させると、通知一覧画面104が表示される。本変更例では、ユーザが、カーソル位置QBがディスプレイ3の上辺を越えるように指を上方へ移動させ、これに続いて指を下方に移動させると、通知一覧画面104が表示される。
図12は、本変更例に係る、カーソルモードの制御処理を示すフローチャートである。図13は、本変更例に係る、カーソルモードの制御処理が行われたときの画面表示の一例を示す図である。
図12では、図7のフローチャートに対し、ステップS116の処理がステップS121の処理に置き換えられており、ステップS109の処理の後段に、ステップS122ないしステップS125の処理が追加されている。
本変更例では、ステップS115で、カーソル位置QBが上境界線ULを越えていると判定すると(S115:YES)、通知一覧フラグをセットする(S121)。図13(a)に示すように、カーソル位置QBが上境界線ULを越えただけでは、通知一覧画面104は表示されない。
本変更例では、制御部11は、ステップS109において、カーソル位置QBにカーソルCを表示すると、通知一覧フラグがセットされているか否かを判定する(S122)。さらに、通知一覧フラグがセットされていれば(S122:YES)、制御部11は、カーソル位置QBが下方へ移動したか否かを判定する(S123)。
図13(b)のように、ユーザが、カーソル位置QBが上境界線ULを越えた後、これに続いて指を引き下げた場合、カーソル位置QBが下方へ移動し、そのカーソル位置QBにカーソルCが表示される。このとき、制御部11は、通知一覧フラグがセットされていると判定し(S122:YES)、さらに、カーソル位置QBが下方へ移動したと判定する(S123:YES)。これにより、制御部11は、図13(c)に示すように、通知
一覧画面104をディスプレイ3に表示する(S124)。通知一覧画面104は、通知バー101の下端から降りて来るように表示される。通知一覧画面104が表示されると(S124)、制御部11は、通知一覧フラグをリセットする(S125)。
本変更例の構成によれば、通知一覧画面104を引き下ろすような指の動きにより、通知一覧画面104が下りて来るように表示されるので、直感的で分かりやすい操作を実現できる。
<変更例2>
上記実施の形態では、ユーザが、カーソル位置QBがディスプレイ3の上辺を越えるように指を上方へ移動させると、通知一覧画面104が表示される。本変更例では、さらに、ユーザが、カーソル位置QBがディスプレイ3の下辺、左辺または右辺を越えるように指を下方、左方、または右方に移動させると、操作メニュー画面106が表示される。操作メニュー画面106は、ディスプレイ3上で実行されているアプリケーションの操作に用いられる。
図14および図15は、本変更例に係る、カーソルモードの制御処理を示すフローチャートである。図16および図17は、本変更例に係る、カーソルモードの制御処理が行われたときの画面表示の一例を示す図である。図16および図17では、ディスプレイ3に、電子書籍のアプリケーションの動作画面である書籍の一つのページが表示されている。
図14および図15では、図6および図7のフローチャートに対し、ステップS131ないしステップS138の処理が追加されている。また、図15では、便宜上、図7に示すステップS107ないしステップS109、ステップS112ないしステップS114、ステップS117、およびステップS118の処理の図示が省略されている。
本変更例では、図16(a)に示すように、制御部11は、ディスプレイ3の下辺から所定距離Y1だけ下方に離れた位置に下境界線BLを設ける。また、図17(a)および図17(b)に示すように、制御部11は、ディスプレイ3の左辺から所定距離X1だけ左方に離れた位置に左境界線LLを設け、ディスプレイ3の右辺から所定距離X1だけ右方に離れた位置に右境界線RLを設ける。下境界線BL、左境界線LLおよび右境界線RLは、カーソル位置QBに対する閾値であり、操作メニュー画面106をディプレイ3に表示するか否かを判定するために利用される。下境界線BL、左境界線LLおよび右境界線RLを示す座標データが記憶部12に記憶されている。
制御部11は、カーソル位置QBが上境界線ULを越えていないと判定すると(S115:NO)、下境界線BLを越えているか否か、左境界線LLを越えているか否か、および、右境界線RLを越えているか否かを判定する(S131、S132、S133)。
ユーザが指を下方に移動させることにより、図16(a)に示すように、カーソル位置QBがディスプレイ3の下辺を通過して下境界線BLを越えると(S131:YES)、制御部11は、図16(b)に示すように、ディスプレイ3の下部に、すなわち、ディスプレイ3の下辺側に寄った位置に操作メニュー画面106を表示する(S134)。操作メニュー画面106には、アプリケーションを操作するための操作ボタン106aが配されている。たとえば、アプリケーションが電子書籍である場合、ページを送るボタン、ページを戻すボタン等が、操作ボタン106aとして操作メニュー画面106に配される。
また、ユーザが指を左方に移動させることにより、図17(a)に示すように、カーソル位置QBがディスプレイ3の左辺を通過して左境界線LLを越えると(S132:YES)、制御部11は、ディスプレイ3の左側部に、すなわち、ディスプレイ3の左辺側に
寄った位置に操作メニュー画面106を表示する(S135)。さらに、ユーザが指を右方に移動させることにより、図17(b)に示すように、カーソル位置QBがディスプレイ3の右辺を通過して右境界線RLを越えると(S133:YES)、制御部11は、ディスプレイ3の右側部に、すなわち、ディスプレイ3の右辺側に寄った位置に操作メニュー画面106を表示する(S136)。
操作メニュー画面106が表示されると、図16(c)に示すように、ユーザは、ディスプレイ3にタッチしたまま指を移動させて、カーソルCを所望の操作ボタン106aまで移動させる。そして、ユーザは、カーソルCが操作ボタン106a上にある状態で指をディスプレイ3から離す。
制御部11は、リリースがなされた判定すると(S106:YES)、カーソル位置QBがオブジェクトである操作ボタン106a上に位置するため(S110:YES)、操作ボタン106aに割り当てられた、ディスプレイ3で実行中のアプリケーションに係る処理を行う(S111)。たとえば、ディスプレイ3上で電子書籍のアプリケーションが実行されている場合、カーソルCがページを送るボタン上に位置する状態で指がリリースされると、ディスプレイ3には、書籍の次のページが表示される。
操作ボタン106aを操作せずに操作メニュー画面106を閉じる場合、ユーザは、カーソルCが操作ボタン106a上に位置しない状態で指をリリースする。
カーソル位置QBがオブジェクト上にないと判定し(S110:NO)、さらに、通知一覧画面104がディスプレイ3に表示されていないと判定すると(S119:NO)、制御部11は、操作メニュー画面106がディスプレイ3に表示されているか否かを判定する(S137)。操作メニュー画面106が表示されていれば(S137:YES)、制御部11は、操作メニュー画面106を閉じる(S138)。
本変更例の構成によれば、ユーザは、ディスプレイ3に操作メニュー画面106を呼び出してから所望の操作ボタン106aに割り当てられた処理を実行させるまでの動作、および、操作メニュー画面106を呼び出してから操作メニュー画面106を閉じるまでの動作を、ディスプレイ3上で指を移動させた後に指を離すという一連の操作で実現でき、携帯電話機1を円滑に操作することができる。
さらに、本変更例の構成によれば、カーソル位置QBがディスプレイ3の外に移動する際に通過したディスプレイ3の辺に寄った位置に操作メニュー画面106が表示されるので、その後、ユーザは、指をあまり移動させることなく、操作メニュー画面106の操作ボタン106aへカーソル位置QB(カーソルC)を移動させることができる。
さらに、本変更例の構成によれば、カーソル位置QBが、ディスプレイ3よりも外に設定された下境界線BL、左境界線LLまたは右境界線RLを越えた場合に、操作メニュー画面106が表示される。よって、ユーザが、誤って指を大きく移動させてしまうことにより、カーソル位置QBが少々ディスプレイ3から外れても、操作メニュー画面106が表示されない。
<変更例3>
上記実施の形態では、ユーザが、カーソル位置QBがディスプレイ3の上辺を越えるように指を上方へ移動させると、通知一覧画面104が表示される。本変更例では、さらに、ディスプレイ3に表示された画面が複数のページを含む場合に、ユーザが、カーソル位置QBがディスプレイ3の左辺または右辺を越えるように指を左方または右方に移動させると、現在表示されているページに隣接するページが表示される。
図18は、本変更例に係る、カーソルモードの制御処理を示すフローチャートである。図19は、本変更例に係る、カーソルモードの制御処理が行われたときの画面表示の一例を示す図である。図19では、複数のページを含むホーム画面がディスプレイ3に表示されている。
図18では、図7のフローチャートに対し、ステップS141ないしステップS144の処理が追加されている。また、図18では、便宜上、図7に示すステップS107ないしステップS109、ステップS112ないしステップS114、ステップS117、およびステップS118の処理の図示が省略されている。
本変更例では、図19(a)に示すように、制御部11は、ディスプレイ3の左辺から所定距離X1だけ左方に離れた位置に左境界線LLを設け、ディスプレイ3の右辺から所定距離X1だけ右方に離れた位置に右境界線RLを設ける。左境界線LLおよび右境界線RLは、カーソル位置QBに対する閾値であり、隣接するページをディプレイ3に表示するか否かを判定するために利用される。左境界線LLおよび右境界線RLを示す座標データが記憶部12に記憶されている。
制御部11は、カーソル位置QBが上境界線ULを越えていないと判定すると(S115:NO)、左境界線LLを越えているか否か、および、右境界線RLを越えているか否かを判定する(S141、S142)。
ユーザが指を左方に移動させることにより、図19(a)に示すように、カーソル位置QBがディスプレイ3の左辺を通過して左境界線LLを越えると(S141:YES)、制御部11は、図19(b)に示すように、左隣のページをディスプレイ3に表示する(S143)。同様に、ユーザが指を右方に移動させることにより、カーソル位置QBがディスプレイ3の右辺を通過して右境界線RLを越えると(S142:YES)、制御部11は、右隣のページをディスプレイ3に表示する(S144)。
隣のページが表示されると、図19(c)に示すように、ユーザは、ディスプレイ3にタッチしたまま指を移動させて、操作対象となるオブジェクト、ホーム画面の場合には起動用アイコン103までカーソルCを移動させる。そして、カーソルCがオオブジェクト上にある状態で指をディスプレイ3から離す。
制御部11は、リリースがなされた判定すると(S106:YES)、カーソル位置QBがオブジェクト上に位置するため(S110:YES)、オブジェクトに割り当てられた処理を行う。たとえば、オブジェクトが起動用アイコン103である場合、制御部11は、起動用アイコン103に対応するアプリケーションを起動して、その動作画面をディスプレイ3に表示する。
本変更例の構成によれば、ユーザは、ディスプレイ3に隣のページを呼び出してから所望のオブジェクトに割り当てられた処理を実行させるまでの動作を、ディスプレイ3上で指を移動させた後に指を離すという一連の操作で実現でき、携帯電話機1を円滑に操作することができる。
<その他の変更例>
上記実施の形態では、上境界線ULが設けられ、制御部11は、カーソル位置QBが上境界線ULより外へ移動したときに、通知一覧画面104を表示する。しかしながら、上境界線ULが設けられなくても良く、この場合、制御部11は、カーソル位置QBがディスプレイ3(表示領域R)の上辺より外へ移動したときに通知一覧画面104を表示する
。同様に、変更例2において、下境界線BL、左境界線LLおよび右境界線RLが設けられず、カーソル位置QBがディスプレイ3(表示領域R)の下辺、左辺または右辺より外へ移動したときに、制御部11により、操作メニュー画面106が表示されても良い。さらに、変更例3において、左境界線LLおよび右境界線RLが設けられず、カーソル位置QBがディスプレイ3(表示領域R)の左辺または右辺より外へ移動したときに、制御部11により、隣接するページが表示されても良い。
さらに、上記実施の形態では、基準カーソル位置QAが基準タッチ位置PAと異なる位置に設定されたが、同じ位置に設定されても良い。
さらに、上記実施の形態では、ロングタッチ操作に基づいてカーソルモードへ移行されるが、他の操作、たとえば、ダブルタップ操作、ハードキーへの操作に基づいてカーソルモードへ移行されても良い。この場合、カーソルモードへの移行後に最初に指がタッチされたディスプレイ3上の位置が、基準タッチ位置PAに設定される。
さらに、上記実施の形態では、カーソル位置QBを中心にカーソルCが描画される構成であるため、ディスプレイ3に表示可能領域RAが設定される。しかしながら、カーソルCがカーソル位置QBに対してディスプレイ3の内側に描画されることにより、ディスプレイ3に表示可能領域RAが設定されない構成とされてもよい。この場合、カーソル位置QBがディスプレイ3の外へ移動したときに、制御部11が、別のカーソル位置QBをディスプレイ3上に設定し、カーソルCを表示する。
さらに、上記変更例2において、上境界線ULが、操作メニュー画面106を表示するための閾値として用いられ、カーソル位置QBが上境界線ULより外へ移動した場合に、制御部11が、ディスプレイ3の上辺側に寄った位置に操作メニュー画面106を表示するようにしても良い。また、上記変更例2において、左境界線LLおよび右境界線RLが、隣接するページを表示するための閾値として用いられ、カーソル位置QBが左境界線LLまたは右境界線RLより外へ移動した場合に、制御部11が、それまで表示されていたページに隣接するページを表示するようにしても良い。
さらに、上記変更例3では、カーソル位置QBが左境界線LLまたは右境界線RLより外へ移動した場合に、それまで表示されていたページに隣接するページが表示されるが、隣接しないページが表示されても良い。
さらに、上記実施の形態では、通知一覧画面104が表示されている状態において、オブジェクトである表示欄104a以外の位置で指がリリースされると、通知一覧画面104が閉じられる。しかしながら、上記構成に限られず、たとえば、指をリリースしても通知一覧画面104が閉じられず、その後、通知一覧画面104の下部へタップ操作が行われたときに、通知一覧画面104が閉じられても良い。さらに、通知一覧画面104が表示された状態で、再びディスプレイ3がタッチされ、そのまま、カーソル位置QBが上境界線ULの外へ移動するように指が移動されたときに、通知一覧画面104が閉じられても良い。
さらに、上記実施の形態では、カーソル位置QBが、表示可能領域RAの外へ移動したことに基づいて基準タッチ位置PAおよび基準カーソル位置QAが変更される。しかしながら、表示可能領域RAの外へ移動したことに基づいて基準タッチ位置PAおよび基準カーソル位置QAが変更されなくても良い。
さらに、上記実施の形態では、カーソル位置QBが表示可能領域RAを外れた状態でタッチ位置の移動が停止すると、基準タッチ位置PAおよび基準カーソル位置QAが更新さ
れる。しかしながら、このような構成に限らず、上記実施の形態の構成において、カーソル位置QBが上境界線ULを越えることにより通知一覧画面104を表示すると判断されたときに、基準タッチ位置PAおよび基準カーソル位置QAが更新されてもよい。同様に、変更例2の構成において、カーソル位置QBが上境界線ULを越えることにより通知一覧画面104を表示すると判断されたとき、並びに、カーソル位置QBが下境界線BL、左境界線LLまたは右境界線RLを越えることにより操作メニュー画面106を表示すると判断されたとき、基準タッチ位置PAおよび基準カーソル位置QAが更新されてもよい。さらに、変更例3の構成において、カーソル位置QBが上境界線ULを越えることにより通知一覧画面104を表示すると判断されたとき、並びに、カーソル位置QBが左境界線LLまたは右境界線RLを越えることにより隣接するページを表示すると判断されたとき、基準タッチ位置PAおよび基準カーソル位置QAが更新されてもよい。
さらに、上記実施の形態では、通知一覧画面104は、ウィンドウ領域RWと同じサイズとされたが、小さなサイズとされても良い。この場合、変更例2と同様、上下左右の境界線UL、BL、LL、RLが設けられ、カーソル位置QBが、何れかの境界線UL、BL、LL、RLの外へ移動すると、通過した境界線UL、BL、LL、RLのあるディスプレイ3の辺に寄った位置に通知一覧画面104が表示される構成とされてもよい。
本発明は、携帯電話機に限られず、PDA(Personal DigitalAssistant)、タブレットPC(Tablet PC)、電子書籍端末、携帯音楽プレーヤ、ポータブルテレビ、ポータブルナビゲーションシステム等の各種の携帯機器に適用可能である。
この他、本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。