本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明する。
(実施形態)
図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、地図アプリケーション9D、設定データ9Zを記憶する。メールアプリケーション9Bは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。地図アプリケーション9Dは、地図を表示するための機能を提供する。設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、加速度センサ15等によって検出された姿勢の変化、及びタッチスクリーン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を実行することにより、加速度センサ15等によって検出された姿勢の変化、及びタッチスクリーン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の位置及び姿勢の変化を検出するために、組み合わせて利用される。以下の説明では、スマートフォン1の姿勢を検出するための検出部を姿勢検出部18と呼ぶことがある。姿勢検出部18は、加速度センサ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および図7を参照しながら、タッチスクリーン2B及び姿勢検出部18の検出結果に基づくスマートフォン1の動作の例について説明する。図6は、スマートフォン1を傾けずに持って操作する場合のスマートフォン1の動作の例を示す図である。図6に示すステップSA1では、利用者は、スマートフォン1を傾けずに片手で持っている。「傾けずに」とは、ディスプレイ2Aに表示されている画面の上下方向が重力の方向とほぼ一致していることを意味する。スマートフォン1が傾いていると判定するための閾値は任意に設定可能であり、例えば、画面の上下方向と重力の方向の角度が20度乃至それより大きい場合でも、スマートフォン1が傾けずに持たれていると判定してよい。
ステップSA1では、地図画面61がディスプレイ2Aに表示されている。地図画面61は、コントローラ10が地図アプリケーション9Dを実行することによって、ディスプレイ2Aに表示される。この状態で、利用者が、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して左方向へのスワイプを行ったものとする。スマートフォン1は、傾けずに持たれているときに左方向へのスワイプを検出すると、ステップSA2に示すように、指F1の動きに合わせて、地図画面61を左方向へスクロールさせる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSA3に示すように、スクロールを止める。
一方、ステップSA1の状態で、利用者が、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して右方向へのスワイプを行ったものとする。スマートフォン1は、傾けずに持たれているときに右方向へのスワイプを検出すると、ステップSA4に示すように、指F1の動きに合わせて、地図画面61を右方向へスクロールさせる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSA5に示すように、スクロールを止める。
このように、スマートフォン1は、地図画面61を表示中に左右方向へのスワイプを検出すると、傾けずに持たれている場合には、指の動きに合わせて地図画面61をスクロールさせる。
図7は、スマートフォン1を傾けて持って操作する場合のスマートフォン1の動作の例を示す図である。図7に示すステップSB1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSB1では、地図画面61がディスプレイ2Aに表示されている。
この状態から、利用者が、スマートフォン1を左に(反時計回りに)傾け、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して左方向へのスワイプを行ったものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。スマートフォン1の傾きは、例えば、ディスプレイ2Aに表示されている画面の下端のうち、左下端及び右下端のいずれが、重力方向において他方よりも下に位置するかで判断される。スマートフォン1の傾きの大きさは、ディスプレイ2Aに表示されている画面の左右方向D2と水平面の方向D1とがなす角度R1に相当する。スマートフォン1は、傾きが閾値より大きいときに左方向へのスワイプを検出すると、ステップSB2に示すように、指F1の動きに合わせて、地図画面61を拡大させる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSB3に示すように、拡大を止める。
一方、ステップSB1の状態から、利用者が、スマートフォン1を左に傾け、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して右方向へのスワイプを行ったものとする。スマートフォン1は、傾きが閾値より大きいときに右方向へのスワイプを検出すると、ステップSB4に示すように、指F1の動きに合わせて、地図画面61を縮小させる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSB5に示すように、縮小を止める。
このように、スマートフォン1は、地図画面61を表示中に左右方向へのスワイプを検出すると、傾けて持たれている場合には、指の動きに合わせて地図画面61を拡大または縮小させる。
図6及び図7の例に示したように、スマートフォン1は、傾きの大きさに応じて、タッチスクリーン2Bによって検出されるジェスチャに対応して実行する処理を切り替える。このため、スマートフォン1は、タッチスクリーン2Bによって検出される各ジェスチャに複数の処理を割り当てることができる。このことは、利用者が、タッチスクリーン2Bに対する操作に応じて多様な処理を実行することを可能にする。
図6および図7に示したように、スマートフォン1を持っている手の指で操作を行う場合、複数の指を用いるマルチタッチ等の複雑なジェスチャを行うのは困難であるため、利用者がタッチスクリーン2Bに対して行える操作は限られる。しかし、このような状況においても、スマートフォン1を傾けることは容易である。このため、タッチスクリーン2Bが検出するジェスチャに対応して実行する処理をスマートフォン1の傾きに応じて切り替えることは、少ない種類のジェスチャしか行えない状況でも、多くの種類の処理を実行することを可能にする。
図6および図7では、地図画面61において実行される処理をスマートフォン1の傾きに応じて切り替える例を示したが、傾きに応じて実行される処理が切り替わる画面は、地図画面61に限定されない。図6および図7では、スマートフォン1の傾きに応じて、画面のスクロールと拡大/縮小とで処理が切り替わる例を示したが、傾きに応じて切り替わる処理はこれらに限定されない。
図6および図7では、スマートフォン1の傾きに応じてスワイプに対応する処理が切り替わる例を示したが、傾きに応じて処理が切り替わるジェスチャはこれに限定されない。図6および図7では、スマートフォン1が左に傾いた場合に処理が切り替わる例を示したが、処理の切り替えを引き起こす要因はこれに限定されない。例えば、スマートフォン1は、傾きの方向に応じて実行する処理を切り替えてもよいし、傾きの大きさの段階に応じて実行される処理が切り替わってもよい。
図8から図11を参照しながら、タッチスクリーン2Bが検出するジェスチャに対応して実行する処理をスマートフォン1の傾きに応じて切り替える変形例について説明する。図8は、スマートフォン1の傾きの方向に応じて処理を切り替える例を示す図である。図8に示すステップSC1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSC1では、地図画面61がディスプレイ2Aに表示されている。
この状態から、利用者が、スマートフォン1を左に傾け、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して、ある方向へのスワイプを行ったものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。スマートフォン1は、左への傾きが閾値より大きいときにスワイプを検出すると、ステップSC2に示すように、指F1の動きに合わせて、地図画面61を拡大させる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSC3に示すように、拡大を止める。
一方、ステップSC1の状態から、利用者が、スマートフォン1を右に(時計回りに)傾け、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して、ある方向へのスワイプを行ったものとする。スマートフォン1は、右への傾きが閾値より大きいときにスワイプを検出すると、ステップSC4に示すように、指F1の動きに合わせて、地図画面61を縮小させる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSC5に示すように、縮小を止める。
このように、スマートフォン1は、タッチスクリーン2Bが検出するジェスチャに対応して実行する処理をスマートフォン1の傾きの方向に応じて変更してもよい。図8では、左右方向への傾きに応じて処理を切り替える例を示したが、スマートフォン1は、他の方向への傾きに応じて処理を切り替えてもよい。例えば、スマートフォン1は、ディスプレイ2Aがやや下を向くように前方に傾けられた場合に、ジェスチャに対応して実行する処理を切り替えてもよい。例えば、スマートフォン1は、ディスプレイ2Aがやや上を向くように後方に傾けられた場合に、ジェスチャに対応して実行する処理を切り替えてもよい。
図9は、スマートフォン1の傾きに応じた処理の切り替えを利用者に通知する例を示す図である。図9に示すステップSD1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSD1では、地図画面61がディスプレイ2Aに表示されている。ステップSD1では、さらに標識62がディスプレイ2Aに表示されている。標識62は、スワイプが行われた場合に地図画面61がスクロールすることを示している。
この状態で、利用者が、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して左方向へのスワイプを行ったものとする。スマートフォン1は、傾けずに持たれているときに左方向へのスワイプを検出すると、ステップSD2に示すように、指F1の動きに合わせて、地図画面61を左方向へスクロールさせる。そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたことを検出すると、ステップSD3に示すように、スクロールを止める。この間、標識62は、継続してディスプレイ2Aに表示される。
一方、ステップSD1の状態から、利用者が、スマートフォン1を左に傾けたものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。検出された傾きが閾値よりも大きい場合、スマートフォン1は、ステップSD4に示すように、標識62に代えて、標識63をディスプレイ2Aに表示する。標識63は、左方向へのスワイプが行われた場合に地図画面61が拡大され、右方向へのスワイプが行われた場合に地図画面61が縮小されることを示している。
傾きが閾値を超えた場合にディスプレイ2Aに表示する標識を変更することにより、利用者は、タッチスクリーン2Bが検出するジェスチャに対応して実行される処理が切り替わったことを容易に知ることができる。図9では、傾きに応じた処理の切り替えを、ディスプレイ2Aを用いて利用者に通知する例を示したが、通知の仕方はこれに限定されない。例えば、スマートフォン1は、音、振動、ランプの点灯等によって利用者に通知を行ってもよい。
標識63が表示されている間に、利用者が、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して左方向へのスワイプを行ったものとする。スマートフォン1は、標識63を表示しているとき、すなわち、傾きが閾値より大きいときに左方向へのスワイプを検出すると、ステップSD4に示すように、指F1の動きに合わせて、地図画面61を拡大させる。そして、スマートフォン1は、傾きが閾値よりも小さくなったことを検出すると、ステップSD5に示すように、標識63に代えて、標識62をディスプレイ2Aに表示する。
図10は、地図画面以外の画面を表示しているときにスマートフォン1の傾きに応じて処理を切り替える例を示す図である。図10に示すステップSE1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSE1では、ホーム画面40がディスプレイ2Aに表示されている。
この状態で、ステップSE2に示すように、利用者が、スマートフォン1を持っている手の指F1を使って、ホーム画面40上に配置されているアイコン50aをタップしたものとする。スマートフォン1は、傾けずに持たれているときにアイコン50aへのタップを検出すると、アイコン50aに対応付けられているアプリケーションを実行する。アイコン50aはメールアプリケーション9Bに対応付けられているので、この場合、スマートフォン1は、メールアプリケーション9Bを実行する。そして、スマートフォン1は、ステップSE3に示すように、メールアプリケーション9Bによって提供される受信トレイ画面71をディスプレイ2Aに表示する。
一方、ステップSE1の状態から、利用者が、スマートフォン1を左に傾けたものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。検出された傾きが閾値よりも大きい場合、スマートフォン1は、ステップSE4に示すように、ホーム画面40を再構築モードへ移行させる。再構築モードは、ホーム画面40上に配置されたアイコン50の移動及び削除が可能になるモードである。再構築モードでは、アイコン50を削除するための削除ボタン52が各アイコン50に付加される。
再構築モードにおいて、利用者が、スマートフォン1を持っている手の指F1を使ってアイコン50aに付加された削除ボタン52をタップしたものとする。スマートフォン1は、再構築モードへ移行しているとき、すなわち、傾きが閾値より大きいときに削除ボタン52へのタップを検出すると、タップされた削除ボタン52に対応するアイコン50aを削除する。このとき、スマートフォン1は、メールアプリケーション9Bをアンインストールしてもよい。そして、スマートフォン1は、傾きが閾値よりも小さくなったことを検出すると、ステップSE5に示すように、ホーム画面40の再構築モードを解除する。
図11は、スマートフォン1の傾きの大きさの段階に応じて処理を切り替える例を示す図である。図11に示すステップSF1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSF1では、メール作成画面72がディスプレイ2Aに表示されている。ディスプレイ2Aの下部には、複数のボタンが配置された仮想キーボード81aが表示されている。スマートフォン1は、仮想キーボード81aに対するタップを検出すると、タップされたボタンに対応する小文字がメール作成画面72に入力されるように処理する。
この状態から、ステップSF2に示すように、利用者が、スマートフォン1を左に傾けたものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。スマートフォン1は、左への傾きが第1の閾値より大きい場合、ステップSF2に示すように、ディスプレイ2Aの下部に、仮想キーボード81aに代えて、複数のボタンが配置された仮想キーボード81bを表示する。スマートフォン1は、仮想キーボード81bに対するタップを検出すると、タップされたボタンに対応する大文字がメール作成画面72に入力されるように処理する。
この状態から、ステップSF3に示すように、利用者が、スマートフォン1をさらに左に傾けたものとする。スマートフォン1は、左への傾きが第2の閾値(第2の閾値>第1の閾値)より大きい場合、ステップSF3に示すように、ディスプレイ2Aの下部に、仮想キーボード81bに代えて、複数のボタンが配置された仮想キーボード81cを表示する。スマートフォン1は、仮想キーボード81cに対するタップを検出すると、タップされたボタンに対応する数字がメール作成画面72に入力されるように処理する。
一方、ステップSF1の状態から、ステップSF4に示すように、利用者が、スマートフォン1を右に傾けたものとする。スマートフォン1は、右への傾きが第1の閾値より大きい場合、ステップSF4に示すように、ディスプレイ2Aの下部に、仮想キーボード81aに代えて、複数のボタンが配置された仮想キーボード81dを表示する。スマートフォン1は、仮想キーボード81dに対するタップを検出すると、タップされたボタンに対応する記号がメール作成画面72に入力されるように処理する。
図11では、左へ傾きの大きさに応じてジェスチャに対応する処理が2段階で切り替わる例を示したが、傾きの方向及び傾きの段階数はこれに限定されない。
図11では、スマートフォン1が、仮想キーボードに対するジェスチャによって入力される文字の種類をスマートフォン1の傾きに応じて切り替える例を示した。このように構成することにより、利用者は、切り替えボタンのタップ等の操作をタッチスクリーン2Bに対して行うことなく、入力する文字の種類を切り替えることが可能になる。このことは、文字の入力(仮想キーボードに対するジェスチャ)を中断することなく、入力する文字の種類の切り替えることを可能にし、文字入力の迅速化に寄与する。
図12を参照しながら、タッチスクリーン2Bが検出するジェスチャに対応して実行する処理をスマートフォン1の傾きに応じて切り替える制御の処理手順の例について説明する。図12は、検出されるジェスチャに対応して実行する処理を傾きに応じて切り替える制御を示すフローチャートである。図12に示す制御は、コントローラ10が、制御プログラム9Aを実行することによって実現されてもよいし、タッチスクリーン2Bに対するジェスチャの検出時にコントローラ10が実行中のアプリケーションが提供する機能によって実現されてもよい。図12に示す制御は、制御プログラム9Aが提供する機能と実行中のアプリケーションが提供する機能との協働によって実現されてもよい。図12に示す処理手順は、タッチスクリーン2Bに対する操作が可能な間、繰り返して実行される。コントローラ10は、図12に示す処理手順と並行して、他の処理手順を実行することがある。
コントローラ10は、ステップS101として、姿勢検出部18から傾きを取得する。そして、コントローラ10は、ステップS102として、取得した傾きが閾値よりも大きいかを判定する。ここで用いられる閾値は、スマートフォン1が傾いているかを判定するための閾値である。
取得した傾きが閾値よりも大きくない、すなわち、スマートフォン1が傾いていない場合(ステップS102,No)、コントローラ10は、ステップS103として、通常の画面をディスプレイ2Aに表示する。通常の画面は、例えば、何らかのアプリケーションがフォアグランドで実行されている場合はそのアプリケーションが提供する画面であり、さもなければホーム画面である。続いて、コントローラ10は、ステップS104として、タッチスクリーン2Bに対する操作が検出されたかを判定する。タッチスクリーン2Bに対する操作が検出された場合(ステップS104,Yes)、コントローラ10は、ステップS105として、検出された操作に対応する通常の処理を実行する。通常の処理は、スマートフォン1が傾いていないときに同様の操作が検出された場合に実行すべき処理、又は、他の装置が同様の操作を検出した場合に通常実行する処理である。
取得した傾きが閾値よりも大きい、すなわち、スマートフォン1が傾いている場合(ステップS102,Yes)、コントローラ10は、ステップS106として、検出された傾きに応じてディスプレイ2Aに表示される画面を更新する。例えば、コントローラ10は、図9に示したように、ジェスチャに応じて実行される処理が切り替わったことを通知するために標識を変更する。あるいは、コントローラ10は、図10に示したように、表示する画面を異なるモードの画面に変更する。あるいは、コントローラ10は、図11に示したように、画面上に配置される部品の種類、数、表示態様等を変更する。コントローラ10は、更新の必要がなければ、画面をそのまま維持してもよい。
続いて、コントローラ10は、ステップS107として、タッチスクリーン2Bに対する操作が検出されたかを判定する。タッチスクリーン2Bに対する操作が検出された場合(ステップS107,Yes)、コントローラ10は、ステップS108として、検出された操作に対応する処理のうち、ステップS101で取得した傾きに応じた処理を選択する。そして、コントローラ10は、ステップS109として、選択した処理を実行する。
本発明を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。
例えば、図5に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
また、上記の実施形態では、タッチスクリーンディスプレイを備える装置の一例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。例えば、添付の請求項に係る装置は、モバイルフォン、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、又はゲーム機等の携帯電子機器であってもよい。また、添付の請求項に係る装置は、デスクトップパソコン、テレビ受像器等の据え置き型の電子機器であってもよい。
また、上記の実施形態では、スマートフォン1の傾きに応じて、タッチスクリーン2Bによって検出されるジェスチャに対応して実行される処理を切り替える例について説明した。しかし、スマートフォン1の傾きに応じて切り替わる処理は、タッチスクリーン2Bによってされるジェスチャに対応して実行される処理に限定されない。例えば、スマートフォン1は、スマートフォン1の傾きに応じて、ボタン3によって検出される操作に対応して実行される処理を切り替えてもよい。
また、上記の実施形態では、スマートフォン1が傾いているときに操作が検出されると、スマートフォン1が傾いていないときと異なる処理が実行される例について説明した。しかし、スマートフォン1は、傾きが解消された後も、傾いていたときと同じ処理を実行してもよい。すなわち、スマートフォン1は、閾値より大きい傾きを検出するたびにタッチスクリーン2Bによって検出されるジェスチャに対応して実行される処理を切り替え、傾きが閾値よりも小さくなった後もジェスチャに対応して実行される処理をそのまま維持してもよい。
この場合の動作について図13を参照しながら説明する。図13は、傾きが解消された後も処理が切り替わったままにする例を示す図である。図13に示すステップSG1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSG1では、メール作成画面72がディスプレイ2Aに表示されている。ディスプレイ2Aの下部には、複数のボタンが配置された仮想キーボード81aが表示されている。スマートフォン1は、仮想キーボード81aに対するタップを検出すると、タップされたボタンに対応する小文字がメール作成画面72に入力されるように処理する。
この状態から、ステップSG2に示すように、利用者が、スマートフォン1を左に傾けたものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。スマートフォン1は、左への傾きが閾値より大きい場合、ステップSG2に示すように、ディスプレイ2Aの下部に、仮想キーボード81aに代えて、複数のボタンが配置された仮想キーボード81bを表示する。スマートフォン1は、仮想キーボード81bに対するタップを検出すると、タップされたボタンに対応する大文字がメール作成画面72に入力されるように処理する。
この状態から、ステップSG3に示すように、利用者が、スマートフォン1の姿勢を元に戻したものとする。スマートフォン1は、左への傾きが閾値より小さくなっても、ステップSG3に示すように、ディスプレイ2Aの下部に、仮想キーボード81bを表示する。スマートフォン1は、仮想キーボード81bに対するタップを検出すると、タップされたボタンに対応する大文字がメール作成画面72に入力されるように処理する。
この状態から、利用者が、スマートフォン1を再び左に傾けた場合、スマートフォン1は、仮想キーボード81bに代えて、元通りに仮想キーボード81aを表示してもよいし、仮想キーボード81cのようにさらに異なる処理が実行される画面を表示してもよい。
一方、ステップSG1の状態から、ステップSG4に示すように、利用者が、スマートフォン1を右に傾けたものとする。スマートフォン1は、右への傾きが閾値より大きい場合、ステップSG4に示すように、ディスプレイ2Aの下部に、仮想キーボード81aに代えて、複数のボタンが配置された仮想キーボード81dを表示する。スマートフォン1は、仮想キーボード81dに対するタップを検出すると、タップされたボタンに対応する記号がメール作成画面72に入力されるように処理する。
この状態から、ステップSG5に示すように、利用者が、スマートフォン1の姿勢を元に戻したものとする。スマートフォン1は、右への傾きが閾値より小さくなっても、ステップSG5に示すように、ディスプレイ2Aの下部に、仮想キーボード81dを表示する。スマートフォン1は、仮想キーボード81dに対するタップを検出すると、タップされたボタンに対応する記号がメール作成画面72に入力されるように処理する。
この状態から、利用者が、スマートフォン1を再び右に傾けた場合、スマートフォン1は、仮想キーボード81dに代えて、元通りに仮想キーボード81aを表示してもよいし、仮想キーボード81cのようにさらに異なる処理が実行される画面を表示してもよい。
図13に示した例において、スマートフォン1は、傾きが検出された場合ではなく、スマートフォン1を振る動きが姿勢検出部18によって検出された場合に、タッチスクリーン2Bによって検出されるジェスチャに対応して実行される処理を切り替えてもよい。
スマートフォン1は、傾いているときに開始された操作が、傾きが解消された後も継続している場合には、その操作に対応する処理として、操作の検出開始時に傾きに応じて選択した処理を、傾きが解消された後も継続して実行してもよい。
この場合の動作について図14を参照しながら説明する。図14は、傾きが解消された後も操作が継続される場合の動作の例を示す図である。図14に示すステップSH1では、利用者は、スマートフォン1を傾けずに片手で持っている。ステップSH1では、地図画面61がディスプレイ2Aに表示されている。ステップSH1では、さらに標識62がディスプレイ2Aに表示されている。標識62は、スワイプが行われた場合に地図画面61がスクロールすることを示している。
この状態で、利用者が、スマートフォン1を左に傾けたものとする。このとき、スマートフォン1は、姿勢検出部18を用いて自身の傾きを検出する。検出された傾きが閾値よりも大きい場合、スマートフォン1は、ステップSH2に示すように、標識62に代えて、標識63をディスプレイ2Aに表示する。標識63は、左方向へのスワイプが行われた場合に地図画面61が拡大され、右方向へのスワイプが行われた場合に地図画面61が縮小されることを示している。
標識63が表示されている間に、利用者が、スマートフォン1を持っている手の指F1を使ってタッチスクリーン2Bに対して左方向へのスワイプを開始したものとする。スマートフォン1は、傾きが閾値より大きいときに左方向へのスワイプを検出すると、ステップSH2に示すように、指F1の動きに合わせて、地図画面61を拡大させる。
その後、ステップSH3に示すように、利用者がスワイプを継続しながらスマートフォン1の姿勢を元に戻したものとする。このように、傾きが閾値よりも小さくなっても、傾きが閾値よりも大きいときに検出された操作が継続している場合には、スマートフォン1は、その操作の検出開始時に姿勢検出部18が検出した傾きに応じて選択した処理を継続して実行する。このため、ステップSH3では、標識63が継続して表示され、スワイプに対応して地図画面61の拡大/縮小が実行される。
そして、スマートフォン1は、指F1がタッチスクリーン2Bから離れたこと、すなわち、継続していた操作が終了したことを検出すると、ステップSH4に示すように、スワイプに対応して地図画面61をスクロールする状態となり、標識63に代えて標識62を表示する。図14に示した例では、説明を容易にするために標識62および標識63を表示したが、これらは必ずしも表示しなくてもよい。
上述してきた実施形態及びその変形例は、適宜組み合わせてもよい。