(57)【要約】【課題】限られたスペースを有効に利用しながらもオペレータが直感的に利用可能な文字入力装置、文字入力方法、及び文字入力プログラムを提供する。【解決手段】領域と文字の関連付けられたノード５００を生成し、他のノード７０１〜７０４をノード５００の子ノードとして関連付ける生成手段と、第一の確定操作の際に選択されたノード５００が子ノード７０１〜７０４を持つ場合に子ノード７０１〜７０４を描画手段によって描画し、さらにノード５００に関連付けられた領域を変形させて描画手段によって描画し、第二の確定操作の際に選択されたノードに関連付けられた文字を入力文字として確定する管理手段とを設ける。【選択図】図５
2011134313.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置において、前記文字入力装置は、
前記入力装置によって得られる情報から座標と確定操作とを検出する検出手段と、
座標が領域に含まれるかどうかを判定する判定手段と、
領域と文字の関連付けられたノードを生成する生成手段と、
前記ノードを管理する管理手段と、
領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画手段とを備え、
前記生成手段は、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることができ、
前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、さらに当該ノードに関連付けられた領域を変形させて前記描画手段によって描画し、
前記管理手段は、前記検出手段が第二の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力装置。
【請求項２】
請求項１記載の文字入力装置であって、
前記生成手段は前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付け、
前記生成手段は前記属性の関連付けられたノードを属性ノードとして生成し、
前記管理手段は、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画手段によって描画し、
前記管理手段は、前記検出手段が第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出手段の検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画手段によって描画する文字入力装置。
【請求項３】
請求項１又は２記載の文字入力装置であって、
前記生成手段は前記ノードに有効フラグを付与し、
前記管理手段が前記判定手段によって判定を行なう際には有効フラグがオンであるノードについて判定を行なう文字入力装置。
【請求項４】
請求項１から３のいずれか一項記載の文字入力装置であって、
前記生成手段は、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付け、
前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、当該ノードに関連付けられた領域を変形させない文字入力装置
【請求項５】
ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置における文字入力方法において、前記文字入力方法は、
前記入力装置によって得られる情報から座標と確定操作とを検出する検出ステップと、
座標が領域に含まれるかどうかを判定する判定ステップと、
領域と文字の関連付けられたノードを生成する生成ステップと、
前記ノードを管理する管理ステップと、
領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画ステップとを含み、
前記生成ステップは、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることがあり、
前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、さらに当該ノードに関連付けられた領域を変形させて前記描画ステップによって描画し、
前記管理ステップは、前記検出ステップが第二の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力方法。
【請求項６】
請求項５記載の文字入力方法であって、
前記生成ステップは前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付け、
前記生成ステップは前記属性の関連付けられたノードを属性ノードとして生成し、
前記管理ステップは、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画ステップによって描画し、
前記管理ステップは、前記検出ステップが第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出ステップの検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画ステップによって描画する文字入力方法。
【請求項７】
請求項５又は６記載の文字入力方法であって、
前記生成ステップは前記ノードに有効フラグを付与し、
前記管理ステップが前記判定ステップによって判定を行なう際には有効フラグがオンであるノードについて判定を行なう文字入力方法。
【請求項８】
請求項５から７のいずれか一項記載の文字入力方法であって、
前記生成ステップは、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付け、
前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、当該ノードに関連付けられた領域を変形させない文字入力方法
【請求項９】
コンピュータを請求項１から４のいずれか一項記載の文字入力装置として機能させる文字入力プログラム。
【請求項１０】
請求項５から８のいずれか一項記載の文字入力方法をコンピュータに実行させる文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティングデバイス等入力装置の操作で領域を選択することによって文字の入力を行なう文字入力装置、文字入力方法、及び文字入力プログラムに関する。
【背景技術】
【０００２】
従来の文字入力装置や文字入力方法又は文字入力プログラムのうちポインティングデバイス等入力装置の操作によって文字の入力を行なうものでは、ソフトウェア・キーボードのように領域を画面上に並べ、その領域をオペレータがポインティングデバイスを用いて選択することで文字の入力を行なうものと、パイメニューのようにドーナツ型の領域を区切ったものを目安として利用してオペレータによって入力されたストローク情報によって入力文字を決定するものなどが広く知られている。
【０００３】
ソフトウェア・キーボードの場合、キーボード装置のキー配列と同じキー配置となるように領域を並べることが一般的であるが、選択肢が多すぎることなどが原因で、オペレータにとっては決して使いやすいものではないということが、従来から広く一般に認識されている。１９９４年にはＴ−Ｃｕｂｅ（非特許文献１）が提案されているが、このシステムは入力用に画面上に用意される選択肢の数を減少させることに成功している。Ｔ−Ｃｕｂｅの実施形態の一つにおいては、画面上に表示された９個の領域のそれぞれに８分割されたパイメニューが割り当てられており、ポインティングデバイス操作によって９個の領域のうちの一つからストローク操作が開始された後にその領域に割り当てられたパイメニューが表示されるようになっている。８分割されたパイメニューが９個利用可能であることから、１ストロークで入力可能な７２種類の文字が用意されていることになる。
【０００４】
また、携帯電話等で一般的に利用されているテンキー配列のキーボードを利用したもの（非特許文献２）が提案されており、その実施形態の一つとしてテンキー配列のソフトウェア・キーボードを利用したものが開示されている。当該システムにおいてはパイメニューは表示されないが、テンキー配列に並べられた領域のうちの一つから開始されたストロークの開始位置と方向によって入力文字を決定しており、Ｔ−Ｃｕｂｅの方法を発展させたものとなっている。Ｔ−Ｃｕｂｅとの違いは、ストローク操作だけではなくタップ操作を行なった場合に別の入力文字が確定されるところにある。例えば、テンキーの「１」を表わす領域からストロークを開始して右斜め下へストロークを続けた場合の入力文字には「Ｖ」の文字が割り当てられており、テンキーの「１」を表わす領域でタップ操作を行なった場合の入力文字には「Ａ」の文字が割り当てられている。
【０００５】
特許文献１の実施例では非特許文献１のＴ−Ｃｕｂｅと同様の操作によってひらがなを入力する装置が開示されており、Ｔ−Ｃｕｂｅと同様の操作に加えて、タップ操作によって「ん」や「っ」を入力することが可能とはなっているが、例えば「あ」を入力するためにストロークを開始する場所と同じ場所でタップ操作をした場合に入力キャンセルとなり、「か」を入力するためにストロークを開始する場所と同じ場所でタップ操作をした場合に「っ」が入力されるなど、ある位置から開始したストローク操作によって確定する文字とその同じ位置でのタップ操作によって確定する文字との関連がオペレータにとって直感的ではないという問題点がある。また、例えば「は行」と「ば行」と「ぱ行」の文字入力を行なう場合、それぞれ別の場所からストロークを開始しなければならないようになっている。
【０００６】
特許文献２の第１実施例では非特許文献２のシステムと同様の操作によってひらがなを入力する装置が開示されており、非特許文献２のシステムと同様の操作に加えて、ストロークの開始点からある範囲内で終了したストローク操作によって確定する文字とタップ操作によって確定する文字が同じになるように割り当てられているものの、オペレータがストロークを開始した後に文字の入力をキャンセルする手段が提供されていないという問題点がある。また、例えば「ば行」と「ぱ行」の文字入力を行なう場合では、まず「は行」の文字を入力してから文字入力補助キーを用いて「ば行」や「ぱ行」の文字に変換するというように２つの操作を組み合わせて行なう必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−２７２７８７号公報
【特許文献２】特開２０００−１１２６３６号公報
【非特許文献】
【０００８】
【非特許文献１】Dan Venolia , Forrest Neiberg, T-Cube: a fast, self-disclosing pen-based alphabet, Proceedings of the SIGCHI conference on Human factors in computing systems: celebrating interdependence, p.265-270, April 24-28, 1994.
【非特許文献２】Saied B. Nesbat, 「A system for fast, full-text entry for small electronic devices, Proceedings of the 5th international conference on Multimodal interfaces, November 05-07, 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の一般的なソフトウェア・キーボードは選択肢が多すぎて使いにくいという問題点があった。また、画面上に表示される選択肢が少ないシステムであるＴ−Ｃｕｂｅ（非特許文献１）においてはパイメニューの表示でフィードバックを返すものの、パイメニューの中心の領域が有効に利用されておらず、全ての選択肢が同列に扱われてしまっているという問題点があった。特許文献１で開示されている技術や非特許文献２のシステムにおいてはストローク操作以外にタップ操作が利用されているものの、ストローク操作による入力とタップ操作による入力という別の入力方法を組み合わせたものであるため、入力文字の確定操作がオペレータにとっては直感的ではないという問題点があった。特許文献２で開示されている技術では、ある範囲のストローク操作の終了点が開始点の含まれる領域と同じ領域に含まれれば「あ段」の文字とすることが可能ではあるものの、「あ段」の文字を入力するための操作（あるいは操作対象）は、「あ段」以外の段の文字を入力するための操作（あるいは操作対象）と同列な選択肢としての性質は持たないため、オペレータにとっては直感的ではないという問題点があった。またこれらの先行技術やシステムでは、ひらがなだけに限って考えても、２つ以上の操作の組み合わせによって入力しなければならない文字が存在するという問題点もあった。
【００１０】
上記のような従来の問題点に鑑み、本発明は、同列でありながら特別でもある選択肢を用意することによって、一度に表示される選択肢の数を減少させ、かつオペレータが直感的に文字入力を行なうことを容易にするための文字入力装置、文字入力方法、及び文字入力プログラムを提供することを目的とする。
【００１１】
本発明の他の一つの目的は、選択肢を属性によってグループ分けし、グループを切り替えることによって、一連の操作によって入力可能な文字を増加させることが可能となる文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
【００１２】
本発明の他の一つの目的は、操作の対象となる選択肢を状況に応じて変化させることの可能な文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
【００１３】
本発明の他の一つの目的は、同列でありながら特別でもある選択肢を別の方法で提供する文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明によって、ポインティングデバイス２０１を含む入力装置２００とディスプレイ装置３００とを備える文字入力装置４００において、前記文字入力装置は、前記入力装置によって得られる情報から座標と確定操作とを検出する検出手段１０１と、座標が領域に含まれるかどうかを判定する判定手段１０３と、領域と文字の関連付けられたノードを生成する生成手段１０２と、前記ノードを管理する管理手段１０４と、領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画手段１０５とを備え、前記生成手段は、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることができ、前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、さらに当該ノードに関連付けられた領域を変形させて前記描画手段によって描画し、前記管理手段は、前記検出手段が第二の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力装置が提供される。
【００１５】
上記のような文字入力装置では、生成手段はノードを生成する際に子ノードとして他のノードを一つ以上関連付けることができるが、子ノードの関連付けられていないノードを生成することも可能である。第一の確定操作の際に選択された選択肢であるノードが子ノードを持つ場合は、管理手段は、描画手段によって子ノードを描画すると共に、選択されたノードの領域を変形して描画手段によって描画するが、このことによって第一の確定操作の際に選択されたノードを子ノードと同列でありながら特別でもある選択肢とすることが可能となる。（ここで「第一の確定操作の際に選択された」とは、検出手段が第一の確定操作を検出した際に、検出手段の検出した座標を含むと判定手段が判定するような領域の関連付けられたノードが管理手段によって選択された、ということを省略して表現しているものであり、以下同様である。）そして、第二の確定操作によって選択されたノードに関連付けられた文字が入力文字として確定するが、その際に選択されうるノードは第一の確定操作の際に選択されたノードの子ノードを含むものであり、ノードの親子関係によって階層的に選択肢が提供されるため、一度に画面に表示されるノードの数を少なく抑えることが可能となる。第二の確定操作によって選択されるようなノードが存在しない場合、すなわち検出手段が第二の確定操作を検出した際に検出手段の検出した座標を含むと判定手段が判定するような領域の関連付けられたノードが存在しない場合は入力キャンセルとなるため、オペレータは操作の途中のいつでも入力操作をキャンセルすることが可能になる。ここで、検出手段に検出される確定操作はポインティングデバイスのボタンが押された時や離された時、またクリック操作された時などであり、それらの操作のうちのいずれを確定操作として利用するのかは検出手段又は管理手段によって管理されている。ペンデバイスの場合は、ペンの触れた時や離れた時、またタップ操作された時などが該当する。タッチパネルの場合は、指の触れた時や離れた時、またタップ操作された時などが該当する。
【００１６】
この場合、一回のクリック操作におけるボタンが押される操作とボタンが離される操作のそれぞれを確定操作として検出し、オペレータが一回のクリック操作を行なった場合に二回の確定操作を検出するように設定することも可能であるし、一回のクリック操作を一回の確定操作として検出するように設定することも可能である。タップ操作に関しても同様に、ペンや指の触れた時と離れた時のそれぞれを別の確定操作として検出するのか、あるいは触れることと離れることの組み合わせを確定操作として検出するのか、それらのうちのどちらにも設定可能である。また、ドラッグ操作やスライド操作やフリック操作における開始点と終了点のそれぞれで確定操作が行なわれたと検出するように設定することによって、一回のドラッグ操作やスライド操作やフリック操作を二回の確定操作として検出するようにも設定可能である。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合には、第一の確定操作に続く（ダブルクリック操作ではない）クリック操作は新たに第一の確定操作として検出される。また、入力装置がマルチタッチを利用可能な場合は、一本目の指やペンが最初に接触した際に第一の確定操作であると検出して一本目の指やペンによって得られる座標を第一の確定操作に関する座標であると検出し、一本目の指やペンが離された際に第二の確定操作であると検出して、第一の確定操作と第二の確定操作の間に二本目以降の指やペンによる接触があった場合は最も第二の確定操作に近い時間に接触したり移動したりしていた指やペンによって得られた座標を第二の確定操作に関する座標であると検出するように設定することや、一本目の指やペンが接触した際に第一の確定操作であると検出して一本目の指やペンによって得られる座標を第一の確定操作に関する座標であると検出し、第一の確定操作に続く複数の接触や移動のうち最後に指やペンが離された際に第二の確定操作であると検出して最後に離された指やペンによって得られた座標を第二の確定操作に関する座標であると検出するように設定することも可能である。
【００１７】
また、上記生成手段は前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付けるものであってもよく、上記生成手段は前記属性の関連付けられたノードを属性ノードとして生成するものであってもよく、上記管理手段は、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画手段によって描画するものであってもよく、上記管理手段は、前記検出手段が第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出手段の検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画手段によって描画するものであってもよい。
【００１８】
上記のような文字入力装置では、生成手段がノードに子ノードを関連付ける際に属性を持つグループによって関連付けることがあるが、そのようなグループによって関連付けられた子ノードを持つノードには、子ノードが描画されるような場合にどの属性を持つグループに属する子ノードが表示される（画面上に描画される）のかを示す表示情報が生成手段によって関連付けられている。また、生成手段によって、属性の関連付けられた属性ノードが生成される。第一の確定操作の際に選択されたノード（ノードＡとする）がグループによって子ノードの関連付けられたノードである場合は、ノードＡの子ノードのうちどのグループにも属さない子ノードがあればその子ノードが描画手段によって描画され、ノードＡの子ノードのうちノードＡの表示情報と同じ属性を持つグループに属する子ノードも描画手段によって描画される。そして、検出手段が第一の確定操作を検出した後であって、まだ第二の確定操作を検出していないような場合に、確定操作ではない操作の座標が検出手段によって検出された際に、その座標を含むと判定手段が判定するような領域の関連付けられた属性ノードがあった場合は、その属性ノードに関連付けられた属性と同じ属性を持つグループによって関連付けられた子ノードをノードＡが持つのであれば、それらの子ノードが描画手段によって描画される。
【００１９】
ここで、検出手段に検出される確定操作がクリック操作であった場合は、最初のクリック操作を第一の確定操作として検出し、属性ノードに関連付けられた領域以外の場所でのクリック操作を第二の確定操作として検出するように設定することも可能であり、その場合は、属性ノードに関連付けられた領域におけるクリック操作は第二の確定操作として検出されないため、オペレータは第一の確定操作の後に属性ノードをクリックすることによって表示される子ノードのグループを変更することが可能となる。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合にも同様に、第一の確定操作後のクリック操作は第二の確定操作として検出されないため、オペレータは、第一の確定操作後の属性ノードにおけるクリック操作によって表示されるグループの変更を行なうことが可能である。また、ストロークの開始点と終了点のそれぞれを第一の確定操作と第二の確定操作として設定した場合は、ストローク中に変化する座標が検出手段によって検出され、ストロークが属性ノードに関連付けられた領域にさしかかった場合（ストロークが属性ノードに関連付けられた領域に入った場合）には表示されるグループの変更が管理手段によって行なわれる。これらの属性ノードを利用したグループ変更は、第二の確定操作が検出されるまでは何回でも可能であるため、オペレータは所望の文字を探しながら、しかし一連である操作によって入力文字を確定することが可能となる。
【００２０】
また、上記生成手段は前記ノードに有効フラグを付与するものであってもよく、上記管理手段が前記判定手段によって判定を行なう際には有効フラグがオンであるノードについて判定を行なうものであってもよい。
【００２１】
この場合、管理手段がノードの有効フラグを適切にオンとオフに切り替えることによって、有効フラグがオフであるノードに関しては座標が領域に含まれるかどうかを判定手段によって判定しないということになり、操作の対象となる選択肢を状況に応じて変化させることが可能となる。
【００２２】
また、上記生成手段は、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付けるものであってもよく、上記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、当該ノードに関連付けられた領域を変形させないものであってもよい。
【００２３】
上記のような文字入力装置では、第一の確定操作の際に選択されたノードが子ノードを持つ場合に、そのノードの領域を変形させるかわりに、変形された領域を最初から持つ変形ノードを子ノードとして表示させることによって、同列でありながら特別でもある選択肢を別の方法で提供することが可能となる。
【００２４】
また、本発明によって、ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置における文字入力方法において、前記文字入力方法は、前記入力装置によって得られる情報から座標と確定操作とを検出する検出ステップと、座標が領域に含まれるかどうかを判定する判定ステップと、領域と文字の関連付けられたノードを生成する生成ステップと、前記ノードを管理する管理ステップと、領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画ステップとを含み、前記生成ステップは、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることがあり、前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、さらに当該ノードに関連付けられた領域を変形させて前記描画ステップによって描画し、前記管理ステップは、前記検出ステップが第二の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力方法が提供される。
【００２５】
また、上記生成ステップは前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付けるものであってもよく、上記生成ステップは前記属性の関連付けられたノードを属性ノードとして生成するものであってもよく、上記管理ステップは、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画ステップによって描画するものであってもよく、上記管理ステップは、前記検出ステップが第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出ステップの検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画ステップによって描画するものであってもよい。
【００２６】
また、上記生成ステップは前記ノードに有効フラグを付与するものであってもよく、上記管理ステップが前記判定ステップによって判定を行なう際には有効フラグがオンであるノードについて判定を行なうものであってもよい。
【００２７】
また、上記生成ステップは、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付けるものであってもよく、上記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、当該ノードに関連付けられた領域を変形させないものであってもよい。
【００２８】
また、本発明によって、コンピュータを請求項１から４のいずれか一項記載の文字入力装置として機能させる文字入力プログラムが提供される。
【００２９】
また、本発明によって、請求項５から８のいずれか一項記載の文字入力方法をコンピュータに実行させる文字入力プログラムが提供される。
【発明の効果】
【００３０】
請求項１又は５に記載の発明によれば、同列でありながら特別でもある選択肢を用意することによって、一度に表示される選択肢の数を減少させ、かつオペレータが直感的に文字入力を行なうことを容易にするための文字入力装置又は文字入力方法が提供される。
【００３１】
請求項２又は６に記載の発明によれば、選択肢を属性によってグループ分けし、グループを切り替えることによって、一連の操作によって入力可能な文字を増加させることが可能となる文字入力装置又は文字入力方法が提供される。
【００３２】
請求項３又は７に記載の発明によれば、操作の対象となる選択肢を状況に応じて変化させることの可能な文字入力装置又は文字入力方法が提供される。
【００３３】
請求項４又は８に記載の発明によれば、同列でありながら特別でもある選択肢を別の方法で提供する文字入力装置又は文字入力方法が提供される。
【００３４】
請求項９に記載の発明によれば、コンピュータ１００が上記に記載された文字入力装置として機能する。
【００３５】
請求項１０に記載の発明によれば、上記に記載された文字入力方法がコンピュータ１００により実行される。
【図面の簡単な説明】
【００３６】
【図１】文字入力装置の構成を示すブロック図。
【図２】ノードの一例を示す図。
【図３】ノードの一例を示す図。
【図４】画面上にノードが描画された状態の一例を示す図。
【図５】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図６】選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。
【図７】属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。
【図８】選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。
【図９】属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。
【図１０】選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。
【図１１】属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。
【図１２】属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。
【図１３】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図１４】領域の変形したノードの子ノードが選択され、その選択された子ノードにさらに関連付けられた子ノードが表示された状態の一例を示す図。
【図１５】選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。
【図１６】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図１７】画面上にノードが描画された状態の一例を示す図。
【図１８】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図１９】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図２０】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図２１】画面上にノードが描画された状態の一例を示す図。
【図２２】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図２３】選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。
【図２４】表示用と判定用の二種類の領域が関連付けられたノードが表示された状態の一例を示す図。
【図２５】処理の一例を示すフローチャート。
【図２６】図２５のフローチャートから分岐して続く処理の一例を示すフローチャート。
【図２７】変形ノードの一例を示す図。
【図２８】変形ノードの一例を示す図。
【図２９】選択されたノードに関連付けられた子ノードである変形ノードが表示されて選択され、その変形ノードにさらに関連付けられた子ノードが表示された状態の一例を示す図。
【図３０】選択されたノードに関連付けられた、属性ノードを含む子ノードが表示され、変形ノードが選択された状態の一例を示す図。
【図３１】属性ノードの一例を示す図。
【発明を実施するための形態】
【実施例１】
【００３７】
以下、本発明の一実施形態について図面を参照して説明する。図１は本発明における文字入力装置４００の構成を示すブロック図である。当該装置は、パソコン等のコンピュータ１００、入力装置２００及びディスプレイ装置３００によって構成されている。コンピュータ１００は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ポケットコンピュータ、及び電子手帳など、様々な形をとり得る。図１では一例としてコンピュータ１００と入力装置２００及びディスプレイ装置３００が分かれているが、当業者には明白であるように、これらの全てあるいは一部が一体となっている場合がある。例えば、画面３０１とポインティングデバイス２０１とは、一体となっていることもある。
【００３８】
入力装置２００に含まれるポインティングデバイス２０１は、例えば、マウス、トラックボール、トラックパッド、タッチパネル、及びタブレット装置など、様々な形をとり得る。当業者には明白であるように、ポインティングデバイス２０１は他の装置、例えばキーボードやダイアルなどによって代替可能である。
【００３９】
ディスプレイ装置３００に含まれる画面３０１は、ＣＲＴ、ＬＣＤ、及びプラズマディスプレイなど、様々な形をとり得る。当業者には明白であるように、画面３０１はヘッドマウントディスプレイのような形態もとり得る。
【００４０】
また、コンピュータ１００は、入力装置２００からの操作入力に応じて、内蔵するＣＰＵ、メモリ、補助記憶装置等のハードウェアを、各種の手段として機能させる文字入力プログラムを搭載したり実行したりすることができる。また、コンピュータ１００は、入力装置２００からの操作入力に応じて、内蔵するＣＰＵ、メモリ、補助記憶装置等のハードウェアを利用して、各種のステップを実行させる文字入力プログラムを搭載したり実行したりすることができる。図には省略されているが、一般的なコンピュータにおける記憶手段としてメモリや補助記憶装置等のハードウェアや、ネットワーク回線によって接続された別のコンピュータの制御する記憶手段等様々な外部記憶装置や、コンピュータ可読媒体などが利用可能である場合がある。また、各種データは複数の記憶手段に分散して記憶されていることもある。
【００４１】
検出手段１０１は、入力装置２００からデータを受け取り、座標の値や確定操作の有無を検出する。例えばマウス等のポインティングデバイス２０１によって得られるｘ軸とｙ軸に対する移動量のデータを受け取り画面３０１上に表示されるポインタの座標を変化させる際や、タッチパネル等のポインティングデバイス２０１によって得られるｘ軸とｙ軸における値のデータを受け取り画面３０１上に表示されるポインタの座標に反映させる際などに利用され、画面３０１上のポインタの座標を他の手段に提供可能である。また検出手段１０１は、例えばポインティングデバイス２０１のボタンやペンや指の状態とその状態の変化に関する情報を受け取り、確定操作がなされたかどうかの検出にも利用される。検出手段１０１がどの操作を確定操作とするかの設定は、検出手段１０１や管理手段１０４によって、コンピュータ１００が通常持つ記憶手段などを利用して管理されている。検出手段１０１がどの操作を確定操作とするかの設定の変更により、クリック＆クリックに二回の確定操作を割り当てるモードや、ドラッグ操作やスライド操作やフリック操作に二回の確定操作を割り当てるモード、またクリック＆ダブルクリックに二回の確定操作を割り当てるモードなどを設定することが可能である。例えばドラッグ操作に二回の確定操作を割り当てるモードの場合は、ドラッグ操作が開始された際のポインタ座標において一回目の確定操作が行なわれ、リリース操作された際のポインタ座標において二回目の確定操作が行なわれたと検出されるように設定可能である。他には、ボタンを押した状態やペンや指などを触れた状態でポインタ座標の変化がほとんどないような状態が一定時間以上続いた場合に確定操作とするようなモードとして設定することも可能である。
【００４２】
また一般的なコンピュータ１００は通常、画面３０１上に領域を設定することが可能であるような手段を備えている。例えば矩形の左上の座標と右下の座標、あるいは矩形の左上の座標と幅と高さの指定によって矩形領域を設定する。また例えば、中心座標と半径の指定によって円の領域を設定したり、座標値の集合の指定によってポリゴン領域を設定したり、座標の関係式の指定によって領域を設定したり、またそれらの組み合わせによって領域を設定することもある。パイメニューに利用可能な領域の場合は、大きさの異なる円を同心円として配置してできるドーナツ型の領域を、円の中心から外側へひかれる直線によって区切ることによって生成される。これらのような様々な領域の生成は、公知の方法によって、コンピュータ１００において実行可能である。
【００４３】
判定手段１０３は、検出手段１０１から得られた座標の値と管理手段１０４から与えられる領域の性質から、判定対象となる座標が判定対象となる領域に含まれるか否かを判定する。例えば、判定対象となる領域が矩形の領域の場合は、判定対象となる座標のｘ座標とｙ座標のそれぞれを、矩形の左上の座標と右下の座標のｘ座標とｙ座標それぞれと比較することにより判定することができる。また例えば、判定対象となる領域がパイメニューとして利用可能な形状である場合は、判定対象となる領域の中心の座標から判定対象となる座標への距離を三平方の定理によって求め、パイメニューの領域を構成する円の半径との比較によってパイメニューに含まれるかどうかを判定することができ、判定対象となる領域の中心の座標と判定対象となる座標から逆三角関数を利用して中心角を求めることによって、パイメニュー内のどの領域に含まれるのかを判定することができる。一般的なパイメニューにおいては利用されていない、円の中心を含む円形の領域の場合は、中心の座標から判定対象となる座標への距離と、該当する円の半径との比較によって、中心の含まれる領域に判定対象となる座標が含まれるかどうかを判定することができる。また、ポリゴン領域や関係式の指定による領域の場合も同様に、ある座標が領域に含まれるかどうかを判定することは可能である。
【００４４】
生成手段１０２は、文字と領域が関連付けられたノードを生成する。ノードに関連付けられる領域は、画面３０１に表示するための領域という性質と、判定手段１０３での判定の際に利用される領域という性質を持っているため、生成手段１０２は、表示用と判定用の二種類の領域が関連付けられたノードを生成することもある。またノードには、オペレータの理解を助けるために、子ノードに関連付けられた文字を追加して関連付けることも可能である。生成手段１０２によって生成されるノードは、必ず子ノードを持つというわけではなく、子ノードを持たない（子ノードの関連付けられていない）ノードも生成される。これらのノードを構成するための情報は、コンピュータ１００が通常持つ記憶手段に記憶され、必要に応じて読み出される。また、生成とは必ずしもオブジェクト指向におけるオブジェクトの生成のみを指すわけではなく、構造体やテーブルなど他の方法によって実現可能であることは当業者には明白である。
【００４５】
管理手段１０４はノードを階層構造によって管理するため、画面３０１上に同時に表示されるノードの数を、実際に利用可能なノードの総数よりも、減少させることを可能としている。管理手段１０４は、検出手段１０１が確定操作を検出した際には、検出手段１０１によって検出される座標の情報と、生成手段１０２の生成したノードのうち画面３０１に表示されており有効であるもの全てについて、判定手段１０３による判定が真となるようなノードがあるかどうかを検査する。そのようなノードがあった場合には、管理手段１０４は、そのノードが子ノードを持つかどうかを検査し、子ノードを持つノードであった場合は当該ノードに関連付けられた子ノードの表示を描画手段１０５によって行なう。さらに、管理手段１０４は、当該ノードに関連付けられた領域を変形させ、変形した領域の描画を描画手段１０５によって行なう。判定手段１０３による判定のために利用される領域はノードに関連付けられた領域と全く同じである必要はなく、例えば、オペレータの操作を助けるために、有効なノードのない方向にある程度拡大したような領域を利用するということであっても良い。
【００４６】
また、管理手段１０４がノードの領域を変形する際には、検出手段１０１が第一の確定操作を検出した際に検出された座標を含むような領域であって、さらに子ノードと同列に扱うことのできる領域も含むような領域に変形することによって、直ちに選択可能な特別な選択肢であってかつ他の選択肢と同列にも扱えるような選択肢として利用可能であるように変形する。このため、管理手段１０４によって領域を変形させられたノードは、他の子ノードと同列でありながら特別でもある選択肢としての性質を備えることになり、オペレータにとって直感的な文字入力環境の提供が可能となる。
【００４７】
描画手段１０５は、管理手段１０４によって利用され、ノードに関連付けられた文字と領域の描画を画面３０１に対して行なうようにディスプレイ装置３００にデータや信号などを送る。描画手段１０５によるノードの描画において、ノードに関連付けられた文字の描画は必要なものであるが、当該ノードに関連付けられた領域の描画は必要だとは限らない。領域は、画面３０１に表示されるために利用されることを目的としているだけでなく、判定手段１０３での判定のために利用されることも目的としているため、画面３０１上に表示されている必要はないが、オペレータへの目安としての表示や、操作のフィードバックのためのハイライト表示などに利用される。表示用と判定用の二種類の領域が関連付けられたノードを画面３０１に描画する際には、描画手段１０５は、ノードに関連付けられた領域のうち表示用の領域の描画と、ノードに関連付けられた文字の描画とを画面３０１に対して行なうようにディスプレイ装置３００にデータや信号などを送る。また、表示されるのは単なる領域と文字のみではなく、アイコンなどのグラフィックス表示による装飾やアニメーション効果などが追加されていても良い。
【００４８】
図２は、画面３０１に表示される際のノードの一例を示す図である。ノード５００は矩形の領域５０１が関連付けられており、「あ」である文字５０２が関連付けられている。ノード５００の情報は例えば表１のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。図２においては矩形が領域として利用される例が示されているが、このことはノードの領域は矩形に限るということを意味するわけではなく、さまざまな形状の領域がありうる（以下の他の図における領域の形状についても同様）。ノードの他の例としては、例えばアルファベットの入力のために「ｔｈ」のようによく利用される組み合わせの文字を割り当てておき、二文字を一度に続けて入力可能であるというように、複数の文字が関連付けられたノードもありうる。また、「ＲＥＴＵＲＮ」や「ＴＡＢ」などの表示を割り当てて機能キーの代替として利用することも可能であることは当業者には明白である。
【００４９】
【表１】
2011134313.tif 000003
【００５０】
図３は、画面３０１に表示される際のノードの別の一例を示す図である。この場合のノード５００にも矩形の領域５０１が関連付けられており、「あ」である文字５０２が関連付けられているが、子ノードが表示される際の子ノードの位置関係をオペレータが理解することを助けるために、子ノードに関連する文字５０３が表示されている。点線は文字の範囲を示すためのものであり実際に画面に表示されるものではない。図３において点線で囲われた文字「い」と「う」と「え」と「お」のように、ノード５００の子ノードが表示される際のノードの並びを表わすように各文字が配置されているとオペレータの理解をより助ける情報となるが、このような配置に限るというわけではなく、他の配置もありうる。
【００５１】
図４は、画面３０１にノードが並べられて表示される際の一例を示す図である。図４においてはテンキー配列に対応するような配置でノードが並べられた例が示されているが、このことは初期表示されるノードの配置はこのような配置に限るということを意味するわけではなく、さまざまな配置がありうる。また図４ではノード（５００，５１０，５２０，５３０，５４０，５５０，５６０，５７０，５８０，５９０，６００，６１０）の領域は隣り合うノードがそれぞれ互いに接しているが、領域は接していなくても良いし重なっていても良い。重なっている場合には生成された順などの一定の順で判定手段１０３によって判定することによって重なりを持つ領域についての判定が可能となる（以下の他の図における例についても同様）。ノード５９０と６１０には文字が関連付けられていないため、空白の入力や入力のキャンセル等に利用可能である。また句読点や「ー」などかな文字以外の記号の入力にも利用可能であることは当業者には明白である。また、図４のような領域の配置に対して携帯電話に一般に用いられているテンキー配列を対応させて、テンキーが押されたかどうかの状態の変化を検出手段１０１が検出し、押されたキーによって判定手段１０３がノード（５００，５１０，５２０，５３０，５４０，５５０，５６０，５７０，５８０，５９０，６００，６１０）についての判定を行なうということで、ポインティングデバイスの操作を代替可能である。ダイアル操作の前後に回転する操作と押し込まれる操作を検出手段１０１が検出し、判定手段１０３が例えばノードに「５００，５１０，５２０，５３０，５４０，５５０，５６０，５７０，５８０，５９０，６００，６１０」という順番をつけ、ダイアル操作の前後に回転する操作に応じて判定結果を前後に移動させるということと、ダイアルが押し込まれる操作を検出手段１０１が検出した際に確定操作として検出するというように割り当てて代替可能でもある。
【００５２】
図５は、図４の状態において、ノード５００の領域内にポインタ座標がある時（「ノード５００の領域内にポインタ座標がある時」とは、検出手段１０１によって検出される座標が、判定手段１０３によって、ノード５００に関連付けられた領域内にあると判定されるような状態を指す。以下、同様。）に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５００の子ノードであるノード７０１〜７０４が表示されている。このような子ノードの表示位置は、親ノード（この場合ノード５００）からの相対的な位置関係や、画面３０１上の絶対的な位置を決定するための情報が、生成手段１０２によって、親ノードあるいは各子ノードに関連付けられている。ここで、ノード５００に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７０１〜７０４と同列に扱うことのできる領域を含むような領域に変形されているため、第一の確定操作の後、直ちに第二の確定操作が検出された際にノード５００の文字を入力文字として確定させることが可能となっている。（図５においては「第一の確定操作が検出された際に検出された座標を含み、かつノード７０１〜７０４と同列に扱うことのできる領域を含むような領域」は、一続きの領域として示されているが、第一の確定操作が検出された際に検出された座標を含む領域と、ノード７０１〜７０４と同列に扱うことのできる領域の二つの領域がつながっている必要はなく、一続きではない二つ以上の複数の領域を組み合わせたものがノードに関連付けられてもよい。以下、同様。）図５では、選択されていることをオペレータにフィードバックするためのハイライト表示を行なっている様子が、ノード５００に着色されること（領域内の背景が灰色となっていること）で示されている。この状態からポインティングデバイス操作によってポインタ座標がノード７０１の領域に含まれる位置に移動した際にはノード７０１がハイライト表示されることになる。ノード５００のハイライト表示は、ポインタ座標がノード５００の領域に含まれなくなった時点で解除される。図５では、ノード５００における文字の表示位置は、子ノードであるノード７０１〜７０４の文字と同列に扱われるような位置に移動しており、直ちに入力が可能ではあるが、他のノードと同列に選択可能な選択肢としての側面もあわせ持っていることを示している。（ノード５００における文字の表示位置は必ずしも変更する必要のあるものではないが、変更したほうがオペレータの理解を助けることになる。以下の他の図における変形された領域と移動された文字の関係についても同様。）また、図５ではノード５００に関連付けられたノードとそれ以外のノードを区別するために、ノード（５２０，５３０，５４０，５５０，５６０，５７０，５８０，６００）の文字が薄くなっているが、これら文字の薄くなったノードは有効ではないことを表わしている（以下の他の図における例についても同様）。有効ではないノードは表１における有効フラグの欄がオフとなるような状態として管理手段１０４によって管理されている。ただし、あるノードが第一の確定操作の際に選択された場合には他のノードは必ず有効ではなくなるということを表わすものではなく、それらのノードも有効であっても良いが、図５においては有効ではない場合を一例として示している。有効フラグがオンであるノードと有効フラグがオフであるノードについて、描画手段１０５による描画方法に差をつけるのであれば、画面上に表示されているノードのうちどのノードが有効であるのかが一目瞭然となりオペレータの理解を助ける。図５の状態の後に、ノード５００あるいは７０１〜７０４のいずれかの領域内にポインタ座標がある時に検出手段１０１によって第二の確定操作が検出された場合は、検出手段１０１の検出した座標が当該ノードに関連付けられた領域に含まれると判定手段１０３が判定することから、管理手段１０４によって当該ノードに関連付けられた文字が入力文字として確定されるが、ノード５００又は７０１〜７０４のいずれの領域内にもポインタ座標がない時に検出手段１０１によって第二の確定操作が検出された場合は、入力のキャンセルが行なわれる（以下の他の図における例についても同様）。画面３０１上の表示が図５の状態において入力のキャンセルが行なわれると、図４の状態になるように管理手段１０４が描画手段１０５に描画させる。
【００５３】
図６は、図４の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。図５と同様にノード５００の子ノードであるノード７０１〜７０４が表示され、ノード５００に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７０１〜７０４と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５００における文字の表示位置は、子ノードであるノード７０１〜７０４の文字と同列に扱われるような位置に移動している。さらに属性ノード（８０１，８０２）もノード５００の子ノードとして表示されている。属性ノード（８０１，８０２）が他のノード（５００、７０１〜７０４）よりも下側に位置しているため、オペレータによるペン操作やオペレータの指による操作が行なわれる場合には、ペンや指で隠れない位置に本質的な選択肢が配置され、ペンや指で隠れるような位置に補助的な選択肢が配置されることになり、オペレータにとって使いやすい環境が提供されている。この例の場合のノード５００は例えば表２のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。表２における表示情報とは、どの属性を持つグループが表示されるのかを示すための情報である。表２においてノード５００の子ノードとして関連付けられているグループ９０１は例えば表３のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。表２においてノード５００の子ノードとして関連付けられているグループ９０２は例えば表４のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。グループ９０１に属するノード（７０１〜７０４）と、グループ９０２に属するノード（７０５〜７０８）は、ノード５００の子ノードとして管理手段１０４に扱われる。表２では子ノードそのものではなくそれらの属するグループ（９０１，９０２）が関連付けてられているが、子ノードそのもの（７０１〜７０８）がノード５００に関連付けられていてもよい。属性ノード８０１には属性「標準」が生成手段によって関連付けられているため属性「標準」の関連付けられたグループ９０１と関係し、属性ノード８０２には属性「小」が生成手段によって関連付けられているため属性「小」の関連付けられたグループ９０２と関係する。図６に示されている状態は、表２における表示情報が「標準」であるため、「標準」を属性として持つグループ９０１に属するノード（７０１〜７０４）と、ノード５００の子ノードとして関連付けられている属性ノード（８０１，８０２）が画面３０１上に表示されている状態である。図６では属性ノード（８０１，８０２）の領域内に描画される情報としてその属性自体を表わす文字「標準」と「小」が利用されているが、描画される情報には属性自体を表わす文字を利用するべきであるということではなく、他の言葉やアイコン等の絵による表現など、オペレータの理解を助けるような視覚情報を利用可能である（以下の他の図における例についても同様）。
【００５４】
【表２】
2011134313.tif 000004
【００５５】
【表３】
2011134313.tif 000005
【００５６】
【表４】
2011134313.tif 000006
【００５７】
図７は、図６の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置２００によってポインタ座標が移動し、属性ノード８０２の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。属性ノード８０２には属性「小」が関連付けられており、第一の確定操作の際に選択されたノード５００の子ノードのうち、表４にあるように「小」を属性として持つグループ９０２に属するノード（７０５〜７０８）と、子ノードとして関連付けられている属性ノード（８０１，８０２）が表示されている状態が図７に示されている状態である。図７においてノード５００に表示されている文字５０４は、表２の文字の欄にある文字（５０２，５０４）のうち、表４にあるようにグループ９０２に関連付けられた文字５０４が利用されていることを示している。この状態で、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第二の確定操作が検出された場合は、管理手段１０４によって文字５０４が入力文字として確定される。（文字５０２と属性「標準」、文字５０４と属性「小」の関連付けは、グループによって行なうのではなくノード５００における関連付けや、文字自体への関連付けなどによって代替可能であることは当業者には明白である。）また、図７の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０１の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図６と同様のノードが表示された状態であって、ノード５００ではなく属性ノード８０１がハイライト表示されたような状態になる。このようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
【００５８】
図６の状態から図７の状態に変化させる際に、管理手段１０４は、ノード５００の表示情報を「小」に変更することによって、描画手段１０５に描画させる子ノードを変更してもよいし、ノード５００の表示情報は「標準」としたまま、一時的に「小」を属性として持つグループによって関連付けられた子ノードを描画手段１０５に描画させるというようにしてもよい。つまり、ノードに関連付けられた表示情報は、表示される子ノードのグループに関連付けられた属性に常に対応するものであってもよいし、子ノードが表示される際の初期設定としての情報として利用されるものであってもよい。また、初期設定としての表示情報と、表示される子ノードのグループに関連付けられた属性に常に対応する表示情報の二種類が生成手段１０２によってノードに関連付けられていてもよい。表示情報が初期設定としての情報ではなく、ノード５００の表示情報が「小」に変更された場合は、管理手段１０４は、第二の確定操作の後に、新たな第一の確定操作によってノード５００の子ノードが表示されるまでに、表示情報を「標準」に戻しておく必要がある。
【００５９】
図８は、図４の状態において、ノード５１０の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５１０の子ノードであるノード７０９〜７１２が表示され、ノード５１０に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７０９〜７１２と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５１０における文字の表示位置は、子ノードであるノード７０９〜７１２の文字と同列に扱われるような位置に移動している。さらに属性ノード（８０３，８０４）もノード５１０の子ノードとして表示されている。
【００６０】
図９は、図８の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置２００によってポインタ座標が移動し、属性ノード８０４の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。属性ノード８０４には属性「濁音」が関連付けられており、第一の確定操作の際に選択されたノード５１０の子ノードのうち、「濁音」を属性として持つグループに属するノード（７１３〜７１６）と、子ノードとして関連付けられている属性ノード（８０３，８０４）が表示されている状態が、図９に示されている状態である。図９においてノード５１０に表示されている文字「が」は、属性「濁音」を持つ属性ノードの領域内にポインタ座標があるため、図８の状態から管理手段１０４によって変化させられた状態を示している。この状態で、ノード５１０の領域内にポインタ座標がある時に検出手段１０１によって第二の確定操作が検出された場合は、管理手段１０４によって文字「が」が入力文字として確定される。また、図９の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０３の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図８と同様のノードが表示された状態であって、ノード５１０ではなく属性ノード８０３がハイライト表示されたような状態になる。このようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
【００６１】
図１０は、図４の状態において、ノード５５０の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５５０の子ノードであるノード７１７〜７２０が表示され、ノード５５０に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７１７〜７２０と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５５０における文字の表示位置は、子ノードであるノード７１７〜７２０の文字と同列に扱われるような位置に移動している。さらに属性ノード（８０５〜８０７）もノード５５０の子ノードとして表示されている。
【００６２】
図１１は、図１０や図１２の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置２００によってポインタ座標が移動し、属性ノード８０５の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。属性ノード８０５には属性「半濁音」が関連付けられており、第一の確定操作の際に選択されたノード５５０の子ノードのうち、「半濁音」を属性として持つグループに属するノード（７２１〜７２４）と、子ノードとして関連付けられている属性ノード（８０５〜８０７）が表示されている状態が、図１１に示されている状態である。図１１においてノード５５０に表示されている文字「ぱ」は、属性「半濁音」を持つ属性ノードの領域内にポインタ座標があるため、図１０の状態から管理手段１０４によって変化させられた状態を示している。この状態で、ノード５５０の領域内にポインタ座標がある時に検出手段１０１によって第二の確定操作が検出された場合は、管理手段１０４によって文字「ぱ」が入力文字として確定される。また、図１１の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０６の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図１０と同様のノードが表示された状態であって、ノード５５０ではなく属性ノード８０６がハイライト表示されたような状態になる。また、図１１の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０７の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図１２の状態になる。これらのようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
【００６３】
図１２は、図１０や図１１の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置２００によってポインタ座標が移動し、属性ノード８０７の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。属性ノード８０７には属性「濁音」が関連付けられており、第一の確定操作の際に選択されたノード５５０の子ノードのうち、「濁音」を属性として持つグループに属するノード（７２５〜７２８）と、子ノードとして関連付けられている属性ノード（８０５〜８０７）が表示されている状態が、図１２に示されている状態である。図１２においてノード５５０に表示されている文字「ば」は、属性「濁音」を持つ属性ノードの領域内にポインタ座標があるため、図１０の状態から管理手段１０４によって変化させられた状態を示している。この状態で、ノード５５０の領域内にポインタ座標がある時に検出手段１０１によって第二の確定操作が検出された場合は、管理手段１０４によって文字「ば」が入力文字として確定される。また、図１２の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０６の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図１０と同様のノードが表示された状態であって、ノード５５０ではなく属性ノード８０６がハイライト表示されたような状態になる。また、図１２の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、属性ノード８０５の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図１１の状態になる。これらのようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
【００６４】
図１３は、図４の状態において、ノード５５０の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５５０の子ノードであるノード（７１７〜７２０，７２９，７３０）が表示され、ノード５５０に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７１７〜７２０と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５５０における文字の表示位置は、子ノードであるノードのうちノード７１７〜７２０の文字と同列に扱われるような位置に移動している。ノード７２９とノード７３０はノード５５０にの近くに配置され、ノード５５０の文字「は」のバリエーション「ば」と「ぱ」であることを示している。図１３は、ノード７２９とノード７３０の配置はこの位置に限られるという意味ではなく、様々な配置のうちの一例を示すものである。この例の場合のノード５５０は例えば表５のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。表５では、領域はｘ座標とｙ座標と幅と高さによって生成できる矩形が関連付けられており、文字は「は」が関連付けられていることを示している。（矩形の情報として幅と高さだけを利用し、ノード自体にｘ座標とｙ座標の情報を関連付け、領域の情報が必要になった際にはノードのｘ座標とノードのｙ座標と矩形の情報の幅と高さを利用するということや、矩形の情報として左上の点の座標と右下の点の座標を利用するなど、他の方法で代替可能であることは当業者には明白である。）
【００６５】
【表５】
2011134313.tif 000007
【００６６】
図１４は、図１３の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置２００によってポインタ座標が移動し、ノード７１７の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。この例の場合のノード７１７は例えば表６のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。ノード７１７には子ノードとしてノード７３１とノード７３２が関連付けられている。図１４ではノード７３１とノード７３２はノード７１７にの近くに配置され、ノード７１７の文字「ひ」のバリエーション「ぴ」と「び」であることを示している。図１４は、ノード７３１とノード７３２の配置はこの位置に限られるという意味ではなく、様々な配置のうちの一例を示すものである。また、図１４の状態で、検出手段１０１がまだ第二の確定操作を検出していない時に、入力装置２００によってポインタ座標が移動し、ノード５５０の領域内にポインタ座標がある時に検出手段１０１によって座標が検出された場合には、図１３と同様の状態になり、このようなバリエーション表示の変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。バリエーション表示の変更の際には、選択されたノード以外のノードの子ノードのうち、さらに子ノードを持たないノードについては表示を消去しておくなど、他のノードのバリエーション表示を消去しておくとオペレータの理解を助けるが、必ずしも他のノードのバリエーション表示が不要なわけではなく、例えば、図１４においては「は行」「ぱ行」「ば行」の文字が全て画面に表示されるようにノードを配置することも可能である。
【００６７】
【表６】
2011134313.tif 000008
【００６８】
図１３と図１４で示したのは、属性ノードを利用しない場合に一連の操作で多くの選択肢を提供するための階層構造の一例である。本発明では、属性ノードを用いることや、図１３と図１４で示したような階層構造を用いることによって、従来の技術やシステムでは２つ以上の操作を組み合わせて入力していたような文字を、関連する文字や似た文字を簡単に呼び出せるというオペレータにとって直感的でありさらに一連である操作によって入力することを可能とするような文字入力装置、文字入力方法、及び文字入力プログラムの提供が可能となっている。図１４ではノード７１７が選択された際に領域が変形しない場合が示されているが、子ノードの領域は変形しないということではなく、第一の確定操作によって選択されるノード５５０と同様に、その子ノード７１７が一連の操作の途中で選択される際にも管理手段１０４によってノード７１７の領域が変形させられるということであっても良い。
【００６９】
図１５は、図４の状態において、ノード５７０の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５７０の子ノードであるノード７３３〜７３４が表示され、ノード５７０に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７３３〜７３４と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５７０における文字の表示位置は、図５のノード５００や図８のノード５１０や図１０のノード５５０の場合と同じような位置に移動している。さらに属性ノード（８０８，８０９）もノード５７０の子ノードとして表示されている。「や行」のように選択肢が３つの行においては子ノードの領域が大きくなっても良いということを示す例であって、「や行」は子ノードの領域を必ず大きくするべきであるという意味ではない。
【００７０】
図１６は、図４の状態において、ノード６００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード６００の子ノードであるノード７３５〜７３６が表示され、ノード６００に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７３５〜７３６と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード６００における文字の表示位置は、子ノードであるノード７３５〜７３６の文字と同列に扱われるような位置に移動している。「わ」「を」「ん」のように選択肢が３つの場合でも、子ノードは他の場合の子ノードと同じ大きさであっても良いということを示す例であって、「わ」「を」「ん」の場合の子ノードの領域の大きさを、図５〜図１２などの場合の（属性ノード以外の）子ノードの大きさと同じにするべきであるという意味ではない。選択肢が３つの場合は図１５のような配置であっても図１６のような配置であってもどちらでも可能であるということだが、これら以外の他の配置であっても構わない。
【００７１】
図１７は、画面３０１にノードが並べられて表示される際の一例を示す図である。図４における各ノードの領域を円に変えた以外は図４と同じ配置であり、図４に関する説明がそのまま当てはまる。
【００７２】
図１８は、図１７の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード５００の子ノードであるノード（７０１〜７０４,７３７〜７３９）が表示され、ノード５００に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード（７０１〜７０４,７３７〜７３９）と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード５００における文字の表示位置は、子ノードであるノード７０１〜７０４の文字と同列に扱われるような位置に移動している。図１８では、ノード５００は、パイメニューにおける他の選択肢と同じ面積を持つ領域に中心を含む領域を追加したような領域を持つノードとして、他の選択肢と同列でありながらも特別である選択肢として提供されることが示されている。（以下では、図１８におけるノード５００のような選択肢を持つパイメニューを、一般的なパイメニューと区別して「パイメニューに似た選択肢」と呼ぶことにする。）ノード７３７〜７３９は空白になっているが、ここには属性ノードや他の文字のためのノードを割り当てることが可能である。また、パイメニューに似た選択肢の外側にポインタ座標が移動した後に検出手段１０１によって第二の確定操作が検出された場合は、入力のキャンセルが行なわれる。画面３０１上の表示が図１８の状態において入力のキャンセルが行なわれると、図１７の状態になるように管理手段１０４が描画手段１０５に描画させる。管理手段１０４による入力文字の確定の際には、検出手段１０１によって第二の確定操作が検出される際に検出される座標の値が重要となるため、第二の確定操作の検出前に座標がどのように移動しても、それによってハイライト表示等が変化するだけで、最終的に確定される入力文字には影響しない。そのため、入力文字が確定する前にオペレータが確認可能であり、ストローク操作の軌跡によって入力文字を確定するシステムの操作と比較すると、オペレータにとっては直感的な操作となる。
【００７３】
図１９は、図１７の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。図１８では表示されていたノード７３７〜７３９に該当するノードのないものを生成することも可能であることを示している。
【００７４】
図２０は、図１７の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。ノード５００の領域の変形する方向や子ノード（７０１〜７０４,７３７〜７３９）の表示される位置が図１８とは異なっており、パイメニューに似た選択肢におけるノード５００の位置はどの位置でも良いということを示している。ただ、右利きのオペレータが右手でペンデバイスを操作する場合は、図１８のパイメニューに似た選択肢よりも図２０のパイメニューに似た選択肢のほうが、手で隠れるノードが少なくなり使いやすいものとなる。左利きのオペレータのためには、ノード５００が図２０におけるノード７０２の方向に変形し、図２０におけるノード７０３の位置にノード７０１が配置されて以下続くというような配置が使いやすいものになる。ノード７３７〜７３９は空白になっているが、ここには属性ノードや他の文字のためのノードを割り当てることが可能である。また、図１７におけるノードは円形であるが、このことによってパイメニューに似た選択肢を子ノードとして持つノードに関連付けられた領域は円形に限るということを意味しているのではなく、管理手段１０４は、図１８〜２０のようなパイメニューに似た選択肢を、図４の状態のノードを変形させることと子ノードの表示によって生成することも可能である。
【００７５】
図２１は、英数字と四則演算記号と機能を意味する文字を入力するためのノードの配置の一例である。第一の確定操作の際にノード６２３が選択された後の状態が図２２であり、第一の確定操作の際にノード６３０が選択された後の状態が図２３である。
【００７６】
図２２は、図２１の状態において、ノード６２３の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例から一部を抜き出したものである。ノード６２３の子ノードであるノード７４０〜７４３が表示され、ノード６２３に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７４０〜７４３と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード６２３における文字の表示位置は、子ノードであるノード７４０〜７４３の文字と同列に扱われるような位置に移動している。図２２には示されていないが、この他に小文字やウムラウト、アクサンテギュを示すような属性ノードがノード６２３の子ノードとして関連付けられていても良い。
【００７７】
図２３は、図２１の状態において、ノード６３０の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。ノード６３０の子ノードであるノード７４４〜７５３が表示され、ノード６３０に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード７５０〜７５３と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード６３０における文字の表示位置は、子ノードであるノード７５０〜７５３の文字と同列に扱われるような位置に移動している。図２３は、ノードに割り当てられた文字を入力するための選択肢ではなく、機能を意味する文字が表示されたノードのグループである。それぞれ、ノード７４７はタブキー、ノード７４９はデリートキー、ノード７５０はシフトキー、ノード７５１はコントロールキー、ノード７５２はＡＬＴキー、ノード６３０はスペースキー、ノード７５３はリターンキーのように、割り当てられている。図２３において空白のノード（７４４〜７４６,７４８）には、他の機能を意味する文字の関連付けられたノードや属性ノードを割り当てることも可能である。
【００７８】
図２４は、図４や図１７の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。ノードの配置は図２０と同じであるが、それぞれのノードには、生成手段１０２によって表示用と判定用の二種類の領域が関連付けられている。図２４において、実線による円で示される領域が表示用の領域であり、点線で示されるパイメニューに似た選択肢を構成する領域が判定用の領域である。図２４で示したのは、表示用と判定用の二種類の領域が異なる場合の一例であって、表示用と判定用の二種類の領域が異なる場合は必ずこのようになるというわけではない。例えば、表示用の領域として、円のかわりに四角や星型やその他の形の領域が用いられたり、判定用の領域として、パイメニューに似た選択肢をさらに外側へ大きく広げたものや、矩形やその他の形の領域を組み合わせたものが用いられたりしてもよい。他の選択肢と同列でありながらも特別である選択肢となるように拡張された領域の関連付けられたノードが存在すること（生成手段１０２によって生成されたり、管理手段１０４によって変形させられたりすること）が本発明の特徴であるが、図２４のように、特別な選択肢としてのノードに関連付けられた領域のうち判定用の領域のみが特別に拡張されたものであってもよい。図２４において点線で示される領域は、検出手段１０１によって第二の確定操作が検出された時に、検出された座標が領域に含まれるかどうかを判定手段１０３によって判定する際の、判定対象となる領域として利用される。また生成手段１０２は、表示用と判定用の二種類の領域だけではなく、さらに画面効果用の領域など他の用途に用いられるための領域をノードに関連付けることもある。例えば、どのノードをハイライト表示させるかの判定に利用される画面効果用の領域として、図２４には示されていないが、中心の領域が利用されないような、一般的なパイメニューと同じような領域（ノード５００に関連付けられる領域が、ノード７０１〜７０４やノード７３７〜７３９に関連付けられた領域と同じ面積になるような領域となる）が用いられてもよいため、図２４におけるノード５００に関連付けられた文字が入力として確定するような場合であっても、（パイメニューに似た選択肢の中心に近い位置で第二の確定操作が検出された場合などに）ノード５００がハイライト表示されない場合がありうる。
【００７９】
図２５と図２６は本発明の処理のフローチャートである。図２５のフローチャートに処理が移るよりも前に、生成ステップが実行済みであり、図４や図１７や図２１などのように各ノードが描画手段１０５によって画面３０１上に描画されているものとする。大きな流れとして、図２５と図２６の両方における「終了」の後に図２５のフローチャートにおける「開始」に処理が移るという流れがあり、そのための矢印は図では省略されている。フローチャート全体の流れを管理するのが管理ステップであり、その管理ステップを実行するのが管理手段１０４である。以下のフローチャートの説明において主語が不明な文においては、管理手段１０４がその主語である。ステップＳ１では検出手段１０１によって何らかの操作が検出されるまで待ち、何らかの操作が検出されるとステップＳ２に処理が移る。ステップＳ１で検出された操作が第一の確定操作であるかどうかステップＳ２で調べ、第一の確定操作である場合にはステップＳ３へ進む。ここで、管理手段１０４は必要に応じて第一の確定操作があったということをコンピュータ１００の備える記憶手段等に記憶しておく。
【００８０】
ステップＳ３では第一の確定操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップＳ４へと進むがそうではない場合は終了してフローチャートの「開始」へ戻る。有効なノード内の操作であるかどうかは、管理手段１０４が画面３０１上に表示されておりかつ有効なノード全てについて、ノードの持つ領域（又はその領域に基いて拡張された領域）とステップＳ１で検出された第一の確定操作に関する座標について判定手段１０３に判定させることによって調べ、ノードの持つ領域に重なりがある場合はその順序に従って（オペレータにとって、手前から奥へという順序で）調べ、最初に判定手段１０３が「座標が領域に含まれる」と判定したノード（対象となる座標を含む領域を持つノードが複数ある、つまり重なりがある場合は、その中で一番上のノードに相当）が、ステップＳ４で管理手段１０４によって選択される。ノードが有効フラグの付与されたノードである場合は、管理手段１０４は、有効フラグがオフであるノードに関して判定手段１０３による判定を行なわない。ステップＳ４で管理手段１０４がノードを選択する際には、どのノードが選択されたのかを必要に応じてコンピュータ１００の備える記憶手段等に記憶しておく。また、オペレータの理解を助けるために、選択されたノードをハイライト表示するなど強調するための処理あるいはその準備をステップＳ４の前後で行なう。そして、画面３０１上に表示されているノードのうち選択されたノード以外のノードの有効フラグをオフにする場合は、ステップＳ４で行なっておく。
【００８１】
ステップＳ５では、管理手段１０４は、ステップＳ４で選択されたノードが子ノードを持つかどうか調べ、子ノードを持つ場合はステップＳ６へと進むがそうではない場合は終了してフローチャートの「開始」へ戻る。ステップＳ６の子ノード表示処理では、ステップＳ４で選択されたノードの子ノードを描画手段１０５によって画面３０１上へ描画することによる表示を行なうと共に、管理手段１０４は、ステップＳ４で選択されたノードの領域を変形させる処理を行なう。表示されるノードに有効フラグが付与されている場合は、ステップＳ６でそれらのノードの有効フラグをオンにする。ステップＳ６でこれらの処理が実行された際の画面３０１上の表示の例が図５、図６、図８、図１０、図１３、図１５、図１６、図１８であり、これらの処理を実行した際の画面３０１上の表示の一部を取り出したものの例が図１９、図２０、図２２、図２３である。ステップＳ６の処理が実行された後は終了してフローチャートの「開始」へ戻る。
【００８２】
ステップＳ１で検出された操作が第一の確定操作かどうかを、ステップＳ２で調べた結果、第一の確定操作ではなかった場合はステップＳ７に処理が移る。ステップＳ１で検出された操作が第二の確定操作であるかどうかを、「第一の確定操作があった」ということがコンピュータ１００の備える記憶手段等に記憶されているか調べることや第二の確定操作と設定されている操作との比較などによって、ステップＳ７で調べ、第二の確定操作である場合にはステップＳ８へ進む。ステップＳ８では第二の確定操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップＳ９へと進むがそうではない場合はステップＳ１０へと進む。ステップＳ８の後にステップＳ９ではなくステップＳ１０へと処理が進む場合は、入力のキャンセルが行なわれることになる。有効なノード内の操作であるかどうかはステップＳ３と同様の処理によって調べられ、有効なノード内の操作であると判定された場合はその対象となるノードに関連付けられた文字が、ステップＳ９で管理手段１０４によって入力文字として確定される。ノードが有効フラグの付与されたノードである場合は、管理手段１０４は、有効フラグがオフであるノードに関して判定手段１０３による判定をステップＳ８で行なわない。また、オペレータの理解を助けるために、第二の確定操作の際に選択されたノードをハイライト表示するなど強調するための処理あるいはその準備をステップＳ９の前後で行なう。ステップＳ１０のノード表示初期化処理では、ノードのハイライト表示などを無効にし、図４や図１７や図２１のような状態になるように描画手段１０５によってノードを画面３０１上に描画する。その際、不要な子ノードの表示が消され、画面３０１上に表示されないようにされる。管理手段１０４によって領域が変形させられているノードがあれば、そのノードに関連付けられた領域は元に戻される。そして表示されるノードに有効フラグが付与されている場合は、ステップＳ１０でそれらのノードの有効フラグをオンにする。また、ステップＳ２で「第一の確定操作があった」ということをコンピュータ１００の備える記憶手段等に記憶させていた場合は、その記憶を消去する。これらの処理が実行された後は終了してフローチャートの「開始」へ戻る。
【００８３】
ステップＳ１で検出された操作が第二の確定操作かどうかを、ステップＳ７で調べた結果、第二の確定操作ではなかった場合は図２６のステップＳ１１に処理が移る。ステップＳ１１では、ステップＳ１で検出された操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップＳ１２へと進むが、そうではない場合は終了して図２５のフローチャートの「開始」へ戻る。有効なノード内の操作であるかどうかはステップＳ３と同様の処理によって調べられる。ステップＳ１２では、操作が第一の確定操作の後かどうかを調べるが、ステップＳ２で「第一の確定操作があった」ということをコンピュータ１００の備える記憶手段等に記憶させている場合は該当する記憶が存在するかどうか、そうではない場合はフラグ等の別の手段によって判定する。操作が第一の確定操作の後である場合はステップＳ１３へと進むがそうではない場合は終了して図２５のフローチャートの「開始」へ戻る。
【００８４】
ステップＳ１３では、ステップＳ１１で有効なノード内の操作であると判定された対象であるノードが属性ノードであるかどうかを調べ、属性ノードである場合はステップＳ１４へと進むがそうではない場合はステップＳ１５へ進む。ステップＳ１４のグループ変更処理では、ステップＳ４で選択されたノードが、ステップＳ１３で属性ノードであると判定されたノードに関連付けられた属性と同じ属性を持つグループによって関連付けられた子ノードを持つ場合には、ステップＳ４で選択されたノードの子ノードのうち、当該グループによって関連付けられている子ノードを描画手段１０５によって画面３０１上に描画する。表示されるノードに有効フラグが付与されている場合は、ステップＳ１４でそれらのノードの有効フラグをオンにする。そして、ステップＳ４で選択されたノードの領域内に表示される文字を、当該グループ又は当該グループの持つ属性に関連付けられた文字に変更する。このとき、ステップＳ４で選択されたノードの子ノードのうち、当該グループとは別のグループによって関連付けられている子ノードがそれまでに画面３０１上に表示されていたのであれば必要に応じてそれらの表示を消去する。また、オペレータの理解を助けるために、ステップＳ１１で有効なノード内の操作であると判定された対象であるノードをハイライト表示するなど強調するための処理あるいはその準備をステップＳ１４の前後又はステップＳ１１の直後に行なう。ステップＳ１４でこれらの処理が実行された際の画面３０１上の表示の例が図７、図９、図１１、図１２である。
【００８５】
ステップＳ１５では、ステップＳ１１で有効なノード内の操作であると判定された対象であるノードが子ノードを持つどうか調べ、子ノードを持つ場合はステップＳ１６へと進むがそうではない場合は終了して図２５のフローチャートの「開始」へ戻る。ステップＳ１６の子ノード表示処理では、ステップＳ１１で有効なノード内の操作であると判定された対象であるノードの子ノードを描画手段１０５によって画面３０１上へ描画する。表示されるノードに有効フラグが付与されている場合は、ステップＳ１６でそれらのノードの有効フラグをオンにする。また、オペレータの理解を助けるために、ステップＳ１１で有効なノード内の操作であると判定された対象であるノードをハイライト表示するなど強調するための処理あるいはその準備をステップＳ１６の前後又はステップＳ１１の直後に行なう。ステップＳ１６でこれらの処理が実行された際の画面３０１上の表示の例が図１４である。ノード７１７がステップＳ１１で有効なノード内の操作であると判定された対象であるノードであり、ステップＳ１６で表示された子ノードがノード７３１とノード７３２である。
【００８６】
図２６に示したフローチャートでは、ステップＳ１３とステップＳ１５の両方が含まれているが、必要に応じてステップＳ１３かステップＳ１５のどちらか一方を省略してもよい。図１０〜図１２のように、属性ノードが含まれており、図４に示されたノードの子ノードにさらに子ノードが関連付けられていないような場合は、ステップＳ１３における判定がＮＯだった場合には（ステップＳ１５による判定は常にＮＯであるため、ステップＳ１５を省略して）終了して図２５のフローチャートの「開始」へ戻るとしてもよい。また図１３〜図１４のように、属性ノードが含まれておらず、図４に示されたノードの子ノードにさらに子ノードが関連付けられているような場合は、ステップＳ１２における判定がＹＥＳだった場合には（ステップＳ１３による判定は常にＮＯであるため、ステップＳ１３を省略して）ステップＳ１５へ処理が移るようにしてもよい。
【実施例２】
【００８７】
図２７と図２８は、変形ノードの一例を示す図である。ノード７００は領域７５４と文字５０２が関連付けられており、実施例１の図５や図６や図１８や図１９におけるノード５００のように領域を変形させずに、領域の変形させられたノードと同じような効果を提供するための変形ノードとして、ノード５００の子ノードとして関連付けられる。変形ノードは、第一の確定操作の際に選択されたノードに関連付けられた領域に重なる領域と他の子ノードと同列に扱うことのできる領域の両方を含むような領域の関連付けられたノードであり、実施例１のように第一の確定操作の際に選択されたノードに関連付けられた領域を変形させずに、実施例１における領域の変形させられたノードと同じような効果（他の選択肢と同列でありながらも特別である選択肢）を提供するためのノードとして、生成手段１０２によって生成され、子ノードとして他のノードに関連付けられる。例えば図２７のノード７００の場合は、実施例１の図５や図６において領域が変形させられたノード５００と同じ位置に表示されるような領域７５４が関連付けられており、図５や図６におけるノード５００と同じ役割（他の選択肢と同列でありながらも特別である選択肢という役割）を担うノードとして、ノード５００の子ノードとして関連付けられている。図２８のノード７００の場合は、実施例１の図１８や図１９において領域が変形させられたノード５００と同じ位置に表示されるような領域７５４が関連付けられており、図１８や図１９におけるノード５００と同じ役割を担うノードとして、ノード５００の子ノードとして関連付けられている。
【００８８】
実施例２において、実施例１の図５におけるノード５００のかわりに図２７のノード７００が用いられる場合のノード５００は、例えば表７のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。ノード７００は、図２５のステップＳ６で他の子ノードと共に表示されるため、変形ノード７００のために、実施例１のフローチャートに新たな処理を追加する必要はない。
【００８９】
【表７】
2011134313.tif 000009
【００９０】
実施例２において、実施例１の図６におけるノード５００のかわりに図２７のノード７００が用いられる場合のノード５００は、例えば表８のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。表８における表示情報とは、どの属性を持つグループが表示されるのかを示すための情報である。表８においてノード５００の子ノードとして関連付けられているグループ９０１は例えば表９のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。グループ９０１に属するノード（７００〜７０４）と、グループ９０２に属するノード（７０５〜７０８と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード）は、ノード５００の子ノードとして管理手段１０４に扱われる。ここで、小さな「あ」である文字「ぁ」の関連付けられた変形ノードとは、図２７や図２８における領域７５４と同じような領域の関連付けられた変形ノードのことである。表８では子ノードそのものではなくそれらの属するグループ（９０１，９０２）が関連付けてられているが、子ノードそのもの（７００〜７０８と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード）がノード５００に関連付けられていてもよい。表８における実施例１の表２との違いは文字として文字５０２だけが関連付けられていることで、実施例１のようにノード５００に関連付けられた領域が変形されたりノード５００の一部として表示される文字が変更されたりするのではなく、実施例２では子ノードである変形ノード７００が利用されるための違いである。表９における実施例１の表３との違いは文字の欄がないこととノードの欄に変形ノード７００が加わったことで、実施例１のようにノード５００の一部として表示される文字が変更されるのではなく、実施例２では表示されるグループの変更によって表示される子ノードが変更され、その際に表示の変更される子ノードに変形ノードが含まれるための違いである。
【００９１】
【表８】
2011134313.tif 000010
【００９２】
【表９】
2011134313.tif 000011
【００９３】
図２７と図２８に示された変形ノード７００は、例えば表１０のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。ノードの生成に必要な情報は他のノードと変わらず、どのような領域が関連付けられるかが、そのノードが変形ノードであるかどうかを決めることになる。
【００９４】
【表１０】
2011134313.tif 000012
【００９５】
図２９は、実施例２において、実施例１の図１３におけるノード５５０のかわりに変形ノード７５５が用いられた場合に、描画手段１０５が描画を行なった後の画面３０１上の表示の一例である。この場合のノード５５０は、例えば表１１のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。ノード５５０の子ノードとして関連付けられている変形ノード７５５は、例えば表１２のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。図２９においては、ノード７５５に関連付けられた領域が、実施例１の図１３におけるノード５５０に関連付けられた領域と同じであり、図２９におけるノード５５０は実施例１の図４におけるノード５５０から領域が変形させられていないため、ノード５５０はノード７５５によって隠されており画面３０１上には表示されていない。
【００９６】
【表１１】
2011134313.tif 000013
【００９７】
【表１２】
2011134313.tif 000014
【実施例３】
【００９８】
図３０は、図４や図１７の状態において、ノード５００の領域内にポインタ座標がある時に検出手段１０１によって第一の確定操作が検出された際に、管理手段１０４によって描画手段１０５が描画を行なった後の画面３０１上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。属性ノード８１０が実施例１や実施例２との違いとなる。実施例３においては、一つの属性ノードに複数の属性が関連付けられているため、図３０のように属性ノードが一つしか関連付けられていなくても、実施例１の図６や図７におけるノード（５００、７０１〜７０８、８０１、８０２）による選択肢の場合に近い効果が提供される。図３０のような子ノードの関連付けられたノード５００は、例えば表１３のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。この例では変形ノード７００を利用しているため文字には文字５０２だけが関連付けられており、子ノードには属性ノード８１０とグループ９０１〜９０２に属するノードが関連付けられている。グループ９０１は実施例２の表９と同様の情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。グループ９０２に属するノードも、実施例２と同様に５つのノード（７０５〜７０８と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード）となる。（図３０において、変形ノード７００を用いずに、ノード５００に関連付けられた領域を変形させる場合は、ノード５００には文字として文字５０２の他に文字５０４も関連付けられ、グループ９０１は実施例１の表３と同様の情報として生成され、グループ９０２は実施例１の表４と同様の情報として生成される。）
【００９９】
【表１３】
2011134313.tif 000015
【０１００】
図３１は、図３０の属性ノード８１０だけを抜き出したものである。属性ノード８１０には領域７５６が関連付けられており、例えば表１４のような情報として生成手段１０２によって生成され、管理手段１０４によって管理されている。実施例３の属性ノードと実施例１や実施例２の属性ノードとの違いは、属性が一つだけ関連付けられているのではなく、表１４における属性リストの欄に示されるように複数の属性が関連付けられていることである。また、複数の属性が関連付けられていることから、表１４における現在の属性の欄のような情報が関連づけられている。表１４に示された現在の属性は、ノード５００に関連付けられた表示情報が「子ノードが表示される際の初期設定としての情報として利用されるもの」である場合に、ノード５００の子ノードのうち表示される子ノードのグループに関連付けられた属性に常に対応するものとして機能する情報である。ノード５００に関連付けられた表示情報が「表示される子ノードのグループに関連付けられた属性に常に対応するもの」である場合には、表１４から現在の属性の欄を消去したような情報として生成手段１０２によって生成されるということでも構わない。図３０と図３１では属性ノード８１０の領域内に描画される情報として文字「属性」が利用されているが、描画される情報には文字「属性」を利用するべきであるということではなく、他の言葉やアイコン等の絵による表現などが利用可能である。また、実施例３における属性ノードに関連付けられる領域は７５６のように大きなものに限るというわけではなく、図３０におけるノード７０１〜７０４と同じ面積を持つような大きさのものであってもよいし、その他の大きさであってもよい。
【０１０１】
【表１４】
2011134313.tif 000016
【０１０２】
実施例３においても、実施例１や実施例２と同様に検出手段による検出が行なわれる。すなわち、検出手段に検出される確定操作がクリック操作であった場合は、最初のクリック操作を第一の確定操作として検出し、属性ノードに関連付けられた領域以外の場所でのクリック操作を第二の確定操作として検出するように設定することも可能であり、その場合は、属性ノードに関連付けられた領域におけるクリック操作は第二の確定操作として検出されないため、オペレータは第一の確定操作の後に属性ノードをクリックすることによって表示される子ノードのグループを変更することが可能となる。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合にも同様に、第一の確定操作後のクリック操作は第二の確定操作として検出されないため、オペレータは、第一の確定操作後の属性ノードにおけるクリック操作によって表示されるグループの変更を行なうことが可能である。また、ストロークの開始点と終了点のそれぞれを第一の確定操作と第二の確定操作として設定した場合は、ストローク中に変化する座標が検出手段によって検出され、ストロークが属性ノードに関連付けられた領域にさしかかった場合（ストロークが属性ノードに関連付けられた領域に入った場合）には表示されるグループの変更が管理手段によって行なわれる。これらの属性ノードを利用したグループ変更は、第二の確定操作が検出されるまでは何回でも可能であるため、オペレータは所望の文字を探しながら、しかし一連である操作によって入力文字を確定することが可能となる。
【０１０３】
ただし、実施例３においては、属性ノードを利用したグループ変更の際に、「属性ノードに関連付けられた属性」として表１４における属性リストの欄における属性を順番に利用することになる。属性ノード８１０に関連付けられた現在の属性（又はノード５００に関連付けられた表示情報）と、属性ノード８１０に関連付けられた属性リストから、「属性ノードに関連付けられた属性」として利用される属性が決定される。例えば表１４のような状態であれば、管理手段１０４は、現在の属性が「標準」であるため、属性リストにおいて「標準」の次に関連付けられた「小」を「属性ノードに関連付けられた属性」として利用し、現在の属性を「小」に変更する。ノード８１０に関連付けられた現在の属性が「小」である場合には、管理手段１０４は、属性リストにおいて「小」が最後であるためリストの最初に戻って「標準」を「属性ノードに関連付けられた属性」として利用し、現在の属性を「標準」に変更する。（ノード５００に関連付けられた表示情報が「表示される子ノードのグループに関連付けられた属性に常に対応するもの」である場合には、管理手段１０４は、ノード８１０に関連付けられた現在の属性ではなく、ノード５００に関連付けられた表示情報を参照し、ノード５００に関連付けられた表示情報を変更する。）属性ノードに関連付けられる属性リストが３つ以上の属性の関連付けられたものであっても、同様にリストの順に従って「属性ノードに関連付けられた属性」として利用される。例えば、「標準、濁音、半濁音」の３つの属性が関連付けられていた場合は、「標準」の次に「濁音」が利用され、「濁音」の次に「半濁音」が利用され、「半濁音」の次にはリストの最初に戻って「標準」が利用されるということが繰り返される。
【０１０４】
本発明を、その具体的な実施例を参照して具体的に示し、説明してきたが、当業者には明白であるように、特許請求の範囲に含まれる本発明の精神および範囲から離れることなく、形および詳細にさまざまな変更、修飾、変形、あるいは応用を行なうことが可能であり、それらは請求の範囲によってのみ制限される本発明に含まれるとみなされる。
【産業上の利用可能性】
【０１０５】
本発明は、階層構造によって管理された選択肢からの選択によって文字を入力する文字入力装置、文字入力方法、及び文字入力プログラムであるため、入力装置に一般的なキーボードのように多くのスペースを割けないような機器において特に有効なものとなる。例えばペン入力やタッチパネル等のポインティングデバイスを備えたＰＤＡや携帯電話又はリモコンの他に、ポインティングデバイス操作の代わりにテンキー操作やダイアル操作を用いることによってペン入力が可能ではないＰＤＡや携帯電話及びリモコンにおける文字入力にも応用可能である。また、利用する面積が狭くて良いことと、クリック操作に一回の確定操作を割りあてることも可能であることから、オペレータの利用できる身体機能が限定された状況にける利用においても有効である。その他、タッチパネル等を備えたＡＴＭや図書館端末における文字入力にも利用可能である。
【符号の説明】
【０１０６】
１００    コンピュータ
１０１    検出手段
１０２    生成手段
１０３    判定手段
１０４    管理手段
１０５    描画手段
２００    入力装置
２０１    ポインティングデバイス
３００    ディスプレイ装置
３０１    画面
４００    文字入力装置
５０１、７５４、７５６    領域
５０２〜５０４    文字
５００、５１０、５２０、５３０、５４０、５５０、５６０、５７０、５８０、５９０、６００、６１０、６２０〜６３１、７００〜７５３、７５５、８０１〜８１０    ノード
７００、７５５    変形ノード
７００〜７５３、７５５    子ノード
８０１〜８１０    属性ノード
９０１、９０２    グループ
【図１】
2011134313.tif 000017
【図２】
2011134313.tif 000018
【図３】
2011134313.tif 000019
【図４】
2011134313.tif 000020
【図５】
2011134313.tif 000021
【図６】
2011134313.tif 000022
【図７】
2011134313.tif 000023
【図８】
2011134313.tif 000024
【図９】
2011134313.tif 000025
【図１０】
2011134313.tif 000026
【図１１】
2011134313.tif 000027
【図１２】
2011134313.tif 000028
【図１３】
2011134313.tif 000029
【図１４】
2011134313.tif 000030
【図１５】
2011134313.tif 000031
【図１６】
2011134313.tif 000032
【図１７】
2011134313.tif 000033
【図１８】
2011134313.tif 000034
【図１９】
2011134313.tif 000035
【図２０】
2011134313.tif 000036
【図２１】
2011134313.tif 000037
【図２２】
2011134313.tif 000038
【図２３】
2011134313.tif 000039
【図２４】
2011134313.tif 000040
【図２５】
2011134313.tif 000041
【図２６】
2011134313.tif 000042
【図２７】
2011134313.tif 000043
【図２８】
2011134313.tif 000044
【図２９】
2011134313.tif 000045
【図３０】
2011134313.tif 000046
【図３１】
2011134313.tif 000047