本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明する。
(実施形態)
図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は、タッチスクリーンディスプレイ2に対する指、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、又はスタイラスペン等がタッチスクリーンディスプレイ2に接触した位置を検出することができる。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下では、説明を簡単にするため、タッチスクリーン2Bがタッチスクリーンディスプレイ2に対する接触を検出する指、又はスタイラスペン等を単に「指」ということがある。
スマートフォン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を参照しながら、ディスプレイ2Aに表示される画面の例について説明する。図4は、ホーム画面の一例を示している。ホーム画面は、デスクトップ、又は待受画面と呼ばれることもある。ホーム画面は、ディスプレイ2Aに表示される。ホーム画面は、スマートフォン1にインストールされているアプリケーションのうち、どのアプリケーションを実行するかを利用者に選択させる画面である。スマートフォン1は、ホーム画面で選択されたアプリケーションをフォアグランドで実行する。フォアグランドで実行されるアプリケーションは、ホーム画面とは異なる画面をディスプレイ2Aに表示させる。
スマートフォン1は、ホーム画面にアイコンを配置することができる。図4に示すホーム画面40には、複数のアイコン50が配置されている。それぞれのアイコン50は、スマートフォン1にインストールされている特定のアプリケーションと予め対応付けられている。スマートフォン1は、アイコン50に対する特定のジェスチャ(例えば、タップ)を検出すると、そのアイコン50に対応付けられているアプリケーションを実行する。例えば、スマートフォン1は、メールアプリケーションに対応付けられたアイコン50に対するタップが検出されると、メールアプリケーションを実行する。
アイコン50は、画像と文字列を含む。アイコン50は、画像に代えて、記号又は図形を含んでもよい。アイコン50は、画像又は文字列のいずれか一方を含まなくてもよい。アイコン50は、所定の規則に従って配置される。アイコン50の背後には、壁紙41が表示される。壁紙は、フォトスクリーン又はバックスクリーンと呼ばれることもある。スマートフォン1は、任意の画像を壁紙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は、スマートフォン1の構成を示すブロック図である。スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。タッチスクリーン2Bは、ジェスチャを検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Fを有する。コントローラ10はボタン3と協働することによってボタンに対する操作を検出する。ボタンに対する操作は、例えば、クリック、ダブルクリック、プッシュ、及びマルチプッシュである。
例えば、ボタン3A〜3Cは、ホームボタン、バックボタンまたはメニューボタンである。例えば、ボタン3Dは、スマートフォン1のパワーオン/オフボタンである。ボタン3Dは、スリープ/スリープ解除ボタンを兼ねてもよい。例えば、ボタン3E及び3Fは、音量ボタンである。
照度センサ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に加えて、または、レシーバ7に代えて、スピーカをさらに有してもよい。
ストレージ9は、プログラム及びデータを記憶する。また、ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶デバイス、及び磁気記憶デバイス等の任意の記憶デバイスを含んでよい。また、ストレージ9は、複数の種類の記憶デバイスを含んでよい。また、ストレージ9は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ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が提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。なお、制御プログラム9Aが提供する機能は、メールアプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
コントローラ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に表示されている情報を変更する等の各種制御を実行する。
カメラ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の位置及び姿勢の変化を検出するために、組み合わせて利用される。
なお、図5においてストレージ9が記憶することとしたプログラムの一部又は全部は、通信ユニット6による無線通信で他の装置からダウンロードされてもよい。また、図5においてストレージ9が記憶することとしたプログラムの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な記憶媒体に記憶されていてもよい。また、図5においてストレージ9が記憶することとしたプログラムの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能なCD、DVD、又はBlu−ray等の記憶媒体に記憶されていてもよい。
また、図5に示したスマートフォン1の構成は一例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図5の例に限定されない。例えば、スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに代えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。また、スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。また、図5に示した例では、スマートフォン1が2つのカメラを備えることとしたが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。また、図5に示した例では、スマートフォン1が位置及び姿勢を検出するために3種類のセンサを備えることとしたが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよいし、位置及び姿勢を検出するための他の種類のセンサを備えてもよい。
図6から図10を参照しながら、制御プログラム9Aが提供する機能に基づく制御の例について説明する。図6は、ホーム画面の切り替えの例を示す図である。図6に示す例では、スマートフォン1は、4つのホーム画面を有している。ステップS11では、ホーム画面40aがディスプレイ2Aに表示されている。ロケータ51が示すように、ホーム画面40aは、最も左に位置するホーム画面である。ホーム画面40aには、中心よりも上側の領域に7つのアイコン50が配置される。
スマートフォン1は、ホーム画面40aの表示中に指F1による左フリックを検出すると、ステップS12に示すように、ディスプレイ2Aに表示する画面をホーム画面40aからホーム画面40bへ切り替える。ロケータ51が示すように、ホーム画面40bは、左から2番目に位置するホーム画面である。ホーム画面40bには、中心よりも下側の領域に6つのアイコン50が配置される。
スマートフォン1は、ホーム画面40bの表示中に指F1による左フリックを検出すると、ステップS13に示すように、ディスプレイ2Aに表示する画面をホーム画面40bからホーム画面40cへ切り替える。ロケータ51が示すように、ホーム画面40cは、左から3番目に位置するホーム画面である。ホーム画面40cには、中心よりも上側の領域に1つのアイコン50が配置される。
スマートフォン1は、ホーム画面40cの表示中に指F1による左フリックを検出すると、ステップS14に示すように、ディスプレイ2Aに表示する画面をホーム画面40cからホーム画面40dへ切り替える。ロケータ51が示すように、ホーム画面40dは、最も右に位置するホーム画面である。ホーム画面40dには、アイコン50が配置されていない。
図6では、ホーム画面の表示中に左フリックが検出された場合について説明したが、スマートフォン1は、ホーム画面の表示中に右フリックが検出された場合には、図6に示した例とは逆にホーム画面を切り替える。例えば、スマートフォン1は、ホーム画面40dの表示中に指F1による右フリックを検出すると、ディスプレイ2Aに表示する画面をホーム画面40dからホーム画面40cへ切り替える。
図6では、ホーム画面の表示中にフリックが検出された場合に表示するホーム画面を切り替えることとしたが、スマートフォン1は、フリック以外の操作が検出された場合にホーム画面を切り替えてもよい。例えば、スマートフォン1は、ホーム画面の表示中に右方向又は左方向への所定の距離以上のスワイプが検出された場合に、スワイプの方向に応じてホーム画面を切り替えてもよい。
このように、スマートフォン1は、ホーム画面の表示中に所定のジェスチャが検出された場合に、ディスプレイ2Aに表示するホーム画面を切り替える。
図7は、ホーム画面間でのアイコンの移動の例を示す図である。図7に示すステップS21では、ホーム画面40aがディスプレイ2Aに表示されている。利用者は、ホーム画面40a上のアイコン50を移動させたい場合、指F1を用いてそのアイコン50に対してロングタップを行う。スマートフォン1は、アイコン50に対するロングタップを検出すると、配置変更モードを設定する。そして、スマートフォン1は、ロングタップが行われたアイコン50を選択状態とし、その他のアイコン50を非選択状態とする。
スマートフォン1は、アイコン50に対するロングタップ以外のジェスチャを検出した場合に、配置変更モードを設定してもよい。例えば、スマートフォン1は、アイコン50に対するダブルタップを検出した場合に、配置変更モードを設定してもよい。この場合、スマートフォン1は、ダブルタップが行われたアイコン50を選択状態とし、その他のアイコン50を非選択状態とする。
配置変更モードにおいて、スマートフォン1は、選択状態のアイコン50と、非選択状態のアイコン50とを異なる態様で表示させる。例えば、スマートフォン1は、ステップS22に示すように、選択状態のアイコン50を相対的に高い明度で表示し、非選択状態のアイコン50を相対的に低い明度で表示する。スマートフォン1は、選択状態のアイコン50を細かく振動するように表示し、非選択状態のアイコン50を静止した状態で表示させてもよい。
利用者は、非選択状態となっている別のアイコン50をさらに移動させたい場合、指F1を用いてそのアイコン50をタップする。スマートフォン1は、配置変更モードにおいて、非選択状態にあるアイコン50に対するタップを検出すると、ステップS23に示すように、タップされたアイコン50を選択状態とする。非選択状態となっているアイコンを選択状態にするためのジェスチャは、ロングタップ又はダブルタップ等の他のジェスチャでもよい。
利用者は、移動させたい全てのアイコン50を選択状態にした後で、表示されるホーム画面を切り替えるための所定のジェスチャを行って、アイコン50の移動先のホーム画面をディスプレイ2Aに表示させる。スマートフォン1は、配置変更モードにおいてホーム画面を切り替える場合、新たに表示される画面に配置されているアイコンを非選択状態にする。また、スマートフォン1は、選択状態にあるアイコンを、切り替え後のホーム画面においても、切り替え前に表示されていた位置と同じ位置に表示させる。
図7に示す例では、スマートフォン1は、配置変更モードにおいて指F1による左フリックを検出したことを契機として、ステップS24に示すように、ディスプレイ2Aに表示する画面をホーム画面40aからホーム画面40bへ切り替えている。そして、スマートフォン1は、ホーム画面40bに配置されているアイコン50を非選択状態にしている。また、スマートフォン1は、選択状態にある2つのアイコン50を、ホーム画面40aが表示されていたときと同じ位置に表示させている。
利用者は、選択状態にあるアイコン50の移動先のホーム画面がディスプレイ2Aに表示されると、配置変更モードを終了させるための所定の操作を実行する。配置変更モードを終了させるための所定の操作は、例えば、ボタン3を押下する操作である。配置変更モードを終了させるための所定の操作は、タッチスクリーンディスプレイ2上のアイコン50が表示されていない領域をタップする操作、又は、スマートフォン1を振る操作等の他の操作でもよい。
スマートフォン1は、配置変更モードを終了させるための所定の操作を検出すると、アイコン50の選択状態又は非選択状態を解除して通常の状態に戻す。図7に示す例では、スマートフォン1は、ステップS25でボタン3Cの押下を検出したことを契機として、ステップS26に示すように、それぞれのアイコン50を通常の状態に戻している。その結果、ホーム画面40aに表示されていた2つのアイコン50は、利用者の意図した通りに、ホーム画面40bに移動している。
このように、スマートフォン1は、選択状態にあるアイコンをホーム画面の切り替え後も同じ位置に表示させることによって、ホーム画面間でのアイコンの移動を実現する。この方法では、利用者は、選択状態にあるアイコンの移動先のホーム画面を指定するために、ホーム画面を切り替える際に通常行う操作を行えばよい。このため、利用者は、アイコンの移動先のホーム画面を容易に指定することができる。
図8は、ホーム画面間でのアイコンの移動の他の例を示す図である。図8に示すステップS31では、図7に示したステップS24と同様に、配置変更モードにおいてホーム画面が切り替えられ、選択状態にある2つのアイコンが切り替え前と同じ位置に表示されている。
利用者は、選択状態となっているアイコン50の1つを現在表示されているホーム画面40bに移動させたい場合、ステップS32に示すように、指F1を用いてそのアイコン50をタップする。スマートフォン1は、配置変更モードにおいて、選択状態にあるアイコン50に対するタップを検出すると、ステップS33に示すように、タップされたアイコン50を非選択状態とする。その結果、非選択状態となったアイコン50は、非選択状態にある他のアイコン50と同様に、ホーム画面40bに配置されているものとして扱われるようになる。
選択状態となっているアイコンを非選択状態にするためのジェスチャは、ロングタップ又はダブルタップ等の他のジェスチャでもよい。スマートフォン1は、非選択状態になったアイコンに対するタップ等のジェスチャが検出された場合、そのアイコンを選択状態に戻す。
利用者は、選択状態となっているもう1つのアイコン50をホーム画面40cに移動させたい場合、表示されるホーム画面を切り替えるための所定のジェスチャを行ってホーム画面40cをディスプレイ2Aに表示させる。
図8に示す例では、スマートフォン1は、配置変更モードにおいて指F1による左フリックを検出したことを契機として、ステップS34に示すように、ディスプレイ2Aに表示する画面をホーム画面40bからホーム画面40cへ切り替えている。そして、スマートフォン1は、ホーム画面40cに配置されているアイコン50を非選択状態にしている。また、スマートフォン1は、選択状態にあるアイコン50を、ホーム画面40bが表示されていたときと同じ位置に表示させている。ステップS32でタップされたアイコン50は、ホーム画面40bに配置されているものとして扱われるため、ステップS34では表示されない。
利用者は、選択状態となっているアイコン50の移動先を確定させるため、ステップS35に示すように、指F1を用いてそのアイコン50をタップする。スマートフォン1は、選択状態にあるアイコン50に対するタップを検出すると、タップされたアイコン50を非選択状態とする。そして、スマートフォン1は、選択状態にあるアイコンがなくなると、ステップS36に示すように、配置変更モードを終了させ、アイコン50の選択状態又は非選択状態を解除して通常の状態に戻す。その結果、選択状態となっていたもう1つのアイコン50は、利用者の意図した通りに、ホーム画面40cに移動している。
このように、スマートフォン1は、選択状態にあるアイコンの移動先を個別に確定させることもできる。また、スマートフォン1は、選択状態にあるアイコンをそれぞれ異なるホーム画面に移動させることもできる。
図9は、ホーム画面間でのアイコンの移動の他の例を示す図である。図9に示すステップS41では、図7に示したステップS23と同様に、配置変更モードにおいて、ホーム画面40a上の2つのアイコン50が選択状態になっている。
利用者は、選択状態となっている2つのアイコン50をホーム画面40cに移動させたい場合、ステップS41及びステップS42に示すように、表示されるホーム画面を切り替えるための所定のジェスチャを行う。その結果、スマートフォン1は、ステップS43に示すように、ホーム画面40cをディスプレイ2Aに表示させる。
ステップS43では、ホーム画面40cに配置されていたアイコン50が非選択状態になっている。また、選択状態にある2つのアイコン50が、ホーム画面40aが表示されていたときと同じ位置に表示されている。そして、非選択状態にあるアイコン50と、選択状態にあるアイコン50の1つとが同じ位置に表示されている。
このように、非選択状態にあるアイコン50と、選択状態にあるアイコン50とが同じ位置に表示される場合、スマートフォン1は、少なくとも一方のアイコン50の位置をずらす。その結果、利用者は、2つのアイコン50が同じ位置に表示されていることに容易に気付くことができる。そして、スマートフォン1は、選択状態にあるアイコン50が他のアイコン50と同じ位置に表示されている場合、そのアイコン50が非選択状態に移行することを禁止する。
この場合、利用者は、ステップS44及びステップS45に示すように、選択状態にあるアイコン50をドラッグすることによって、アイコン50の重なりを解消することができる。スマートフォン1は、選択状態にあるアイコン50のドラッグが検出された場合、そのアイコン50をドラッグにおけるリリースが検出された位置に移動させる。ただし、リリースが検出された位置に他のアイコン50が表示されている場合、スマートフォン1は、ドラッグされたアイコン50の移動をキャンセルする。
アイコン50の重なりが解消された後、スマートフォン1は、検出した操作に応じて配置変更モードを終了させる。その結果、ステップS46に示すように、ホーム画面40aに表示されていた2つのアイコン50は、利用者の意図した通りに、ホーム画面40cに移動する。
図9では、アイコン50の重なりを解消するために選択状態にあるアイコン50をドラッグする例を示したが、ドラッグによってホーム画面内でアイコン50を移動させる目的は、これに限定されない。例えば、利用者は、ホーム画面上でのアイコン50のレイアウトを好みに合わせて変更するために、選択状態にあるアイコン50をドラッグによって移動させることができる。
図10は、ホーム画面上でのアイコンの入れ替えの例を示す図である。図10に示すステップS51では、図7に示したステップS24と同様に、配置変更モードにおいてホーム画面が切り替えられ、選択状態にある2つのアイコンが切り替え前と同じ位置に表示されている。
利用者は、選択状態となっているアイコン50の1つを非選択状態のアイコン50と入れ替えたい場合、まず、ステップS52に示すように、指F1を用いて非選択状態のアイコン50をタップする。すると、スマートフォン1は、ステップS53に示すように、タップされたアイコン50を選択状態にする。
続いて、利用者は、ステップS54に示すように、入れ替えたい一方のアイコン50に指F1でタッチし、入れ替えたい一方のアイコン50に指F2でタッチする。そして、利用者は、指F1と指F2とを用いてピンチインを行う。スマートフォン1は、選択状態にある2つのアイコン50を起点とするピンチインが検出された場合、ステップS55に示すように、それらのアイコン50が表示される位置を入れ替える。
その後、スマートフォン1は、検出した操作に応じて配置変更モードを終了させる。その結果、ステップS56に示すように、ホーム画面40bにおいて2つのアイコン50の表示される位置が、利用者の意図した通りに入れ替わる。
アイコン50を表示する位置の入れ替えは、アイコン50をドラッグすることによって実行することもできるが、その場合、いずれかのアイコン50を一時的に退避するスペースが必要となる上に、ドラッグを3回以上実行しなければならない。図10に示した方式は、アイコン50を一時的に退避するスペースが不要であり、手数も少なくて済む。
図11を参照しながら、制御プログラム9Aが提供する機能に基づく制御の処理手順の例について説明する。図11は、利用者の指示に従ってホーム画面上のアイコンを移動させる制御の処理手順を示している。図11に示す処理手順は、コントローラ10が、制御プログラム9Aを実行することによって実現される。図11に示す処理手順は、ホーム画面40がディスプレイ2Aに表示されている間、繰り返して実行される。コントローラ10は、図11に示す処理手順と並行して、ホーム画面40に関する制御のための他の処理手順を実行することがある。
コントローラ10は、ステップS101として、タッチスクリーン2Bの検出結果を取得する。そして、コントローラ10は、ステップS102として、配置変更モードが設定されているかを判定する。配置変更モードが設定されていない場合(ステップS102,No)、コントローラ10は、ステップS103として、取得した検出結果に基づいて、配置変更モードを開始するためのジェスチャが行われたかを判定する。
配置変更モードを開始するためのジェスチャが行われた場合(ステップS103,Yes)、コントローラ10は、ステップS104として、配置変更モードを設定する。そして、コントローラ10は、ステップS105として、ジェスチャが行われたアイコンを選択状態にする。また、コントローラ10は、ステップS106として、その他のアイコンを非選択状態にする。
配置変更モードを開始するためのジェスチャが行われていない場合(ステップS103,No)、コントローラ10は、ステップS107として、取得した検出結果に応じた処理を実行する。例えば、取得した検出結果に基づいてアイコンがタップされたと判定した場合、コントローラ10が、タップされたアイコンに対応するアプリケーションを起動させる。
ステップS102で配置変更モードが設定されていた場合(ステップS102,Yes)、コントローラ10は、ステップS108として、タッチされた位置にアイコンが表示されているかを判定する。タッチされた位置にアイコンが表示されている場合(ステップS108,Yes)、コントローラ10は、ステップS109として、取得した検出結果に基づいて、アイコンへのタップが行われたかを判定する。
アイコンへのタップが行われた場合(ステップS109,Yes)、コントローラ10は、ステップS110として、タップされたアイコンが選択状態にあるかを判定する。タップされたアイコンが選択状態にない場合(ステップS110,No)、コントローラ10は、ステップS111として、タップされたアイコンを選択状態にする。そして、コントローラ10は、ステップS112として、重なっているアイコンがあるかを判定する。
重なっているアイコンがない場合(ステップS112,No)、コントローラ10は、ステップS113として、配置変更モードを終了させるための操作が行われたかを判定する。配置変更モードを終了させるための操作が行われた場合(ステップS113,Yes)、コントローラ10は、ステップS114として、配置変更モードを解除する。重なっているアイコンがある場合(ステップS112,Yes)、又は、配置変更モードを終了させるための操作が行われていない場合(ステップS113,No)、ステップS114は実行されない。
タップされたアイコンが選択状態にある場合(ステップS110,Yes)、コントローラ10は、ステップS115として、タップされたアイコンが他のアイコンと重なっているかを判定する。タップされたアイコンが他のアイコンと重なっていない場合(ステップS115,No)、コントローラ10は、ステップS116として、タップされたアイコンを非選択状態にする。そして、コントローラ10は、ステップS117として、選択状態のアイコンがあるかを判定する。選択状態のアイコンがもうない場合(ステップS117,No)、コントローラ10は、ステップS118として、配置変更モードを解除する。
タップされたアイコンが他のアイコンと重なっている場合(ステップS115,Yes)、ステップS116からステップS118は実行されない。選択状態のアイコンがある場合(ステップS117,Yes)、ステップS112以降が実行される。
アイコンへのタップが行われていない場合(ステップS109,No)、コントローラ10は、ステップS119として、取得した検出結果に基づいて、アイコンのドラッグが行われたかを判定する。アイコンのドラッグが行われた場合(ステップS119,Yes)、コントローラ10は、ステップS120として、ドラッグされたアイコンが選択状態にあるかを判定する。ドラッグされたアイコンが選択状態にある場合(ステップS120,Yes)、コントローラ10は、ステップS121として、ドラッグのリリース位置に他のアイコンがあるかを判定する。ドラッグのリリース位置に他のアイコンがない場合(ステップS121,No)、コントローラ10は、ステップS122として、ドラッグされたアイコンをリリース位置へ移動させる。その後、ステップS112以降が実行される。
ドラッグされたアイコンが選択状態にない場合(ステップS120,No)、又は、ドラッグのリリース位置に他のアイコンがある場合(ステップS121,Yes)、ステップS122を実行することなく、ステップS112以降が実行される。
アイコンのドラッグが行われていない場合(ステップS119,No)、コントローラ10は、ステップS123として、取得した検出結果に基づいて、ピンチインが行われたかを判定する。ピンチインが行われた場合(ステップS123,Yes)、コントローラ10は、ステップS124として、ピンチインの起点の両方に選択状態のアイコンが存在するかを判定する。ピンチインの起点の両方に選択状態のアイコンが存在する場合(ステップS124,Yes)、コントローラ10は、ステップS125として、それらのアイコンが表示される位置を入れ替える。その後、ステップS112以降が実行される。
ピンチインの起点の少なくとも一方に選択状態のアイコンが存在しない場合(ステップS124,No)、ステップS125を実行することなく、ステップS112以降が実行される。
ピンチインが行われていない場合(ステップS123,No)、コントローラ10は、ステップS126として、取得した検出結果に基づいて、アイコンが表示されている位置でフリックが行われたかを判定する。アイコンが表示されている位置でフリックが行われた場合(ステップS126,Yes)、コントローラ10は、ステップS127として、フリックが行われた位置に表示されているアイコンが選択状態かを判定する。フリックが行われた位置に表示されているアイコンが選択状態でない場合(ステップS127,No)、コントローラ10は、ステップS128として、選択状態のアイコンを表示したままでフリックの方向に応じてホーム画面を切り替える。そして、コントローラ10は、ステップS129として、切り替え後のホーム画面で重なっているアイコンがあるかを判定する。重なっているアイコンがある場合(ステップS129,Yes)、コントローラ10は、ステップS130として、重なっているアイコンの少なくとも一方をずらす。その後、ステップS112以降が実行される。
アイコンが表示されている位置でフリックが行われていない場合(ステップS126,No)、ステップS127からステップS130を実行することなく、ステップS112以降が実行される。フリックが行われた位置に表示されているアイコンが選択状態である場合(ステップS127,Yes)、ステップS128からステップS130を実行することなく、ステップS112以降が実行される。切り替え後のホーム画面で重なっているアイコンがない場合(ステップS129,No)、ステップS130を実行することなく、ステップS112以降が実行される。
ステップS108においてタッチされた位置にアイコンが表示されていない場合(ステップS108,No)、コントローラ10は、ステップS131として、取得した検出結果に基づいて、フリックが行われたかを判定する。フリックが行われた場合(ステップS131,Yes)、ステップS128以降が実行される。フリックが行われていない場合(ステップS131,No)、ステップS112以降が実行される。
本発明を完全かつ明瞭に開示するために特徴的な実施例に関し記載してきた。しかし、添付の請求項は、上記実施例に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。
例えば、図5に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
また、上記の実施形態では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。例えば、添付の請求項に係る装置は、モバイルフォン、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、又はゲーム機等の携帯電子機器であってもよい。また、添付の請求項に係る装置は、デスクトップパソコン、テレビ受像器等の据え置き型の電子機器であってもよい。
また、上記の実施形態では、アイコンを移動させるために配置変更モードへ遷移することとしたが、配置変更モードへ遷移することなくアイコンの移動を可能にしてもよい。図12は、配置変更モードへ遷移することなくアイコンの移動を可能にする例を示す図である。図12に示すステップS61では、ホーム画面40aにアイコン50が表示されている。そして、ステップS62では、利用者が、指F1及び指F2を用いて2つのアイコン50にタッチしている。
続いて、ステップS63では、利用者が、指F1及び指F2を用いて2つのアイコン50にタッチしたままで、指F3を用いて左フリックを行っている。スマートフォン1は、アイコン50にタッチしたままでフリックが行われたことを検出すると、ステップS64に示すように、タッチされているアイコン50を表示したままで、表示される画面をホーム画面40bに切り替える。そして、指F1及び指F2のリリースが検出された後も、スマートフォン1は、ステップS65に示すように、指F1及び指F2によってタッチされていたアイコンをホーム画面40b上に表示させる。
このように、図12に示す方式では、配置変更モードへ遷移することなくホーム画面間でのアイコンの移動が実現される。図12に示す方式は、アイコン50をタッチする操作と、ホーム画面を切り替える際に通常行う操作との組み合わせによって実現される。アイコン50をタッチする操作は、移動を妨害するために押さえつける動作を連想させる。このため、図12に示す方式の操作は、直感的かつ容易に実行することができる。