JP5710944B2 - 文字入力装置、文字入力方法、及び文字入力プログラム - Google Patents

文字入力装置、文字入力方法、及び文字入力プログラム Download PDF

Info

Publication number
JP5710944B2
JP5710944B2 JP2010261861A JP2010261861A JP5710944B2 JP 5710944 B2 JP5710944 B2 JP 5710944B2 JP 2010261861 A JP2010261861 A JP 2010261861A JP 2010261861 A JP2010261861 A JP 2010261861A JP 5710944 B2 JP5710944 B2 JP 5710944B2
Authority
JP
Japan
Prior art keywords
node
attribute
child
area
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010261861A
Other languages
English (en)
Other versions
JP2011134313A (ja
Inventor
博章 出口
博章 出口
Original Assignee
博章 出口
博章 出口
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 博章 出口, 博章 出口 filed Critical 博章 出口
Priority to JP2010261861A priority Critical patent/JP5710944B2/ja
Publication of JP2011134313A publication Critical patent/JP2011134313A/ja
Application granted granted Critical
Publication of JP5710944B2 publication Critical patent/JP5710944B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、ポインティングデバイス等入力装置の操作で領域を選択することによって文字の入力を行なう文字入力装置、文字入力方法、及び文字入力プログラムに関する。
従来の文字入力装置や文字入力方法又は文字入力プログラムのうちポインティングデバイス等入力装置の操作によって文字の入力を行なうものでは、ソフトウェア・キーボードのように領域を画面上に並べ、その領域をオペレータがポインティングデバイスを用いて選択することで文字の入力を行なうものと、パイメニューのようにドーナツ型の領域を区切ったものを目安として利用してオペレータによって入力されたストローク情報によって入力文字を決定するものなどが広く知られている。
ソフトウェア・キーボードの場合、キーボード装置のキー配列と同じキー配置となるように領域を並べることが一般的であるが、選択肢が多すぎることなどが原因で、オペレータにとっては決して使いやすいものではないということが、従来から広く一般に認識されている。1994年にはT−Cube(非特許文献1)が提案されているが、このシステムは入力用に画面上に用意される選択肢の数を減少させることに成功している。T−Cubeの実施形態の一つにおいては、画面上に表示された9個の領域のそれぞれに8分割されたパイメニューが割り当てられており、ポインティングデバイス操作によって9個の領域のうちの一つからストローク操作が開始された後にその領域に割り当てられたパイメニューが表示されるようになっている。8分割されたパイメニューが9個利用可能であることから、1ストロークで入力可能な72種類の文字が用意されていることになる。
また、携帯電話等で一般的に利用されているテンキー配列のキーボードを利用したもの(非特許文献2)が提案されており、その実施形態の一つとしてテンキー配列のソフトウェア・キーボードを利用したものが開示されている。当該システムにおいてはパイメニューは表示されないが、テンキー配列に並べられた領域のうちの一つから開始されたストロークの開始位置と方向によって入力文字を決定しており、T−Cubeの方法を発展させたものとなっている。T−Cubeとの違いは、ストローク操作だけではなくタップ操作を行なった場合に別の入力文字が確定されるところにある。例えば、テンキーの「1」を表わす領域からストロークを開始して右斜め下へストロークを続けた場合の入力文字には「V」の文字が割り当てられており、テンキーの「1」を表わす領域でタップ操作を行なった場合の入力文字には「A」の文字が割り当てられている。
特許文献1の実施例では非特許文献1のT−Cubeと同様の操作によってひらがなを入力する装置が開示されており、T−Cubeと同様の操作に加えて、タップ操作によって「ん」や「っ」を入力することが可能とはなっているが、例えば「あ」を入力するためにストロークを開始する場所と同じ場所でタップ操作をした場合に入力キャンセルとなり、「か」を入力するためにストロークを開始する場所と同じ場所でタップ操作をした場合に「っ」が入力されるなど、ある位置から開始したストローク操作によって確定する文字とその同じ位置でのタップ操作によって確定する文字との関連がオペレータにとって直感的ではないという問題点がある。また、例えば「は行」と「ば行」と「ぱ行」の文字入力を行なう場合、それぞれ別の場所からストロークを開始しなければならないようになっている。
特許文献2の第1実施例では非特許文献2のシステムと同様の操作によってひらがなを入力する装置が開示されており、非特許文献2のシステムと同様の操作に加えて、ストロークの開始点からある範囲内で終了したストローク操作によって確定する文字とタップ操作によって確定する文字が同じになるように割り当てられているものの、オペレータがストロークを開始した後に文字の入力をキャンセルする手段が提供されていないという問題点がある。また、例えば「ば行」と「ぱ行」の文字入力を行なう場合では、まず「は行」の文字を入力してから文字入力補助キーを用いて「ば行」や「ぱ行」の文字に変換するというように2つの操作を組み合わせて行なう必要がある。
特開平8−272787号公報 特開2000−112636号公報
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.
従来の一般的なソフトウェア・キーボードは選択肢が多すぎて使いにくいという問題点があった。また、画面上に表示される選択肢が少ないシステムであるT−Cube(非特許文献1)においてはパイメニューの表示でフィードバックを返すものの、パイメニューの中心の領域が有効に利用されておらず、全ての選択肢が同列に扱われてしまっているという問題点があった。特許文献1で開示されている技術や非特許文献2のシステムにおいてはストローク操作以外にタップ操作が利用されているものの、ストローク操作による入力とタップ操作による入力という別の入力方法を組み合わせたものであるため、入力文字の確定操作がオペレータにとっては直感的ではないという問題点があった。特許文献2で開示されている技術では、ある範囲のストローク操作の終了点が開始点の含まれる領域と同じ領域に含まれれば「あ段」の文字とすることが可能ではあるものの、「あ段」の文字を入力するための操作(あるいは操作対象)は、「あ段」以外の段の文字を入力するための操作(あるいは操作対象)と同列な選択肢としての性質は持たないため、オペレータにとっては直感的ではないという問題点があった。またこれらの先行技術やシステムでは、ひらがなだけに限って考えても、2つ以上の操作の組み合わせによって入力しなければならない文字が存在するという問題点もあった。
上記のような従来の問題点に鑑み、本発明は、同列でありながら特別でもある選択肢を用意することによって、一度に表示される選択肢の数を減少させ、かつオペレータが直感的に文字入力を行なうことを容易にするための文字入力装置、文字入力方法、及び文字入力プログラムを提供することを目的とする。
本発明の他の一つの目的は、選択肢を属性によってグループ分けし、グループを切り替えることによって、一連の操作によって入力可能な文字を増加させることが可能となる文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
本発明の他の一つの目的は、操作の対象となる選択肢を状況に応じて変化させることの可能な文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
本発明の他の一つの目的は、同列でありながら特別でもある選択肢を別の方法で提供する文字入力装置、文字入力方法、及び文字入力プログラムを提供することにある。
本発明によって、ポインティングデバイス201を含む入力装置200とディスプレイ装置300とを備える文字入力装置400において、前記文字入力装置は、前記入力装置によって得られる情報から座標と確定操作とを検出する検出手段101と、座標が領域に含まれるかどうかを判定する判定手段103と、領域と文字の関連付けられたノードを生成する生成手段102と、前記ノードを管理する管理手段104と、領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画手段105とを備え、前記生成手段は、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることができ、前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、さらに当該ノードに関連付けられた領域を、前記検出手段が第一の確定操作を検出した際に検出された座標と、当該ノードに関連付けられた子ノードに関連付けられた領域と合同である領域の、両方を含む領域に変形させて前記描画手段によって描画し、前記管理手段は、前記検出手段が第二の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力装置が提供される。
上記のような文字入力装置では、生成手段はノードを生成する際に子ノードとして他のノードを一つ以上関連付けることができるが、子ノードの関連付けられていないノードを生成することも可能である。第一の確定操作の際に選択された選択肢であるノードが子ノードを持つ場合は、管理手段は、描画手段によって子ノードを描画すると共に、選択されたノードの領域を変形して描画手段によって描画するが、このことによって第一の確定操作の際に選択されたノードを子ノードと同列でありながら特別でもある選択肢とすることが可能となる。(ここで「第一の確定操作の際に選択された」とは、検出手段が第一の確定操作を検出した際に、検出手段の検出した座標を含むと判定手段が判定するような領域の関連付けられたノードが管理手段によって選択された、ということを省略して表現しているものであり、以下同様である。)そして、第二の確定操作によって選択されたノードに関連付けられた文字が入力文字として確定するが、その際に選択されうるノードは第一の確定操作の際に選択されたノードの子ノードを含むものであり、ノードの親子関係によって階層的に選択肢が提供されるため、一度に画面に表示されるノードの数を少なく抑えることが可能となる。第二の確定操作によって選択されるようなノードが存在しない場合、すなわち検出手段が第二の確定操作を検出した際に検出手段の検出した座標を含むと判定手段が判定するような領域の関連付けられたノードが存在しない場合は入力キャンセルとなるため、オペレータは操作の途中のいつでも入力操作をキャンセルすることが可能になる。ここで、検出手段に検出される確定操作はポインティングデバイスのボタンが押された時や離された時、またクリック操作された時などであり、それらの操作のうちのいずれを確定操作として利用するのかは検出手段又は管理手段によって管理されている。ペンデバイスの場合は、ペンの触れた時や離れた時、またタップ操作された時などが該当する。タッチパネルの場合は、指の触れた時や離れた時、またタップ操作された時などが該当する。
この場合、一回のクリック操作におけるボタンが押される操作とボタンが離される操作のそれぞれを確定操作として検出し、オペレータが一回のクリック操作を行なった場合に二回の確定操作を検出するように設定することも可能であるし、一回のクリック操作を一回の確定操作として検出するように設定することも可能である。タップ操作に関しても同様に、ペンや指の触れた時と離れた時のそれぞれを別の確定操作として検出するのか、あるいは触れることと離れることの組み合わせを確定操作として検出するのか、それらのうちのどちらにも設定可能である。また、ドラッグ操作やスライド操作やフリック操作における開始点と終了点のそれぞれで確定操作が行なわれたと検出するように設定することによって、一回のドラッグ操作やスライド操作やフリック操作を二回の確定操作として検出するようにも設定可能である。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合には、第一の確定操作に続く(ダブルクリック操作ではない)クリック操作は新たに第一の確定操作として検出される。また、入力装置がマルチタッチを利用可能な場合は、一本目の指やペンが最初に接触した際に第一の確定操作であると検出して一本目の指やペンによって得られる座標を第一の確定操作に関する座標であると検出し、一本目の指やペンが離された際に第二の確定操作であると検出して、第一の確定操作と第二の確定操作の間に二本目以降の指やペンによる接触があった場合は最も第二の確定操作に近い時間に接触したり移動したりしていた指やペンによって得られた座標を第二の確定操作に関する座標であると検出するように設定することや、一本目の指やペンが接触した際に第一の確定操作であると検出して一本目の指やペンによって得られる座標を第一の確定操作に関する座標であると検出し、第一の確定操作に続く複数の接触や移動のうち最後に指やペンが離された際に第二の確定操作であると検出して最後に離された指やペンによって得られた座標を第二の確定操作に関する座標であると検出するように設定することも可能である。
また、上記生成手段は前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付けるものであってもよく、上記生成手段は前記属性の関連付けられたノードを属性ノードとして生成するものであってもよく、上記管理手段は、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画手段によって描画するものであってもよく、上記管理手段は、前記検出手段が第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出手段の検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画手段によって描画するものであってもよい。
上記のような文字入力装置では、生成手段がノードに子ノードを関連付ける際に属性を持つグループによって関連付けることがあるが、そのようなグループによって関連付けられた子ノードを持つノードには、子ノードが描画されるような場合にどの属性を持つグループに属する子ノードが表示される(画面上に描画される)のかを示す表示情報が生成手段によって関連付けられている。また、生成手段によって、属性の関連付けられた属性ノードが生成される。第一の確定操作の際に選択されたノード(ノードAとする)がグループによって子ノードの関連付けられたノードである場合は、ノードAの子ノードのうちどのグループにも属さない子ノードがあればその子ノードが描画手段によって描画され、ノードAの子ノードのうちノードAの表示情報と同じ属性を持つグループに属する子ノードも描画手段によって描画される。そして、検出手段が第一の確定操作を検出した後であって、まだ第二の確定操作を検出していないような場合に、確定操作ではない操作の座標が検出手段によって検出された際に、その座標を含むと判定手段が判定するような領域の関連付けられた属性ノードがあった場合は、その属性ノードに関連付けられた属性と同じ属性を持つグループによって関連付けられた子ノードをノードAが持つのであれば、それらの子ノードが描画手段によって描画される。
ここで、検出手段に検出される確定操作がクリック操作であった場合は、最初のクリック操作を第一の確定操作として検出し、属性ノードに関連付けられた領域以外の場所でのクリック操作を第二の確定操作として検出するように設定することも可能であり、その場合は、属性ノードに関連付けられた領域におけるクリック操作は第二の確定操作として検出されないため、オペレータは第一の確定操作の後に属性ノードをクリックすることによって表示される子ノードのグループを変更することが可能となる。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合にも同様に、第一の確定操作後のクリック操作は第二の確定操作として検出されないため、オペレータは、第一の確定操作後の属性ノードにおけるクリック操作によって表示されるグループの変更を行なうことが可能である。また、ストロークの開始点と終了点のそれぞれを第一の確定操作と第二の確定操作として設定した場合は、ストローク中に変化する座標が検出手段によって検出され、ストロークが属性ノードに関連付けられた領域にさしかかった場合(ストロークが属性ノードに関連付けられた領域に入った場合)には表示されるグループの変更が管理手段によって行なわれる。これらの属性ノードを利用したグループ変更は、第二の確定操作が検出されるまでは何回でも可能であるため、オペレータは所望の文字を探しながら、しかし一連である操作によって入力文字を確定することが可能となる。
また、上記生成手段は前記ノードに有効フラグを付与するものであってもよく、上記管理手段が前記判定手段によって判定を行なう際には有効フラグがオンであるノードについて判定を行なうものであってもよい。
この場合、管理手段がノードの有効フラグを適切にオンとオフに切り替えることによって、有効フラグがオフであるノードに関しては座標が領域に含まれるかどうかを判定手段によって判定しないということになり、操作の対象となる選択肢を状況に応じて変化させることが可能となる。
また、上記生成手段は、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付けるものであってもよく、上記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、当該ノードに関連付けられた領域を変形させないものであってもよい。
上記のような文字入力装置では、第一の確定操作の際に選択されたノードが子ノードを持つ場合に、そのノードの領域を変形させるかわりに、変形された領域を最初から持つ変形ノードを子ノードとして表示させることによって、同列でありながら特別でもある選択肢を別の方法で提供することが可能となる。
また、本発明によって、ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置における文字入力方法において、前記文字入力方法は、前記入力装置によって得られる情報から座標と確定操作とを検出する検出ステップと、座標が領域に含まれるかどうかを判定する判定ステップと、領域と文字の関連付けられたノードを生成する生成ステップと、前記ノードを管理する管理ステップと、領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画ステップとを含み、前記生成ステップは、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることがあり、前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、さらに当該ノードに関連付けられた領域を、前記検出ステップが第一の確定操作を検出した際に検出された座標と、当該ノードに関連付けられた子ノードに関連付けられた領域と合同である領域の、両方を含む領域に変形させて前記描画ステップによって描画し、前記管理ステップは、前記検出ステップが第二の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力方法が提供される。
また、上記生成ステップは前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付けるものであってもよく、上記生成ステップは前記属性の関連付けられたノードを属性ノードとして生成するものであってもよく、上記管理ステップは、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画ステップによって描画するものであってもよく、上記管理ステップは、前記検出ステップが第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出ステップの検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画ステップによって描画するものであってもよい。
また、上記生成ステップは前記ノードに有効フラグを付与するものであってもよく、上記管理ステップが前記判定ステップによって判定を行なう際には有効フラグがオンであるノードについて判定を行なうものであってもよい。
また、上記生成ステップは、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付けるものであってもよく、上記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、当該ノードに関連付けられた領域を変形させないものであってもよい。
また、本発明によって、コンピュータを請求項1から4のいずれか一項記載の文字入力装置として機能させる文字入力プログラムが提供される。
また、本発明によって、請求項5から8のいずれか一項記載の文字入力方法をコンピュータに実行させる文字入力プログラムが提供される。
請求項1又は5に記載の発明によれば、同列でありながら特別でもある選択肢を用意することによって、一度に表示される選択肢の数を減少させ、かつオペレータが直感的に文字入力を行なうことを容易にするための文字入力装置又は文字入力方法が提供される。
請求項2又は6に記載の発明によれば、選択肢を属性によってグループ分けし、グループを切り替えることによって、一連の操作によって入力可能な文字を増加させることが可能となる文字入力装置又は文字入力方法が提供される。
請求項3又は7に記載の発明によれば、操作の対象となる選択肢を状況に応じて変化させることの可能な文字入力装置又は文字入力方法が提供される。
請求項4又は8に記載の発明によれば、同列でありながら特別でもある選択肢を別の方法で提供する文字入力装置又は文字入力方法が提供される。
請求項9に記載の発明によれば、コンピュータ100が上記に記載された文字入力装置として機能する。
請求項10に記載の発明によれば、上記に記載された文字入力方法がコンピュータ100により実行される。
文字入力装置の構成を示すブロック図。 ノードの一例を示す図。 ノードの一例を示す図。 画面上にノードが描画された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。 属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。 選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。 属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。 選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。 属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。 属性ノードが選択され、表示される子ノードのグループが変更された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 領域の変形したノードの子ノードが選択され、その選択された子ノードにさらに関連付けられた子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、属性ノードを含む子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 画面上にノードが描画された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 画面上にノードが描画された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 選択されたノードの領域が変形し、子ノードが表示された状態の一例を示す図。 表示用と判定用の二種類の領域が関連付けられたノードが表示された状態の一例を示す図。 処理の一例を示すフローチャート。 図25のフローチャートから分岐して続く処理の一例を示すフローチャート。 変形ノードの一例を示す図。 変形ノードの一例を示す図。 選択されたノードに関連付けられた子ノードである変形ノードが表示されて選択され、その変形ノードにさらに関連付けられた子ノードが表示された状態の一例を示す図。 選択されたノードに関連付けられた、属性ノードを含む子ノードが表示され、変形ノードが選択された状態の一例を示す図。 属性ノードの一例を示す図。
以下、本発明の一実施形態について図面を参照して説明する。図1は本発明における文字入力装置400の構成を示すブロック図である。当該装置は、パソコン等のコンピュータ100、入力装置200及びディスプレイ装置300によって構成されている。コンピュータ100は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ポケットコンピュータ、及び電子手帳など、様々な形をとり得る。図1では一例としてコンピュータ100と入力装置200及びディスプレイ装置300が分かれているが、当業者には明白であるように、これらの全てあるいは一部が一体となっている場合がある。例えば、画面301とポインティングデバイス201とは、一体となっていることもある。
入力装置200に含まれるポインティングデバイス201は、例えば、マウス、トラックボール、トラックパッド、タッチパネル、及びタブレット装置など、様々な形をとり得る。当業者には明白であるように、ポインティングデバイス201は他の装置、例えばキーボードやダイアルなどによって代替可能である。
ディスプレイ装置300に含まれる画面301は、CRT、LCD、及びプラズマディスプレイなど、様々な形をとり得る。当業者には明白であるように、画面301はヘッドマウントディスプレイのような形態もとり得る。
また、コンピュータ100は、入力装置200からの操作入力に応じて、内蔵するCPU、メモリ、補助記憶装置等のハードウェアを、各種の手段として機能させる文字入力プログラムを搭載したり実行したりすることができる。また、コンピュータ100は、入力装置200からの操作入力に応じて、内蔵するCPU、メモリ、補助記憶装置等のハードウェアを利用して、各種のステップを実行させる文字入力プログラムを搭載したり実行したりすることができる。図には省略されているが、一般的なコンピュータにおける記憶手段としてメモリや補助記憶装置等のハードウェアや、ネットワーク回線によって接続された別のコンピュータの制御する記憶手段等様々な外部記憶装置や、コンピュータ可読媒体などが利用可能である場合がある。また、各種データは複数の記憶手段に分散して記憶されていることもある。
検出手段101は、入力装置200からデータを受け取り、座標の値や確定操作の有無を検出する。例えばマウス等のポインティングデバイス201によって得られるx軸とy軸に対する移動量のデータを受け取り画面301上に表示されるポインタの座標を変化させる際や、タッチパネル等のポインティングデバイス201によって得られるx軸とy軸における値のデータを受け取り画面301上に表示されるポインタの座標に反映させる際などに利用され、画面301上のポインタの座標を他の手段に提供可能である。また検出手段101は、例えばポインティングデバイス201のボタンやペンや指の状態とその状態の変化に関する情報を受け取り、確定操作がなされたかどうかの検出にも利用される。検出手段101がどの操作を確定操作とするかの設定は、検出手段101や管理手段104によって、コンピュータ100が通常持つ記憶手段などを利用して管理されている。検出手段101がどの操作を確定操作とするかの設定の変更により、クリック&クリックに二回の確定操作を割り当てるモードや、ドラッグ操作やスライド操作やフリック操作に二回の確定操作を割り当てるモード、またクリック&ダブルクリックに二回の確定操作を割り当てるモードなどを設定することが可能である。例えばドラッグ操作に二回の確定操作を割り当てるモードの場合は、ドラッグ操作が開始された際のポインタ座標において一回目の確定操作が行なわれ、リリース操作された際のポインタ座標において二回目の確定操作が行なわれたと検出されるように設定可能である。他には、ボタンを押した状態やペンや指などを触れた状態でポインタ座標の変化がほとんどないような状態が一定時間以上続いた場合に確定操作とするようなモードとして設定することも可能である。
また一般的なコンピュータ100は通常、画面301上に領域を設定することが可能であるような手段を備えている。例えば矩形の左上の座標と右下の座標、あるいは矩形の左上の座標と幅と高さの指定によって矩形領域を設定する。また例えば、中心座標と半径の指定によって円の領域を設定したり、座標値の集合の指定によってポリゴン領域を設定したり、座標の関係式の指定によって領域を設定したり、またそれらの組み合わせによって領域を設定することもある。パイメニューに利用可能な領域の場合は、大きさの異なる円を同心円として配置してできるドーナツ型の領域を、円の中心から外側へひかれる直線によって区切ることによって生成される。これらのような様々な領域の生成は、公知の方法によって、コンピュータ100において実行可能である。
判定手段103は、検出手段101から得られた座標の値と管理手段104から与えられる領域の性質から、判定対象となる座標が判定対象となる領域に含まれるか否かを判定する。例えば、判定対象となる領域が矩形の領域の場合は、判定対象となる座標のx座標とy座標のそれぞれを、矩形の左上の座標と右下の座標のx座標とy座標それぞれと比較することにより判定することができる。また例えば、判定対象となる領域がパイメニューとして利用可能な形状である場合は、判定対象となる領域の中心の座標から判定対象となる座標への距離を三平方の定理によって求め、パイメニューの領域を構成する円の半径との比較によってパイメニューに含まれるかどうかを判定することができ、判定対象となる領域の中心の座標と判定対象となる座標から逆三角関数を利用して中心角を求めることによって、パイメニュー内のどの領域に含まれるのかを判定することができる。一般的なパイメニューにおいては利用されていない、円の中心を含む円形の領域の場合は、中心の座標から判定対象となる座標への距離と、該当する円の半径との比較によって、中心の含まれる領域に判定対象となる座標が含まれるかどうかを判定することができる。また、ポリゴン領域や関係式の指定による領域の場合も同様に、ある座標が領域に含まれるかどうかを判定することは可能である。
生成手段102は、文字と領域が関連付けられたノードを生成する。ノードに関連付けられる領域は、画面301に表示するための領域という性質と、判定手段103での判定の際に利用される領域という性質を持っているため、生成手段102は、表示用と判定用の二種類の領域が関連付けられたノードを生成することもある。またノードには、オペレータの理解を助けるために、子ノードに関連付けられた文字を追加して関連付けることも可能である。生成手段102によって生成されるノードは、必ず子ノードを持つというわけではなく、子ノードを持たない(子ノードの関連付けられていない)ノードも生成される。これらのノードを構成するための情報は、コンピュータ100が通常持つ記憶手段に記憶され、必要に応じて読み出される。また、生成とは必ずしもオブジェクト指向におけるオブジェクトの生成のみを指すわけではなく、構造体やテーブルなど他の方法によって実現可能であることは当業者には明白である。
管理手段104はノードを階層構造によって管理するため、画面301上に同時に表示されるノードの数を、実際に利用可能なノードの総数よりも、減少させることを可能としている。管理手段104は、検出手段101が確定操作を検出した際には、検出手段101によって検出される座標の情報と、生成手段102の生成したノードのうち画面301に表示されており有効であるもの全てについて、判定手段103による判定が真となるようなノードがあるかどうかを検査する。そのようなノードがあった場合には、管理手段104は、そのノードが子ノードを持つかどうかを検査し、子ノードを持つノードであった場合は当該ノードに関連付けられた子ノードの表示を描画手段105によって行なう。さらに、管理手段104は、当該ノードに関連付けられた領域を変形させ、変形した領域の描画を描画手段105によって行なう。判定手段103による判定のために利用される領域はノードに関連付けられた領域と全く同じである必要はなく、例えば、オペレータの操作を助けるために、有効なノードのない方向にある程度拡大したような領域を利用するということであっても良い。
また、管理手段104がノードの領域を変形する際には、検出手段101が第一の確定操作を検出した際に検出された座標を含むような領域であって、さらに子ノードと同列に扱うことのできる領域も含むような領域に変形することによって、直ちに選択可能な特別な選択肢であってかつ他の選択肢と同列にも扱えるような選択肢として利用可能であるように変形する。このため、管理手段104によって領域を変形させられたノードは、他の子ノードと同列でありながら特別でもある選択肢としての性質を備えることになり、オペレータにとって直感的な文字入力環境の提供が可能となる。
描画手段105は、管理手段104によって利用され、ノードに関連付けられた文字と領域の描画を画面301に対して行なうようにディスプレイ装置300にデータや信号などを送る。描画手段105によるノードの描画において、ノードに関連付けられた文字の描画は必要なものであるが、当該ノードに関連付けられた領域の描画は必要だとは限らない。領域は、画面301に表示されるために利用されることを目的としているだけでなく、判定手段103での判定のために利用されることも目的としているため、画面301上に表示されている必要はないが、オペレータへの目安としての表示や、操作のフィードバックのためのハイライト表示などに利用される。表示用と判定用の二種類の領域が関連付けられたノードを画面301に描画する際には、描画手段105は、ノードに関連付けられた領域のうち表示用の領域の描画と、ノードに関連付けられた文字の描画とを画面301に対して行なうようにディスプレイ装置300にデータや信号などを送る。また、表示されるのは単なる領域と文字のみではなく、アイコンなどのグラフィックス表示による装飾やアニメーション効果などが追加されていても良い。
図2は、画面301に表示される際のノードの一例を示す図である。ノード500は矩形の領域501が関連付けられており、「あ」である文字502が関連付けられている。ノード500の情報は例えば表1のような情報として生成手段102によって生成され、管理手段104によって管理されている。図2においては矩形が領域として利用される例が示されているが、このことはノードの領域は矩形に限るということを意味するわけではなく、さまざまな形状の領域がありうる(以下の他の図における領域の形状についても同様)。ノードの他の例としては、例えばアルファベットの入力のために「th」のようによく利用される組み合わせの文字を割り当てておき、二文字を一度に続けて入力可能であるというように、複数の文字が関連付けられたノードもありうる。また、「RETURN」や「TAB」などの表示を割り当てて機能キーの代替として利用することも可能であることは当業者には明白である。
図3は、画面301に表示される際のノードの別の一例を示す図である。この場合のノード500にも矩形の領域501が関連付けられており、「あ」である文字502が関連付けられているが、子ノードが表示される際の子ノードの位置関係をオペレータが理解することを助けるために、子ノードに関連する文字503が表示されている。点線は文字の範囲を示すためのものであり実際に画面に表示されるものではない。図3において点線で囲われた文字「い」と「う」と「え」と「お」のように、ノード500の子ノードが表示される際のノードの並びを表わすように各文字が配置されているとオペレータの理解をより助ける情報となるが、このような配置に限るというわけではなく、他の配置もありうる。
図4は、画面301にノードが並べられて表示される際の一例を示す図である。図4においてはテンキー配列に対応するような配置でノードが並べられた例が示されているが、このことは初期表示されるノードの配置はこのような配置に限るということを意味するわけではなく、さまざまな配置がありうる。また図4ではノード(500,510,520,530,540,550,560,570,580,590,600,610)の領域は隣り合うノードがそれぞれ互いに接しているが、領域は接していなくても良いし重なっていても良い。重なっている場合には生成された順などの一定の順で判定手段103によって判定することによって重なりを持つ領域についての判定が可能となる(以下の他の図における例についても同様)。ノード590と610には文字が関連付けられていないため、空白の入力や入力のキャンセル等に利用可能である。また句読点や「ー」などかな文字以外の記号の入力にも利用可能であることは当業者には明白である。また、図4のような領域の配置に対して携帯電話に一般に用いられているテンキー配列を対応させて、テンキーが押されたかどうかの状態の変化を検出手段101が検出し、押されたキーによって判定手段103がノード(500,510,520,530,540,550,560,570,580,590,600,610)についての判定を行なうということで、ポインティングデバイスの操作を代替可能である。ダイアル操作の前後に回転する操作と押し込まれる操作を検出手段101が検出し、判定手段103が例えばノードに「500,510,520,530,540,550,560,570,580,590,600,610」という順番をつけ、ダイアル操作の前後に回転する操作に応じて判定結果を前後に移動させるということと、ダイアルが押し込まれる操作を検出手段101が検出した際に確定操作として検出するというように割り当てて代替可能でもある。
図5は、図4の状態において、ノード500の領域内にポインタ座標がある時(「ノード500の領域内にポインタ座標がある時」とは、検出手段101によって検出される座標が、判定手段103によって、ノード500に関連付けられた領域内にあると判定されるような状態を指す。以下、同様。)に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード500の子ノードであるノード701〜704が表示されている。このような子ノードの表示位置は、親ノード(この場合ノード500)からの相対的な位置関係や、画面301上の絶対的な位置を決定するための情報が、生成手段102によって、親ノードあるいは各子ノードに関連付けられている。ここで、ノード500に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード701〜704と同列に扱うことのできる領域を含むような領域に変形されているため、第一の確定操作の後、直ちに第二の確定操作が検出された際にノード500の文字を入力文字として確定させることが可能となっている。(図5においては「第一の確定操作が検出された際に検出された座標を含み、かつノード701〜704と同列に扱うことのできる領域を含むような領域」は、一続きの領域として示されているが、第一の確定操作が検出された際に検出された座標を含む領域と、ノード701〜704と同列に扱うことのできる領域の二つの領域がつながっている必要はなく、一続きではない二つ以上の複数の領域を組み合わせたものがノードに関連付けられてもよい。以下、同様。)図5では、選択されていることをオペレータにフィードバックするためのハイライト表示を行なっている様子が、ノード500に着色されること(領域内の背景が灰色となっていること)で示されている。この状態からポインティングデバイス操作によってポインタ座標がノード701の領域に含まれる位置に移動した際にはノード701がハイライト表示されることになる。ノード500のハイライト表示は、ポインタ座標がノード500の領域に含まれなくなった時点で解除される。図5では、ノード500における文字の表示位置は、子ノードであるノード701〜704の文字と同列に扱われるような位置に移動しており、直ちに入力が可能ではあるが、他のノードと同列に選択可能な選択肢としての側面もあわせ持っていることを示している。(ノード500における文字の表示位置は必ずしも変更する必要のあるものではないが、変更したほうがオペレータの理解を助けることになる。以下の他の図における変形された領域と移動された文字の関係についても同様。)また、図5ではノード500に関連付けられたノードとそれ以外のノードを区別するために、ノード(520,530,540,550,560,570,580,600)の文字が薄くなっているが、これら文字の薄くなったノードは有効ではないことを表わしている(以下の他の図における例についても同様)。有効ではないノードは表1における有効フラグの欄がオフとなるような状態として管理手段104によって管理されている。ただし、あるノードが第一の確定操作の際に選択された場合には他のノードは必ず有効ではなくなるということを表わすものではなく、それらのノードも有効であっても良いが、図5においては有効ではない場合を一例として示している。有効フラグがオンであるノードと有効フラグがオフであるノードについて、描画手段105による描画方法に差をつけるのであれば、画面上に表示されているノードのうちどのノードが有効であるのかが一目瞭然となりオペレータの理解を助ける。図5の状態の後に、ノード500あるいは701〜704のいずれかの領域内にポインタ座標がある時に検出手段101によって第二の確定操作が検出された場合は、検出手段101の検出した座標が当該ノードに関連付けられた領域に含まれると判定手段103が判定することから、管理手段104によって当該ノードに関連付けられた文字が入力文字として確定されるが、ノード500又は701〜704のいずれの領域内にもポインタ座標がない時に検出手段101によって第二の確定操作が検出された場合は、入力のキャンセルが行なわれる(以下の他の図における例についても同様)。画面301上の表示が図5の状態において入力のキャンセルが行なわれると、図4の状態になるように管理手段104が描画手段105に描画させる。
図6は、図4の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。図5と同様にノード500の子ノードであるノード701〜704が表示され、ノード500に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード701〜704と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード500における文字の表示位置は、子ノードであるノード701〜704の文字と同列に扱われるような位置に移動している。さらに属性ノード(801,802)もノード500の子ノードとして表示されている。属性ノード(801,802)が他のノード(500、701〜704)よりも下側に位置しているため、オペレータによるペン操作やオペレータの指による操作が行なわれる場合には、ペンや指で隠れない位置に本質的な選択肢が配置され、ペンや指で隠れるような位置に補助的な選択肢が配置されることになり、オペレータにとって使いやすい環境が提供されている。この例の場合のノード500は例えば表2のような情報として生成手段102によって生成され、管理手段104によって管理されている。表2における表示情報とは、どの属性を持つグループが表示されるのかを示すための情報である。表2においてノード500の子ノードとして関連付けられているグループ901は例えば表3のような情報として生成手段102によって生成され、管理手段104によって管理されている。表2においてノード500の子ノードとして関連付けられているグループ902は例えば表4のような情報として生成手段102によって生成され、管理手段104によって管理されている。グループ901に属するノード(701〜704)と、グループ902に属するノード(705〜708)は、ノード500の子ノードとして管理手段104に扱われる。表2では子ノードそのものではなくそれらの属するグループ(901,902)が関連付けてられているが、子ノードそのもの(701〜708)がノード500に関連付けられていてもよい。属性ノード801には属性「標準」が生成手段によって関連付けられているため属性「標準」の関連付けられたグループ901と関係し、属性ノード802には属性「小」が生成手段によって関連付けられているため属性「小」の関連付けられたグループ902と関係する。図6に示されている状態は、表2における表示情報が「標準」であるため、「標準」を属性として持つグループ901に属するノード(701〜704)と、ノード500の子ノードとして関連付けられている属性ノード(801,802)が画面301上に表示されている状態である。図6では属性ノード(801,802)の領域内に描画される情報としてその属性自体を表わす文字「標準」と「小」が利用されているが、描画される情報には属性自体を表わす文字を利用するべきであるということではなく、他の言葉やアイコン等の絵による表現など、オペレータの理解を助けるような視覚情報を利用可能である(以下の他の図における例についても同様)。
図7は、図6の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置200によってポインタ座標が移動し、属性ノード802の領域内にポインタ座標がある時に検出手段101によって座標が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。属性ノード802には属性「小」が関連付けられており、第一の確定操作の際に選択されたノード500の子ノードのうち、表4にあるように「小」を属性として持つグループ902に属するノード(705〜708)と、子ノードとして関連付けられている属性ノード(801,802)が表示されている状態が図7に示されている状態である。図7においてノード500に表示されている文字504は、表2の文字の欄にある文字(502,504)のうち、表4にあるようにグループ902に関連付けられた文字504が利用されていることを示している。この状態で、ノード500の領域内にポインタ座標がある時に検出手段101によって第二の確定操作が検出された場合は、管理手段104によって文字504が入力文字として確定される。(文字502と属性「標準」、文字504と属性「小」の関連付けは、グループによって行なうのではなくノード500における関連付けや、文字自体への関連付けなどによって代替可能であることは当業者には明白である。)また、図7の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード801の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図6と同様のノードが表示された状態であって、ノード500ではなく属性ノード801がハイライト表示されたような状態になる。このようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
図6の状態から図7の状態に変化させる際に、管理手段104は、ノード500の表示情報を「小」に変更することによって、描画手段105に描画させる子ノードを変更してもよいし、ノード500の表示情報は「標準」としたまま、一時的に「小」を属性として持つグループによって関連付けられた子ノードを描画手段105に描画させるというようにしてもよい。つまり、ノードに関連付けられた表示情報は、表示される子ノードのグループに関連付けられた属性に常に対応するものであってもよいし、子ノードが表示される際の初期設定としての情報として利用されるものであってもよい。また、初期設定としての表示情報と、表示される子ノードのグループに関連付けられた属性に常に対応する表示情報の二種類が生成手段102によってノードに関連付けられていてもよい。表示情報が初期設定としての情報ではなく、ノード500の表示情報が「小」に変更された場合は、管理手段104は、第二の確定操作の後に、新たな第一の確定操作によってノード500の子ノードが表示されるまでに、表示情報を「標準」に戻しておく必要がある。
図8は、図4の状態において、ノード510の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード510の子ノードであるノード709〜712が表示され、ノード510に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード709〜712と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード510における文字の表示位置は、子ノードであるノード709〜712の文字と同列に扱われるような位置に移動している。さらに属性ノード(803,804)もノード510の子ノードとして表示されている。
図9は、図8の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置200によってポインタ座標が移動し、属性ノード804の領域内にポインタ座標がある時に検出手段101によって座標が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。属性ノード804には属性「濁音」が関連付けられており、第一の確定操作の際に選択されたノード510の子ノードのうち、「濁音」を属性として持つグループに属するノード(713〜716)と、子ノードとして関連付けられている属性ノード(803,804)が表示されている状態が、図9に示されている状態である。図9においてノード510に表示されている文字「が」は、属性「濁音」を持つ属性ノードの領域内にポインタ座標があるため、図8の状態から管理手段104によって変化させられた状態を示している。この状態で、ノード510の領域内にポインタ座標がある時に検出手段101によって第二の確定操作が検出された場合は、管理手段104によって文字「が」が入力文字として確定される。また、図9の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード803の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図8と同様のノードが表示された状態であって、ノード510ではなく属性ノード803がハイライト表示されたような状態になる。このようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
図10は、図4の状態において、ノード550の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード550の子ノードであるノード717〜720が表示され、ノード550に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード717〜720と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード550における文字の表示位置は、子ノードであるノード717〜720の文字と同列に扱われるような位置に移動している。さらに属性ノード(805〜807)もノード550の子ノードとして表示されている。
図11は、図10や図12の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置200によってポインタ座標が移動し、属性ノード805の領域内にポインタ座標がある時に検出手段101によって座標が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。属性ノード805には属性「半濁音」が関連付けられており、第一の確定操作の際に選択されたノード550の子ノードのうち、「半濁音」を属性として持つグループに属するノード(721〜724)と、子ノードとして関連付けられている属性ノード(805〜807)が表示されている状態が、図11に示されている状態である。図11においてノード550に表示されている文字「ぱ」は、属性「半濁音」を持つ属性ノードの領域内にポインタ座標があるため、図10の状態から管理手段104によって変化させられた状態を示している。この状態で、ノード550の領域内にポインタ座標がある時に検出手段101によって第二の確定操作が検出された場合は、管理手段104によって文字「ぱ」が入力文字として確定される。また、図11の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード806の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図10と同様のノードが表示された状態であって、ノード550ではなく属性ノード806がハイライト表示されたような状態になる。また、図11の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード807の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図12の状態になる。これらのようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
図12は、図10や図11の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置200によってポインタ座標が移動し、属性ノード807の領域内にポインタ座標がある時に検出手段101によって座標が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。属性ノード807には属性「濁音」が関連付けられており、第一の確定操作の際に選択されたノード550の子ノードのうち、「濁音」を属性として持つグループに属するノード(725〜728)と、子ノードとして関連付けられている属性ノード(805〜807)が表示されている状態が、図12に示されている状態である。図12においてノード550に表示されている文字「ば」は、属性「濁音」を持つ属性ノードの領域内にポインタ座標があるため、図10の状態から管理手段104によって変化させられた状態を示している。この状態で、ノード550の領域内にポインタ座標がある時に検出手段101によって第二の確定操作が検出された場合は、管理手段104によって文字「ば」が入力文字として確定される。また、図12の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード806の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図10と同様のノードが表示された状態であって、ノード550ではなく属性ノード806がハイライト表示されたような状態になる。また、図12の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、属性ノード805の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図11の状態になる。これらのようなグループの変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。
図13は、図4の状態において、ノード550の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード550の子ノードであるノード(717〜720,729,730)が表示され、ノード550に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード717〜720と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード550における文字の表示位置は、子ノードであるノードのうちノード717〜720の文字と同列に扱われるような位置に移動している。ノード729とノード730はノード550にの近くに配置され、ノード550の文字「は」のバリエーション「ば」と「ぱ」であることを示している。図13は、ノード729とノード730の配置はこの位置に限られるという意味ではなく、様々な配置のうちの一例を示すものである。この例の場合のノード550は例えば表5のような情報として生成手段102によって生成され、管理手段104によって管理されている。表5では、領域はx座標とy座標と幅と高さによって生成できる矩形が関連付けられており、文字は「は」が関連付けられていることを示している。(矩形の情報として幅と高さだけを利用し、ノード自体にx座標とy座標の情報を関連付け、領域の情報が必要になった際にはノードのx座標とノードのy座標と矩形の情報の幅と高さを利用するということや、矩形の情報として左上の点の座標と右下の点の座標を利用するなど、他の方法で代替可能であることは当業者には明白である。)
図14は、図13の状態において、第一の確定操作が検出された後でまだ第二の確定操作が検出されていない場合に、入力装置200によってポインタ座標が移動し、ノード717の領域内にポインタ座標がある時に検出手段101によって座標が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。この例の場合のノード717は例えば表6のような情報として生成手段102によって生成され、管理手段104によって管理されている。ノード717には子ノードとしてノード731とノード732が関連付けられている。図14ではノード731とノード732はノード717にの近くに配置され、ノード717の文字「ひ」のバリエーション「ぴ」と「び」であることを示している。図14は、ノード731とノード732の配置はこの位置に限られるという意味ではなく、様々な配置のうちの一例を示すものである。また、図14の状態で、検出手段101がまだ第二の確定操作を検出していない時に、入力装置200によってポインタ座標が移動し、ノード550の領域内にポインタ座標がある時に検出手段101によって座標が検出された場合には、図13と同様の状態になり、このようなバリエーション表示の変更は第二の確定操作が検出されるまでは何回でも行なうことが可能となっている。バリエーション表示の変更の際には、選択されたノード以外のノードの子ノードのうち、さらに子ノードを持たないノードについては表示を消去しておくなど、他のノードのバリエーション表示を消去しておくとオペレータの理解を助けるが、必ずしも他のノードのバリエーション表示が不要なわけではなく、例えば、図14においては「は行」「ぱ行」「ば行」の文字が全て画面に表示されるようにノードを配置することも可能である。
図13と図14で示したのは、属性ノードを利用しない場合に一連の操作で多くの選択肢を提供するための階層構造の一例である。本発明では、属性ノードを用いることや、図13と図14で示したような階層構造を用いることによって、従来の技術やシステムでは2つ以上の操作を組み合わせて入力していたような文字を、関連する文字や似た文字を簡単に呼び出せるというオペレータにとって直感的でありさらに一連である操作によって入力することを可能とするような文字入力装置、文字入力方法、及び文字入力プログラムの提供が可能となっている。図14ではノード717が選択された際に領域が変形しない場合が示されているが、子ノードの領域は変形しないということではなく、第一の確定操作によって選択されるノード550と同様に、その子ノード717が一連の操作の途中で選択される際にも管理手段104によってノード717の領域が変形させられるということであっても良い。
図15は、図4の状態において、ノード570の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード570の子ノードであるノード733〜734が表示され、ノード570に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード733〜734と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード570における文字の表示位置は、図5のノード500や図8のノード510や図10のノード550の場合と同じような位置に移動している。さらに属性ノード(808,809)もノード570の子ノードとして表示されている。「や行」のように選択肢が3つの行においては子ノードの領域が大きくなっても良いということを示す例であって、「や行」は子ノードの領域を必ず大きくするべきであるという意味ではない。
図16は、図4の状態において、ノード600の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード600の子ノードであるノード735〜736が表示され、ノード600に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード735〜736と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード600における文字の表示位置は、子ノードであるノード735〜736の文字と同列に扱われるような位置に移動している。「わ」「を」「ん」のように選択肢が3つの場合でも、子ノードは他の場合の子ノードと同じ大きさであっても良いということを示す例であって、「わ」「を」「ん」の場合の子ノードの領域の大きさを、図5〜図12などの場合の(属性ノード以外の)子ノードの大きさと同じにするべきであるという意味ではない。選択肢が3つの場合は図15のような配置であっても図16のような配置であってもどちらでも可能であるということだが、これら以外の他の配置であっても構わない。
図17は、画面301にノードが並べられて表示される際の一例を示す図である。図4における各ノードの領域を円に変えた以外は図4と同じ配置であり、図4に関する説明がそのまま当てはまる。
図18は、図17の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード500の子ノードであるノード(701〜704,737〜739)が表示され、ノード500に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード(701〜704,737〜739)と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード500における文字の表示位置は、子ノードであるノード701〜704の文字と同列に扱われるような位置に移動している。図18では、ノード500は、パイメニューにおける他の選択肢と同じ面積を持つ領域に中心を含む領域を追加したような領域を持つノードとして、他の選択肢と同列でありながらも特別である選択肢として提供されることが示されている。(以下では、図18におけるノード500のような選択肢を持つパイメニューを、一般的なパイメニューと区別して「パイメニューに似た選択肢」と呼ぶことにする。)ノード737〜739は空白になっているが、ここには属性ノードや他の文字のためのノードを割り当てることが可能である。また、パイメニューに似た選択肢の外側にポインタ座標が移動した後に検出手段101によって第二の確定操作が検出された場合は、入力のキャンセルが行なわれる。画面301上の表示が図18の状態において入力のキャンセルが行なわれると、図17の状態になるように管理手段104が描画手段105に描画させる。管理手段104による入力文字の確定の際には、検出手段101によって第二の確定操作が検出される際に検出される座標の値が重要となるため、第二の確定操作の検出前に座標がどのように移動しても、それによってハイライト表示等が変化するだけで、最終的に確定される入力文字には影響しない。そのため、入力文字が確定する前にオペレータが確認可能であり、ストローク操作の軌跡によって入力文字を確定するシステムの操作と比較すると、オペレータにとっては直感的な操作となる。
図19は、図17の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。図18では表示されていたノード737〜739に該当するノードのないものを生成することも可能であることを示している。
図20は、図17の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。ノード500の領域の変形する方向や子ノード(701〜704,737〜739)の表示される位置が図18とは異なっており、パイメニューに似た選択肢におけるノード500の位置はどの位置でも良いということを示している。ただ、右利きのオペレータが右手でペンデバイスを操作する場合は、図18のパイメニューに似た選択肢よりも図20のパイメニューに似た選択肢のほうが、手で隠れるノードが少なくなり使いやすいものとなる。左利きのオペレータのためには、ノード500が図20におけるノード702の方向に変形し、図20におけるノード703の位置にノード701が配置されて以下続くというような配置が使いやすいものになる。ノード737〜739は空白になっているが、ここには属性ノードや他の文字のためのノードを割り当てることが可能である。また、図17におけるノードは円形であるが、このことによってパイメニューに似た選択肢を子ノードとして持つノードに関連付けられた領域は円形に限るということを意味しているのではなく、管理手段104は、図18〜20のようなパイメニューに似た選択肢を、図4の状態のノードを変形させることと子ノードの表示によって生成することも可能である。
図21は、英数字と四則演算記号と機能を意味する文字を入力するためのノードの配置の一例である。第一の確定操作の際にノード623が選択された後の状態が図22であり、第一の確定操作の際にノード630が選択された後の状態が図23である。
図22は、図21の状態において、ノード623の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例から一部を抜き出したものである。ノード623の子ノードであるノード740〜743が表示され、ノード623に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード740〜743と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード623における文字の表示位置は、子ノードであるノード740〜743の文字と同列に扱われるような位置に移動している。図22には示されていないが、この他に小文字やウムラウト、アクサンテギュを示すような属性ノードがノード623の子ノードとして関連付けられていても良い。
図23は、図21の状態において、ノード630の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例である。ノード630の子ノードであるノード744〜753が表示され、ノード630に関連付けられた領域が、第一の確定操作が検出された際に検出された座標を含み、かつノード750〜753と同列に扱うことのできる領域を含むような領域に変形されて表示されている。ノード630における文字の表示位置は、子ノードであるノード750〜753の文字と同列に扱われるような位置に移動している。図23は、ノードに割り当てられた文字を入力するための選択肢ではなく、機能を意味する文字が表示されたノードのグループである。それぞれ、ノード747はタブキー、ノード749はデリートキー、ノード750はシフトキー、ノード751はコントロールキー、ノード752はALTキー、ノード630はスペースキー、ノード753はリターンキーのように、割り当てられている。図23において空白のノード(744〜746,748)には、他の機能を意味する文字の関連付けられたノードや属性ノードを割り当てることも可能である。
図24は、図4や図17の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。ノードの配置は図20と同じであるが、それぞれのノードには、生成手段102によって表示用と判定用の二種類の領域が関連付けられている。図24において、実線による円で示される領域が表示用の領域であり、点線で示されるパイメニューに似た選択肢を構成する領域が判定用の領域である。図24で示したのは、表示用と判定用の二種類の領域が異なる場合の一例であって、表示用と判定用の二種類の領域が異なる場合は必ずこのようになるというわけではない。例えば、表示用の領域として、円のかわりに四角や星型やその他の形の領域が用いられたり、判定用の領域として、パイメニューに似た選択肢をさらに外側へ大きく広げたものや、矩形やその他の形の領域を組み合わせたものが用いられたりしてもよい。他の選択肢と同列でありながらも特別である選択肢となるように拡張された領域の関連付けられたノードが存在すること(生成手段102によって生成されたり、管理手段104によって変形させられたりすること)が本発明の特徴であるが、図24のように、特別な選択肢としてのノードに関連付けられた領域のうち判定用の領域のみが特別に拡張されたものであってもよい。図24において点線で示される領域は、検出手段101によって第二の確定操作が検出された時に、検出された座標が領域に含まれるかどうかを判定手段103によって判定する際の、判定対象となる領域として利用される。また生成手段102は、表示用と判定用の二種類の領域だけではなく、さらに画面効果用の領域など他の用途に用いられるための領域をノードに関連付けることもある。例えば、どのノードをハイライト表示させるかの判定に利用される画面効果用の領域として、図24には示されていないが、中心の領域が利用されないような、一般的なパイメニューと同じような領域(ノード500に関連付けられる領域が、ノード701〜704やノード737〜739に関連付けられた領域と同じ面積になるような領域となる)が用いられてもよいため、図24におけるノード500に関連付けられた文字が入力として確定するような場合であっても、(パイメニューに似た選択肢の中心に近い位置で第二の確定操作が検出された場合などに)ノード500がハイライト表示されない場合がありうる。
図25と図26は本発明の処理のフローチャートである。図25のフローチャートに処理が移るよりも前に、生成ステップが実行済みであり、図4や図17や図21などのように各ノードが描画手段105によって画面301上に描画されているものとする。大きな流れとして、図25と図26の両方における「終了」の後に図25のフローチャートにおける「開始」に処理が移るという流れがあり、そのための矢印は図では省略されている。フローチャート全体の流れを管理するのが管理ステップであり、その管理ステップを実行するのが管理手段104である。以下のフローチャートの説明において主語が不明な文においては、管理手段104がその主語である。ステップS1では検出手段101によって何らかの操作が検出されるまで待ち、何らかの操作が検出されるとステップS2に処理が移る。ステップS1で検出された操作が第一の確定操作であるかどうかステップS2で調べ、第一の確定操作である場合にはステップS3へ進む。ここで、管理手段104は必要に応じて第一の確定操作があったということをコンピュータ100の備える記憶手段等に記憶しておく。
ステップS3では第一の確定操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップS4へと進むがそうではない場合は終了してフローチャートの「開始」へ戻る。有効なノード内の操作であるかどうかは、管理手段104が画面301上に表示されておりかつ有効なノード全てについて、ノードの持つ領域(又はその領域に基いて拡張された領域)とステップS1で検出された第一の確定操作に関する座標について判定手段103に判定させることによって調べ、ノードの持つ領域に重なりがある場合はその順序に従って(オペレータにとって、手前から奥へという順序で)調べ、最初に判定手段103が「座標が領域に含まれる」と判定したノード(対象となる座標を含む領域を持つノードが複数ある、つまり重なりがある場合は、その中で一番上のノードに相当)が、ステップS4で管理手段104によって選択される。ノードが有効フラグの付与されたノードである場合は、管理手段104は、有効フラグがオフであるノードに関して判定手段103による判定を行なわない。ステップS4で管理手段104がノードを選択する際には、どのノードが選択されたのかを必要に応じてコンピュータ100の備える記憶手段等に記憶しておく。また、オペレータの理解を助けるために、選択されたノードをハイライト表示するなど強調するための処理あるいはその準備をステップS4の前後で行なう。そして、画面301上に表示されているノードのうち選択されたノード以外のノードの有効フラグをオフにする場合は、ステップS4で行なっておく。
ステップS5では、管理手段104は、ステップS4で選択されたノードが子ノードを持つかどうか調べ、子ノードを持つ場合はステップS6へと進むがそうではない場合は終了してフローチャートの「開始」へ戻る。ステップS6の子ノード表示処理では、ステップS4で選択されたノードの子ノードを描画手段105によって画面301上へ描画することによる表示を行なうと共に、管理手段104は、ステップS4で選択されたノードの領域を変形させる処理を行なう。表示されるノードに有効フラグが付与されている場合は、ステップS6でそれらのノードの有効フラグをオンにする。ステップS6でこれらの処理が実行された際の画面301上の表示の例が図5、図6、図8、図10、図13、図15、図16、図18であり、これらの処理を実行した際の画面301上の表示の一部を取り出したものの例が図19、図20、図22、図23である。ステップS6の処理が実行された後は終了してフローチャートの「開始」へ戻る。
ステップS1で検出された操作が第一の確定操作かどうかを、ステップS2で調べた結果、第一の確定操作ではなかった場合はステップS7に処理が移る。ステップS1で検出された操作が第二の確定操作であるかどうかを、「第一の確定操作があった」ということがコンピュータ100の備える記憶手段等に記憶されているか調べることや第二の確定操作と設定されている操作との比較などによって、ステップS7で調べ、第二の確定操作である場合にはステップS8へ進む。ステップS8では第二の確定操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップS9へと進むがそうではない場合はステップS10へと進む。ステップS8の後にステップS9ではなくステップS10へと処理が進む場合は、入力のキャンセルが行なわれることになる。有効なノード内の操作であるかどうかはステップS3と同様の処理によって調べられ、有効なノード内の操作であると判定された場合はその対象となるノードに関連付けられた文字が、ステップS9で管理手段104によって入力文字として確定される。ノードが有効フラグの付与されたノードである場合は、管理手段104は、有効フラグがオフであるノードに関して判定手段103による判定をステップS8で行なわない。また、オペレータの理解を助けるために、第二の確定操作の際に選択されたノードをハイライト表示するなど強調するための処理あるいはその準備をステップS9の前後で行なう。ステップS10のノード表示初期化処理では、ノードのハイライト表示などを無効にし、図4や図17や図21のような状態になるように描画手段105によってノードを画面301上に描画する。その際、不要な子ノードの表示が消され、画面301上に表示されないようにされる。管理手段104によって領域が変形させられているノードがあれば、そのノードに関連付けられた領域は元に戻される。そして表示されるノードに有効フラグが付与されている場合は、ステップS10でそれらのノードの有効フラグをオンにする。また、ステップS2で「第一の確定操作があった」ということをコンピュータ100の備える記憶手段等に記憶させていた場合は、その記憶を消去する。これらの処理が実行された後は終了してフローチャートの「開始」へ戻る。
ステップS1で検出された操作が第二の確定操作かどうかを、ステップS7で調べた結果、第二の確定操作ではなかった場合は図26のステップS11に処理が移る。ステップS11では、ステップS1で検出された操作が有効なノード内の操作であるかどうかを調べ、有効なノード内の操作である場合はステップS12へと進むが、そうではない場合は終了して図25のフローチャートの「開始」へ戻る。有効なノード内の操作であるかどうかはステップS3と同様の処理によって調べられる。ステップS12では、操作が第一の確定操作の後かどうかを調べるが、ステップS2で「第一の確定操作があった」ということをコンピュータ100の備える記憶手段等に記憶させている場合は該当する記憶が存在するかどうか、そうではない場合はフラグ等の別の手段によって判定する。操作が第一の確定操作の後である場合はステップS13へと進むがそうではない場合は終了して図25のフローチャートの「開始」へ戻る。
ステップS13では、ステップS11で有効なノード内の操作であると判定された対象であるノードが属性ノードであるかどうかを調べ、属性ノードである場合はステップS14へと進むがそうではない場合はステップS15へ進む。ステップS14のグループ変更処理では、ステップS4で選択されたノードが、ステップS13で属性ノードであると判定されたノードに関連付けられた属性と同じ属性を持つグループによって関連付けられた子ノードを持つ場合には、ステップS4で選択されたノードの子ノードのうち、当該グループによって関連付けられている子ノードを描画手段105によって画面301上に描画する。表示されるノードに有効フラグが付与されている場合は、ステップS14でそれらのノードの有効フラグをオンにする。そして、ステップS4で選択されたノードの領域内に表示される文字を、当該グループ又は当該グループの持つ属性に関連付けられた文字に変更する。このとき、ステップS4で選択されたノードの子ノードのうち、当該グループとは別のグループによって関連付けられている子ノードがそれまでに画面301上に表示されていたのであれば必要に応じてそれらの表示を消去する。また、オペレータの理解を助けるために、ステップS11で有効なノード内の操作であると判定された対象であるノードをハイライト表示するなど強調するための処理あるいはその準備をステップS14の前後又はステップS11の直後に行なう。ステップS14でこれらの処理が実行された際の画面301上の表示の例が図7、図9、図11、図12である。
ステップS15では、ステップS11で有効なノード内の操作であると判定された対象であるノードが子ノードを持つどうか調べ、子ノードを持つ場合はステップS16へと進むがそうではない場合は終了して図25のフローチャートの「開始」へ戻る。ステップS16の子ノード表示処理では、ステップS11で有効なノード内の操作であると判定された対象であるノードの子ノードを描画手段105によって画面301上へ描画する。表示されるノードに有効フラグが付与されている場合は、ステップS16でそれらのノードの有効フラグをオンにする。また、オペレータの理解を助けるために、ステップS11で有効なノード内の操作であると判定された対象であるノードをハイライト表示するなど強調するための処理あるいはその準備をステップS16の前後又はステップS11の直後に行なう。ステップS16でこれらの処理が実行された際の画面301上の表示の例が図14である。ノード717がステップS11で有効なノード内の操作であると判定された対象であるノードであり、ステップS16で表示された子ノードがノード731とノード732である。
図26に示したフローチャートでは、ステップS13とステップS15の両方が含まれているが、必要に応じてステップS13かステップS15のどちらか一方を省略してもよい。図10〜図12のように、属性ノードが含まれており、図4に示されたノードの子ノードにさらに子ノードが関連付けられていないような場合は、ステップS13における判定がNOだった場合には(ステップS15による判定は常にNOであるため、ステップS15を省略して)終了して図25のフローチャートの「開始」へ戻るとしてもよい。また図13〜図14のように、属性ノードが含まれておらず、図4に示されたノードの子ノードにさらに子ノードが関連付けられているような場合は、ステップS12における判定がYESだった場合には(ステップS13による判定は常にNOであるため、ステップS13を省略して)ステップS15へ処理が移るようにしてもよい。
図27と図28は、変形ノードの一例を示す図である。ノード700は領域754と文字502が関連付けられており、実施例1の図5や図6や図18や図19におけるノード500のように領域を変形させずに、領域の変形させられたノードと同じような効果を提供するための変形ノードとして、ノード500の子ノードとして関連付けられる。変形ノードは、第一の確定操作の際に選択されたノードに関連付けられた領域に重なる領域と他の子ノードと同列に扱うことのできる領域の両方を含むような領域の関連付けられたノードであり、実施例1のように第一の確定操作の際に選択されたノードに関連付けられた領域を変形させずに、実施例1における領域の変形させられたノードと同じような効果(他の選択肢と同列でありながらも特別である選択肢)を提供するためのノードとして、生成手段102によって生成され、子ノードとして他のノードに関連付けられる。例えば図27のノード700の場合は、実施例1の図5や図6において領域が変形させられたノード500と同じ位置に表示されるような領域754が関連付けられており、図5や図6におけるノード500と同じ役割(他の選択肢と同列でありながらも特別である選択肢という役割)を担うノードとして、ノード500の子ノードとして関連付けられている。図28のノード700の場合は、実施例1の図18や図19において領域が変形させられたノード500と同じ位置に表示されるような領域754が関連付けられており、図18や図19におけるノード500と同じ役割を担うノードとして、ノード500の子ノードとして関連付けられている。
実施例2において、実施例1の図5におけるノード500のかわりに図27のノード700が用いられる場合のノード500は、例えば表7のような情報として生成手段102によって生成され、管理手段104によって管理されている。ノード700は、図25のステップS6で他の子ノードと共に表示されるため、変形ノード700のために、実施例1のフローチャートに新たな処理を追加する必要はない。
実施例2において、実施例1の図6におけるノード500のかわりに図27のノード700が用いられる場合のノード500は、例えば表8のような情報として生成手段102によって生成され、管理手段104によって管理されている。表8における表示情報とは、どの属性を持つグループが表示されるのかを示すための情報である。表8においてノード500の子ノードとして関連付けられているグループ901は例えば表9のような情報として生成手段102によって生成され、管理手段104によって管理されている。グループ901に属するノード(700〜704)と、グループ902に属するノード(705〜708と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード)は、ノード500の子ノードとして管理手段104に扱われる。ここで、小さな「あ」である文字「ぁ」の関連付けられた変形ノードとは、図27や図28における領域754と同じような領域の関連付けられた変形ノードのことである。表8では子ノードそのものではなくそれらの属するグループ(901,902)が関連付けてられているが、子ノードそのもの(700〜708と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード)がノード500に関連付けられていてもよい。表8における実施例1の表2との違いは文字として文字502だけが関連付けられていることで、実施例1のようにノード500に関連付けられた領域が変形されたりノード500の一部として表示される文字が変更されたりするのではなく、実施例2では子ノードである変形ノード700が利用されるための違いである。表9における実施例1の表3との違いは文字の欄がないこととノードの欄に変形ノード700が加わったことで、実施例1のようにノード500の一部として表示される文字が変更されるのではなく、実施例2では表示されるグループの変更によって表示される子ノードが変更され、その際に表示の変更される子ノードに変形ノードが含まれるための違いである。
図27と図28に示された変形ノード700は、例えば表10のような情報として生成手段102によって生成され、管理手段104によって管理されている。ノードの生成に必要な情報は他のノードと変わらず、どのような領域が関連付けられるかが、そのノードが変形ノードであるかどうかを決めることになる。
図29は、実施例2において、実施例1の図13におけるノード550のかわりに変形ノード755が用いられた場合に、描画手段105が描画を行なった後の画面301上の表示の一例である。この場合のノード550は、例えば表11のような情報として生成手段102によって生成され、管理手段104によって管理されている。ノード550の子ノードとして関連付けられている変形ノード755は、例えば表12のような情報として生成手段102によって生成され、管理手段104によって管理されている。図29においては、ノード755に関連付けられた領域が、実施例1の図13におけるノード550に関連付けられた領域と同じであり、図29におけるノード550は実施例1の図4におけるノード550から領域が変形させられていないため、ノード550はノード755によって隠されており画面301上には表示されていない。
図30は、図4や図17の状態において、ノード500の領域内にポインタ座標がある時に検出手段101によって第一の確定操作が検出された際に、管理手段104によって描画手段105が描画を行なった後の画面301上の表示の一例からパイメニューに似た選択肢だけを抜き出したものである。属性ノード810が実施例1や実施例2との違いとなる。実施例3においては、一つの属性ノードに複数の属性が関連付けられているため、図30のように属性ノードが一つしか関連付けられていなくても、実施例1の図6や図7におけるノード(500、701〜708、801、802)による選択肢の場合に近い効果が提供される。図30のような子ノードの関連付けられたノード500は、例えば表13のような情報として生成手段102によって生成され、管理手段104によって管理されている。この例では変形ノード700を利用しているため文字には文字502だけが関連付けられており、子ノードには属性ノード810とグループ901〜902に属するノードが関連付けられている。グループ901は実施例2の表9と同様の情報として生成手段102によって生成され、管理手段104によって管理されている。グループ902に属するノードも、実施例2と同様に5つのノード(705〜708と、小さな「あ」である文字「ぁ」の関連付けられた変形ノード)となる。(図30において、変形ノード700を用いずに、ノード500に関連付けられた領域を変形させる場合は、ノード500には文字として文字502の他に文字504も関連付けられ、グループ901は実施例1の表3と同様の情報として生成され、グループ902は実施例1の表4と同様の情報として生成される。)
図31は、図30の属性ノード810だけを抜き出したものである。属性ノード810には領域756が関連付けられており、例えば表14のような情報として生成手段102によって生成され、管理手段104によって管理されている。実施例3の属性ノードと実施例1や実施例2の属性ノードとの違いは、属性が一つだけ関連付けられているのではなく、表14における属性リストの欄に示されるように複数の属性が関連付けられていることである。また、複数の属性が関連付けられていることから、表14における現在の属性の欄のような情報が関連づけられている。表14に示された現在の属性は、ノード500に関連付けられた表示情報が「子ノードが表示される際の初期設定としての情報として利用されるもの」である場合に、ノード500の子ノードのうち表示される子ノードのグループに関連付けられた属性に常に対応するものとして機能する情報である。ノード500に関連付けられた表示情報が「表示される子ノードのグループに関連付けられた属性に常に対応するもの」である場合には、表14から現在の属性の欄を消去したような情報として生成手段102によって生成されるということでも構わない。図30と図31では属性ノード810の領域内に描画される情報として文字「属性」が利用されているが、描画される情報には文字「属性」を利用するべきであるということではなく、他の言葉やアイコン等の絵による表現などが利用可能である。また、実施例3における属性ノードに関連付けられる領域は756のように大きなものに限るというわけではなく、図30におけるノード701〜704と同じ面積を持つような大きさのものであってもよいし、その他の大きさであってもよい。
実施例3においても、実施例1や実施例2と同様に検出手段による検出が行なわれる。すなわち、検出手段に検出される確定操作がクリック操作であった場合は、最初のクリック操作を第一の確定操作として検出し、属性ノードに関連付けられた領域以外の場所でのクリック操作を第二の確定操作として検出するように設定することも可能であり、その場合は、属性ノードに関連付けられた領域におけるクリック操作は第二の確定操作として検出されないため、オペレータは第一の確定操作の後に属性ノードをクリックすることによって表示される子ノードのグループを変更することが可能となる。クリック操作を第一の確定操作として設定し、ダブルクリック操作を第二の確定操作として設定した場合にも同様に、第一の確定操作後のクリック操作は第二の確定操作として検出されないため、オペレータは、第一の確定操作後の属性ノードにおけるクリック操作によって表示されるグループの変更を行なうことが可能である。また、ストロークの開始点と終了点のそれぞれを第一の確定操作と第二の確定操作として設定した場合は、ストローク中に変化する座標が検出手段によって検出され、ストロークが属性ノードに関連付けられた領域にさしかかった場合(ストロークが属性ノードに関連付けられた領域に入った場合)には表示されるグループの変更が管理手段によって行なわれる。これらの属性ノードを利用したグループ変更は、第二の確定操作が検出されるまでは何回でも可能であるため、オペレータは所望の文字を探しながら、しかし一連である操作によって入力文字を確定することが可能となる。
ただし、実施例3においては、属性ノードを利用したグループ変更の際に、「属性ノードに関連付けられた属性」として表14における属性リストの欄における属性を順番に利用することになる。属性ノード810に関連付けられた現在の属性(又はノード500に関連付けられた表示情報)と、属性ノード810に関連付けられた属性リストから、「属性ノードに関連付けられた属性」として利用される属性が決定される。例えば表14のような状態であれば、管理手段104は、現在の属性が「標準」であるため、属性リストにおいて「標準」の次に関連付けられた「小」を「属性ノードに関連付けられた属性」として利用し、現在の属性を「小」に変更する。ノード810に関連付けられた現在の属性が「小」である場合には、管理手段104は、属性リストにおいて「小」が最後であるためリストの最初に戻って「標準」を「属性ノードに関連付けられた属性」として利用し、現在の属性を「標準」に変更する。(ノード500に関連付けられた表示情報が「表示される子ノードのグループに関連付けられた属性に常に対応するもの」である場合には、管理手段104は、ノード810に関連付けられた現在の属性ではなく、ノード500に関連付けられた表示情報を参照し、ノード500に関連付けられた表示情報を変更する。)属性ノードに関連付けられる属性リストが3つ以上の属性の関連付けられたものであっても、同様にリストの順に従って「属性ノードに関連付けられた属性」として利用される。例えば、「標準、濁音、半濁音」の3つの属性が関連付けられていた場合は、「標準」の次に「濁音」が利用され、「濁音」の次に「半濁音」が利用され、「半濁音」の次にはリストの最初に戻って「標準」が利用されるということが繰り返される。
本発明を、その具体的な実施例を参照して具体的に示し、説明してきたが、当業者には明白であるように、特許請求の範囲に含まれる本発明の精神および範囲から離れることなく、形および詳細にさまざまな変更、修飾、変形、あるいは応用を行なうことが可能であり、それらは請求の範囲によってのみ制限される本発明に含まれるとみなされる。
本発明は、階層構造によって管理された選択肢からの選択によって文字を入力する文字入力装置、文字入力方法、及び文字入力プログラムであるため、入力装置に一般的なキーボードのように多くのスペースを割けないような機器において特に有効なものとなる。例えばペン入力やタッチパネル等のポインティングデバイスを備えたPDAや携帯電話又はリモコンの他に、ポインティングデバイス操作の代わりにテンキー操作やダイアル操作を用いることによってペン入力が可能ではないPDAや携帯電話及びリモコンにおける文字入力にも応用可能である。また、利用する面積が狭くて良いことと、クリック操作に一回の確定操作を割りあてることも可能であることから、オペレータの利用できる身体機能が限定された状況にける利用においても有効である。その他、タッチパネル等を備えたATMや図書館端末における文字入力にも利用可能である。
100 コンピュータ
101 検出手段
102 生成手段
103 判定手段
104 管理手段
105 描画手段
200 入力装置
201 ポインティングデバイス
300 ディスプレイ装置
301 画面
400 文字入力装置
501、754、756 領域
502〜504 文字
500、510、520、530、540、550、560、570、580、590、600、610、620〜631、700〜753、755、801〜810 ノード
700、755 変形ノード
700〜753、755 子ノード
801〜810 属性ノード
901、902 グループ

Claims (10)

  1. ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置において、前記文字入力装置は、
    前記入力装置によって得られる情報から座標と確定操作とを検出する検出手段と、
    座標が領域に含まれるかどうかを判定する判定手段と、
    領域と文字の関連付けられたノードを生成する生成手段と、
    前記ノードを管理する管理手段と、
    領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画手段とを備え、
    前記生成手段は、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることができ、
    前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、さらに当該ノードに関連付けられた領域を、前記検出手段が第一の確定操作を検出した際に検出された座標と、当該ノードに関連付けられた子ノードに関連付けられた領域と合同である領域の、両方を含む領域に変形させて前記描画手段によって描画し、
    前記管理手段は、前記検出手段が第二の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力装置。
  2. 請求項1記載の文字入力装置であって、
    前記生成手段は前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付け、
    前記生成手段は前記属性の関連付けられたノードを属性ノードとして生成し、
    前記管理手段は、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画手段によって描画し、
    前記管理手段は、前記検出手段が第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出手段の検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画手段によって描画する文字入力装置。
  3. 請求項1又は2記載の文字入力装置であって、
    前記生成手段は前記ノードに有効フラグを付与し、
    前記管理手段が前記判定手段によって判定を行なう際には有効フラグがオンであるノードについて判定を行なう文字入力装置。
  4. 請求項1から3のいずれか一項記載の文字入力装置であって、
    前記生成手段は、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付け、
    前記管理手段は、前記検出手段が第一の確定操作を検出した際に、前記検出手段の検出した座標が前記ノードに関連付けられた領域に含まれると前記判定手段によって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画手段によって描画し、当該ノードに関連付けられた領域を変形させない文字入力装置
  5. ポインティングデバイスを含む入力装置とディスプレイ装置とを備える文字入力装置における文字入力方法において、前記文字入力方法は、
    前記入力装置によって得られる情報から座標と確定操作とを検出する検出ステップと、
    座標が領域に含まれるかどうかを判定する判定ステップと、
    領域と文字の関連付けられたノードを生成する生成ステップと、
    前記ノードを管理する管理ステップと、
    領域の描画と文字の描画を前記ディスプレイ装置に実行させる描画ステップとを含み、
    前記生成ステップは、前記ノードを生成する際に当該ノードの子ノードとして一つ以上の他のノードを関連付けることがあり、
    前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、さらに当該ノードに関連付けられた領域を、前記検出ステップが第一の確定操作を検出した際に検出された座標と、当該ノードに関連付けられた子ノードに関連付けられた領域と合同である領域の、両方を含む領域に変形させて前記描画ステップによって描画し、
    前記管理ステップは、前記検出ステップが第二の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードに関連付けられた文字を入力文字として確定する文字入力方法。
  6. 請求項5記載の文字入力方法であって、
    前記生成ステップは前記ノードに子ノードを関連付ける際に属性の関連付けられたグループによって子ノードを関連付け、どの属性を持つグループが表示されるのかを示す表示情報を当該ノードに関連付け、
    前記生成ステップは前記属性の関連付けられたノードを属性ノードとして生成し、
    前記管理ステップは、第一の確定操作の際に選択された前記ノードの子ノードがグループによって関連付けられている場合は、当該ノードの前記表示情報と同じ属性を持つ前記グループに属する子ノードを前記描画ステップによって描画し、
    前記管理ステップは、前記検出ステップが第一の確定操作を検出した後に第二の確定操作を検出していない場合であって、前記検出ステップの検出した座標が前記属性ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合に、第一の確定操作の際に選択された前記ノードに、当該属性ノードに関連付けられた属性と同じ属性を持つ前記グループによって関連付けられた子ノードが存在する場合は、当該グループに属する前記ノードを前記描画ステップによって描画する文字入力方法。
  7. 請求項5又は6記載の文字入力方法であって、
    前記生成ステップは前記ノードに有効フラグを付与し、
    前記管理ステップが前記判定ステップによって判定を行なう際には有効フラグがオンであるノードについて判定を行なう文字入力方法。
  8. 請求項5から7のいずれか一項記載の文字入力方法であって、
    前記生成ステップは、前記ノードを生成する際に、当該ノードに関連付けられた領域を変形した領域の関連付けられた変形ノードを子ノードとして関連付け、
    前記管理ステップは、前記検出ステップが第一の確定操作を検出した際に、前記検出ステップの検出した座標が前記ノードに関連付けられた領域に含まれると前記判定ステップによって判定された場合は、当該ノードを選択するが、さらに当該ノードに子ノードが関連付けられている場合には、当該ノードの子ノードを前記描画ステップによって描画し、当該ノードに関連付けられた領域を変形させない文字入力方法
  9. コンピュータを請求項1から4のいずれか一項記載の文字入力装置として機能させる文字入力プログラム。
  10. 請求項5から8のいずれか一項記載の文字入力方法をコンピュータに実行させる文字入力プログラム。
JP2010261861A 2009-11-24 2010-11-24 文字入力装置、文字入力方法、及び文字入力プログラム Active JP5710944B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010261861A JP5710944B2 (ja) 2009-11-24 2010-11-24 文字入力装置、文字入力方法、及び文字入力プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009266356 2009-11-24
JP2009266356 2009-11-24
JP2010261861A JP5710944B2 (ja) 2009-11-24 2010-11-24 文字入力装置、文字入力方法、及び文字入力プログラム

Publications (2)

Publication Number Publication Date
JP2011134313A JP2011134313A (ja) 2011-07-07
JP5710944B2 true JP5710944B2 (ja) 2015-04-30

Family

ID=44346915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010261861A Active JP5710944B2 (ja) 2009-11-24 2010-11-24 文字入力装置、文字入力方法、及び文字入力プログラム

Country Status (1)

Country Link
JP (1) JP5710944B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101892208B1 (ko) 2011-12-12 2018-08-27 구글 엘엘씨 다중 문자 복합 자음 또는 모음의 입력과 터치 컴퓨팅 디바이스를 사용한 다른 언어로의 음역에 관한 기술
JP6029638B2 (ja) * 2014-02-12 2016-11-24 ソフトバンク株式会社 文字入力装置、及び、文字入力プログラム
JP5989740B2 (ja) * 2014-02-12 2016-09-07 ソフトバンク株式会社 文字入力装置、文字入力プログラム、表示制御装置、表示制御方法、及び表示制御プログラム
JP6518999B2 (ja) * 2014-08-20 2019-05-29 コニカミノルタ株式会社 入力/表示装置および画像形成装置
JP2016053932A (ja) * 2014-09-04 2016-04-14 高 元祐 仮名又は英字による濁音、半濁音からのフリックによる日本語入力。
JP6062518B2 (ja) * 2015-09-28 2017-01-18 京セラ株式会社 電子機器、制御プログラム及び処理実行方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181608A (ja) * 1998-12-17 2000-06-30 Sharp Corp 仮想入力装置
JP2002091676A (ja) * 2000-09-13 2002-03-29 Sanyo Electric Co Ltd 入力装置
JP2002108543A (ja) * 2000-09-21 2002-04-12 Nokia Mobile Phones Ltd 仮名文字入力方法
CN1672141A (zh) * 2002-08-16 2005-09-21 姜润基 使用软键盘输入字符的方法
JP3797977B2 (ja) * 2003-03-17 2006-07-19 株式会社クレオ 文字入力装置、文字入力方法及び文字入力プログラム
JP2005032189A (ja) * 2003-07-11 2005-02-03 Sony Corp 文字入力制御方法、文字入力プログラム及び文字入力装置
JP2008204260A (ja) * 2007-02-21 2008-09-04 Mitsubishi Electric Corp 電子機器
JP2009080664A (ja) * 2007-09-26 2009-04-16 Kyocera Mita Corp 文字入力装置、画像形成装置及び電子機器
KR100949581B1 (ko) * 2007-10-08 2010-03-25 주식회사 자코드 통신단말기의 문자/숫자 입력장치 및 입력방법
JP2009169456A (ja) * 2008-01-10 2009-07-30 Nec Corp 電子機器、該電子機器に用いられる情報入力方法及び情報入力制御プログラム、並びに携帯端末装置
JP2010033272A (ja) * 2008-07-28 2010-02-12 Fujitsu Ltd 文字入力装置、文字入力方法及び文字入力プログラム

Also Published As

Publication number Publication date
JP2011134313A (ja) 2011-07-07

Similar Documents

Publication Publication Date Title
KR101085603B1 (ko) 다점 감지 장치를 이용한 제스처링
US9189131B2 (en) Context menus
JP5270537B2 (ja) マルチタッチ利用、ジェスチャ及び実装
US9134880B2 (en) System and method for summoning user interface objects
US8471814B2 (en) User interface control using a keyboard
US20160062649A1 (en) System and method for preview and selection of words
JP5710944B2 (ja) 文字入力装置、文字入力方法、及び文字入力プログラム
US20120154313A1 (en) Multi-touch finger registration and its applications
KR20110014891A (ko) 터치스크린을 구비한 휴대 단말의 문자 입력 방법 및 장치
US11693556B2 (en) Creating tables using gestures
JP6029038B2 (ja) 文字入力装置、文字入力方法、及び文字入力プログラム
JP2007287015A (ja) 階層構造として記述された項目を選択する入力装置、文字入力装置および入力プログラム
KR20210030908A (ko) 버튼에 배정된 특정 그룹 문자 배정 변환 방법
WO2008133619A2 (en) System and method for preview and selection of words
US20150012866A1 (en) Method for Data Input of Touch Panel Device
TWI389019B (zh) 觸碰操作方法與電子裝置之操作方法
CN101667094A (zh) 移动装置的金融看盘软件的操作方法
TW202042047A (zh) 多點觸發指令系統與方法
KR101910193B1 (ko) 언어 선택 방법 및 기록매체
KR102235111B1 (ko) 버튼에 배정된 특정 그룹 문자 배정 변환 방법
JP2016200896A (ja) 文字入力方法、装置、及びプログラム
JP2011253284A (ja) 情報処理装置、情報処理方法及びプログラム
TW202034166A (zh) 環狀指令條系統與方法
KR20140098026A (ko) 휴대폰을 포함한 휴대 가능한 전자기기에서의 키보드 ui
TWM467948U (zh) 觸控裝置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

R150 Certificate of patent or registration of utility model

Ref document number: 5710944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250