(57)【要約】    【構成】携帯電話機１０は、ディスプレイ１４およびタッチパネル１６などを備える。たとえば、ディスプレイ１４には、文章作成機能によって文章が表示される。この状態で、ユーザが文章に対して選択操作を行うと、任意に選択された文字列が第１カーソル（Ｃ１）および第２カーソル（Ｃ２）によって挟まれた状態となる。選択状態の文字列が１文字のときに、右方向にスライド操作がされると、第１カーソルが固定され第２カーソルが右方向に移動する。一方、左方向にスライド操作がされると、第２カーソルが固定され第１カーソルが左方向に移動する。    【効果】ユーザは、２つのカーソルの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。【選択図】図１
2014044628.tif 000002
【特許請求の範囲】
【請求項１】
表示部および前記表示部に設けられ、タッチ操作を検出するタッチパネルを有し、前記表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソルおよび第２カーソルによって挟まれる、携帯端末であって、
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、前記第１カーソルを固定する第１固定部、および
前記第１カーソルが固定された状態で、前記第１方向に移動するタッチ操作がされたとき、前記第２カーソルを前記第１方向に移動させる第１移動部を備える、携帯端末。
【請求項２】
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第２方向に移動するタッチ操作がされたとき、前記第２カーソルを固定する第２固定部、および
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、前記第２方向に移動するタッチ操作がされたとき、前記第１カーソルを前記第２方向に移動させる第２移動部をさらに備える、請求項１記載の携帯端末。
【請求項３】
前記第１移動部は、前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、前記第１方向に移動するタッチ操作がされたとき、現在のタッチ位置に前記第２カーソルを移動させ、
前記第２移動部は、前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、前記第２方向に移動するタッチ操作がされたとき、現在のタッチ位置に前記第１カーソルを移動させる、請求項２記載の携帯端末。
【請求項４】
前記第１固定部は、前記第１カーソルおよび前記第２カーソルによって挟まれている選択データの個数が１つである場合に、前記第１カーソルを固定する、請求項１記載の携帯端末。
【請求項５】
表示部および前記表示部に設けられ、タッチ操作を検出するタッチパネルを有し、前記表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソルおよび第２カーソルによって挟まれる、携帯端末であって、
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、前記第２カーソルだけを前記第１方向に移動させる第１移動部、および
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第２方向に移動するタッチ操作がされたとき、前記第１カーソルだけを前記第２方向に移動させる第２移動部を備える、携帯端末。
【請求項６】
表示部および前記表示部に設けられ、タッチ操作を検出するタッチパネルを有し、前記表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソルおよび第２カーソルによって挟まれる、携帯端末のプロセッサを、
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、前記第１カーソルを固定する固定部、および
前記第１カーソルが固定された状態で、前記第１方向に移動するタッチ操作がされたとき、前記第２カーソルを前記第１方向に移動させる移動部として機能させる、カーソル位置制御プログラム。
【請求項７】
表示部および前記表示部に設けられ、タッチ操作を検出するタッチパネルを有し、前記表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソルおよび第２カーソルによって挟まれる、携帯端末のカーソル位置制御方法であって、
前記第１カーソルおよび前記第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、前記第１カーソルを固定し、そして
前記第１カーソルが固定された状態で、前記第１方向に移動するタッチ操作がされたとき、前記第２カーソルを前記第１方向に移動させる、カーソル位置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、携帯端末、カーソル位置制御プログラムおよびカーソル位置制御方法に関し、特に表示されているデータを選択可能な、カーソル位置制御プログラムおよびカーソル位置制御方法に関する。
【背景技術】
【０００２】
表示されているデータを選択可能な携帯端末の一例が特許文献１に開示されている。特許文献１のタッチパネル制御装置は、一例として携帯電話であり、タッチパネルを含む。タッチパネルは、表示手段を含み、文字が表示される。たとえば、ユーザは、文字を選択する場合は、表示されている文字に対してタッチ操作を行えばよい。具体的には、ユーザは、指でコピーしたい範囲の始点を押下し、コピーしたい範囲の終点まで接触を維持したまま移動して、指を画面から離すことで、コピーする文字の選択範囲を指定できる。
【特許文献１】特開２００９−２０５３０４号公報［G06F 3/023, H03M 11/04, G06F 3/041］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところが、特許文献１が携帯電話に適用された場合、表示されている文字よりもユーザの指の方が大きいことがある。この場合、ユーザは、狙った位置に押下（タッチ）することが難しく、選択範囲を思った通りに指定出来ないことがある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、携帯端末、カーソル位置制御プログラムおよびカーソル位置制御方法を提供することである。
【０００５】
この発明の他の目的は、選択範囲を容易に指定することが出来る、携帯端末、カーソル位置制御プログラムおよびカーソル位置制御方法を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
本発明の第１の態様は、表示部および表示部に設けられ、タッチ操作を検出するタッチパネルを有し、表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソルおよび第２カーソルによって挟まれる、携帯端末であって、第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、第１カーソルを固定する第１固定部、および第１カーソルが固定された状態で、第１方向に移動するタッチ操作がされたとき、第２カーソルを第１方向に移動させる第１移動部を備える、携帯端末である。
【０００８】
第１の態様では、携帯端末（１０：実施例において対応する部分を例示する参照符号。以下、同じ。）は、表示部（１４）およびタッチ操作を検出するタッチパネル（１６）などを有する。たとえば、表示部には、選択可能なデータとして、任意に選択可能な文章が表示されている。ユーザが選択操作を行うと、第１カーソル（Ｃ１）および第２カーソル（Ｃ２）によって文字列が挟まれた状態とされる。
【０００９】
たとえば、選択データが文字である場合、第１カーソルおよび第２カーソルによって１文字が挟まれた状態で、第１方向（右方向、左方向）に移動するタッチ操作がされたとき、第１固定部（３０，Ｓ５３）は第１カーソルを固定する。また、第１カーソルが固定されたのち、第１方向に移動するタッチ操作が続けられると、第２カーソルを第１方向に移動させる。
【００１０】
第１の態様によれば、ユーザは、第２カーソルの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。
【００１１】
第２の態様は、第１の態様に従属し、第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第２方向に移動するタッチ操作がされたとき、第２カーソルを固定する第２固定部、および第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第２方向に移動するタッチ操作がされたとき、第１カーソルを第２方向に移動させる第２移動部をさらに備える。
【００１２】
第２の態様では、第２固定部（３０，Ｓ６３）は、たとえば第１カーソルおよび第２カーソルによって１文字が挟まれた状態で、第１方向とは逆の第２方向（左方向、右方向）に移動するタッチ操作がされると、第２カーソルを固定する。また、第２カーソルが固定されたのち、第２方向に移動するタッチ操作が続けられると、第１カーソルを第２方向に移動させる。
【００１３】
第２の態様によれば、ユーザは、２つのカーソルをそれぞれ個別に移動させることが出来る。
【００１４】
第３の態様は、第２の態様に従属し、第１移動部は、第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第１方向に移動するタッチ操作がされたとき、現在のタッチ位置に第２カーソルを移動させ、第２移動部は、第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第２方向に移動するタッチ操作がされたとき、現在のタッチ位置に第１カーソルを移動させる。
【００１５】
第３の態様では、たとえば第１カーソルおよび第２カーソルによって１文字が挟まれた状態で、第１方向に移動するタッチ操作がされ、タッチ位置が第２カーソルの表示位置と重なると、第２カーソルは現在のタッチ位置に移動する。一方、第２方向に移動するタッチ操作がされ、タッチ位置が第１カーソルの表示位置と重なると、第１カーソルは現在のタッチ位置に移動する。
【００１６】
第３の態様によれば、ユーザは、通常のカーソル操作と略同じ感覚で、必要なカーソルだけをドラッグすることが出来る。
【００１７】
第４の態様は、第１の態様に従属し、第１固定部は、第１カーソルおよび第２カーソルによって挟まれている選択データの個数が１つである場合に、第１カーソルを固定する。
【００１８】
第４の態様では、選択データが文字であれば、第１固定部は、第１カーソルおよび第２カーソルによって１文字が挟まれていれば、第１カーソルを固定する。
【００１９】
第５の態様は、表示部（１４）および表示部に設けられ、タッチ操作を検出するタッチパネル（１６）を有し、表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソル（Ｃ１）および第２カーソル（Ｃ２）によって挟まれる、携帯端末（１０）であって、第１カーソルおよび第２カーソルによって選択データ（１文字）が挟まれた状態で、第１方向（右方向）に移動するタッチ操作がされたとき、第２カーソルだけを第１方向に移動させる第１移動部（３０，Ｓ５５，Ｓ８３）、および第１カーソルおよび第２カーソルによって選択データが挟まれた状態で、第２方向（左方向）に移動するタッチ操作がされたとき、第１カーソルだけを第２方向に移動させる第２移動部（３０，Ｓ６５，Ｓ８７）を備える、携帯端末である。
【００２０】
第５の態様によれば、ユーザは、２つのカーソルの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。
【００２１】
第６の態様は、表示部（１４）および表示部に設けられ、タッチ操作を検出するタッチパネル（１６）を有し、表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソル（Ｃ１）および第２カーソル（Ｃ２）によって挟まれる、携帯端末（１０）のプロセッサ（３０）を、第１カーソルおよび第２カーソルによって選択データ（１文字）が挟まれた状態で、第１方向（右方向、左方向）に移動するタッチ操作がされたとき、第１カーソルを固定する固定部（Ｓ５３）、および第１カーソルが固定された状態で、第１方向に移動するタッチ操作がされたとき、第２カーソルを第１方向に移動させる移動部（Ｓ５５，Ｓ８３）として機能させる、カーソル位置制御プログラムである。
【００２２】
第６の態様でも、第１の態様と同様、ユーザは、第２カーソルの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。
【００２３】
第７の態様は、表示部（１４）および表示部に設けられ、タッチ操作を検出するタッチパネル（１６）を有し、表示部に表示されたデータがタッチ操作によって選択されたとき、選択データが第１カーソル（Ｃ１）および第２カーソル（Ｃ２）によって挟まれる、携帯端末（１０）のカーソル位置制御方法であって、第１カーソルおよび第２カーソルによって選択データ（１文字）が挟まれた状態で、第１方向（右方向、左方向）に移動するタッチ操作がされたとき、第１カーソルを固定し（Ｓ５３）、そして第１カーソルが固定された状態で、第１方向に移動するタッチ操作がされたとき、第２カーソルを第１方向に移動させる（Ｓ５５，Ｓ８３）、カーソル位置制御方法である。
【００２４】
第７の態様でも、第１の態様と同様、ユーザは、第２カーソルの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。
【発明の効果】
【００２５】
この発明によれば、選択範囲を容易に指定することが出来る。
【００２６】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２７】
【図１】図１はこの発明の一実施例の携帯電話機を示す外観図である。
【図２】図２は図１に示す携帯電話機の電気的な構成を示す図解図である。
【図３】図３は図１に示すディスプレイに表示される文章作成機能の画面の一例を示す図解図である。
【図４】図４は図３に示す文章作成機能の画面に対して行われる編集操作の一例を示す図解図であり、図４（Ａ）は任意の位置にタッチ操作がされている状態の一例を示し、図４（Ｂ）は編集メニューを含むポップアップが表示されている状態の一例を示し、図４（Ｃ）はポップアップに対するタッチ操作の一例を示し、図４（Ｄ）は選択状態の文字列が２つのカーソルによって挟まれている状態の一例を示す。
【図５】図５は図４に示すカーソルの位置を変更する操作の一例を示す図解図であり、図５（Ａ）は右方向のスライド操作がされている状態を示し、図５（Ｂ）は第２カーソルが右方向に移動した状態の一例を示す。
【図６】図６は図４に示すカーソルの位置を変更する操作の他の一例を示す図解図であり、図６（Ａ）は左方向のスライド操作がされている状態を示し、図６（Ｂ）は第１カーソルが左方向に移動した状態の一例を示す。
【図７】図７は図３に示す文章作成機能の画面に対して行われる編集操作の他の一例を示す図解図であり、図７（Ａ）は選択状態の文字列に対するタッチ操作の一例を示し、図７（Ｂ）は編集処理に対応するキーを含むポップアップが表示されている状態の一例を示す。
【図８】図８は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図９】図９は図２に示すプロセッサの文章作成処理の一例を示すフロー図である。
【図１０】図１０は図２に示すプロセッサのカーソル位置制御処理の一例を示すフロー図である。
【図１１】図１１は図４に示すカーソルの位置を変更する操作のその他の一例を示す図解図であり、図１１（Ａ）は右方向にスライド操作がされている状態を示し、図１１（Ｂ）はタッチ位置が第２カーソルの表示と重なった状態を示し、図１１（Ｃ）は第２カーソルが右方向に移動した状態の一例を示す。
【図１２】図１２は図４に示すカーソルの位置を変更する操作のさらにその他の一例を示す図解図であり、図１２（Ａ）は左方向にスライド操作がされている状態を示し、図１２（Ｂ）はタッチ位置が第１カーソルの表示と重なった状態を示し、図１２（Ｃ）は第１カーソルが左方向に移動した状態の一例を示す。
【図１３】図１３は図２に示すプロセッサのカーソル位置制御処理の他の一例を示すフロー図である。
【発明を実施するための形態】
【００２８】
＜第１実施例＞
図１を参照して、この発明の一実施例の携帯電話機１０は、一例としてスマートフォン（smart phone）であり、縦長の扁平矩形のハウジング１２を含む。ただし、この発明は、タブレット端末、ＰＤＡなど任意の携帯端末に適用可能であることを予め指摘しておく。
【００２９】
ハウジング１２の一方主面（表面）には、表示部として機能する、たとえば液晶や有機ＥＬなどのディスプレイ１４が設けられる。ディスプレイ１４の上には、タッチパネル１６が設けられる。したがって、この実施例の携帯電話機１０では、後述のハードキーの操作によるものを除く大部分の入力操作は、このタッチパネル１６を介して行われる。
【００３０】
ハウジング１２の縦方向一端の主面側にスピーカ１８が内蔵され、縦方向他端の主面側にマイク２０が内蔵される。
【００３１】
ハウジング１２の一方主面には、タッチパネル１６と共に入力操作手段を構成するハードキーとして、この実施例では、通話キー２２ａ、終話キー２２ｂおよびメニューキー２２ｃが設けられる。
【００３２】
たとえば、ユーザは、ディスプレイ１４に表示されたダイヤルキーに対して、タッチパネル１６によってタッチ操作を行うことで電話番号を入力でき、通話キー２２ａを操作して音声通話を開始することができる。終話キー２２ｂを操作すれば、音声通話を終了することができる。なお、この終話キー２２ｂを長押しすることによって、携帯電話機１０の電源をオン／オフすることができる。
【００３３】
また、メニューキー２２ｃを操作すれば、ディスプレイ１４にメニュー画面が表示され、その状態でディスプレイ１４に表示されているソフトキーやメニューアイコンなどに対して、タッチパネル１６によるタッチ操作を行うことによってメニューを選択し、その選択を確定させることができる。
【００３４】
図２を参照して、図１に示す実施例の携帯電話機１０は、コンピュータまたはＣＰＵと呼ばれるプロセッサ３０などを含む。プロセッサ３０には、無線通信回路３２、Ａ／Ｄ変換器３６、Ｄ／Ａ変換器３８、入力装置４０、表示ドライバ４２、フラッシュメモリ４４、ＲＡＭ４６およびタッチパネル制御回路４８などが接続される。
【００３５】
プロセッサ３０は、携帯電話機１０の全体制御を司る。記憶部として機能するＲＡＭ４６には、フラッシュメモリ４４に予め設定されているプログラムの全部または一部が使用に際して展開され、プロセッサ３０はこのＲＡＭ４６上のプログラムに従って動作する。なお、ＲＡＭ４６はさらに、プロセッサ３０のワーキング領域ないしバッファ領域として用いられる。
【００３６】
入力装置４０は、図１に示すタッチパネル１６、ハードキー２２ａ、２２ｂおよび２２ｃを含むものであり、操作部または入力部を構成する。ユーザが操作したハードキーの情報（キーデータ）はプロセッサ３０に入力される。
【００３７】
無線通信回路３２は、アンテナ３４を通して、音声通話やメールなどのための電波を送受信するための回路である。実施例では、無線通信回路３２は、ＣＤＭＡ方式での無線通信を行うための回路である。たとえば、ユーザが入力装置４０を操作して電話発信（発呼）を指示すると、無線通信回路３２は、プロセッサ３０の指示の下、電話発信処理を実行し、アンテナ３４を介して電話発信信号を出力する。電話発信信号は、基地局および通信網を経て相手の電話機に送信される。そして、相手の電話機において着信処理が行われると、通信可能状態が確立され、プロセッサ３０は通話処理を実行する。
【００３８】
Ａ／Ｄ変換器３６には図１に示すマイク２０が接続され、マイク２０からの音声信号はこのＡ／Ｄ変換器３６を通してディジタルの音声データとしてプロセッサ３０に入力される。Ｄ／Ａ変換器３８にはスピーカ１８が接続される。Ｄ／Ａ変換器３８は、ディジタルの音声データを音声信号に変換して、アンプを介してスピーカ１８に与える。したがって、音声データの音声がスピーカ１８から出力される。
【００３９】
表示ドライバ４２には図１に示すディスプレイ１４が接続され、したがって、ディスプレイ１４はプロセッサ３０から出力される映像または画像データに従って映像または画像を表示する。つまり、表示ドライバ４２は、プロセッサ３０の指示の下、当該表示ドライバ４２に接続されたディスプレイ１４の表示を制御する。また、表示ドライバ４２は表示する画像データを一時的に記憶するビデオメモリを含む。ディスプレイ１４には、たとえばＬＥＤなどを光源とするバックライトが設けられており、表示ドライバ４２はプロセッサ３０の指示に従って、そのバックライトの明るさや、点灯／消灯を制御する。
【００４０】
タッチパネル制御回路４８には、図１に示すタッチパネル１６が接続される。タッチパネル制御回路４８は、タッチパネル１６に必要な電圧などを付与するとともに、タッチパネル１６に対するユーザによるタッチの開始を示すタッチ開始信号、ユーザによるタッチの終了を示す終了信号、およびユーザがタッチしたタッチ位置を示す座標データをプロセッサ３０に入力する。したがって、プロセッサ３０はこの座標データに基づいて、ユーザがディスプレイ１４に表示されるどのアイコンやキーにタッチしたかを判断することができる。
【００４１】
実施例では、タッチパネル１６は、その表面と表面に接近した指などの物体との間に生じる静電容量の変化を検出する静電容量方式でタッチパネルである。タッチパネル１６は、たとえば１本または複数本の指がタッチパネル１６に触れたことを検出する。そのため、タッチパネル１６はポインティングデバイスとも呼ばれる。タッチパネル制御回路４８は検出部として機能し、タッチパネル１６のタッチ有効範囲内でのタッチ操作を検出して、そのタッチ操作の位置を示す座標データをプロセッサ３０に出力する。つまり、ユーザは、タッチパネル１６の表面に対してタッチ操作を行うことによって、操作位置や、操作方向などを携帯電話機１０に入力する。
【００４２】
本実施例のタッチ操作には、タップ操作、ロングタップ操作、フリック操作、スライド操作などが含まれる。
【００４３】
タップ操作は、タッチパネル１６の表面に指を接触（タッチ）させた後、短時間のうちにタッチパネル１６の表面から指を離す（リリースする）操作である。ロングタップ操作は、所定時間以上、指をタッチパネル１６の表面に接触させ続けた後、指をタッチパネル１６の表面から離す操作である。フリック操作は、タッチパネル１６の表面に指を接触させ、任意の方向に指を弾く操作である。スライド操作は、タッチパネル１６の表面に指を接触させたまま任意の方向へ移動させた後、タッチパネル１６の表面から指を離す操作である。
【００４４】
また、上記のスライド操作には、ディスプレイ１４の表面に表示されたオブジェクトに指を触れ、オブジェクトを移動させるスライド操作、いわゆるドラッグ操作も含まれる。さらに、ドラッグ操作の後、タッチパネル１６の表面から指を離す操作をドロップ操作と呼ぶ。なお、以下の説明では、タッチ操作、ロングタップ操作、フリック操作、スライド操作、ドラッグ操作およびドロップ操作は、それぞれ「操作」を省略して記述することがある。
【００４５】
また、携帯電話機１０は、電話機能の他に、文章を任意に作成することが出来る文章作成機能を有している。
【００４６】
図３を参照して、ディスプレイ１４は状態表示領域７０および機能表示領域７２を含み、機能表示領域７２には文章作成機能によって作成された文章が表示されている。状態表示領域７０には、アンテナ３４による電波受信状態を示すアイコン（ピクト）、二次電池の残電池容量を示すアイコンおよび日時が表示される。機能表示領域７２には、たとえば、「ＡＢＣＤＥ」の文字列を含む文章が表示されている。
【００４７】
図４（Ａ），（Ｂ）を参照して、表示されている文章に対してタップされると、編集メニューに対応するポップアップＰ１が表示される。ポップアップＰ１には、文字列を選択するための選択キーＳなどが含まれる。選択キーＳに対してタップされると、ポップアップＰ１を表示するためにタップされた文字を含む、文節（文字列）が選択される。
【００４８】
図４（Ｃ），（Ｄ）を参照して、文字「Ｃ」に対してタッチされポップアップＰ１が表示された場合、文字「Ｃ」を含む文節、ここでは文字「Ｃ」だけが選択状態となる。そして、本実施例では、選択状態の文字列は左側に第１カーソルＣ１が配置され、右側に第２カーソルＣ２が配置される。つまり、選択状態の文字列は、第１カーソルＣ１および第２カーソルＣ２によって挟まれた状態となる。
【００４９】
ここで、ユーザは、第１カーソルＣ１または第２カーソルＣ２をドラッグし、任意の位置でドロップすることで、選択されている文字列の範囲（選択範囲）を任意に変更することが出来る。
【００５０】
ところが、選択状態の文字列が１文字（１つの選択単位）の場合、第１カーソルＣ１と第２カーソルＣ２とが近接した状態で表示される。この状態では、ユーザが第１カーソルＣ１をドラッグするつもりでタッチ操作を行ったとしても、第２カーソルＣ２がドラッグされてしまうことがある。つまり、ユーザは意図した通りにカーソルＣをドラッグできない可能性がある。
【００５１】
そこで、本実施例では、選択状態が１文字である場合、カーソルＣの位置、つまり選択範囲がスライド操作によって変更される。
【００５２】
図５（Ａ），（Ｂ）を参照して、第２カーソルＣ２を右側に移動させる場合、ユーザが任意の位置で右方向にスライドすれば、第２カーソルＣ２は右方向に移動する。一方、図６（Ａ），（Ｂ）を参照して、第１カーソルＣ１を左側に移動させる場合、ユーザが任意の位置で左方向にスライドすれば、第１カーソルＣ１は左方向に移動する。
【００５３】
このとき、カーソルＣの移動量は、スライドの移動量に応じで決められる。また、移動しないカーソル、つまり図５では第１カーソルＣ１、図６では第２カーソルＣ２は、スライド操作が検出されると固定される。
【００５４】
このように、ユーザは、カーソルＣの位置を容易に変更することが出来るため、選択されているデータの範囲を任意に指定することが出来る。特に、ユーザは、左右のカーソルＣをそれぞれ個別に移動させることが出来る。
【００５５】
なお、カーソルＣを固定する方法としては、カーソルＣの表示位置を変更する処理を無効化してもよいし、カーソルＣに対するタッチ操作を無効化してもよい。
【００５６】
図７（Ａ），（Ｂ）を参照して、選択状態の文字列に対してタッチ操作がされると、編集処理に対応するキーを含むポップアップＰ２が表示される。ポップアップＰ２には、選択状態の文字列をコピーするためのコピーキーＣＰおよび選択状態の文字列を切り取るための切り取りキーＣＵが含まれる。そして、ユーザは、任意のキーに対してタッチ操作を行うことで、選択状態の文字列をコピーしたり、切り取ったりすることが出来る。
【００５７】
なお、ポップアップＰ１およびポップアップＰ２は、その表示領域の外側にタッチされると消去される。
【００５８】
また、カーソルＣは左右だけでなく上下に移動させることが出来てもよい。たとえば、下方向に移動させると、第２カーソルＣ２が下方向に移動する。一方、上方向に移動させると、第１カーソルＣ１が上方向に移動する。さらに、一度のスライドで、上下および左右の方向が組み合わせられてもよい。たとえば、ユーザは、左方向に移動した後、リリースせず上方向に移動してもよい。また、右方向に移動した後、リリースせず下方向に移動してもよい。これらの場合、それぞれの方向に対応して、カーソルＣが移動する。
【００５９】
以上で実施例の特徴を概説したが、以下には、図８に示すメモリマップおよび図９、図１０に示すフロー図を用いて詳細に説明する。
【００６０】
図８を参照して、図２に示すＲＡＭ４６には、プログラム記憶領域３０２とデータ記憶領域３０４とが形成される。プログラム記憶領域３０２は、先に説明したように、フラッシュメモリ４４（図２）に予め設定しているプログラムデータの一部または全部を読み出して記憶（展開）しておくための領域である。
【００６１】
プログラム記憶領域３０２には、文章作成機能を実行するための文章作成プログラム３１０およびカーソルＣの表示位置を制御するためのカーソル位置制御プログラム３１２が記憶される。なお、プログラム記憶領域３０２には、電話機能、留守番電話機能、メール機能およびアラーム機能などを実行するためのプログラムも含まれる。
【００６２】
続いて、ＲＡＭ４６のデータ記憶領域３０４には、タッチバッファ３３０および選択バッファ３３２が設けられると共に、タッチ座標マップデータ３３４、カーソルデータ３３６およびカーソル座標データ３３８が記憶される。また、データ記憶領域３０４には、タッチフラグ３４０、左方向フラグ３４２および右方向フラグ３４４も設けられる。
【００６３】
タッチバッファ３３０には、タッチパネル制御回路４８が出力するタッチ座標のデータが記憶される。選択バッファ３３２には、選択状態の文字列のデータが一時的に記憶される。タッチ座標マップデータ３３４は、タッチ操作におけるタッチ座標と、ディスプレイ１４の表示座標とを対応付けるためのデータである。つまり、タッチ座標マップデータ３３４に基づいて、タッチパネル１６に対して行われたタッチ操作の結果が、ディスプレイ１４の表示に反映される。
【００６４】
カーソルデータ３３６は、第１カーソルＣ１および第２カーソルＣ２を表示するための画像データである。カーソル座標データ３３８は、表示されているカーソルの表示座標データを含む。したがって、プロセッサ３０は、タッチバッファ３３０のタッチ座標と、カーソル座標データ３３８のカーソルの表示座標データとに基づいて、カーソルＣに対するタッチ操作か否かを判断する。
【００６５】
タッチフラグ３４０は、タッチパネル１６に対してタッチされているか否かを判断するためのフラグである。たとえば、タッチフラグ３４０は、１ビットのレジスタで構成される。タッチフラグ３４０がオン（成立）されると、レジスタにはデータ値「１」が設定される。一方、タッチフラグ３４０がオフ（不成立）されると、レジスタにはデータ値「０」が設定される。なお、タッチフラグ３４０は、タッチパネル制御回路４８が出力する信号に基づいてオン／オフが切り換えられる。
【００６６】
また、左方向フラグ３４２は、スライド操作の方向が左方向であるかを判断するためのフラグである。右方向フラグ３４４は、スライド操作の方向が右方向であるかを判断するためのフラグである。また、左方向フラグ３４２および右方向フラグ３４４は、タッチフラグ３４０と略同じ構成であるため、各フラグの構成の詳細な説明は簡単のため省略する。
【００６７】
なお、データ記憶領域３０４には、コピーまたは切り取りによって記憶される文字列のデータや、待機状態で表示される画像データなどが記憶されると共に、携帯電話機１０の動作に必要なカウンタや、フラグも設けられる。
【００６８】
プロセッサ３０は、Ａｎｄｒｏｉｄ（登録商標）およびＲＥＸなどのＬｉｎｕｘ（登録商標）ベースのＯＳや、その他のＯＳの制御下で、図９に示す文章作成処理および図１０に示すカーソル位置制御処理などを含む、複数のタスクを並列的に処理する。
【００６９】
文章作成処理は、文章作成機能を実行する操作がされたときに、開始される。ステップＳ１でプロセッサ３０は、文字入力処理を実行する。つまり、ユーザの入力操作に応じて入力された文字列がディスプレイ１４に表示される。なお、入力方法は、仮想キーボードを利用した直接入力であってもよいし、音声入力であってもよい。
【００７０】
続いて、ステップＳ３でタップされたか否かを判断する。つまり、タッチフラグ３４０がオンになった後、続けてオフになったかを判断する。ステップＳ３で“ＮＯ”であれば、つまりタップされていなければ、ステップＳ５でプロセッサ３０は、終了操作か否かを判断する。つまり、文章作成機能を終了させる操作がされたか否かを判断する。ステップＳ５で“ＹＥＳ”であれば、たとえば終話キー２２ｂが操作されると、プロセッサ３０は文章作成機能を終了する。一方、ステップＳ５で“ＮＯ”であれば、たとえば終了操作がされていなければ、プロセッサ３０はステップＳ１に戻る。
【００７１】
ステップＳ３で“ＹＥＳ”であれば、つまりタップされると、ステップＳ７でプロセッサ３０は、ポップアップＰ１を表示する。たとえば、図４（Ｂ）に示すように、編集メニューを含むポップアップＰ１が表示される。続いて、ステップＳ９でプロセッサ３０は、選択キーＳが操作されたか否かを判断する。ステップＳ９で“ＹＥＳ”であれば、つまり選択キーＳに対してタッチ操作がされると、ステップＳ１１でプロセッサ３０は、文字列を選択する。たとえば、図４（Ａ）に示す位置にタップされポップアップＰ１が表示された場合、タッチ位置の文字（「Ｃ」）を含む文節が、図４（Ｄ）に示すように選択状態となる。なお、選択状態の文字列は、選択バッファ３３２に記憶される。
【００７２】
続いて、プロセッサ３０は、ステップＳ１３でカーソル位置制御処理を実行し、ステップＳ１５で編集処理を実行した後、ステップＳ１に戻る。たとえば、ステップＳ１３ではカーソルＣの表示位置が変更され、ステップＳ１５では編集処理に対応するキーを含むポップアップＰ２が表示される。なお、カーソル位置制御処理については、図１０に示すフロー図を用いて詳述するため、ここでの説明は省略する。
【００７３】
ステップＳ９で“ＮＯ”であれば、つまり選択キーＳが操作されていなければ、ステップＳ１７でプロセッサ３０は、他のキーが操作されたか否かを判断する。つまりポップアップＰ１に表示されている選択キーＳ以外のキーが操作されたか否かを判断する。ステップＳ１７で“ＹＥＳ”であれば、つまり他のキーが操作されると、ステップＳ１９でプロセッサ３０は、選択されたキーに基づいて処理を実行する。たとえば、コピーされた文字列を挿入するキー（貼り付けキー）が操作された場合、ポップアップＰ１を表示したときのタッチ位置に基づいて、コピーされた文字列が挿入される。そして、ステップＳ１９の処理が終了すれば、プロセッサ３０はステップＳ１に戻る。
【００７４】
また、ステップＳ１７で“ＮＯ”であれば、つまり他のキーも操作されなければ、ステップＳ２１でプロセッサ３０は、消去操作か否かを判断する。たとえば、ポップアップＰ１の表示領域の外側にタッチされたか否かが判断される。ステップＳ２１で“ＮＯ”であれば、つまり消去操作がされていなければ、プロセッサ３０はステップＳ９に戻る。一方、ステップＳ９で“ＹＥＳ”であれば、つまり消去操作がされると、プロセッサ３０はステップＳ１に戻る。
【００７５】
図１０はカーソル位置制御処理のフロー図である。文章作成処理でステップＳ１３が実行されると、プロセッサ３０は、ステップＳ４１で１つの選択単位がカーソルＣで挟まれているか否かを判断する。たとえば、図４（Ｄ）に示すように第１カーソルＣ１および第２カーソルＣ２によって１文字が挟まれている状態であるかが判断される。なお、ステップＳ４１の処理では、選択バッファ３３２に格納されている文字列に基づいて判断される。
【００７６】
ステップＳ４１で“ＮＯ”であれば、たとえばカーソルＣによって選択されている文字が２文字以上であれば、ステップＳ４３でプロセッサ３０は、カーソル移動処理を実行する。たとえば、カーソル移動処理が実行されると、プロセッサ３０は、カーソルＣに対してドラッグ操作がされたかを判断して、ドラッグ操作がされた場合にはドラッグ操作に応じてカーソルＣの表示位置を移動させる。
【００７７】
続いて、ステップＳ４５でプロセッサ３０は、編集操作か否かを判断する。つまり、編集処理を含むポップアップＰ２を表示するために、選択範囲に対してタッチされたかが判断される。ステップＳ４５で“ＹＥＳ”であれば、つまり編集操作がされると、プロセッサ３０はカーソル位置制御処理を終了して、文章作成処理に戻る。そして、ステップＳ１５の編集処理が実行される。一方、ステップＳ４５で“ＮＯ”であれば、つまり編集操作でなければ、プロセッサ３０はステップＳ４１に戻る。
【００７８】
また、ステップＳ４１で“ＹＥＳ”であれば、たとえば１文字がカーソルＣによって挟まれていれば、ステップＳ４７でプロセッサ３０は、タッチか否かを判断する。つまり、タッチフラグ３４０がオンになったかが判断される。ステップＳ４７で“ＮＯ”であれば、つまりタッチされていなければ、プロセッサ３０はステップＳ４７を繰り返す。一方、ステップＳ４７で“ＹＥＳ”であれば、つまりタッチされると、ステップＳ４９でプロセッサ３０は、ステップＳ４５と同様、編集操作か否かを判断する。ステップＳ４９で“ＹＥＳ”であれば、つまり編集操作がされると、プロセッサ３０はカーソル位置制御処理を終了して、文章作成処理に戻る。
【００７９】
一方、ステップＳ４９で“ＮＯ”であれば、つまり編集操作でなければ、ステップＳ５１でプロセッサ３０は、右方向にスライドしたか否かを判断する。たとえば、右方向フラグ３４４がオンであるかが判断される。
【００８０】
ステップＳ５１で“ＹＥＳ”であれば、つまり図５（Ａ）に示すように、任意の位置で右方向にスライドされると、ステップＳ５３でプロセッサ３０は、第１カーソルＣ１を固定する。たとえば、第１カーソルＣ１に対するタッチ操作を無効化する。なお、ステップＳ５３の処理を実行するプロセッサ３０は第１固定部として機能する。
【００８１】
続いて、ステップＳ５５でプロセッサ３０は、第２カーソルＣ２を右方向へ移動させる。つまり、スライドの移動量に基づいて第２カーソルＣ２の移動量が算出され、プロセッサ３０は、その移動量に基づいて第２カーソルＣ２の表示位置を右方向に移動する。なお、ステップＳ５５の処理を実行するプロセッサ３０は第１移動部として機能する。
【００８２】
続いて、ステップＳ５７でプロセッサ３０は、スライドが継続されているか否かを判断する。ステップＳ５７“ＹＥＳ”であれば、つまりスライドが継続されていれば、プロセッサ３０はステップＳ５５に戻る。一方、ステップＳ５７で“ＮＯ”であれば、たとえばユーザの指がスライドしていなければ、ステップＳ５９でプロセッサ３０は、リリースされたか否かを判断する。つまり、タッチフラグ３４０がオフとなったか否かを判断する。ステップＳ５９で“ＮＯ”であれば、たとえばユーザがタッチパネル１６から指を離していなければ、プロセッサ３０はステップＳ５７に戻る。一方、ステップＳ５９で“ＹＥＳ”であれば、たとえば、スライドが終了してユーザがタッチパネル１６から指を離すと、プロセッサ３０はステップＳ７１に進む。
【００８３】
また、ステップＳ５１で“ＮＯ”であれば、つまり右方向にスライドされていなければ、ステップＳ６１でプロセッサ３０は、左方向にスライドされたか否かを判断する。つまり、左方向フラグ３４２がオンであるかが判断される。ステップＳ６１で“ＮＯ”であれば、つまり左右のどちらにもスライドしていなければ、プロセッサ３０はステップＳ４１に戻る。
【００８４】
ステップＳ６１で“ＹＥＳ”であれば、たとえば図６（Ａ）に示すように左方向にスライドされると、プロセッサ３０は、ステップＳ６３で第２カーソルＣ２を固定し、ステップＳ６５で第１カーソルＣ１を左方向に移動する。たとえば、プロセッサ３０は、第２カーソルＣ２に対するタッチ操作を無効化した後、図６（Ｂ）に示すように第１カーソルＣ１を左方向に移動する。なお、ステップＳ６３の処理を実行するプロセッサ３０は第２固定部として機能し、ステップＳ６５の処理を実行するプロセッサ３０は第２移動部として機能する。
【００８５】
続いて、ステップＳ６７でプロセッサ３０は、スライドが継続しているか否かを判断する。ステップＳ６７で“ＹＥＳ”であれば、つまりスライドが継続していれば、プロセッサ３０はステップＳ６５に戻る。一方、ステップＳ６７で“ＮＯ”であれば、つまりスライドがされなくなると、ステップＳ６９でプロセッサ３０は、リリースされたか否かを判断する。ステップＳ６９で“ＮＯ”であれば、たとえば指がリリースされていなければ、プロセッサ３０はステップＳ６７に戻る。一方、ステップＳ６９で“ＹＥＳ”であれば、つまりリリースされると、プロセッサ３０はステップＳ７１に進む。
【００８６】
ステップＳ７１でプロセッサ３０は、カーソルＣの固定を解除する。たとえば、第１カーソルＣ１に対するタッチ操作の無効化が解除される。そして、ステップＳ７１の処理が終了すれば、プロセッサ３０はステップＳ４１に戻る。
【００８７】
＜第２実施例＞
第２実施例では、スライド操作がされたときに、タッチ位置が固定されていないカーソルＣの表示位置に重なると、タッチ位置にカーソルＣを移動させる。なお、携帯電話機１０の構成や基本的な動作については、第１実施例と略同じであるため、詳細な説明は省略する。
【００８８】
図１１（Ａ）−（Ｃ）を参照して、文字列が選択されている状態で、右方向にスライドされると、第１カーソルＣ１の表示位置が固定される。次に、タッチ位置が第２カーソルＣ２の表示と重なると、現在のタッチ位置に第２カーソルＣ２を移動される。引き続きスライドが行われると、第２カーソルＣ２はスライドに追従して、表示位置が変化する。
【００８９】
一方、図１２（Ａ）−（Ｃ）を参照して、文字列が選択されている状態で、左方向にスライドされると、第２カーソルＣ２の表示位置が固定される。次に、タッチ位置が第１カーソルＣ１と重なると、現在のタッチ位置に第１カーソルＣ１を移動させる。そして、スライドが継続されれば、第１カーソルＣ１はスライドに追従して表示位置が変化する。
【００９０】
つまり、第２実施例では、左右のいずれかの方向からスライドされた場合、その方向では動かしようのないカーソルＣに対するタッチ操作を無効化したうえで、もう一方のカーソルＣだけがドラッグされるようにする。
【００９１】
したがって、ユーザは、通常のカーソル操作と略同じ感覚で、必要なカーソルＣだけをドラッグすることが出来る。
【００９２】
なお、他の実施例では、第１カーソルＣ１または第２カーソルＣ２がタッチ位置に移動しなくてもよい。つまり、ユーザは、任意の位置が終点となるようにスライドを行うことで、カーソルＣを任意の位置に移動させることが出来る。
【００９３】
以上で第２実施例の特徴を概説したが、以下には、図１３に示す第２実施例のフロー図を用いて詳細に説明する。
【００９４】
図１３は、第２実施例のカーソル位置制御処理のフロー図である。第１実施例と同様、文章作成処理でステップＳ１３が実行されると、第２実施例のカーソル位置制御処理は開始される。ステップＳ４１−Ｓ５１は、第１実施例と同じであるため、詳細な説明は省略する。
【００９５】
ステップＳ５１で“ＹＥＳ”であれば、つまり右方向にスライドされると、プロセッサ３０は、ステップＳ５３で第１カーソルＣ１を固定し、ステップＳ８１でタッチ位置が第２カーソルＣ２と重なったか否かを判断する。つまり、プロセッサ３０は、タッチバッファ３３０に記録されるタッチ位置の座標が、カーソル座標データ３３８に含まれる第２カーソルＣ２の表示座標範囲に含まれているかを判断する。ステップＳ８１で“ＮＯ”であれば、つまりタッチ位置が第２カーソルＣ２に重なっていなければ、プロセッサ３０はステップＳ８１を繰り返す。
【００９６】
一方、ステップＳ８１で“ＹＥＳ”であれば、たとえば図１１（Ｂ）に示すように、タッチ位置が第２カーソルＣ２の表示位置に重なると、ステップＳ８３でプロセッサ３０は、第２カーソルＣ２をタッチ位置に移動する。たとえば、プロセッサ３０は、カーソル座標データ３３８に含まれる第２カーソルＣ２の基準座標がタッチバッファ３３０に格納されるタッチ位置と一致するように、第２カーソルＣ２の表示座標範囲を変更する。そして、ステップＳ８３の処理が終了すれば、プロセッサ３０は、ステップＳ７１で第２カーソルＣ２の固定を解除して、ステップＳ４３に戻る。つまり、第２カーソルＣ２の表示位置がドラッグ操作で変更可能な状態となる。なお、ステップＳ８３の処理を実行するプロセッサ３０は第１移動部として機能する。
【００９７】
また、ステップＳ６１で“ＹＥＳ”であれば、つまり左方向にスライドされると、プロセッサ３０は、ステップＳ６３で第２カーソルＣ２を固定して、ステップＳ８５でタッチ位置が第１カーソルＣ１と重なったか否かを判断する。ステップＳ８５で“ＮＯ”であれば、たとえば図１２（Ａ）に示すように、タッチ位置が第１カーソルＣ１と重なっていなければ、プロセッサ３０はステップＳ８５を繰り返す。
【００９８】
一方、ステップＳ８５で“ＹＥＳ”であれば、たとえば図１２（Ｂ）に示すように、タッチ位置が第１カーソルＣ１に重なると、ステップＳ８７でプロセッサ３０は、第１カーソルＣ１をタッチ位置に移動させる。そして、ステップＳ８７の処理が終了すれば、プロセッサ３０は、ステップＳ７１で第２カーソルＣ２の固定を解除して、ステップＳ４３に戻る。これにより、第１カーソルＣ１の表示位置がドラッグ操作で変更可能な状態となる。また、ステップＳ８７の処理を実行するプロセッサ３０は第２移動部として機能する。
【００９９】
なお、他の実施例では、１つの選択単位は、１文字ではなく、１文節または１単語であってもよい。
【０１００】
また、他の実施例では、Ｓ４１−Ｓ４５が省略されてもよい。つまり、選択状態の文字列が１つの選択単位（１文字）以上であっても、スライド操作がされれば第１カーソルＣ１または第２カーソルＣ２が固定され、もう一方のカーソルＣが移動するようにされてもよい。
【０１０１】
また、文書作成機能だけに限らず、ＨＰを閲覧するためのブラウザ機能、受信メールを確認したり新規メールを作成したりするメール機能（ＳＭＳ機能も含む）、メールアドレスや電話番号などを表示するアドレス帳機能でも、上記実施例のように文字列が選択され、その選択範囲が調整されてもよい。
【０１０２】
また、本実施例で用いられたプログラムは、データ配信用のサーバのＨＤＤに記憶され、ネットワークを介して携帯電話機１０に配信されてもよい。また、ＣＤ，ＤＶＤ，ＢＤなどの光学ディスク、ＵＳＢメモリおよびメモリカードなどの記憶媒体に複数のプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、プログラムが本実施例と同等の構成の携帯端末にインストールされた場合、本実施例と同等の効果が得られる。
【０１０３】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。
【符号の説明】
【０１０４】
１０    …  携帯電話機
１４    …  ディスプレイ
１６    …  タッチパネル
３０    …  プロセッサ
４０    …  入力装置
４４    …  フラッシュメモリ
４６    …  ＲＡＭ
【図１】
2014044628.tif 000003
【図２】
2014044628.tif 000004
【図３】
2014044628.tif 000005
【図４】
2014044628.tif 000006
【図５】
2014044628.tif 000007
【図６】
2014044628.tif 000008
【図７】
2014044628.tif 000009
【図８】
2014044628.tif 000010
【図９】
2014044628.tif 000011
【図１０】
2014044628.tif 000012
【図１１】
2014044628.tif 000013
【図１２】
2014044628.tif 000014
【図１３】
2014044628.tif 000015