(57)【要約】【課題】ＵＮＤＯ機能を備えた文字入力において過去の任意の時点における文字入力状態を復元可能にする。【解決手段】入力インタフェース（１０）を介して入力される文字を出力インタフェース（５０）を介して表示する文字入力装置において、入力履歴バッファ（３０）は、文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を保持する。入力履歴管理部（２０）は、文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファ（３０）に記録し、ＵＮＤＯを受け付けたとき、入力履歴バッファ（３０）に保持されている文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を入力履歴バッファ（３０）に記録する。【選択図】図１
2008257318.tif 000002
【特許請求の範囲】
【請求項１】
入力インタフェースを介して入力される文字を出力インタフェースを介して表示する文字入力装置であって、
文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を保持する入力履歴バッファと、
文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに前記入力履歴バッファに記録し、ＵＮＤＯを受け付けたとき、前記入力履歴バッファに保持されている文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を前記入力履歴バッファに記録する入力履歴管理部とを備えた
ことを特徴とする文字入力装置。
【請求項２】
請求項１に記載の文字入力装置において、
前記入力履歴管理部は、ＲＥＤＯを受け付けたとき、前記入力履歴バッファに保持されているＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯの実行前の状態に戻すとともに前記入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除する
ことを特徴とする文字入力装置。
【請求項３】
入力インタフェースを介して入力される文字を出力インタフェースを介して表示する文字入力方法であって、
文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファに記録するステップと、
ＵＮＤＯを受け付けたとき、前記入力履歴バッファに保持されている文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を前記入力履歴バッファに記録するステップとを備えた
ことを特徴とする文字入力方法。
【請求項４】
請求項３に記載の文字入力方法において、
ＲＥＤＯを受け付けたとき、前記入力履歴バッファに保持されているＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯの実行前の状態に戻すとともに前記入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除するステップを備えた
ことを特徴とする文字入力方法。
【請求項５】
コンピュータに、入力インタフェースを介して入力される文字を出力インタフェースを介して表示する機能を実現させるための文字入力プログラムであって、
文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファに記録する手段、及び
ＵＮＤＯを受け付けたとき、前記入力履歴バッファに保持されている文字入力及びＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を前記入力履歴バッファに記録する手段として、コンピュータを機能させる
ことを特徴とする文字入力プログラム。
【請求項６】
請求項５に記載の文字入力プログラムにおいて、
ＲＥＤＯを受け付けたとき、前記入力履歴バッファに保持されているＵＮＤＯによって文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯ実行前の状態に戻すとともに前記入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除する手段として、コンピュータを機能させる
ことを特徴とする文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力インタフェースを介して入力される文字を出力インタフェースを介して表示する文字入力装置、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、グラフィカルユーザインタフェース（ＧＵＩ）を搭載したパーソナルコンピュータ（ＰＣ）が登場し、キーボードなどの入力インタフェースを介して文字を入力する機会が増えてきた。入力された文字は文字データとしてコンピュータ内のメモリに蓄積され、モニターなどの出力インタフェースを介して文字として表示される。この文字の入力から表示までに要する時間は非常に短く、紙にペンで文字を直接書いているのと同じような感覚で文字を入力することができる。コンピュータ内のメモリは、電気的に書き換えが可能であるため、紙にペンで記入するよりも文章の編集が容易である。
【０００３】
特に、ワープロソフトやテキストエディタなどのＰＣ用アプリケーションソフトウェアには、直前まで行っていた入力をキャンセルする機能（ＵＮＤＯ機能）を有するものが登場している。同様の機能が携帯電話機にも搭載されている。これにより、効率よくメール文章などを作成することができる。
【０００４】
従来、テキストファイルの編集に関して、表示部で表示する文字を格納するテキストバッファとは別に文字入力を管理する専用バッファを設け、利用者が削除した文字を再度表示したいときには専用バッファより復活させるという手法が開示されている（例えば、特許文献１参照）。これにより、文字入力の効率化を図っている。
【特許文献１】特開平６−３０９３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＰＣやＰＤＡなどの文字入力装置では情報を文字として保持しておくことが多い。文字はキーボードやソフトウェアキーボードなどの入力インタフェースを介して入力され、液晶ディスプレイなどの出力インタフェースを介して直ちに表示される。
【０００６】
入力ミスや入力内容の変更などで入力文字を修正したいことがある。この入力文字の修正を実現するために、文字入力装置には「元に戻す」（ＵＮＤＯ）と「やり直し」（ＲＥＤＯ）という二つの機能が備わっている。これら機能は、文字入力を実現するソフトウェアによって画面上に表示されるボタン、アイコン、メニューの選択肢や、文字入力装置上に配置されたボタンやキーなどから呼び出される。
【０００７】
ＵＮＤＯを実行するとその直前に行った文字入力が取り消される。すなわち、文字入力によって文字が追加又は削除された後にＵＮＤＯを実行すると当該追加又は削除された文字が削除又は追加され、文字表示が元の状態に戻る。ＵＮＤＯを連続して実行すると、文字入力装置が文字の追加又は削除の履歴を保持している限り、過去に遡って文字入力が取り消される。
【０００８】
一方、ＲＥＤＯを実行するとその直前に実行したＵＮＤＯが取り消されて文字表示が当該ＵＮＤＯの実行前の状態に戻る。ＲＥＤＯを連続して実行すると、連続して実行されたＵＮＤＯが過去に遡って取り消されて文字表示が過去の状態に戻る。
【０００９】
しかし、ＵＮＤＯによって文字表示を過去の状態に戻してから文字入力を行うと、当該ＵＮＤＯによって削除又は追加された文字はもはや復元することができない。例えば、４文字を連続入力して表示が“ａｂｃｄ”になったとする。その後、ＵＮＤＯを２回連続実行して“ｄ”、“ｃ”を削除した後に“ｅｆ”と２文字連続入力すると文字表示は“ａｂｅｆ”となる。ここで、最初の“ａｂｃｄ”に戻そうとしてＵＮＤＯを４回連続実行しても、“ｆ”、“ｅ”、“ｂ”、“ａ”の順に４文字が削除されてしまう。すなわち、先のＵＮＤＯによって削除された“ｃ”、“ｄ”は復元されずに、代わりに“ｃ”の前に入力された“ｂ”、“ａ”が削除されてしまう。
【００１０】
上記問題に鑑み、本発明は、ＵＮＤＯ機能を備えた文字入力において過去の任意の時点における文字入力状態を復元可能にすることを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明が講じた手段は、入力インタフェースを介して入力される文字を出力インタフェースを介して表示する文字入力装置として、文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を保持する入力履歴バッファと、文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファに記録し、ＵＮＤＯを受け付けたとき、入力履歴バッファに保持されている文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を入力履歴バッファに記録する入力履歴管理部とを備えたものとする。
【００１２】
また、入力インタフェースを介して入力される文字を出力インタフェースを介して表示する文字入力方法として、文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファに記録するステップと、ＵＮＤＯを受け付けたとき、入力履歴バッファに保持されている文字入力又はＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を入力履歴バッファに記録するステップとを備えたものとする。
【００１３】
また、コンピュータに、入力インタフェースを介して入力される文字を出力インタフェースを介して表示する機能を実現させるための文字入力プログラムとして、文字入力を受け付けたとき、当該文字入力による文字の追加又は削除を文字表示に反映させるとともに入力履歴バッファに記録する手段、及びＵＮＤＯを受け付けたとき、入力履歴バッファに保持されている文字入力及びＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を過去の状態に戻すとともに当該処理による文字の追加又は削除を入力履歴バッファに記録する手段として、コンピュータを機能させるものとする。
【００１４】
これによると、ＵＮＤＯによる文字の追加又は削除が入力履歴バッファに記録されるため、過去のＵＮＤＯによって追加又は削除された文字を復元することができる。これにより、過去の任意の時点における文字入力状態を復元することができる。
【００１５】
入力履歴管理部は、ＲＥＤＯを受け付けたとき、入力履歴バッファに保持されているＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯの実行前の状態に戻すとともに入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除することが好ましい。同様に、上記文字入力方法は、ＲＥＤＯを受け付けたとき、入力履歴バッファに保持されているＵＮＤＯによる文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯの実行前の状態に戻すとともに入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除するステップを備えていることが好ましい。同様に、上記文字入力プログラムは、ＲＥＤＯを受け付けたとき、入力履歴バッファに保持されているＵＮＤＯによって文字の追加又は削除の履歴を過去に遡って参照して文字表示を当該ＵＮＤＯ実行前の状態に戻すとともに入力履歴バッファから当該ＵＮＤＯによる文字の追加又は削除の履歴を削除する手段として、コンピュータを機能させることが好ましい。
【００１６】
これによると、ＲＥＤＯによってＵＮＤＯがなかったことにされてその履歴が入力履歴バッファから削除されるため、限られた入力履歴バッファの資源を有効に活用することができる。
【発明の効果】
【００１７】
以上のように本発明によると、ＵＮＤＯ機能を備えた文字入力において過去の任意の時点における文字入力状態を復元することができる。これにより、文字入力の効率及び操作性が向上する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。図１は、最良の実施形態に係る文字入力装置の構成を示す。利用者は入力インタフェース１０を介して文字入力装置に対して所望の入力をする。入力インタフェース１０は文字入力装置の一部として構成してもよいし、パーソナルコンピュータなどの場合には、キーボードなどから入力された指示を受け取るアプリケーションで実現してもよい。この場合、入力インタフェース１０は、利用者の入力を受け取るオペレーティングシステムなどの下位層のソフトウェアとして実現される。
【００１９】
入力履歴管理部２０は、入力された操作内容を解析して、あらかじめ埋め込まれたルールに従って入力履歴バッファ３０とテキストバッファ４０を管理する。ここで、ルールとは、文字入力、ＵＮＤＯ及びＲＥＤＯの各処理のことを言う。入力履歴管理部２０は、文字処理専用の半導体集積回路や中央演算処理装置で動作するプログラムなどで実現可能である。
【００２０】
入力履歴バッファ３０は、入力履歴管理部２０によって解釈された操作の履歴を保持し、必要に応じて入力履歴管理部２０に履歴を提供する。履歴は、入力が古いものから順に記録されているが、入力履歴管理部２０は記録順にかかわらずに自由に履歴にアクセス可能である。入力履歴バッファ３０において保持可能な履歴の数は、入力履歴バッファ３０の物理的な記憶容量に比例する。入力履歴バッファ３０は、ＳＤＲＡＭなどの一時記憶装置や、ＨＤＤ、フラッシュメモリ、磁気ディスク装置、光ディスク装置などの長期記憶可能な記憶装置などで実現可能である。
【００２１】
テキストバッファ４０は、入力履歴管理部２０によって生成された文章（文字列）を保持する。すなわち、テキストバッファ４０には、利用者に表示するための最終的な文章が保持されている。テキストバッファ４０は、ＳＤＲＡＭなどの高速な一時記憶装置で実現可能である。
【００２２】
出力インタフェース５０は、テキストバッファ４０に保持されている文章を利用者に対して表示する。利用者は出力インタフェース５０を介して表示された文字を見て、入力インタフェース１０を介して次の操作を行う。出力インタフェース５０は文字入力装置の一部として構成してもよいし、パーソナルコンピュータ上のソフトウェアとして実現してもよい。後者の場合、システム共用の液晶ディスプレイやＣＲＴなどに文字が表示される。
【００２３】
次に、入力履歴管理部２０の動作について詳細に説明する。図２は、入力履歴管理部２０の動作のフローを示す。利用者による入力操作があると（Ｓ１１）、当該操作内容が解釈される（Ｓ１２）。そして、当該操作内容が文字入力の場合（Ｓ１３のＹＥＳ肢）には文字入力の処理が実行され（Ｓ１４）、ＵＮＤＯの場合（Ｓ１５のＹＥＳ肢）にはＵＮＤＯの処理が実行され（Ｓ１６）、ＲＥＤＯの場合（Ｓ１７のＹＥＳ肢）にはＲＥＤＯの処理が実行される（Ｓ１８）。文字入力、ＵＮＤＯ及びＲＥＤＯのいずれかの処理が終了すると、テキストバッファ４０の内容が出力インタフェース５０を介して表示される（Ｓ１９）。利用者は上記のステップＳ１１〜Ｓ１９を繰り返して所望の文章を作成する。なお、パーソナルコンピュータのテキストエディタアプリケーションやワードプロセッサーなどではステップＳ１１において上記３つの操作以外にもさまざまな制御情報が入力されるが、本発明の主題から外れるためここでは言及しない。
【００２４】
図３は、入力履歴管理部２０が文字入力を受け付けたときのフローを示す。本フローは図２に示したステップＳ１４を詳細に示したものである。ここで、文字入力とは、現在入力中の文章に新たに文字を追加するあるいは削除することを言う。文字の追加の例として、「あ」や「Ｂ」などの文字の入力、パーソナルコンピュータのキーボードにあるＥｎｔｅｒキーによる改行入力、Ｓｐａｃｅキーによる空白入力などが挙げられる。文字の削除の例として、ＢａｃｋＳｐａｃｅキーやＤｅｌｅｔｅキーによる文字削除が挙げられる。なお、文字入力は一文字単位に限定されず、単語やフレーズを単位であってもよい。
【００２５】
文字入力の際にはすでに入力されている文章のどの位置に文字を追加あるいは削除するのかを示す情報も同時に取得することが好ましい。テキスト入力時の位置情報は、入力用画面中の入力カーソルの位置を利用するとよい。まだ一文字も入力されていない場合には、文字の入力位置を１行目の１文字目とすればよい。
【００２６】
入力履歴管理部２０は、入力された文字とその文字の入力位置を受け取り、当該文字が追加又は削除されたこと及びその入力位置を入力履歴バッファ３０に記録する（Ｓ１４１）。そして、テキストバッファ４０に当該受け取った文字を追加する（Ｓ１４２）。これにより、文字表示が文字入力を反映したものとなる。ステップＳ１４１とＳ１４２の順序は逆になってもよい。
【００２７】
図４は、入力履歴管理部２０がＵＮＤＯを受け付けたときのフローを示す。本フローは図２に示したステップＳ１６を詳細に示したものである。入力履歴管理部２０は、入力履歴バッファ３０に保持されている履歴を過去に遡って参照し、直近に利用者によってなされた操作の内容を取得する（Ｓ１６１）。当該操作内容が文字入力である場合（Ｓ１６２のＹＥＳ肢）、当該文字入力を取り消して当該取り消しによる文字の追加又は削除を入力履歴バッファ３０に記録する（Ｓ１６３）。具体的には、入力履歴管理部２０は、当該文字入力が文字を追加するものであった場合には当該追加された文字を削除したことを、当該文字入力が文字を削除するものであった場合には当該削除された文字を追加したことを、それぞれ入力履歴バッファ３０に記録する。
【００２８】
一方、ステップＳ１６１で取得した操作内容が文字入力ではなくＵＮＤＯである場合（Ｓ１６２のＮＯ肢）、入力履歴管理部２０は、当該ＵＮＤＯを取り消して当該取り消しによる文字の追加又は削除を入力履歴バッファ３０に記録する（Ｓ１６４）。具体的には、入力履歴管理部２０は、当該ＵＮＤＯが文字を追加するものであった場合には当該追加された文字を削除したことを、当該ＵＮＤＯが文字を削除するものであった場合には当該削除された文字を追加したことを、それぞれ入力履歴バッファ３０に記録する。なお、後述するＲＥＤＯ処理によってＵＮＤＯに係る履歴のみを入力履歴バッファ３０から削除するために、文字の追加又は削除を入力履歴バッファ３０に記録する際にそれがＵＮＤＯの取り消しによるものか否かが識別できるようにする必要がある。
【００２９】
ステップＳ１６３又はＳ１６４の処理が終了すると、入力履歴管理部２０は、文字入力の取り消しあるいはＵＮＤＯの取り消しによって追加又は削除された文字をテキストバッファ４０に反映させる（Ｓ１６５）。これにより、文字表示が過去の状態に戻る。ＵＮＤＯを連続して実行する場合には、ステップＳ１６１において、入力履歴バッファ３０に保持されている履歴を過去に遡って参照して過去になされた操作内容を取得する。ステップＳ１６３又はＳ１６４に先行してステップＳ１６５を実行してもよい。
【００３０】
本実施形態に係る文字入力装置によるＵＮＤＯについて具体例を挙げて説明する。例えば、４文字を連続入力して表示が“ａｂｃｄ”になったとする。その後、ＵＮＤＯを２回連続実行して“ｄ”、“ｃ”を削除した後に“ｅｆ”と２文字連続入力すると文字表示は“ａｂｅｆ”となる。ここで、ＵＮＤＯを２回連続実行すると“ｆ”、“ｅ”が削除されて文字表示が“ａｂ”に戻り、さらにＵＮＤＯを２回連続実行すると、過去のＵＮＤＯによって削除された“ｃ”、“ｄ”が追加されて、文字表示は“ａｂｃｄ”に戻る。
【００３１】
図５は、入力履歴管理部２０がＲＥＤＯを受け付けたときのフローを示す。本フローは図２に示したステップＳ１８を詳細に示したものである。入力履歴管理部２０は、入力履歴バッファ３０に保持されている履歴を参照し、直近に利用者によってなされた操作の内容を取得する（Ｓ１８１）。当該操作内容がＵＮＤＯである場合（Ｓ１８２のＹＥＳ肢）、入力履歴バッファ３０から当該ＵＮＤＯに係る履歴を削除する（Ｓ１８３）。そして、入力履歴管理部２０は、ＵＮＤＯの取り消しによって追加又は削除された文字をテキストバッファ４０に反映させる（Ｓ１８４）。これにより、文字表示がＵＮＤＯの実行前の状態に戻る。一方、ステップＳ１８１で取得した操作の内容がＵＮＤＯではなく文字入力である場合（Ｓ１８２のＮＯ肢）、ＲＥＤＯは終了する。これは、ＲＥＤＯは直前に実行されたＵＮＤＯをなかったことにすることを目的とするものであるため、ＲＥＤＯの直前の操作が文字入力とはなり得ないからである。ＵＮＤＯが連続して実行されている場合には、ＲＥＤＯを連続して実行することが可能である。ステップＳ１８３とＳ１８４の順序は逆になってもよい。
【産業上の利用可能性】
【００３２】
本発明に係る文字入力装置は、ＵＮＤＯによって過去の任意の時点における文字入力状態を復元することができるため、パーソナルコンピュータや携帯電話機の文字入力装置として有用である。
【図面の簡単な説明】
【００３３】
【図１】本発明の最良の実施形態に係る文字入力装置の構成図である。
【図２】入力履歴管理部の動作のフローチャートである。
【図３】文字入力のフローチャートである。
【図４】ＵＮＤＯのフローチャートである。
【図５】ＲＥＤＯのフローチャートである。
【符号の説明】
【００３４】
１０  入力インタフェース
２０  入力履歴管理部
３０  入力履歴バッファ
５０  出力インタフェース
【図１】
2008257318.tif 000003
【図２】
2008257318.tif 000004
【図３】
2008257318.tif 000005
【図４】
2008257318.tif 000006
【図５】
2008257318.tif 000007