本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、本発明に係る携帯電子機器の一例として、スマートフォンについて説明する。
(実施形態1)
実施形態1に係るスマートフォン1の機能構成の一例を説明する。図1は、実施形態1に係るスマートフォンの機能構成を示すブロック図である。以下の説明においては、同様の構成要素に同一の符号を付すことがある。さらに、重複する説明は省略することがある。
図1に示すように、スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12と、姿勢検出ユニット15と、バイブレータ18とを備える。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2A及びタッチスクリーン2Bは、例えば、重ねて配置されてもよいし、並べて配置されてもよいし、離して配置されてもよい。ディスプレイ2Aとタッチスクリーン2Bとが重ねて配置される場合、例えば、ディスプレイ2Aの1ないし複数の辺がタッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。ディスプレイ2Aが表示する文字、画像、記号、及び図形等を含む画面には、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面が含まれる。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面又はランチャー画面と呼ばれることもある。実施形態1において、ディスプレイ2Aは、文字入力を受け付ける文字入力画面を表示する。文字入力画面には、入力された文字を表示する表示領域、文字入力操作を行うためのテンキー、及び手書き操作領域が含まれる。表示領域及びテンキーは、常に、文字入力画面に表示される。手書き操作領域は、文字入力画面に対する所定の操作が検出された場合に、文字入力画面に表示される。文字入力画面は、以下に説明するメールアプリケーション9C、カレンダーアプリケーション9Dまたはメモアプリケーション9Eなどのアプリケーションの実行に伴って表示される。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等(以下、単に「指」という)がタッチスクリーン2Bに接触した位置を検出することができる。タッチスクリーン2Bは、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する指の接触を、接触された場所のタッチスクリーンディスプレイ2上での位置とともに、コントローラ10に通知する。実施形態1において、タッチスクリーン2Bは、ディスプレイ2Aに表示される文字入力画面に対する指の接触、及び文字入力画面上での位置を、コントローラ10に通知する。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
コントローラ10(スマートフォン1)は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。ジェスチャは、指を用いて、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対して行われる操作である。コントローラ10(スマートフォン1)が、タッチスクリーン2Bを介して判別するジェスチャには、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトが含まれるが、これらに限定されない。コントローラ10は、制御部の一例である。
実施形態1において、コントローラ10(スマートフォン1)は、タッチスクリーン2Bから通知される文字入力画面上の指の接触及び接触の位置に基づいて、文字入力画面に対するジェスチャを判定し、例えば、文字入力画面に含まれるテンキーの文字を、文字入力画面の表示領域に表示させる。あるいは、実施形態1において、コントローラ10(スマートフォン1)は、タッチスクリーン2Bから通知される文字入力画面上の指の接触及び接触の位置に基づいて、文字入力画面に対するジェスチャを判定し、文字入力画面に手書き領域を表示させる。
ボタン3は、利用者からの操作入力を受け付ける。ボタン3の数は、単数であっても、複数であってもよい。
照度センサ4は、スマートフォン1の周囲光の照度を検出する。照度は、光の強さ、明るさ、又は輝度を示す。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、ディスプレイ2Aが顔に近づけられたことを検出する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる無線通信規格には、例えば、2G、3G、4G等のセルラーフォンの通信規格と、近距離無線の通信規格がある。セルラーフォンの通信規格としては、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。近距離無線の通信規格としては、例えば、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等がある。WPANの通信規格には、例えば、ZigBee(登録商標)がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
通信ユニット6は、GPS衛星からの所定の周波数帯の電波信号を受信し、受信した電波信号の復調処理を行って、処理後の信号をコントローラ10に送出する。スマートフォン1は、GPS衛星との通信機能を通信ユニット6から分散させて、通信ユニット6から独立した個別の通信部を設けてもよい。
レシーバ7は、音出力部である。レシーバ7は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。マイク8は、音入力部である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。フォアグランドで実行されるアプリケーションは、例えば、ディスプレイ2Aに画面が表示される。制御プログラムには、例えば、OSが含まれる。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、通話アプリケーション9B、メールアプリケーション9C、カレンダーアプリケーション9D、メモアプリケーション9E、文字入力モード判定データ9Zなどを記憶する。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、タッチスクリーン2Bから通知される文字入力画面上の指の接触及び接触の位置に基づいて、文字入力画面に対するジェスチャを判定するための機能を提供する。制御プログラム9Aは、ディスプレイ2Aに表示される文字入力画面に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えない場合には、第1のモードによる文字入力を受け付けるための機能を提供する。第1のモードとは、文字入力画面に含まれるテンキー及びフリック入力キーに対する操作(タップ、フリックなど)により文字入力(トグル入力、フリック入力など)を行うモードに該当する。制御プログラム9Aは、ディスプレイ2Aに表示される文字入力画面に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えて継続する場合には、第2のモードによる文字入力を受け付けるための機能を提供する。第2のモードとは、文字入力画面上に表示される手書き表示領域に対する操作により文字入力を行うモードに該当する。制御プログラム9Aは、第2のモードにより文字入力を受け付ける場合には、手書き表示領域に対して行われるタッチジェスチャの軌跡によって文字入力を受け付けるための機能を提供する。
その他、制御プログラム9Aは、通信ユニット6などを制御することによって、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)などを用いた通信を実現させるための機能、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等を用いた近距離無線通信を実現させるための機能、並びに、通信ユニット6及びマイク8などを制御することによって、通話を実現させるための機能を提供する。
制御プログラム9Aにより提供される機能は、通話を実現させる場合、通話アプリケーション9B又はメールアプリケーション9Cなど、ストレージ9に記憶される他のプログラムなどが提供する機能と組み合わせて利用されることがある。制御プログラム9Aにより提供される機能は、複数のプログラムモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
通話アプリケーション9Bは、無線通信による通話のための通話機能を提供する。メールアプリケーション9Cは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。カレンダーアプリケーション9Dは、スケジュール管理等のためのカレンダー機能を提供する。メモアプリケーション9Eは、テキストデータの作成及び管理を行うためのテキストエディタ機能を提供する。ストレージ9に記憶されるアプリケーションは一例に過ぎない。図1に示すもの以外に、ブラウザアプリケーション、ナビゲートアプリケーション、音楽プレイヤーアプリケーション、動画再生アプリケーション、計算機アプリケーション、付箋アプリケーションなどが記憶されていてもよい。
文字入力モード判定データ9Zは、コントローラ10が、文字入力画面上の指の接触及び接触の位置に基づいて、上記第1のモードおよび上記第2のモードのいずれのモードで文字入力を受け付けるかを判定するためのデータである。文字入力モード判定データ9Zとして、例えば、文字入力画面に対するタッチジェスチャの開始が検出されてから、タッチジェスチャの終了が検出されるまでの移動距離との比較を行う所定の距離のデータが記憶される。所定の距離のデータは、例えば、タッチジェスチャの移動方向ごとに記憶される。タッチジェスチャの移動方向は、例えば、ディスプレイ2Aに表示される文字(仮名文字、英数字、記号など)の上下方向に一致する方向、及び当該上下方向に垂直に交わる左右方向の一致する方向が含まれる。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、及びFPGA(Field−Programmable Gate Array)を含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。コントローラ10は、制御部の一例である。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、マイク8、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、及び姿勢検出ユニット15を含むが、これらに限定されない。
コントローラ10は、制御プログラム9Aを実行することにより、タッチスクリーン2Bから通知される文字入力画面上の指の接触及び接触の位置に基づいて、文字入力画面に対するジェスチャを判定する処理を実行する。コントローラ10は、制御プログラム9Aを実行することにより、ディスプレイ2Aに表示される文字入力画面に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えない場合には、第1のモードによる文字入力を受け付ける処理を実行する。コントローラ10は、制御プログラム9Aを実行することにより、ディスプレイ2Aに表示される文字入力画面に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えて継続する場合には、第2のモードによる文字入力を受け付ける処理を実行する。コントローラ10は、第2のモードにより文字入力を受け付ける場合には、手書き表示領域に対して行われるタッチジェスチャの軌跡によって文字入力を受け付ける。
スピーカ11は、音出力部である。スピーカ11は、コントローラ10から送信される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
カメラ12は、撮影した画像を電気信号へ変換する。カメラ12には、例えば、ディスプレイ2Aに面している物体を撮影するインカメラ、ディスプレイ2Aの反対側の面に面している物体を撮影するアウトカメラが含まれる。
姿勢検出ユニット15は、スマートフォン1の姿勢を検出する。姿勢検出ユニット15は、姿勢を検出するために、加速度センサ、方位センサ、及びジャイロスコープの少なくとも1つを備える。姿勢検出ユニット15は、例えば、加速度センサ、方位センサ、及びジャイロスコープなどの検出結果に基づいて、例えば、スマートフォン1の姿勢を検出する。
バイブレータ18は、スマートフォン1の一部又は全体を振動させる。バイブレータ18は、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。バイブレータ18による振動は、着信等の各種のイベントを利用者に報知するために用いられる。
続いて、図2〜図6を用いて、実施形態1に係るスマートフォン1により実行される制御の一例について説明する。図2〜図5に示すF1は、利用者の指を示す。
図2は、第1のモードにより文字入力を受け付ける制御の例を示す図である。図2に示すように、スマートフォン1は、文字入力画面40をディスプレイ2Aに表示する(ステップS21)。スマートフォン1は、タッチスクリーン2Bを介して、文字入力画面40に含まれるテンキーに対する操作を検出すると、フリック入力キーK1を表示する(ステップS22)。スマートフォン1は、例えば、テンキーに対して継続的なタッチを検出すると、フリック入力キーK1を表示する。フリック入力キーK1は、操作が検出されたキキーに対して入力が割り当てられている文字(b、c、2)のフリック入力を受け付ける。スマートフォン1は、タッチスクリーン2Bを介して、文字入力画面40に含まれるテンキーに対してタップを検出すると、タップが検出されたキーに対して入力が割り当てられている文字のトグル入力を受け付けることもできる。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、フリック入力キーK1に対するフリックを検出すると(ステップS23)、フリックされた方向に対応する文字の入力を受け付けて、文字入力画面40の表示領域に表示する(ステップS24)。例えば、スマートフォン1は、文字“c”の画像が表示される方向X1に対するフリックを検出すると、文字“c”の入力を受け付けて、表示領域に文字“c”を表示する。図2に示すように、スマートフォン1は、文字入力画面40に対するタッチジェスチャの開始が検出されてから、タッチジェスチャの終了が検出されるまでの移動距離が所定の距離を越えない場合には、第1のモードにより文字入力を受け付ける。つまり、スマートフォン1は、文字入力画面40に含まれるテンキーに対するタップ、あるいはフリック入力キーK1に対するフリックなどにより、文字入力を受け付ける。
図3は、第2のモードにより文字入力を受け付ける制御の例を示す図である。図3に示すように、スマートフォン1は、文字入力画面40をディスプレイ2Aに表示する(ステップS31)。スマートフォン1は、タッチスクリーン2Bを介して、文字入力画面40に含まれるテンキーに対する操作を検出すると、フリック入力キーK1を表示する(ステップS32)。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、フリック入力キーK1の上を方向X1へ指F1を滑らせるスワイプを検出し(ステップS33)、スワイプの移動距離が所定の距離を越えて継続することを検出した場合には(ステップS34)、文字入力画面40に手書き入力領域MA1を表示させる(ステップS35)。ステップS35において、スマートフォン1は、手書き入力領域MA1上に、スワイプの軌跡に対応する画像を表示させる。スマートフォン1は、タッチスクリーン2Bを介して、タッチジェスチャが継続して検出される間、手書き入力領域MA1を表示するようにしてもよい。あるいは、スマートフォン1は、手書き入力領域MA1を表示した後、タッチジェスチャが検出されなくても一定時間が経過するまでは手書き入力領域MA1を表示するようにしてもよい。あるいは、スマートフォン1は、手書き入力領域MA1を表示した後、手書き入力領域MA1を消去するための所定のタッチジェスチャが検出されるまでは、手書き入力領域MA1を継続して表示するようにしてもよい。
続いて、スマートフォン1は、ステップS34にて検出されたスワイプを継続して手書き入力領域MA1上に検出すると、スワイプの軌跡に対応する画像を描画し(ステップS36)、手書き入力領域MA1からのリリースが検出されると(ステップS37)、手書き入力領域MA1に描画した画像に対応する文字“z”を、文字入力画面40の表示領域に表示する(ステップS38)。スマートフォン1は、手書き入力領域MA1からのリリースが検出されてから一定時間が経過すると、手書き入力領域MA1に描画された文字を確定して、表示領域に表示させる。あるいは、スマートフォン1は、手書き入力領域MA1に描画された画像を確定するための所定のタッチジェスチャなどが検出された場合に、手書き入力領域MA1に描画された文字を確定して、表示領域に表示させるようにしてもよい。図3に示すように、スマートフォン1は、文字入力画面40に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えて継続する場合には、第2のモードによる文字入力を受け付ける。つまり、スマートフォン1は、フリック入力キーK1に対して検出されたスワイプの移動距離が所定の距離を越えて継続する場合には、手書き入力領域MA1に対する手書き入力による文字入力を受け付ける。
図4は、図3に示す制御におけるタッチジェスチャの移動距離の判定方法の一例を説明するための図である。図4に示すように、スマートフォン1は、フリック入力キーK1の文字“a”の画像が表示される位置に対するタッチを検出し、タッチが検出された位置から、そのまま文字“c”の画像が表示される方向X1へのスワイプを検出した場合には、スワイプの移動距離が距離D1を越えて継続することを条件として、手書き入力領域MA1を表示する。距離D1のデータは、文字入力モード判定データ9Zとして、ストレージ9に予め格納されている。
図5は、図3に示す制御におけるタッチジェスチャの移動距離の判定方法の他の例を説明するための図である。図5に示すように、スマートフォン1は、フリック入力キーK1が表示されるディスプレイ2Aの領域内から、フリック入力キーK1が表示されるディスプレイ2Aの領域の外へのスワイプを検出した場合には、手書き入力領域MA1を表示するようにしてもよい。
図6は、図3に示す制御とは異なるパターンのタッチジェスチャの移動距離の判定方法の一例を説明するための図である。図6には、例えば、スマートフォン1が、図2及び図3に示す文字入力画面40に含まれるテンキーのうち、文字“p”などが割り当てられているキーに対する操作に応じて表示するフリック入力キーK2を示している。スマートフォン1は、フリック入力キーK2の文字“p”の画像が表示される位置に対するタッチを検出し、タッチが検出された位置から、そのまま文字“r”の画像が表示される方向X1へのスワイプを検出した場合には、図3に示す制御と同様に、スワイプの移動距離が距離D1を越えて継続することを条件として、手書き入力領域MA1を表示する。同様に、スマートフォン1は、フリック入力キーK2の文字“p”の画像が表示される位置に対するタッチを検出し、タッチが検出された位置から、そのまま数字“7”の画像が表示される方向X2へのスワイプを検出した場合には、スワイプの移動距離が距離D1を越えて継続することを条件として、手書き入力領域を表示する。あるいは、スマートフォン1は、フリック入力キーK2の文字“p”の画像が表示される位置に対するタッチを検出し、タッチが検出された位置から、そのまま文字“q”の画像が表示される方向Y1へのスワイプを検出した場合には、スワイプの移動距離が距離D2を越えて継続することを条件として、手書き入力領域を表示する。同様に、スマートフォン1は、フリック入力キーK2の文字“p”の画像が表示される位置に対するタッチを検出し、タッチが検出された位置から、そのまま文字“s”の画像が表示される方向Y2へのスワイプを検出した場合には、スワイプの移動距離が距離D2を越えて継続することを条件として、手書き入力領域を表示する。方向Y1及び方向Y2は、ディスプレイ2Aに表示される文字の上下方向に一致し、例えば、図2及び図3などに示すタッチスクリーンディスプレイ2を構成する4辺のうちの長い方の辺に平行な方向に該当する。方向X1及びX2は、ディスプレイ2Aに表示される文字の左右方向、すなわち、方向Y1及び方向Y2に垂直な方向に一致し、例えば、図2及び図3などに示すタッチスクリーンディスプレイ2を構成する4辺のうちの短い方の辺に平行な方向に該当する。
図7を用いて、実施形態1に係るスマートフォン1による制御の流れについて説明する。図7は、実施形態1に係るスマートフォン1による制御の流れを示すフローチャートである。図7に示す制御は、コントローラ10が、制御プログラム9Aなどをストレージ9から読込んで実行することにより実現される。
図7に示すように、コントローラ10は、メールアプリケーション9C、あるいはメモアプリケーション9Eなどの実行に伴い、文字入力画面40をディスプレイ2Aに表示する(ステップS101)。
続いて、コントローラ10は、文字入力画面40に対するタッチジェスチャを検出したかを判定する(ステップS102)。
コントローラ10は、判定の結果、文字入力画面40に対するタッチジェスチャを検出した場合には(ステップS102,Yes)、タッチジェスチャの開始からの当該タッチジェスチャの移動距離が所定の距離を越えて継続するかを判定する(ステップS103)。具体的には、コントローラ10は、タッチスクリーン2Bを介して、タッチジェスチャの移動方向を判定し、移動方向に対応する所定の距離をストレージ9に記憶されている文字入力モード判定データ9Zから取得する。そして、コントローラ10は、タッチジェスチャが継続される間、タッチスクリーン2Bを介して計測するタッチジェスチャの移動距離と、文字入力モード判定データ9Zから取得した所定の距離とを比較する。
コントローラ10は、判定の結果、タッチジェスチャの移動距離が所定の距離を越えて継続している場合には(ステップS103,Yes)、手書き入力領域MA1を表示して、第2のモード(手書き入力)による文字入力を受け付ける(ステップS104)。これとは反対に、コントローラ10は、判定の結果、タッチジェスチャの移動距離が所定の距離を越えることなく終了している場合には(ステップS103,No)、第1のモード(トグル入力またはフリック入力)による文字入力を受け付ける(ステップS105)。
続いて、コントローラ10は、文字入力処理を終了するかを判定する(ステップS106)。コントローラ10は、例えば、実行中のメールアプリケーション9C、あるいは実行中のメモアプリケーション9Eなどにおける文字入力が終了したかを判定する。
コントローラ10は、判定の結果、文字入力処理を終了する場合には(ステップS106,Yes)、図7に示す制御を終了する。これとは反対に、コントローラ10は、文字入力処理を終了しない場合には(ステップS106,No)、上記ステップS102の手順に戻る。
上述してきたように、実施形態1では、スマートフォン1は、ディスプレイ2Aに表示される文字入力画面40に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えない場合には、第1のモード(トグル入力またはフリック入力)による文字入力を受け付ける。一方、スマートフォン1は、ディスプレイ2Aに表示される文字入力画面40に対するタッチジェスチャの開始が検出されてからのタッチジェスチャの移動距離が所定の距離を越えて継続する場合には、第2のモード(手書き入力)による文字入力を受け付ける。このようなことから、実施形態1によれば、利用者に対して、文字入力画面上で直接手書き入力を行わせることができ、タッチスクリーンディスプレイ上の文字入力の利便性を向上できる。
実施形態1では、スマートフォン1は、手書き入力による文字入力を受け付ける場合には、タッチジェスチャの軌跡により文字入力を受け付ける。このため、利用者に対して、簡易で直感的な文字入力を行わせることができ、タッチスクリーンディスプレイ上の文字入力の利便性を向上できる。
(実施形態2)
以下の実施形態2では、第1のモードによる文字入力に続いて第2のモードによる文字入力を受け付けた場合の例を説明する。
実施形態2に係るスマートフォンの機能構成は、実施形態1と基本的に同様であるが、以下に説明する点が異なる。
制御プログラム9Aは、第1のモードによる文字入力に続いて第2のモードによる文字入力を受け付けた場合には、第1のモードで受け付けたタッチジェスチャが1回のタップであることを条件として、第1のモードにより入力された文字を消去して、第1のモードによる文字入力を受け付けたときのタッチジェスチャと、第2のモードによる文字入力を受け付けたときのタッチジェスチャとの軌跡による文字入力を受け付けるための機能を提供する。
コントローラ10は、制御プログラム9Aを実行することにより、第1のモードによる文字入力に続いて第2のモードによる文字入力を受け付けた場合には、第1のモードで受け付けたタッチジェスチャが1回のタップであることを条件として、第1のモードにより入力された文字を消去して、第1のモードによる文字入力を受け付けたときのタッチジェスチャと、第2のモードによる文字入力を受け付けたときのタッチジェスチャとの軌跡による文字入力を受け付ける処理を実行する。
図8は、第1のモードによる文字入力に続いて第2のモードによる文字入力を受け付けた場合の制御の例を示す図である。図8に示すように、スマートフォン1は、文字入力画面40をディスプレイ2Aに表示する(ステップS41)。スマートフォン1は、タッチスクリーン2Bを介して、文字入力画面40に含まれるテンキーに対するタップを検出すると(ステップS42)、タップされたキーに割り当てられている文字の入力を受け付けて、文字入力画面40の表示領域に表示する(ステップS43)。例えば、ステップS42において、検出されたタップの回数が1回であれば、スマートフォン1は、文字“a”の入力を受け付けて表示領域に表示する。
続いて、スマートフォン1は、ステップS43の文字入力を受け付けてから一定時間内に、タッチスクリーン2Bを介して、文字入力画面40に含まれるテンキーに対するタッチを検出すると、フリック入力キーK1を表示する(ステップS44)。続いて、スマートフォン1は、タッチスクリーン2Bを介して、フリック入力キーK1の上を方向Y2へ指F1を滑らせるスワイプを検出し、スワイプの移動距離が所定の距離を越えて継続することを検出した場合には(ステップS45)、文字入力画面40に手書き入力領域MA1を表示させる(ステップS46)。ステップS46において、スマートフォン1は、手書き入力領域MA1上に、ステップS42において受け付けたタップと、ステップS44〜ステップS45にかけて受け付けたスワイプの軌跡に対応する画像を表示させる。さらに、スマートフォン1は、ステップS46において、表示領域に表示されている文字“a”を選択状態にする。
続いて、スマートフォン1は、ステップS45にて検出されたスワイプを継続して手書き入力領域MA1上に検出すると、スワイプの軌跡に対応する画像を描画し、手書き入力領域MA1からのリリースが検出されると(ステップS47)、手書き入力領域MA1に描画した画像に対応する文字“j”を、表示領域において選択された状態にある文字“a”に上書きして表示する(ステップS48)。
実施形態2では、スマートフォン1は、第1のモードによる文字入力に続いて第2のモードによる文字入力を受け付けた場合には、第1のモードで受け付けたタップが1回であることを条件として、第1のモードにより入力された文字を消去して、第1のモードによる文字入力を受け付けたときのタッチジェスチャと、第2のモードによる文字入力を受け付けたときのタッチジェスチャとの軌跡による文字入力を受け付ける。このため、実施形態2によれば、手書き入力の幅を広げることができる。
上記の実施形態では、添付の請求項に係る装置の例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、タブレットなどのタッチスクリーン機能を備える電子機器であれば、スマートフォン以外であってもよい。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記の実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。