本出願に係る電子機器、文字入力制御方法、及び文字入力制御プログラムを実施するための複数の実施形態を、図面を参照しつつ詳細に説明する。
本出願に係る電子機器は、スマートフォン、モバイルフォン、タブレット、携帯型パソコン、メディアプレイヤ、電子書籍リーダ、ナビゲータ、ウエアラブルデバイス、又はゲーム機等の機器であってよい。
図1は、実施形態に係る電子機器の機能構成の一例を示すブロック図である。以下の説明において、同様の構成要素について同一の符号を付すことがある。以下の説明において、重複する説明は省略することがある。
図1に示すように、電子機器1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12と、カメラ13と、コネクタ14と、モーションセンサ15とを含む。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2A及びタッチスクリーン2Bは、例えば、重なって位置してよいし、並んで位置してよいし、離れて位置してよい。ディスプレイ2Aとタッチスクリーン2Bとが重なって位置する場合、例えば、ディスプレイ2Aの1ないし複数の辺は、タッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを含む。ディスプレイ2Aは、文字、画像、記号、及び図形等のオブジェクトを画面内に表示する。ディスプレイ2Aが表示するオブジェクトを含む画面は、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面を含む。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面又はランチャー画面と呼ばれることもある。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触又は近接を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触又は近接したときのタッチスクリーン2B上の位置を検出することができる。以下の説明において、タッチスクリーン2Bが検出する複数の指、ペン、及びスタイラスペン等がタッチスクリーン2Bに接触又は近接した位置を「検出位置」と表記する。タッチスクリーン2Bは、タッチスクリーン2Bに対する指の接触又は近接を、検出位置とともにコントローラ10に通知する。タッチスクリーン2Bは、検出位置の通知をもって接触又は近接の検出をコントローラ10に通知してよい。タッチスクリーン2Bが行える動作を、タッチスクリーン2Bを有するタッチスクリーンディスプレイ2は実行できる。言い換えると、タッチスクリーン2Bが行う動作は、タッチスクリーンディスプレイ2が行ってもよい。
コントローラ10は、タッチスクリーン2Bにより検出された接触又は近接、検出位置、検出位置の変化、接触又は近接が継続した時間、接触又は近接が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。コントローラ10が行える動作を、コントローラ10を有する電子機器1は実行できる。言い換えると、コントローラ10が行う動作は、電子機器1が行ってもよい。ジェスチャは、指を用いて、タッチスクリーン2Bに対して行われる操作である。タッチスクリーン2Bに対して行われる操作は、タッチスクリーン2Bを有するタッチスクリーンディスプレイ2に行われてもよい。コントローラ10が、タッチスクリーン2Bを介して判別するジェスチャには、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトが含まれるが、これらに限定されない。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式、赤外線方式、及び荷重検出方式等の任意の方式でよい。
図2は、実施形態に係るソフトウェアキーの表示例を示す図である。タッチスクリーンディスプレイ2は、タッチスクリーンディスプレイ2の縁に沿って、複数のソフトウェアキーを表示する。図2に示す例では、タッチスクリーンディスプレイ2は、タッチスクリーンディスプレイ2(ディスプレイ2A)上の表示領域30aに、複数のソフトウェアキー30a1、・・・、ソフトウェアキー30a10を表示する。ソフトウェアキー30a1、・・・、ソフトウェアキー30a10は、タッチスクリーンディスプレイ2の縁F1に沿って、図2に示すx軸に平行な方向に1列に並んで配置される。同様に、タッチスクリーンディスプレイ2は、タッチスクリーンディスプレイ2(ディスプレイ2A)上の表示領域30bに、複数のソフトウェアキー30b1、・・・、ソフトウェアキー30b10を表示する。ソフトウェアキー30b1、・・・、ソフトウェアキー30b10は、タッチスクリーンディスプレイ2の縁F2に沿って、図2に示すx軸に平行な方向に1列に並んで配置される。同様に、タッチスクリーンディスプレイ2は、タッチスクリーンディスプレイ2(ディスプレイ2A)上の表示領域30cに、複数のソフトウェアキー30c1、ソフトウェアキー30c2、及びソフトウェアキー30c3を表示する。ソフトウェアキー30c1、ソフトウェアキー30c2、及びソフトウェアキー30c3は、タッチスクリーンディスプレイ2の縁F3に沿って、図2に示すy軸に平行な方向に1列に並んで配置される。ソフトウェアキーの数は、図2に示す例には限定されることなく、必要に応じて任意の数で構成されてよい。ソフトウェアキー30a1、・・・、ソフトウェアキー30a10は、ソフトウェアキーの一例である。
ボタン3は、ユーザからの操作入力を受け付ける。
図3を用いて、実施形態に係るタッチスクリーン2Bの構造の一例を説明する。図3は、実施形態に係るタッチスクリーンの構造の一例を示す図である。図3に示すように、タッチスクリーン2Bは、複数の第1の電極2B1と、複数の第2の電極2B2とを含む。第1の電極2B1は、タッチスクリーン2Bの長手方向に延在する。第2の電極2B2は、タッチスクリーン2Bの短手方向に延在する。タッチスクリーン2Bは、複数の第1の電極2B1と複数の第2の電極2B2とを、格子状に交差させた状態で配置する。タッチスクリーン2Bは、複数の第1の電極2B1と複数の第2の電極2B2とが交差する各位置(検出点)40で、タッチスクリーンディスプレイ2(ディスプレイ2A)上のソフトウェアキーに対する指などの導電性の物体の接触又は近接を検出する。導電性の物体がタッチスクリーン2Bに接近すると、タッチスクリーン2Bと当該物体との間に容量結合が発生する。タッチスクリーン2Bは、容量結合を検出点40で感知することにより、指などの導電性の物体の接触点50などを検出する。
コントローラ10は、タッチスクリーンディスプレイ2(タッチスクリーン2B)を介して、タッチスクリーンディスプレイ2上に表示されるソフトウェアキーに対するタッチジェスチャを検出できる。コントローラ10は、1又は複数のソフトウェアキーに対するタッチを検出できる。コントローラ10は、1又は複数のソフトウェアキーに対するロングタッチを検出できる。
コントローラ10は、例えば、タッチスクリーンディスプレイ2(タッチスクリーン2B)を介して、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10のいずれかに対する操作と、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10以外に対する操作とを同一のタイミングで検出した場合には、最新の操作に対する処理を優先して実行できる。コントローラ10は、例えば、タッチスクリーンディスプレイ2(タッチスクリーン2B)を介して、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10のいずれかに対する操作が検出されている状態の時には、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10以外に対する操作を無効な操作として取り扱うことができる。
照度センサ4は、照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、ディスプレイ2Aと顔とが接近したことを検出する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる無線通信規格には、例えば、2G、3G、4G、5G等のセルラーフォンの通信規格と、近距離無線の通信規格とが含まれる。セルラーフォンの通信規格としては、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(登録商標)(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。近距離無線の通信規格としては、例えば、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等が含まれる。WPANの通信規格には、例えば、ZigBee(登録商標)が含まれる。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
レシーバ7は、コントローラ10から送出される音信号を音として出力する。レシーバ7は、例えば、電子機器1にて再生される動画の音、音楽の音、及び通話時の相手の声を出力することができる。マイク8は、入力されるユーザの声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域として利用されてもよい。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する支援プログラム(図示略)とが含まれる。アプリケーションは、例えば、フォアグランドで実行される場合、当該アプリケーションに係る画面を、ディスプレイ2Aに表示する。支援プログラムには、例えば、OSが含まれる。プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、制御プログラム9A、文字入力制御プログラム9B、キーデータ9C、点字規則データ9D、条件データ9E、及び設定データ9Zなどを記憶できる。制御プログラム9Aは、各種機能を提供するに際し、電子機器1が記憶する各種アプリケーションと連携できる。制御プログラム9Aは、通信ユニット6を介してクラウドストレージと連携し、当該クラウドストレージが記憶するファイル及びデータにアクセスしてもよい。クラウドストレージは、ストレージ9に記憶されるプログラム及びデータの一部又は全部を記憶してもよい。
制御プログラム9Aは、電子機器1の各種動作に関する処理を実現するための機能をそれぞれ提供できる。制御プログラム9Aが提供する機能には、照度センサ4の検出結果に基づいて、ディスプレイ2Aの輝度を調整する機能が含まれる。制御プログラム9Aが提供する機能には、近接センサ5の検出結果に基づいて、タッチスクリーン2Bに対する操作を無効とする機能が含まれる。制御プログラム9Aが提供する機能には、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる機能が含まれる。制御プログラム9Aが提供する機能には、カメラ12、及びカメラ13の撮影処理を制御する機能が含まれる。制御プログラム9Aが提供する機能には、コネクタ14を介して接続される外部機器との間の通信を制御する機能が含まれる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bの検出結果に基づいて判別したジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。制御プログラム9Aが提供する機能には、モーションセンサ15の検出結果に基づいて、電子機器1を携帯する利用者の移動、停止等を検出する機能が含まれる。
文字入力制御プログラム9Bは、ソフトウェアキーの操作に基づいて、点字規則に従った文字入力処理を実行するための機能を提供できる。文字入力制御プログラム9Bは、文字入力処理を実行するためのユーザインタフェースをタッチスクリーンディスプレイ2に表示させる機能を提供する。文字入力制御プログラム9Bが提供するユーザインタフェースには、ユーザからの文字入力の操作を受け付けるための複数のソフトウェアキーが含まれる。文字入力制御プログラム9Bは、例えば、複数のソフトウェアキー30a1、・・・、ソフトウェアキー30a10に、点字規則に従って文字を表わす点字を入力するための複数の点字キーに対応する役割を重複しないように個別に割り当てる機能を提供できる。文字入力制御プログラム9Bは、例えば、複数のソフトウェアキー30a1、・・・、ソフトウェアキー30a10の少なくとも1つのキーに対する操作を検出すると、操作が検出された1又は複数のソフトウェアキーに対応する文字を点字規則と照らし合わせて特定する機能を提供できる。
キーデータ9Cは、文字入力処理を実行するためのユーザインタフェースを構成し、タッチスクリーンディスプレイ2(ディスプレイ2A)に表示させるためのデータを含む。キーデータ9Cは、点字規則に従った文字入力処理の実行に際して、ユーザインタフェースに含まれる複数のソフトウェアキーに所定の役割を割り当てるためのデータである。図4は、実施形態に係る点字規則に従った文字入力処理を実行する点字キーの概念的な構成の一例を示す図である。図4に示すように、点字キーは、右側キーグループ30GRと、左側キーグループ30GLで構成される。点字規則に従った6点入力を実現できるように、右側キーグループ30GRには3個のソフトウェアキーが含まれ、同様に、左側キーグループ30GLにも3個のソフトウェアキーが含まれる。具体的には、右側キーグループ30GRは、キーR1、キーR2、及びキーR3の3つのキーを含む。左側キーグループ30GLは、キーL1、キーL2、及びキーL3の3つのキーを含む。キーデータ9Cは、点字規則に従って文字を表わす点字を入力するための複数の点字キーに対応する役割を、例えば、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10に対して重複しないように個別に割り当てるための情報を有する。図5は、実施形態に係るキーデータの一例を示す図である。図5に示す例では、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30a4、ソフトウェアキー30a3、及びソフトウェアキー30a2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1、キーL2、及びキーL3の役割が、ソフトウェアキー30a7、ソフトウェアキー30a8、及びソフトウェアキー30a9にそれぞれ割り当てられるように設定されている。図6は、実施形態に係る点字キーの役割が割り当られるソフトウェアキーの位置を示す図である。図5に示す設定により、図6に示すように、ソフトウェアキー30a4、ソフトウェアキー30a3、及びソフトウェアキー30a2が、図5に示す右側キーグループ30GRとして使用され、ソフトウェアキー30a7、ソフトウェアキー30a8、及びソフトウェアキー30a9が、図5に示す左側キーグループ30GLとして使用される。
図6に示す点字キーの割り当ては一例であり、図5に示す設定を変更することにより、図6に示す例とは別のパターンでソフトウェアキーに対する点字キーの割り当てが行われてもよい。以下、図7〜図16を用いて、点字キーの割り当ての他の例を説明する。図7、9、11、13、15は、実施形態に係るキー割り当てデータの他の例を示す図である。図8、10、12、14、16は、実施形態に係る点字キーの役割が割り当られるソフトウェアキーの位置を示す他の概要図である。図5及び図6を用いて説明した例とは異なり、右側キーグループ30GR及び左側キーグループ30GLの役割が、ディスプレイ2A上の表示領域30bに表示されるソフトウェアキー群に割り当てられてもよい。例えば、図7及び図8に示すように、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30b4、ソフトウェアキー30b3、及びソフトウェアキー30b2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1、キーL2、及びキーL3の役割が、ソフトウェアキー30b7、ソフトウェアキー30b8、及びソフトウェアキー30b9にそれぞれ割り当てられてもよい。あるいは、右側キーグループ30GR及び左側キーグループ30GLの役割のいずれか一方が、ディスプレイ2A上の表示領域30bに表示されるソフトウェアキー群に割り当てられてもよい。例えば、図9及び図10に示すように、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30b4、ソフトウェアキー30b3、及びソフトウェアキー30b2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1、キーL2、及びキーL3の役割が、ソフトウェアキー30a7、ソフトウェアキー30a8、及びソフトウェアキー30a9にそれぞれ割り当てられてもよい。あるいは、右側キーグループ30GR及び左側キーグループ30GLの役割のいずれか一方が、ディスプレイ2A上の表示領域30cに表示されるソフトウェアキー群に割り当てられてもよい。例えば、図11及び図12に示すように、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30a4、ソフトウェアキー30a3、及びソフトウェアキー30a2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1、キーL2、及びキーL3の役割が、ソフトウェアキー30c1、ソフトウェアキー30c2、及びソフトウェアキー30c3にそれぞれ割り当てられてもよい。あるいは、右側キーグループ30GR及び左側キーグループ30GLの役割のいずれか一方が、ディスプレイ2A上の表示領域30a及び表示領域30cに表示されるソフトウェアキー群に分割して割り当てられてもよい。例えば、図13及び図14に示すように、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30a4、ソフトウェアキー30a3、及びソフトウェアキー30a2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1の役割がソフトウェアキー30a10に割り当てられ、左側キーグループ30GLを構成するキーL2及びキーL3の役割が、ソフトウェアキー30c1及びソフトウェアキー30c2にそれぞれ割り当てられてもよい。あるいは、右側キーグループ30GR及び左側キーグループ30GLの役割のいずれか一方が、ディスプレイ2A上の表示領域30a及び表示領域30cに表示されるソフトウェアキー群に分割して割り当てられてもよい。例えば、図15及び図16に示すように、右側キーグループ30GRを構成するキーR1、キーR2、及びキーR3の役割が、ソフトウェアキー30a4、ソフトウェアキー30a3、及びソフトウェアキー30a2にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL1及びキーL2の役割が、ソフトウェアキー30c2及びソフトウェアキー30c3にそれぞれ割り当てられ、左側キーグループ30GLを構成するキーL3の役割が、ソフトウェアキー30b10に割り当てられてもよい。
点字規則データ9Dは、1又は複数のソフトウェアキーの操作に対応する文字を特定するためのデータである。点字規則データ9Dは、1又は複数のソフトウェアキーの操作に対応する文字を特定するために必要となるデータを全て含む。図17は、実施形態に係る点字規則データの例を示す図である。図17に示すように、点字規則データ9Dは、例えば、ひらがな入力ロジックファイル9D−1、促音入力ロジックファイル9D−2、濁音入力ロジックファイル9D−3、半濁音入力ロジックファイル9D−4、拗音入力ロジックファイル9D−5、拗濁音入力ロジックファイル9D−6、拗半濁音入力ロジックファイル9D−7、数字入力ロジックファイル9D−8などのファイルを含む。
図18を用いて、点字規則データ9Dの一例を説明する。図18は、実施形態に係るひらがな入力ロジックファイルの概要を示す図である。図18に示すように、例えば、あ行の「あ」の文字は、左側キーグループ30GLのキーL1に対する操作、すなわち、ソフトウェアキー30a7への操作に対応する。また、図18に示すように、か行の「か」は、左側キーグループ30GLのキーL1及び右側キーグループ30GRのキーR3に対する操作、すなわち、ソフトウェアキー30a7及びソフトウェアキー30a2への操作に対応している。このように、ひらがな入力ロジックファイル9D−1は、あ行、か行、さ行、た行、な行、は行、ま行、や行、ら行、わ行の各行に含まれる文字と、1又は複数のソフトウェアキーに対する操作パターンとの対応関係を規定している。同様にして、促音入力ロジックファイル9D−2、濁音入力ロジックファイル9D−3、半濁音入力ロジックファイル9D−4、拗音入力ロジックファイル9D−5、拗濁音入力ロジックファイル9D−6、拗半濁音入力ロジックファイル9D−7、数字入力ロジックファイル9D−8などのファイルについても、各文字と、1又は複数のソフトウェアキーに対する操作パターンとの対応関係を規定している。
条件データ9Eは、文字入力制御プログラム9Bで処理を実行する各種条件が設定されている。具体的には、条件データ9Eには、文字入力制御プログラム9Bの文字入力処理の開始条件、文字入力処理の終了条件等が設定されている。
設定データ9Zは、制御プログラム9Aにより実行される処理に用いられる情報を含む。
コントローラ10は、演算処理装置を含む。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−Chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、およびコプロセッサを含むが、これらに限定されない。コントローラ10は、電子機器1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、マイク8、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、モーションセンサ15を含むが、これらに限定されない。
コントローラ10は、制御プログラム9Aを実行することにより、電子機器1の各種動作に関する処理を実現できる。
コントローラ10は、文字入力制御プログラム9Bを実行することにより、点字規則に従った文字入力処理を実現できる。コントローラ10は、例えば、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10に、点字規則に従って文字を表わす点字を入力するための複数の点字キーに対応する役割を重複しないように個別に割り当てる処理を実現できる。コントローラ10は、例えば、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10の少なくとも1つのキーに対する操作を検出すると、操作が検出された1又は複数のソフトウェアキーに対応する文字を点字規則と照らし合わせて特定する処理を実現できる。コントローラ10は、コントローラの一例である。
スピーカ11は、コントローラ10から送出される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
カメラ12及びカメラ13は、撮影した画像を電気信号へ変換する。カメラ12は、ディスプレイ2Aに面している物体を撮影するインカメラである。カメラ13は、ディスプレイ2Aの反対側の面に面している物体を撮影するアウトカメラである。カメラ12及びカメラ13は、インカメラ及びアウトカメラを切り換えて利用可能なカメラユニットとして、機能的及び物理的に統合された状態で電子機器1に実装されてもよい。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
モーションセンサ15は、電子機器1を携帯する利用者の動作を判定するための各種情報を検出できる。モーションセンサ15は、加速度センサ、方位センサ、ジャイロスコープ、磁気センサ及び気圧センサなどを備えるセンサユニットとして構成されてよい。
電子機器1は、上記の各機能部の他、GPS受信機、及びバイブレータを備えてもよい。GPS受信機は、GPS衛星からの所定の周波数帯の電波信号を受信する。GPS受信機は、受信した電波信号の復調処理を行って、処理後の信号をコントローラ10に送出する。GPS受信機は、電子機器1の現在位置の演算処理をサポートする。電子機器1は、GPS衛星以外の測位用人工衛星の信号を受信可能な受信機を備え、現在位置の演算処理を実行してもよい。バイブレータは、電子機器1の一部又は全体を振動させる。バイブレータは、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。電子機器1は、バッテリなど、電子機器1の機能を維持するために当然に用いられる機能部、及び電子機器1の制御を実現するために当然に用いられる制御部を実装する。
電子機器1は、通信ユニット6を介してクラウド上の記憶サーバにアクセスし、各種プログラム及びデータを取得してもよい。
図19を参照しつつ、実施形態に係る電子機器1の処理の一例を説明する。図19は、実施形態に係る文字入力処理に伴う画面遷移を示す概要図である。
電子機器1は、点字規則に従った文字入力処理の実行に際し、キーデータ9Cを参照し、点字規則に従って文字を表わす点字を入力するための複数の点字キーに対応する役割を、複数のソフトウェアキーに重複しないように個別に割り当てる。
電子機器1は、図19に示すように、文字入力処理の実行画面20をディスプレイ2Aに表示する(ステップS11)。実行画面20は、ユーザからの文字入力の操作を受け付けるためのユーザインタフェースであり、複数のソフトウェアキー及びテキスト表示領域21を有する。
文字入力処理の実行画面20をディスプレイ2Aに表示した後、電子機器1は、ソフトウェアキー30a7に対するタッチを検出すると、タッチが検出されたソフトウェアキー30a7に対応する出力を実行する(ステップS12)。具体的には、電子機器1は、タッチを検出したソフトウェアキー30a7に対応する文字を、点字規則データ9Dに基づいて特定し、特定した文字「あ」の読み上げ音声M1をスピーカ11から出力する。
ソフトウェアキー30a7に対応する出力を実行した後、電子機器1は、ソフトウェアキー30a4に対する新たなタッチを検出すると、ステップS12において既に操作を検出済みであるソフトウェアキー30a7及び新たに操作が検出されたソフトウェアキー30a4に対応する出力を実行する(ステップS13)。具体的には、電子機器1は、ソフトウェアキー30a7及びソフトウェアキー30a4の組合せに対応する文字を、点字規則データ9Dに基づいて特定し、特定した文字「う」の読み上げ音声M2をスピーカ11から出力する。
ソフトウェアキー30a7及びソフトウェアキー30a4に対応する出力を実行した後、電子機器1は、ソフトウェアキー30a2に対する新たなタッチを検出すると、ステップS12において既に操作を検出済みであるソフトウェアキー30a7、ステップS13において既に操作を検出済みであるソフトウェアキー30a4、及び新たに操作が検出されたソフトウェアキー30a2に対応する出力を実行する(ステップS14)。具体的には、電子機器1は、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2の組合せに対応する文字を、点字規則データ9Dに基づいて特定し、特定した文字「く」の読み上げ音声M3をスピーカ11から出力する。
ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対応する出力を実行した後、電子機器1は、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対するロングタッチを検出すると、ロングタッチが検出されたソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対応する出力を実行する(ステップS15)。具体的には、電子機器1は、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2の組合せに対応する文字「く」の入力を確定し、テキスト表示領域21に表示させる。
図19に示す例では、電子機器1が、例えば、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対する操作を順に検出して、操作されたキーの組合せを特定する場合を説明したが、この例に限定されるものではなく、例えば、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対する同時の操作を検出し、操作されたキーの組合せを特定してもよい。例えば、電子機器1は、ソフトウェアキー30a7及びソフトウェアキー30a4に対する同時のタッチを検出すると、ソフトウェアキー30a7及びソフトウェアキー30a4に対応する文字「う」の読み上げ音声を出力し、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対する同時のタッチを検出すると、ソフトウェアキー30a7、ソフトウェアキー30a4、及びソフトウェアキー30a2に対応する文字「く」の読み上げ音声を出力する。
上記ステップS13、ステップS14、及びステップS15において、電子機器1は、複数のソフトウェアキーに対して同時に操作が行われても、複数のソフトウェアキーに対する同時の操作として検出できる。電子機器1は、複数のソフトウェアキーに対する操作が完全に同時に検出されなくても、同じタイミングで(例えば、一定時間内に)検出された場合には、複数のソフトウェアキーに対する同時の操作と判定してもよい。
上記ステップS12、ステップS13、及びステップS14において、電子機器1は、他のソフトウェアキーへのタッチ、ソフトウェアキーのロングタッチを検出しない間、タッチを検出したソフトウェアキーに対応する文字の読み上げ音声の出力を最初の読み上げから一定時間経過ごとに繰り返し実行してもよい。上記ステップS12、ステップS13、及びステップS14において、電子機器1は、タッチが検出されたソフトウェアキーに対応する文字が特定できない場合には、何も処理を行わなくてもよいし、バイブレータによる報知、割り当てがない旨の読み上げ音声の出力、ブザー音による報知などを実行してもよい。
上記ステップS12、ステップS13、及びステップS14において、電子機器1は、ソフトウェアキーに対する操作が検出されてから一定時間が経過するまでの間、ソフトウェアキーに対する操作の検出結果を一時的に保存し、一定時間の経過後、当該検出結果を破棄するようにしてもよい。あるいは、上記ステップS12、ステップS13、及びステップS14において、電子機器1は、ソフトウェアキーに対する操作が検出されてから一定時間が経過する前であっても、所定の操作が検出されることを条件に、ソフトウェアキーに対する操作の検出結果を破棄するようにしてもよい。電子機器1は、所定の操作として、ソフトウェアキーに対する操作の検出結果を破棄するための機能が割り当てられているソフトウェアキーに対する操作を検出してもよいし、タッチスクリーンディスプレイ2を介して、ソフトウェアキーに対する操作の検出結果を破棄するための所定のタッチジェスチャを検出してもよい。
上記ステップS15において、電子機器1は、ソフトウェアキーのロングタッチを検出し、ロングタッチが検出されたソフトウェアキーの操作に対応する文字の入力を確定した場合には、バイブレータの振動、若しくはスピーカ11からの効果音の出力によるフィードバックを実行してもよい。
上記図19の説明において、電子機器1は、スピーカ11を介して、文字の読み上げ音声を出力する際に、対応する文字の画像をディスプレイ2Aにあわせて表示させてもよい。電子機器1は、スピーカ11を介して、文字の読み上げ音声を出力する代わりに、対応する文字の画像をディスプレイ2Aに表示させてもよい。電子機器1は、文字の読み上げ音声を出力しなくてもよい。
上記図19の説明において、電子機器1は、ロングタッチが検出されたソフトウェアキーに対応する文字の入力を確定させる例を説明したが、文字入力の確定させる機能が割り当てられているソフトウェアキー、或いはボタン3の押下によって、文字入力を確定させてもよい。
上記図19の説明において、電子機器1は、タッチが検出された1又は複数のソフトウェアキーに対応する文字を特定し、ロングタッチを検出した1又は複数のソフトウェアキーに対応する文字の入力を確定させる例を説明したが、この例に限定されるものではなく、例えば、ロングタッチが検出された1又は複数のソフトウェアキーに対応する文字を特定し、タッチを検出した1又は複数のソフトウェアキーに対応する文字の入力を確定させるなど、文字を特定するためのタッチジェスチャ及び文字の入力を確定させるためのタッチジェスチャとして任意のタッチジェスチャを採用することができる。
図20を用いて、実施形態に係る電子機器により実行される処理の流れを説明する。図20は、実施形態に係る電子機器により実行される処理の流れの一例を示すフローチャートである。図20に示す処理は、コントローラ10が、文字入力制御プログラム9Bを実行することにより実現される。図20の説明において、ソフトウェアキー30amは、タッチスクリーンディスプレイ2に表示されるソフトウェアキー30a1、・・・、ソフトウェアキー30a10に対応する(図2参照)。
図20に示すように、コントローラ10は、ソフトウェアキー30amへのタッチを検出したかを判定する(ステップS101)。
コントローラ10は、判定の結果、ソフトウェアキー30amへのタッチを検出した場合(ステップS101,Yes)、タッチを検出したソフトウェアキー30amに対応する出力を実行する(ステップS102)。例えば、コントローラ10は、タッチを検出した1又は複数のソフトウェアキーに対応する文字を、点字規則データ9Dに基づいて特定し、例えば、特定した文字の読み上げ音声を出力する。
続いて、コントローラ10は、ソフトウェアキー30amのロングタッチを検出したかを判定する(ステップS103)。
コントローラ10は、判定の結果、ソフトウェアキー30amのロングタッチを検出した場合(ステップS103,Yes)、ロングタッチを検出したソフトウェアキー30amに対応する出力を実行する(ステップS104)。例えば、コントローラ10は、ロングタッチを検出した1又は複数のソフトウェアキーに対応する文字の入力を確定し、文字入力処理の実行画面20のテキスト表示領域21に表示させる。
続いて、コントローラ10は、ソフトウェアキー30am以外へのタッチを検出したかを判定する(ステップS105)。
コントローラ10は、判定の結果、ソフトウェアキー30am以外へのタッチを検出した場合(ステップS105,Yes)、図20に示す処理を終了する。これとは反対に、コントローラ10は、判定の結果、ソフトウェアキー30am以外へのタッチを検出しない場合(ステップS105,No)、上記ステップS101の判定に戻る。
上記ステップS103において、コントローラ10は、判定の結果、ソフトウェアキー30amのロングタッチを検出しない場合(ステップS103,No)、上記ステップS101の判定に戻る。
上記ステップS101において、コントローラ10は、判定の結果、ソフトウェアキー30amへのタッチを検出しない場合(ステップS101,No)、同判定を繰り返す。
上記の実施形態によれば、電子機器1は、従来の文字入力を操作性の面で改善できる。
上記の実施形態では、電子機器1は、ロングタッチを検出した1又は複数のソフトウェアキーに対応する文字の入力を確定させる例を説明した。例えば、電子機器1は、所定の押し込みが行われた場合に、1又は複数のソフトウェアキーに対応する文字の入力を確定させる処理を実行してもよい。例えば、電子機器1は、圧力(感圧)センサを備え、タッチスクリーンディスプレイ2に対する所定の押し込みを検出する。電子機器1は、所定の押し込みを検出すると、所定の押し込みが検出されたときにタッチされていた1又は複数のソフトウェアキーをタッチスクリーンディスプレイ2を介して検出し、検出した1又は複数のソフトウェアキーに対応する文字に対応する文字の入力を確定させる。あるいは、電子機器1は、特定方向への同時のスワイプなどのタッチジェスチャ、タッチスクリーンディスプレイ2から指を同時に離すなどの操作を検出した場合に、文字の入力を確定してもよい。
上記の実施形態において、ソフトウェアキー30a1、・・・、ソフトウェアキー30a10のいずれか1つ又は複数に対して、点字規則に従った文字入力処理に関連した各種機能だけではなく、点字規則に従った文字入力処理とは関連しない各種機能が割り当てられていてもよい。上記の実施形態において、ソフトウェアキー30b1、・・・、ソフトウェアキー30b10のいずれか1つ又は複数に対して、点字規則に従った文字入力処理に関連した各種機能だけではなく、点字規則に従った文字入力処理とは関連しない各種機能が割り当てられていてもよい。上記の実施形態において、ソフトウェアキー3c1、ソフトウェアキー3c2、及びソフトウェアキー3c3のいずれか1つ又は複数に対して、点字規則に従った文字入力処理に関連した各種機能だけではなく、点字規則に従った文字入力処理とは関連しない各種機能が割り当てられていてもよい。
図21〜図23は、実施形態に係る電子機器の他の構造例を示す図である。図21に示すように、電子機器1は、図2に示す例とは異なる位置に複数のソフトウェアキーを配置した構造であってもよい。すなわち、ソフトウェアキー3a1、・・・、ソフトウェアキー3a10は、電子機器1のタッチスクリーンディスプレイ2の縁F3に沿って配置される。同様に、ソフトウェアキー3b1、・・・、ソフトウェアキー3b10は、タッチスクリーンディスプレイ2の縁F4に沿って配置される。同様に、ソフトウェアキー3c1、ソフトウェアキー3c2、及びソフトウェアキー3c3は、タッチスクリーンディスプレイ2の縁F2に沿って配置される。また、図22及び図23に示すように、電子機器1は、略円形状の形態をなし、内部にタッチスクリーンディスプレイ2を配置するとともに、タッチスクリーンディスプレイ2の縁に沿って点字キーとしての役割が割り当てられる複数のソフトウェアキーを配置した構造体であってもよい。
本明細書では、添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記の実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。