本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンを備える装置の例として、スマートフォンについて説明する。
(実施形態)
図1から図3を参照しながら、実施形態に係るスマートフォン1の全体的な構成について説明する。図1から図3に示すように、スマートフォン1は、ハウジング20を有する。ハウジング20は、フロントフェイス1Aと、バックフェイス1Bと、サイドフェイス1C1〜1C4とを有する。フロントフェイス1Aは、ハウジング20の正面である。バックフェイス1Bは、ハウジング20の背面である。サイドフェイス1C1〜1C4は、フロントフェイス1Aとバックフェイス1Bとを接続する側面である。以下では、サイドフェイス1C1〜1C4を、どの面であるかを特定することなく、サイドフェイス1Cと総称することがある。
スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3A〜3Cと、照度センサ4と、近接センサ5と、レシーバ7と、マイク8と、カメラ12とをフロントフェイス1Aに有する。スマートフォン1は、スピーカ11と、カメラ13とをバックフェイス1Bに有する。スマートフォン1は、ボタン3D〜3Fと、コネクタ14とをサイドフェイス1Cに有する。以下では、ボタン3A〜3Fを、どのボタンであるかを特定することなく、ボタン3と総称することがある。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。図1の例では、ディスプレイ2A及びタッチスクリーン2Bはそれぞれ略長方形状であるが、ディスプレイ2A及びタッチスクリーン2Bの形状はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、それぞれが正方形又は円形等のどのような形状もとりうる。図1の例では、ディスプレイ2A及びタッチスクリーン2Bは重ねて配置されているが、ディスプレイ2A及びタッチスクリーン2Bの配置はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、例えば、並べて配置されてもよいし、離して配置されてもよい。図1の例では、ディスプレイ2Aの長辺はタッチスクリーン2Bの長辺に沿っており、ディスプレイ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は、文字、画像、記号、及び図形等を表示する。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触した位置を検出することができる。以下の説明では、タッチスクリーン2Bに対して接触する指、ペン、又はスタイラスペン等を、「接触オブジェクト」又は「接触物」と呼ぶことがある。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
スマートフォン1は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーン2Bに対して行われる操作である。スマートフォン1によって判別されるジェスチャは、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトを含むがこれらに限定されない。
「タッチ」は、タッチスクリーン2Bに指が触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が接触するジェスチャをタッチとして判別する。「ロングタッチ」は、タッチスクリーン2Bに指が一定時間より長く触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が一定時間より長く接触するジェスチャをロングタッチとして判別する。
「リリース」は、指がタッチスクリーン2Bから離れるジェスチャである。スマートフォン1は、指がタッチスクリーン2Bから離れるジェスチャをリリースとして判別する。「スワイプ」は、指がタッチスクリーン2Bに接触したままで移動するジェスチャである。スマートフォン1は、指がタッチスクリーン2Bに接触したままで移動するジェスチャをスワイプとして判別する。
「タップ」は、タッチに続いてリリースをするジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャをタップとして判別する。「ダブルタップ」は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャをダブルタップとして判別する。
「ロングタップ」は、ロングタッチに続いてリリースをするジェスチャである。スマートフォン1は、ロングタッチに続いてリリースをするジェスチャをロングタップとして判別する。「ドラッグ」は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャである。スマートフォン1は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャをドラッグとして判別する。
「フリック」は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャである。すなわち、「フリック」は、タッチに続いて指が移動しながらリリースが行われるジェスチャである。スマートフォン1は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャをフリックとして判別する。フリックは、指が一方方向へ移動しながら行われることが多い。フリックは、指が画面の上方向へ移動する「上フリック」、指が画面の下方向へ移動する「下フリック」、指が画面の右方向へ移動する「右フリック」、指が画面の左方向へ移動する「左フリック」等を含む。フリックにおける指の移動は、スワイプにおける指の移動よりも素早いことが多い。
「ピンチイン」は、複数の指が互いに近付く方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が短くなるジェスチャをピンチインとして判別する。「ピンチアウト」は、複数の指が互いに遠ざかる方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が長くなるジェスチャをピンチアウトとして判別する。
以下の説明では、1本の指により行われるジェスチャを「シングルタッチジェスチャ」と呼び、2本以上の指により行われるジェスチャを「マルチタッチジェスチャ」と呼ぶことがある。マルチタッチジェスチャは、例えば、ピンチインおよびピンチアウトを含む。タップ、フリックおよびスワイプ等は、1本の指で行われればシングルタッチジェスチャであり、2本以上の指で行われればマルチタッチジェスチャである。
スマートフォン1は、タッチスクリーン2Bを介して判別するこれらのジェスチャに従って動作を行う。このため、利用者にとって直感的で使いやすい操作性が実現される。判別されるジェスチャに従ってスマートフォン1が行う動作は、ディスプレイ2Aに表示されている画面に応じて異なることがある。以下の説明では、説明を簡単にするために、「タッチスクリーン2Bが接触を検出し、検出された接触に基づいてジェスチャの種別をスマートフォン1がXと判別すること」を、「スマートフォンがXを検出する」、又は「コントローラがXを検出する」と記載することがある。
図4は、スマートフォン1のブロック図である。スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。タッチスクリーン2Bは、接触を検出する。コントローラ10は、スマートフォン1に対するジェスチャを検出する。具体的には、コントローラ10は、タッチスクリーン2Bと協働することによって、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する操作(ジェスチャ)を検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Fを有する。コントローラ10はボタン3と協働することによってボタン3に対する操作を検出する。ボタン3に対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、プッシュ、及びマルチプッシュを含むが、これらに限定されない。
ボタン3A〜3Cは、例えば、ホームボタン、バックボタンまたはメニューボタンである。ボタン3Dは、例えば、スマートフォン1のパワーオン/オフボタンである。ボタン3Dは、スリープ/スリープ解除ボタンを兼ねてもよい。ボタン3E及び3Fは、例えば、音量ボタンである。
照度センサ4は、スマートフォン1の周囲光の照度を検出する。照度は、光の強さ、明るさ、又は輝度を示す。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化または超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、タッチスクリーンディスプレイ2が顔に近付けられたことを検出する。照度センサ4及び近接センサ5は、一つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、2G、3G、4G等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。無線通信規格として、さらに、例えば、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)等がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。通信ユニット6は、有線による通信をサポートしてもよい。有線による通信は、例えば、イーサネット(登録商標)、ファイバーチャネル等を含む。
レシーバ7及びスピーカ11は、音出力部である。レシーバ7及びスピーカ11は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。マイク8は、音入力部である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに画面を表示させ、タッチスクリーン2Bを介して検出されるジェスチャに応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信ユニット6による通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、メールアプリケーション9B、ブラウザアプリケーション9C、及び設定データ9Zを記憶する。メールアプリケーション9Bは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、ディスプレイ2Aにキーオブジェクトを表示し、キーオブジェクトに対する操作に応じて文字の入力を受け付ける機能が含まれる。制御プログラム9Aが提供する機能は、メールアプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、及びFPGA(Field−Programmable Gate Array)を含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、レシーバ7、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、及びジャイロスコープ17を含むが、これらに限定されない。
コントローラ10は、例えば、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を実行する。
カメラ12は、フロントフェイス1Aに面している物体を撮影するインカメラである。カメラ13は、バックフェイス1Bに面している物体を撮影するアウトカメラである。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
加速度センサ15は、スマートフォン1に働く加速度の方向及び大きさを検出する。方位センサ16は、地磁気の向きを検出する。ジャイロスコープ17は、スマートフォン1の角度及び角速度を検出する。加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果は、スマートフォン1の位置及び姿勢の変化を検出するために、組み合わせて利用される。
図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、通信ユニット6による通信で他の装置からダウンロードされてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、CD(登録商標)、DVD(登録商標)、Blu−ray(登録商標)等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、及びソリッドステート記憶媒体を含むが、これらに限定されない。
図4に示したスマートフォン1の構成は例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図4の例に限定されない。スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに代えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。図4に示した例では、スマートフォン1が2つのカメラを備えるが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図4に示した例では、スマートフォン1が位置及び姿勢を検出するために3種類のセンサを備えるが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよい。あるいは、スマートフォン1は、位置及び姿勢の少なくとも1つを検出するための他の種類のセンサを備えてもよい。
ここまで、本実施形態に係るスマートフォン1の基本的な構成について説明を行った。以下に、実施形態に係るスマートフォン1が、利用者の操作に応じて行う文字入力動作の例について説明する。
図5は、スマートフォンが行う制御の例を示す図である。スマートフォン1は、ステップS11に示すように、文字入力画面をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示する。
図5に示す文字入力画面は、入力文字表示領域30と、キーボード領域31とを含む。入力文字表示領域30は、入力された文字を表示する。入力された文字は、入力が確定した文字と、入力が未確定の文字(以下、「入力候補文字」ということがある)とを含む。キーボード領域31は、文字入力を受け付けるための領域である。キーボード領域31には、複数のキーオブジェクトが表示されている。
キーオブジェクトのそれぞれは、複数の文字と対応付けられている。スマートフォン1は、所定の時間よりも短い間隔でキーオブジェクトへのタッチを検出すると、検出したタッチの回数に応じて、複数の文字のいずれかを入力候補文字とする。所定の時間は、例えば、1〜2秒である。
例えば、キーオブジェクト31aの表示領域には、「ABC」というラベルが表示されている。「ABC」というラベルは、キーオブジェクト31aに、「A」、「B」及び「C」が、この順序で対応付けられており、キーオブジェクト31aへのタッチを検出した回数に応じて、この順序で入力候補文字となることを示している。入力文字候補は、循環的に選択される。すなわち、「C」が入力候補文字となった後にキーオブジェクト31aへのタッチが検出されると、「A」が入力候補文字となる。キーボード領域31に表示されている他のキーオブジェクトも同様に、複数の文字が対応付けられている。
スマートフォン1は、ステップS12に示すように、指Fによる、キーオブジェクト31aに対する1回目のタッチを検出すると、キーオブジェクト31aに対応付けられている複数の文字のうち、順序が一番前の文字である「A」を、入力文字表示領域30に表示する。このとき、「A」の下には、アンダーバー30aが表示される。アンダーバー30aは、対応する文字が未確定であること、すなわち、対応する文字が現在の入力候補文字であることを示す。
ステップS12において、円Sは、利用者が意識的に見ている範囲を示す。利用者は、間違えずにキーオブジェクト31aをタッチしようとしているため、円Sは、キーオブジェクトを中心とする比較的狭い範囲となっている。この場面では、入力文字表示領域30は、円Sの範囲外にある。このため、利用者は、視線を移動させないと、どの文字が入力候補文字となっているかを確認するために入力文字表示領域30を見ることができない。
そこで、スマートフォン1は、キーオブジェクト31aの表示領域に、ラベルに代えて、入力候補文字である「A」を表示する。
さらに、スマートフォン1は、ステップS13に示すように、キーオブジェクト31aの近傍に、バルーンBを表示する。バルーンBは、入力候補文字である「A」を含んでいる。バルーンBは、キーオブジェクト31aの近傍に表示されているので、円Sの範囲内にある。このため、利用者は、視線を動かすことなく、現在の入力候補文字が「A」であることを確認することができる。
ステップS14では、1回目のタッチが完了したため、利用者が、指Fをタッチスクリーンディスプレイ2からリリースしている。このとき、キーオブジェクト31aは円Sの範囲内にあるので、利用者は、キーオブジェクト31aの表示領域に表示された「A」を見ることができる。このため、利用者は、キーオブジェクト31aの表示領域の表示によっても、視線を動かすことなく、現在の入力候補文字が「A」であることを確認することができる。ステップS14では、スマートフォン1は、指Fのリリースを検出したため、バルーンBの表示を解除している。
その後、スマートフォン1は、ステップS15に示すように、指Fによる、キーオブジェクト31aに対する2回目のタッチを検出すると、直前にタッチされたキーオブジェクト31aと同一のキーオブジェクトに対するタッチであると判定する。そして、スマートフォン1は、順序が「A」の次の文字である「B」を、入力文字表示領域30に表示する。このとき、入力文字表示領域30の「B」の下には、アンダーバー30aが表示される。アンダーバー30aは、対応する文字が未確定であること、すなわち、対応する文字が現在の入力候補文字であることを示す。
ステップS15において、入力文字表示領域30は円Sの範囲外にある。このため、利用者は、視線を移動させないと、どの文字が入力候補文字となっているかを確認するために入力文字表示領域30を見ることができない。
そこで、スマートフォン1は、キーオブジェクト31aの表示領域に、ラベルに代えて、入力候補文字である「B」を表示する。
さらに、スマートフォン1は、ステップS16に示すように、キーオブジェクト31aの近傍に、バルーンBを表示する。バルーンBは、入力候補文字である「B」を含んでいる。バルーンBは、キーオブジェクト31aの近傍に表示されているので、円Sの範囲内にある。このため、利用者は、視線を動かすことなく、現在の入力候補文字が「B」であることを確認することができる。
ステップS17では、2回目のタッチが完了したため、利用者が、指Fをタッチスクリーンディスプレイ2からリリースしている。このとき、キーオブジェクト31aは円Sの範囲内にあるので、利用者は、キーオブジェクト31aの表示領域に表示された「B」を見ることができる。このため、利用者は、キーオブジェクト31aの表示領域の表示によっても、視線を動かすことなく、現在の入力候補文字が「B」であることを確認することができる。ステップS17では、スマートフォン1は、指Fのリリースを検出したため、バルーンBの表示を解除している。
その後、所定の条件が満たされると、スマートフォン1は、入力候補文字を入力が確定した文字として受け付けるための入力文字確定処理を行う。所定の条件とは、例えば、入力候補文字に対応するキーオブジェクトのタッチを検出してから所定の時間が経過すること、入力候補文字に対応するキーオブジェクトからのリリースを検出してから所定の時間が経過すること、入力候補文字に対応するキーオブジェクトの表示領域以外の領域へのタッチを検出すること、入力文字確定処理の実行を指示する操作を検出すること等である。
スマートフォン1は、入力文字確定処理において、ステップS18に示すように、入力候補文字の下に表示されていたアンダーバー30aを消去する。
さらに、スマートフォン1は、入力文字確定処理において、入力候補文字を入力が確定した文字として受け付けたことを、エフェクト表示によって利用者に対して報知する。エフェクト表示は、例えば、ステップS18に示すように、キーオブジェクトの表示領域の周囲を囲む星形の図形31bを表示することで行われる。エフェクト表示は、キーオブジェクトの表示領域を中心にして星型の図形31bの面積が徐々に広がるように変化するように表示することで行われてもよい。キーオブジェクトの表示領域の周囲を囲む図形は、星型に限定されず、円形、三角形、矩形、多角形など、どのような図形でもよい。エフェクト表示は、キーオブジェクトの色、大きさ、輝度、形状等を変更することで行われてもよい。
スマートフォン1は、入力文字確定処理を行った後、ステップS19に示すように、キーオブジェクト31aの領域の表示を元に戻す。
図6を参照しながら、スマートフォン1による文字入力処理の処理手順について説明する。図6は、スマートフォンによる文字入力処理の処理手順を示すフローチャートである。図6に示す処理手順は、コントローラ10が、制御プログラム9Aを実行することによって実現される。図6に示す処理手順は、文字入力を受け付けるためのキーオブジェクトへの操作がなされた場合に実行される。コントローラ10は、図6に示す処理手順と並行して、他の処理手順を実行することがある。
コントローラ10は、ステップS101として、キーオブジェクトに対するタッチを検出したら、ステップS102として、キーオブジェクトの表示を更新する。具体的には、コントローラ10は、キーオブジェクトに対応付けられている複数の文字のうち、順序が一番前の文字を入力候補文字に選択し、入力候補文字をキーオブジェクトの表示領域に表示する。さらに、コントローラ10は、ステップS103として、キーオブジェクトの近傍にバルーンBを表示する。バルーンBには、入力候補文字が含まれる。
続いて、コントローラ10は、ステップS104として、キーボード領域31のいずれかのキーオブジェクトがタッチされたことを検出したら、ステップS105として、タッチされたキーオブジェクトが直前にタッチされたキーオブジェクトと同一であるかを判定する。タッチされたキーオブジェクトが直前にタッチされたキーオブジェクトと同一である場合(ステップS105,Yes)、コントローラ10は、ステップS106に進む。
コントローラ10は、ステップS106として、入力候補文字を、キーオブジェクトに対応付けられている複数の文字のうち、順序が次の文字に変更する。そして、コントローラ10は、ステップS107として、キーオブジェクトの表示を更新する。具体的には、コントローラ10は、新たな入力候補文字をキーオブジェクトの表示領域に表示する。さらに、コントローラ10は、ステップS108として、キーオブジェクトの近傍にバルーンBを表示する。バルーンBには、新たな入力候補文字が含まれる。
続いて、コントローラ10は、ステップS109として、所定の条件が満たされたかを判定する。所定の条件が満たされていない場合(ステップS109,No)、コントローラ10は、ステップS104に戻る。
所定の条件が満たされている場合(ステップS109,Yes)、ステップS110に進む。コントローラ10は、ステップS110として、入力文字確定処理を行う。入力文字確定処理において、コントローラ10は、入力候補文字を入力が確定した文字として受け付けたことを、エフェクト表示によって利用者に対して報知する。
その後、コントローラ10は、ステップS111として、文字入力処理を終了するか判定する。例えば、コントローラ10は、キーオブジェクトが非表示になった場合、又はディスプレイ2Aに表示されている画面が他の画面に切り替わった場合に、文字入力処理を終了すると判定する。文字入力処理を終了しない場合(ステップS111,No)、コントローラ10は、ステップS101に戻る。文字入力処理を終了する場合(ステップS111,Yes)、コントローラ10は、図6に示す処理手順を終了する。
ステップS104にてタッチされたキーオブジェクトが直前にタッチされたキーオブジェクトと同一でない場合(ステップS105,No)、コントローラ10は、ステップS112に進む。コントローラ10は、ステップS112として、入力文字確定処理を行う。
続いて、コントローラ10は、ステップS113として、キーオブジェクトの表示を更新する。具体的には、コントローラ10は、ステップS104にてタッチされたキーオブジェクトに対応付けられている複数の文字のうち、順序が一番前の文字を入力候補文字に選択し、入力候補文字をキーオブジェクトの表示領域に表示する。さらに、コントローラ10は、ステップS114として、キーオブジェクトの近傍にバルーンBを表示する。バルーンBには、入力候補文字が含まれる。そして、コントローラ10は、ステップS104に戻る。
上記の実施形態によれば、スマートフォン1は、キーオブジェクトの表示領域及びその近傍に、入力候補文字を表示する。これにより、利用者は、視線を動かすことなく、現在の入力候補文字を確認することができる。
さらに、上記の実施形態によれば、入力文字確定処理を行う場合に、確定した文字に対応するキーオブジェクトの表示領域又はその近傍でエフェクト表示を行う。これにより、利用者は、視線を動かすことなく、入力候補文字が、入力が確定した文字となったことを確認することができる。
さらに、上記の実施形態によれば、入力文字確定処理が行われた場合に、それまで入力候補文字が表示されていたキーオブジェクトの表示領域に元のラベルが表示される。入力文字確定処理が行われる場合には、または他のキーオブジェクトへのタッチが検出された場合が含まれる。これにより、利用者は、ラベルに基づいて、どのキーオブジェクトにどの文字が対応付けられているかを把握できるので、次の文字の入力を容易に行うことができる。
本出願の開示する実施形態は、発明の要旨及び範囲を逸脱しない範囲で変更することができる。さらに、本出願の開示する実施形態及びその変形例は、適宜組み合わせることができる。例えば、上記の実施形態は、以下のように変形してもよい。
例えば、図4に示した各プログラムは、複数のモジュールに分割されていてもよい。あるいは、図4に示した各プログラムは、他のプログラムと結合されていてもよい。
上記の実施形態ではアルファベットを入力する場合について説明したが、上記の文字入力処理の処理手順は、アルファベット以外の文字を入力する場合にも適用できる。アルファベット以外の文字には、例えば、数字、記号、日本語のひらがな又はカタカナ、他の言語の文字が含まれる。
図7を参照しながら、入力する文字が日本語のひらがなである場合の例について説明する。図7は、スマートフォンが行う制御の例を示す図である。スマートフォン1は、ステップS21に示すように、文字入力画面をタッチスクリーンディスプレイ2に表示する。
図7に示す文字入力画面は、入力文字表示領域30と、キーボード領域31とを含む。入力文字表示領域30は、入力された文字を表示する。入力された文字は、入力が確定した文字と、入力候補文字とを含む。キーボード領域31は、文字入力を受け付けるための領域である。キーボード領域31には、複数のキーオブジェクトが表示されている。
キーオブジェクトのそれぞれは、複数の文字と対応付けられている。スマートフォン1は、所定の時間よりも短い間隔でキーオブジェクトへのタッチを検出すると、検出したタッチの回数に応じて、複数の文字のいずれかを入力候補文字とする。
例えば、キーオブジェクト31aの表示領域には、「か行」というラベルが表示されている。「か行」というラベルは、キーオブジェクト31aに、「か」、「き」、「く」、「け」及び「こ」が、この順序で対応付けられており、キーオブジェクト31aへのタッチを検出した回数に応じて、この順序で入力候補文字となることを示している。キーボード領域31に表示されている他のキーオブジェクトも同様に、複数の文字が対応付けられている。
スマートフォン1は、ステップS22に示すように、指Fによる、キーオブジェクト31aに対する1回目のタッチを検出すると、キーオブジェクト31aに対応付けられている複数の文字のうち、順序が一番前の文字である「か」を、入力文字表示領域30に表示する。このとき、「か」の下には、アンダーバー30aが表示される。アンダーバー30aは、対応する文字が未確定であること、すなわち、対応する文字が現在の入力候補文字であることを示す。
ステップS22において、円Sは、利用者が意識的に見ている範囲を示す。利用者は、間違えずにキーオブジェクト31aをタッチしようとしているため、円Sは、キーオブジェクトを中心とする比較的狭い範囲となっている。この場面では、入力文字表示領域30は、円Sの範囲外にある。このため、利用者は、視線を移動させないと、どの文字が入力候補文字となっているかを確認するために入力文字表示領域30を見ることができない。
そこで、スマートフォン1は、キーオブジェクト31aの表示領域に、ラベルに代えて、入力候補文字である「か」を表示する。
さらに、スマートフォン1は、ステップS23に示すように、キーオブジェクト31aの近傍に、バルーンBを表示する。バルーンBは、入力候補文字である「か」を含んでいる。バルーンBは、キーオブジェクト31aの近傍に表示されているので、円Sの範囲内にある。このため、利用者は、視線を動かすことなく、現在の入力候補文字が「か」であることを確認することができる。
ステップS24では、1回目のタッチが完了したため、利用者が、指Fをタッチスクリーンディスプレイ2からリリースしている。このとき、キーオブジェクト31aは円Sの範囲内にあるので、利用者は、キーオブジェクト31aの表示領域に表示された「か」を見ることができる。このため、利用者は、キーオブジェクト31aの表示領域の表示によっても、視線を動かすことなく、現在の入力候補文字が「か」であることを確認することができる。ステップS24では、スマートフォン1は、指Fのリリースを検出したため、バルーンBの表示を解除している。
その後、スマートフォン1は、ステップS25に示すように、指Fによる、キーオブジェクト31aに対する2回目のタッチを検出すると、順序が「か」の次の文字である「き」を、入力文字表示領域30に表示する。このとき、入力文字表示領域30の「き」の下には、アンダーバー30aが表示される。アンダーバー30aは、対応する文字が未確定であること、すなわち、対応する文字が現在の入力候補文字であることを示す。
ステップS25において、入力文字表示領域30は円Sの範囲外にある。このため、利用者は、視線を移動させないと、どの文字が入力候補文字となっているかを確認するために入力文字表示領域30を見ることができない。
そこで、スマートフォン1は、キーオブジェクト31aの表示領域に、ラベルに代えて、入力候補文字である「き」を表示する。
さらに、スマートフォン1は、ステップS26に示すように、キーオブジェクト31aの近傍に、バルーンBを表示する。バルーンBは、入力候補文字である「き」を含んでいる。バルーンBは、キーオブジェクト31aの近傍に表示されているので、円Sの範囲内にある。このため、利用者は、視線を動かすことなく、現在の入力候補文字が「き」であることを確認することができる。
ステップS27では、2回目のタッチが完了したため、利用者が、指Fをタッチスクリーンディスプレイ2からリリースしている。このとき、キーオブジェクト31aは円Sの範囲内にあるので、利用者は、キーオブジェクト31aの表示領域に表示された「き」を見ることができる。このため、利用者は、キーオブジェクト31aの表示領域の表示によっても、視線を動かすことなく、現在の入力候補文字が「き」であることを確認することができる。ステップS27では、スマートフォン1は、指Fのリリースを検出したため、バルーンBの表示を解除している。
その後、所定の条件が満たされると、スマートフォン1は、入力候補文字を入力が確定した文字とするための入力文字確定処理を行う。スマートフォン1は、入力文字確定処理において、ステップS28に示すように、入力候補文字の下に表示されていたアンダーバー30aを消去する。
さらに、スマートフォン1は、入力文字確定処理において、ステップS28に示すように、入力文字確定処理を行ったことを、エフェクト表示によって利用者に対して報知する。スマートフォン1は、入力文字確定処理を行った後、ステップS29に示すように、キーオブジェクト31aの表示を元に戻す。
上記の実施形態では、スマートフォン1は、入力候補文字を入力が確定した文字として受け付けたことを報知するためにエフェクト表示を行うが、報知の仕方はこれに限定されない。例えば、スマートフォン1は、入力候補文字を入力が確定した文字として受け付けたことを報知するために、スピーカから音を出力したり、ハウジングを振動させたりしてもよい。例えば、スマートフォン1は、入力候補文字を入力が確定した文字として受け付けたことを報知するために、複数の報知の仕方を組み合わせてもよい。報知の仕方は、利用者の設定によって変更できてもよい。
エフェクト表示を行うことは必須ではなく、スマートフォン1は、エフェクト表示を行わなくてもよい。
上記の実施形態では、スマートフォン1は、キーオブジェクトの表示領域に入力候補文字を表示するとともに、キーオブジェクトの近傍にバルーンによって入力候補文字を表示するが、入力候補文字の表示の仕方はこれに限定されない。例えば、スマートフォン1は、キーオブジェクトの表示領域への表示とバルーンによる表示とのいずれか一方を行ってもよい。キーオブジェクトの表示領域への表示タイミングとバルーンによる表示タイミングとは同時であってもよいし、同時でなくてもよい。
図5のステップS14及びS17、並びに、図7のステップS24及びS27では、スマートフォン1は、指Fのリリースを検出したときに、バルーンBの表示を解除しているが、バルーンを表示したままにしてもよい。バルーンを表示したままにすれば、利用者は引き続き、視線を動かすことなく、現在の入力候補文字を確認することができる。
スマートフォン1は、キーオブジェクトの表示領域への表示とバルーンによる表示とのいずれか一方又は両方を、所定時間経過後に解除してもよい。
上記の実施形態では、スマートフォン1は、キーオブジェクトの表示領域及びその近傍に、現在の入力候補文字を表示するが、表示する文字はこれに限定されない。スマートフォン1は、キーオブジェクトに対応付けられた文字のうち、順序が入力候補文字の次の文字をさらに表示してもよい。
例えば、スマートフォン1は、図5のステップS13においてバルーンBで「A」を表示しているが、順序が次の「B」をさらにバルーンBに表示してもよい。例えば、スマートフォン1は、「A→B」をバルーンに表示してもよい。あるいは、スマートフォン1は、「A」よりも「B」を小さくして、「AB」をバルーンに表示してもよい。図5のステップS14のキーオブジェクト31aの表示領域についても同様に、スマートフォン1は、順序が次の文字を、さらに表示してもよい。
あるいは、スマートフォン1は、現在の入力候補文字をバルーンで表示し、順序が次の文字をキーオブジェクト31aの表示領域に表示してもよい。つまり、スマートフォン1は、キーオブジェクト31aの表示領域の表示と、バルーンで表示を異ならせてもよい。
上記の実施形態では、スマートフォン1は、キーオブジェクトに対応付けられた複数の文字のうち、キーオブジェクトに対するタッチを検出した回数に応じた文字を、入力候補文字として表示するが、入力候補文字を切り替える基準はこれに限定されない。例えば、スマートフォン1は、キーオブジェクトに対するタッチの継続時間に応じた文字を、入力候補文字として表示してもよい。つまり、スマートフォン1は、利用者によりキーオブジェクトがタッチされている時間を測定し、タッチされている時間に応じた文字を入力候補文字として表示してもよい。
例えば、スマートフォン1は、キーオブジェクトに対するタッチが検出されたら時間のカウントを開始し、1秒以内にリリースが検出されれば、入力候補文字を次の文字に変更する。つまり、スマートフォン1は、現在の入力候補文字を基準として、順序が次の文字を入力候補文字とする。1秒以内ではなく、2秒以内にリリースが検出されれば、スマートフォン1は、現在の入力候補文字を基準として、順序が次の次の文字を入力候補文字とする。以下同様に、スマートフォン1は、タッチの継続時間に応じた文字を入力候補文字とする。
上記の実施形態では、スマートフォン1は、キーオブジェクトに対するタッチを検出すると、入力候補文字を変更するが、入力候補文字を切り替える操作はこれに限定されない。例えば、スマートフォン1は、キーオブジェクトに対するタッチを検出した後にリリースを検出したときに、入力候補文字を変更してもよい。あるいは、スマートフォン1は、キーオブジェクトの表示領域においてフリックを検出したときに、入力候補文字を変更してもよい。この場合、スマートフォン1は、検出したフリックの方向に応じて、入力候補文字を変更してもよい。
上記の実施形態では、タッチスクリーンを備える装置の例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、スマートフォン以外の携帯電子機器であってもよい。携帯電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機を含むが、これらに限定されない。添付の請求項に係る装置は、据え置き型の電子機器であってもよい。据え置き型の電子機器は、例えば、デスクトップパソコン、自動預入支払機(ATM)、及びテレビ受像器を含むが、これらに限定されない。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。