本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明する。
(実施形態)
図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は、カメラ13をバックフェイス1Bに有する。スマートフォン1は、ボタン3D〜3Fと、コネクタ14とをサイドフェイス1Cに有する。以下では、ボタン3A〜3Fを、どのボタンであるかを特定することなく、ボタン3と総称することがある。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、液晶ディスプレイ(Liquid Crystal Display)、有機ELパネル(Organic Electro−Luminescence panel)、又は無機ELパネル(Inorganic Electro−Luminescence panel)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、又はスタイラスペン等がタッチスクリーン2Bに接触した位置を検出することができる。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下では、説明を簡単にするため、タッチスクリーン2Bが接触を検出する指、又はスタイラスペン等は、単に「指」ということがある。
スマートフォン1は、タッチスクリーン2Bにより検出された接触、接触が行われた位置、接触が行われた時間、又は接触が行われた回数に基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーンディスプレイ2に対して行われる操作である。スマートフォン1によって判別されるジェスチャには、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、ピンチアウト等が含まれる。
タッチは、タッチスクリーン2Bに指が触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が接触するジェスチャをタッチとして判別する。ロングタッチとは、タッチスクリーン2Bに指が一定時間以上触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が一定時間以上接触するジェスチャをロングタッチとして判別する。
リリースは、指がタッチスクリーン2Bから離れるジェスチャである。スマートフォン1は、指がタッチスクリーン2Bから離れるジェスチャをリリースとして判別する。スワイプは、指がタッチスクリーンディスプレイ2上に接触したままで移動するジェスチャである。スマートフォン1は、指がタッチスクリーンディスプレイ2上に接触したままで移動するジェスチャをスワイプとして判別する。
タップは、タッチに続いてリリースをするジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャをタップとして判別する。ダブルタップは、タッチに続いてリリースをするジェスチャが2回連続するジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャをダブルタップとして判別する。
ロングタップは、ロングタッチに続いてリリースをするジェスチャである。スマートフォン1は、ロングタッチに続いてリリースをするジェスチャをロングタップとして判別する。ドラッグは、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャである。スマートフォン1は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャをドラッグとして判別する。
フリックは、タッチに続いて指が一方方向へ高速で移動しながらリリースするジェスチャである。スマートフォン1は、タッチに続いて指が一方方向へ高速で移動しながらリリースするジェスチャをフリックとして判別する。フリックは、指が画面の上方向へ移動する上フリック、指が画面の下方向へ移動する下フリック、指が画面の右方向へ移動する右フリック、指が画面の左方向へ移動する左フリック等を含む。
ピンチインは、複数の指が近付く方向にスワイプするジェスチャである。スマートフォン1は、複数の指が近付く方向にスワイプするジェスチャをピンチインとして判別する。ピンチアウトは、複数の指が遠ざかる方向にスワイプするジェスチャである。スマートフォン1は、複数の指が遠ざかる方向にスワイプするジェスチャをピンチアウトとして判別する。
スマートフォン1は、タッチスクリーン2Bを介して判別するこれらのジェスチャに従って動作を行う。したがって、利用者にとって直感的で使いやすい操作性が実現される。判別されるジェスチャに従ってスマートフォン1が行う動作は、タッチスクリーンディスプレイ2に表示されている画面に応じて異なる。
図4および図5を参照しながら、ディスプレイ2Aに表示される画面の例について説明する。まず、図4を参照しながら、ホーム画面の例について説明する。図4は、ホーム画面の一例を示している。ホーム画面は、デスクトップ、又は待受画面と呼ばれることもある。ホーム画面は、ディスプレイ2Aに表示される。ホーム画面は、スマートフォン1にインストールされているアプリケーションのうち、どのアプリケーションを実行するかを利用者に選択させる画面である。スマートフォン1は、ホーム画面で選択されたアプリケーションをフォアグランドで実行する。フォアグランドで実行されるアプリケーションの画面は、ディスプレイ2Aに表示される。
スマートフォン1は、ホーム画面にアイコンを配置することができる。図4に示すホーム画面40には、複数のアイコン50が配置されている。それぞれのアイコン50は、スマートフォン1にインストールされているアプリケーションと予め対応付けられている。スマートフォン1は、アイコン50に対するジェスチャを検出すると、そのアイコン50に対応付けられているアプリケーションを実行する。例えば、スマートフォン1は、メールアプリケーションに対応付けられたアイコン50に対するタップが検出されると、メールアプリケーションを実行する。また、スマートフォン1は、文字入力アプリケーションに対応付けられたアイコン50に対するタップが検出されると、文字入力アプリケーションを実行する。
アイコン50は、画像と文字列を含む。アイコン50は、画像に代えて、記号又は図形を含んでもよい。アイコン50は、画像又は文字列のいずれか一方を含まなくてもよい。アイコン50は、所定の配置パターンに従って配置される。アイコン50の背後には、壁紙41が表示される。壁紙は、フォトスクリーン又はバックスクリーンと呼ばれることもある。スマートフォン1は、任意の画像を壁紙41として用いることができる。例えば、利用者の設定に従って任意の画像が壁紙41として決定される。
スマートフォン1は、ホーム画面の数を増減することができる。スマートフォン1は、例えば、ホーム画面の数を利用者による設定に従って決定する。スマートフォン1は、ホーム画面の数が複数であっても、選択された1つをディスプレイ2Aに表示する。
スマートフォン1は、ホーム画面上に、1つ又は複数のロケータを表示する。ロケータの数は、ホーム画面の数と一致する。ロケータは、現在表示されているホーム画面の位置を示す。現在表示されているホーム画面に対応するロケータは、他のロケータと異なる態様で表示される。
図4に示す例では、4つのロケータ51が表示されている。これは、ホーム画面40の数が4つであることを示す。また、図4に示す例では、左から2番目のシンボルが他のシンボルと異なる態様で表示されている。これは、左から2番目のホーム画面が現在表示されていることを示している。
スマートフォン1は、ホーム画面を表示中に特定のジェスチャを検出すると、ディスプレイ2Aに表示するホーム画面を切り替える。例えば、スマートフォン1は、右フリックを検出すると、ディスプレイ2Aに表示するホーム画面を1つ左のホーム画面に切り替える。また、スマートフォン1は、左フリックを検出すると、ディスプレイ2Aに表示するホーム画面を1つ右のホーム画面に切り替える。
ディスプレイ2Aの上端には、領域42が設けられている。領域42には、充電池の残量を示す残量マーク43、及び通信用の電波の電界強度を示す電波レベルマーク44が表示される。スマートフォン1は、領域42に、現在時刻、天気の情報、実行中のアプリケーション、通信システムの種別、電話のステータス、装置のモード、装置に生じたイベント等を表示してもよい。このように、領域42は、利用者に対して各種の通知を行うために用いられる。領域42は、ホーム画面40以外の画面でも設けられることがある。領域42が設けられる位置は、ディスプレイ2Aの上端に限られない。
なお、図4に示したホーム画面40は、一例であり、各種の要素の形態、各種の要素の配置、ホーム画面40の数、及びホーム画面40での各種の操作の仕方等は上記の説明の通りでなくてもよい。
次に、図5を参照して、ロック画面の例について説明する。図5は、ロック画面の一例を示している。ロック画面は、ロック状態が設定されている間、つまりロック状態の設定がONになっている間、ディスプレイ2Aに表示される。ロック画面60は、ロック状態が設定されていることを示す画面である。ロック画面60は、予め設定されたロック解除のジェスチャを検出すると他の画面に移行する画面である。つまり、ロック画面60は、予め設定されたジェスチャ以外のジェスチャが無効とされる画面である。スマートフォン1は、ロック画面において予め設定されたロック解除のジェスチャが検出されるまで、種々の操作ができない状態となる。
図5に示すロック画面60は、壁紙61上に日時画像62と、キーアイコン64と、アプリアイコン68a、68bと、が配置されている。ロック画面60は、ディスプレイ2Aの上端にホーム画面40の領域42と同一の領域42が配置されている。ロック画面60は、領域42に充電池の残量を示す残量マーク43、及び通信用の電波の電界強度を示す電波レベルマーク44が表示される。壁紙61は、日時画像62と、キーアイコン64と、アプリアイコン68a、68bと、の背後に表示されている。
日時画像62は、時刻および日付を示す画像であり、ロック画面60の上部で領域42の下側となる領域に表示されている。図5に示す日時画像62は、時刻を示す状態表示が午後12時34分を示す「12:34PM」であり、日付を示す状態表示が8月22日を示す「Aug.22」である。
キーアイコン64は、キーを模した画像であり、画面の略中央部分に表示されている。利用者がキーアイコン64をフリックすることにより、ロックが解除される。スマートフォン1は、キーアイコン64に対するフリックが検出されると、ロック状態を解除し、ディスプレイ2Aにホーム画面40を表示させる。
アプリアイコン68a、68bは、画面の略下部分に表示されている。アプリアイコン68a、68bはそれぞれ、スマートフォン1にインストールされているアプリケーションと対応付けられている。スマートフォン1は、アプリアイコン68a、68bに対するフリックが検出されると、そのアプリアイコン68a、68bに対応付けられているアプリケーションを実行する。
図5に示す例において、アプリアイコン68aは、文字入力アプリケーションと対応付けられている。アプリアイコン68bは、音量調節アプリケーションと対応付けられている。アプリアイコン68a、68bは、対応しているアプリケーションを示す画像を含む。アプリアイコン68a、68bは、アイコン50と同様に画像と文字を含んでもよく、画像に代えて、記号又は図形を含んでもよい。アプリアイコン68a、68bは、画像を備えず文字列のみとした構成としてもよい。
なお、図5に示したロック画面60は、一例であり、各種の要素の形態、各種の要素の配置、及びロック画面60での各種の操作の仕方等は上記の説明の通りでなくてもよい。
図6は、スマートフォン1の構成を示すブロック図である。スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。タッチスクリーン2Bは、接触を検出する。コントローラ10は、スマートフォン1に対するジェスチャを検出する。コントローラ10は、タッチスクリーン2Bと協働することによって、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する操作(ジェスチャ)を検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Fを有する。コントローラ10はボタン3と協働することによってボタンに対する操作を検出する。ボタンに対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、プッシュ、及びマルチプッシュである。
例えば、ボタン3A〜3Cは、ホームボタン、バックボタンまたはメニューボタンである。例えば、ボタン3Dは、スマートフォン1のパワーオン/オフボタンである。ボタン3Dは、スリープ/スリープ解除ボタンを兼ねてもよい。例えば、ボタン3E及び3Fは、音量ボタンである。
例えば、ボタン3Aがバックボタン、ボタン3Bがホームボタン、ボタン3Cがメニューボタンである場合、スマートフォン1は、ボタン3Cに対する操作が検出されると、アプリケーションのメニューを表示する。スマートフォン1は、当該メニューからメールアプリケーション等のアプリケーションを選択する操作が検出されると、対応するアプリケーションを実行する。スマートフォン1は、実行されたアプリケーションを画面に表示している状態で、ボタン3Bに対する操作が検出されると、バックグランドでアプリケーションの実行状態を保持したまま、当該アプリケーションの表示を解除する。スマートフォン1は、かかる状態で再度、ボタン3Cに対する操作が検出され、同じアプリケーションを選択する操作が検出されると、バックグランドで保持された実行状態のままアプリケーションをフォアグランドで実行して、当該アプリケーションを画面に表示する。また、スマートフォン1は、実行されたアプリケーションを画面に表示している状態でボタン3Aに対する操作が検出されると、アプリケーションの実行を終了して、当該アプリケーションの表示を解除する。スマートフォン1は、かかる状態で再度、ボタン3Cに対する操作が検出され、同じアプリケーションが選択される操作が検出されると、最初からアプリケーションを実行して、実行されたアプリケーションを画面に表示する。
照度センサ4は、照度を検出する。例えば、照度とは、光の強さ、明るさ、輝度等である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、例えば、タッチスクリーンディスプレイ2が顔に近付けられたことを検出する。
通信ユニット6は、無線により通信する。通信ユニット6によって行われる通信方式は、無線通信規格である。例えば、無線通信規格として、2G、3G、4G等のセルラーフォンの通信規格がある。例えば、セルラーフォンの通信規格として、LTE(Long Term Evolution)、W−CDMA、CDMA2000、PDC、GSM(登録商標)、PHS(Personal Handy−phone System)等がある。例えば、無線通信規格として、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA、NFC等がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
レシーバ7は、コントローラ10から送信される音声信号を音声として出力する。マイク8は、利用者等の音声を音声信号へ変換してコントローラ10へ送信する。なお、スマートフォン1は、レシーバ7に加えて、スピーカをさらに有してもよい。スマートフォン1は、レシーバ7に代えて、スピーカをさらに有してもよい。
ストレージ9は、プログラム及びデータを記憶する。また、ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶デバイス、及び磁気記憶デバイス等の任意の記憶デバイスを含んでよい。また、ストレージ9は、複数の種類の記憶デバイスを含んでよい。また、ストレージ9は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに所定の画面を表示させ、タッチスクリーン2Bを介して検出されるジェスチャに応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、メールアプリケーション9B、ブラウザアプリケーション9C、電話帳アプリケーション9D、文字入力画面制御アプリケーション9E、編集画面制御アプリケーション9F、ソフトキー表示制御アプリケーション9G、電話帳データ9H、文字入力画面データ9I、編集画面データ9J、ソフトキーデータ9K、ソフトキー配置情報ファイル9L、ステータス情報ファイル9M、および、設定データ9Zを記憶する。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている画面を変更する等の各種制御を行う機能が含まれる。なお、制御プログラム9Aが提供する機能は、メールアプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
メールアプリケーション9Bは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。電話帳アプリケーション9Dは、電話帳の閲覧、検索、登録、および削除等のための電話帳機能を提供する。文字入力画面制御アプリケーション9Eは、文字入力機能を実現する文字入力画面を制御するための各種機能を提供する。文字入力画面制御アプリケーション9Eは、文字入力アプリケーションを実現する文字入力画面を制御するための各種機能を提供する。文字入力画面は、利用者により文字入力アプリケーションを実行するための操作が入力されて、文字入力アプリケーションが実行された際に表示される画面である。文字入力アプリケーションを実行するための操作は、ボタン3に対するクリックあるいはホーム画面またはロック画面等に表示された所定のアイコンへのタッチ等を含む。文字入力画面は、入力された文字を表示するための入力文字表示領域と、アプリケーションの実行が対応付けられた複数のソフトキーオブジェクトを列状に配置し、列状に配置した複数のソフトキーオブジェクトの一部を表示するためのソフトキー表示領域と、文字を入力するためのキーボード領域とを含む。アプリケーションの実行は、文字入力画面上で入力された文字と連携可能なアプリケーションの実行、および、当該アプリケーションで実行可能な処理の実行を含む。文字入力画面制御アプリケーション9Eは、文字入力画面中のキーボード領域内で検出された文字入力操作に基づいて、入力された文字を文字入力画面中の入力文字表示領域に表示させる機能等を提供する。
編集画面制御アプリケーション9Fは、文字入力画面上に表示されるソフトキーオブジェクトの編集機能を実現する編集画面を制御するための各種機能を提供する。編集画面は、文字入力画面に含まれる複数のソフトキーオブジェクトにそれぞれ対応する複数のソフトキーオブジェクトを含む。編集画面は、文字入力画面と同様に、複数のソフトキーオブジェクトを列状に配置し、列状に配置した複数のソフトキーオブジェクトの一部を表示するためのソフトキー表示領域を含む。ソフトキー表示制御アプリケーション9Gは、ソフトキーオブジェクトを表示するためのソフトキー表示機能を提供する。ソフトキー表示制御アプリケーション9Gは、文字入力画面および編集画面中のソフトキー表示領域内にソフトキーオブジェクトを表示する機能、文字入力画面に含まれるソフトキーオブジェクトに対応付けられたアプリケーションを実行する機能、および、文字入力画面および編集画面中のソフトキー表示領域内に表示されるソフトキーオブジェクトの構成を変更する機能等を提供する。ソフトキー表示制御アプリケーション9Gは、編集画面上で実行された編集処理の実行結果を、編集画面に含まれるソフトキーオブジェクトおよび文字入力画面に含まれるソフトキーオブジェクトに反映させる機能を提供する。編集処理は、文字入力画面上に表示されるソフトキーオブジェクトの追加、削除および並び替えの少なくとも一つを含む。
電話帳データ9Hは、電話帳アプリケーション9Dを実行する際に使用する、登録された氏名、電話番号、メールアドレス等のデータを含む。文字入力画面データ9Iは、文字入力画面制御アプリケーション9Eを実行して表示する各種文字データおよび画像データを含む。文字入力画面データ9Iは、入力文字表示領域に表示する文字データおよびキーボード領域に表示するキーボードオブジェクトの画像データ等を含む。編集画面データ9Jは、編集画面制御アプリケーション9Fを実行して表示する各種文字データおよび画像データを含む。ソフトキーデータ9Kは、ソフトキー表示制御アプリケーション9Gを実行して表示する各種文字データまたは画像データを含む。ソフトキーデータ9Kは、ソフトキーオブジェクトがどのアプリケーションに対応付けられているかを示す文字データおよび画像データ等を含む。
ソフトキー配置情報ファイル9Lは、文字入力画面および編集画面上のソフトキー表示領域内に表示されるソフトキーオブジェクトの配置情報を記憶する配置情報記憶手段である。配置情報は、ソフトキー表示領域内に表示されていた各ソフトキーオブジェクトの配置を示す位置データである。コントローラ10は、利用者が選択したソフトキーオブジェクトに対応するアプリケーションが実行された際にソフトキー表示領域内に表示されていた各ソフトキーオブジェクトの位置データを、ソフトキー配置情報ファイル9Lへ格納する。ステータス情報ファイル9Mは、スマートフォン1が有するアプリケーションのステータス情報を記憶するステータス情報記憶手段である。ステータス情報は、各アプリケーションの追加または削除等のステータスを示すリストデータである。コントローラ10は、各アプリケーションの追加または削除等が行われた際に、随時、ステータス情報ファイル9Mに記憶されたステータス情報を更新する。設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
コントローラ10は、例えば、CPU(Central Processing Unit)である。コントローラ10は、通信ユニット6等の他の構成要素が統合されたSoC(System−on−a−chip)等の集積回路であってもよい。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行して、ディスプレイ2A及び通信ユニット6等を制御することによって各種機能を実現する。コントローラ10は、タッチスクリーン2B、ボタン3、加速度センサ15等の各種検出部の検出結果に応じて、制御を変更することもある。
コントローラ10は、例えば、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている画面を変更する等の各種制御を実行する。
コントローラ10は、例えば、メールアプリケーション9Bを実行することにより、電子メール機能を実現する。コントローラ10は、ブラウザアプリケーション9Cを実行することにより、WEBブラウジング機能を実現する。コントローラ10は、電話帳アプリケーション9Dを実行することにより、電話帳機能を実現する。コントローラ10は、文字入力画面制御アプリケーション9Eを実行することにより、文字入力機能を実現する。コントローラ10は、文字入力画面制御アプリケーション9Eを実行することにより、文字入力画面中のキーボード領域内で検出された文字入力操作に基づいて、入力された文字を文字入力画面中の入力文字表示領域に表示させる機能等を実現する。コントローラ10は、編集画面制御アプリケーション9Fを実行することにより、文字入力画面上に表示されるソフトキーオブジェクトの編集機能を実現する。
コントローラ10は、ソフトキー表示制御アプリケーション9Gを実行することによって、ソフトキー表示機能を実現する。コントローラ10は、ソフトキー表示制御アプリケーション9Gを実行することにより、文字入力画面および編集画面中のソフトキー表示領域内にソフトキーオブジェクトを表示する機能、文字入力画面に含まれるソフトキーオブジェクトに対応付けられたアプリケーションの実行を行う機能、および、文字入力画面および編集画面中のソフトキー表示領域内に表示されるソフトキーオブジェクトの構成を変更する機能等を実現する。コントローラ10は、ソフトキー表示制御アプリケーション9Gを実行することにより、編集画面上で実行された編集処理の実行結果を、編集画面に含まれるソフトキーオブジェクトおよび文字入力画面に含まれるソフトキーオブジェクトに反映させる機能を実現する。
コントローラ10は、制御プログラム9Aによって提供されるマルチタスク機能によって、複数のアプリケーションを並行して実行する。例えば、コントローラ10は、文字入力画面制御アプリケーション9Eおよびソフトキー表示制御アプリケーション9Gを並行して実行することで、文字入力画面上の入力文字表示領域、ソフトキー表示領域、および、キーボード領域に対する処理を実行する。コントローラ10は、編集画面制御アプリケーション9Fおよびソフトキー表示制御アプリケーション9Gを並行して実行することで、編集画面上のソフトキー表示領域に対する処理を実行する。
カメラ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の位置及び姿勢の変化を検出するために、組み合わせて利用される。
なお、図6においてストレージ9が記憶することとしたプログラムの一部又は全部は、通信ユニット6による無線通信で他の装置からダウンロードされてもよい。また、図6においてストレージ9が記憶することとしたプログラムの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な記憶媒体に記憶されていてもよい。また、図6においてストレージ9が記憶することとしたプログラムの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能なCD、DVD、又はBlu−ray等の記憶媒体に記憶されていてもよい。
図6に示したスマートフォン1の構成は一例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類とは図6の例に限定されない。例えば、スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに換えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。図6に示した例では、スマートフォン1が2つのカメラを備えることとしたが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図6に示した例では、スマートフォン1が位置及び姿勢を検出するために3種類のセンサを備えることとしたが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよいし、位置及び姿勢を検出するための他の種類のセンサを備えてもよい。また、図6に示した例では、スマートフォン1が照度センサ4および近接センサ5を別個のセンサとして備えることとしたが、照度センサ4および近接センサ5は、1つのセンサから構成されていてもよい。
以下、図7から図21を参照しながら、上述のスマートフォン1のコントローラ10が実行する制御の例について説明する。最初に、図7〜図16を参照して文字入力画面制御処理の詳細を説明し、その後、図17〜図21を参照して編集画面制御処理の詳細を説明する。
[文字入力画面制御処理]
まず、図7のフローチャートに沿って適宜図8〜図12を参照し、本実施形態に係るスマートフォン1の文字入力画面制御処理について説明する。図7は、実施形態に係るスマートフォン1の文字入力画面制御処理の一例を示すフローチャートである。図7に示す処理手順は、文字入力画面制御アプリケーション9Eおよびソフトキー表示制御アプリケーション9Gが提供する機能に基づいて繰り返し実行される。また、図7に示す処理は、予め利用者によりホーム画面またはロック画面等から文字入力アプリケーションを実行するための操作が入力されて、コントローラ10が文字入力アプリケーションを実行した場合に実行される。
コントローラ10は、図7に示すように、利用者の操作により文字入力アプリケーションが実行されると、文字入力画面をディスプレイ2Aに表示させる(ステップSA−1)。このとき、コントローラ10は、アプリケーションの実行が対応付けられた複数のソフトキーオブジェクトを列状に配置し、列状に配置した複数のソフトキーオブジェクトの一部を文字入力画面中の帯状のソフトキー表示領域内に表示させる。
ここで、図8を参照して、ディスプレイ2Aに表示される文字入力画面の一例について説明する。図8は、文字入力画面の一例を示す図である。図8に示す文字入力画面30Aは、一部の文字が入力されている状態である。
図8に示すように、文字入力画面30Aは、画面上半分の略全域に入力文字列を確認するための入力文字表示領域32と、画面下半分の略全域に文字列の入力を行うためのキーボード領域34と、画面中央部に、アプリケーションの実行が対応付けられた複数のソフトキーオブジェクト36a〜36fを列状に配置し、列状に配置した複数のソフトキーオブジェクト36a〜36fの一部を表示するためのソフトキー表示領域36とを含む。ここで、入力文字表示領域32には、キーボード領域34内のキーボードオブジェクトに対する文字入力操作により入力された文字列が表示されている。入力文字表示領域32内に表示されている文字列は、「待ち合わせ↓渋谷駅しゅうご|」である。下向きの矢印記号「↓」は、改行を示し、縦棒印「|」は、カーソルを示す。キーボード領域34内のキーボードオブジェクトは、タップ、スワイプ等により操作可能とする。また、文字入力画面30Aは、ディスプレイ2Aの上端にホーム画面40の領域42と同一の領域42が配置されている。文字入力画面30Aは、領域42に充電池の残量を示す残量マーク43、及び通信用の電波の電界強度を示す電波レベルマーク44が表示される。
本実施形態において、ソフトキー表示領域36は、入力文字表示領域32とキーボード領域34との間の点線部分に示すように、左右方向へ延在する帯状の領域である。ソフトキー表示領域36には、複数のソフトキーオブジェクト36a、36b、36c、36dが表示されている。また、図8において、ソフトキーオブジェクト36eおよび36fは、ソフトキー表示領域36内に実際は表示されてない。ソフトキーオブジェクト36eおよび36fは、利用者によりソフトキー表示領域36に表示するソフトキーオブジェクトを移動させる操作が入力され、ソフトキー表示領域36に表示されるソフトキーオブジェクトがスクロールされることで表示される。本実施形態のスマートフォン1は、文字入力画面30Aのソフトキー表示領域36内で、「α」方向(第1端部側)または「β」方向(第2端部側)へのフリック等の入力が検出された場合に、未表示のソフトキーオブジェクト36eおよび36fを、ソフトキー表示領域36内に表示する。つまり、本実施形態において、ソフトキーオブジェクト36a〜36fは、ソフトキーオブジェクト36a、36b、36c、36d、36e、36fの順で列状に配置されており、利用者によりソフトキーオブジェクトを移動させる操作が入力されると、ソフトキー表示領域36内でスクロール表示される。また、ソフトキーオブジェクト36a〜36fのうち、ソフトキーオブジェクト36aとソフトキーオブジェクト36fは、仮想的に隣り合うように配置されてもよい。つまり、本実施形態において、ソフトキーオブジェクト36a〜36fは、ソフトキー表示領域36内で循環表示される配置としてもよい。ソフトキー表示領域36に対する動作については、後述する。
また、本実施形態において、ソフトキー表示領域36内に表示されるソフトキーオブジェクト36a〜36fは、文字入力機能と連携可能なアプリケーションに対応付けられている。つまり、本実施形態において、ソフトキーオブジェクト36a〜36fに夫々対応付けられたアプリケーションは、文字入力画面30A中の入力文字表示領域32に表示されている文字列を利用可能なアプリケーションである。ここで、ソフトキーオブジェクト36aは、文字列「メモ帳」を含む画像であり、テキストエディタアプリケーションを実行するためのショートカットである。ソフトキーオブジェクト36bは、文字列「メール」を含む画像であり、メールアプリケーションを実行するためのショートカットである。ソフトキーオブジェクト36cは、文字列「Web検索」を含む画像であり、所定の検索エンジンを表示するブラウザアプリケーションを実行するためのショートカットである。ソフトキーオブジェクト36dは、文字列「共有」を含む画像であり、他人と情報を共有することが可能なアプリケーションを実行するためのショートカットである。ソフトキーオブジェクト36eは、文字列「SNS」を含む画像であり、所定のソーシャルネットワークサービスサイトを表示するブラウザアプリケーションを実行するためのショートカットである。ソフトキーオブジェクト36fは、文字列「Blog」を含む画像であり、所定のブログサイトを表示するブラウザアプリケーションを実行するためのショートカットである。本実施形態において、各ソフトキーオブジェクト36a〜36fは、タップ、ロングタップ、スワイプ、フリック等により操作可能とする。ソフトキーオブジェクトは、ソフトキーオブジェクトに対応するアプリケーションに応じた画像を含んでもよい。例えば、ソフトキーオブジェクトは、種々のメールアプリケーションに対応するアイコン画像を含んでいてもよい。
図7に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、文字入力画面を表示中に、ソフトキーオブジェクトを編集するための操作が検出されたか否かを判定する(ステップSA−2)。ソフトキーオブジェクトを編集するための操作は、ボタン3に対するクリックまたは特定のソフトキーオブジェクトへのタッチ等を含む。すなわち、コントローラ10は、ボタン3に対するクリックまたは特定のソフトキーオブジェクトへのタッチの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−2でソフトキーオブジェクトを編集するための操作の入力が検出されたと判定した場合(ステップSA−2:Yes)、文字入力画面上に表示されるソフトキーオブジェクトの編集処理を実現するための編集画面制御処理(図7において「A」の処理)へ移行する。なお、編集画面制御処理の詳細については、図17〜図21を用いて後述する。
コントローラ10は、ステップSA−2でソフトキーオブジェクトを編集するための操作の入力が検出されなかったと判定した場合(ステップSA−2:No)、文字入力画面中のキーボード領域内で文字入力操作の入力が検出されたか否かを判定する(ステップSA−3)。文字入力操作は、キーボード領域内のキーボードオブジェクトに対するタップを含む。すなわち、コントローラ10は、キーボード領域内のキーボードオブジェクトに対するタップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−3で文字入力操作の入力が検出されたと判定した場合(ステップSA−3:Yes)、ステップSA−1の処理へ移行し、当該文字入力操作により入力された文字を入力文字表示領域内に表示させる。
コントローラ10は、ステップSA−3で文字入力操作の入力が検出されなかったと判定した場合(ステップSA−3:No)、ソフトキー表示領域内に表示されたソフトキーオブジェクトを選択する操作の入力が検出されたか否かを判定する(ステップSA−4)。ソフトキー表示領域内に表示されたソフトキーオブジェクトを選択する操作は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するタップを含む。すなわち、コントローラ10は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するタップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−4でソフトキーオブジェクトを選択する操作の入力が検出されなかったと判定した場合(ステップSA−4:No)、ソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作の入力が検出されたか否かを判定する(ステップSA−5)。ソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作は、ソフトキー表示領域内に対するフリックを含む。すなわち、コントローラ10は、帯状のソフトキー表示領域内に対するフリックの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−5でソフトキーオブジェクトをスクロール表示させる操作の入力が検出されたと判定した場合(ステップSA−5:Yes)、コントローラ10は、列状に配置した複数のソフトキーオブジェクトの表示位置を移動させ、ソフトキー表示領域に表示されていなかったソフトキーオブジェクトの少なくとも一つをソフトキー表示領域に表示させ、ソフトキー表示領域に表示されていたソフトキーオブジェクトの少なくとも一つを消去する(ステップSA−6)。具体的には、コントローラ10は、フリックの移動方向においてソフトキー表示領域の第1端部に位置するソフトキーオブジェクトを少なくとも一つ消去し、第1端部とは反対側のソフトキー表示領域の第2端部に、ソフトキー表示領域内に表示されていなかったソフトキーオブジェクトを少なくとも一つ表示する。ここで、第1端部は、フリックの移動方向において、フリックの始点よりも終点に近い側の端部であり、第2端部は、フリックの移動方向において、フリックの終点よりも始点に近い側の端部である。その後、ステップSA−1の処理へ移行する。
コントローラ10は、ステップSA−5でソフトキーオブジェクトをスクロール表示させる操作の入力が検出されなかったと判定した場合(ステップSA−5:No)、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対する選択を維持する操作の入力が検出されたか否かを判定する(ステップSA−7)。ソフトキー表示領域内に表示されたソフトキーオブジェクトに対する選択を維持する操作は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するロングタップを含む。すなわち、コントローラ10は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するロングタップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−7でソフトキーオブジェクトに対する選択を維持する操作の入力が検出されたと判定した場合(ステップSA−7:Yes)、当該ソフトキーオブジェクトを移動可能な状態とする(ステップSA−8)。コントローラ10は、ステップSA−7でソフトキーオブジェクトに対する選択を維持する操作の入力が検出されなかったと判定した場合(ステップSA−7:No)、ステップSA−1の処理へ移行する。
コントローラ10は、ステップSA−8でソフトキーオブジェクトを移動可能な状態とした後、当該ソフトキーオブジェクトを移動させてソフトキー表示領域内で離す操作の入力が検出されたか否かを判定する(ステップSA−9)。ソフトキーオブジェクトを移動させる操作は、ソフトキーオブジェクトに対するドラッグを含む。ソフトキー表示領域内で離す操作は、ソフトキー表示領域内に対するドロップを含む。すなわち、コントローラ10は、ソフトキーオブジェクトに対するドラッグの入力が検出され、ソフトキー表示領域内に対するドロップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−9でソフトキー表示領域内で離す操作の入力が検出されたと判定した場合(ステップSA−9:Yes)、当該離す操作が検出された位置に当該ソフトキーオブジェクトを表示するように列状に配置した複数のソフトキーオブジェクトの配置を変更する(ステップSA−10)。その後、ステップSA−1の処理へ移行する。
ここで、図9を参照して、ステップSA−7〜SA−10で行われるソフトキーオブジェクトの配置変更により変更された文字入力画面の一例について説明する。図9は、ソフトキーオブジェクトの配置変更の一例を示す図である。
図9に示すように、上側の文字入力画面30Bは、利用者の指Fによるロングタップにより、ソフトキーオブジェクト36bが選択された状態を示している。また、下側の文字入力画面30Cは、ロングタップにより移動可能な状態となったソフトキーオブジェクト36bが、ドラッグアンドドロップによりソフトキーオブジェクト36cとソフトキーオブジェクト36dとの間に移動される状態を示している。文字入力画面30Cは、ソフトキーオブジェクト36bの表示位置以外、上述の図8の文字入力画面30Aと同様である。
図7に戻り、ステップSA−9の処理からコントローラ10による処理の説明を続ける。コントローラ10は、ステップSA−9でソフトキー表示領域内で離す操作の入力が検出されなかったと判定した場合(ステップSA−9:No)、当該ソフトキーオブジェクトを移動させて入力文字表示領域内で離す操作の入力が検出されたか否かを判定する(ステップSA−11)。ソフトキーオブジェクトを移動させる操作は、ソフトキーオブジェクトに対するドラッグを含む。入力文字表示領域内で離す操作は、入力文字表示領域内に対するドロップを含む。すなわち、コントローラ10は、ソフトキーオブジェクトに対するドラッグの入力が検出され、入力文字表示領域内に対するドロップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSA−11で入力文字表示領域内で操作の入力が検出されたと判定した場合(ステップSA−11:Yes)、当該ソフトキーオブジェクトに対応するアプリケーションを実行する(ステップSA−12)。その後、ステップSA−1の処理へ移行する。また、コントローラ10は、ステップSA−11で入力文字表示領域内で離す操作の入力が検出されなかったと判定した場合(ステップSA−11:No)、同様にステップSA−1の処理へ移行する。この場合、ソフトキーオブジェクトは元の位置に戻るものとする。
ここで、図10を参照して、ステップSA−11〜SA−12で行われるアプリケーションの実行による入力文字表示領域のレイアウトの変更の一例について説明する。図10は、アプリケーションの実行による入力文字表示領域のレイアウト変更の一例を示す図である。
図10に示すように、上側の文字入力画面30Dは、利用者の指Fによるロングタップによりソフトキーオブジェクト36bが選択されて、ドラッグアンドドロップにより入力文字表示領域32に移動される状態を示している。また、下側の文字入力画面30Eでは、入力文字表示領域32aが、ソフトキーオブジェクト36bに対応付けられたメールアプリケーションの実行によりレイアウトが変更された状態を示している。入力文字表示領域32aは、領域上部に宛先を入力するための宛先入力欄と、領域中央部に件名を入力するための件名入力欄と、領域下部に本文を入力するための本文入力欄とを含む。ここで、本文入力欄には、文字入力画面30Dの入力文字表示領域32に表示されていた文字列が表示されている。文字入力画面30Eは、入力文字表示領域32a以外、上述の図8の文字入力画面30Aと同様である。
図7に戻り、ステップSA−4の処理からコントローラ10による処理の説明を続ける。コントローラ10は、ステップSA−4でソフトキー表示領域内に表示されたソフトキーオブジェクトを選択する操作の入力が検出されたと判定した場合(ステップSA−4:Yes)、当該ソフトキーオブジェクトに対応するアプリケーションを実行する(ステップSA−13)。アプリケーションを実行するとは、ディスプレイ2Aに表示された文字入力画面から、ソフトキーオブジェクトに対応付けられたアプリケーションを実行するための操作画面へと表示を切り替えることをいう。コントローラ10は、文字入力画面中の入力文字表示領域内に文字列が表示されている場合は、当該文字列を用いてアプリケーションを実行する。ここで、アプリケーションの実行は、文字入力画面上で入力された文字と連携可能なアプリケーションの実行、および、当該アプリケーションで実行可能な処理の実行を含む。
例えば、コントローラ10は、上述の図8に示すソフトキーオブジェクト36aを選択した場合、テキストエディタアプリケーションを実行し、文字入力画面の入力文字表示領域32に表示された文字列を用いてメモを作成する処理を実行する。また、コントローラ10は、上述の図8に示すソフトキーオブジェクト36bを選択した場合、メールアプリケーションを実行し、入力文字表示領域32に表示された文字列を用いてメールを作成する処理を実行する。また、コントローラ10は、上述の図8に示すソフトキーオブジェクト36cを選択した場合、ブラウザアプリケーションを実行し、入力文字表示領域32に表示された文字列に該当する情報を検索する処理を実行する。また、コントローラ10は、上述の図8に示すソフトキーオブジェクト36dを選択した場合、他人と情報を共有することが可能なアプリケーションのリストを表示する処理を実行する。
コントローラ10は、ソフトキーオブジェクトに対応付けられたメールアプリケーション等のアプリケーションを実行して、入力された文字列を当該アプリケーションに渡した場合、入力された文字列を一時的に記憶領域に保持した上で、実行されていた文字入力アプリケーションを終了する。ここで、コントローラ10は、当該アプリケーションを実行中に、ボタン3A等のバックボタンまたは当該アプリケーションの画面上のキャンセルボタンオブジェクトに対する操作の入力が検出されると、直前に実行していた文字入力アプリケーションの実行状態に戻り、一時的に記憶領域に保持していた文字列を再度表示する。これにより、利用者は、途中まで入力していた文字列を活用して、所望のソフトキーオブジェクトを選択することができる。例えば、利用者は、誤操作により意図しないソフトキーオブジェクトを選択した場合であっても、文字入力アプリケーション上で入力していた文字列を用いて、再度所望のアプリケーションに対応付けられたソフトキーオブジェクトを選択することができる。また、コントローラ10は、当該アプリケーションを実行中に、ボタン3A等のバックボタンまたは当該アプリケーションの画面上のキャンセルボタンオブジェクトに対する操作の入力が検出されても、直前に実行していた文字入力アプリケーションの実行状態に戻れないよう制御してもよい。
また、コントローラ10は、入力文字表示領域32に、何も入力されていない、あるいはスペース、改行のみが表示されている(すなわち、文字が入力されていない)状態で、ソフトキーオブジェクトを選択する操作の入力を検出すると、エラー文言(例えば、「入力された文字が無効のため起動できません」等のメッセージを表示して、アプリケーションを実行することができないよう制御する。
ここで、図11は、コントローラ10が、ソフトキーオブジェクト36aに対応するテキストエディタアプリケーションを実行し、文字入力画面の入力文字表示領域32に表示された文字列を用いてメモを作成する処理を実行する場合の操作画面の一例を示している。図11は、テキストエディタアプリケーションを実行した場合の操作画面の一例を示す図である。スマートフォン1は、テキストエディタアプリケーションが実行された場合、図11に示す操作画面70をディスプレイ2Aに表示させる。図11に示す操作画面70は、画面上半分の略全域に入力文字列を確認する表示領域72と、画面下半分に文字列の入力を行うためのキーボードオブジェクト74と、表示領域72とキーボードオブジェクト74との間の略中央部分の左側に、表示領域72に表示された文字列を新規メモとして保存する保存ボタン76と、当該中央部分の右側に、テキストエディタの処理をキャンセルするキャンセルボタン78とが、表示されている。また、操作画面70は、ディスプレイ2Aの上端にホーム画面40の領域42と同一の領域42が配置されている。操作画面70は、領域42に充電池の残量を示す残量マーク43、及び通信用の電波の電界強度を示す電波レベルマーク44が表示される。スマートフォン1は、操作画面70を表示した状態で、キーボードオブジェクト74に対するタップまたはスワイプが検出された場合、タップされた領域またはスワイプされた軌跡に対応した文字を入力文字として検出する。スマートフォン1は、入力された文字を表示領域72の設定された位置に表示させる。スマートフォン1は、操作画面70を表示した状態で、保存ボタン76またはキャンセルボタン78に対するタップが検出された場合、タップされたボタンに対応付けられた処理を実行する。スマートフォン1は、以上のようにして、テキストエディタアプリケーションの各種処理を実行し、テキストの入力を検出する。
また、図12は、コントローラ10が、ソフトキーオブジェクト36bに対応するメールアプリケーションのリストを表示する処理を実行する場合の操作画面の一例を示している。図12は、メールアプリケーションのリストを含む操作画面の一例を示す図である。スマートフォン1は、ソフトキーオブジェクト36bが選択された場合、図12に示す操作画面80をディスプレイ2Aに表示させる。図12に示す操作画面80は、画面上部に、アプリケーションを選択可能である旨を示すメッセージを表示するメッセージ領域81と、画面中央部に、メールアプリケーションのアイコンと当該アイコンを説明するメッセージを対応付けて表示するリスト領域82と、画面下部に、ソフトキーオブジェクト36dを選択した場合に使用するアプリケーションを設定するためのチェックボックス84とが、表示されている。図12の例において、リスト領域82は、ショートメールアプリケーションのリスト項目83aと、Webメールアプリケーションのリスト項目83bを含む。例えば、スマートフォン1は、操作画面80からリスト項目83aを選択する操作の入力が検出されると、文字入力画面の入力文字表示領域32に表示された文字列を用いてショートメールを作成する処理を実行する。また、スマートフォン1は、操作画面80からリスト項目83bを選択する操作の入力が検出されると、文字入力画面の入力文字表示領域32に表示された文字列を用いてWebメールを作成する処理を実行する。操作画面80からリスト項目83a、83bを選択する操作は、リスト項目83a、83bに対するタッチを含む。すなわち、コントローラ10は、リスト項目83a、83bに対するタッチの入力が検出されると、文字入力画面の入力文字表示領域32に表示された文字列を用いて各リスト項目に対応する処理を実行する。
図7に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSA−13でソフトキーオブジェクトに対応するアプリケーションを実行後、当該アプリケーションの実行が完了したか否かを判定する(ステップSA−14)。コントローラ10は、アプリケーションの実行の完了操作が検出されたか否かを判定することにより、アプリケーションの実行が完了したか否かを判定する。アプリケーションの実行の完了操作は、ボタン3に対するクリックまたは操作画面に表示された所定のアイコンへのタッチを含む。
コントローラ10は、ステップSA−14でアプリケーションの実行が完了したと判定しなかった場合(ステップSA−14:No)、ステップSA−13の処理へ移行し、ステップSA−14でアプリケーションの実行が完了したと判定されるまで処理を繰り返す。
コントローラ10は、ステップSA−14でアプリケーションの実行が完了したと判定した場合(ステップSA−14:Yes)、その後、本文字入力画面制御処理を終了する。アプリケーションの実行が完了したとは、例えば、メールアプリケーションの場合、メール送信完了またはテキスト保存完了などを含む。そして、コントローラ10は、スマートフォン1が有する各種処理を実行する。具体的には、コントローラ10は、タッチスクリーン2Bまたはボタン3で検出した操作に対応する処理(例えばホーム画面に表示したアイコンに対応するアプリケーションの実行、通話、撮像等)を実行する。なお、ステップSA−14でアプリケーションの実行が完了したと判定した場合に、本文字入力画面制御処理を終了せずに、文字入力画面を表示するステップSA−1の処理へ移行してもよい。
このように、本実施形態によれば、利用者は、文字入力画面上の帯状のソフトキー表示領域に並べられたソフトキーオブジェクトを、タッチで選択でき、フリックでスクロールでき、ロングタップで並び変えることができる。つまり、本実施形態によれば、連携したいアプリケーションのソフトキーオブジェクトを画面中央部に帯状に一覧表示できるうえ、各ソフトキーオブジェクトを短押下で選択でき、長押下で各ソフトキーオブジェクトの入れ替えを行うことができる。これにより、本実施形態によれば、文字入力画面の操作性を向上させることができる。
また、本実施形態によれば、ソフトキーオブジェクトを入力文字表示領域へドロップすることで、ソフトキーオブジェクトに対応するアプリケーションを実行させ、入力文字表示領域のみを当該アプリケーションに応じたレイアウトにカスタマイズすることができる。例えば、メールアプリケーションに対応付けられたソフトキーオブジェクトを入力文字表示領域へドロップすることで、メールアプリケーションを実行して、当該入力文字表示領域を、宛先と件名と本文の項目を含むレイアウトに変更することができる。つまり、本実施形態によれば、文字入力画面中の入力文字表示領域のレイアウトを、ソフトキーオブジェクトに対応するアプリケーションに応じてカスタマイズすることができる。
本実施形態において、上述の図8〜図10に示すように、ソフトキー表示領域は、入力文字表示領域とキーボード領域との間の左右方向へ延在する帯状の領域に配置される他、文字入力画面を横にした場合は、画面の左側または右側の上下方向へ延在する帯状の領域に配置されてもよい。この場合、ソフトキー表示領域内に表示される各ソフトキーオブジェクトの形状を縦長の形状にしてもよい。
また、本実施形態において、ソフトキーオブジェクトは、文字入力画面上で入力された文字と連携可能なアプリケーションを実行するショートカットであってもよく、当該アプリケーションで実行可能な特定の処理の実行するショートカットであってもよい。例えば、ソフトキーオブジェクトは、メールアプリケーションを実行し、電話帳データ9Hを呼び出して所定の宛先へメールを送信する特定の処理を実行するショートカットであってもよい。また、ソフトキーオブジェクトは、予め登録された所定のメッセージを更に含むメールを送信する特定の処理を実行するショートカットであってもよい。また、本実施形態において、コントローラ10は、ソフトキーオブジェクトに対するダブルタップ等の入力が検出された場合、当該ソフトキーオブジェクトに対応するアプリケーションのサブメニューをプルダウンメニューとして表示してもよい。
ここで、スマートフォン1のコントローラ10は、入力文字表示領域内に表示された文字に基づいて、ソフトキー表示領域内に表示するソフトキーオブジェクトの構成を変更することが好ましい。例えば、コントローラ10は、入力文字表示領域内に改行文字が含まれる場合、twitter(登録商標)等の短文投稿サイトを表示するブラウザアプリケーションに対応付けられたソフトキーオブジェクトをソフトキー表示領域内から削除してもよい。その他、コントローラ10は、入力文字表示領域内に表示される文字の属性、文字数等に応じてソフトキー表示領域内に表示するソフトキーオブジェクトを変更してもよい。例えば、コントローラ10は、入力文字表示領域内の文字数が所定閾値以上となった場合、ショートメールサービス(SMS)に対応付けられたソフトキーオブジェクトをソフトキー表示領域内から削除してもよい。
このように、本実施形態によれば、文字入力画面を表示する際に、文字入力された文字の属性または文字数に応じて、ソフトキー表示領域に表示するソフトキーオブジェクトの構成を自動的に変更することができる。例えば、文字入力画面で改行が入力されたら、twitter(登録商標)等の短文投稿サイトを表示するブラウザアプリケーションに対応付けられたソフトキーオブジェクトを消去することができる。つまり、本実施形態によれば、ソフトキーオブジェクトの配置を文字入力状況に応じて自動的に調整することができる。したがって、スマートフォン1のコントローラ10は、入力文字に基づいて表示するソフトキーオブジェクトの構成を変更することで、使用可能なソフトキーオブジェクトのみを表示させることができる。これにより、利用者が実行できない操作を入力することを抑制することができ、また、利用者が入力文字に対して使用可能なアプリケーションまたは機能を直感的に理解することができる。
次に、図13を参照し、本実施形態に係るスマートフォン1が実行する、文字入力画面表示処理の一例について説明する。図13は、文字入力画面表示処理の一例を示すフローチャートである。図13のフローチャートは、上述の図7のステップSA−1においてコントローラ10により実行される文字入力画面表示処理を詳細に説明するものである。図13に示す処理手順は、文字入力画面制御アプリケーション9Eおよびソフトキー表示制御アプリケーション9Gが提供する機能に基づいて繰り返し実行される。
図13に示すように、スマートフォン1のコントローラ10は、ストレージ9のソフトキー配置情報ファイル9Lから、ソフトキー表示領域内に表示されるソフトキーオブジェクトの配置情報を取得する(ステップSB−1)。本実施形態において、配置情報は、ソフトキー表示領域内に表示されていた各ソフトキーオブジェクトの配置を示す位置データである。本実施形態では、コントローラ10は、上述の図7のステップSA−13において、利用者が選択したソフトキーオブジェクトに対応するアプリケーションが実行された際にソフトキー表示領域内に表示されていた各ソフトキーオブジェクトの位置データを、ソフトキー配置情報ファイル9Lへ格納していたものとする。
コントローラ10は、ステップSB−1でソフトキー配置情報ファイル9Lから取得した配置情報に基づいて、アプリケーションを実行する直前に(上述の図7のステップSA−13に対応)ソフトキー表示領域内に表示されていたソフトキーオブジェクトの配置を再現した文字入力画面を作成する(ステップSB−2)。
コントローラ10は、ステップSB−2で配置を再現した文字入力画面をディスプレイ2Aに表示させる(ステップSB−3)。その後、本文字入力画面表示処理を終了し、上述の図7のステップSA−2の処理へ移行する。
このように、本実施形態によれば、スマートフォン1のコントローラ10は、文字入力画面から他の画面に移行し、その後文字入力画面を表示させる場合、ストレージ9のソフトキー配置情報ファイル9Lに記憶された配置情報に基づいて、アプリケーションを実行する直前にソフトキー表示領域内に表示されていたソフトキーオブジェクトの配置を再現した文字入力画面を、ディスプレイ2Aに表示させることができる。これにより、利用者は、再度文字入力画面上でソフトキーオブジェクトを選択する際、前回利用した際に表示されていたソフトキーオブジェクトから選択することができるので、文字入力画面の利便性がより向上される。
続いて、図14〜図16を参照し、本実施形態に係るスマートフォン1が実行する、文字入力画面表示処理の別の一例について説明する。図14は、文字入力画面表示処理の別の一例を示すフローチャートである。図14のフローチャートは、上述の図7のステップSA−1においてコントローラ10により実行される文字入力画面表示処理の別の一例を詳細に説明するものである。図14に示す処理手順は、文字入力画面制御アプリケーション9Eおよびソフトキー表示制御アプリケーション9Gが提供する機能に基づいて繰り返し実行される。
図14に示すように、スマートフォン1のコントローラ10は、ストレージ9のステータス情報ファイル9Mから、スマートフォン1が有するアプリケーションのステータス情報を取得する(ステップSC−1)。本実施形態において、ステータス情報は、各アプリケーションの追加または削除等のステータスを示すリストデータである。本実施形態において、コントローラ10は、各アプリケーションの追加または削除等が行われた際に、随時、ステータス情報ファイル9Mに記憶されたステータス情報を更新している。
コントローラ10は、ステップSC−1でステータス情報ファイル9Mから取得したステータス情報に基づいて、以下のステップSC−2〜SC−5に示す、ソフトキー表示領域内に表示させるソフトキーオブジェクトの構成を変更する処理を行う。
具体的には、コントローラ10は、ステップSC−1でステータス情報ファイル9Mから取得したステータス情報に基づいて、アプリケーションが追加されたか否かを判定する(ステップSC−2)。
コントローラ10は、ステップSC−2でアプリケーションが追加されたと判定した場合(ステップSC−2:Yes)、当該アプリケーションに対応するソフトキーオブジェクトをソフトキー表示領域に表示させる(ステップSC−3)。ここで、コントローラ10は、新たに追加されたアプリケーションに対応するソフトキーオブジェクトから、追加された順番に従ってソフトキー表示領域に表示させてもよい。この際、コントローラ10は、新たに追加されたアプリケーションに対応するアイコン画像を、対応するソフトキーオブジェクトに含めてもよい。その後、本文字入力画面表示処理を終了し、上述の図7のステップSA−2の処理へ移行する。
ここで、図15を参照して、アプリケーションが追加された場合の文字入力画面について説明する。図15は、アプリケーションが追加された場合の文字入力画面の一例を示す図である。図15に示すように、上側の文字入力画面30Fでは、ソフトキー表示領域36内に、ソフトキーオブジェクト36a、36b、36c、36d、36eが表示されている。図15の例において、スマートフォン1は、ステップSC−2で、ソフトキーオブジェクト36eに対応付けられたSNSアプリケーションとは異なる、第2のSNSアプリケーションが追加されたと判定した場合、図15の下側の文字入力画面30Gに示すように、当該第2のSNSアプリケーションに対応するソフトキーオブジェクト36gをソフトキー表示領域36内に追加する(図15の(i)参照)。文字入力画面30Gは、ソフトキーオブジェクト36g以外、上述の図8の文字入力画面30Aと同様である。
図14に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSC−2でアプリケーションが追加されていないと判定した場合(ステップSC−2:No)、ステップSC−1でステータス情報ファイル9Mから取得したステータス情報に基づいて、アプリケーションが削除されたか否かを判定する(ステップSC−4)。
コントローラ10は、ステップSC−4でアプリケーションが削除されたと判定した場合(ステップSC−4:Yes)、当該アプリケーションに対応するソフトキーオブジェクトをソフトキー表示領域に表示しない(ステップSC−5)。その後、本文字入力画面表示処理を終了し、上述の図7のステップSA−2の処理へ移行する。
ここで、図16を参照して、アプリケーションが削除された場合の文字入力画面について説明する。図16は、アプリケーションが削除された場合の文字入力画面の一例を示す図である。図16に示すように、上側の文字入力画面30Hでは、ソフトキー表示領域36内に、ソフトキーオブジェクト36f、36a、36b、36c、36dが表示されている。図16の例において、スマートフォン1は、ステップSC−4でソフトキーオブジェクト36f(図16の(ii)参照)に対応する所定のブログサイトを表示するブラウザアプリケーションが削除されたと判定した場合、図16の下側の文字入力画面30Fに示すように、当該ソフトキーオブジェクト36fをソフトキー表示領域36内に表示しない。文字入力画面30Hは、ソフトキーオブジェクト36fがソフトキー表示領域36の左端に表示されている以外、上述の図8の文字入力画面30Aと同様である。
図14に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSC−4でアプリケーションが削除されていないと判定した場合(ステップSC−4:No)、ソフトキー表示領域内のソフトキーオブジェクトを変更せずに、通常の文字入力画面を表示する(ステップSC−6)。その後、本文字入力画面表示処理を終了し、上述の図7のステップSA−2の処理へ移行する。
このように、本実施形態によれば、ソフトキー表示領域中のソフトキーオブジェクトの配置をアプリケーションのインストール状況に応じて自動的に調整することができる。また、本実施形態において、新たなアプリケーションがインストールされたら、当該アプリケーションから画像を取得し、ソフトキー表示領域に表示するソフトキーオブジェクトの画像を更新することもできる。
なお、本実施形態では、ソフトキーオブジェクトに対応するアプリケーションがアンインストールされた場合であっても、アンインストールされたアプリケーションに対応付けられたソフトキーオブジェクトはソフトキー表示領域内から削除されないものとする。この場合、コントローラ10は、当該ソフトキーオブジェクトを選択する操作の入力が検出されると、アプリケーションが起動できない旨のメッセージ等を表示した上で、文字入力アプリケーションの実行を終了し、当該文字入力アプリケーションの表示を解除する。ここで、コントローラ10は、文字入力アプリケーションの実行を終了せずに、当該文字入力アプリケーションの表示を解除しなくともよい。
[編集画面制御処理]
続いて、図17のフローチャートに沿って適宜図18〜図21を参照し、本実施形態に係るスマートフォン1の編集画面制御処理について説明する。図17は、実施形態に係るスマートフォン1の編集画面制御処理の一例を示すフローチャートである。図17に示す処理手順は、編集画面制御アプリケーション9Fおよびソフトキー表示制御アプリケーション9Gが提供する機能に基づいて繰り返し実行される。また、図17に示す処理は、コントローラ10が上述の図7のステップSA−2で所定の操作の入力が検出されたと判定した場合に実行される。
コントローラ10は、図17に示すように、文字入力画面を表示中に、ソフトキーオブジェクトの編集処理を実行するための操作の入力が検出されると(上記図7のステップSA−2:Yesに対応)、文字入力画面上に表示されるソフトキーオブジェクトの編集処理を実行するための編集画面を表示させる(ステップSD−1)。編集処理は、文字入力画面上に表示されるソフトキーオブジェクトの追加、削除および並び替えの少なくとも一つを含む。ソフトキーオブジェクトの編集処理を実行するための操作は、例えば、ボタン3に対するクリックまたは特定のソフトキーオブジェクトへのタッチ等を含む。なお、本実施形態において、コントローラ10は、文字入力中(例えば、カーソルが表示されている状態、つまり、未確定文字がある状態のとき)に、ソフトキーオブジェクトの編集処理を実行するための操作の入力を検出した場合は、文字入力機能を優先して編集画面を表示しないものとする。
ここで、図18を参照して、ディスプレイ2Aに表示される編集画面の一例について説明する。図18は、編集画面の一例を示す図である。図18に示すように、編集画面90Aは、文字入力画面に含まれる複数のソフトキーオブジェクト36a、36b、36c、36d、36eにそれぞれ対応する、複数のソフトキーオブジェクト36a、36b、36c、36d、36eを含む。つまり、編集画面90Aは、画面の略中央部分から上側に、上述の図8の文字入力画面30Aと同様に、複数のソフトキーオブジェクト36a〜36fを列状に配置し、列状に配置した複数のソフトキーオブジェクト36a〜36fの一部を表示するためのソフトキー表示領域36を含む。すなわち、コントローラ10は、文字入力画面上に表示される複数のソフトキーオブジェクトの少なくとも一部を編集画面中のソフトキー表示領域内に表示させる。また、編集画面90Aは、画面上端部に、ソフトキーオブジェクトの編集処理を実行するための画面である旨を示すメッセージを含むメッセージ領域91と、当該メッセージ領域91の下に、ソフトキー表示領域36に追加可能な新規のソフトキーオブジェクトを含む追加リストを表示させるための追加アイコン94と、ソフトキー表示領域36の下に、ソフトキー表示領域36に表示されるソフトキーオブジェクトに関するメッセージを表示するガイド文言領域92と、画面下端の左側に、編集処理を完了させる完了ボタン96と、画面下端の右側に、編集処理をキャンセルするキャンセルボタン98とが、表示されている。図18の例において、ガイド文言領域92は、ソフトキー表示領域36内に表示されたソフトキーオブジェクトをロングタッチすることで、並び替えが可能であることを示すメッセージ(例えば、図18において「アイコンをロングタッチすると、並び替えが出来ます」とのメッセージ)を含む。
図17に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、編集画面を表示中に、アイコンを追加する操作の入力が検出されたか否かを判定する(ステップSD−2)。すなわち、コントローラ10は、編集画面上の文字列「アイコンの追加」へのタップが検出されたか否かを判定する。
コントローラ10は、ステップSD−2でアイコンを追加する操作の入力が検出されなかったと判定した場合(ステップSD−2:No)、ソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作の入力が検出されたか否かを判定する(ステップSD−3)。ソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作は、ソフトキー表示領域内に対するフリックを含む。すなわち、コントローラ10は、帯状のソフトキー表示領域内に対するフリックの入力が検出されたか否かを判定する。
コントローラ10は、ステップSD−3でソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作の入力が検出されたと判定した場合(ステップSD−3:Yes)、コントローラ10は、列状に配置した複数のソフトキーオブジェクトの表示位置を移動させ、ソフトキー表示領域に表示されていなかったソフトキーオブジェクトの少なくとも一つをソフトキー表示領域に表示させ、ソフトキー表示領域に表示されていたソフトキーオブジェクトの少なくとも一つを消去する(ステップSD−4)。その後、ステップSD−1の処理へ移行する。
コントローラ10は、ステップSD−3でソフトキー表示領域内のソフトキーオブジェクトをスクロール表示させる操作の入力が検出されなかったと判定した場合(ステップSD−3:No)、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対する選択を維持する操作の入力が検出されたか否かを判定する(ステップSD−5)。ソフトキー表示領域内に表示されたソフトキーオブジェクトに対する選択を維持する操作は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するロングタップを含む。すなわち、コントローラ10は、ソフトキー表示領域内に表示されたソフトキーオブジェクトに対するロングタップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSD−5でソフトキーオブジェクトに対する選択を維持する操作の入力が検出されたと判定した場合(ステップSD−5:Yes)、当該ソフトキーオブジェクトを移動可能な状態とする(ステップSD−6)。コントローラ10は、ステップSD−5でソフトキーオブジェクトに対する選択を維持する操作の入力が検出されなかったと判定した場合(ステップSD−5:No)、ステップSD−1の処理へ移行する。
コントローラ10は、ステップSD−6で対応するソフトキーオブジェクトを移動可能な状態とした後、当該ソフトキーオブジェクトが削除を禁止されたソフトキーオブジェクトであるか否かを判定する(ステップSD−7)。本実施形態において、スマートフォン1が有するアプリケーションの実行または当該アプリケーションにて実行可能な特定の処理の実行が対応付けられたソフトキーオブジェクトは、予め削除可能か否かを設定されているものとする。
コントローラ10は、ステップSD−7で対応するソフトキーオブジェクトが削除を禁止されたソフトキーオブジェクトであると判定した場合は(ステップSD−7:Yes)、編集画面中のガイド文言領域内に、当該ソフトキーオブジェクトを削除できない旨を示すメッセージを表示させる(ステップSD−8)。
ここで、図19を参照して、ステップSD−8で表示される対応するソフトキーオブジェクトを削除できない旨を示すメッセージを表示した編集画面の一例について説明する。図19は、ソフトキーオブジェクトを削除できない旨を示すメッセージを表示した編集画面の一例を示す図である。図19に示すように、編集画面90Bは、利用者の指Fによるロングタップにより、ソフトキーオブジェクト36bが選択された状態を示している。本実施形態において、コントローラ10は、当該ソフトキーオブジェクト36bが削除を禁止されたソフトキーオブジェクトであると判定した場合、編集画面90B中のガイド文言領域92内に、当該ソフトキーオブジェクト36bを削除できない旨を示すメッセージ(例えば、図19において、「このアイコンは削除できません」とのメッセージ)を表示させる。なお、図19に示すように、利用者の指Fによるロングタップにより、ソフトキーオブジェクト36bが選択された状態にあるため、スマートフォン1は、次に続くステップSD−9〜SD−10において、ロングタップにより移動可能な状態となったソフトキーオブジェクト36bを、ドラッグアンドドロップ操作によりに移動可能である。編集画面90Bは、ガイド文言領域92内に表示されたメッセージ以外、上述の図18の編集画面90Aと同様である。
図17に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSD−8で対応するソフトキーオブジェクトを削除できない旨を示すメッセージを表示させた後、ステップSD−6で移動可能な状態としたソフトキーオブジェクトを移動させてソフトキー表示領域内で離す操作の入力が検出されたか否かを判定する(ステップSD−9)。ソフトキーオブジェクトを移動させる操作は、ソフトキーオブジェクトに対するドラッグを含む。ソフトキー表示領域内で離す操作は、ソフトキー表示領域内に対するドロップを含む。すなわち、コントローラ10は、ソフトキーオブジェクトに対するドラッグの入力が検出され、ソフトキー表示領域内に対するドロップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSD−9でソフトキー表示領域内で離す操作の入力が検出されたと判定した場合(ステップSD−9:Yes)、当該離す操作が検出された位置に当該ソフトキーオブジェクトを表示するように列状に配置した複数のソフトキーオブジェクトの配置を変更する(ステップSD−10)。その後、ステップSD−1の処理へ移行する。つまり、コントローラ10は、ステップSD−10の処理の後、編集画面上で実行された編集処理の一例であるソフトキーオブジェクトの並び替え処理の実行結果を、次のステップSD−1で表示する編集画面に含まれるソフトキーオブジェクトに反映させる。また、コントローラ10は、ステップSD−9でソフトキー表示領域内でドロップ操作の入力が検出されなかったと判定した場合(ステップSD−9:No)、同様にステップSD−1の処理へ移行する。この場合、ソフトキーオブジェクトは元の位置に戻るものとする。
ステップSD−7の処理に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ソフトキーオブジェクトが削除を禁止されたソフトキーオブジェクトでなかったと判定した場合は(ステップSD−7:No)、すなわち、当該ソフトキーオブジェクトが削除を禁止されていない削除可能なソフトキーオブジェクトであると判定した場合は、編集画面中のガイド文言領域内にソフトキーオブジェクトの削除処理の実行が対応付けられたゴミ箱オブジェクトを表示させる(ステップSD−11)。
ここで、図20を参照して、ステップSD−11で表示されるゴミ箱オブジェクトを含む編集画面の一例について説明する。図20は、ゴミ箱オブジェクトを含む編集画面の一例を示す図である。図20に示すように、編集画面90Cは、利用者の指Fによるロングタップにより、ソフトキーオブジェクト36gが選択された状態を示している。ここで、ソフトキーオブジェクト36gは、ソフトキーオブジェクト36eに対応付けられたSNSアプリケーションとは異なる、第2のSNSアプリケーションの実行するためのショートカットである。そして、コントローラ10は、当該ソフトキーオブジェクト36gが削除を禁止されていない削除可能なソフトキーオブジェクトであると判定した場合は、編集画面90C中のガイド文言領域92内にソフトキーオブジェクトの削除処理の実行が対応付けられたゴミ箱オブジェクト95を表示させる。ゴミ箱オブジェクト95は、ゴミ箱を模した画像を含む、削除処理の実行するためのショートカットである。なお、図20に示すように、利用者の指Fによるロングタップにより、ソフトキーオブジェクト36gが選択された状態にあるため、スマートフォン1は、ロングタップにより移動可能な状態となったソフトキーオブジェクト36gを、ドラッグアンドドロップ操作によりゴミ箱オブジェクト95上に移動可能である。また、スマートフォン1は、ロングタップにより移動可能な状態となったソフトキーオブジェクト36bを、ドラッグアンドドロップ操作によりに移動可能である。編集画面90Cは、ガイド文言領域92内に表示されたゴミ箱オブジェクト95、削除対象となるソフトキーオブジェクト36g、および、並び替えられてソフトキー表示領域36に表示されていないソフトキーオブジェクト36b以外、上述の図18の編集画面90Aと同様である。本実施形態において、ソフトキー表示領域内から削除されたアプリケーションはメニュー(例えば、ホーム画面またはランチャー画面)からは削除されないものとする。
図17に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSD−11でゴミ箱オブジェクトを表示させた後、ステップSD−6で移動可能な状態としたソフトキーオブジェクトを移動させてゴミ箱オブジェクト上で離す操作の入力が検出されたか否かを判定する(ステップSD−12)。ソフトキーオブジェクトを移動させる操作は、ソフトキーオブジェクトに対するドラッグを含む。ゴミ箱オブジェクト上で離す操作は、ゴミ箱オブジェクトに対するドロップを含む。すなわち、コントローラ10は、ソフトキーオブジェクトに対するドラッグの入力が検出され、ゴミ箱オブジェクトに対するドロップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSD−12でゴミ箱オブジェクト上で離す操作の入力が検出されなかったと判定した場合(ステップSD−12:No)、上述のステップSD−9の処理へ移行する。
コントローラ10は、ステップSD−12でゴミ箱オブジェクト上で離す操作の入力が検出されたと判定した場合(ステップSD−12:Yes)、対応するソフトキーオブジェクトをソフトキー表示領域内から削除する(ステップSD−13)、その後、ステップSD−1の処理へ移行する。すなわち、コントローラ10は、ステップSD−13の処理の後、編集画面上で実行された編集処理の一例であるソフトキーオブジェクトの削除処理の実行結果を、次のステップSD−1で表示する編集画面に含まれるソフトキーオブジェクトに反映させる。つまり、次のステップSD−1において、コントローラ10は、ステップSD−13で削除されたソフトキーオブジェクトをソフトキー表示領域に表示しない。
ステップSD−2の処理に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSD−2で編集画面上の追加アイコンを選択する操作の入力が検出されたと判定した場合(ステップSD−2:Yes)、ソフトキー表示領域に追加可能な新規のソフトキーオブジェクトを含む追加リストを表示させる(ステップSD−14)。
コントローラ10は、ステップSD−14で追加リストを表示した後、当該追加リストに含まれるソフトキーオブジェクトを選択する操作の入力が検出されたか否かを判定する(ステップSD−15)。追加リストに含まれるソフトキーオブジェクトを選択する操作は、追加リストに含まれるソフトキーオブジェクトに対するタップを含む。すなわち、コントローラ10は、追加リストに含まれるソフトキーオブジェクトに対するタップの入力が検出されたか否かを判定する。
コントローラ10は、ステップSD−15でソフトキーオブジェクトを選択する操作の入力が検出されたと判定した場合(ステップSD−15:Yes)、対応するソフトキーオブジェクトをソフトキー表示領域内に追加する(ステップSD−16)。また、コントロール10は、ステップSD−15でソフトキーオブジェクトを選択する操作の入力が検出されなかったと判定した場合(ステップSD−15:No)、ステップSD−14の処理に戻る。
ここで、図21を参照して、ステップSD−14〜SD−16で追加リストから選択されて追加されたソフトキーオブジェクトを含む編集画面の一例について説明する。図21は、追加リストと追加されたソフトキーオブジェクトを含む編集画面の一例を示す図である。
図21の上側の追加リスト100は、ソフトキー表示領域36内に追加可能な新規のソフトキーオブジェクトと、当該ソフトキーオブジェクトを説明するメッセージとをそれぞれ対応付けて表示するリスト項目103a、103b、103c、103dを含む。リスト項目103aは、ソフトキーオブジェクト36eに対応付けられたSNSアプリケーションとは、別の第2のSNSアプリケーションに対応付けられた新規のソフトキーオブジェクト36gを含む。リスト項目103bは、短文投稿サイトを表示するブラウザアプリケーションに対応付けられた新規のソフトキーオブジェクト36hを含む。リスト項目103cは、ソフトキーオブジェクト36fに対応付けられたブログサイトとは別の第2のブログサイトを表示するブラウザアプリケーションに対応付けられた新規のソフトキーオブジェクト36iを含む。リスト項目103dは、ソフトキーオブジェクト36e、36gにそれぞれ対応付けられたSNSアプリケーションとは別の第3のSNSアプリケーションに対応付けられた新規のソフトキーオブジェクト36jを含む。
図21の例において、追加リスト100は、利用者の指Fによるタップにより、新規のソフトキーオブジェクト36gを含むリスト項目103aが選択された状態を示している。本実施形態において、コントローラ10は、上述の図18に示す編集画面90A上の追加アイコン94を選択する操作の入力が検出されたと判定した場合、ソフトキー表示領域36に追加可能な新規のソフトキーオブジェクト36g、36h、36i、36jを含む追加リスト100を表示させる。また、コントローラ10は、追加リスト100を表示した後、当該追加リスト100からソフトキーオブジェクト36gを含むリスト項目103aが選択される操作の入力が検出されたと判定した場合、対応するソフトキーオブジェクト36gを、図21の下側に示すように編集画面90Dのソフトキー表示領域36内の左端に追加する。編集画面90Dは、追加されたソフトキーオブジェクト36g、および、並び替えられてソフトキー表示領域36に表示されていないソフトキーオブジェクト36b以外、上述の図18の編集画面90Aと同様である。
本実施形態において、追加リスト100に表示される新規のソフトキーオブジェクト36g〜36jは、ソフトキー表示領域36内に表示されていないソフトキーオブジェクトである。つまり、追加リスト100に表示される新規のソフトキーオブジェクト36g〜36jは、スマートフォン1にインストールされた文字入力機能と連携可能なアプリケーションに対応するソフトキーオブジェクト36a〜36iから、ソフトキー表示領域36内に表示されているソフトキーオブジェクト36a〜36fを差し引いた差分のソフトキーオブジェクトである。
また、本実施形態において、コントローラ10は、既にソフトキー表示領域内に表示されているソフトキーオブジェクトを、追加リスト上でグレーアウトさせて選択できないように制御してもよい。また、コントローラ10は、追加リストを、編集画面上でソフトキー表示領域と共に任意の位置に表示してもよい。この場合、利用者は、追加リストに含まれるソフトキーオブジェクトを、ソフトキー表示領域内にドラッグすることで、所望のソフトキーオブジェクトを追加できる。また、コントローラ10は、予めソフトキー表示領域内に追加可能な個数分のブランクアイコンを表示してもよい。この場合、利用者は、ブランクアイコン内に、追加リストに含まれるソフトキーオブジェクトをドラッグすることで、所望のソフトキーオブジェクトを追加できる。
また、本実施形態において、ソフトキー表示領域に表示可能なソフトキーオブジェクトの数の上限(例えば、10個)が設定されていてもよい。この場合、上限を超えると編集画面上に表示される文字列「アイコンの追加」がグレーアウトし、選択できない状態となる。この場合、ソフトキー表示領域に表示されているソフトキーオブジェクトが一つでも削除されると、上限を超えないため、編集画面上に表示される文字列「アイコンの追加」が復活して、選択できる状態となる。
図17に戻り、コントローラ10による処理の説明を続ける。コントローラ10は、ステップSD−16の処理の後、編集処理の実行が終了したか否かを判定する(ステップSD−17)。コントローラ10は、終了操作の入力が検出されたか否かを判定することにより、編集処理の実行が終了したか否かを判定する。終了操作は、これに限定されないが、ボタン3に対するクリック操作または操作画面に表示された所定のアイコンへのタッチを含む。
コントローラ10は、ステップSD−17で編集処理の実行が終了したと判定しなかった場合(ステップSD−17:No)、ステップSD−1の処理へ移行する。また、コントローラ10は、ステップSD−17で編集処理の実行が終了したと判定した場合(ステップSD−17:Yes)、その後、本編集画面制御処理を終了する。そして、コントローラ10は、上述の図7のステップSA−1の処理へ移行し、上述の文字入力画面制御処理を実行する。なお、ステップSD−17で編集処理の実行が終了したか否かを判定する例を説明したが、これに限らず、図17に示した本編集画面制御処理を実行中に、終了操作の入力が検出されたか否かを判定することにより、編集処理の実行が終了したか否かを判定してもよい。
このように、本実施形態によれば、利用者は、編集画面上であっても帯状のソフトキー表示領域に並べられたソフトキーオブジェクトを、タッチで追加または削除でき、ロングタップで並び変えることができる。つまり、本実施形態によれば、文字入力画面上に表示されるソフトキーオブジェクトの編集処理(文字入力画面上に表示されるソフトキーオブジェクトの追加、削除および並び替えを含む)を実行することができる。これにより、本実施形態によれば、文字入力画面上で入力された文字と連携可能なアプリケーションを利用者が自由に設定することができるため、文字入力における利便性をより向上させることができる。
また、本実施形態によれば、文字入力機能と連携可能なアプリケーションに対応するソフトキーオブジェクトを追加することができ、また後からスマートフォン1にインストールされたアプリケーションに対応するソフトキーオブジェクトについても追加することができる。また、本実施形態によれば、利用者は文字入力画面から所望のアプリケーションを少ないステップ数で起動することできる。また、本実施形態によれば、所望のアプリケーションに対応するソフトキーオブジェクトを追加する際に、既に文字入力画面上のソフトキー表示領域内に表示されているソフトキーオブジェクトを誤って再度追加してしまうといった状況を防ぐことができる。また、本実施形態によれば、利用者が頻繁に使用するアプリケーションに対応付けられたソフトキーオブジェクトがスクロールすることなく最初に表示されるように、予め所望の配置に並び替えることができる。また、本実施形態によれば、利用者があまり使わなくなったアプリケーションに対応するソフトキーオブジェクトを文字入力画面から削除できる。以上のように、本実施形態によれば、文字入力における利便性を格段に向上させることができる。
本実施形態において、図17のステップSD−1において、コントローラ10は、上述の図13および図14に示した文字入力画面表示処理と同様の編集画面表示処理を実行してもよい。この場合、コントローラ10は、上述の図13および図14では文字入力画面に対して処理を行っていたが、文字入力画面に代えて、編集画面に対して処理を行うことで、上述の図13および図14に示した文字入力画面表示処理と同様の編集画面表示処理を実行するものとする。
本発明を完全かつ明瞭に開示するために特徴的な実施例に関し記載してきた。しかし、添付の請求項は、上記実施例に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。
例えば、図6に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
また、上記の実施形態では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。例えば、添付の請求項に係る装置は、モバイルフォン、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、又はゲーム機等の携帯電子機器であってもよい。また、添付の請求項に係る装置は、デスクトップパソコン、テレビ受像器等の据え置き型の電子機器であってもよい。