図1は、電子機器100の前面側から見た概観の一例を示している。図2は電子機器100の概観の一例を示す裏面図である。例えば、この電子機器100は、基地局及びサーバ等を通じて、或いは、直接に、他の電子機器と通信することが可能である。電子機器100は例えばタブレット、PDA(Personal Digital Assistant)、携帯電話機(スマートフォンを含む)、または、携帯型パーソナルコンピュータなどである。
図1および図2に示されるように、電子機器100は、カバーパネル2とケース部分3を備えており、カバーパネル2とケース部分3とが組み合わされることによって、例えば平面視で略長方形の板状を成す筐体(以下、機器ケースとも呼ぶ)4が構成されている。
カバーパネル2は、平面視において略長方形を成しており、電子機器100の前面部分における、周縁部分以外の部分を構成している。カバーパネル2は、例えば、透明のガラスあるいは透明のアクリル樹脂などで形成されている。あるいは、カバーパネル2は、例えばサファイアで形成されている。ここで、サファイアとは、アルミナ(Al2O3)を主成分とする単結晶のことをいい、本明細書では、Al2O3純度が約90%以上の単結晶のことをいう。傷がよりつき難くなるという点で、Al2O3純度は99%以上であることが好ましい。
カバーパネル2は、サファイアから成る層を含む複数層構造の複合パネル(積層パネル)であっても良い。例えば、カバーパネル2は、電子機器100の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)とで構成された2層構造の複合パネルであっても良い。また、カバーパネル2は、電子機器100の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)と、当該層に貼り付けられたサファイアから成る層(サファイアパネル)とで構成された3層構造の複合パネルであっても良い。また、カバーパネル2は、サファイア以外の結晶性材料、例えば、ダイヤモンド、ジルコニア、チタニア、水晶、タンタル酸リチウム、酸化窒化アルミニウムなどから成る層を含んでいても良い。
ケース部分3は、電子機器100の前面部分の周縁部分、側面部分及び裏面部分を構成している。ケース部分3は、例えばポリカーボネート樹脂で形成されている。
カバーパネル2の前面には、文字、記号、図形または画像等の各種情報が表示される表示領域2aが設けられている。この表示領域2aは例えば平面視で長方形を成している。カバーパネル2における、表示領域2aを取り囲む周縁部分2bは、例えばフィルム等が貼られることによって黒色となっており、情報が表示されない非表示部分となっている。カバーパネル2の裏面には後述するタッチパネル52が貼り付けられており、ユーザは、電子機器100の前面の表示領域2aを操作子(指等)で操作することによって、電子機器100に対して各種指示を与えることができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどのタッチパネル用ペンで表示領域2aを操作することによっても、電子機器100に対して各種指示を与えることができる。
電子機器100には、例えば操作キー5が設けられている。操作キー5は、例えばハードウェアキーであって、例えばカバーパネル2の前面の下側端部に設けられている。
タッチパネル52および操作キー5は、電子機器100への入力を行う入力部50の一例である。後述する各種の入力はタッチパネル52を用いて行われてもよく、操作キー5を用いて行われてもよい。以下では、主としてタッチパネル52を用いて説明する。
<電子機器の電気的構成>
図3は電子機器100の電気的構成を示すブロック図である。図3に例示される電子機器100は、制御部10、無線通信部20、報知部40、音声入力部(ここではマイク)46、入力部50、および、撮像部60を備えている。電子機器100に設けられたこれらの構成要素は、機器ケース4に収められている。
制御部10は、例えばCPU(Central Processing Unit)101、DSP(Digital Signal Processor)102及び記憶部103等を備えており、電子機器100の他の構成要素を制御することによって、電子機器100の動作を統括的に管理する。記憶部103は、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成されている。記憶部103には、電子機器100の動作、具体的には電子機器100が備える無線通信部20、表示部41等の各構成要素を制御するための制御プログラムであるメインプログラム及び複数のアプリケーションプログラム(以後、単に「アプリケーション」とも呼ぶ)等が記憶されている。制御部10の各種機能は、CPU101及びDSP102が記憶部103内の各種プログラムを実行することによって実現される。なお図3の例示では、CPU101およびDSP102がそれぞれ一つ示されているものの、これらは複数設けられてもよい。そして、これらが互いに協働して各種機能を実現してもよい。また、図3の例示では、記憶部103は、制御部10の内部において示されているものの、制御部10の外部に設けられてもよい。換言すれば、記憶部103は制御部10とは別体であってもよい。また、制御部10の機能はソフトウェアで実現される必要はなく、制御部10の機能の一部または全部はハードウェアによって実現されても構わない。
無線通信部20は、アンテナ21を有している。無線通信部20は、他の電子機器、あるいはインターネットに接続されたウェブサーバ等の通信装置からの信号を、基地局等を介してアンテナ21で受信する。無線通信部20は、受信信号に対して増幅処理及びダウンコンバートを行って制御部10に出力する。制御部10は、入力される受信信号に対して復調処理等を行う。また無線通信部20は、制御部10で生成された送信信号に対してアップコンバート及び増幅処理を行って、処理後の送信信号をアンテナ21から無線送信する。アンテナ21からの送信信号は、基地局等を通じて、他の電子機器あるいはインターネットに接続された通信装置で受信される。
入力部50は、ユーザによって操作されて、制御部10へと各種の指示等を入力する。例えば入力部50はタッチパネル52と、キー操作部54とを含んでいる。
タッチパネル52は、カバーパネル2の表示領域2aに対する操作子(例えば指)による操作を検出する。タッチパネル52は、例えば、投影型静電容量方式のタッチパネルであって、カバーパネル2の裏面に貼り付けられている。ユーザが操作指等の操作子によってカバーパネル2の表示領域2aに対して操作を行うと、それに応じた信号がタッチパネル52から制御部10に入力される。制御部10は、タッチパネル52からの信号に基づいて、表示領域2aに対して行われた操作の内容を特定して、その内容に応じた処理を行う。なお、タッチパネル52は例えば感圧式のタッチパネルであってもよい。
キー操作部54は、各操作キー5に対するユーザの押下操作を検出する。キー操作部54は、各操作キー5について、当該操作キー5が押下されているか否かを検出する。キー操作部54は、操作キー5が押下されていない場合には、当該操作キー5が操作されていないことを示す未操作信号を制御部10に出力する。また、キー操作部54は、操作キー5が押下されると、当該操作キー5が操作されたことを示す操作信号を制御部10に出力する。これにより、制御部10は、各操作キー5について、当該操作キー5が操作されているか否かを判断することができる。
報知部40はユーザに報知を行うことができる。報知部40は例えば表示部41、第1音声出力部(ここではレシーバ)42、第2音声出力部(ここではスピーカ)44、および、振動部45を含んでいる。
表示部41は、例えば、液晶表示パネルあるいは有機ELパネルなどである。表示部41は、制御部10によって制御されることによって、文字、記号、図形または画像などの各種情報を表示する。表示部41に表示される情報は、カバーパネル2の前面の表示領域2aに表示される。したがって、表示部41は、表示領域2aに表示を行っていると言える。表示部41は、その表示内容によってユーザに報知を行うことができる。
第1音声出力部42はたとえばレシーバである。第1音声出力部42は、受話音を出力するものであって、例えばダイナミックスピーカで構成されている。第1音声出力部42は、制御部10からの電気的な音信号を音に変換して出力する。第1音声出力部42から出力される音は、電子機器100の前面に設けられたレシーバ穴80aから外部に出力される。レシーバ穴80aから出力される音の音量は、第2音声出力部44からスピーカ穴34aを介して出力される音の音量よりも小さくなっている。
なおレシーバに替えて、圧電振動素子が設けられてもよい。圧電振動素子は、制御部10によって制御され、音声信号に基づいて振動する。圧電振動素子は例えばカバーパネル2の裏面に設けられており、音声信号に基づく自身の振動によってカバーパネル2を振動させる。これにより、カバーパネル2の振動が音声としてユーザの耳に伝達される。この場合、レシーバ穴80aは不要である。
第2音声出力部44はスピーカであり、例えばダイナミックスピーカである。第2音声出力部44は、制御部10からの電気的な音信号を音に変換して出力する。第2音声出力部44から出力される音は、電子機器100の例えば裏面に設けられたスピーカ穴34aから外部に出力される。スピーカ穴34aから出力される音が、電子機器100から離れた場所でも聞こえるように、その音量が調整されている。すなわち、第2音声出力部(スピーカ)44の音量は第1音声出力部(レシーバあるいは圧電振動素子)42の音量よりも大きい。
第1音声出力部42および第2音声出力部44は、それぞれ音の出力によって、ユーザに報知を行うことができる。
振動部45はいわゆるバイブレータであり、制御部10によって制御されて振動することができる。この振動は電子機器100の筐体へと伝達される。よって例えばユーザが電子機器100を身に着けていると、電子機器100の振動を感じることができる。これにより、ユーザは電子機器100からの報知を受け取ることができる。
なお、報知部40は上記の例に限らない。例えば報知部40は発光部を有していてもよい。この発光部は制御部10によって制御されて発光する。例えば発光部はLED(light emitting diode)である。ユーザが当該発光部を視認することで、電子機器100からの報知を受け取ることができる。
音声入力部46は例えばマイクであり、電子機器100の外部から入力される音を電気的な音信号に変換して制御部10に出力する。電子機器100の外部からの音は、カバーパネル2の前面に設けられたマイク穴から電子機器100の内部に取り込まれて音声入力部46に入力される。なお音声入力も電子機器100に対する入力と把握することができるので、音声入力部46を入力部50の一例と把握することもできる。
撮像部60は例えば第1撮像部62と第2撮像部64とを有している。第1撮像部62は撮像レンズ6aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図1に示されるように、撮像レンズ6aは、電子機器100の前面に設けられていることから、電子機器100の前面側(カバーパネル2側)に存在する物体を撮像することが可能である。
第2撮像部64は、撮像レンズ7aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図2に示されるように、撮像レンズ7aは、電子機器100の裏面に設けられていることから、電子機器100の裏面側に存在する物体を撮像することが可能である。
<制御部>
図4は、制御部10の内部構成の一例を概略的に示す機能ブロック図である。制御部10は、アプリケーション処理部120と機能存在報知部110とを備えている。
アプリケーション処理部120は、記憶部103に記憶された各種のアプリケーションをユーザの入力に応じて実行する。例えば制御部10は、アプリケーションを選択するためのホーム画面(不図示)を表示部41に表示する。このホーム画面には、各アプリケーションを選択するためのボタン(いわゆるアイコン)の一覧が表示されている。ユーザは、各アイコンに対して操作を行うことで、当該アイコンに対応するアプリケーションを選択する。
この操作としては、例えばユーザが表示部41へと操作子を近づけて、所定時間内で、操作子を表示部41から離す操作(いわゆるタップ)を採用できる。この操作はタッチパネル52によって検出される。例えばタッチパネル52は、自身と操作子との距離が第1基準値よりも短くなることを検出し、その後の所定時間内において、自身と操作子との距離が第2基準値よりも長くなることを検出したときに、タップが行われたと判断してもよい。第1基準値は第2基準値と等しくてもよく、異なっていてもよい。タッチパネル52は当該操作を検出したことを制御部10へと出力する。
アプリケーション処理部120は、記憶部103に記憶されたアプリケーションプログラムを、当該操作に応じて読み出して実行する。これにより、各アプリケーションに対応した表示画面が表示部41に表示されることとなる。
図5は表示画面41aの一例を概略的に示す図である。この表示画面41aは、例えばメッセージアプリケーションを実行したときに表示される画面である。メッセージアプリケーションとは、他の電子機器との間でメッセージを送受信するためのアプリケーションである。
この表示画面41aには複数の要素が表示されている。要素としては、例えば画像情報を表示する画像要素E1、テキスト情報を表示するテキスト要素E2、テキスト情報を編集するためのテキスト編集要素E3、および、各種のボタンとして機能するボタン要素E4,E5などが例示される。
これらの要素は、プログラム上ではコンポーネントと呼ばれる部品として機能してもよい。より具体的な一例として、この要素はANDROID(登録商標)においてViewとも呼ばれる。また画像要素、テキスト要素、テキスト編集要素およびボタン要素はANDROID(登録商標)において、それぞれImageView, TextView, EditText, Buttonとも呼ばれる。
アプリケーションプログラム上において、各要素には、それぞれ表示画面41a上の配置等が設定情報として設定される。例えばANDROID(登録商標)において、複数の要素(View)が上位要素(ViewGroup)に含まれており、これらの要素の配置は上位要素に対する相対的な配置として設定される。例えば表示画面41aのうち、通知領域R1以外の部分が上位要素E0として設定されてもよい。通知領域R1は表示画面41aの上部に配置されており、電池残量および日付などを表示する。この通知領域R1はステータスバーとも呼ばれる。図5の例示では、上位要素E0は通知領域R1よりも下部に表示される。上位要素E0には、画像要素E1、テキスト要素E2、テキスト編集要素E3、および、ボタン要素E4,E5などが含まれている。
各要素E1〜E5の配置は、上位要素E0に対する相対的な配置として設定することができる。例えば、ANDROID(登録商標)では、各要素を一方向(縦または横)に並べる設定(LinearLayout)、または、各要素を格子状に並べる設定(GridLayout)などを採用できる。
またアプリケーションプログラム上において、各要素には、イベントに応じた動作が設定される。例えばANDROID(登録商標)においては、イベントに応じた動作を規定するためのリスナー(イベントリスナーとも呼ばれることがある)が設けられている。必要に応じてリスナーを用いることで、各要素に対して所定の操作を行ったときの動作を設定することができる。例えばタップが行われたときの動作がそれぞれボタン要素E4,E5に設定される。かかる設定は、例えばANDROID(登録商標)においては、onClickListenerというリスナーを用いて行われる。図6は、要素にリスナーが設定されていることを概念的に示している。
アプリケーション処理部120はアプリケーションプログラムを実行することによって、例えば図5の表示画面41aを表示するとともに、各要素E1〜E5の諸機能を発揮させる。例えばアプリケーション処理部120は、ユーザが作成している途中のメッセージをテキスト編集要素E3に表示する。言い換えれば、送信前のメッセージをテキスト編集要素E3に表示する。具体的な動作の一例を説明すると、例えばユーザがテキスト編集要素E3に対して操作(例えばタップ)を行うと、アプリケーション処理部120は、テキストを入力するための文字入力ツール(例えばキーボード、不図示)を表示画面41aの一部に表示する。この文字入力ツールはテキスト編集要素E3に重ならないように配置されるとよい。そして、ユーザがこの文字入力ツールに対して操作を行う。かかる操作はタッチパネル52によって検出されてアプリケーション処理部120へと入力される。アプリケーション処理部120は、入力されたテキスト情報をテキスト編集要素E3に表示する。これにより、ユーザは作成中のメッセージを確認できる。
ボタン要素E4は例えばメッセージの送信を行うボタンである。例えばテキスト編集要素E3内のメッセージを相手の電子機器へと送信するときに、ユーザはボタン要素E4に対して操作(例えばタップ)を行う。この操作はタッチパネル52で検出されて、アプリケーション処理部120へと入力される。アプリケーション処理部120は、この操作に応答して、テキスト編集要素E3内のメッセージを相手の電子機器へと送信する。そしてテキスト編集要素E3の表示内容を消去するとともに、送信したメッセージをテキスト要素E2に表示する。
さらにアプリケーション処理部120は、このテキスト要素E2に隣り合う位置において、画像要素E1を表示する。画像要素E1には、例えば、テキスト要素E2内のメッセージを作成した作成者の画像を表示する。上述の例ではユーザの画像を表示する。この画像は記憶部103などに記憶されている。
またアプリケーション処理部120は、相手の電子機器からメッセージを受信した場合にも、そのメッセージをテキスト要素E2に表示する。ただし、このテキスト要素E2は1回の送受信を単位としたメッセージごとに設けられてもよい。つまり、メッセージを受信したときには、新たにテキスト要素E2を生成し、これにメッセージを表示してもよい。そして、このテキスト要素E2に隣り合う画像要素E1に、相手の画像を表示する。これにより、ユーザは、テキスト要素E2に表示されたメッセージの作成者を容易に知ることができる。なお相手の画像も記憶部103などに記憶されている。
ボタン要素E5は例えば通話を行うボタンである。例えばユーザは、相手と通話を行いたい場合に、ボタン要素E5に対して操作(例えばタップ)を行う。この操作はタッチパネル52で検出されて、アプリケーション処理部120へと入力される。アプリケーション処理部120は、この操作に応答して、相手の電子機器への発呼信号を送信する。当該発呼信号に対する応答処理が相手の電子機器において行われると、通話を開始することとなる。
さて上述のように、テキスト編集要素E3はユーザによるテキスト入力を担う要素であり、ボタン要素E4,E5はユーザによるボタン入力が行われる要素である。よって、その主機能がユーザに理解されれば、要素E3〜E5はユーザによって操作されることとなる。なお主機能を発揮するために設定された操作(例えばタップ)を、以下では主操作とも呼ぶ。
一方で、画像要素E1は主として画像を表示する要素であり、テキスト要素E2は主としてテキスト情報を表示する要素である。つまり、これらの要素E1,E2では、主機能を発揮するための操作は設定されない。
ところで、上記主機能とは別のサブ機能が各要素に設定される場合がある。このサブ機能は各要素に対する所定の第1操作(以下、サブ操作とも呼ぶ)に応じて発揮される。例えばテキスト要素E2には、サブ操作に応答してコンテキストメニューを表示するサブ機能が設定される。コンテキストメニューとは、その対象(ここではテキスト要素E2)等について選択可能な操作の一覧を表示するメニューである。
テキスト要素E2に対するサブ操作はタッチパネル52によって検出されて、アプリケーション処理部120へと入力される。アプリケーション処理部120は、このサブ操作に応答して、コンテキストメニューCM1を表示部41に表示する。図7は、テキスト要素E2に対してサブ操作を行ったときの表示画面41aの一例を概略的に示す図である。図7の例示では、コンテキストメニューCM1を図5の表示画面41aに重ね合せて表示している。コンテキストメニューCM1には、各種の選択ボタンB1〜B6が一覧で表示されている。図7の例示では、選択ボタンB1はテキスト要素E2内のテキスト情報の編集を行うためのボタンであり、選択ボタンB2はメッセージ内のテキストをコピーするためのボタンであり、選択ボタンB3はテキスト要素E2内のメッセージを転送するためのボタンであり、選択ボタンB4はテキスト要素E2内のテキスト情報の変更・削除を禁止するためのボタンであり、選択ボタンB5はテキスト要素E2内のメッセージの詳細(例えば送信者、受信者など)を表示するためのボタンであり、選択ボタンB6はテキスト要素E2を削除するためのボタンである。
サブ操作としては任意の操作を採用してもよいものの、例えばタップ以外の操作を採用してもよい。より具体的には、例えばアイコンに対する操作(例えばタップ)よりも複雑な操作、言い換えれば、時間または手間がかかる操作を採用してもよい。例えばサブ操作として、タップについての第1所定期間よりも長い第2所定期間に亘って操作子を表示部41に近づけ、その後、操作子を表示部41から離す操作(いわゆるロングタップ)を採用することができる。或いは、タップを所定時間で複数回行う操作をサブ操作として採用してもよい。タップを所定時間で2回行う操作はダブルタップとも呼ばれる。もちろん、サブ操作として他の操作を採用しても構わない。
なおサブ機能は他の要素E1,E3〜E5の少なくともいずれか一つにも設定されてもよい。例えば、主操作が設定されたボタン要素E4,E5に対しても、サブ操作に対応してサブ機能が設定されてもよい。
またサブ操作に対応したサブ機能は、単一の機能である必要はない。例えば画像要素E1に対してサブ操作を行ったときに、表示される画像を変更するとともに、コンテキストメニューを表示してもよい。つまり、一つのサブ操作に対応して、複数の機能が発揮されてもよい。これは、ANDROID(登録商標)においては、一つのリスナーに対して複数の機能を設定することで実現できる。
以下では、一例として、テキスト要素E2にのみサブ機能が設定されていると仮定して説明を行う。
なおサブ機能とは、要素の主機能とは別の機能を、その要素に対するサブ操作によって発揮させる機能である、と定義することができる。或いは、主機能が所定の主操作によって発揮される場合には、サブ機能は、その主操作に対応する機能とは別の機能を、主操作とは異なるサブ操作によって発揮させる機能である、と定義することもできる。サブ操作は、多くの場合、主操作よりも複雑である。
このようなサブ機能はユーザに対する周知性が低いので、ユーザはサブ機能の存在を知らないこともある。特に、サブ操作が複雑なほど、ユーザはサブ機能の存在を認識しにくい。また、操作なしに主機能が発揮される要素(例えば要素E1,E2)に対して、サブ操作とサブ機能とが設定されている場合にも、ユーザはサブ機能の存在を認識しにくい。なぜなら、その要素に対しては操作なしに主機能が発揮されているので、その要素に対しては、ユーザは操作の必要性を感じにくいからである。
そこで本電子機器100には、機能存在報知部110が設けられている。機能存在報知部110は、各要素にサブ機能が設定されていることをユーザに報知することができる。以下に詳細に説明する。
機能存在報知部110はモード設定部111とサブ機能存否判断部112と報知制御部113とを備えている。
モード設定部111は入力部50に対するユーザの入力に応じて、通常モードと検索モードとを設定することができる。検索モードは、サブ機能が設定された要素に対する第2操作(以下、検索操作とも呼ぶ)が行われたときに、その要素にサブ機能が設定されていることをユーザに報知するモードである。一方で、通常モードは、検索モードにおける報知動作を行わないモードである。
モード設定部111は現在のモードをサブ機能存否判断部112へと出力する。サブ機能存否判断部112は、検索モードにおいて、各要素に対する検索操作が行われたときに、その要素にサブ機能が設定されているか否かを判断できる。サブ機能が設定されているか否かの情報は、例えばアプリケーション処理部120から取得することができる。例えば各要素に紐付けられたリスナーの情報に基づいて、サブ機能が設定されているか否かを判断できる。そして、その判断結果を報知制御部113へと出力する。
なお、検索操作は例えばサブ操作(例えばロングタップ)よりも簡易な動作、言い換えれば、手間または時間がかからない操作であってよい。さらに、例えば要素の主機能がサブ操作よりも簡易な主操作(例えばタップ)によって発揮される場合には、検索操作はこの操作よりも簡易であってもよい。これにより、ユーザは容易に検索操作を行うことができる。例えば検索操作としては、単に操作子を各要素に近づける操作を採用できる。例えば各要素と操作子との距離が基準値よりも短いときに、制御部10は、その要素に対して検索操作が行われたと判断する。このような検索操作は、操作子を表示画面から離す必要がないという点で、タップよりも簡易である。
この検索操作によれば、操作子を表示画面に近づけた状態で表示画面41aに平行に移動させれば、その操作子の軌跡上に存在する各要素に対して、検索操作が行われることとなる。図8は、検索モードにおける操作子OE1の動きの一例を概略的に示している。図8では、操作子OE1の動きは実線矢印で示されており、例えば、操作子OE1を表示画面41aに近づけた状態で、表示画面41aに平行に蛇行して移動させている。これによれば、一連の操作子OE1の動きによって、より多くの要素に対して検索操作を行うことができる。
報知制御部113は、サブ機能が設定された要素に検索操作が行われたときに、報知部40を用いて、その旨をユーザに報知できる。例えばサブ機能が設定された要素に対して順次に検索操作が行われと、その度、報知を行う。例えばテキスト要素E2に対して検索操作が行われると、報知が行われることとなる。
この報知は例えば振動部45を用いて行うことができる。より具体的には報知制御部113は、振動部45を振動させる制御信号を、振動部45へと出力する。これにより振動部45が振動して、ユーザに対する報知を行うことができる。よって、ユーザは、要素(例えばテキスト要素E2)にサブ機能が設定されていることを容易に知ることができる。
図9は機能存在報知部110の動作の具体的な一例を示すフローチャートである。まずステップST1にて、サブ機能存否判断部112は、検索モードが設定されているか否かを判断する。サブ機能存否判断部112はモードの情報をモード設定部111から受け取り、これに基づいて判断を行う。検索モードが設定されていない場合には、再びステップST1を実行する。
検索モードが設定されている場合には、ステップST2にて、サブ機能存否判断部112は、表示画面41aに表示されている要素に対して検索操作が行われたか否かを判断する。この検索操作はタッチパネル52によって検出されて、サブ機能存否判断部112へと入力される。
検索操作が要素に対して行われていないと判断したときには、再びステップST1を実行する。検索操作がある要素に対して行われたと判断したときには、ステップST3にて、サブ機能存否判断部112は、その要素にサブ機能が設定されているか否かを判断する。サブ機能が設定されているか否かの情報は、例えばアプリケーション処理部120から受け取ることができる。
例えばサブ機能存否判断部112は、その要素にサブ操作と同じ操作(例えばロングタップ)が設定されていると判断したときに、その要素にサブ機能が設定されていると判断してもよい。
ステップST3にてサブ機能が設定されていないと判断したときには、再びステップST1を実行する。サブ機能が設定されていると判断したときには、ステップST4にて、報知制御部113は、報知部40を用いてユーザに対する報知を行う。その後、再びステップST1を実行する。
なお機能存在報知部110の処理速度は操作子OE1の移動速度に比べて十分に高く、一連の操作子OE1の動きが行われる間に、図9のループは十分な回数だけ実行される。
図8の例示では、一連の操作子OE1の動きにより、まずボタン要素E5に対して検索操作が行われる。このとき、ステップST2にて肯定的な判断がなされる。しかるに、ここではボタン要素E5にはサブ機能が設定されていないので、ステップST3にて否定的な判断がなされる。よってステップST4を実行することなく、ステップST1を再び実行することになる。よってこのとき報知は行われない。
一方で、一連の操作子OE1の動きにより、操作子OE1がテキスト要素E2に対して検索操作を行った場合には、ステップST2,ST3の両方において肯定的な判断がなされる。よってステップST4にて、ユーザに対する報知が行われる。つまりテキスト要素E2に対する検索操作に応答して、報知が行われるのである。
以上のように、サブ機能が設定された要素への検索操作に応じて報知が行われるので、ユーザはサブ機能が設定された要素を容易に知ることができる。
ところで、要素にサブ機能が設定されていることを例えば次のようにユーザに通知することも考えられる。即ち、どの要素にサブ機能が設定されているかを説明する説明文を、検索操作とは無関係に表示することで、ユーザにサブ機能の存否をユーザに報知することも考えられる。しかしながら、そのような説明文では、ユーザは実際の表示画面41aの要素と、説明文に記載された要素とを頭の中で対比させる必要があり、必ずしも分かりやすいとは言えない。
一方で、本実施の形態では、実際に検索操作を行った要素に対してサブ機能の存在が報知される。よって、ユーザにとって、どの要素にサブ機能が設定されているのかが、分かりやすい。なお、この説明は、本電子機器100が上記説明文を表示することを禁ずるものではない。
また、サブ操作と同じ操作が設定された要素に対して検索操作が行われたときに、報知を行う場合には、ユーザは、当該操作(例えばロングタップ)が設定された要素を知ることができる。
なお、検索モードでは、通常モードにおけるタッチパネル52の操作が全て有効であってもよいし、一部の操作のみ、例えば、各要素に対するサブ操作のみ有効であってもよい。この場合、例えば、検索モードにおいて、ある要素に対するサブ操作がなされると、サブ機能が実行される。サブ機能が実行された場合、当該サブ機能は、ユーザによる所定の操作によって終了してもよいし、所定の時間が経過すると、自動的に終了してもよい。例えば、サブ機能としてコンテキストメニューが表示された場合、所定時間が経過すると自動的に画面から消去されてもよい。さらに、検索モードから通常モードに切り替わったときに、サブ機能が終了してもよい。
<操作の有効/無効>
通常モードでは、アプリケーション処理部120は、アプリケーションで設定された各種の操作に応答して、その操作に応じた動作を行う。しかるに、検索モードにおいて、アプリケーション処理部120がこの操作に応じた動作を行うと、機能存在報知部110の報知動作を阻害し得る。例えば検索モードにおいて、一連の操作子OE1の動きにより、ボタン要素E5に対して例えばタップが行われたと誤判断されると、アプリケーション処理部120は通話処理を開始する。これにより、サブ機能の存在を検索する動作が中断される。
そこで、検索モードにおいては、通常モードにおけるタッチパネル52の操作を無効にしてもよい。図10は機能存在報知部110の内部構成の一例を概略的に示す機能ブロック図である。機能存在報知部110は図4と比較して、操作無効部114を更に有している。
操作無効部114は、通常モードにおける各要素に対する操作(主操作およびサブ操作を含む)を、検索モードにおいて無効にすることができる。さらに言えば、検索モードに特有の操作以外のタッチパネル52の操作を無効にしても構わない。例えばモードの選択がタッチパネル52を用いた操作で行われる場合には、この操作および検索操作を有効にしつつ、タッチパネル52に対する、これらの操作以外の操作を無効にしてもよい。あるいは、操作キー5を用いてモードの選択が行われる場合には、検索操作を有効にしつつ、この検索操作以外の、タッチパネル52への操作を無効にしてもよい。
図11は機能存在報知部110の動作の一例を示すフローチャートである。図11の例示では、まずステップST10にて、操作無効部114は検索モードが設定されているか否かを判断する。なお現在設定されたモードの情報は、モード設定部111から操作無効部114へと出力される。検索モードが設定されていると判断すると、ステップST11にて、操作無効部114は通常モードにおける各要素に対する操作(主操作およびサブ操作)を無効に設定する。
次にステップST12〜ST14を実行する。ステップST12〜ST14はそれぞれステップST2〜ST4と同一であるので繰り返しの説明を避ける。
ステップST10にて検索モードが設定されていない、即ち通常モードが設定されていると判断したときには、ステップST15にて、操作無効部114は通常モードにおける各要素に対する操作を有効に設定する。より具体的には、ステップST11で無効にする操作を有効に設定する。
なお図11の例示では、ステップST15を実行した後に処理を終了している。この場合、所定時間の経過後に、再び図11の動作をステップST1から行うとよい。
以上のように、本機能存在報知部110によれば、検索モードでは、通常モードにおける各要素への操作が無効になるので、検索モードにおける動作が阻害されにくい。よってユーザは検索操作を行いやすい。
<通常モードへの移行>
図8を参照した説明では、検索操作としては、単に操作子OE1を要素に近づける操作を採用した。この場合、例えば図8に示すように、操作子OE1を表示部41から離すことなく、連続して各要素に対する検索操作を行うことができる。言い換えれば、操作子OE1を表示部41から離すときには、要素に対する検索操作を終了したと判断することができる。
そこで、単に操作子OE1を要素に近づける操作を検索操作として採用する場合には、モード設定部111は操作子OE1が表示部41から離れることを、検索モードの終了と判断してもよい。つまり、検索モードにおいて操作子OE1が表示部41から遠ざかることをタッチパネル52が検出したときに、モード設定部111は検索モードを終了して、通常モードを設定してもよい。
図12は、モード設定部111の動作の一例を示すフローチャートである。まずステップST30にて、モード設定部111は検索モードの入力がユーザによって行われたか否かを判断する。入力が行われていないときには再びステップST30を実行する。検索モードの入力が行われたと判断したときには、ステップST31にて、モード設定部111は検索モードを設定する。これにより、機能存在報知部110は上述したサブ機能の報知動作を行う(図9,11参照)。すなわち、ユーザは、検索モードにおいて操作子OE1を表示部41に近づけて表示画面41aに平行に移動させることで、各要素に対して検索操作を行う。そして、サブ機能が設定された要素に対して検索操作が行われると、ユーザに報知が行われる。
一方で、モード設定部111はこの報知動作と並行して、ステップST32,ST33も実行する。ステップST32では、操作子OE1が表示部41に近づいたか否かを判断する。この判断はタッチパネル52を用いて行うことができる。操作子OE1が表示部41に近づいていなければ、再びステップST32を実行する。つまり、ユーザが操作を行う前では、ステップST32が繰り返し実行される。
操作子OE1が表示部41に近づいたと判断すると、ステップST33にて操作子OE1が表示部41から離れたか否かを判断する。この判断もタッチパネル52を用いて行うことができる。操作子OE1が表示部41から離れていないと判断すると、再びステップST33を実行する。つまり、ユーザが操作子OE1を表示画面41aに近づけて平行に移動させている最中には、ステップST33が繰り返し実行される。
操作子OE1が表示部41から離れたと判断すると、ステップST34にてモード設定部11は検索モードを終了して、通常モードを設定する。つまり、操作子OE1が離れることにより、ユーザの検索操作が終了したと判断して、検索モードを終了するのである。
以上のように、検索モードにおいて操作子OE1が表示部41に近づいた状態から遠ざかると、モード設定部11は通常モードを設定する。よってユーザは、改めて通常モードを設定するための入力を行う必要はない。したがって、ユーザの利便性が高い。
<機能存在報知部110の機能の実装場所>
ここでは制御部10は、プログラムを実行して、アプリケーション処理部120および機能存在報知部110の機能を実現する。図13は、電子機器100の機能的な階層構造について説明する図である。図13に示すように、電子機器100は、ハードウェア層HW1と、オペレーションシステム層OS1と、アプリケーション層AP1とを含んでいる。ハードウェア層HW1は物理的な装置を含む。例えば入力部50および報知部40などのハードウェア構成がハードウェア層HW1に属している。
オペレーションシステム層OS1は、ハードウェア層HW1の上層に配置され、例えばカーネルK1と、ライブラリL1と、フレームワークF1とを有している。カーネルK1は、アプリケーションの起動、中断、再開、終了等を制御するためのプロセス制御、および、ハードウェア層HW1と情報をやりとりするための入出力制御などの基本的な機能を提供する。ライブラリL1は、カーネルK1が有する機能を利用したり、汎用的な処理を実行するための各種の部品(ソフトウェアモジュール)を含む。
フレームワークF1は、オペレーションシステムに固有な機能を利用するためのソフトウェアモジュールを含む。フレームワークF1は、例えば画面制御を行うためのモジュール、画面上に配置される要素を制御するためのモジュール、利用者に対する通知を行うためのモジュールなどを含む。
アプリケーション層AP1には、オペレーションシステム上で動作する各種のアプリケーションが実装される。アプリケーションは、上述のように、電話アプリケーション、ウェブブラウザ、または、メッセージアプリケーションなどである。よってアプリケーション処理部120の機能はアプリケーション層に実装される、とも説明できる。これらのアプリケーションは、アプリケーション処理部120が必要に応じてオペレーションシステム層OS1を介してハードウェア層HW1にアクセスすることで、実行される。
機能存在報知部110(モード設定部111、サブ機能存否判断部112および報知制御部113)の機能は、オペレーションシステム層OS1に実装されてもよい。サブ機能存否判断部112はアプリケーション層AP1で実行中のアプリケーションにおける各要素に対する動作設定を、例えばリスナーの有無によって把握することができ、各要素にサブ機能が設定されているか否かを判断できる。
機能存在報知部110がオペレーションシステム層OS1に実装されていれば、オペレーションシステムが機能存在報知部110の機能を実行することができる。よって、アプリケーション層AP1に実装される複数のアプリケーションのいずれにも、機能存在報知部110の機能を適用することができる。したがって、例えばいわゆるサードベンダー等によって、新たなアプリケーションが記憶部103に書き込まれたとしても、そのアプリケーションに対しても、機能存在報知部110の機能を適用することができる。
なお、必ずしも機能存在報知部110の全ての機能をオペレーションシステム層OS1に実装する必要はなく、例えばアプリケーション層AP1とオペレーションシステム層OS1とにまたがって実装されてもよい。例えばサブ機能存否判断部112はオペレーションシステム層OS1に実装される。なぜなら、サブ機能が設定されているかの情報(例えばリスナー)は、各アプリケーションが保持しているので、これを取得すべく、サブ機能存否判断部112はオペレーション層OS1に実装するのである。一方で、例えば報知部40へと制御信号を出力する機能およびモードを設定する機能などは、アプリケーション層AP1に実装されればよい。この場合、モードの情報およびサブ機能存否判断部112の判断結果は、アプリケーション層AP1とオペレーションシステム層OS1との間でやり取りされる。この場合でも、機能存在報知部110の機能を複数のアプリケーションのいずれにも適用することができる。
なお上述の一例では、サブ機能として、コンテキストメニューを表示する機能を説明したが、他の機能を採用してもよい。例えばサブ操作(例えばロングタップ)に応答して、各要素に表示された内容を拡大表示する機能も、サブ機能として把握できる。あるいは、サブ操作に応答して種々の情報を表示する機能をサブ機能として採用してもよい。
また上述の一例では、要素をコンポーネント(より具体的にはView)として説明した。しかるに、必ずしもこれに限らない。例えばテキストに、リンクが設定されている場合がある。図14の例示では、テキストT1が表示されており、このテキストT1は例えばURL(Uniform Resource Locator)を示している。なおテキストT1の表示位置は図14に限らず任意である。このテキストには、リンクが設定されとともに、コンテキストメニューの表示機能も設定されてもよい。例えばユーザがこのテキストT1に対して操作(例えばタップ)を行うと、アプリケーション処理部120は、ウェブブラウザを起動して、そのURLで示されるページを表示部41に表示する。またこのテキストに対してサブ操作(例えばロングタップ)を行うと、アプリケーション処理部120はサブ機能として、例えばコンテキストメニューを表示する。
このような場合に、報知モードにおいてテキストT1に対する検索操作をタッチパネル52が検出したときに、報知制御部113は報知を行う。
また、テキストが表示された領域においてロングタップを行うことで、コピーおよびペーストを選択するためのコンテキストメニューが表示される場合がある。この領域としては、例えばウェブブラウザにおいてテキストが表示された領域などが挙げられる。かかる場合にも、機能存在報知部110は、この領域内における操作に応じた機能の情報をアプリケーション処理部120から得ることができる。よって検索モードにおいて、当該領域に対する検索操作が行われたことがタッチパネル52によって検出されたときには、報知制御部113は報知部40を用いた報知を行ってもよい。つまり、このような領域も本実施の形態でいう要素の一例と把握できる。
以上のように、機能存在報知部110は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、機能存在報知部110がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得る。
実施の形態は、相互に矛盾しない限り、互いに組み合わせて実施することができる。