以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。なお、図1に例示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
第1実施形態は、仮想キーボード(ソフトウェアキーボード)を利用して文字を入力する際に、仮想キーボードの表示範囲をユーザが容易に変更できるようにする仕組みを提供する。この仕組みは、例えば、タッチパネルを搭載したタブレット端末やスマートフォンなどの情報端末に適用可能である。なお、適用可能なタッチパネルの検知方式は任意であり、例えば、静電容量式、光学式、感圧式などが適用可能である。
図1に示すように、情報処理装置10は、表示部11、記憶部12、及び制御部13を有する。表示部11は、画面11a及び検出部11bを有する。画面11aは、テキストや画像などの情報を表示可能なディスプレイパネルである。また、画面11aは、ユーザの指やスタイラスペンなどの指示体22が画面11aをタッチした場合に、指示体22がタッチしている画面11a上の位置(タッチ位置)を検知するタッチパネルを有する。検出部11bは、タッチパネルの出力信号に基づいてタッチ位置を検出する。
記憶部12は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。検出部11bは、例えば、プロセッサとメモリ等を含むIC(Integrated Circuit)チップである。また、これに限られず、検出部11bは、CPU(Central Processing Unit)のICチップに内蔵されていてもよい。制御部13は、CPUやDSP(Digital Signal Processor)などのプロセッサである。但し、検出部11b及び制御部13は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などであってもよい。検出部11b及び制御部13は、例えば、記憶部12又は他のメモリに記憶されたプログラムを実行する。
表示部11は、図1(A)に示すように、文字の入力操作に用いる複数の入力キーを含むキー領域21を表示する。なお、複数の入力キーには、入力キー21a、21bが含まれる。キー領域21は、仮想キーボードの表示領域である。画面11aに表示されるキー領域21の表示範囲を示す情報は、記憶部12に格納されている。例えば、キー領域21の表示範囲は、画面11aの左下を原点とする座標系を基準として、キー領域21の左下座標と右上座標との組み合わせで表現される。
検出部11bは、画面11aをタッチしている指示体22の位置を検出する。指示体22が画面11aにタッチ後、画面11aから離れるまでに検出部11bにより連続して検出されるタッチ位置の集合(軌跡データ)は指示体22の移動軌跡を表す。なお、静電容量式のタッチパネルを採用している場合、検出部11bは、指示体22と画面11aとの間の距離に応じて変化する静電容量に基づいて、指示体22が画面11aにタッチしたか、画面11aから離れたかを判定することができる。
制御部13は、検出部11bが連続して検出した位置の情報(軌跡データ)に基づいて、入力キー21aをタッチした指示体22が画面11aにタッチした状態でキー領域21の外部に移動したかを判定する。指示体22がキー領域21の外部に移動した場合、制御部13は、指示体22の移動軌跡23に応じてキー領域21の表示範囲を変更する。
なお、制御部13は、移動軌跡23のうち、キー領域21の外部に位置する部分(逸脱軌跡)の長さが所定長より長いかを判定し、逸脱軌跡が所定長より長い場合にキー領域21の表示範囲を変更してもよい。逸脱軌跡の長さを考慮することで、表示範囲の変更操作を意図せず、たまたまキー領域21の外に指示体22が移動した場合に、意図に反して表示範囲が変更されるリスクを抑制することができる。
(持ち手の判別について)
図1(A)に示すように、情報処理装置10を片手で把持し、指の関節を延ばした状態で親指(指示体22の一例)をスライドさせる場合、親指が描く移動軌跡23は親指の付け根付近を中心とする円弧に近い曲線となることが多い。そのため、制御部13は、移動軌跡23を円弧とみなして円弧の中心位置を求め、その中心位置に基づいて右手による操作か、左手による操作かを判定することができる。例えば、移動軌跡23の右側に中心が位置する場合、制御部13は、持ち手が右手であると判定する。
なお、変形例として、制御部13は、移動軌跡23の軌跡データとして収集されたタッチ位置の集合についてタッチ位置の平均を求め、画面11aの水平方向に関するタッチ位置の平均座標から持ち手の左右を判別してもよい。
例えば、画面11aの水平方向をX軸として、制御部13は、タッチ位置のX座標を取得し、取得したX座標の平均値と、画面11aを2等分する中心のX座標(分割座標)とを比較する。そして、制御部13は、平均値が画面11aの左寄りの場合に右手と判定し、右寄りの場合に左手と判定する。この変形例によれば、任意の移動軌跡23について持ち手を容易に判別できる。
(表示範囲の決定方法について)
移動軌跡23の形状が円弧とみなせる場合、制御部13は、円弧の中心位置に基づいて基準点を設定し、基準点から最も遠い位置にある入力キー21bを特定する。例えば、制御部13は、円弧の中心位置又は該中心位置に最も近い画面の角部(図1の例では右下)を基準点に設定する。そして、制御部13は、例えば、入力キー21bが移動軌跡23に乗るか、少なくとも移動軌跡23の内側(中心位置の側)に入るようにキー領域21の表示範囲を変更する。
例えば、制御部13は、キー領域21の縦横比を維持し、入力キー21bが移動軌跡23に乗るようにすると共に、キー領域21の表示範囲が最大面積となるように該表示範囲を変更する。キー領域21の表示範囲を変更した制御部13は、変更後の表示範囲を示す情報(図1(C)参照)を記憶部12に格納する。
なお、変形例として、制御部13は、全てのタッチ位置がキー領域21の表示範囲に含まれ、できる限りキー領域21が大きく表示されるようにキー領域21の表示範囲を変更してもよい。
例えば、制御部13は、持ち手が右手の場合、最も左側にあるタッチ位置のX座標(画面11aの水平位置を示す座標)と、最も上側にあるタッチ位置のY座標(画面11aの垂直位置を示す座標)とを特定する。そして、制御部13は、特定したX座標、Y座標を有する点を基準点に設定し、表示範囲の左上端が基準点に一致し、かつ、画面11aにキー領域21が収まる最大の範囲をキー領域21の表示範囲に決定する。
持ち手が左手の場合も同様であるが、最も右側にあるタッチ位置のX座標が利用され、基準点が表示範囲の右上端に一致するように表示範囲が決定される点が異なる。上記の変形例によれば、任意の移動軌跡23について適切な表示範囲を設定することができる。
以上説明したように、情報処理装置10は、入力キー21aをタッチした指示体22がキー領域21の外までスライドした場合にキー領域21の表示範囲を調整する操作であると認識し、移動軌跡23に基づいて該表示範囲の調整を実施する。
そのため、動作モードの切り替え操作などの手間がかからず、キー領域21の外に指示体22をスライドさせるという簡単な操作で、キー領域21の表示範囲を指示体22が届く範囲に調整することができる。また、キー領域21の外まで指示体22がスライドしてから表示範囲が調整されるため、キー領域21の表示範囲内で指示体22をスライドさせて行う通常の文字入力操作と表示範囲の調整操作とが誤認識されるリスクを抑圧できる。
結果として、ユーザは、快適な入力環境で文字入力を行うことが可能になる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
第2実施形態は、仮想キーボード(ソフトウェアキーボード)を利用して文字を入力する際に、仮想キーボードの表示範囲をユーザが容易に変更できるようにする仕組みを提供する。この仕組みは、例えば、タッチパネルを搭載したタブレット端末やスマートフォンなどの情報処理装置に適用可能である。なお、適用可能なタッチパネルの検知方式は任意であり、例えば、静電容量式、光学式、感圧式などが適用可能である。
[2−1.ハードウェア]
まず、図2を参照しながら、情報処理装置100のハードウェアについて述べる。図2は、第2実施形態に係る情報処理装置のハードウェアの一例を示した図である。なお、情報処理装置100は、第2実施形態に係る情報処理装置の一例である。
情報処理装置100が有する機能は、例えば、図2に示すハードウェア資源を用いて実現することが可能である。つまり、情報処理装置100が有する機能は、コンピュータプログラムを用いて図2に示すハードウェアを制御することにより実現される。
図2に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、タッチパネルなどが用いられる。
出力部918としては、例えば、LCD(Liquid Crystal Display)やELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置などが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、外付けバッテリー、外付けスピーカ、又はテレビチューナなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網などを含む。
以上、情報処理装置100のハードウェアについて説明した。
[2−2.機能]
次に、図3を参照しながら、情報処理装置100の機能について説明する。図3は、第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
図3に示すように、情報処理装置100は、記憶部101、タッチ位置検出部102、調整操作検出部103、文字特定部104、キー領域調整部105、及びフィードバック表示部106を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。タッチ位置検出部102、調整操作検出部103、文字特定部104、キー領域調整部105、及びフィードバック表示部106の機能は、上述したCPU902などを用いて実現できる。
記憶部101には、キー領域情報101a、及び軌跡データ101bなどの情報が格納される。
キー領域情報101aは、図4に示すように、表示画面201に表示される仮想キーボードの領域(キー領域202)が表示される表示範囲を示す情報である。図4は、第2実施形態に係るキー領域情報の一例を示した図である。例えば、キー領域情報101aは、表示範囲の左下座標及び右上座標を含む。
なお、以下では、説明の都合上、表示画面201の水平方向をX方向、垂直方向をY方向、水平方向の座標をX座標、垂直方向の座標をY座標と呼ぶ場合がある。
軌跡データ101bは、図5に示すように、指示体204(例えば、指やスタイラスなど)がタッチした表示画面201上の位置(タッチ位置)を示す時系列データである。図5は、第2実施形態に係る軌跡データの一例を示した図である。図5の例は、軌跡データ101bとして、指示体204が表示画面201の上で移動軌跡203を描いた場合に時刻t(t=0,…,n−1)で検出されたタッチ位置の座標Pt[0]、…、Pt[n−1]を示している。
タッチ位置検出部102は、タッチパネルから出力される信号に基づいてタッチ位置を検出する。例えば、静電容量式のタッチパネルは、表面に指示体204が近づいた際に指示体204と導電膜との間で生じる静電容量の変化を検知し、変化が生じた電極の位置から指示体204のタッチ位置を示す信号を出力する。タッチ位置検出部102は、タッチパネルの出力信号からタッチ位置を表示画面201上の座標Ptを示す軌跡データ101bを生成し、生成した軌跡データ101bを記憶部101に格納する。
調整操作検出部103は、キー領域情報101a及び軌跡データ101bに基づいて、指示体204による操作が、キー領域202の表示範囲(サイズ・位置)を調整するための操作(調整操作)であるかを判定する。調整操作であると判定した場合、調整操作検出部103は、キー領域調整部105にキー領域202の調整を依頼する。一方、調整操作ではなく、仮想キーボードによる文字入力の操作であると判定した場合、調整操作検出部103は、文字特定部104に文字の特定を依頼する。
文字特定部104は、軌跡データ101bに基づいて指示体204がタッチした仮想キーを特定し、特定した仮想キーと指示体204の移動軌跡203とに基づいて文字を特定する。キー領域調整部105は、軌跡データ101bに基づいて持ち手の左右を特定すると共に、指示体204の移動軌跡203から、表示画面201の中で指示体204が容易に届くと推定される範囲を決定する。そして、キー領域調整部105は、決定した範囲にキー領域202が表示されるように調整した調整後の表示範囲を決定する。
フィードバック表示部106は、調整操作が検出された後、指示体204が表示画面201から離れるまで(タッチ位置が検出されなくなるまで)、調整後の表示範囲を表示画面201に表示する。例えば、フィードバック表示部106は、キー領域202の表示を変更せず、調整後の表示範囲を枠線で表示する。指示体204が表示画面201から離れた場合、キー領域調整部105は、調整後の表示範囲にキー領域202を再表示する(元の表示の消去・調整後の表示範囲への新たな表示)。
図6の例は、表示画面201をスライドする指示体204の移動軌跡203からタッチ位置の座標Pt[0]、…、Pt[n−1]が得られた場合における調整操作の判定からキー領域202の再配置までの処理を示している。この例では、調整操作を判定する方法として、キー領域202の外に指示体204の移動軌跡203が逸脱した場合に調整操作が行われたと判定する方法が採用されている。なお、以下では、移動軌跡203の中でキー領域202の外にある部分を逸脱軌跡と呼ぶ場合がある。
図6は、第2実施形態に係る調整操作の検出、最遠点の特定、フィードバック表示、キー領域の再表示について説明するための図である。図6(A)のような移動軌跡203の軌跡データ101b(Pt[0]、…、Pt[n−1])が得られた場合、調整操作検出部103は、逸脱軌跡の座標Pt[m]、…、Pt[n−1]を検出できる。そのため、調整操作検出部103は、指示体204による操作が調整操作であると判定する。
なお、誤操作で指示体204がキー領域202の外へ出ることもある。そのため、調整操作検出部103は、逸脱軌跡の長さが予め設定した閾値(ThO)より大きいかを判定し、閾値ThOより大きい場合に調整操作であると判定してもよい。このように逸脱軌跡の長さを考慮することで、ユーザが意図せずに行った操作が調整操作と誤判定されるリスクを低減することができる。
調整操作と判定された場合、キー領域調整部105は、図6(B)に示すように、軌跡データ101bに基づいて持ち手の左右を判定する。
例えば、キー領域調整部105は、軌跡データ101bの全座標についてX座標の平均値(点PtAのX座標)を計算し、計算した平均値が表示画面201のX方向の中央より左寄りであれば、持ち手が右手であると判定する。逆に、計算した平均値が表示画面201のX方向の中央より右寄りの場合、キー領域調整部105は、持ち手が左手であると判定する。
持ち手が右手である場合、キー領域調整部105は、X座標が最も左側にある点PtLのX座標(XL)を特定し、Y座標が最も上側にある点PtUのY座標(YU)を特定する。また、キー領域調整部105は、キー領域202の表示範囲を決めるための基準点PtB(XL,YU)を設定する。そして、キー領域調整部105は、基準点PtBに基づいて調整後の表示範囲を決定する。
例えば、キー領域調整部105は、調整後の表示範囲の左上端が基準点に一致し、キー領域202の縦横比を維持し、かつ、表示範囲の面積が最大となるように調整後の表示範囲を決定する。
なお、調整後の表示範囲を決定する方法は、この例に限定されない。例えば、キー領域202の縦横比を無視し、表示範囲の面積が表示画面201内で最大化されるように調整後の表示範囲が決定されてもよい。
調整後の表示範囲が決定されると、フィードバック表示部106は、図6(C)に示すように、調整後の表示範囲を表示画面201に表示する(フィードバック表示)。
なお、説明の都合上、図中では調整前のキー領域202を枠線で記載しているが、調整前のキー領域202の表示を変えず、フィードバック表示を枠線などの簡易的な表示方法で表示してもよい。指示体204が表示画面201から離れると、調整操作検出部103は、図6(D)に示すように、調整後の表示範囲でキー領域202を表示画面201に再表示する。
以上、情報処理装置100の機能について説明した。
[2−3.処理の流れ]
次に、図7及び図8を参照しながら、情報処理装置100が実行する処理の流れについて説明する。図7は、第2実施形態に係る情報処理装置が実行する処理の流れを示した第1のフロー図である。図8は、第2実施形態に係る情報処理装置が実行する処理の流れを示した第2のフロー図である。
(S101)タッチ位置検出部102は、指示体204が表示画面201にタッチした場合に、そのタッチ位置がキー領域202内であるか否かを判定する。つまり、タッチ位置検出部102は、キー領域202へのタッチを検出する。キー領域202へのタッチが検出された場合、処理はS102へと進む。一方、キー領域202へのタッチが検出されていない場合、処理はS101へ戻る。
(S102)タッチ位置検出部102は、検出されたタッチ位置のデータを軌跡データ101bとして記憶部101に記録する。タッチ位置検出部102は、指示体204による表示画面201への最初のタッチを操作の開始(開始イベント)と判断し、連続的に検出されるタッチ位置のデータを時系列で軌跡データ101bに追加する。
(S103)調整操作検出部103は、軌跡データ101bを参照し、キー領域202外のタッチ位置があるか否かを判定する。つまり、調整操作検出部103は、軌跡データ101bに基づいて逸脱軌跡(図6参照)の存否を判定する。キー領域202外のタッチ位置がある場合、処理はS111へと進む。一方、キー領域202外のタッチ位置がない場合、処理はS104へと進む。
(S104)文字特定部104は、タッチ位置に応じた文字入力用の表示を表示画面201に表示する。例えば、情報処理装置100がフリック操作による文字入力を受け付ける場合、図9に示すように、指示体204のタッチ位置及びスライド方向に応じて文字入力をサポートする表示が表示画面201に示される。図9は、文字入力用の表示の一例を示した図である。
図9の例は、文字「た」が割り当てられた入力キー205を指示体204がタッチし、指示体204が上下左右にスライドした場合に表示される候補キー205a、…、205dを示している。例えば、指示体204が上方向にスライドした場合、文字「つ」に対応する候補キー205aが表示される。なお、候補キー205aが表示された状態で指示体204が表示画面201から離れると文字「つ」が入力される。他の候補キー205b、…、205dについても同様である。
(S105)文字特定部104は、指示体204が表示画面201から離れたか否かを判定する。指示体204が表示画面201から離れた場合、処理はS106へと進む。一方、指示体204が表示画面201から離れていない場合、処理はS102へと進む。
(S106)文字特定部104は、指示体204の移動軌跡203が予め設定された閾値ThF1より短いか否かを判定する。閾値ThF1は、例えば、入力キー205の幅と同じ長さ、或いは、その長さを基準に許容可能なマージンを考慮した長さに設定される。移動軌跡203が閾値ThF1より短い場合、処理はS107へと進む。一方、移動軌跡203が閾値ThF1より短くない場合、処理はS108へと進む。
(S107)文字特定部104は、指示体204による操作をプッシュ操作と判定する。プッシュ操作は、入力キー205を押下する操作である。なお、この操作はタップ操作と呼ばれることもある。ここで、文字特定部104は、フリック表番号(図11参照)をプッシュ操作に対応する「0」に設定する。なお、フリック表番号は、入力キー205にタッチした指示体204のスライド方向(フリック方向)を特定するための番号である。但し、スライドしない操作(プッシュ操作)にもフリック表番号「0」が割り当てられている。S107の処理が完了すると、処理はS110へと進む。
(S108)文字特定部104は、指示体204の移動軌跡203が予め設定された閾値ThF2より短いか否かを判定する。閾値ThF2は、閾値ThF1より大きい値に設定される。また、閾値ThF2は、例えば、入力キー205の幅を2倍した長さ、或いは、その長さを基準に許容可能なマージンを考慮した長さに設定される。移動軌跡203が閾値ThF2より短い場合、処理はS109へと進む。一方、移動軌跡203が閾値ThF2より短くない場合、図7及び図8に示した一連の処理は終了する。
ここで、閾値ThF1、ThF2について説明を補足する。
フリック操作では、指示体204が入力キー205にタッチし、スライドさせずに表示画面201から離れた場合、入力キー205に割り当てられた文字が入力される。この操作が上記のプッシュ操作であり、図9の例では文字「た」が入力される。
ユーザが文字入力を行う際、入力キー205にタッチした指示体204を全く動かさずに表示画面201から離すことは現実的にはなく、僅かに指示体204の移動が検出される。そこで、このような微妙な指示体204の動きを許容するために閾値ThF1を設定し、文字特定部104が上記のS107のようにしてプッシュ操作を判定する。
一方、フリック操作は入力キー205の周辺に指示体204をスライドさせて行う操作である(図9参照)。そのため、隣接する複数の入力キー205を超えて遠くに指示体204がスライドした場合には、フリック操作とは異なる操作、又はフリック操作のキャンセルなどをユーザが意図していると判断しうる。そのため、フリック操作であることを判断するために閾値ThF2を設定し、文字特定部104は上記のS108のようにしてフリック操作を判定する。
(S109)文字特定部104は、フリック方向に応じてフリック表番号を特定する。例えば、左方向へのスライドにフリック表番号「1」、上方向へのスライドにフリック表番号「2」、右方向へのスライドにフリック表番号「3」、下方向へのスライドにフリック表番号「4」が予め割り当てられている。そのため、文字特定部104は、軌跡データ101bを参照してフリック方向を検出し、検出したフリック方向に対応するフリック表番号を特定することができる。
(S110)文字特定部104は、入力キー205の位置と、その入力キー205に割り当てられた文字を特定するために用いる子音番号とを対応付けるキー領域対応表(図10参照)を参照し、最初のタッチ位置に対応する子音番号を特定する。図10は、キー領域対応表の一例を示した図である。
キー領域対応表は、図10に示すように、個々の入力キー205の表示範囲(左下座標、右上座標)と子音番号とを対応付ける。入力キー205の表示範囲は、キー領域202の左下端を原点とする座標系で、入力キー205の左下座標及び右上座標により表現できる。但し、キー領域202の表示範囲が変わる際に入力キー205のサイズも変更されるため、キー幅W及びキー高さHを用いて入力キー205の表示範囲が表現されている。文字特定部104は、キー領域情報101aとキー領域対応表とを組み合わせることで、タッチされた入力キー205の子音番号を特定することができる。
また、文字特定部104は、子音番号とフリック表番号との組み合わせと、入力文字とを対応付ける入力文字対応表(図11参照)を参照し、フリック操作に対応する入力文字を決定する。図11は、入力文字対応表の一例を示した図である。S107又はS109でフリック表番号を特定し、S110で子音番号を特定しているため、文字特定部104は、これら特定した番号の組み合わせに対応する文字を入力文字とする。S110の処理が完了すると、図7及び図8に示した一連の処理は終了する。
(S111)調整操作検出部103は、キー領域202外の移動軌跡203(逸脱軌跡)の長さを計算する。
(S112)調整操作検出部103は、逸脱軌跡が予め設定された閾値ThOより長いか否かを判定する。閾値ThOは任意に設定することができる。例えば、閾値ThOは、入力キー205の幅のN倍(Nは2以上の数)、或いは、入力キー205の中心から候補キー205a(図9参照)の上端までの長さより大きな値などに設定されうる。逸脱軌跡が閾値ThOより長い場合、処理はS113へと進む。一方、逸脱軌跡が閾値ThOより長くない場合、処理はS102へと進む。
(S113)キー領域調整部105は、軌跡データ101bのX座標平均から持ち手の左右を判定する。
例えば、キー領域調整部105は、図6(B)に示すように、軌跡データ101bの全座標についてX座標の平均値(X座標平均:点PtAのX座標)を計算し、X座標平均が表示画面201のX方向の中央より左寄りであれば、持ち手が右手であると判定する。一方、X座標平均が表示画面201のX方向の中央より右寄りの場合、キー領域調整部105は、持ち手が左手であると判定する。
(S114)持ち手が右手である場合、処理はS115へと進む。一方、持ち手が左手である場合、処理はS116へと進む。
(S115)キー領域調整部105は、移動軌跡の左端・上端の座標に基づいて基準点(キー領域202の左上端)を計算する。
例えば、キー領域調整部105は、軌跡データ101bのX座標を参照し、表示画面201の最も左側に位置するタッチ位置のX座標(XL)を検出する。また、キー領域調整部105は、軌跡データ101bのY座標を参照し、表示画面201の最も上側に位置するタッチ位置のY座標(YU)を検出する。そして、キー領域調整部105は、検出したX座標XL及びY座標YUに対応する座標(XL,YU)を基準点とする。
S115の処理が完了すると、処理はS117へと進む。
(S116)キー領域調整部105は、移動軌跡の右端・上端の座標に基づいて基準点(キー領域202の右上端)を計算する。
例えば、キー領域調整部105は、軌跡データ101bのX座標を参照し、表示画面201の最も右側に位置するタッチ位置のX座標(XR)を検出する。また、キー領域調整部105は、軌跡データ101bのY座標を参照し、表示画面201の最も上側に位置するタッチ位置のY座標(YU)を検出する。そして、キー領域調整部105は、検出したX座標XR及びY座標YUに対応する座標(XR,YU)を基準点とする。
(S117)キー領域調整部105は、基準点に基づいて調整後のキー領域202(表示領域)を計算する。
例えば、持ち手が右手の場合、キー領域調整部105は、調整後の表示範囲の左上端が基準点に一致し、キー領域202の縦横比を維持し、かつ、表示範囲の面積が最大となるように調整後の表示範囲を決定する。持ち手が左手の場合、キー領域調整部105は、調整後の表示範囲の右上端が基準点に一致し、キー領域202の縦横比を維持し、かつ、表示範囲の面積が最大となるように調整後の表示範囲を決定する。
なお、調整後の表示範囲を決定する方法は、上記の例に限定されない。例えば、キー領域202の縦横比を無視し、表示範囲の面積が表示画面201内で最大化されるように調整後の表示範囲が決定されてもよい。
フィードバック表示部106は、キー領域調整部105が計算した調整後の表示領域を表示画面201に表示する(フィードバック表示)。
(S118)キー領域調整部105は、指示体204が表示画面201から離れたか否かを判定する。指示体204が表示画面201から離れた場合、処理はS119へと進む。一方、指示体204が表示画面201から離れていない場合、処理はS102へと進む。
(S119)キー領域調整部105は、最後に計算したキー領域202の計算結果(調整後の表示範囲)に基づいてサイズ及び位置を調整したキー領域202を表示画面201に表示する。S119の処理が完了すると、図7及び図8に示した一連の処理は終了する。
以上、情報処理装置100が実行する処理の流れについて説明した。
上記のように、逸脱軌跡に基づいて調整操作を判別することで、フリック操作などの文字入力操作が意図せず調整操作と判定されるリスクを回避することが可能になる。また、文字入力中にキー領域202の外に指示体204を移動させるだけで調整操作を行えるため、動作モードの切り替えなどの手間がかからず、ユーザは、容易にキー領域202の表示範囲を調整することができる。その結果、ユーザは、快適な環境で文字入力を行えるようになる。
[2−4.変形例:領域判定&円弧スクラッチジェスチャー]
ここで、第2実施形態の変形例について述べる。以下で説明する変形例は、キー領域202を調整する際にユーザが行う操作を特定のジェスチャー(円弧スクラッチジェスチャー)に限定し、他の操作(通常の文字入力操作など)が調整操作と誤認識されるリスクを更に低減する仕組みを提供する。
(変形例#1:円弧スクラッチジェスチャー)
まず、図12を参照しながら、第2実施形態の一変形例(変形例#1)に係る円弧スクラッチジェスチャーについて説明する。
図12は、第2実施形態の一変形例(変形例#1)に係る円弧スクラッチジェスチャーについて説明するための図である。
ユーザが情報処理装置100を右手で把持し、親指を指示体204として情報処理装置100を操作する場合、図12に示すように、指示体204が届く範囲は、おおよそ指示体204が描く円弧の内側に限られる。キー領域202の表示範囲が大きく、指示体204が届く範囲の外にある入力キー205をタッチする場合、ユーザは、情報処理装置100を把持する手の位置を移動させるか、情報処理装置100を把持していない左手で入力キー205をタッチすることになる。
情報処理装置100を把持している指示体204が描く円弧の内側にキー領域202が収まるようにキー領域202の表示範囲を調整すれば、ユーザは、情報処理装置100を把持する手の位置を移動させずに片手で入力キー205をタッチできる。そこで、変形例#1は、円弧を描くように指示体204をスライドさせるジェスチャーに応じて、指示体204が描く円弧を基準にキー領域202の表示範囲を調整する仕組みを提供する。
但し、フリック操作(図9参照)などの際に指示体204が描く移動軌跡も円弧となることがあるため、変形例#1は、このような通常の入力操作が表示範囲の調整操作と誤判定されるリスクを低減できる円弧スクラッチジェスチャーを提案する。
円弧スクラッチジェスチャーは、図12に示すように、指示体204の進行方向を変えて複数の円弧を描くようにスライドさせるジェスチャーである。言い換えると、円弧スクラッチジェスチャーは、複数の折り返し点302a、302bを含む移動軌跡301を描くように指示体204をスライドさせるジェスチャーである。
なお、指示体204が描く移動軌跡は正確な円弧とはならないため、情報処理装置100(調整操作検出部103)は、図13のような方法で、移動軌跡が円弧とみなせるか否かを判定する。図13は、円弧の判定方法及び曲率の計算方法について説明するための図である。
例えば、移動軌跡301上のタッチ位置の座標Pt[k]、…、Pt[k+4]が得られている場合、調整操作検出部103は、連続する3つの座標Pt[j]、Pt[j+1]、Pt[j+2](j=k,…,k+2)を選択する。次いで、調整操作検出部103は、選択した3つの座標Pt[j]、Pt[j+1]、Pt[j+2]を通る円弧の中心位置(Pc1、Pc2、Pc3)を計算する。
例えば、Pt[j]の座標が(X1,Y1)、Pt[j+1]の座標が(X2,Y2)、Pt[j+2]の座標が(X3,Y3)である場合、調整操作検出部103は、下記の式(1)に各座標を代入してa、b、cを未知数とする連立方程式を得る。そして、調整操作検出部103は、その連立方程式を解くことでa、b、cを求め、下記の式(2)に示す中心位置の座標(A,B)を得る。なお、円弧の半径Rは下記の式(3)で与えられる。
そして、調整操作検出部103は、計算した中心位置(Pc1、Pc2、Pc3)の集合が許容範囲に収まるか否かを判定する。中心位置の集合が許容範囲に収まった場合、調整操作検出部103は、座標Pt[k]、…、Pt[k+4]を通る移動軌跡が円弧であると判定する。なお、調整操作検出部103は、移動軌跡301(図12参照)の始点と折り返し点302aとを結ぶ移動軌跡、及び2つの折り返し点302a、302bを結ぶ移動軌跡が円弧であるか否かを判定する。
折り返し点302a、302bの検出は、例えば、図14に示すような方法で行うことができる。図14は、折り返し点の検出方法について説明するための図である。例えば、移動軌跡301上のタッチ位置の座標Pt[n−3]、…、Pt[n+2]が得られている場合、調整操作検出部103は、連続する3つの座標Pt[j−1]、Pt[j]、Pt[j+1](j=n−2,…,n+1)を選択する。
次いで、調整操作検出部103は、座標Pt[j−1]、Pt[j]を結ぶ線分と、座標Pt[j]、Pt[j+1]を結ぶ線分とがなす角の角度Δp[j]を計算する。例えば、角度Δp[j]は、下記の式(4)で与えられる。但し、vj,j-1は、Pt[j−1]からPt[j]へ向かうベクトルを表す。vj+1,jは、Pt[j]からPt[j+1]へ向かうベクトルを表す。調整操作検出部103は、角度Δp[j]がπ/2より小さい場合(鋭角の場合)、座標Pt[n]が折り返し点であると判定する。図14の例では、座標Pt[n]が折り返し点302aとなる。
調整操作検出部103は、移動軌跡301が複数の折り返し点を含み、始点と折り返し点とを結ぶ移動軌跡、及び折り返し点間を結ぶ移動軌跡のうち、複数の移動軌跡が円弧の場合に円弧スクラッチジェスチャーと判定する。
但し、指示体204が小刻みに動いた場合などに円弧スクラッチジェスチャーと誤判定されるリスクを回避するため、調整操作検出部103は、逸脱軌跡(図6参照)の存在及び円弧の長さを判定に用いる。例えば、調整操作検出部103は、キー領域202をタッチした指示体204が描く移動軌跡301がキー領域202を逸脱し、折り返し点に接続する移動軌跡の長さが予め設定した閾値ThLより長い円弧を複数含む場合に円弧スクラッチジェスチャーと判定する。
キー領域調整部105は、円弧スクラッチジェスチャーと判定された移動軌跡301に基づいてキー領域202の表示範囲を調整する。例えば、キー領域調整部105は、移動軌跡301に含まれる各円弧の中心点に基づいて持ち手の左右を判定する。次いで、キー領域調整部105は、中心点の平均位置(基準点)から最も遠い移動軌跡301上の点(最遠点)を特定し、基準点及び最遠点に基づいて調整後の表示範囲を設定する。
上記のように、変形例#1は、円弧スクラッチジェスチャーを利用してキー領域202の表示範囲を調整できるようにする仕組みを提供する。以下、図15〜図17を参照しながら、変形例#1に係る情報処理装置100が実行する処理の流れについて説明する。
図15は、第2実施形態の一変形例(変形例#1)に係る情報処理装置が実行する処理の流れを示した第1のフロー図である。図16は、第2実施形態の一変形例(変形例#1)に係る情報処理装置が実行する処理の流れを示した第2のフロー図である。図17は、第2実施形態の一変形例(変形例#1)に係る情報処理装置が実行する処理の流れを示した第3のフロー図である。
(S201)タッチ位置検出部102は、指示体204が表示画面201にタッチした場合に、そのタッチ位置がキー領域202内であるか否かを判定する。つまり、タッチ位置検出部102は、キー領域202へのタッチを検出する。キー領域202へのタッチが検出された場合、処理はS202へと進む。一方、キー領域202へのタッチが検出されていない場合、処理はS201へ戻る。
(S202)タッチ位置検出部102は、検出されたタッチ位置のデータを軌跡データ101bとして記憶部101に記録する。タッチ位置検出部102は、指示体204による表示画面201への最初のタッチを操作の開始(開始イベント)と判断し、連続的に検出されるタッチ位置のデータを時系列で軌跡データ101bに追加する。
(S203)調整操作検出部103は、軌跡データ101bを参照し、キー領域202外のタッチ位置があるか否かを判定する。つまり、調整操作検出部103は、軌跡データ101bに基づいて逸脱軌跡(図6参照)の存否を判定する。キー領域202外のタッチ位置がある場合、処理はS207へと進む。一方、キー領域202外のタッチ位置がない場合、処理はS204へと進む。
(S204)文字特定部104は、タッチ位置に応じた文字入力用の表示を表示画面201に表示する。例えば、情報処理装置100がフリック操作による文字入力を受け付ける場合、図9に示すように、指示体204のタッチ位置及びスライド方向に応じて文字入力をサポートする表示が表示画面201に示される。
(S205)文字特定部104は、指示体204が表示画面201から離れたか否かを判定する。指示体204が表示画面201から離れた場合、処理はS206へと進む。一方、指示体204が表示画面201から離れていない場合、処理はS202へと進む。
(S206)文字特定部104は、上述したS106〜S110と同じ方法を用い、タッチ位置に基づいて文字を特定する。つまり、文字特定部104は、プッシュ操作と、フリック操作と、その他の操作とを判別し、操作内容に応じたフリック表番号を特定し、キー領域対応表(図10参照)及び入力文字対応表(図11参照)に基づいて入力文字を特定する。S206の処理が完了すると、図15〜図17に示した一連の処理は終了する。
(S207)調整操作検出部103は、軌跡データ101bを参照し、折り返し点を探索する。例えば、調整操作検出部103は、連続するタッチ位置の座標を3つ選択し、上記の式(1)に基づいて、連続する座標同士を結ぶ2つの線分がなす角の角度(図14(B)参照)を計算する。そして、調整操作検出部103は、計算した角度がπ/2より小さい場合、角に位置する座標が折り返し点であると判定する。調整操作検出部103は、軌跡データ101bに含まれる各座標について判定を行い、折り返し点を探索する。
(S208)調整操作検出部103は、折り返し点が検出されたか否かを判定する。折り返し点が検出された場合、処理はS209へと進む。一方、折り返し点が検出されていない場合、処理はS202へと進む。
(S209)調整操作検出部103は、移動軌跡301の始点から折り返し点までの区間、及び折り返し点の間の区間を抽出する。図12の例では、移動軌跡301の始点から折り返し点302aまでの区間、及び折り返し点302a、302bの間の区間が抽出される。次いで、調整操作検出部103は、図13に示した方法で、抽出した区間がそれぞれ円弧であるか否かを判定する。そして、調整操作検出部103は、円弧をなす区間(円弧とみなせる区間)を特定する。
(S210)調整操作検出部103は、S209で特定した区間のうち、区間の長さが閾値ThLより大きい区間(円弧)を抽出する。閾値ThLは、例えば、フリック操作などの通常の入力操作で指示体204が移動しうる最大距離又は入力キー205の幅(入力キー205の幅の2倍など)に基づいて設定される。
(S211)調整操作検出部103は、S210で抽出された円弧の数が閾値ThNより大きいか否かを判定する。閾値ThNは、2以上の数(例えば、3)に設定される。円弧の数が閾値ThNより大きい場合、処理はS212へと進む。一方、円弧の数が閾値ThNより大きくない場合、処理はS202へと進む。
(S212)キー領域調整部105は、S210で抽出された各円弧の中央座標を計算する。中央座標は、個々の円弧をなす全てのタッチ位置の中央に位置する座標である。キー領域調整部105は、各円弧について計算した中央座標の平均(平均座標)を求め、平均座標の位置から持ち手の左右を判別する。例えば、キー領域調整部105は、平均座標が表示画面201の中央より左寄りの場合に持ち手が右手であると判断し、平均座標が表示画面201の中央より右寄りの場合に持ち手が左手であると判断する。
(S213)キー領域調整部105は、S210で抽出された各円弧の中心点を計算する。例えば、キー領域調整部105は、個々の円弧をなすタッチ位置の座標を3つ選択し、選択した3つの座標を通る円の中心点を計算する。なお、キー領域調整部105は、図13に示した方法で3つの座標点の集合毎に中心点を計算し、計算した中心点の平均座標を円弧の中心点としてもよい。中心点の座標は上記の式(1)及び式(2)に基づいて計算される。キー領域調整部105は、各円弧について計算した中心点の平均位置を求め、その平均位置を基準点に設定する。
(S214)キー領域調整部105は、S213で設定した基準点から最も遠い円弧上の点(最遠点)を特定する。
(S215)キー領域調整部105は、基準点、最遠点に基づいて調整後のキー領域調整部105(表示範囲)を計算する。例えば、持ち手が右手の場合、キー領域調整部105は、基準点(基準点が表示画面201内の場合)又は基準点に最も近い表示画面201内の点(基準点が表示画面201外の場合)に表示範囲の右下端を設定する。そして、キー領域調整部105は、最遠点に表示範囲の左上端が合うように調整後の表示範囲を決定する。フィードバック表示部106は、キー領域調整部105による計算結果(調整後の表示領域)を表示画面201に表示する。
(S216)キー領域調整部105は、指示体204が表示画面201から離れたか否かを判定する。指示体204が表示画面201から離れた場合、処理はS217へと進む。一方、指示体204が表示画面201から離れていない場合、処理はS202へと進む。
(S217)キー領域調整部105は、最後に計算したキー領域202の計算結果(調整後の表示範囲)に基づいてサイズ及び位置を調整したキー領域202を表示画面201に表示する。S217の処理が完了すると、図15〜図17に示した一連の処理は終了する。
以上、変形例#1について説明した。
(変形例#2:湾曲の向きに基づくジェスチャーの判定)
ここで、図18を参照しながら、第2実施形態の更なる変形例(変形例#2)について説明する。
図18は、第2実施形態の一変形例(変形例#2)に係る情報処理装置の処理について説明するための図である。変形例#2は、移動軌跡301に含まれる円弧の湾曲方向を考慮する仕組みを提供する。
変形例#2における処理の変更点は、図18(A)に示すように、上記のS211、S212(図16参照)の間にS301の処理が挿入される点にある。
S301において、調整操作検出部103は、S210で抽出した全ての円弧の湾曲が同じ向きか否かを判定する。湾曲の向きは、例えば、図18(B)に示すように、中心点(Pc1、Pc2、Pc3)の位置に基づいて特定することができる。
図18(B)の例において、点(a)(b)を結ぶ円弧の中心点Pc1は円弧の右側に位置する。点(a)(b)を結ぶ円弧の湾曲方向と、点(b)(c)を結ぶ円弧の湾曲方向とが同じ場合、点(b)(c)を結ぶ円弧の中心点Pc2は、点(a)(b)を結ぶ円弧の右側(中心点Pc1と同じ位置関係)に位置する。つまり、調整操作検出部103は、円弧と中心点との位置関係に基づいて円弧の湾曲が同じ向きか否かを判定できる。
全ての円弧の湾曲が同じ向きである場合、処理はS212へと進む。一方、湾曲の向きが異なる円弧を含む場合、一連の処理は終了する。このような判定処理を含めることで、図18(C)のように、湾曲が異なる移動軌跡を描く通常の入力操作(例えば、フリック操作など)がある場合に、その入力操作をキー領域202の調整操作と誤判定するリスクを回避することが可能になる。
以上、変形例#2について説明した。
(変形例#3:円弧までの平均距離に基づく領域調整)
次に、図19を参照しながら、第2実施形態の更なる変形例(変形例#3)について説明する。
図19は、第2実施形態の一変形例(変形例#3)に係る情報処理装置の処理について説明するための図である。変形例#3は、調整後の表示範囲をジェスチャーにより微調整できるようにする仕組みを提供する。
変形例#3における処理の変更点は、図19(A)に示すように、上記のS214、S215(図17参照)をS311、S312に置き換えた点にある。
S311において、キー領域調整部105は、基準点から各円弧までの距離の平均値(平均距離)を計算する。S312において、キー領域調整部105は、基準点、平均距離に基づいて調整後のキー領域202(表示範囲)を計算する。
例えば、持ち手が右手の場合、キー領域調整部105は、基準点(基準点が表示画面201内の場合)又は基準点に最も近い表示画面201内の点(基準点が表示画面201外の場合)に表示範囲の右下端を設定する。そして、キー領域調整部105は、表示範囲の縦横比を維持し、表示範囲の対角長さ(左上端から右下端までの長さ)が平均距離となるように調整後の表示範囲を決定する。フィードバック表示部106は、キー領域調整部105による計算結果(調整後の表示領域)を表示画面201に表示する。
S214では、キー領域調整部105が最遠点を特定していた。最遠点を特定する方法では、指示体204が届く範囲で、できる限り調整後の表示範囲が大きくなるようにキー領域202が調整される。一方、図19(B)(C)に示すように、円弧の中心方向(基準点に近づく方向)に移動軌跡301が描かれると平均距離は徐々に短くなる。そのため、ユーザは、フィードバック表示を見ながら、円弧が中心方向に寄るように円弧スクラッチジェスチャーを行うことで、調整後の表示範囲を微調整することが可能になる。
なお、図19(C)の例では(a)から(f)の順に指示体204を移動させて円弧を中心方向に移動させたが、円弧の中心から離れる方向に円弧を描いていくと、平均距離が長くなり、調整後の表示範囲を拡大する方向に微調整することができる。また、平均距離を利用しているため、円弧の半径や描く円弧の数に応じて表示範囲の調整量が変化する。そのため、ユーザは、円弧の描き方を調整することによって、素早く表示範囲を拡大/縮小することもできるし、ゆっくり少しずつ表示範囲を調整することもできる。
以上、変形例#3について説明した。
(変形例#4:ジェスチャーの進行方向に基づく領域調整)
次に、図20を参照しながら、第2実施形態の更なる変形例(変形例#4)について説明する。
図20は、第2実施形態の一変形例(変形例#4)に係る情報処理装置の処理について説明するための図である。変形例#4は、変形例#3と同様に調整後の表示範囲をジェスチャーにより微調整できるようにする仕組みを提供する。但し、変形例#3では平均距離を利用していたが、変形例#4では最遠点及び最近点を利用する。
変形例#4における処理の変更点は、図20(A)に示すように、上記のS214、S215(図17参照)をS321〜S324に置き換えた点にある。
S321において、キー領域調整部105は、時系列で円弧の描画位置を比較した場合に円弧が基準点から遠ざかっているか否かを判定する。
例えば、図20(B)の例において、点(a)を始点として点(e)まで移動軌跡301が描かれた場合、点(a)(b)を結ぶ円弧より点(b)(c)を結ぶ円弧の方が基準点に近い。同様に、点(b)(c)を結ぶ円弧より点(c)(d)を結ぶ円弧の方が基準点に近く、点(c)(d)を結ぶ円弧より点(d)(e)を結ぶ円弧の方が基準点に近い。この例の場合、キー領域調整部105は、円弧が基準点に近づいていると判定する。
逆に、図20(C)の例において、点(a)を始点として点(e)まで移動軌跡301が描かれた場合、点(a)(b)を結ぶ円弧より点(b)(c)を結ぶ円弧の方が基準点から遠い。同様に、点(b)(c)を結ぶ円弧より点(c)(d)を結ぶ円弧の方が基準点から遠く、点(c)(d)を結ぶ円弧より点(d)(e)を結ぶ円弧の方が基準点から遠い。この例の場合、キー領域調整部105は、円弧が基準点から遠ざかっていると判定する。
円弧が基準点から遠ざかっていると判定された場合(図20(C)参照)、処理はS322へと進む。一方、円弧が基準点に近づいていると判定された場合(図20(B))、処理はS323へと進む。なお、円弧が基準点から遠ざかる部分と、近づく部分とが移動軌跡301に含まれる場合、キー領域調整部105は、変形例#3の方法で調整後の表示範囲を決定する。
S322において、キー領域調整部105は、基準点から最も遠い円弧状の点(目標点)を特定する。S322の処理が完了すると、処理はS324へと進む。
S323において、キー領域調整部105は、基準点から最も近い円弧状の点(目標点)を特定する。S323の処理が完了すると、処理はS324へと進む。
S324において、キー領域調整部105は、基準点、目標点に基づいて調整後のキー領域調整部105(表示範囲)を計算する。
例えば、持ち手が右手の場合、キー領域調整部105は、基準点(基準点が表示画面201内の場合)又は基準点に最も近い表示画面201内の点(基準点が表示画面201外の場合)に表示範囲の右下端を設定する。そして、キー領域調整部105は、目標点に表示範囲の左上端が合うように調整後の表示範囲を決定する。フィードバック表示部106は、キー領域調整部105による計算結果(調整後の表示領域)を表示画面201に表示する。
以上、変形例#4について説明した。
(その他の変形例)
上記の説明においては、基準点などを利用して調整後の表示範囲を決定する方法が示されているが、第2実施形態に係る技術の適用範囲はこれに限定されない。
例えば、持ち手が右手の場合、キー領域調整部105は、最遠点又は最近点を含む円弧に表示範囲の左上端が重なり、表示範囲の右下が表示画面201の右下端に一致するように調整後の表示範囲を決定してもよい。
また、キー領域調整部105は、最遠点又は最近点を含む円弧に表示範囲の左上端が接し、キー領域202の縦横比が維持され、表示画面201の枠の少なくとも1つに表示範囲の一辺が接するように調整後の表示範囲を決定してもよい。このような変形例も第2実施形態の技術的範囲に属する。
以上、第2実施形態について説明した。