〔第1の実施の形態〕
図1は第1の実施の形態に係る情報処理端末を示している。図1に示す構成は一例であって、斯かる構成に本開示の情報処理装置およびその入力制御プログラムが限定されるものではない。
この情報処理端末2は図1に示すように、表示部4、タッチパネル6および制御部8を備えている。表示部4は、制御部8によって制御され、画像によって情報を表示する。この表示部4はたとえば、LCD(Liquid Crystal Display)装置で構成される。タッチパネル6は表示部4の表示面上に設置され、表示部4の表示内容を視認できるとともに、指10や、図示しないタッチペン(たとえば、スタイラスペン)のタッチ位置(座標)を検出する。このタッチ位置の検出情報は制御部8に取り込まれる。制御部8は、画像表示、タッチ位置の座標演算、ポインタ生成およびその移動、画面スクロールなどの制御を行う。制御部8はタッチを契機とするポインタの生成、その移動および位置確定を制御する制御手段の一例である。
この情報処理端末2はたとえば、図2に示すように、長方形状で偏平な筐体12を備え、この筐体12に表示部4およびタッチパネル6が設定されている。タッチパネル6は、表示部4の表示画面14を覆って設置されている。したがって、表示画面14の画像情報16やポインタ18などの表示情報20はタッチパネル6上から視認可能である。図2において、破線で示す矢印は、間欠的または連続的に移動するポインタ18の移動およびその方向を示している。
この情報処理端末2のポインタ制御について、図3および図4を参照する。図3および図4はタッチ検出、ポインタ生成、移動およびその位置確定の一例を示している。
図3に示すように、表示画面14にはターゲット位置(座標)Ptの存在を仮定する。この座標Ptに対し、タッチパネル6に指10をタッチすると、そのタッチおよびそのタッチ位置(座標)Piが検出される。破線で示す指10は、タッチ前の状態を示している。実線で示すように指10のタッチを契機に、基準座標として横座標(x座標)が決定され、x座標上にポインタ18が生成され、表示される。このポインタ18はカーソルの一例であり、カーソルは表示画面14上の位置表示である記号や図形を示す。このポインタ18は、タッチ位置Piにある指10と重ならない位置に生成され、表示される。
指10のタッチがタッチ位置Piで継続すると、ポインタ18はx座標上をタッチ位置Piから横方向(図中矢印で示す方向)、つまりターゲット位置Ptに向かって移動する。
このポインタ18は図4に示すように、ターゲット位置Ptに到達したとき、タッチ位置Piから指10を離すと(破線はタッチ解除前を示す)、ターゲット位置Ptで停止する。そのリリース位置で、ターゲット位置Ptにポインタ18の位置を確定させることができる。
次に、図5はポインタ制御の処理手順の一例を示している。図5に示す処理手順は入力制御プログラムの一例であり、これに本開示の情報処理装置およびその入力制御プログラムが限定されるものではない。
図5に示す処理手順(ステップ)では、タッチパネル6に指10をタッチすると、そのタッチが検出され(S11)、タッチおよびそのタッチ位置Piがタッチパネル6から制御部8に取り込まれる。タッチ位置Piを表す基準座標としてx座標が演算により決定され(S12)、このx座標上にポインタ18が生成され、表示画面14に表示される(S13)。
ポインタ18の表示の後、タッチ継続の判定を行う(S14)。このタッチ継続の判定では、タッチが継続しているか否かの判定を行い(S15)、タッチが継続していれば(S15のYES)、ポインタ18がx座標上を移動する(S16)。この移動とともに、タッチの継続が監視され(S15)、タッチが継続している限り(S15のYES)、ポインタ18がx座標上を継続的に移動する。このポインタ18は、タッチの継続に応じて移動を継続する。
ポインタ18が既述のターゲット位置Ptに到達時点でタッチを止めると(S15のNO)、移動していたポインタ18がターゲット位置Ptで停止し、ポインタ18の位置が確定する(S17)。つまり、クリック動作となる。
このような構成では、ユーザが表示画面14のターゲット位置Ptを見定め、タッチパネル6をタッチすれば、ポインタ18を所定の座標に移動させ、その位置を確定させることができる。つまり、タッチ位置と異なる位置に表示したポインタ18を継続的なタッチで、簡易な操作で目標位置にポインタ18を移動させることができる。
ポインタ18はタッチ位置Piと異なる基準座標に表示されるので、指10で覆い隠されることがない。また、指10を目標位置である座標上にタッチする必要がなく、表示情報の視認性を損なうこともない。
〔第2の実施の形態〕
〈情報処理端末のハードウェア構成〉
図6は、第2の実施の形態に係る情報処理端末のハードウェア構成を示している。図6に示す構成は本開示の情報処理装置の一例であり、斯かる構成に本開示の情報処理装置が限定されるものではない。
この情報処理端末2には図6に示すように、タッチパネル6、LCD(Liquid Crystal Display)22、タッチパネルドライバ24、LCDドライバ26、プロセッサ28が備えられている。LCD22は、LCDドライバ26及びプロセッサ28によって制御され、既述の表示情報が表示される。
情報処理端末2には、ROM(Read-Only Memory)30、RAM(Random-Access Memory)32が備えられている。プロセッサ28、ROM30およびRAM32はバス34で接続されている。タッチパネルドライバ24、LCDドライバ26、プロセッサ28、ROM30およびRAM32は図示しない回路基板に搭載され、既述の筐体12(図2)内に搭載されたバッテリより給電されている。
タッチパネルドライバ24は、プロセッサ28によって制御され、タッチパネル6に対する指10やタッチペンのタッチ位置の検出を行う。LCDドライバ26は、プロセッサ28によって制御され、LCD22の表示画面14に画像などの情報表示を行う。画像には図形、文字、記号などの各種の表示情報が含まれる。
プロセッサ28はROM30に格納されたOS(Operating System)、ファームウェアプログラム、本開示の入力制御プログラムなど、各種のプログラムの処理を行う。このプロセッサ28は、既述の制御部8(図1)の一例である。この処理には、タッチパネル6から検出情報の取込み、基準座標の算出、LCD22による情報表示、ポインタ生成およびその移動などが含まれる。ROM30は記憶部の一例であり、ハードディスク装置やフラッシュメモリ(Flash memory)などの記録媒体であってもよく、既述のOSなどのプログラム、制御データが格納されている。また、RAM32は記憶部の一例であり、情報処理のワークエリアを構成するとともに、ポインタ18の移動位置や停止位置などの座標情報を格納する。
〈情報処理端末2の使用形態〉
図7は使用形態の一例を示している。図7において図2と同一部分には同一符号を付してある。
図7に示す情報処理端末2では、既述したように(図2)、偏平な直方体形状の筐体12を備え、この筐体12の前面には中央にタッチパネル6および表示画面14を備えている。このような情報処理端末2では、ひとつの使用形態として、図7の(A)に示すように、右手の掌で筐体12を握れば、タッチパネル6を覆う親指36によるタッチ操作が可能である。他の使用形態として、図7の(B)に示すように、左手の掌で筐体12を握れば、同様に左手の親指36でタッチ操作が可能である。
また、図7の(C)に示すように、左手で筐体12を支持すれば、右手の指10でのタッチ操作も可能である。これとは逆に右手で筐体12を支持すれば、左手の指10でのタッチ操作が可能であろう。
〈タッチパネル6の検出区分〉
図8はタッチパネル6の検出区分を示している。図8に示す検出区分は一例であり、この区分形態に本開示の情報処理装置およびその入力制御プログラムが限定されるものではない。
図8に示す情報処理端末2では、タッチパネル6の左右と上下の3つのエリアに検出面38L、38R、38Bが区分されている。この実施の形態では、検出面38Bをタッチパネル6のボトム側の狭範囲に設定し、検出面38L、38Rを広い範囲に設定している。各検出面38L、38Rは検出面38Bを除いてタッチパネル6を中心で二分する範囲に設定されている。図8では、検出面38L、38R、38Bを区分する区分線40を記載しているが、この区分線40は表示してもよいし、非表示としてもよい。
〈タッチ、ポインタの生成および移動〉
図9は検出面38Rにタッチした場合のポインタ生成および移動を示している。検出面38Rに親指36をタッチすると、タッチ位置の近傍にポインタ18が表示される。このポインタ18は、タッチが継続している間、検出面38Rから検出面38Lに向かって移動する。
図10は検出面38Lにタッチした場合のポインタ生成および移動を示している。検出面38Lに親指36をタッチすると、タッチ位置の近傍にポインタ18が表示される。このポインタ18は、タッチが継続している間、検出面38Lから検出面38Rに向かって移動する。
図11は検出面38Bにタッチした場合のポインタ生成および移動を示している。検出面38Bに指10をタッチすると、タッチ位置の近傍にポインタ18が表示される。このポインタ18は、タッチが継続している間、検出面38Bから表示画面14のトップに向かって移動する。
このように、区分された検出面38L、38R、38Bを選択してタッチすれば、その検出区分に応じてポインタ18を生成、表示させ、移動させることができる。つまり、ポインタ18の移動方向は、検出面38L、38R、38Bにより選択できる。
〈移動中のポインタ18の位置補正〉
図12の(A)は移動中のポインタ18を示している。このポインタ18の移動に対し、図12の(B)に示すように、タッチパネル6のトップ側に指10をスライドさせると、ポインタ18が移動していた基準座標がx1座標からx2座標に変更される。x2座標は、タッチのスライド量により決定され、これを契機に、ポインタ18はx2座標にシフトし、タッチが継続している限り、x2座標上を移動する。
また、図13に示すように、移動中のポインタ18に対し、タッチパネル6のボトム側に指10をスライドさせると、ポインタ18が移動していた基準座標がx1座標からx3座標に変更される。x3座標は、同様にタッチのスライド量により決定され、これを契機に、ポインタ18はx3座標にシフトし、タッチが継続している限り、x3座標上を移動する。
〈移動中のポインタ18のシフト操作〉
図14は、移動中のポインタ18をx1座標からターゲット位置Ptのx2座標にシフトさせる場合を示している。つまり、移動中のポインタ18に対し、ユーザがターゲット位置Ptとの違いに気付いた場合である。指10のタッチを維持しながら、図14に示すように、ターゲット位置Ptに対応するタッチ位置にタッチをスライドさせると、ポインタ18がx2座標にシフトする。これにより、移動中のポインタ18をx1座標からx2座標上を移動させ、ターゲット位置Ptに到達させることができる。
図15は、移動中のポインタ18をx1座標からターゲット位置Ptのx3座標にシフトさせる場合を示している。この場合も指10のタッチを維持しながら、図15に示すように、ターゲット位置Ptに対応するタッチ位置にタッチをスライドさせると、ポインタ18がx3座標にシフトする。これにより、移動中のポインタ18をx1座標からx3座標上を移動させ、ターゲット位置Ptに到達させることができる。
〈移動前のポインタ18の位置補正〉
図16は、指10のタッチ位置で生成されたポインタ18の移動前すなわち、生成直後のポインタ18の位置補正を示している。図16に示すように、ポインタ18の生成直後、指10のタッチ位置をターゲット位置Ptのy座標方向(この場合、画面のトップ方向)にスライドさせれば、生成直後のx1座標からターゲット位置Ptのx2座標にシフトさせることができる。これにより、ポインタ18をx2座標で移動し、ターゲット位置Ptに到達させることができる。これとは逆に、画面のボトム方向にタッチをスライドさせれば、画面のボトム方向にあるターゲット位置Ptにポインタ18を到達させることができる。
〈位置確定前のポインタ18の位置補正〉
図17は、ポインタ18をターゲット位置Ptのy座標上に到達させた後のポインタ18の位置補正を示している。図17に示すように、ポインタ18をターゲット位置Ptのy座標上に到達直後、指10のタッチ位置をターゲット位置Ptのy座標方向(この場合、画面のトップ方向)にスライドさせれば、移動してきたx1座標からターゲット位置Ptのx2座標にシフトさせることができる。これにより、ポインタ18をターゲット位置Ptにジャンプさせることができる。これとは逆に、画面のボトム方向にタッチをスライドさせれば、画面のボトム方向にあるターゲット位置Ptにポインタ18を到達させることができる。
〈ポインタ18と画面スクロール〉
図18はポインタと上方向への画面スクロールを示している。図18の(A)に示すように、ポインタ18がx1座標を移動し、ターゲット位置Ptのy座標上に到達した場合を示している。つまり、ポインタ18がx1座標上でターゲット位置Ptのy座標上に到達しているが、画面のボトム側にあるx2座標にない場合である。
この場合、図18の(B)に示すように、タッチ位置を表示画面14のトップ方向にスライドさせれば、そのスライド量Δyだけトップ側に画面スクロールが行える。これにより、停止しているポインタ18に画面上のターゲット位置Ptを重ね、ポインタ18にターゲット位置Ptを確定させることができる。
また、図19の(A)に示すように、ポインタ18がx1座標上でターゲット位置Ptのy座標上に到達しているが、トップ側にあるx3座標にない場合を示している。この場合、図19の(B)に示すように、タッチ位置を表示画面14のボトム方向にスライドさせれば、そのスライド量Δyだけボトム側に画面スクロールが行える。これにより、停止しているポインタ18にターゲット位置Ptを重ね、ポインタ18にターゲット位置Ptを確定させることができる。
〈ポインタ18のX座標処理〉
図20はタッチ位置から表示画面14の画面端に向かって移動するポインタ18のX座標処理を示している。
ポインタ18がタッチ位置から表示画面14の画面端に向かう場合の移動は、ポインタ18の位置xに(x+a)を代入することにより、ポインタ18の移動量が決定される。aはポインタ18の移動量である。
図21は表示画面14の画面端14L(または14R)からタッチ位置に向かって移動するポインタ18のX座標処理を示している。
ポインタ18が表示画面14の画面端14Lに到達した後、その画面端14Lからタッチ位置側に向かう場合の移動は、ポインタ18の位置xに(x−a)を代入することにより、ポインタ18の移動量が決定される。−aはポインタ18の画面端14Lからの反対方向の移動量である。つまり、表示画面14の画面端14Lに衝突したポインタ18は、画面端14Lへの到達を契機に移動してきた方向と逆方向に同一の移動量で移動することになる。
ユーザは、指10のタッチ位置とポインタ18の移動方向から、そのポインタ18が画面端14Lに衝突前か衝突後かを知ることができる。つまり、タッチ位置から離れる方向にポインタ18が移動している場合には画面端に衝突前の移動であり、タッチ位置に近づく方向にポインタ18が移動している場合には画面端14Lに衝突後の移動である。このような処理はポインタ18が画面端14Rに到達した場合にも同様である。
〈ポインタ18の消去〉
図22の(A)は消去前のポインタ18の移動、図22の(B)はポインタ18の消去を示している。図22の(A)に示すように、指10のタッチで生成されたポインタ18は、図22の(B)に示すように、指10をフリック(flick : はじく) 操作をすることにより消去することができる。
このフリック操作は矢印Fで示すようにたとえば、指10をタッチパネル6に擦りつけながら離す(リリース操作)。これにより、ポインタ18を消去することができる。図22の(B)に破線で示すポインタ18は、消去されたポインタ18を示している。このポインタ18の消去操作およびその処理は、ポインタ18の生成時、移動時、停止時、位置確定時のいずれでも可能である。図22ではポインタ消去に親指36を用いているが、他の指10であってもよい。
〈状態およびその遷移〉
図23は各種の状態およびその遷移を示している。図23に示す状態およびその遷移は一例であり、この構成に本開示の情報処理装置の動作または入力制御プログラムが限定されるものではない。
この情報処理端末2では、タッチパネル6に対するタッチが一定時間以上継続した際に任意方向へポインタ18が連続して移動し、指10を離したタイミング(タッチ解除)で位置の確定動作(クリック動作)を行う。つまり、表示画面14の視認性に影響の少ない位置へのタッチをすれば、その位置に対応してポインタ18が表示され、移動させたポインタ18の位置でたとえば、アイコンをクリックすることができる。この処理手順では、ポインティングされた地点に対応する位置にポインタ18を表示し、任意の時間τを設け、その時間τ以内に指が離れたならばクリック動作とし、その時間よりも長くタッチが継続したならばポインタ18を移動する動作を行う。その後、指10が離れた時点で、ポインタ18が存在する点でクリック動作を行う。この状態およびその遷移では、タッチ開始場所によって相違する動作の違いを含めて示している。
初期状態(S21)では、タッチパネル6にタッチすると、待機状態でポインタ18の表示状態(S22)に遷移する。この待機状態から一定の待機時間τ〔秒〕が経過すると、ポインタ18の移動状態(S23)に遷移する。
このポインタ18の移動中、タッチ位置で指10をスライドさせると、スライド方向に対応してポインタ18が移動状態(S24)に遷移する。スライドを停止すると、ポインタ18の移動状態(S23)に遷移する。
ポインタ18の移動が継続し、ポインタ18が画面端に当たると、ポインタ18は衝突した画面端から衝突前の移動方向と反対方向の移動状態(S25)となる。つまり、反転して移動状態(S23)に遷移する。
ポインタ18の表示状態(S22)からタッチ位置で指10をスライドさせると、画面スクロール(S26)に遷移し、タッチ位置から指10を離すと、ポインタ18の消去(S28)を経て初期状態(S21)に戻る。
ポインタ18の表示状態(S22)またはポインタ18の移動状態(S23)でタッチ位置から指10を離すと、ポインタ18の表示位置のクリック状態(S27)に遷移し、ポインタ18の消去(S28)に遷移する。つまり、クリックしたことに伴うプログラム処理またはポインタ18の消去(S28)により初期状態(S21)に戻る。
ポインタ18の移動状態(S23)で指10をフリック操作するとポインタ18の消去(S28)に遷移する。
〈メインルーチン〉
図24はポインタ制御のメインルーチンを示している。このメインルーチンは処理手順の一例であり、斯かる処理手順に本開示の情報処理装置の入力制御プログラムが限定されるものではない。
このメインルーチンの処理手順(ステップ)では、タッチパネル6のタッチ位置の座標を検出し(S31)、この座標検出を契機にポインタ18を表示する(S32)。
タッチ状態を監視し、指10がタッチ位置から離れたか否かを判断する(S33)。タッチ位置から指10が離れていなければ(S33のNO)、スライド動作の有無を判断する(S34)。スライド動作がなければ(S34のNO)、タッチ開始からの継続時間を監視し、一定時間τ〔秒〕が経過したか否かを判断する(S35)。
タッチ開始からの継続時間がτ〔秒〕未満であれば(S35のNO)、S33、S34およびS35の処理を継続する。タッチ開始からの継続時間がτ〔秒〕経過すれば(S35のYES)、Y座標処理(S36:図25)、X座標処理(S37:図26)の各処理を実行し、ターゲット位置(目標位置)の座標にポインタ18を表示する(S38)。
この位置で、タッチ状態を監視し、指10がタッチ位置から離れたか否かを判断する(S39)。指10が離れていなければ(S39のNO)、S36、S37、S38およびS39の処理を継続的に実行する。
指10が離れていれば(S39のYES)、フリック動作の有無を判断する(S40)。フリック動作があれば(S40のYES)、ポインタの消去(S41)を経て、この処理を終了する。
ステップS33において、指10が離れていれば(S33のYES)、クリック処理を行ない(S42)、ポインタの消去(S41)を経て、この処理を終了する。
ステップS34において、スライド動作があれば(S33のYES)、画面スクロール動作を行ない(S43)、ポインタの消去(S41)を経て、この処理を終了する。
また、ステップS40において、フリック動作がなければ(S40のNO)、ポインタ18の箇所のクリックを行ない(S44)、ポインタの消去(S41)を経て、この処理を終了する。
〈サブルーチン:Y座標処理〉
図25は既述のY座標処理(S36)の処理手順を示している。図25に示す処理手順では、タッチ位置のy座標を検出する(S51)。検出したy座標を取得し(S52)、y座標情報を記憶部のRAM32に格納し、メインルーチン(S36:図24)に戻る。
〈サブルーチン:X座標処理〉
また、図26は、X座標処理(S37)の処理手順を示している。図26の処理手順では、x座標の値xの値を取得し(S71)、ポインタ18が画面端(14Lまたは14R)に有るか否かを判断する(S72)。ポインタ18が画面端になければ(S72のNO)、ポインタ18の移動座標xに(x+a)を代入し(S73)、メインルーチン(S37:図24)に戻る。
また、ステップS72において、ポインタ18が画面端にあれば(S72のYES)、ポインタ18の移動座標xに(x−a)を代入つまり、aを−aに変更し(S74)、メインルーチン(S37:図24)に戻る。
〈検出区分に応じた処理〉
図27、図28および図29は、検出区分に応じたポインタ制御の処理手順を示している。この処理手順は一例であり、斯かる処理手順に本開示の情報処理装置の入力制御プログラムが限定されるものではない。図27、図28および図29において、A、Bはフローチャート間の連結部を示している。
この処理手順では、タッチ位置の座標に既述の検出面38L、38R、38Bの3つの範囲を想定し、検出面38R、38L、38Bの座標に応じて、右範囲フローRF(図27)、左範囲フローLF(図28)、下範囲フローBF(図29)を含んでいる。
図27に示す処理手順では、初期状態ではタッチの有無が監視されており、指10がタッチされると、そのタッチ位置の座標を検出する(S81)。このタッチ座標からタッチ位置が何れの範囲であるかを判断する。すなわち、タッチ位置が右の範囲(検出面38R)かを判断する(S82)。右の範囲であれば(S82のYES)、右範囲フローRFに入る。
右範囲フローRFに入った場合には、タッチの行われた座標にポインタ18を表示し(S83a)、LOOP1(S84a)に入る。LOOP1では、タッチが任意の一定時間τ〔秒〕の経過を監視し、一定時間τ〔秒〕以内に指が離れたか否かが判定される(S85a)。一定時間τ〔秒〕以内に指10が離れれば(S85aのYES)、タッチ位置をクリックする動作を行う(S86a)。一定時間τ〔秒〕以内に指10が離れなければ(S85aのNO)、一定時間τ〔秒〕以内にスライド動作が行われたか否か判定され(S87a)、スライド動作が行われれば(S87aのYES)、画面のスクロール動作を行う(S88a)。
一定時間τ〔秒〕以上、同一位置でタッチが継続すると、LOOP1からLOOP2に移行する(S89a)。このLOOP2(S89a)では、ポインタ18は左方向へ移動する。この移動中に、スライド動作か否かが判定される(S90a)。スライド動作が加われば(S90aのYES)、ポインタ18の移動が行われ(S91a)、ポインタ18が画面端に到達したか否かの判定を行う(S92a)。ポインタ18が画面端に到達すれば、座標変更を行う(S93a)。そして左へポインタ18を移動し(S94a)、LOOP2を脱する。
このLOOP2を経て、タッチが離れた場合にはポインタ18を表示している座標のクリック動作を行う(S95a)。
指10がタッチ位置から離れれば、ポインタ18を消去し(S96a)、この処理を終了し、初期状態に戻る。ポインタ18の消去(S96a)は、クリック動作(S86a)、スクロール動作(S88a)の後にも同様に実行される。
この処理手順において、タッチ位置が右の範囲でない場合には(S82のNO)、左の範囲か否かが判定される(S97)。タッチ位置が左の範囲であれば(S97のYES)、左範囲フローLFに入る。
この左範囲フローLFでは、ポインタ18が右方向に移動することが相違するが、それ以外は右範囲フローRFと同様の処理となる。そこで、図中、右範囲フローRFのS83aないしS96aに対応するステップにS83bないしS96bを付しその説明を割愛する。
この処理手順において、タッチ位置が左の範囲でない場合には(S97のNO)、下の範囲と判定し(S98)、下範囲フローBFに入る。
この下範囲フローBFでは、ポインタ18が下方向に移動することが相違するが、それ以外は左範囲フローLFまたは右範囲フローRFと同様の処理となる。そこで、図中、右範囲フローRFのS83aないしS96aに対応するステップにS83cないしS96cを付しその説明を割愛する。
なお、これらの処理手順(図27、図28、図29)において、ポインタ18の移動を続ければ、ポインタ18を表示している座標を任意の場所へ飛ばす動作をタッチが離れるまで行うようにしてもよい。
〈アクティブ・ポインティング〉
この情報処理端末2および入力制御プログラムを用いれば、ポインタ18の生成および移動により必要な情報選択が行える。タッチパネル6が備えられた情報処理端末2において、ユーザがたとえば、右手で筐体12を保持し、右手の親指36で操作を行う場合、タッチを行う場所として視認性に影響の少ない位置へのタッチのみで、画面左側および中央部へのクリックが可能である。この場合、タッチパネル6の画面端へのタッチが継続した場合、ポインタ18を左へ移動させ、画面左端や中央部にある任意のボタン上にポインタ18を合わせ、親指36を離す(タッチ終了)ことにより、クリック動作が行うことができる。この操作について、図30、図31、図32および図33を参照する。
図30は、ウェブページのリンクなど、ページ上に存在するリンクボタンをポインタで選択する場合を示している。図30に示す表示画面14には、表示情報20に「YES」と「NO」の二つのリンクボタン42、44が同一のx軸上に併置して表示されている。リンクボタン42、44の何れか一方にポインタ18を重ねてクリック動作をすれば、ポインタ18が重ねられた一方を選択できる。
この場合、ユーザは情報処理端末2を握っている右手の指10をリンクボタン42、44が同一のx軸上の位置でタッチすれば、ポインタ18をそのx軸上に表示させることができる。タッチを継続すれば、ポインタ18をリンクボタン42内に移動させることができる。リンクボタン42にポインタ18を重ねた状態で、指10を破線で示す状態から実線で示す状態にタッチパネル6から離せば、ポインタ18の位置が確定し、リンクボタン42が選択される。つまり、この場合ユーザは「YES」を選択することになる。
また、図31は、同様にウェブページのリンクなど、ページ上に存在するリンクボタンをポインタで選択する場合を示している。図31に示す表示画面14には、表示情報20に「A」、「C」、「D」、「E」の四つのリンクボタン46a、46c、46d、46eが異なる二つのx軸上に併置し、密集している場合である。リンクボタン46a、46c、46d、46eの何れかにポインタ18を重ねてクリック動作をすれば、「A」、「C」、「D」、「E」の何れかを選択できる。
この場合、リンクボタン46a、46dと、リンクボタン46c、46eとは異なるx軸上に存在するので、ユーザがリンクボタン46aを選択するには、リンクボタン46a、46d側のx軸上の位置をタッチすればよい。つまり、情報処理端末2を握っている右手の指10をリンクボタン46a、46d側のx軸上の位置でタッチし、ポインタ18をそのx軸上に表示させる。そして、タッチを継続すれば、ポインタ18をリンクボタン46a内に移動させることができる。同様に、リンクボタン46aにポインタ18を重ねた状態で、指10を破線で示す状態から実線で示す状態にタッチパネル6から離すと、ポインタ18の位置がリンクボタン46aで確定し、リンクボタン46aが選択される。
また、図32はスライド操作(ポインタ移動)前の状態を示している。表示画面14には図33に示すように、リンクボタン48を含む表示情報20が展開されている。親指36のタッチにより生成されたポインタ18はx1軸上を移動している。リンクボタン48はx1軸と異なる座標x2上に存在している。
この場合、図33に示すように、親指36を上方つまり、座標x2上にスライドさせれば、ポインタ18を座標x2上にあるリンクボタン48に移動させることができる。この位置で、タッチを離せば、リンクボタン48にポインタ18の位置を確定させることができる。
〈第2の実施の形態の効果〉
(1) 複数の対象物を含む表示情報を表示させ、ユーザのタッチ位置に応じて基準座標として横座標(または縦座標)を決定し、その横座標(または縦座標)にポインタ18を表示させてたとえば、横方向に移動させることができる。ポインタ18を移動させ、タッチリリースに応じて、リリース位置に対応するポインタ18の座標位置を確定し、実行中のプログラム処理に対し、確定位置に応じた処理を実行させることができる。
(2) タッチパネル6に対するタッチ位置(場所)に応じてポインタ18の移動方向を任意に変更でき、情報処理端末2を左手で持つ左持ち、右手で持つ右持ち、下持ち、机上設置など、使用形態に対応できる。
(3) タッチしている指10のタッチを継続しながらスライドさせれば、スライド方向にポインタ18を所望の位置に移動つまり、シフトまたはジャンプさせることができる。つまり、タッチ場所によってポインタ18の移動方向を変更でき、タッチ位置がターゲット位置とずれた場合には、タッチ位置をスライドしてポインタ位置を操作でき、目的位置にポインタを補正することができる。
(4) タッチしている指10をスライドさせれば、ポインタ18のy座標上の位置を変更することなく、指10のスライド方向に画面スクロールを行うことができ、停止または移動中のポインタ18に画面上の所望の位置を合せることができる。目的の位置にリンクボタンを補正することができる。
(5) ポインタが移動を続け、画面端まで移動した際は、ポインタの移動方向の反転を行うか、任意の場所から任意の方向へ移動させることができる。
(6) ポインタ18の生成および移動は、画面端のタッチのみで画面上全ての位置にポインタ18を操作することができる。画面端でのタッチのみで画面上全てを選択することができる。
(7) 視認性に影響しない画面端をタッチすればよいので、画面中心部へのタッチが不要となり、情報表示の視認性の低下を防止できる。また、すばやくタッチすれば、ポインタ18を移動させずに、ポインタ位置をクリックすることができ、直感的なタッチ操作を損なうことが無い。
(8) 画面上に新規メニューなどの表示は不要であるから表示画面を損なうことが無く、画面上の全ての位置でポインタ18を操作でき、所望の情報選択を行うことができる。ポインタ動作を自由に設定でき、汎用性の高いポインディング法を実現できる。
〈第2の実施の形態の変形例〉
(1) ポインタの移動速度を任意の速度、加速度に変更してもよい。たとえば、タッチが継続していれば、タッチ当初の速度に対してタッチ時間の継続により速度を増加させる処理を行ってもよい。
(2) ポインタ18の表示や移動などの動作のキャンセルには、タッチパネル6のパネル面をフリック(はじく)すればよく、動作キャンセルを容易に行うことができる。
(3) ポインタ18の出現や移動時には着色やフラッシュなどのエフェクト処理を付加してもよい。ボタンをクリックするまでの待ち時間に入っていることをエフェクト処理で告知でき、目的位置にポインタ18を到達させるまでのもどかしさや退屈感を軽減できる。
(4)ポインタが移動を続け画面端まで移動した際、ポインタの消去を行ってもよい。
〔第3の実施の形態〕
〈状態およびその遷移〉
図34は第3の実施の形態に係る状態およびその遷移を示している。第2の実施の形態では、ポインタ18の移動(S24)を設定しているが、このポインタ18の移動(S24)に代え、画面の移動(S29)を設定してもよい。
この場合、ポインタ18の移動中に、タッチ位置で指10をスライドさせると、画面の移動(画面スクロール)の状態(S29)に遷移する。スライドを停止すると、ポインタ18の移動状態(S23)に遷移する。
〈サブルーチン:Y座標処理〉
図35は第3の実施の形態に係るY座標処理(サブルーチン)を示している。第2の実施の形態のメインルーチン(図24)において、このY座標処理では、図35に示すように、タッチ位置でのスライド動作の有無を判断する(S61)。スライド動作がなければ(S61のNO)、メインルーチン(S36:図24)に戻る。また、タッチ位置でスライド動作があれば(S61のYES)、画面スクロールを実行し(S62)、メインルーチン(S36:図24)に戻る。
斯かる構成によれば、移動または停止しているポインタ18に画面スクロールにより画面の所定位置を合わせ、確定させることができる。
〈検出区分に応じた処理〉
既述の図27、図28および図29には検出区分に応じたポインタ制御の処理手順を示しているが、この処理手順ではタッチスライドによりポインタ18の移動(S91a、S91b、S91c)を行うことを示している。
この実施の形態では、図36に示すように、右範囲フローRFでタッチスライドにより画面の移動(S91a)を行ってもよい。この場合には同様に、左範囲フローLF、下範囲フローBFにおいても、タッチスライドにより画面の移動(S91b、S91c)を行う。
〈タッチスライドに応じた処理〉
図37は画面スクロール前の状態を示している。表示画面14には図37に示すように、リンクボタン48を含む表示情報20が展開されている。ポインタ18はx1軸上を移動しているのに対し、リンクボタン48は座標x3上に存在している。つまり、リンクボタン48は、座標x1より下方に存在している。
この場合、図38に示すように、親指36を上方にスライドさせれば、表示画面14をスクロールすることができ、ポインタ18の位置にスクロールにより座標x3上のリンクボタン48を移動させることができる。この位置で、タッチを離せば、リンクボタン48にポインタ18の位置を確定させることができる。
このように、既述の状態遷移、Y座標処理または検出区分に応じた処理によれば、画面スクロールを併用してポインタ18の位置に所望の画面位置を合わせることができる。
〔第4の実施の形態〕
図39および図40は、第4の実施の形態に係るポインタ制御を示している。図39および図40において、図2と同一部分には同一符号を付してある。
この実施の形態では、リンクボタンなどの情報選択を容易にするため、ボタンの周囲に範囲を取り、ポインタ18の位置とリンクボタンとの位置関係に冗長度を持たせ、ポインタ位置の確定動作を容易化する機能を備えている。
表示画面14には図39に示すように、複数のリンクボタン50、52、54が表示され、リンクボタン50、52は共通のx座標上の位置であるのに対し、リンクボタン54はリンクボタン50、52とは異なるx座標上にある。一例としてのリンクボタン50、52、54は長方形であり、各リンクボタン50、52、54には中心点Ao、Bo、Coを備えている。各リンクボタン50、52、54をポインタ18のターゲット範囲としてターゲットの領域とすれば、このターゲット領域の周囲には、ターゲット領域を包含してキャプチャ領域56、58、60が設定されている。各キャプチャ領域56、58、60は、ポインタ18を捕獲(キャプチャ)する範囲である。
この場合、親指36のタッチ位置により、そのタッチ位置の近傍に破線で示すポインタ18が生成され、x1座標上がポインタ18の当初の移動座標となる。ポインタ18が生成位置からこの実施の形態では右方向に移動し、リンクボタン52のキャプチャ領域58に到達する。キャプチャ領域58に当たると、座標の演算結果により、ポインタ18がリンクボタン52の中心点Boにジャンプする。タッチが継続していれば、座標の演算結果により、ポインタ18がリンクボタン52の中心点Boからキャプチャ領域58とx1座標の交点にジャンプし、再びx1座標を右方向に移動する。太い破線はポインタ18の移動軌跡を示し、キャプチャ領域58内の矢印はジャンプ軌跡を示し、破線は座標の演算結果を示している。
キャプチャ領域58とx1座標の交点にジャンプしたポインタ18は、タッチが継続している限り移動し続け、リンクボタン50のキャプチャ領域56に到達する。キャプチャ領域56に当たると、同様に座標の演算結果により、ポインタ18がリンクボタン50の中心点Aoにジャンプする。タッチが継続していれば、座標の演算結果により、ポインタ18がリンクボタン50の中心点Aoからキャプチャ領域56とx1座標の交点にジャンプし、再びx1座標を右方向に移動する。
画面端に到達したポインタ18は図40に示すように、たとえば、x2座標にシフトして移動する。そして、リンクボタン54のキャプチャ領域60に到達する。このキャプチャ領域60にポインタ18が当たると、同様に座標の演算結果により、ポインタ18がリンクボタン54の中心点Coにジャンプし、この位置で親指36のタッチを解除すれば、リンクボタン54にポインタ18の位置が決定され、確定する。つまり、リンクボタン54が選択され、所定の処理が実行される。なお、この実施の形態では、説明のためにリンクボタン52の近傍に親指36をタッチしているが、リンクボタン54の近傍に親指36をタッチすることにより、ポインタ18をキャプチャ領域60内に到達させてもよいことは勿論である。
そして、リンクボタン54にポインタ18の位置を確定させることなく、タッチを継続させれば、他の座標にポインタ18を移動させ、その移動を表示することができる。
このようなポインタ制御について、図41を参照する。図41はポインタ制御の処理手順の一例を示している。
この処理手順では、ポインタ表示の後、ポインタ18が移動を開始すると、ポインタ18の座標位置が監視され、ポインタ18の座標がどこにあるかが判定される。ポインタ18が既述の中心点Ao、Bo、Coまたはその他の点かの判定は、座標がキャプチャ領域56内か(S101)、キャプチャ領域58内か(S102)およびキャプチャ領域60内か(S103)の1つ又は複数を判定することで行う。
キャプチャ領域56内にポインタ18があれば(S101のYES)、ポインタ18を中心点Aoに表示する(S104)。キャプチャ領域58内にポインタ18があれば(S102のYES)、ポインタ18を中心点Boに表示する(S105)。キャプチャ領域60内にポインタ18があれば(S103のYES)、ポインタ18を中心点Coに表示する(S106)。また、その他の位置にポインタ18があれば(S101、S102及びS103のNO)、ポインタ18が中心点Ao、Bo、Coのいずれにも表示されない。すなわち、ポインタ18の座標にポインタ18を表示する。移動が終了したかを判断し、移動が終了していない場合(S107のNO)、座標位置の監視及び判定を繰り返し、ポインタ18を中心点Ao、Bo、Coまたはポインタ18の座標に表示する。移動が終了すると(S107のYES)、処理を終了する。
〔第5の実施の形態〕
図42および図43は第5の実施の形態に係るポインタ制御を示している。図42および図43において、図39と同一部分には同一符号を付してある。
この実施の形態では、リンクボタンなどの情報選択を容易にするため、第4の実施の形態と同様にボタンの周囲に範囲を取り、ポインタ18の位置とリンクボタンとの位置関係に冗長度を持たせている。さらに、この実施の形態では、軌道修正の制御を加えてポインタ位置の確定動作を容易化している。
表示画面14には図42に示すように、複数のリンクボタン50、52、54が表示され、これらの座標位置の関係は図39と同様である。また、各リンクボタン50、52、54をポインタ18のターゲット範囲としてターゲットの領域とすれば、このターゲット領域の周囲には、ターゲット領域を包含してキャプチャ領域56、58、60が設定された点も同様である。
この場合、親指36のタッチ位置により、そのタッチ位置の近傍に破線で示すポインタ18が生成され、x1座標上がポインタ18の当初の移動座標となる。ポインタ18が生成位置から右方向に移動し、リンクボタン52のキャプチャ領域58に到達する。ポインタ18がキャプチャ領域58に当たると、座標の演算結果により、ポインタ18がリンクボタン52の中心点Boにジャンプする。タッチが継続していれば、座標の演算結果により、ポインタ18がリンクボタン52の中心点Boのx3座標から右方向に移動する。太い破線はポインタ18の移動軌跡を示し、キャプチャ領域58内の矢印はジャンプ軌跡を示し、破線は座標の演算結果を示している。
ポインタ18は、タッチが継続している限り移動し続け、リンクボタン50のキャプチャ領域56に入り、リンクボタン50の中心点Aoに到達する。タッチが継続していれば、座標の演算結果により、ポインタ18がリンクボタン50の中心点Aoから再びx3座標を右方向に移動する。
画面端に到達したポインタ18は、図43に示すように、たとえば、x4座標にシフトして移動し、リンクボタン54のキャプチャ領域60に入りリンクボタン54の中心点Coに到達する。この位置で親指36のタッチを解除すれば、リンクボタン54にポインタ18の位置が決定され、確定する。つまり、リンクボタン54が選択され、所定の処理が実行される。なお、この実施の形態においても、説明のためにリンクボタン52の近傍に親指36をタッチしているが、リンクボタン54の近傍に親指36をタッチすることにより、ポインタ18をキャプチャ領域60内に到達させてもよいことは勿論である。
そして、リンクボタン54にポインタ18の位置を確定させることなく、タッチを継続させれば、他の座標にポインタ18を移動させ、その移動を表示することができる。
このようなポインタ18の制御について、図44を参照する。図44はポインタ制御の処理手順の一例を示している。
この処理手順では、ポインタ表示の後、ポインタ18が移動を開始すると、ポインタ18の座標位置が監視され、ポインタ18の座標がどこにあるかが判定される。ポインタ18が既述の中心点Ao、Bo、Coまたはその他の点かの判定は、座標がキャプチャ領域56内か(S201)、キャプチャ領域58内か(S202)およびキャプチャ領域60内か(S203)の1つ又は複数を判定することで行う。
キャプチャ領域56内にポインタ18があれば(S201のYES)、ポインタ18を中心点Aoに表示する(S204)。キャプチャ領域58内にポインタ18があれば(S202のYES)、ポインタ18を中心点Boに表示する(S205)。キャプチャ領域60内にポインタ18があれば(S203のYES)、ポインタ18を中心点Coに表示する(S206)。また、その他の位置にポインタ18があれば(S201、S202及びS203のNO)、ポインタ18が中心点Ao、Bo、Coのいずれにも表示されない。すなわち、ポインタ18の座標にポインタ18を表示する。移動が終了したかを判断し、移動が終了していない場合(S207のNO)、座標位置の監視及び判定を繰り返し、ポインタ18を中心点Ao、Bo、Coまたはポインタ18の座標に表示する。
このような表示と連動し、ポインタ18を中心点Ao、Bo、Coのいずれかに表示すると、ポインタ18の表示位置のx座標を取得し、RAM32に格納し(S208)、ポインタ18の表示位置のx座標を固定する。
中心点Ao、Bo、Co以外の他の位置にポインタ18がある場合、ポインタ18の座標にポインタ18を表示する。ポインタ18の表示位置のx座標を格納した後であれば、格納したx座標に基づいてポインタ18は表示される。移動が終了すると(S207のYES)、処理を終了する。
〔他の実施の形態〕
(1) 第2の実施の形態で示した検出区分(図8)について、図45に示すように、表示画面14のトップ側に検出面38Tを備え、この検出面38Tでタッチを検出してもよい。この場合、検出面38Tのタッチ検出に基づき、検出面38Tが割り当てられた画面上ポインタ18を生成し、表示画面14のトップ側からボトム側に移動する構成としてもよい。
(2) ポインタ18のキャプチャ領域について、図46に示すように、円形のリンクボタン62の中心点Doを中心にリンクボタン62と同心円状のキャプチャ領域64を設定し、ポインタ18を中心点Doに導くようにしてもよい。なお、キャプチャ領域64の形状は任意であり、リンクボタンと異ならせてもよい。
(3) ポインタ18の形態について、上記実施の形態では図47の(A)に示すように、ポインタ18がアローヘッド66と、このアローヘッド66の後部にシャフト68とを備えている。この場合、アローヘッド66の頂点に位置を明示する座標70を備えてもよい。アローヘッド66は、一例として示唆方向に鋭角の頂角を持つ二等辺三角形であるが、斯かる形状に限定されない。示唆方向を明示できればどのような形状でもよい。シャフト68の形状も任意に設定すればよい。また、ポインタ18は、図47の(B)に示すように、座標部72を中心に菱形部74を備えた形態であってもよい。
(4) 上記実施の形態では、情報処理端末2を例示したが、本開示の情報処理装置は図48に示すように表示部4にタッチパネル6を備えるパーソナルコンピュータ76であってもよいし、電子ゲーム機であってもよい。さらには、情報処理機能を備えた機器であればどのようなものでもよい。
(5) 第4の実施の形態および第5の実施の形態では、ポインタ制御に際し、座標がキャプチャ領域56内か、キャプチャ領域58内かおよびキャプチャ領域60内かを順に確認した。確認の順番に制限はなく、例えば、キャプチャ領域58内かまたはキャプチャ領域60内かのいずれかを最初に確認するようにしてもよい。
以上説明したように、本発明の情報処理装置およびその入力制御プログラムの最も好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。