(57)【特許請求の範囲】
【請求項１】
文字列を表示可能な携帯端末であって、
前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、
前記携帯端末が自身の動作を検知する動作検知手段と、
前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、
前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を記憶する複数文字移動条件記憶手段
を備え、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすること
を特徴とする携帯端末。
【請求項２】
文字列を表示可能な携帯端末であって、
前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、
前記携帯端末が自身の動作を検知する動作検知手段と、
前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、
前記文字列を範囲選択する場合の範囲選択開始位置の指定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第一の受付手段と、
前記文字列を範囲選択する場合の範囲選択終了位置の決定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第二の受付手段と、
前記第一の受付手段と前記第二の受付手段によって決定された前記範囲選択開始位置と前記範囲選択終了位置の間の範囲を選択状態とする範囲選択手段と、
前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を記憶する複数文字移動条件記憶手段
を備え、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすること
を特徴とする携帯端末。
【請求項３】
前記所定の位置とは、前記携帯端末に表示される文字列の間において任意にタッチされた位置であること
を特徴とする請求項１または２に記載の携帯端末。
【請求項４】
前記携帯端末に与えられた前記動作により、前記携帯端末に表示される文字列上でのカーソル位置が動くための条件を記憶する動作検知条件記憶手段
を備え、
前記動作検知条件記憶手段に記憶されている前記動作が有効になるための条件を取得し、前記条件の閾値を超えたところで初めて前記文字列上でのカーソル位置が動くこと
を特徴とする請求項１乃至３のいずれか１項に記載の携帯端末。
【請求項５】
前記携帯端末が検知する前記動作の大きさ毎に紐づく前記カーソル位置の移動の速度を記憶するカーソル速度記憶手段、
を備え、
前記カーソル速度記憶手段に記録された前記カーソル位置の移動の速度は、前記動作の大きさに連動して速くなる
ことを特徴とする請求項１乃至４のいずれか１項に記載の携帯端末。
【請求項６】
前記携帯端末に与えられた前記動作の方向に紐づく前記カーソル位置の移動方向を記憶するカーソル移動方向記憶手段
を備えることを特徴とする請求項１乃至５のいずれか１項に記載の携帯端末。
【請求項７】
範囲選択された前記文字列に対して、携帯端末の表示装置の上で、ユーザにキーを操作させることにより、該文字列のコピー、切り取り、貼り付けの処理を可能とする
ことを特徴とする請求項１乃至６のいずれか１項に記載の携帯端末。
【請求項８】
範囲選択された前記文字列は、更に、選択状態であることを識別するために文字色と背景色を反転状態にして表示する
ことを特徴とする請求項１乃至７のいずれか１項に記載の携帯端末。
【請求項９】
前記携帯端末は、選択した前記文字列を選択解除することを可能とする文字列範囲選択解除手段
を備え、
前記文字列の一部が範囲選択されている状態である場合に、前記範囲選択されている状態の中へ前記カーソルが再度移動することによって文字列選択解除を行うことを可能とする
ことを特徴とする請求項１乃至８のいずれか１項に記載の携帯端末。
【請求項１０】
前記携帯端末が検知する動作は、前記携帯端末に対する傾きであることを特徴とする請求項１乃至９のいずれか１項に記載の携帯端末。
【請求項１１】
文字列を表示可能な携帯端末の制御方法であって、
カーソル表示手段が、前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示ステップと、
動作検知手段が、前記携帯端末が自身の動作を検知する動作検知ステップと、
カーソル位置移動手段が、前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知ステップによって検知した前記動作に連動して移動させるカーソル位置移動ステップと、
複数文字移動条件登録手段が、前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を複数文字移動条件記憶手段に記憶する複数文字移動条件登録ステップ
を含み、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすることを特徴とする携帯端末の制御方法。
【請求項１２】
コンピュータを、文字列を表示可能な携帯端末として機能させるプログラムであって、
前記コンピュータを、
前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、
前記携帯端末が自身の動作を検知する動作検知手段と、
前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、
前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を複数文字移動条件記憶手段に記憶する複数文字移動条件登録手段
として機能させ、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすること
を特徴とするプログラム。
【請求項１３】
文字列を表示可能な携帯端末の制御方法であって、
カーソル表示手段が、前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示ステップと、
動作検知手段が、前記携帯端末が自身の動作を検知する動作検知ステップと、
カーソル位置移動手段が、前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知ステップによって検知した前記動作に連動して移動させるカーソル位置移動ステップと、
第一の受付手段が、前記文字列を範囲選択する場合の範囲選択開始位置の指定を、前記カーソル位置移動ステップにより移動されたカーソルにより受け付ける第一の受付ステップと、
第二の受付手段が、前記文字列を範囲選択する場合の範囲選択終了位置の決定を、前記カーソル位置移動ステップにより移動されたカーソルにより受け付ける第二の受付ステップと、
範囲選択手段が、前記第一の受付ステップと前記第二の受付ステップによって決定された前記範囲選択開始位置と前記範囲選択終了位置の間の範囲を選択状態とする範囲選択ステップと、
複数文字移動条件登録手段が、前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を複数文字移動条件記憶手段に記憶する複数文字移動条件登録ステップ
を含み、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすること
を特徴とする携帯端末の制御方法。
【請求項１４】
コンピュータを、文字列を表示可能な携帯端末として機能させるプログラムであって、
前記コンピュータを、
前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、
前記携帯端末が自身の動作を検知する動作検知手段と、
前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、
前記文字列を範囲選択する場合の範囲選択開始位置の指定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第一の受付手段と、
前記文字列を範囲選択する場合の範囲選択終了位置の決定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第二の受付手段と、
前記第一の受付手段と前記第二の受付手段によって決定された前記範囲選択開始位置と前記範囲選択終了位置の間の範囲を選択状態とする範囲選択手段と、
前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を複数文字移動条件記憶手段に記憶する複数文字移動条件登録手段
として機能させ、
前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすること
を特徴とするプログラム。
【請求項１５】
請求項１２または請求項１４に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は携帯端末におけるカーソルの動作制御に関する。
【背景技術】
【０００２】
携帯端末上で文字列のコピーや削除を行うために必要となる範囲選択は、画面上に表示がされている文字列の中より範囲選択の開始位置と、終了位置を、画面上の文字列の間を指でタッチしカーソルを位置付けることによって行われている。
【０００３】
しかしながら、カーソル位置を画面上の文字間をタッチして位置付けることは、カーソルの位置付け先となる文字が小さい場合に、自分の指で画面上の文字を確認しながらカーソルを位置付けることがしづらいため、例えば、範囲選択の開始位置と終了位置や、文字列挿入の位置等を決定しにくいという問題があった。
【０００４】
そこで上記の理由により、携帯端末上では、カーソルの選択をし易くするようにすることが望まれている。
【０００５】
携帯端末上で文字選択の操作を行い易くする方法として以下の先行文献がある。例えば、特許文献１では、携帯電話の表示部に表示した文字列の中から任意の文字列を範囲指定する場合、以下の方法が開示されている。
【０００６】
まず、開始位置の選択は、選択開始位置の文字自体が現在の画面上において何行目と何列目に位置するのかを確認した後、その行と列の位置を数字キーで順に指定すると、カーソルを文字列選択の範囲選択開始位置まで移動することを可能としている。また、終了位置も、開始位置の指定と同じく選択を行うことを可能とし、終了位置が決定されると、開始位置からの文字列を選択状態にすることを可能としている。
【０００７】
このように、携帯電話の数字キーを押下することによって位置指定を行うことにより、直接選択する範囲を見ながら、キー操作の回数が少なくして範囲指定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１６５３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１で開始されている発明は、文字列の範囲選択を、範囲選択開始文字と範囲選択終了文字の位置を、数字キーを押下することによって可能としているものの、文字の位置を指定する際に、文字位置の行と列の位置を数値で認識しなくてはならない。
【００１０】
また、キーによる操作は十字キーによる選択によって範囲指定することよりは、回数が少なくなっているものの、キー操作を行わなくてはならないということには変わりがない。
【００１１】
そこで、本発明ではこれらの点を鑑み、携帯端末上に表示されるカーソルの位置を容易に決定できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、文字列を表示可能な携帯端末であって、前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、前記携帯端末が自身の動作を検知する動作検知手段と、前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を記憶する複数文字移動条件記憶手段を備え、前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすることを特徴とする。
更に、文字列を表示可能な携帯端末であって、前記携帯端末の文字列の所定の位置にカーソルを表示させるカーソル表示手段と、前記携帯端末が自身の動作を検知する動作検知手段と、前記携帯端末に表示される文字列上でのカーソル位置を、前記動作検知手段によって検知した前記動作に連動して移動させるカーソル位置移動手段と、前記文字列を範囲選択する場合の範囲選択開始位置の指定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第一の受付手段と、前記文字列を範囲選択する場合の範囲選択終了位置の決定を、前記カーソル位置移動手段により移動されたカーソルにより受け付ける第二の受付手段と、前記第一の受付手段と前記第二の受付手段によって決定された前記範囲選択開始位置と前記範囲選択終了位置の間の範囲を選択状態とする範囲選択手段と、前記携帯端末の前記カーソル位置が複数の文字列選択を可能とするための、前記動作の継続時間の閾値を記憶する複数文字移動条件記憶手段を備え、前記動作の継続時間の閾値を変更することにより、前記動作の一定時間内における前記カーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とすることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、携帯端末上に表示されるカーソルの位置を容易に決定できるようにすることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態の携帯端末が情報表示システムとして使用される環境のシステム構成を示す図である。
【図２】本発明の実施形態の携帯端末とＷＥＢサーバのハードウェア構成の一例を示す図である。
【図３】本発明の実施形態の携帯端末の機能構成の一例を示す図である。
【図４】本発明の実施形態における携帯端末における文字列選択と文字列編集処理のメインフローを示す図である。
【図５】本発明の実施形態における携帯端末における文字列選択と文字列編集処理の中の初期設定処理のフローを示す図である。
【図６】本発明の実施形態における携帯端末における文字列選択と文字列編集処理の中のカーソル位置決定処理のフローを示す図である。
【図７】本発明の実施形態における携帯端末におけるカーソル位置決定処理の中のカーソル移動処理のフローを示す図である。
【図８】本発明の実施形態における携帯端末における文字列選択と文字列編集処理の中の範囲選択と範囲選択終了カーソル位置決定処理のフローを示す図である。
【図９】本発明の実施形態における携帯端末における範囲選択と範囲選択終了カーソル位置決定処理の中の範囲選択処理のフローを示す図である。
【図１０】本発明の実施形態における携帯端末における範囲選択処理の中の斜めの傾きの範囲選択処理のフローを示す図である。
【図１１】本発明の実施形態における携帯端末の画面上のカーソル移動と文字列編集の機能キーの１例を示すイメージ図である。
【図１２】本発明の実施形態における初期値設定処理の設定画面テーブルの１例を示すイメージ図である。
【図１３】本発明の実施形態における携帯端末で表示される文字列上のカーソルの上下左右の各方向への動きを示したイメージ図である。
【図１４】本発明の実施形態における携帯端末で表示される文字列上のカーソルの右斜め上、右斜め下、左斜め上、左斜め下の各方向への動きを示したイメージ図である。
【図１５】本発明の実施形態における携帯端末で表示される横書きの文字列上での縦と横方向への文字列範囲選択の各動きを示したイメージ図である。
【図１６】本発明の実施形態における携帯端末で表示される縦書きの文字列上での縦と横方向への文字列範囲選択の各動きを示したイメージ図である。
【図１７】本発明の実施形態における携帯端末で表示される横書きの文字列上での文字列選択の方向と同じ方向へ、斜めへ文字列範囲選択した場合の各動きを示したイメージ図である。
【図１８】本発明の実施形態における携帯端末で表示される縦書きの文字列上での文字列選択の方向と同じ方向へ、斜めへ文字列範囲選択した場合の各動きを示したイメージ図である。
【図１９】本発明の実施形態における携帯端末で表示される横書きの文字列上での文字列選択の方向とは逆の方向へ、斜めへ文字列範囲選択した場合の各動きを示したイメージ図である。
【図２０】本発明の実施形態における携帯端末で表示される縦書きの文字列上での文字列選択の方向とは逆の方向へ、斜めへ文字列範囲選択した場合の各動きを示したイメージ図である。
【図２１】本発明の実施形態における、文字列の範囲選択後、範囲選択部分をコピーし、貼り付けを行った時と、文字列の範囲選択後、範囲選択部分を削除した時の文字列編集前後の状態を示したイメージ図である。
【図２２】本発明の第二の実施形態における、小さい文字列の中の所望の位置へ、携帯端末の画面をタッチすることによってカーソル位置を位置付けられなかった場合に、携帯端末にある動作を与えてカーソル位置の微調整を行うことにより、所望の位置へカーソルを位置づける処理のフローを示す図である。
【図２３】本発明の第二の実施形態における、携帯端末の画面をタッチすることによってカーソル位置を位置付けた後に、再度、カーソル位置を携帯端末に加えた動作によって所定の位置に決定する方法を示す図である。
【図２４】本発明の第三の実施形態における携帯端末における文字列選択と文字列編集処理の中の初期設定処理のフローを示す図である。
【図２５】本発明の第三の実施形態における携帯端末における文字列選択と文字列編集処理の中のカーソル位置決定処理のフローを示す図である。
【図２６】本発明の第三の実施形態における携帯端末における文字列選択と文字列編集処理の中の範囲選択と範囲選択終了カーソル位置決定処理のフローを示す図である。
【図２７】本発明の第三の実施形態における初期値設定処理の設定画面テーブルの１例を示すイメージ図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を説明する。
【００１６】
図１は、本発明実施形態の携帯端末のデータ表示システムにおけるＷＥＢサーバ２００と携帯端末１００の構成の一例を示したシステム構成図である。
【００１７】
図１に示すように、本実施形態のシステムでは、携帯端末１００はＷＥＢサーバ上のデータを表示閲覧するための装置である。携帯端末１００は、持ち運び可能な情報処理端末を想定していて、公衆回線３００、またはインターネット回線４００を介してＷＥＢサーバ２００にアクセス可能とする。
【００１８】
携帯端末１００へ、ＷＥＢサーバ２００に対して情報の閲覧要求が行われると、ＷＥＢサーバ２００に記憶されているデータから、要求されたデータを携帯端末１００へ返す。
【００１９】
なお、今回の発明における範囲選択の動作は、携帯端末１００側で行われることとする。
前記ＷＥＢサーバから、データを表示閲覧する構成は、あくまで１例であって、データは例えば、受信したメール、ユーザが入力した文字列、他の情報処理装置と接続して取得したデータ等、いずれも携帯端末１００の表示装置に表示されているデータであれば良い。
【００２０】
図２は、本発明の実施形態における携帯端末１００とＷＥＢサーバ２００のハードウェア構成を示す図である。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２３】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２４】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２５】
ただし、携帯端末への入力の制御は、ソフトキーボードや、画面に直に接触することによって行う。
【００２６】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００２７】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２８】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２９】
また、携帯端末の場合、インターネット通信以外にも、公衆回線を用いて電話としての通信が可能であっても良い。
【００３０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明を実現するためのプログラムは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３２】
次に、図３を用いて、本発明にける携帯端末の機能構成図の一例について説明する。
【００３３】
携帯端末１００は、動作検知部１０１、動作検知条件記憶部１０２、カーソル速度記憶部１０３、複数文字選択条件記憶部１０４、カーソル移動方向記憶部１０５、動作検知条件取得部１０６、カーソル速度取得部１０７、複数文字選択条件取得部１０８、カーソル移動方向取得部１０９、カーソル位置移動部１１０、文字列範囲選択開始位置決定部１１１、文字列範囲選択部１１２、文字列編集部１１３、文字列反転部１１４、文字列範囲選択解除部１１５からなる。
【００３４】
動作検知部１０１は、外部から与えられた動作によって携帯端末自身がどのように影響を受けたのか、つまり、携帯端末自身の動作を、ジャイロセンサ、または、加速度センサ本体が検知する検知部である。
【００３５】
動作検知条件記憶部１０２、は、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作によって、カーソルの動作を有効になるための条件を記憶しておく記憶部である。
【００３６】
カーソル速度記憶部１０３は、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作の大きさ毎に紐づくカーソル移動の速度を記憶しておく記憶部である。
【００３７】
複数文字選択条件記憶部１０４は、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作により、カーソルが複数の文字列移動を可能とするための条件を記憶しておく記憶部である。
【００３８】
カーソル移動方向記憶部１０５は、携帯端末１００が動作検知部１０１により検知した携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作が加えられた其々の方向に紐づくカーソルの移動方向を記憶しておく記憶部である。
【００３９】
動作検知条件取得部１０６は、動作検知条件記憶部１０２に記憶されている携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作によって、カーソルの動作が有効になるための条件を取得する取得部である。
【００４０】
カーソル速度取得部１０７は、カーソル速度記憶部１０３に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作の大きさ毎に紐づくカーソル移動の速度を取得する取得部である。
【００４１】
複数文字選択条件取得部１０８は、複数文字選択条件記憶部１０４に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作により、複数の文字列選択を可能とするための条件を取得する取得部である。
【００４２】
カーソル移動方向取得部１０９は、カーソル移動方向記憶部１０５に記憶されている携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作が加えられた其々の方向に紐づくカーソル移動方向を取得する取得部である。
【００４３】
カーソル位置移動部１１０は、携帯端末１００が動作検知部１０１により検知した、携帯端末１００のジャインロセンサ、または加速度センサ本体へ加えられた動作の方向と同方向に連動して、携帯端末１００に表示される文字列上でのカーソル位置を移動させるカーソル位置移動部である。
【００４４】
文字列範囲選択開始位置決定部１１１は、カーソル位置移動部１１０により、文字列の範囲選択の開始位置を決定する、文字列範囲選択開始位置決定部である。
【００４５】
文字列範囲選択部１１２は、カーソル位置移動部１１０により、文字列の範囲選択の終了位置を選択することにより、文字列範囲選択開始位置から文字列範囲選択終了位置までの範囲を選択状態とする文字列範囲選択部である。
【００４６】
文字列編集部１１３は、携帯端末１００の表示画面上の文字列内で範囲選択された文字列を、コピー、切り取り、貼り付け、を行うことにより文字列編集を行うことを可能とする文字列編集部である。
【００４７】
文字列反転部１１４は、文字列範囲選択部１１２が選択した文字列が選択状態であることを識別しやすくするために文字色と背景色を反転状態にして表示する文字列反転部である。すなわち、範囲選択された文字列は、更に、選択状態であることを識別するために文字色と背景色を反転状態にして表示する。
【００４８】
文字列範囲選択解除部１１５は、文字列範囲選択部１１２が選択した文字列の文字列選択を解除することを可能とする携帯端末１００の１つの文字編集機能であって、更に、文字列選択解除は、文字列の一部が範囲選択されている状態である場合に、範囲選択されている状態の中へカーソルが再度移動することによっても行うことを可能とする、文字列範囲選択解除部である。すなわち、文字列選択解除を行うことを可能とし、文字列の一部が範囲選択されている状態である場合に、範囲選択されている状態の中へカーソルが再度移動することによって文字列選択解除を行う。
＜第一の実施例＞
【００４９】
続いて、第一の実施形態について説明を行う。本発明の第一の実施例においては、携帯端末のカーソル位置を、携帯端末のジャインロセンサ、または加速度センサ本体が検知する角度に応じて移動させることが出来、文字列の範囲選択に必要となる範囲選択の開始位置と終了位置の決定や、文字列の挿入の位置の決定等を、この方法によって可能とする実施例を説明する。すなわち、携帯端末が検知する動作を、携帯端末に対する傾きを例として説明する。
【００５０】
まず初めに、図４について説明を行う。図４の、ステップＳ４０１からステップＳ４１１の各ステップは、携帯端末１００が外部から動作を受けた場合に、携帯端末１００のＣＰＵ２０１が画面上の文字列上で範囲選択を行い、コピーまたは削除の文書編集を実行するメインフローの処理である。なお、本発明においては、携帯端末１００のジャイロセンサ、または加速度センサ本体が検知する動作を受けた場合に範囲選択が可能となるのは、その動作に連動して携帯端末に表示がされる文字列上のカーソルが動くことによって、範囲選択を行うことを可能しているためである。
【００５１】
ステップＳ４０１は、まず携帯端末１００が、携帯端末がその範囲選択を実行するにあたって、検知する各種動作の閾値の初期値設定を動作検知条件記憶部１０２に対して行う。
【００５２】
なお、ステップＳ４０１の各種初期設定処理については、図５を用いて後述する。
【００５３】
再び図４に戻ってステップＳ４０２以降の説明を行う。ステップＳ４０２で携帯端末１００のＣＰＵ２０１は、ステップＳ４０１の初期設定処理で設定した図１２の、動作検知条件記憶部１０２に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作によって、カーソルの動作を有効になるための条件、図１２の、カーソル速度記憶部１０３に記憶されている、ジャインロセンサ、または加速度センサ本体が検知する動作の大きさ毎に紐づくカーソル移動の速度、図１２の、複数文字選択条件記憶部１０４に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作により、複数の文字列選択を可能とするための条件、図１２の、カーソル移動方向記憶部１０５に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作が加えられた其々の方向に紐づくカーソルの移動方向、の各設定値を読み込む。
【００５４】
次にステップＳ４０３におき、携帯端末１００のＣＰＵ２０１は、携帯端末のメニューからカーソル移動開始キーが押下されたことを検知する。図１１のカーソル移動開始キー１１０１は、携帯端末１００上でのカーソル移動開始キーの１例を示した図である。
【００５５】
この図１１のカーソル移動開始キー１１０１が押下された時に、動作検知条件記憶部１０２に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作によって、カーソルの動作を有効になるための条件を満たしている場合、携帯端末１００上のＣＰＵ２０１は、表示される文字列上で、カーソルが移動することを検知することが可能となる。すなわち、携帯端末が自身の動きを検知し、表示される文字列上でのカーソル位置を、検知した動作に連動して移動させ、文字列の所定の位置にカーソルを表示させる。
【００５６】
次にステップＳ４０４において、携帯端末１００のＣＰＵ２０１は、決定される文字列上のカーソルの位置を検知する。なお、ステップＳ４０４の処理の詳細については、さらに、図６、図７を用いて説明をする。
【００５７】
続いて、ステップＳ４０５では、携帯端末１００のＣＰＵ２０１は、携帯端末１００のユーザが携帯端末のメニューから範囲選択キーが押下されたことを検知する。範囲選択キーが押下された時点で範囲選択開始位置が決定されたものとする。なお、図１１の範囲選択キー１１０２は、携帯端末１００における範囲選択キーの表示の１例を示した図である。
【００５８】
ステップＳ４０５で範囲選択が開始された後は、携帯端末１００のＣＰＵ２０１は携帯端末１００上に表示がされている文字列の中で、携帯端末１００のジャイロセンサ、または加速度センサ本体が検知する傾きを検知し、それにともなってカーソルを移動させることによって範囲選択を行い、選択する範囲が決定したら、ステップＳ４０６において、範囲選択終了位置となるカーソル位置を決定する。なお、このステップＳ４０６の処理については、図８、図９、図１０を用いて後述する。
【００５９】
ステップＳ４０６までは携帯端末１００のＣＰＵ２０１によって携帯端末上に表示している文字列の範囲選択が完了するまでであって、ステップＳ４０７以降は、範囲選択した文字列を携帯端末１００の中のコピー、削除、貼り付けの機能によって、携帯端末１００のＣＰＵ２０１によって文字列編集が行われる処理となる。
【００６０】
すなわち、範囲選択された文字列に対して、携帯端末の表示装置の上で、ユーザにキーを操作させることにより、該文字列のコピー、切り取り、貼り付けの処理を可能とする。
【００６１】
ステップＳ４０７では、携帯端末１００のＣＰＵ２０１は、携帯端末１００のユーザが携帯端末のメニューから図１１のコピーキー１１０３、または切り取りキー１１０６のいずれかの機能キーが押下されたことを検知する。
【００６２】
ステップＳ４０８は、携帯端末１００のユーザがコピーキー１１０３を選択した場合に、携帯端末１００のＣＰＵ２０１が選択範囲した文字列のコピーを実行する。
【００６３】
また、ステップＳ４０９はユーザが切り取りキー１１０６を選択した場合に、携帯端末１００のＣＰＵ２０１が選択範囲した文字列の切り取りを実行する。
【００６４】
図１１の１１０６は、携帯端末１００上での切り取りキーの１例を示した図である。
【００６５】
また、図２１の２１０３は、携帯端末１００上の任意の文字列を選択し、コピーした状態の図で、図２１の２１０４は、２１０３で選択された「３４５」を削除した結果の図である。
【００６６】
ステップＳ４０９の処理の後は、文字列削除のみであるため図４のメインフローの処理を終了する。なお、ステップＳ４０８では、携帯端末１００のＣＰＵ２０１文字列のコピーが実行されていて、次に貼り付け先を決定することが必要となるため、ステップＳ４０１０においてカーソル位置の決定処理が再度行われる。これにより、携帯端末１００のＣＰＵ２０１は、ユーザによって決定される文字列上のカーソルの位置を再度検知する。図１１の１１０５は、携帯端末１００におけるカーソル位置決定キーの表示の１例を示した図である。
【００６７】
最後のステップＳ４１１において、ステップＳ４０８で選択コピーされた文字列は、ステップＳ４１０で決定されたカーソルの位置において、貼り付け処理が実行される。なお、ステップＳ４１０はステップＳ４０４と同様の処理である。図１１の１１０３と１１０４はそれぞれ、携帯端末１００におけるコピーキーと貼り付けキーの表示の１例を示した図である。また、図２１の２１０１は、携帯端末１００上の任意の文字列を選択し、コピーした状態の図で、図２１の２１０２は、２１０１で選択、コピーした「３４５」を、５行目の「５」の後に挿入した結果の図である。
【００６８】
なお、図１１の１１０１、カーソル移動開始キーを押下すると、図１１の１１０２から１１０６までの範囲選択と文書編集のための機能キーが表示されるものとするが、これはあくまで一例とする。
【００６９】
次に、図４ステップＳ４０１の初期設定処理について図５を用いて説明する。まずステップＳ５０１において、動作検知条件記憶部１０２に対しカーソルの動作を有効にするための条件を設定する。ここでは、携帯端末上でカーソルを動かすための最低の角度の設定を行う。図１２の１２１０はその設定例であって、１５度という値を設定しているが、これは、水平面と並行な携帯端末の画面の面を０度とし、そこからの傾きの角度が１５以上になると、携帯電話が傾きを検知するということになる。逆に、１５度未満の場合は、傾きを検知しないということになる。
【００７０】
更に、これは、図１２、１２１０の携帯端末の水平面から傾きを検知する最低限の角度つまり、カーソルが文字上で移動開始可能となる角度は、携帯端末の傾きを与える前である、カーソル移動モードが開始する際の水平面との傾きの角度と、携帯端末に傾きを与えた後の水平面との傾きの角度の差から求められる、相対的な傾きの角度を基準としても良い。なお、水平面とは、重力方向に垂直な面のことを指す。
【００７１】
図１２の１２５０の表を用いて相対角度について説明をする。図１２の１２５０の表は、カーソル移動が開始された時点、つまり、図１１、１１０１のカーソル移動開始キーが押下され、カーソル移動が開始された時、また、図２３、２３０３のカーソル移動モードのメニューが押下されカーソル移動モードが開始された時点、の携帯端末の傾きの相対角度の一例を示した図である。
【００７２】
図１２の１２５１では、携帯端末の横軸を水平面と並行にし、縦軸を水平面に対して角度をつけた状態に、角度がついている方向に対して傾きを与えてカーソル移動を開始させた場合の、傾きを与える前の水平面からの角度と、傾きを与えた後の水平面からの角度と、傾きの前後の角度から導かれる角度の差（相対角度）を示した表である。図１２の１２５２は、携帯端末の縦軸を水平面と並行にし、横軸を水平面に対して角度をつけた状態に、角度がついている方向に対して傾きを与えてカーソル移動を開始させた場合の、傾きを与える前の水平面からの角度と、傾きを与えた後の水平面からの角度と、傾きの前後の角度から導かれる角度の差（相対角度）を示した表である。
【００７３】
図１２、１２５０の１２５１に示す通り、水平面に対する携帯端末の縦軸の傾き前の角度（傾き前の角度１２５３）は１５度であり、水平面に対する携帯端末の縦軸に傾けた後の角度（傾き後の角度１２５４）は３０度である。傾き後の角度１２５４から傾き前の角度１２５３の角度の差分を求めると、相対角度１２５５は１５度になる。また、図１２の１２５２では、相対角度は、同じく１５度である。
【００７４】
従がって、カーソル開始移動を開始する時点で携帯端末が水平面と並行に位置づけられていなくても、カーソル開始移動を開始する時点の角度と傾きを与えた後の角度の差より相対的な変化角の角度を求めることによって、図１２の１２１０の携帯端末の水平面から傾きを検知する最低限の角度、つまり、カーソルが文字上で移動開始可能となる角度や、１２３０のカーソルが動く速度の設定値の基準となる傾きの角度の基準に合致するか否かを判定することとする。
【００７５】
すなわち、前記携帯端末に与えられた前記動作により、前記携帯端末に表示される文字列上でのカーソル位置が動くための条件を記憶する動作検知条件記憶手段を備え、  前記動作検知条件記憶手段に記憶されている前記動作が有効になるための条件を取得し、前記条件の閾値を超えたところで初めて前記文字列上でのカーソル位置が動く。
【００７６】
次にステップＳ５０２においては、カーソル速度記憶部１０３に対し、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する角度の大きさ毎に紐づくカーソル移動の速度の設定を行う。
【００７７】
図１２の１２２０は、前記携帯端末が検知する前記動作の大きさ毎に紐づく前記カーソル位置の移動の速度を記憶する。図１２の１２２１の其々の傾きの角度に対し、１秒間に何文字分進むかカーソル速度（図１２の１２２２）を設定する。
【００７８】
図１２の１２２２では、１５度の傾きの時は２文字、２０度の傾きの時は２０度、２５度の傾きの時は、４文字進むというようにし、傾きが大きくなるようにつれてカーソルの進む速さが速くなるようにしている。
【００７９】
すなわち、カーソル位置の移動の速度は、動作の大きさに連動して速くなるなお、斜めの傾きを示した場合は、縦・横とも同じ文字数分斜めの方向にカーソルが動くものとする。
【００８０】
次にステップＳ５０３においては、複数文字選択条件記憶部１０４に対し、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作により、カーソルが複数の文字列移動を可能とするための時間の設定を行う。すなわち、本発明における携帯端末は、携帯端末のカーソル位置が複数の文字列選択を可能とするための、動作の継続時間の閾値を記憶し、動作の継続時間の閾値を変更することにより、動作の一定時間内におけるカーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とする。
【００８１】
本発明においては、この設定時間以上傾いた場合は、複数の文字列を選択することが出来るが、この設定時間未満の傾きである場合は、１文字分のみの文字列を選択することとしている。このため、本設定を行うこととする。
【００８２】
図１２の１２３０は、携帯端末のカーソル位置が複数の文字列選択を可能とするための、動作の継続時間の閾値を記憶する。例えば、図１２の１２３０では、設定値を１秒としているが、１秒以上図１２の１２０１で設定した角度の傾きが携帯端末１００によって検知された場合、カーソルが複数の文字にわたって移動することを可能とする。
【００８３】
このため、複数の文字列を連続して選択することが可能になる。逆に、図１２の１２１０で設定した角度の傾きが、図１２の１２３０で設定した時間未満しか傾かなかった場合は、１文字分だけカーソルが移動することになる。
【００８４】
なお、ステップＳ５０２で設定した角度が大きく、一秒間に進む文字の数が複数設定されていたとしても、ステップＳ５０３で設定される、カーソルが２文字以上動くために必要とする傾き継続時間に満たない場合、カーソルは１文字分だけ移動するものとする。
【００８５】
すなわち、動作の継続時間の閾値を変更することにより、動作の一定時間内におけるカーソル位置の移動の単数または複数の文字間の移動を切り替えることを可能とする。
【００８６】
次にステップＳ５０４においては、カーソル移動方向記憶部１０５に対し、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作、が加えられた其々の方向に紐づくカーソルの移動方向の角度範囲を設定する。
【００８７】
一例として、図１２の１２４０では携帯端末が傾く範囲の方向を上、下、左、右、右斜め上、右斜め下、左斜め上、左斜め下の８つの方向に分類し（図１２の１２４１）それぞれの傾く方角範囲の角度を設定する（図１２の１２４２）。
【００８８】
すなわち、携帯端末に与えられた動作の方向に紐づくカーソル位置の移動方向を記憶する。
【００８９】
なお、第一の実施例では、携帯端末１００が検知する動作を角度としているため上記初期設定を行うことを例として挙げているが、これはあくまで１例である。動作を検知するものが角度以外の場合、携帯端末１００が検知するところの所定の動作に関係する初期設定は、それに関連した項目で行うこととする。
【００９０】
次に、図４のステップＳ４０３においてカーソル移動キーが押下された後の、ステップＳ４０４のカーソル位置決定処理（開始位置指定）について図６と図７を用いて説明する。
【００９１】
図６は、カーソル位置を決定する処理である。
【００９２】
まず、ステップＳ６０１では、携帯端末１００は、ユーザによって傾きが与えられる。次に、ステップＳ６０２において、携帯端末１００のＣＰＵ２０１は、ユーザによって与えられた携帯端末１００への傾きを検知する。
【００９３】
ステップＳ６０２において、傾きを検知した場合は、ステップＳ６０３において傾きが継続した時間を計測するためタイマーをスタートさせる。ステップＳ６０２において、傾きを検知しなかった場合は、ステップＳ６１０のカーソル位置決定キー押下の処理へ移る。
【００９４】
ステップＳ６１０において、携帯端末１００は、カーソル位置決定キー（図１１の１１０５）が押下されたことを検知し、カーソル位置を決定する。すなわち、文字列を範囲選択する場合の範囲選択開始位置の指定を、移動されたカーソルにより受け付ける。
【００９５】
ステップＳ６０４において、携帯端末１００が傾きの戻りを検知したか否かを判定する。ステップＳ６０４において、携帯端末１００が傾きの戻りを検知した場合（ステップＳ６０４においてＹＥＳの場合）、ステップＳ６１１へ処理を進める。
【００９６】
ステップＳ６１１において、図７の処理で必要となる、カーソルが１秒間に進む文字数を変数Ｎへ数値として代入する。ステップＳ６０４で傾きの戻りを検知した場合は、図１２のカーソルが２文字以上動くために必要とする傾き継続時間設定した閾値の時間１２３０の閾値を超えず、１文字しか移動させないケースであるため、この変数Ｎへは１を代入する。また、この変数Ｎ自体は、図７の処理の説明で使用する。
【００９７】
ステップＳ６１２において、携帯端末１００は、カーソル移動処理を行う。なお、このカーソル移動処理については、図７のカーソル移動処理で説明を行う。
ステップＳ６０４において、携帯端末１００が傾きの戻りを検知しなかった場合（ステップＳ６０４においてＮＯの場合）、ステップＳ６０５へ処理を進める。
【００９８】
ステップＳ６０５において、携帯端末１００は、図１２で設定した、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えたか否かを判定する。
【００９９】
ステップＳ６０５において、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えた場合、ステップＳ６０６に処理を進め、ステップＳ６０５において、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えなかった場合、ステップＳ６０４の処理に戻り、携帯端末１００が傾きの戻りを検知したか否かの判定を再び行う。
【０１００】
ステップＳ６０６において、図７の処理で必要となるカーソルが１秒間に進む文字数Ｘを変数Ｎへ数値として代入する。この変数Ｎへは、ステップＳ６０２で傾きを検知した際の角度によって決定される、図１２の１２２０で設定されている１秒間にすすむ文字数が代入される。また、このＮ自体は、図７の処理の説明で使用する。
【０１０１】
ステップＳ６０７において、携帯端末１００は、カーソル移動処理を行う。なお、このカーソル移動処理については、図７のカーソル移動処理で説明を行う。
【０１０２】
ステップＳ６０８において、携帯端末１００はステップＳ６０３でスタートされたタイマーを終了させる。
【０１０３】
ステップＳ６０９において、携帯端末１００は、図６のカーソル位置決定処理を終了させるか否かを判定する。
【０１０４】
ステップＳ６０９において、図６のカーソル位置決定処理を終了させる場合、ステップＳ６１０のカーソル位置決定キー押下の処理へ移る。
【０１０５】
ステップＳ６０９において、図６のカーソル位置決定処理を終了させない場合、再び図６のステップＳ６０１からの処理を行う。
【０１０６】
ステップＳ６１０において、携帯端末１００は、カーソル位置決定キー（図１１の１１０５）が押下されたことを検知し、カーソル位置を決定する。
【０１０７】
次に図７の処理について説明する。図７は図６のステップＳ６０７とステップＳ６１２の処理を示した処理の図である。この処理は、携帯端末１００が傾きを検知した方向によって、カーソルが１文字ずつ移動する方向を示した処理図である。
【０１０８】
ステップＳ７００において、携帯端末１００は、携帯端末に動作が与えられた際にカーソルが１秒間に進む文字数（Ｎ文字／秒）を図１２のカーソル速度（単位  文字数／秒）１２２２より、取得する。なお、変数Ｎへは、図６のステップＳ６０６やステップＳ６１１において、既に進む文字数が数値として代入されていることとする。
【０１０９】
ステップＳ７０１において、携帯端末１００のＣＰＵ２０１は、右横方向への傾きを検知した場合、ステップＳ７０２において、Ｓ７００の速度で文字列の右横へ１文字分カーソルを移動する。図１３の１３０１はカーソルが右横へ１文字移動する前、図１３の１３０２はカーソルが右横へ１文字移動した後の図である。
【０１１０】
なお、ステップＳ７０１において、携帯端末１００のＣＰＵ２０１が、右横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７０３以降の判定処理へ進む。
【０１１１】
ステップＳ７０３において、携帯端末１００のＣＰＵ２０１は、左横方向への傾きを検知した場合、Ｓ７０４において、Ｓ７００の速度で文字列の左横へ１文字分カーソルを移動する。図１３の１３０３はカーソルが左横へ１文字移動する前、図１３の１３０４はカーソルが左横へ１文字移動した後の図である。
なお、ステップＳ７０３において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７０５以降の判定処理へ進む。
【０１１２】
ステップＳ７０５において、携帯端末１００のＣＰＵ２０１は、上横方向への傾きを検知した場合、ステップＳ７０６において、Ｓ７００の速度で文字列の上へ１文字分カーソルを移動する。図１３の１３０５はカーソルが上へ１文字移動する前、図１３の１３０６はカーソルが上へ１文字移動した後の図である。
なお、ステップＳ７０５において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７０７以降の判定処理へ進む。
【０１１３】
ステップＳ７０７において、携帯端末１００のＣＰＵ２０１は、下横方向への傾きを検知した場合、ステップＳ７０８において、Ｓ７００の速度で文字列の下へ１文字分カーソルを移動する。図１３の１３０７はカーソルが下へ１文字移動する前、図１３の１３０８はカーソルが下へ１文字移動した後の図である。
なお、ステップＳ７０７において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７０９以降の判定処理へ進む。
【０１１４】
ステップＳ７０９において、携帯端末１００のＣＰＵ２０１は、右斜め上方向への傾きを検知した場合、ステップＳ７１０において、Ｓ７００の速度で文字列の右斜め上へ１文字分カーソルを移動する。図１４の１４０１はカーソルが右斜め上へ１文字移動する前、図１４の１４０２はカーソルが右斜め上へ１文字移動した後の図である。
【０１１５】
なお、ステップＳ７０９において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７１１以降の判定処理へ進む。
【０１１６】
ステップＳ７１１において、携帯端末１００のＣＰＵ２０１は、右斜め下方向への傾きを検知した場合、ステップＳ７１２において、Ｓ７００の速度で文字列の右斜め下へ１文字分カーソルを移動する。図１４の１４０３はカーソルが右斜め下へ１文字移動する前、図１４の１４０４はカーソルが右斜め下へ１文字移動した後の図である。
なお、ステップＳ７１１において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７１３以降の判定処理へ進む。
【０１１７】
ステップＳ７１３において、携帯端末１００のＣＰＵ２０１は、左斜め上方向への傾きを検知した場合、ステップＳ７１４において、Ｓ７００の速度で文字列の左斜め上へ１文字分カーソルを移動する。図１４の１４０５はカーソルが左斜め上へ１文字移動する前、図１４の１４０６はカーソルが左斜め上へ１文字移動した後の図である。
なお、ステップＳ７１３において、携帯端末１００のＣＰＵ２０１が、左横方向への傾きを検知しなかったと判定された場合は、後続のステップＳ７１５以降の判定処理へ進む。
【０１１８】
ステップＳ７１５において、携帯端末１００のＣＰＵ２０１は、左斜め下方向への傾きを検知した場合、ステップＳ７１６において、Ｓ７００の速度で文字列の左斜め下へ１文字分カーソルを移動する。図１４の１４０７はカーソルが左斜め下へ１文字移動する前、図１４の１４０８はカーソルが左斜め下へ１文字移動した後の図である。なお、この処理は、横書き、縦書きの文字列の場合も同じく動作することとする。
【０１１９】
なお、図７のカーソル移動処理は、必ずステップＳ７０１〜ステップＳ７１５いずれかの判定処理を通ることになる。
【０１２０】
次に、図４のステップＳ４０５において範囲選択キーが押下された後の、ステップＳ４０６の範囲選択処理と範囲選択処理カーソル位置決定処理について図８を用いて説明する。
【０１２１】
図８は、カーソル位置を決定する処理である。まず、ステップＳ８０１では、携帯端末１００は、ユーザによって傾きが与えられる。次に、ステップＳ８０２において、携帯端末１００のＣＰＵ２０１は、ユーザによって与えられた携帯端末１００への傾きを検知する。
【０１２２】
ステップＳ８０２において、傾きを検知した場合は、ステップＳ８０３において傾きが継続した時間を計測するためタイマーをスタートさせる。
【０１２３】
ステップＳ８０２において、傾きを検知しなかった場合は、傾きを検知するまで、ステップＳ８０２の処理を繰り返す。
【０１２４】
ステップＳ８０４において、携帯端末１００が傾きの戻りを検知したか否かを判定する。
【０１２５】
ステップＳ８０４において、携帯端末１００が傾きの戻りを検知した場合（ステップＳ８０４においてＹＥＳの場合）、ステップＳ８１１へ処理を進める。
【０１２６】
ステップＳ８１１において、図７の処理で必要となるカーソルが１秒間に進む文字数を変数Ｎへ数値として入れる。ステップＳ８０４で傾きの戻りを検知した場合は、図１２のカーソルが２文字以上動くために必要とする傾き継続時間設定した閾値の時間１２３０の閾値を超えず、１文字しか移動させないケースであるため、この変数Ｎへは１を代入する。また、このＮ自体は、図７の処理の説明で使用する。
【０１２７】
ステップＳ８１２において、携帯端末１００は、範囲選択処理を行う。なお、このカーソル移動処理については、図７のカーソル移動処理で説明を行う。
【０１２８】
ステップＳ８０４において、携帯端末１００が傾きの戻りを検知しなかった場合（ステップＳ８０４においてＮＯの場合）、ステップＳ８０５へ処理を進める。
【０１２９】
ステップＳ８０５において、携帯端末１００は、図１２で設定した、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えたか否かを判定する。
【０１３０】
ステップＳ８０５において、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えた場合、ステップＳ８０６に処理を進め、ステップＳ８０５において、カーソルが２文字以上動くために必要とする傾き継続時間の閾値を超えなかった場合、ステップＳ８０４の処理に戻り、携帯端末１００が傾きの戻りを検知したか否かの判定を再び行う。
【０１３１】
ステップＳ８０６において、図７の処理で必要となるカーソルが１秒間に進む文字数Ｎを変数Ｎへ数値として入れる。このＮへ代入するＸは、ステップＳ８０２で傾きを検知した際の角度によって決定される、図１２の１２２０で設定されている１秒間にすすむ文字数が入る。また、このＮ自体は、図７の処理の説明で使用する。
【０１３２】
ステップＳ８０７において、携帯端末１００は、範囲選択処理を行う。なお、このカーソル移動処理については、図７のカーソル移動処理で説明を行う。
【０１３３】
ステップＳ８０８において、携帯端末１００はステップＳ８０３でスタートされたタイマーを終了させる。
【０１３４】
ステップＳ８０９において、携帯端末１００は、図８の範囲選択と範囲選択終了カーソル位置決定処理を終了させるか否かを判定する。
【０１３５】
ステップＳ８０９において、図８の範囲選択と範囲選択終了カーソル位置決定処理を終了させる場合、ステップＳ８１０のカーソル位置決定キー押下の処理へ移る。
【０１３６】
ステップＳ８０９において、図８の範囲選択と範囲選択終了カーソル位置決定処理を終了させない場合、再び図８のステップＳ８０１からの処理を行う。
【０１３７】
ステップＳ８１０において、携帯端末１００は、カーソル位置決定キー（図１１の１１０５）が押下されたことを検知し、範囲選択と範囲選択終了カーソル位置決定処理を終了させる。すなわち、文字列を範囲選択する場合の範囲選択終了位置の決定を、移動されたカーソルにより受け付ける。
【０１３８】
次に図９の処理について説明する。図９は図８のステップＳ８０７とステップＳ８１２の処理を示した処理の図である。この処理は、携帯端末１００が傾きを検知し文字選択がされた方向によって、カーソルが１文字ずつ移動し、移動した方向に従がって文字列が範囲選択される方法を示した処理図である。
【０１３９】
すなわち、範囲選択開始位置と範囲選択終了位置の間の範囲を選択状態とする処理を示した図である。
【０１４０】
また、文字列の一部が範囲選択されている状態である場合に、範囲選択されている状態の中へカーソルが再度移動することによって文字列選択解除を行う処理を示した図である。
【０１４１】
ステップＳ９００において、携帯端末１００は、携帯端末に動作が与えられた際にカーソルが１秒間に進む文字数（Ｎ文字／秒）を図１２のカーソル速度（単位  文字数／秒）１２２２より、取得する。なお、変数Ｎへは、図８のステップＳ８０６やステップＳ８１１において、既に進む文字数が数値として代入されていることとする。
【０１４２】
ステップＳ９０１では、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の文字への傾きを検知した場合、ステップＳ９０２において、文字選択方向と同方向へステップＳ９００の速度で１文字分文字を選択する。図１５の１５０１は文字選択方向と同方向へ１文字分文字が選択される前の図であり、図１５の１５０２は文字選択方向と同方向へ１文字分文字選択された後の図である。
【０１４３】
この図では、３行目の４から４行目の３までが文字選択されていて、３の右横に位置していたカーソルを４の右横に１文字分動かすと、これまでの範囲選択に追加して、３行目の４がさらに、範囲選択される。
【０１４４】
なお、図１６の１６０１は、縦書きにおいて、文字選択方向と同方向へ１文字分文字が選択される前の図であり、図１６の１６０２は、縦書きにおいて、文字選択方向と同方向へ１文字分文字選択された後の図である。この図では、２行目の２から７が文字選択の方向であり、７の下に位置していたカーソルを８の下に一文字に動かすと、これまでの２行目の選択済みだった２から７の範囲選択に８が追加されて、２行目の２から８が選択範囲となる。
【０１４５】
なお、ステップＳ９０１で、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の文字への傾きを検知しなかった場合、ステップＳ９０３以降の処理へすすむ。
【０１４６】
ステップＳ９０３では、携帯端末１００のＣＰＵ２０１が、文字選択方向と逆方向の文字への傾きを検知した場合、ステップＳ９０４において、文字選択方向と逆方向へステップＳ９００の速度で１文字分文字選択を解除する。図１５の１５０３は文字選択方向と逆方向へ１文字分文字が選択解除される前、図１５の１５０４は文字選択方向と逆方向へ１文字分文字が選択解除される後の図である。
【０１４７】
この図では、３行目の４から４行目の４までが文字選択されていて、４の右横に位置していたカーソルを３の右横に１文字分動かすと、これまでの範囲選択されていた４行目の４が範囲選択解除されて、３行目の４から４行目の３までが選択範囲となる。
【０１４８】
なお、図１６の１６０３は、縦書きにおいて、文字選択方向と逆方向へ１文字分文字が選択解除される前の図であり、図１６の１６０４は文字選択方向と逆方向へ１文字分文字が選択解除される後の図である。この図では、２行目の２から７が文字選択の方向であったが、７の下に位置していたカーソルを上の６の下に一文字分動かすと２行目の６が選択範囲解除となる。
【０１４９】
なお、ステップＳ９０３で、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の文字への傾きを検知しなかった場合、ステップＳ９０５以降の処理へすすむ。
【０１５０】
ステップＳ９０５では、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の行への傾きを検知した場合、ステップＳ９０６において、文字選択方向と同方向へ、傾きの行方向へステップＳ９００の速度で１文字分カーソル移動し、１行分の文字を選択する。図１５の１５０５は文字選択方向と同方向へ１行分文字が選択される前、図１５の１５０６は文字選択方向と同方向へ１行分文字選択された後の図である。
【０１５１】
この図では、３行目の４から４行目の３までが文字選択されていて、４行目の３の右横に位置していたカーソルを５行目の３の右横に１行分動かすと、これまでの３行目の４から４行目の３までの文字選択に追加して、さらに、４行目の４から５行目の３までが新たに選択範囲となる。
【０１５２】
なお、図１６の１６０５は、縦書きにおいて、文字選択方向と同方向へ１行分文字が選択される前の図であり、図１６の１６０６は文字選択方向と同方向へ１行分文字選択された後の図である。この図では、２行目の２から７が文字選択の方向であり、７の下に位置していたカーソルを左横の７の下に動かすと、２行目の選択済みだった２から７に追加し、２行目の８から９と３行目の１から７が新たに範囲選択される。
【０１５３】
なお、ステップＳ９０５で、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の文字への傾きを検知しなかった場合、ステップＳ９０７以降の処理へすすむ。
【０１５４】
ステップＳ９０７では、携帯端末１００のＣＰＵ２０１が、文字選択方向と逆方向の行への傾きを検知した場合、ステップＳ９０８において、文字選択方向と逆方向へ、傾きの行方向へステップＳ９００の速度で１文字分カーソル移動し、１行分の文字列を選択解除する。図１５の１５０７は文字選択方向と逆方向へ１行分文字列が選択解除される前、図１５の１５０８は文字選択方向と逆方向へ１行分文字列が選択解除された後の図である。
【０１５５】
この図では、２行目の全て、３行目全て、４行目の１から６までが文字選択されていて、４行目の６の右横に位置していたカーソルを３行目の６の右横に１行分動かすと、これまで選択されていた、３行目の７から４行目の６が選択範囲解除となる。
【０１５６】
なお、図１６の１６０７は、縦書きにおいて、文字選択方向と逆方向へ１行分文字列が選択と解除される前の図であり、図１６の１６０８は文字選択方向と逆方向へ１行分文字列が選択解除された後の図である。
【０１５７】
この図では、２行目の２から７が文字選択の方向であったが、７の下に位置していたカーソルを右横の８の上に動かすと２行目の選択済みだった２から７が選択解除になり、２行目の１と１行目の９から８が新たに範囲選択される。
なお、ステップＳ９０７で、携帯端末１００のＣＰＵ２０１が、文字選択方向と同方向の文字への傾きを検知しなかった場合、ステップＳ９０９以降の処理へすすむ。
【０１５８】
ステップＳ９０９では、携帯端末１００のＣＰＵ２０１が、文字選択方向から斜めへの傾きを検知した場合、ステップＳ９１０の斜めの傾きの範囲選択処理を行う。ステップＳ９１０の処理は、図１０を用いて説明する。
なお、図９の範囲選択処理は、必ずステップＳ９０１〜ステップＳ９０９いずれかの判定処理を通ることになる。
【０１５９】
次に、図１０の斜めの傾きの範囲選択処理について説明をする。
【０１６０】
また、文字列の一部が範囲選択されている状態である場合に、範囲選択されている状態の中へカーソルが再度移動することによって文字列選択解除を行う処理を示した図である。
【０１６１】
ステップＳ１００１では、携帯端末１００のＣＰＵ２０１は、まず、文字選択されていない状態、または、文字が選択されている状態の方向と同方向の斜めの方向への傾きを検知した場合（ステップＳ１１０１においてＹＥＳの場合）、ステップＳ１００２以降の処理に進む。
【０１６２】
ステップＳ１００１において、ＮＯの場合は、文字が選択されている状態とは逆の方向の斜めの方向への傾きを検知した場合になるが、この場合はステップＳ１０１３以降の処理に進む。
【０１６３】
まずは、ステップＳ１００２以降の処理から説明する。ステップＳ１００２において携帯端末１００で表示されている文字列が横書きと判定された場合（ステップＳ１００２においてＹＥＳの場合）は、ステップＳ１００３〜ステップＳ１００６の処理が行われ、横書きでない場合（ステップＳ１００２においてＮＯの場合、つまりここでは縦書きの場合）ステップＳ１００８からステップＳ１０１１の処理が行われる。
【０１６４】
ステップＳ１００３で、横書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動した場合には、ステップＳ１００４において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、右斜め下方向へカーソル移動が行なわれた場合は下方向１行分と右横方向へ１文字分、左斜め上方向へカーソル移動が行われた場合は上方向へ１行＋左横方向へ１文字分の文字範囲を選択する。
【０１６５】
図１７の１７０１と１７０２はカーソルが右斜め下へ移動した時の前後の図である。図１７の１７０１では、３行目の１から９と４行目の１から３が選択され、カーソルが３の右横にあったが、これが右斜め下方向へカーソル移動すると、５行目の４の右横へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
【０１６６】
また、図１７の１７０３と１７０４はカーソルが左斜め上へ移動した時の前後の図である。図１７の１７０３では、３行目の７から４までが選択され、カーソルが４の左横にあったが、これが左斜め上方向へカーソル移動すると、２行目の３の左横へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
なお、ステップＳ１００３で、横書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動しない場合には、ステップＳ１００５の処理へ進む。
【０１６７】
ステップＳ１００５で、横書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動した場合には、ステップＳ１００６において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、左斜め下方向へカーソル移動が行なわれた場合は下方向へ１行分とそこから左横へ１文字分引いた範囲で、右斜め上方向へカーソル移動が行われた場合は上方向へ１行分とそこから右横へ１文字分引いた範囲で文字範囲が範囲選択される。
【０１６８】
また、図１７の１７０５と１７０６はカーソルが左斜め下へ移動した時の前後の図である。図１７の１７０５では、３行目の１から９と４行目の１から３が選択され、カーソルが３の右横にあったが、これが左斜め下方向へカーソル移動すると、５行目の２の左横へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
【０１６９】
また、図１７の１７０７と１７０８はカーソルが右斜め上へ移動した時の前後の図である。図１７の１７０７では、４行目の６から１と３行目の９から４が選択され、カーソルが４の左横にあったが、これが右斜め上方向へカーソル移動すると、２行目の５の左横へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がさる。
なお、ステップＳ１００５で、横書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動しなかった場合には、ステップＳ１００７の処理へ進む。
ただし、ステップＳ１００２で横書きと判定された場合は、ステップＳ１００３とステップＳ１００５のいずれかの判定を通ることになる。
【０１７０】
次に、ステップＳ１００７以降の処理を説明する。ステップＳ１００７以降は縦書きの文字列の処理である。
【０１７１】
ステップＳ１００８で、縦書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動した場合には、ステップＳ１００９において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、左斜め下方向へカーソル移動が行なわれた場合は左横へ１行と下方向へ１文字分、右斜め上方向へカーソル移動が行われた場合は右横へ１行と上方向へ１文字分の文字範囲が範囲選択される。
【０１７２】
また、図１８の１８０１と１８０２はカーソルが左斜め下へ移動した時の前後の図である。図１８の１８０１では、１行目の１から６が選択され、カーソルが６の下にあったが、これが左斜め下方向へカーソル移動すると、２行目の７の下へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
【０１７３】
また、図１８の１８０３と１８０４はカーソルが右斜め上へ移動した時の前後の図である。図１８の１８０３では、２行目の８から５が選択され、カーソルが５の上にあったが、これが右斜め上方向へカーソル移動すると、１行目の４の上へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
なお、ステップＳ１００８で、縦書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動しなかった場合には、ステップＳ１０１０の処理に進む。
【０１７４】
ステップＳ１０１０で、縦書きの文字列において、左斜め上方向、または、右斜め下方向にカーソルが移動した場合には、ステップＳ１０１１において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、左斜め上方向へカーソル移動が行なわれた場合は左横へ１行分とそこから上方向へ１文字分引いた範囲で、右斜め下方向へカーソル移動が行われた場合は右横へ１行とそこから下方向へ１文字分引いた範囲の文字範囲が範囲選択させる。
【０１７５】
図１８の１８０５と１８０６はカーソルが左斜め上へ移動した時の前後の図である。図１８の１８０５では、３行目の４から８までが選択され、カーソルが８の下にあったが、これが左斜め上方向へカーソル移動すると、４行目の７の下へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
【０１７６】
また、図１８の１８０７と１８０８はカーソルが右斜め下へ移動した時の前後の図である。図１７の１７０１では、３行目の８から２が選択され、カーソルが２の上にあったが、これが右斜め下方向へカーソル移動すると、２行目の３の上へカーソルが移動し、カーソルが移動した分だけ追加で範囲選択がされる。
なお、ステップＳ１０１０で、縦書きの文字列において、左斜め上方向、または、右斜め下方向にカーソルが移動しなかった場合には、図１０の斜めの傾きの範囲選択処理を終了する。
ただし、ステップＳ１００７で縦書きと判定された場合は、ステップＳ１００８とステップＳ１０１０のいずれかの判定を通ることになる。
【０１７７】
次に、図１０のステップＳ１０１２以降の処理を説明する。ステップＳ１０１２は、文字が選択されている状態とは逆の方向の斜めの方向への傾きを検知した否かを判定する。ステップＳ１０１２において、文字が選択されている状態とは逆の方向の斜めの方向への傾きを検知した場合（ステップＳ１０１２においてＹＥＳの場合）ステップＳ１０１３以降の処理を行う。ステップＳ１０１２において、文字が選択されている状態とは逆の方向の斜めの方向への傾きを検知しなかった場合は、この処理を終了する。
【０１７８】
ただし、斜めの傾きの範囲選択処理は、最初に、ステップＳ１００１とステップＳ１０１２のいずれかの判定を必ず通ることとなる。
【０１７９】
ステップＳ１０１３において携帯端末１００で表示されている文字列が横書きと判定された場合（ステップＳ１０１３においてＹＥＳの場合）は、ステップＳ１０１４〜ステップＳ１０１７の処理が行われ、横書きでない場合（ステップＳ１０１３においてＮＯの場合、つまりここでは縦書きの場合）ステップＳ１０１９からステップＳ１０２２の処理が行われる。
【０１８０】
ステップＳ１０１４で、横書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動した場合、ステップＳ１０１５において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、右斜め下方向へカーソル移動が行なわれた場合は下方向１行分と右横へ１文字分文字選択した分から既に選択済みである文字列を選択解除した文字列範囲が範囲選択され、左斜め上方向へカーソル移動が行われた場合は上方向へ１行分と左横方向へ１文字分の文字範囲した分から既に選択済みであった文字列を選択解除した分が範囲選択される。
【０１８１】
図１９の１９０１と１９０２はカーソルが右斜め下へ移動した時の前後の図である。図１９の１９０１では、２行目の６から３が選択され、カーソルが３の左横にあったが、これが右斜め下方向へカーソル移動すると、３行目の３の右横へカーソルが移動し、既に選択がされていた２行目の６から３の部分は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の７から９と３行目の１から３）は新たに範囲選択がされる。
【０１８２】
また、図１９の１９０３と１９０４はカーソルが左斜め上へ移動した時の前後の図である。図１９の１９０３では、２行目の３から６までが選択され、カーソルが６の右横にあったが、これが左斜め上方向へカーソル移動すると、２行目の６の左横へカーソルが移動し、既に選択がされていた２行目の３から６は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の２から１と１行目の９から６）は新たに範囲選択がされる。
【０１８３】
なお、ステップＳ１０１４で、横書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動しなかった場合、ステップＳ１０６の処理へ進む。
【０１８４】
ステップＳ１０１６で、横書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動した場合、ステップＳ１０１７において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、左斜め下方向へカーソル移動が行なわれた場合は下方向１行分とそこから左横方向へ１文字分引いた範囲から、さらに、既に選択済みであった文字列を選択解除した文字列範囲が範囲選択され、右斜め上方向へカーソル移動が行われた場合は上方向へ１行分とそこから右横へ１文字分の文字分引いた範囲から、さらに、既に選択済みであった文字列を選択解除した文字列範囲が範囲選択される。
【０１８５】
図１９の１９０５と１９０６はカーソルが左斜め下へ移動した時の前後の図である。図１９の１９０５では、２行目の６から３が選択され、カーソルが３の左横にあったが、これが左斜め下方向へカーソル移動すると、３行目の１の右横へカーソルが移動し、既に選択がされていた３行目の６から３の部分は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の７から９と３行目の１）は新たに範囲選択がされる。
【０１８６】
また、図１９の１９０７と１９０８はカーソルが右斜め上へ移動した時の前後の図である。図１９の１９０７では、２行目の３から６までが選択され、カーソルが６の右横にあったが、これが右斜め上方向へカーソル移動すると、１行目の８の左横へカーソルが移動し、既に選択がされていた２行目の３から６は範囲選択が解除され、それ以外でカーソルが移動した分（３行目の２から１と１行目の９から８）は新たに範囲選択がされる。
【０１８７】
なお、ステップＳ１０１６で、横書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動しなかった場合、ステップＳ１００８の処理へ進む。
ただし、ステップＳ１０１３で縦書きと判定された場合は、ステップＳ１０１４とステップＳ１０１６のいずれかの判定を通ることになる。
【０１８８】
次に、ステップＳ１０１８以降の処理を説明する。ステップＳ１０１８以降は縦書きの文字列の処理である。
【０１８９】
ステップＳ１０１９で、縦書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動した場合、ステップＳ１０２０において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、左斜め下方向へカーソル移動が行なわれた場合は左横へ１行と下方向へ１文字分文字選択した分から既に選択済みである文字列を選択解除した文字列範囲が範囲選択され、右斜め上方向へカーソル移動が行われた場合は右横へ１行と上方向へ１文字分文字選択した分から既に選択済みである文字列を選択解除した分の文字範囲が範囲選択される。
【０１９０】
図２０の２００１と２００２はカーソルが右斜め上へ移動した時の前後の図である。図２０の２００１では、２行目の３から６が選択され、カーソルが３の下にあったが、これが右斜め上方向へカーソル移動すると、１行目の６の上へカーソルが移動し、既に選択がされていた２行目の３から６の部分は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の２から１と１行目の９〜６）は新たに範囲選択がされる。
【０１９１】
また、図２０の２００３と２００４はカーソルが右斜め上へ移動した時の前後の図である。図２０の２００３では、２行目の６から３までが選択され、カーソルが３の上にあったが、これが左斜め下方向へカーソル移動すると、３行目の３の下へカーソルが移動し、既に選択がされていた２行目の６から３は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の７から９と３行目の１から３）は新たに範囲選択がされる。
【０１９２】
なお、ステップＳ１０１９で、縦書きの文字列において、左斜め下方向、または、右斜め上方向にカーソルが移動しなかった場合、ステップＳ１０２１の処理へ進む。
【０１９３】
ステップＳ１０２１で、縦書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動した場合、ステップＳ１０２２において、傾きの行方向へ、Ｓ９００の速度で一文字分カーソルが移動し、右斜め下方向へカーソル移動が行なわれた場合は右横へ１行分とそこから下へ１文字分引いた範囲から、さらに、既に選択済みであった文字列を選択解除した文字列範囲が範囲選択され、左斜め上方向へカーソル移動が行われた場合は左横へ１行分とそこから上へ１文字分を引いた範囲から、さらに、既に選択済みであった文字列を選択解除した文字列範囲が範囲選択される。
【０１９４】
図２０の２００５と２００６はカーソルが右斜め下へ移動した時の前後の図である。図２０の２００５では、２行目の３から６が選択され、カーソルが６の下にあったが、これが右斜め下方向へカーソル移動すると、１行目の７の上へカーソルが移動し、既に選択がされていた２行目の３から６の部分は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の２から１と１行目の９〜８）は新たに範囲選択がされる。
【０１９５】
また、図２０の２００７と２００８はカーソルが右斜め上へ移動した時の前後の図である。図２０の２００７では、２行目の６から３までが選択され、カーソルが３の上にあったが、これが左斜め上方向へカーソル移動すると、３行目の１の下へカーソルが移動し、既に選択がされていた２行目の３から６は範囲選択が解除され、それ以外でカーソルが移動した分（２行目の７から９と３行目の１）は新たに範囲選択がされる。
【０１９６】
なお、ステップＳ１０２１で、縦書きの文字列において、右斜め下方向、または、左斜め上方向にカーソルが移動しなかった場合、図１０の斜めの傾きの範囲選択処理を終了する。
ただし、ステップＳ１０１８で縦書きと判定された場合は、ステップＳ１０１９とステップＳ１０２１のいずれかの判定を通ることになる。
【０１９７】
なお、図８の処理は、図１７、図１８、図１９、図２０で範囲選択の前と後を図示した通り、横書き／縦書きのいずれの文字列も処理可能である。
＜第二の実施例＞
【０１９８】
続いて、第二の実施形態について説明を行う。本発明の第一の実施例においては、携帯端末のカーソル位置を携帯端末に与えられる角度によって、移動させることが出来、文字列の範囲選択に必要となる範囲選択の開始位置と終了位置の決定や、文字列の挿入の位置の決定等を、この方法によりカーソル位置を決定させることによって可能とする実施例を説明した。
【０１９９】
本発明の第二の実施形態においては、カーソルの位置を携帯端末の画面をタッチすることによって決定し、小さな文字列において所望の位置へカーソルを位置づけられなかった場合に、携帯端末にある角度を与えてカーソル位置を微調整させることにより、所望の位置へ移動させる実施形態を説明する。なお、第一の実施形態と処理が同じとなる箇所についての説明は省略する。
【０２００】
図２２は、第二の実施例のメインフローを示す処理図である。図２２の、ステップＳ２２０１からステップＳ２２１１の各ステップは、カーソルの位置を携帯端末の画面をタッチすることによって決定する際に、小さい文字列の中の所望の位置へカーソル位置を位置づけられなかった場合に、携帯端末１００にある動作を与えてカーソル位置の微調整を行うことにより、所望の位置へカーソルを位置づける処理のフローを示す図である。また、それによって、範囲選択と範囲選択したものの編集処理ができるようにしているフロー図である。
【０２０１】
ステップＳ２２０１は、まず携帯端末１００が、携帯端末がそのカーソル位置を移動させるにあたって、検知する各種動作の閾値の初期値設定を行う。今回実施例では、携帯端末１００が検知する動作を、携帯端末１００に与えられる傾き、を例として説明をする。
【０２０２】
なお、ステップＳ２２０１の各種初期設定処理については、図４のステップＳ４０１の各種初期設定処理を説明した図５と同様であるため、ここでは説明を省略する。
【０２０３】
再び図２２に戻ってステップＳ２２０２以降の説明を行う。ステップＳ２２０２で携帯端末１００のＣＰＵ２０１は、ステップＳ２２０１の初期設定処理で設定した初期値を読み込む。
【０２０４】
次にステップＳ２２０３におき、携帯端末１００のＣＰＵ２０１は、携帯端末ユーザによって、携帯端末の画面上でカーソル位置を決定するために、タッチされたことを検知する。すなわち、携帯端末の表示画面に表示される文字列の間の任意の位置をタッチされたことを検知する。
【０２０５】
図２３の２３０１は、画面上の文字列等の間をタッチすることによって、カーソルの位置を決定している図の一例である。なお、長押しすると、図２３の２３０２に示すように、長押しメニューを長押した近辺に表示することとする。
【０２０６】
次にステップＳ２２０４において、図２３の長押しメニューの中より、カーソル移動モード２３０３が選択され、動作検知条件記憶部１０２に記憶されている、携帯端末１００のジャインロセンサ、または加速度センサ本体が検知する動作によって、カーソルの動作を有効にするための条件を満たしている場合に、文字列上でカーソルを移動させることが可能となる。すなわち、携帯端末が自身の動きを検知し、表示される文字列上でのカーソル位置を、検知した動作に連動して移動させ、文字列の所定の位置にカーソルを表示させる。
【０２０７】
次にステップＳ２２０５において、携帯端末１００上のＣＰＵ２０１は、カーソル位置を決定させる処理を行う。なお、ステップＳ２２０５から呼ばれる、既に説明した図６のステップＳ６０１からステップＳ６１２までの処理と同様であるため、説明は省略する。
【０２０８】
また、図６から呼ばれる図７の処理も、既に説明した第一の実施例における図７の処理と同様である。このため図７の説明については省略する。
【０２０９】
再び図２２に戻りステップＳ２２０６以降を説明する。ステップＳ２２０６からステップＳ２２１２の処理は、図４のステップＳ４０５からステップＳ４１１までの処理と同様である。したがって、カーソル位置が決定された後の、範囲選択や選択したものの編集処理についての処理は、図４のステップＳ４０５からステップＳ４１１と同様であるため、説明については、省略をする。
【０２１０】
ただし、ステップＳ２２０６において、範囲選択キー１１０２が押下され後、カーソルが携帯端末１００に与えられた動作によってカーソルを動かし、範囲選択をするものとしているが、別の方法として、ステップＳ２２０４で携帯端末１００に表示される文字列間を押下して最初におおよその範囲選択終了位置のカーソルの位置を手動で決定して範囲選択をしておき、最終的に、ステップＳ２２０７の処理で図２３と同様なカーソル位置の微調整により、範囲選択終了位置を確定させても良いこととする。すなわち、携帯端末の表示画面に表示される文字列の間の任意の位置をタッチされたことを検知して範囲選択終了位置を確定させても良いこととする。
【０２１１】
次に、カーソルの位置の微調整について、図２３の２３０１から２３０２用いて、携帯端末上の画面を指でタッチしてカーソル位置を決定する際に、小さい文字列の中の所望の位置へカーソル位置を位置づけられなかった場合、携帯端末の傾きを用いてカーソルの位置の微調整を行うことにより、所望の位置へカーソルを位置づける方法について説明する。
【０２１２】
図２３の２３０１は携帯端末上の画面において、画面上の文字列等の間をタッチすることによって、カーソルの位置を決定している図である。小さい文字列の場合、この方法でカーソル位置を決定しようすると、文字が指で隠れてしまうため、自分が決定しようとしている箇所にカーソルを位置付けることが困難になる。
【０２１３】
図２３の２３０２は、図２３の２３０１で携帯端末の画面をタッチしたことによって、最初に決定されたたカーソルの位置を示す図であり、カーソル位置が２行目の数字の「８」の左側に位置する。
【０２１４】
ここで、携帯端末上でカーソル移動を行えるようにするために、カーソル移動モード２３０３を長押しメニューから選択し、このカーソル位置の状態を確認しながら、携帯端末に傾きを与えることにより、図２３のカーソル位置決定処理開始のロジックの処理によって、図２３の２３０１で最初に決定されたカーソルの位置を本来の位置へカーソルを位置付けることが出来る。
【０２１５】
図２３の２３０４は、本来移動させたいカーソル位置にカーソルが移動した後の図である。この図は、図２３の２３０２を画面に表示する携帯端末を左に傾けることによって、カーソル位置の微調整を行い、所望の位置（カーソル位置を数字の「７」の左側）へカーソルの位置を移動させることが出来る。
【０２１６】
これは図７のステップＳ７０３とステップＳ７０４の処理によって、移動させることが出来る。この処理については、第一の実施例の図７の処理と同様であるため説明は省略する。
【０２１７】
カーソルを所望の位置に移動することが出来て、カーソル位置を固定させたい場合は、別メニューである、図１１のカーソル位置決定キー１１０５を押下することによって、カーソル移動を停止させて位置を確定することができる。
【０２１８】
本発明の第二の実施形態によれば、カーソルの位置を携帯端末の画面をタッチすることによって決定する際、小さな文字列において所望の位置へカーソルを位置づけられなかった場合に、携帯端末にある動作を与えてカーソル位置を微調整させることにより、所望の位置へカーソルを移動させることが出来る。
＜第三の実施例＞
続いて、第三の実施形態について説明を行う。本発明の第一の実施例においては、携帯端末のカーソル位置を携帯端末に与えられる角度によって、移動させることが出来、文字列の範囲選択に必要となる範囲選択の開始位置と終了位置の決定や、文字列の挿入の位置の決定等を、この方法によりカーソル位置を決定させることによって可能とする実施例を説明した。本発明の第二の実施形態においては、カーソルの位置を携帯端末の画面をタッチすることによって決定し、小さな文字列において所望の位置へカーソルを位置づけられなかった場合に、携帯端末に角度を与えてカーソル位置を微調整させることにより、所望の位置へ移動させる実施形態を説明した。
【０２１９】
本発明の第三の実施形態においては、携帯端末のカーソル位置を携帯端末の側面から与えられた、加速（衝撃）によってカーソル移動をさせ、文字列の範囲選択に必要となる範囲選択の開始位置と終了位置の決定や、文字列の挿入の位置の決定等を可能とする実施例を説明する。
なお、第一の実施形態や第二の実施形態と処理が同じとなる箇所についての説明は省略する。
【０２２０】
まず、メインの処理である、カーソルの位置を携帯端末の画面をタッチすることによって決定し、携帯端末１００の画面に対して側面から加速（衝撃）を与えることによって、所望の位置へカーソルを位置づけ、範囲選択と範囲選択したものの編集処理ができるようにしている処理については、第二の実施例の図２２と同じフローになる。
【０２２１】
なお、メインの処理の中から呼んでいるサブの処理について、第一の実施例と第二の実施例において差異となる箇所について以下説明を行う。
【０２２２】
第三の実施例における図２２のステップＳ２２０１の初期設定処理は、図２４の内容になる。
【０２２３】
まず、ステップＳ２４０１においては、加速度センサから読み取れる、重力加速度毎における、カーソル移動の速さ（文字／秒）の設定をする。すなわち、図２７の２７１０は、前記携帯端末が検知する前記動作の大きさ毎に紐づく前記カーソル位置の移動の速度が記憶される。
【０２２４】
図２７の２７１１の其々の加速度の大きさに対し、１秒間に何文字分進むかカーソル速度（図２７の２７１２）を設定する。すなわち、カーソル位置の移動の速度は、動作の大きさに連動して速くなる
【０２２５】
次に、ステップＳ２４０２において、携帯端末が、重力加速を受けた方向とカーソル移動方向の紐づけを行う。
【０２２６】
すなわち、図２７の２７２０は、すなわち、携帯端末に与えられた動作の方向に紐づくカーソル位置の移動方向を記憶する。
【０２２７】
携帯端末が加速（衝撃）を受けた方向を上、下、左、右、右斜め上、右斜め下、左斜め上、左斜め下の８つの方向に分類し（図２７の２７２１）それぞれの方向を定義付ける範囲を角度で設定する（図２７の２７２２）。
【０２２８】
次に第三の実施例における図２２のステップＳ２２０２は第二の実施例と同様であるが、ステップＳ２２０３とステップＳ２２０４に関しては、ステップが無いものとする。
【０２２９】
ステップＳ２２０５においては、第三の実施例においては、図２５のカーソル位置決定処理を行う。
【０２３０】
次に、図２５のカーソル位置決定処理の図について説明を行う。まず、ステップＳ２５０１において、携帯端末１００は、カーソルの移動方向へ加速（衝撃）が加えられたことを検知する。
【０２３１】
ステップＳ２５０２において、携帯端末１００は、加速を検知する。ステップＳ２５０２で加速を検知しない場合は、ステップＳ２５０６のカーソル位置決定キー押下の処理へ進み、カーソル位置を決定し、本処理を終了する。
【０２３２】
ステップＳ２５０２で加速を検知した場合は、ステップＳ２５０３において、後続のカーソル移動処理で必要となるカーソルが１秒間に進む文字数Ｘを変数Ｎへ数値として代入される。
【０２３３】
具体的な値は、ステップＳ２５０２で傾きを検知した際の加速毎によって決定される、図２７の２７２０で設定されているカーソルが１秒間に進む文字数である。
【０２３４】
ステップＳ２５０４において、携帯端末１００はカーソル移動処理を行う。なお、このカーソル移動処理については、図７のカーソル移動処理と同様であるため、ここでは説明を省略する。
【０２３５】
ステップＳ２５０５において、カーソルの携帯端末１００は、図２５のカーソル位置決定処理を終了させるか否かを判定する。
【０２３６】
ステップＳ２５０５において、図２５のカーソル位置決定処理を終了させる場合、ステップＳ２５０６のカーソル位置決定キー押下の処理へ移る。すなわち、文字列を範囲選択する場合の範囲選択終了位置の決定を、移動されたカーソルにより受け付ける。
【０２３７】
ステップＳ２５０５において、図２５のカーソル位置決定処理を終了させない場合、再び図２５のステップＳ２５０１からの処理を行う。
【０２３８】
ステップＳ２５０６において、携帯端末１００は、カーソル位置決定キー（図１１の１１０５）が押下されたことを検知し、カーソル位置を決定する。
【０２３９】
再び、第三の実施例としての図２２のステップＳ２２０６に戻って処理の説明を行う。
【０２４０】
ステップＳ２２０６は、第二の実施例と同じであるため、説明は省略する。
【０２４１】
ステップＳ２２０７は、図２６の範囲選択と範囲選択終了カーソル位置決定処理を行うこととする。
【０２４２】
続いて図２６の範囲選択と範囲選択終了カーソル位置決定処理について説明を行う。
【０２４３】
まず、ステップＳ２６０１において、携帯端末１００は、カーソルの移動方向へ加速（衝撃）が加えられたことを検知する。
【０２４４】
ステップＳ２６０２において、携帯端末１００は、加速を検知する。ステップＳ２６０２で加速を検知しない場合は、再度、ステップＳ２６０１の範囲選択の方向への加速（衝撃）を検知の処理へ進む。
【０２４５】
ステップＳ２６０２で加速を検知した場合は、ステップＳ２６０３において、後続のカーソル移動処理で必要となるカーソルが１秒間に進む文字数Ｘを変数Ｎへ数値として代入される。
【０２４６】
具体的な値は、ステップＳ２６０２で傾きを検知した際の加速毎によって決定される、図２７の２７２０で設定されているカーソルが１秒間に進む文字数である。
【０２４７】
ステップＳ２６０４において、携帯端末１００は範囲選択処理を行う。すなわち、範囲選択開始位置と範囲選択終了位置の間の範囲を選択状態とする。
【０２４８】
なお、このカーソル移動処理については、図９の範囲選択処理のステップＳ９０６とステップＳ９０８で「傾きの行方向へ」と表現している箇所を、「加速（衝撃）を与えた行方向へ」と置き換えることにより処理が同様となる。つまり、傾きで方向を検知していたものが、加速（衝撃）によって、検知することに変わっただけである。従がって、同様の箇所の説明は省略する。
【０２４９】
なお、図９の範囲選択処理のステップＳ９１０から呼ばれる、斜めの傾きの範囲選択処理は、図１０の斜めの傾きの範囲選択処理の、ステップＳ１００４、ステップＳ１００６、ステップＳ１００９、ステップＳ１０１１、ステップＳ１０１５、ステップＳ１０１７、ステップＳ１０２０、ステップＳ１０２１で「傾きの行方向へ」と表現している箇所を、「加速（衝撃）を与えた行方向へ」と置き換えることにより処理が同様となる。つまり、傾きで方向を検知していたものが、加速（衝撃）によって、検知することに変わっただけである。従がって、同様の箇所の説明は省略する。
【０２５０】
再び、図２６の範囲選択と範囲選択終了カーソル位置決定処理に戻って説明をする。ステップＳ２６０５において、カーソルの携帯端末１００は、図２６の範囲選択と範囲選択終了カーソル位置決定処理を終了させるか否かを判定する。
【０２５１】
ステップＳ２６０５において、図２６の範囲選択と範囲選択終了カーソル位置決定処理を終了させる場合、ステップＳ２６０６のカーソル位置決定キー押下の処理へ移る。すなわち、文字列を範囲選択する場合の範囲選択終了位置の決定を、移動されたカーソルにより受け付ける。
【０２５２】
ステップＳ２６０５において、図２６の範囲選択と範囲選択終了カーソル位置決定処理を終了させない場合、再び図２６のステップＳ２６０１からの処理を行う。
【０２５３】
ステップＳ２６０６において、携帯端末１００は、カーソル位置決定キー（図１１の１１０５）が押下されたことを検知し、文字列の範囲選択の終了位置し、本処理を終了する。
【０２５４】
再び、第三の実施例としての図２２の処理に戻って説明をする。ステップＳ２２０８からステップＳ２２１２については、第二の実施例と同様のため、説明は省略する。
【０２５５】
以上、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２５６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０２５７】
例えば、携帯端末上に表示されている文字列を範囲選択や、文書編集をするために必要となるカーソルは、ユーザから与えられ携帯端末が検知した動作によって動くとして実施例を説明したが、これらはあくまで例の一部分部である。携帯端末が検知する動作には、実施例以外にも、携帯端末をある方向から揺らす、等の携帯端末の本体へジャイロセンサ、あるいは、加速度センサが検知をする何等かの外部要因を加えることによって、携帯端末上でカーソル移動を発生させ、範囲選択や、文書編集処理を行うことも可能であることとする。
【０２５８】
また、本発明におけるプログラムは、図４から図１０、図２２、図２４から図２６に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図４から図１０、図２２、図２４から図２６の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図４から図１０、図２２、図２４から図２６の各装置の処理方法ごとのプログラムであってもよい。
【０２５９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２６０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０２６１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０２６２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２６３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２６４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２６５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２６６】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０２６７】
１００  携帯端末
１０１  動作検知部
１０２  動作検知条件記憶部
１０３  カーソル速度記憶部
１０４  複数文字選択条件記憶部
１０５  カーソル移動方向記憶部
１０６  動作検知条件取得部
１０７  カーソル速度取得部
１０８  複数文字選択条件取得部
１０９  カーソル移動方向取得部
１１０  カーソル位置移動部
１１１  文字列範囲選択開始位置決定部
１１２  文字列範囲選択部
１１３  文字列編集部
１１４  文字列反転部
１１５  文字列範囲選択解除部
２００  ＷＥＢサーバ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  入力コントローラ（入力Ｃ）
２０６  ビデオコントローラ（ＶＣ）
２０７  メモリコントローラ（ＭＣ）
２０８  通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）
２０９  キーボード
２１０  ＣＲＴ
２１１  外部メモリ
３００  公衆回線
４００  インターネット回線
【図１】
0005585697.tif 000002
【図２】
0005585697.tif 000003
【図３】
0005585697.tif 000004
【図４】
0005585697.tif 000005
【図５】
0005585697.tif 000006
【図６】
0005585697.tif 000007
【図７】
0005585697.tif 000008
【図８】
0005585697.tif 000009
【図９】
0005585697.tif 000010
【図１０】
0005585697.tif 000011
【図１１】
0005585697.tif 000012
【図１２】
0005585697.tif 000013
【図１３】
0005585697.tif 000014
【図１４】
0005585697.tif 000015
【図１５】
0005585697.tif 000016
【図１６】
0005585697.tif 000017
【図１７】
0005585697.tif 000018
【図１８】
0005585697.tif 000019
【図１９】
0005585697.tif 000020
【図２０】
0005585697.tif 000021
【図２１】
0005585697.tif 000022
【図２２】
0005585697.tif 000023
【図２３】
0005585697.tif 000024
【図２４】
0005585697.tif 000025
【図２５】
0005585697.tif 000026
【図２６】
0005585697.tif 000027
【図２７】
0005585697.tif 000028