図面を参照して第1実施例を説明する。図1に、多機能機10の外観図および構成図を示す。多機能機10は、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能、電話機能などを有する。 図1に示すように、多機能機10の上面正面側には、表示パネル50が設けられている。表示パネル50はいわゆるタッチパネルである。表示パネル50は、ユーザの指や、スタイラス(タッチパネル用ペン)が接触または接近された指示座標を検出する機能を有する。なお、表示パネル50は、接触のみを検知するタッチパネルであってもよい。また、表示パネル50は、各種のデータを表示する機能を有する。表示パネル50には、例えば、文字ボタン(ひらがな、アルファベットなど)、メニューボタン、電話帳ボタン、履歴ボタンなどの各種のタッチパネルボタンが表示される。
図1の構成図を説明する。多機能機10は、制御部12、表示パネル50、ハードキー52、印刷部54、スキャン部56、FAX部58、ネットワークインターフェイス60、等を備える。制御部12は、CPU14、ROM16、RAM30、NVRAM40、等を有する。
CPU14は、ROM16に記憶されているプログラムに従って様々な処理を実行する。CPU14が実行する処理については、後で詳しく説明する。RAM30は、揮発性のメモリであり、基本機能プログラム18に従って処理が実行される過程で生成される各種データを記憶するための記憶領域である。ROM16は、多機能機10の基本的な動作を制御するための基本機能プログラム18を記憶している。また、ROM16には、各種のボタンデータが記憶される。ボタンデータの一例としては、ひらがな、アルファベット、数字などの文字データや、スペースキー、Deleteなどの各種の機能データが挙げられる。またROM16には、ボタン領域の大きさ(高さおよび幅)が記憶される。
またROM16には、変換フィルタテーブルが記憶される。変換フィルタテーブルは、変換フィルタデータ、対応情報、変換情報が記憶されているテーブルである。変換フィルタテーブルは、ボタンデータの各々について用意されている。
例として、図9に、ボタンデータ「D」に関連するボタンデータについての変換フィルタテーブルTB1bを示す。変換フィルタテーブルTB1bには、変換フィルタデータF1b〜F5bが記憶される。変換フィルタデータF1bは、大文字と小文字との間の変換を行うデータである。変換フィルタデータF2bは、太字と細字との間の変換を行うデータである。変換フィルタデータF3bは、斜体文字の変換を行うデータである。変換フィルタデータF4bは、下線文字との間の変換を行うデータである。変換フィルタデータF5bは、色変更の変換を行うデータである。
また変換フィルタテーブルTB1bには、ボタンデータB1b〜B10bが記憶されている。ボタンデータB1b〜B10bは、変換フィルタデータF1b〜F5bを用いて、互いに変換することが可能な関係にあるデータである。
また、変換フィルタテーブルTB1bには、ボタンデータB1b〜B10bと、変換フィルタデータF1b〜F5bとの対応を示す対応情報が記憶される。例えば、ボタンデータB1b「D」の対応情報は、変換フィルタデータF1bないしF5bである。
また、変換フィルタテーブルTB1bには、変換フィルタデータF1b〜F5bと、変換後のボタンデータとの対応を示す変換情報が記憶されている。例えば、変換フィルタデータF1bをボタンデータB6b「d」に適用すると、ボタンデータB16b「D」に変換される、という変換情報が記憶されている。
NVRAM40は、不揮発性のメモリであり、CPU14が基本機能プログラム18に従って処理を実行する際に利用される各種パラメータや、ボタンテーブルを記憶するための記憶領域である。またNVRAM40には、各種の設定が記憶されている。記憶される設定としては、確定領域を新たに表示するか否かの設定(S231)、所定時間の値(S233)、確定領域を指示点が通過することで入力文字を確定させるか否かの設定(S25)、選択された変換フィルタデータを初期状態のボタンデータの表示に反映するか否かの設定(S37)、などがある。また、変換フィルタ領域の大きさ、変換フィルタ領域の表示位置、変換フィルタ領域とボタン領域との隣接距離、等についての設定がある。これらの設定は、予めユーザによって設定されてもよい。
なお、ROM16やNVRAM40に記憶されている、変換フィルタテーブルなどの各種の情報は、外部記憶装置に記憶されるとしてもよい。そして外部記憶装置から各種の情報が読み出され、RAM30に一旦記憶された上で、各種の処理が行なわれるとしてもよい。外部記憶装置の例としては、メモリーカードや外付のハードディスクなどが挙げられる。
ネットワークインターフェイス60は、LAN回線に接続されている。多機能機10は、外部に接続されたパーソナルコンピュータと通信可能であるとともに、インターネットにアクセス可能とされる。
第1実施例で行われるデータ入力操作について、図2ないし図7のフローチャートを用いて説明する。例として、大文字の「D」を入力し、1回目の変換で小文字の「d」に変換する操作を説明する。さらに小文字の「d」を、2回目の変換で下線が引かれた小文字「d」に変換する操作を説明する。また、確定領域を指示点が通過することで入力文字を確定させる設定(S25:YES)とされている場合を説明する。また、確定領域を新たに表示する設定(S231:YES)とされている場合を説明する。また、選択された変換フィルタデータを、初期状態のボタンデータの表示に反映する設定(S37:YES)とされている場合を説明する。
S9において、CPU14は、表示パネル50に複数のボタン領域を定める。そして、ボタン領域の各々に、変換前の初期状態のボタンデータを表示する。図8に、アルファベット文字が使用される場合における、表示パネル50へのボタン領域の表示例を示す。
S11において、CPU14は、表示パネル50がタッチされたか否かを判断する。タッチされていないと判断される場合(S11:NO)には、S11へ戻り待機状態とされる。そして、タッチされたと判断される場合(S11:YES)には、S13へ進む。S13において、CPU14は、ユーザによってタッチされた指示点の指示座標を取得し、RAM30に記憶する。
S15において、CPU14は、ボタン領域がタッチされたか否かを判断する。当該判断は、ボタン領域を決定する座標と指示座標とを比較することで、指示座標が何れかのボタン領域内に位置するか否かの判断によって行われる。ボタン領域がタッチされていないと判断される場合(S15:NO)には、S11へ戻り待機状態とされる。ボタン領域がタッチされたと判断される場合(S15:YES)には、S16へ進む。
S16において、CPU14は、選択ボタン領域のボタンデータをROM16から読み出す。選択ボタン領域は、ユーザによって選択されたボタン領域である。例として、図8においてボタン領域BA11bがタッチされて選択される場合には、ボタンデータ「D」がROM16から取得される。
S17において、CPU14は、選択ボタン領域に関する変換フィルタテーブルをROM16から呼び出す。そして、選択ボタン領域内のボタンデータに対応する変換フィルタデータを、対応情報に基づいて特定する。
本実施例の説明例では、図9に示すように、ボタン領域BA11bに関する変換フィルタテーブルTB1bが呼び出される。そして、ボタンデータB1b(「D」)の対応情報から、ボタンデータB1bに対応する変換フィルタデータF1bおよびF5bが特定される。
S19において、CPU14は、ボタン領域移動処理を行う。ボタン領域移動処理の内容について、図6のフローを用いて説明する。S211において、CPU14は、選択ボタン領域の座標を取得する。また、選択ボタン領域の大きさが取得される。本実施例の説明例では、選択ボタン領域BA11b(「D」)の座標が取得される。また、選択ボタン領域BA11bの大きさ(高さおよび幅)がROM16から取得される。
S213において、CPU14は、対応情報を用いて変換フィルタ数を取得する。本実施例の説明例では、変換フィルタテーブルTB1bにおいて、ボタンデータB1b(「D」)の対応情報により、変換フィルタ数=5(変換フィルタデータF1bないしF5b)が取得される。また、変換フィルタ領域の大きさ、変換フィルタ領域とボタン領域との隣接距離、変換フィルタ領域の表示位置についての情報を、NVRAM40から取得する。本実施例の説明例では、変換フィルタ領域の幅β、および隣接距離γが取得される場合を説明する。また、変換フィルタ領域の表示位置が、ボタン領域を中心とした円周上の位置とされる場合を説明する。
S215において、CPU14は、選択ボタン領域の外周からボタン距離αの位置に、変換フィルタ領域の中心を設定する。図10を用いて、本実施例を説明する。図10は、選択ボタン領域BA11b(「D」)の近傍の拡大図である。ボタン領域BA11bの周囲に、ボタン領域BA12b〜BA19bが表示されている。そして、選択ボタン領域BA11bを中心とした円周上の位置に、選択ボタン領域BA11の外周からボタン距離αを有して、中心点CP1bないしCP5bが設定される。
S217において、CPU14は、離反距離MDを算出する。離反距離MDは、選択ボタン領域と、選択ボタン領域の周囲に位置するボタン領域との間の距離である。本実施例の説明例では、離反距離MDは、ボタン距離αと、フィルタ領域の幅βの1/2の値と、隣接距離γとの和によって求められる。
S219においてCPU14は、選択ボタン領域と、選択ボタン領域の周囲に位置するボタン領域との間の距離が離反距離MDとなるように、選択ボタン領域の周囲に位置するボタン領域を移動させる。本実施例の説明例では、図11に示すように、ボタン領域BA12b〜BA18bが、選択ボタン領域BA11bを中心として放射状に移動する。また、ボタン領域BA12b〜BA19bの移動に伴って、表示パネル50に表示されている全てのボタン領域(図8)も移動する。なお、本実施例では、説明の簡略化のために、選択ボタン領域BA11b近傍のボタン領域の移動について以下に説明する。
ボタン領域移動処理(S19)が終了すると、S21へ進む。
S21において、CPU14は、選択ボタン領域の周囲に変換フィルタ領域を表示する。変換フィルタ領域は、複数あってもよい。そして当該変換フィルタ領域内に、対応する変換フィルタデータが表示される。本実施例の説明例では、図11に示すように、変換フィルタ領域FA11bないしFA15bが表示される。そして変換フィルタ領域FA11bないしFA15b内に、変換フィルタデータF1bないしF5bが表示される。
S23において、CPU14は、確定領域表示処理を行う。確定領域表示処理の内容について、図7のフローを用いて説明する。S231において、CPU14は、確定領域を新たに表示する設定とされているか否かを、NVRAM40から読み出して判断する。新たに表示する設定とされていない場合(S231:NO)にはフローが終了され、新たに表示する設定とされている場合(S231:YES)にはS233へ進む。本実施例の説明例では、新たに表示する設定とされている場合を説明しているため、S233へ進む。
S233において、CPU14は、指示座標がボタン領域や変換フィルタ領域内に所定時間存在したか否かを判断する。所定時間存在しない場合(S233:NO)には、ユーザによってキャンセル操作(入力文字を確定させない操作)が行われたと判断され、確定領域を表示することなくフローが終了する。一方、所定時間存在した場合(S233:YES)には、ユーザによって確定操作が行われたと判断され、S235へ進む。
S235において、CPU14は、指示座標が位置しているボタン領域または変換フィルタ領域の座標を取得する。S237において、CPU14は、指示座標が位置しているボタン領域または変換フィルタ領域の外周からボタン距離αの位置に、確定領域の中心を設定する。本実施例の説明例では、図12に示すように、選択ボタン領域BA11の下辺からボタン距離αの位置に、中心点CP6bが設定される。
S238において、CPU14は、離反距離MDを算出する。そして、指示座標が位置しているボタン領域または変換フィルタ領域と、その他ボタン領域との間の距離が離反距離MDとなるように、その他のボタン領域を移動させる。詳細な動作は、前述したボタン領域移動処理(S19)と同様であるため、ここでは説明を省略する。本実施例の説明例では、図13に示すように、ボタン領域BA19bが、下に移動する。
S239において、CPU14は、確定領域を表示する。本実施例の説明例では、図13に示すように、確定領域DA11bが表示される。このとき、選択ボタン領域BA11bと確定領域DA11bとを結んだ直線経路上には、変換フィルタ領域FA11bないしFA15bが存在しない。よって、選択ボタン領域BA11bに指を接触させた状態を維持しながら確定領域DA11bまで指をスライドさせることで、確定操作を行うことが可能となる。これにより、指先を表示パネル50から離すことなく入力処理を行うことができるため、ユーザの利便性を高めることができる。
また、本実施例の説明例では、図13に示すように、ボタン領域BA11bは円形状とされている。また、変換フィルタ領域FA11b〜FA15bおよび確定領域DA11bは、ボタン領域BA11bの中心からボタン距離αの円周上に配置されている。これにより、ボタン領域BA11bから、変換フィルタ領域FA11b〜FA15および確定領域DA11bまでの距離を等しくすることができる。
確定領域表示処理(S23)が終了すると、S25(図3)へ進む。S25において、CPU14は、確定領域を指示点を通過させることで、入力文字が確定する設定となっているか否かを、NVRAM40から読み出す。
確定領域通過で確定する設定にされていない場合(S25:NO)には、S29へ進む。S29において、CPU14は、指示座標が確定領域内に位置するという条件が成立したか否かを判断する。条件が成立したと判断される場合(S29:YES)にはS31へ進み、入力処理が行われる。一方、条件が成立していないと判断される場合(S29:NO)にはS110(図4)へ進み、変換処理が行われる。
一方、S25において、確定領域通過で確定する設定にされている場合(S25:YES)には、S27へ進む。S27において、CPU14は、指示座標が確定領域を通過するという条件が成立したか否かを判断する。条件が成立したと判断される場合(S27:YES)にはS31へ進み、入力処理が行われる。一方、条件が成立していないと判断される場合(S27:NO)にはS110(図4)へ進み、変換処理が行われる。
本実施例の説明例では、確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また、変換処理を行う場合(S27:NO)を説明しているため、S110(図4)へ進む。
図4のフローを用いて、変換処理を説明する。図4のフローでは、選択された変換フィルタを用いて変換処理が行われる。S110において、CPU14は、1つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S110:YES)にはS111へ進み、選択されていない場合(S110:NO)にはS130へ進む。S130において、CPU14は、2つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S130:YES)にはS111へ進み、選択されていない場合(S130:NO)にはS140へ進む。S140において、CPU14は、3つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S140:YES)にはS111へ進み、選択されていない場合(S140:NO)にはS150へ進む。S150において、CPU14は、4つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S150:YES)にはS111へ進み、選択されていない場合(S150:NO)にはS160へ進む。S160において、CPU14は、5つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S160:YES)にはS111へ進み、選択されていない場合(S160:NO)にはS171へ進む。
なお、図4ではS110、S130、S140、S150、S160の5つの判断ステップが用意される場合を説明したが、この形態に限られない。判断ステップの数は、表示される変換フィルタ領域の数に応じて増減される。例えば、ボタン領域の周囲に3つの変換フィルタ領域が表示される場合には、3つの変換フィルタ領域の各々について3つの判断ステップが用意される。
本実施例の説明例(図13)では、5つの変換フィルタ領域FA11bないしFA15bが表示されている。そして、ユーザの指による指示点が矢印Y11に示すように移動して、変換フィルタ領域FA11bを通過する場合を説明する。この場合、1つ目の変換フィルタ領域FA11bが選択され(S110:YES)、S111(図5)へ進む。
S111における変換処理を、図5のフローを用いて説明する。S112において、選択された変換フィルタデータによる変換後のボタンデータを、変換情報に基づいて特定する。本実施例の説明例では、変換フィルタ領域FA11bの変換フィルタデータF1b(大文字/小文字の変換)が選択されている。よって、図9に示す変換フィルタテーブルTB1bにおいて、ボタンデータB1b(「D」)を変換フィルタデータF1bで変換した結果として、ボタンデータB11b「d」が特定される。
S113において、CPU14は、変換フィルタ領域内の指示座標を基準とした位置に、新たにボタン領域を表示する。そして新たなボタン領域に、変換後のボタンデータを表示する。また、変換フィルタ領域を消去する。本実施例の説明例では、図13の矢印Y11に示すように指を変換フィルタ領域FA11bを通過させると、図14に示すようにその指先の位置にボタン領域BA21bが表示される。そしてボタン領域BA21b内に、変換後のボタンデータ「d」が表示される。これにより、ユーザが指を動かす距離が短くてよくなるため、ユーザの利便性を高めることができる。
S115において、CPU14は、変換後のボタンデータに関する変換フィルタテーブルを呼び出す。そして、変換後のボタンデータに対応する変換フィルタデータを、対応情報に基づいて特定する。本実施例の説明例では、図9に示すように、変換後のボタンデータB6b(「d」)に関する変換フィルタテーブルTB1bが呼び出される。そして、ボタンデータB4の対応情報から、ボタンデータB6bに対応する変換フィルタデータF1bないしF5bが特定される。
S117において、CPU14は、ボタン領域移動処理を行う。詳細な動作は、前述のS19と同様であるため、ここでは説明を省略する。本実施例の説明例では、図14に示すように、ボタン領域BA11bないしBA14b、BA16b、BA18bが移動する。
S119において、CPU14は、ボタン領域の周囲に新たに変換フィルタ領域を表示する。そして当該変換フィルタ領域内に、変換フィルタデータを表示する。本実施例の説明例では、図14に示すように、ボタン領域BA21の周囲に、変換フィルタ領域FA21b〜FA25bが表示される。そして変換フィルタ領域FA21b〜FA25b内に、変換フィルタデータF1bないしF5bが表示される。
なお、新たに表示される変換フィルタデータの中には、変換後のボタンデータを変換前のボタンデータに戻す変換フィルタデータが含まれている。本実施例の説明例では、図14において、変換後のボタンデータB6b(「d」)を、変換前のボタンデータB1b(「D」)に戻すための変換フィルタ領域FA21b(大文字/小文字の変換))が含まれている。これにより例えば、1回目の変換操作において誤った変換が行われた場合においても、2回目の変換操作によって変換前の状態に戻すことができるため、変換操作の自由度が高くなり、ユーザの利便性を高めることができる。
S121において、CPU14は、確定領域表示処理を行う。詳細な動作は、前述のS23と同様であるため、ここでは説明を省略する。本実施例の説明例では、図14に示すように、確定領域DA21bが表示される。そして、S25(図3)へ戻る。
本実施例の説明例では、確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また、本実施例の説明例では、図14において、ユーザの指による指示点が矢印Y12に示すように移動して変換フィルタ領域FA24bを通過する場合を説明する。この場合、4つ目の変換フィルタ領域FA24bが選択されているため(S150:YES)、S111(図5)へ進む。
変換フィルタ領域FA24bは、変換フィルタデータF4b(下線)に対応している。よってS112では、図9に示す変換フィルタテーブルTB1bにおいて、ボタンデータB6b(「d」)を変換フィルタデータF5で変換した結果として、ボタンデータB46b(下線が引かれた「d」)が特定される。
S113において、図15に示すように、ボタン領域BA31bが表示される。そしてボタン領域BA31b内に、変換後のボタンデータB46b(下線が引かれた「d」)が表示される。S115において、ボタンデータB9b(下線が引かれた「d」)の対応情報から、ボタンデータB9bに対応する変換フィルタデータF1bないしF5bが特定される。
S117において、CPU14は、ボタン領域移動処理を行う。本実施例の説明例では、図15に示すように、ボタン領域BA12b〜BA14b、BA16b、BA11b、BA18bが移動する。
S119においてCPU14は、図15に示すように、ボタン領域BA31bの周囲に、変換フィルタ領域FA31b〜FA35bおよび確定領域DA31bを表示する。そして変換フィルタ領域FA31b〜FA35b内に、変換フィルタデータF1bないしF5bを表示する。そして、S25(図3)へ戻る。
確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また本実施例の説明例では、2回目の変換操作が終了している。よって、図15において、指示点を矢印Y13に示すように移動させ、確定領域DA31bを通過させる場合(S27:YES)を説明する。この場合、S31へ進み、入力処理が行われる。
S31において、CPU14は、変換後のボタンデータを、入力データとして確定する。S33において、CPU14は、変換フィルタ領域および確定領域を消去する。本実施例の説明例では、図15において、変換フィルタ領域FA31b〜FA35bおよび確定領域DA31bが消去される。S35において、CPU14は、ボタン領域の位置を初期状態に戻す。本実施例の説明例では、図10に示すように、ボタン領域の配置が初期状態へ戻される。
S37において、CPU14は、選択された変換フィルタデータを初期状態のボタンデータの表示に反映する設定とされているか否かを、NVRAM40から読み出す。反映する設定の場合(S37:YES)には、S39へ進み、変換フィルタデータをボタンデータに反映させる。一方、反映しない設定の場合(S37:NO)には、フローを終了する。
本実施例の説明例では、選択された変換フィルタデータを反映する設定(S37:YES)とされている場合を説明している。また、変換フィルタデータF1b(小文字への変換)が選択されている。よって、図8の初期状態のボタンデータ(大文字)に変換フィルタデータF1bが反映され、図8のボタン配列が全て小文字とされる。これにより、一度変換フィルタデータを使用すると、その変換フィルタデータの内容が次の文字の入力から自動で反映されることになる。よって、小文字の単語を入力する場合など、同じ種類の文字を連続して入力する必要がある場合に、変換動作を少なくすることができる。
また、変換フィルタ領域および確定領域の何れも選択されない場合(図4、S110:NO、S130:NO、S140:NO、S150:NO、S160:NO)の動作を説明する。例えば、図15の表示において、変換フィルタ領域FA31b〜FA35bおよび確定領域DA31bの何れも選択されない場合である。この場合には、S171へ進む。
S171において、CPU14は、ユーザが表示パネル50から指を離したか否かを判断する。離していないと判断される場合(S171:NO)には、S25(図3)へ戻る。また、離していると判断される場合(S171:YES)には、S173へ進む。
S173において、CPU14は、変換フィルタ領域を消去する。またS175において、CPU14は、確定領域を消去する。本実施例の説明例では、図15において、変換フィルタ領域FA31b〜FA35bおよび確定領域DA31bが消去される。
S177において、CPU14は、ボタン領域の位置を初期状態に戻す。本実施例の説明例では、図10に示すように、ボタン領域の配置が初期状態へ戻される。そしてS11(図2)へ戻り、次の入力操作が受け付けられる。
第1実施例に係る入力装置の効果を説明する。第1実施例に係る入力装置では、複数種類の変換フィルタデータを1のボタンデータに適用できるため、複雑な変換内容を実施することが可能となる。例えば、ボタンデータが大文字である場合(例えば「D」)においても、変換フィルタデータを2回適用することにより、下線が引かれた小文字(例えば「d」)に変換することが可能となる。また、変換操作を行うための変換フィルタ領域が、選択ボタン領域の周囲に表示されるため、変換操作を簡易に行うことができる。以上より、複雑な変換内容を簡単な操作で行うことが可能となるため、ユーザの利便性を高めることができる。
また、ユーザは、指先を確定領域を通過させることで入力処理を行うことができる。これにより、第1に、誤って確定領域に触れてしまった場合などにおいても、入力処理が行われてしまうことを防止することができる。よって、より確実に入力処理を行うことが可能となる。また、第2に、入力処理とキャンセル操作とを明確に区別することができる。例えば、ボタン領域をタッチした後において、指先を離せばキャンセル操作が行われ、指先を確定領域を通過させれば入力処理が行なわれる、という制御を行うことが出来る。よってユーザの利便性を高めることができる。
第2実施例を説明する。第2実施例は、ボタンデータにひらがな文字が使用される場合の実施例である。
例として、図17に、ボタンデータ「ひ」に関連するボタンデータについての変換フィルタテーブルTB1を示す。変換フィルタテーブルTB1には、変換フィルタデータF1〜F5が記憶されている。変換フィルタデータF1は、ひらがな文字への変換を行うデータである。変換フィルタデータF2は、カタカナ文字への変換を行うデータである。変換フィルタデータF3は、大文字と小文字との間の変換を行うデータである。変換フィルタデータF4は、全角文字と半角文字との間の変換を行うデータである。変換フィルタデータF5は、濁音または半濁音の文字への変換を行うデータである。
また変換フィルタテーブルTB1には、ボタンデータB1〜B6が記憶されている。ボタンデータB1〜B6は、変換フィルタデータF1〜F5を用いて、互いに変換することが可能な関係にあるデータである。
また、変換フィルタテーブルTB1には、ボタンデータB1〜B6と、変換フィルタデータF1〜F5との対応を示す対応情報が記憶される。例えば、ボタンデータB1「ひ」の対応情報は、変換フィルタデータF2およびF5である。また例えば、ボタンデータB4「ヒ」の対応情報は、変換フィルタデータF1、F4およびF5である。
また、変換フィルタテーブルTB1には、変換フィルタデータF1〜F5と、変換後のボタンデータとの対応を示す変換情報が記憶されている。例えば、変換フィルタデータF1をボタンデータB4「ヒ」に適用すると、ボタンデータB14「ひ」に変換される、という変換情報が記憶されている。
また、図18に、ひらがなの「あ」に関連するボタンデータについての変換フィルタテーブルTB1aを示す。図18の変換フィルタテーブルTB1aは、図17の変換フィルタテーブルTB1に比して、変換フィルタデータF3が存在するが、変換フィルタデータF5が存在しないテーブルである。このように、文字ごとに、記憶されている変換フィルタは異なっている。
第2実施例で行われるデータ入力操作について、図2ないし図7のフローチャートを用いて説明する。例として、ひらがな文字の「ひ」を入力し、1回目の変換でカタカナ文字の「ヒ」に変換する操作を説明する。さらにカタカナ文字の「ヒ」を、2回目の変換で濁音のカタカナ文字「ビ」に変換する操作を説明する。また、確定領域を指示点が通過することで入力文字を確定させる設定(S25:YES)とされている場合を説明する。また、確定領域を新たに表示する設定(S231:YES)とされている場合を説明する。また、選択された変換フィルタデータを、初期状態のボタンデータの表示に反映する設定(S37:YES)とされている場合を説明する。
S9において、CPU14は、表示パネル50に複数のボタン領域を定める。そして、ボタン領域の各々に、変換前の初期状態のボタンデータを表示する。図16に、ひらがな文字が使用される場合における、表示パネル50へのボタン領域の表示例を示す。
S11において、CPU14は、表示パネル50がタッチされたか否かを判断する。タッチされていないと判断される場合(S11:NO)には、S11へ戻り待機状態とされる。そして、タッチされたと判断される場合(S11:YES)には、S13へ進む。S13において、CPU14は、ユーザによってタッチされた指示点の指示座標を取得し、RAM30に記憶する。
S15において、CPU14は、ボタン領域がタッチされたか否かを判断する。当該判断は、ボタン領域を決定する座標と指示座標とを比較することで、指示座標が何れかのボタン領域内に位置するか否かの判断によって行われる。ボタン領域がタッチされていないと判断される場合(S15:NO)には、S11へ戻り待機状態とされる。ボタン領域がタッチされたと判断される場合(S15:YES)には、S16へ進む。
S16において、CPU14は、選択ボタン領域のボタンデータをROM16から読み出す。選択ボタン領域は、ユーザによって選択されたボタン領域である。例として、図16においてボタン領域BA11がタッチされて選択される場合には、ボタンデータ「ひ」がROM16から取得される。
S17において、CPU14は、選択ボタン領域に関する変換フィルタテーブルをROM16から呼び出す。そして、選択ボタン領域内のボタンデータに対応する変換フィルタデータを、対応情報に基づいて特定する。本実施例の説明例では、図17に示すように、ボタン領域BA11に関する変換フィルタテーブルTB1が呼び出される。そして、ボタンデータB1(「ひ」)の対応情報から、ボタンデータB1に対応する変換フィルタデータF2およびF5が特定される。
S19において、CPU14は、ボタン領域移動処理を行う。ボタン領域移動処理の内容について、図6のフローを用いて説明する。S211において、CPU14は、選択ボタン領域の座標を取得する。また、選択ボタン領域の大きさが取得される。本実施例の説明例では、選択ボタン領域BA11(「ひ」)の座標が取得される。また、選択ボタン領域BA11の大きさ(高さおよび幅)がROM16から取得される。
S213において、CPU14は、対応情報を用いて変換フィルタ数を取得する。本実施例の説明例では、変換フィルタテーブルTB1において、ボタンデータB1(「ひ」)の対応情報により、変換フィルタ数=2(変換フィルタデータF2およびF5)が取得される。また、変換フィルタ領域の大きさ、変換フィルタ領域とボタン領域との隣接距離、変換フィルタ領域の表示位置についての情報を、NVRAM40から取得する。本実施例の説明例では、変換フィルタ領域の幅β、および隣接距離γが取得される場合を説明する。また、変換フィルタ領域の表示位置が、ボタン領域の左右の位置とされる場合を説明する。
S215において、CPU14は、選択ボタン領域の外周からボタン距離αの位置に、変換フィルタ領域の中心を設定する。図19を用いて、本実施例を説明する。図19は、選択ボタン領域BA11(「ひ」)の近傍の拡大図である。ボタン領域BA11の周囲に、ボタン領域BA12〜BA19が表示されている。そして、選択ボタン領域BA11の左右の位置に、選択ボタン領域BA11の外周からボタン距離αを有して、中心点CP1およびCP2が設定される。
S217において、CPU14は、離反距離MDを算出する。離反距離MDは、選択ボタン領域と、選択ボタン領域の周囲に位置するボタン領域との間の距離である。本実施例の説明例では、離反距離MDは、ボタン距離αと、フィルタ領域の幅βの1/2の値と、隣接距離γとの和によって求められる。
S219においてCPU14は、選択ボタン領域と、選択ボタン領域の周囲に位置するボタン領域との間の距離が離反距離MDとなるように、選択ボタン領域の周囲に位置するボタン領域を移動させる。本実施例の説明例では、図20に示すように、ボタン領域BA12〜BA14が左側へ移動し、ボタン領域BA15〜BA17が右側に移動する。また、ボタン領域BA12〜BA19の移動に伴って、表示パネル50に表示されている全てのボタン領域(図16)も移動する。なお、本実施例では、説明の簡略化のために、選択ボタン領域BA11近傍のボタン領域の移動について以下に説明する。ボタン領域移動処理(S19)が終了すると、S21へ進む。
S21において、CPU14は、選択ボタン領域の周囲に変換フィルタ領域を表示する。変換フィルタ領域は、複数あってもよい。そして当該変換フィルタ領域内に、対応する変換フィルタデータが表示される。本実施例の説明例では、図20に示すように、変換フィルタ領域FA11およびFA12が表示される。そして変換フィルタ領域FA11およびFA12内に、変換フィルタデータF2(カタカナへの変換)およびF5(濁音/半濁音の変換)が表示される。
S23において、CPU14は、確定領域表示処理を行う。確定領域表示処理の内容について、図7のフローを用いて説明する。S231において、CPU14は、確定領域を新たに表示する設定とされているか否かを、NVRAM40から読み出して判断する。新たに表示する設定とされていない場合(S231:NO)にはフローが終了され、新たに表示する設定とされている場合(S231:YES)にはS233へ進む。本実施例の説明例では、新たに表示する設定とされている場合を説明しているため、S233へ進む。
S233において、CPU14は、指示座標がボタン領域や変換フィルタ領域内に所定時間存在したか否かを判断する。所定時間存在しない場合(S233:NO)には、ユーザによってキャンセル操作(入力文字を確定させない操作)が行われたと判断され、確定領域を表示することなくフローが終了する。一方、所定時間存在した場合(S233:YES)には、ユーザによって確定操作が行われたと判断され、S235へ進む。
S235において、CPU14は、指示座標が位置しているボタン領域または変換フィルタ領域の座標を取得する。S237において、CPU14は、指示座標が位置しているボタン領域または変換フィルタ領域の外周からボタン距離αの位置に、確定領域の中心を設定する。本実施例の説明例では、図21に示すように、選択ボタン領域BA11の下辺からボタン距離αの位置に、中心点CP3が設定される。
S238において、CPU14は、離反距離MDを算出する。そして、指示座標が位置しているボタン領域または変換フィルタ領域と、その他ボタン領域との間の距離が離反距離MDとなるように、その他のボタン領域を移動させる。詳細な動作は、前述したボタン領域移動処理(S19)と同様であるため、ここでは説明を省略する。本実施例の説明例では、図22に示すように、ボタン領域BA14、BA19、BA17が、下に移動する。
S239において、CPU14は、確定領域を表示する。本実施例の説明例では、図22に示すように、確定領域DA11が表示される。このとき、選択ボタン領域BA11と確定領域DA11とを結んだ直線経路上には、変換フィルタ領域FA11およびFA12が存在しない。よって、選択ボタン領域BA11に指を接触させた状態を維持しながら確定領域DA11まで指をスライドさせることで、確定操作を行うことが可能となる。これにより、指先を表示パネル50から離すことなく入力処理を行うことができるため、ユーザの利便性を高めることができる。
確定領域表示処理(S23)が終了すると、S25(図3)へ進む。S25において、CPU14は、確定領域を指示点を通過させることで、入力文字が確定する設定となっているか否かを、NVRAM40から読み出す。
確定領域通過で確定する設定にされていない場合(S25:NO)には、S29へ進む。S29において、CPU14は、指示座標が確定領域内に位置するという条件が成立したか否かを判断する。条件が成立したと判断される場合(S29:YES)にはS31へ進み、入力処理が行われる。一方、条件が成立していないと判断される場合(S29:NO)にはS110(図4)へ進み、変換処理が行われる。
一方、S25において、確定領域通過で確定する設定にされている場合(S25:YES)には、S27へ進む。S27において、CPU14は、指示座標が確定領域を通過するという条件が成立したか否かを判断する。条件が成立したと判断される場合(S27:YES)にはS31へ進み、入力処理が行われる。一方、条件が成立していないと判断される場合(S27:NO)にはS110(図4)へ進み、変換処理が行われる。
本実施例の説明例では、確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また、変換処理を行う場合(S27:NO)を説明しているため、S110(図4)へ進む。
図4のフローを用いて、変換処理を説明する。図4のフローでは、選択された変換フィルタを用いて変換処理が行われる。S110において、CPU14は、1つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S110:YES)にはS111へ進み、選択されていない場合(S110:NO)にはS130へ進む。S130において、CPU14は、2つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S130:YES)にはS111へ進み、選択されていない場合(S130:NO)にはS140へ進む。S140において、CPU14は、3つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S140:YES)にはS111へ進み、選択されていない場合(S140:NO)にはS150へ進む。S150において、CPU14は、4つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S150:YES)にはS111へ進み、選択されていない場合(S150:NO)にはS160へ進む。S160において、CPU14は、5つ目の変換フィルタ領域が選択されたか否かを判断する。選択された場合(S160:YES)にはS111へ進み、選択されていない場合(S160:NO)にはS171へ進む。
なお、図4ではS110、S130、S140、S150、S160の5つの判断ステップが用意される場合を説明したが、この形態に限られない。判断ステップの数は、表示される変換フィルタ領域の数に応じて増減される。例えば、ボタン領域の周囲に3つの変換フィルタ領域が表示される場合には、3つの変換フィルタ領域の各々について3つの判断ステップが用意される。
本実施例の説明例(図22)では、1つ目の変換フィルタ領域FA11と、2つ目の変換フィルタ領域FA12が表示されている。そして、ユーザの指による指示点が矢印Y1に示すように移動して、変換フィルタ領域FA11を通過する場合を説明する。この場合、1つ目の変換フィルタ領域FA11が選択され(S110:YES)、S111(図5)へ進む。
S111における変換処理を、図5のフローを用いて説明する。S112において、選択された変換フィルタデータによる変換後のボタンデータを、変換情報に基づいて特定する。本実施例の説明例では、変換フィルタ領域FA11の変換フィルタデータF2(カタカナへの変換)が選択されている。よって、図17に示す変換フィルタテーブルTB1において、ボタンデータB1(「ひ」)を変換フィルタデータF2で変換した結果として、ボタンデータB51「ヒ」が特定される。
S113において、CPU14は、変換フィルタ領域内の指示座標を基準とした位置に、新たにボタン領域を表示する。そして新たなボタン領域に、変換後のボタンデータを表示する。また、変換フィルタ領域を消去する。本実施例の説明例では、図22の矢印Y1に示すように指を変換フィルタ領域FA11を通過させると、図23に示すようにその指先の位置にボタン領域BA21が表示される。そしてボタン領域BA21内に、変換後のボタンデータ「ヒ」が表示される。これにより、ユーザが指を動かす距離が短くてよくなるため、ユーザの利便性を高めることができる。
S115において、CPU14は、変換後のボタンデータに関する変換フィルタテーブルを呼び出す。そして、変換後のボタンデータに対応する変換フィルタデータを、対応情報に基づいて特定する。本実施例の説明例では、図17に示すように、変換後のボタンデータB4(「ヒ」)に関する変換フィルタテーブルTB1が呼び出される。そして、ボタンデータB4の対応情報から、ボタンデータB4に対応する変換フィルタデータF1、F4およびF5が特定される。
S117において、CPU14は、ボタン領域移動処理を行う。詳細な動作は、前述のS19と同様であるため、ここでは説明を省略する。本実施例の説明例では、図23に示すように、ボタン領域BA12、BA18、BA11、BA16が移動する。
S119において、CPU14は、ボタン領域の周囲に新たに変換フィルタ領域を表示する。そして当該変換フィルタ領域内に、変換フィルタデータを表示する。本実施例の説明例では、図23に示すように、ボタン領域BA21の周囲に、変換フィルタ領域FA21〜FA23が表示される。そして変換フィルタ領域FA21〜FA23内に、変換フィルタデータF1(ひらがなへの変換)、F5(濁音/半濁音の変換)およびF4(全角/半角の変換)が表示される。
なお、新たに表示される変換フィルタデータの中には、変換後のボタンデータを変換前のボタンデータに戻す変換フィルタデータが含まれている。本実施例の説明例では、図23において、変換後のボタンデータB4(「ヒ」)を、変換前のボタンデータB1(「ひ」)に戻すための変換フィルタ領域FA21(ひらがなへの変換)が含まれている。これにより例えば、1回目の変換操作において誤った変換が行われた場合においても、2回目の変換操作によって変換前の状態に戻すことができるため、変換操作の自由度が高くなり、ユーザの利便性を高めることができる。
S121において、CPU14は、確定領域表示処理を行う。詳細な動作は、前述のS23と同様であるため、ここでは説明を省略する。本実施例の説明例では、図23に示すように、確定領域DA21が表示される。そして、S25(図3)へ戻る。
本実施例の説明例では、確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また、本実施例の説明例では、図23において、ユーザの指による指示点が矢印Y2に示すように移動して変換フィルタ領域FA22を通過する場合を説明する。この場合、3つ目の変換フィルタ領域FA22が選択されているため(S140:YES)、S111(図5)へ進む。
変換フィルタ領域FA22は、変換フィルタデータF5(濁音/半濁音の変換)に対応している。よってS112では、図17に示す変換フィルタテーブルTB1において、ボタンデータB4(「ヒ」)を変換フィルタデータF5で変換した結果として、ボタンデータB54(「ビ」)が特定される。
S113において、図24に示すように、ボタン領域BA31が表示される。そしてボタン領域BA31内に、変換後のボタンデータB54(「ビ」)が表示される。S115において、ボタンデータB5(「ビ」)の対応情報から、ボタンデータB5に対応する変換フィルタデータF1、F4およびF5が特定される。
S117において、CPU14は、ボタン領域移動処理を行う。本実施例の説明例では、図24に示すように、ボタン領域BA12〜BA14、BA16、BA11、BA18が移動する。
S119においてCPU14は、図24に示すように、ボタン領域BA31の周囲に、変換フィルタ領域FA31〜FA33および確定領域DA31を表示する。そして変換フィルタ領域FA31〜FA33内に、変換フィルタデータF1、F5およびF4を表示する。そして、S25(図3)へ戻る。
確定領域通過で確定する設定とされている場合(S25:YES)を説明しているため、S27へ進む。また本実施例の説明例では、2回目の変換操作が終了している。よって、図24において、指示点を矢印Y3に示すように移動させ、確定領域DA31を通過させる場合(S27:YES)を説明する。この場合、S31へ進み、入力処理が行われる。
S31において、CPU14は、変換後のボタンデータを、入力データとして確定する。S33において、CPU14は、変換フィルタ領域および確定領域を消去する。本実施例の説明例では、図24において、変換フィルタ領域FA31〜FA33および確定領域DA31が消去される。S35において、CPU14は、ボタン領域の位置を初期状態に戻す。本実施例の説明例では、図19に示すように、ボタン領域の配置が初期状態へ戻される。
S37において、CPU14は、選択された変換フィルタデータを初期状態のボタンデータの表示に反映する設定とされているか否かを、NVRAM40から読み出す。反映する設定の場合(S37:YES)には、S39へ進み、変換フィルタデータをボタンデータに反映させる。一方、反映しない設定の場合(S37:NO)には、フローを終了する。
本実施例の説明例では、選択された変換フィルタデータを反映する設定(S37:YES)とされている場合を説明している。また、変換フィルタデータF2(カタカナへの変換)が選択されている。よって、図16の初期状態のボタンデータ(ひらがな文字)に変換フィルタデータF2が反映され、図16のボタン配列が全てカタカナ文字とされる。これにより、一度変換フィルタデータを使用すると、その変換フィルタデータの内容が次の文字の入力から自動で反映されることになる。よって、カタカナ文字の単語を入力する場合など、同じ種類の文字を連続して入力する必要がある場合に、変換動作を少なくすることができる。
また、変換フィルタ領域および確定領域の何れも選択されない場合(図4、S110:NO、S130:NO、S140:NO、S150:NO、S160:NO)の動作を説明する。例えば、図24の表示において、変換フィルタ領域FA31〜FA33および確定領域DA31の何れも選択されない場合である。この場合には、S171へ進む。
S171において、CPU14は、ユーザが表示パネル50から指を離したか否かを判断する。離していないと判断される場合(S171:NO)には、S25(図3)へ戻る。また、離していると判断される場合(S171:YES)には、S173へ進む。
S173において、CPU14は、変換フィルタ領域を消去する。またS175において、CPU14は、確定領域を消去する。本実施例の説明例では、図24において、変換フィルタ領域FA31〜FA33および確定領域DA31が消去される。
S177において、CPU14は、ボタン領域の位置を初期状態に戻す。本実施例の説明例では、図19に示すように、ボタン領域の配置が初期状態へ戻される。そしてS11(図2)へ戻り、次の入力操作が受け付けられる。
第1実施例に係る入力装置の効果を説明する。第1実施例に係る入力装置では、複数種類の変換フィルタデータを1のボタンデータに適用できるため、複雑な変換内容を実施することが可能となる。例えば、ボタンデータがひらがなである場合(例えば「ひ」)においても、変換フィルタデータを2回適用することにより、濁音のカナ文字(例えば「ビ」)に変換することが可能となる。また、変換操作を行うための変換フィルタ領域が、選択ボタン領域の周囲に表示されるため、変換操作を簡易に行うことができる。以上より、複雑な変換内容を簡単な操作で行うことが可能となるため、ユーザの利便性を高めることができる。
また、ユーザは、指先を確定領域を通過させることで入力処理を行うことができる。これにより、第1に、誤って確定領域に触れてしまった場合などにおいても、入力処理が行われてしまうことを防止することができる。よって、より確実に入力処理を行うことが可能となる。また、第2に、入力処理とキャンセル操作とを明確に区別することができる。例えば、ボタン領域をタッチした後において、指先を離せばキャンセル操作が行われ、指先を確定領域を通過させれば入力処理が行なわれる、という制御を行うことが出来る。よってユーザの利便性を高めることができる。
第3実施例を説明する。第3実施例は、確定領域の表示方法の変形例である。第3実施例では、図7のフローにおいて、S233およびS235に替えて、S233aおよびS235aが用いられる。
S233aにおいて、CPU14は、指示座標がボタン領域や変換フィルタ領域内で検出され、その後に、指示座標がボタン領域や変換フィルタ領域内から出ることなくボタン領域や変換フィルタ領域内で検出されなくなる、という条件が成立したか否かを判断する。成立しない場合(S233a:NO)には、ユーザによってキャンセル操作(入力文字を確定させない操作)が行われたと判断され、確定領域を表示することなくフローが終了する。一方、成立した場合(S233a:YES)には、ユーザによって確定操作が行われたと判断され、S235aへ進む。
S235aにおいて、CPU14は、指示座標が検出されなくなった位置の座標を取得する。S237において、CPU14は、指示座標が検出されなくなった位置からボタン距離αの位置に、確定領域の中心を設定する。S238以降のフローは、第1実施例と同様であるため、ここでは詳細な説明を省略する。
これにより、図13の例では、指を選択ボタン領域BA11bから離すと、確定領域DA11bが表示される。よって、指を離すことによっては入力文字が確定されないため、別のボタン領域(例えば、ボタン領域BA19b(「C」)など)を選択し直すことが容易となる。
また、確定領域DA11bを表示させるために指先を表示パネル50から離すことが必要となるため、次の確定領域DA11bの選択は指先をタッチする動作となる。よって、ボタン領域BA11bと確定領域DA11bとの移動の間では、指先が表示パネル50から離れることになる。すると、ボタン領域BA11bと確定領域DA11bとの間に他のボタン領域等を表示させても、これらの領域がタッチされることがないため、ボタン領域のレイアウト等の自由度を高めることが可能となる。
第4実施例を説明する。第4実施例は、確定領域の判定方法の変形例である。第4実施例では、図3のフローにおいて、S29に替えてS29aが用いられる。
S29aにおいて、CPU14は、指示座標が確定領域内で検出され、その後に、指示座標が当該確定領域内から出ることなく当該確定領域内で検出されなくなる、という条件が成立したか否かを判断する。条件が成立したと判断される場合(S29a:YES)にはS31へ進み、条件が成立していないと判断される場合(S29a:NO)にはS110(図4)へ進む。その他のフローは、第1実施例と同様であるため、ここでは詳細な説明を省略する。
これにより、図15の例では、指示点を矢印Y13aに示すように確定領域DA31内へ移動させ、確定領域DA31内で指先を離すことによって入力処理を行うことができる。よって、図15の矢印Y13に示すように、指先を確定領域DA31を通過させることで入力処理を行う場合などに比して、より少ない動作で入力処理を行うことが可能となる。
第5実施例を説明する。第5実施例は、ボタンデータの入力操作例である。図8のボタン領域を使用して、「DOG」という単語を入力する場合を説明する。ユーザが指先でボタン領域BA11b(「D」)を所定時間タッチすると(S233:YES)、確定領域が表示される(S239、確定領域DA11b(図13))。そして、ユーザが指先を表示パネル50表面に触れさせたままスライドさせ、指先を確定領域DA11bを通過させると、入力処理が行われ、確定領域DA1cにボタンデータ「D」が表示される。
そして、表示パネル50表面に触れたままの状態で、次のボタン領域BA20b(「O」)に指先をスライドさせる。ボタン領域BA20bが所定時間タッチされると、ボタン領域BA20bの周囲に新たに確定領域が表示される。そして、指先を表示パネル50表面に触れさせたまま、指先を確定領域を通過させると、入力処理が行われ、確定領域DA1cにボタンデータ「O」が表示される。
以下同様にして、次のボタン領域BA21b(「G」)が所定時間タッチされ、入力処理が行われる。以上の操作により、「DOG」という単語の入力が完了する。
これにより、表示パネル50から指先を離さずに、ボタンデータの選択とボタンデータの入力とを行うことができる。すなわち、一筆書きの操作で文字入力を行うことができる。ユーザが所望のボタン領域を押下する場合に、指先が表示パネル50から離れた状態からタッチを行う場合には、タッチを意図した点と実際のタッチ点との間にずれが生じるおそれがある。しかし本願のデータ入力装置によれば、指先を表示パネル50から離す必要がないため、常にタッチ点を確認しながらボタン領域や確定領域を選択することができる。よって、タッチを意図した点と実際のタッチ点との間にずれが生じることがないため、正確にボタンデータの選択とボタンデータの入力とを行うことができ、ユーザの利便性を高めることができる。
第6実施例を、図26および図27を用いて説明する。第6実施例は、S219(図6)における、ボタン領域の移動方法の変形例である。図26に、ボタン領域の配置の初期状態を示す。図26において、ボタン領域の幅を幅ε、ボタン領域間の距離を距離δと定義する。また、ユーザにタッチされるボタン領域を、選択ボタン領域と定義する。また、選択ボタン領域の周囲に存在するボタン領域を、隣接ボタン領域と定義する。また、選択ボタン領域の1つ隣りに位置するボタン領域を、第1隣接ボタン領域と定義する。また、第1隣接ボタン領域の1つ隣りに位置するボタン領域を、第2隣接ボタン領域と定義する。
以下、選択ボタン領域BA11bがタッチされる場合を説明における、第1隣接ボタン領域BA16bおよび第2隣接ボタン領域BA32bの縮小動作を説明する。例として、隣接ボタン領域の上限縮小率が50(%)とされている場合を説明する。上限縮小率は、隣接ボタン領域の幅を縮小する割合の上限値である。選択ボタン領域がタッチされると、S219において、選択ボタン領域と第1隣接ボタン領域との間の距離を、離反距離MDとするための処理が開始される。具体的には、CPU14は、第1隣接ボタン領域の幅を縮小することで、離反距離MDを確保できるか否かを判断する。確保できると判断された場合には、第1隣接ボタン領域の幅を縮小して、処理を終了する。一方、確保できないと判断された場合には、第1隣接ボタン領域の幅を上限縮小率の50(%)まで縮小した上で、離反距離MDの範囲外に移動させる。図27の例では、第1隣接ボタン領域BA16bの幅が上限縮小率(ε/2)まで縮小された上で、図中右側に移動される。
また、CPU14は、第1隣接ボタン領域が移動された場合には、第1隣接ボタン領域と第2隣接ボタン領域との距離が距離δとなるように、第2隣接ボタン領域の幅を縮小する。そして、距離δを確保できるか否かを判断する。確保できると判断された場合には、第2隣接ボタン領域の幅を縮小して、処理を終了する。一方、確保できないと判断された場合には、第2隣接ボタン領域の幅を上限縮小率の50(%)まで縮小した上で、距離δの範囲外に移動させる。図27の例では、第2隣接ボタン領域BA32bの幅が、距離δを確保できるまで縮小される。
そして、隣接ボタン領域を移動させなくても距離δが確保できるようになるまで、上記の処理が繰り返される。なお、第1隣接ボタン領域BA15bおよびBA17b〜BA19bについても、第1隣接ボタン領域BA16bと同様の処理が行われる。また、第2隣接ボタン領域BA31bおよびBA33bについても、第2隣接ボタン領域BA32bと同様の処理が行われる。
これにより、隣接ボタン領域を縮小することで、隣接ボタン領域の移動距離を小さくすることができる。よって、ユーザが隣接ボタン領域をタッチする際に指を動かす距離を短くすることができるため、ユーザの利便性を高めることができる。また、上限縮小率を設定することにより、隣接ボタン領域が縮小されすぎてタッチしにくくなる事態を防止することができる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
確定領域を新たに表示しないとする設定(S231:NO)とすることも可能である。この場合は、確定領域が予め表示された形態となる。図8および図16に、確定領域を予め表示する形態の例を示す。図8では、確定領域DA1cが表示パネル50の上部に表示されている。また、確定領域の境界線BL1cが表示されている。図16では、確定領域DA1aが表示パネル50の上部に表示されている。また、確定領域の境界線BL1が表示されている。
図8を用いて説明する。
この場合、S29において、CPU14は、指示座標が確定領域DA1c内に位置するという条件が成立したか否かを判断する。そして例えば、ユーザがボタン領域BA11b(「D」)のボタンデータを入力する場合には、ボタン領域BA11bをタッチし、指を表示パネル50に接触させたまま境界線BL1cを越えて確定領域DA1cまで移動させる。これにより、指示座標が確定領域DA1c内に位置するという条件が成立したと判断され(S29:YES)、ボタンデータ「D」の入力処理が行われる。
また、S25において、確定領域通過で確定する設定とされていないとしてもよい。この場合、S29において、CPU14は、指示座標が確定領域内に位置するという条件が成立(S29:YES)すると31へ進み、入力処理が行われる。これにより、例えば図13および図22の例では、確定領域DA11内に指を位置させるまでは、入力処理が行われないとすることができる。
なお、変換フィルタデータの内容は、変換フィルタテーブルTB1〜TB1cに示した内容に限られない。例えば、変換フィルタデータの内容は、拗音でない文字と拗音である文字との間の変換処理であってもよい。また、促音でない文字と促音である文字との間の変換処理であってもよい。また、長音でない文字と長音である文字との間の変換処理であってもよい。また、発音記号(例:ウムラウト)のない文字と発音記号のある文字との間の変換処理であってもよい。また、文字のサイズ(例:10ポイントなど)を変更する変換処理であってもよい。
また、ボタン領域や変換フィルタ領域の形状は矩形に限られず、任意の形状にすることができる。また、ボタン領域の周囲に表示される変換フィルタ領域の数は、任意の数にすることができる。
また、変換フィルタ領域内に変換フィルタデータを表示する際には、変換フィルタデータの変換内容(小文字、カタカナ、濁音など)を表示するとしたが、これに限られない。変換フィルタデータによる変換後のボタンデータを、変換フィルタ領域内に表示してもよい。例えば図11では、ボタン領域BA11bのボタンデータ「D」を変換フィルタデータF11b(大文字/小文字の変換)で変換して得られる「d」を、変換フィルタ領域FA11b内に表示してもよい。また、ボタン領域BA11bのボタンデータ「D」を変換フィルタデータFA12b(太字/細字の変換)で変換して得られる太文字の「D」を、変換フィルタ領域FA12b内に表示してもよい。以下同様にして、変換フィルタ領域FA13bないしFA15bにおいても、変換後のボタンデータを表示してもよい。
なお、図25の変換フィルタテーブルTB1cのように、ひらがな文字とアルファベット文字との間の変換を入れても良い。これにより、図16のひらがな文字のボタン配列が使用される場合にも、アルファベットを入力することが可能となる。また、図8のアルファベット文字のボタン配列が使用される場合にも、ひらがな文字を入力することが可能となる。
なお、ROM16、RAM30およびNVRAM40は、第1ないし第3ボタンデータ記憶手段、第1および第2変換フィルタデータ記憶手段の一例である。TB1およびTB1bは、第1および第2対応情報記憶手段、第1および第2変換情報記憶手段の一例である。BA11〜BA18およびBA11b〜BA18bは第1ボタン領域の一例である。FA11、FA12、FA11b〜FA15bは第1変換フィルタ領域の一例である。BA21およびBA21bは第2ボタン領域の一例である。FA21〜FA23およびFA21b〜FA25bは第2変換フィルタ領域の一例である。DA11〜DA31、DA11b〜DA31bは確定領域の一例である。BA31およびBA31bは第3ボタンデータの一例である。
また、S9を実行する制御部は第1ボタン表示制御手段の一例である。S17を実行する制御部は第1変換フィルタデータ特定手段の一例である。S21を実行する制御部は第1変換フィルタ表示制御手段の一例である。S112を実行する制御部は第1変換手段の一例である。S113を実行する制御部は第2ボタン表示制御手段の一例である。S115を実行する制御部は第2変換フィルタデータ特定手段の一例である。S119を実行する制御部は第2変換フィルタ表示制御手段の一例である。S112を実行する制御部は第2変換手段の一例である。S31を実行する制御部はデータ入力手段の一例である。S23を実行する制御部は確定領域表示制御手段の一例である。