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

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

Info

Publication number
JP2011138305A
JP2011138305A JP2009297700A JP2009297700A JP2011138305A JP 2011138305 A JP2011138305 A JP 2011138305A JP 2009297700 A JP2009297700 A JP 2009297700A JP 2009297700 A JP2009297700 A JP 2009297700A JP 2011138305 A JP2011138305 A JP 2011138305A
Authority
JP
Japan
Prior art keywords
character string
information
input
transmission
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.)
Pending
Application number
JP2009297700A
Other languages
English (en)
Inventor
Naomi Iwayama
尚美 岩山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009297700A priority Critical patent/JP2011138305A/ja
Publication of JP2011138305A publication Critical patent/JP2011138305A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】カーソルの移動や削除などの操作を、アプリケーションに送信した文字列単位で行うことを可能にする。
【解決手段】文字入力装置は、対象アプリケーションに送信する送信文字列情報を決定する文字列決定部と、送信文字列情報を対象アプリケーションに送信する文字列送信部と、前後に送信された送信文字列情報と関係付けて送信文字列情報を記憶する送信情報記憶部と、編集操作に関する入力情報が入力された場合に、送信情報記憶部に記憶された送信文字列情報を単位として編集イベントを生成する編集イベント生成部と、編集イベントを対象アプリケーションに送信する編集イベント送信部とを備える。
【選択図】図1

Description

本発明は、入力手段を介してユーザが入力する文字情報をアプリケーションに反映させるための文字入力装置、文字入力方法及びそのプログラムに関する。
種々のアプリケーションを実行する情報処理装置では、入力手段を介してユーザが入力する文字情報を受け付けて、これをアプリケーション上に反映するための文字入力装置を備えている。
情報処理装置には、キーボード、マウス、操作ボタン、タッチパネル、手書き入力パッド、その他の入力手段のうちの少なくとも1つを備えている。情報処理装置では、入力手段を介して入力される文字情報を文字入力装置において受け付けて、文字の変換処理などを経てこれをアプリケーション上に反映させる。
文字入力装置は、入力手段を用いて入力される情報を、ユーザが所望する情報に一致させるようなインターフェイスを提供するものである。したがって、ユーザは、文字入力装置が用意する規則に従って、入力手段を操作することによって、所望の情報を入力することが可能となる。
携帯電話やPDA(Personal Digital Assistants)などの携帯端末では、物理的なサイズに制約があり、設けられる入力手段にも制約がある。通常の携帯電話端末では、ハードウェアテンキーとカーソル移動用の十字キー、削除やその他のコマンドキーを備えており、ユーザはこれらキーを操作することにより種々の情報を入力することが可能である。
ユーザは、携帯電話端末の十字キーを用いてカーソル移動し、ハードウェアテンキーを用いてマルチタップにより入力する文字を選択し、削除キーを操作することにより削除を指示することにより、文字入力を行う。
ハードウェアキーを備えていない携帯端末では、たとえば、表示装置がタッチ入力可能なタッチパネルで構成され、画面上に表示されるソフトウェアキーボードを利用して文字入力や編集操作を行う。このようなソフトウェアキーボードを用いた携帯端末においても、同様に、テンキー、カーソル移動キー、削除キー、その他のコマンドキーがソフトウェアキーとして用意され、カーソルキーを操作してカーソル移動し、テンキーを用いてマルチタップにより入力する文字を選択し、削除キーを操作することにより削除を指示することにより、文字入力を行う。
このような情報処理装置における文字入力を簡便化するために、種々の提案がなされている。
たとえば、予め用意された所定の定型文字列を入力候補文字列として表示し、ユーザが選択した入力候補文字列をアプリケーションへの入力文字情報として反映させるようにした文字入力装置が提案されている(特許文献1)。
また、ユーザが入力した先頭の数文字からユーザが入力しようとしている文字列を予測して、入力候補文字列として表示し、ユーザが選択した入力候補文字列をアプリケーションへの入力文字情報として反映させるようにした文字入力装置が提案されている(特許文献2)。
このような文字入力装置では、ユーザが文字列全部を入力する前に、入力候補文字列を表示することによって、入力手段の操作回数を減少することができ、少ない操作回数で多くの文字入力を可能とする。したがって、情報処理装置上の各種アプリケーションに文字入力を行う際に、ユーザの操作の煩雑性を軽減することができ、迅速でかつ正確な文字入力を可能とする。特に、携帯端末のように、入力手段に制約がある情報処理装置では、前述したような構成とすることにより、操作性を向上することができる。
文字入力装置を介してアプリケーションに送信された文字列は、アプリケーション画面上で表示され、逐次編集が可能となる。この時、削除を指示するための削除指示キーや編集対象である文字列情報を指示するための選択用カーソルの移動は、アプリケーション画面上に表示された1文字毎に行われる。したがって、文字入力装置を介して文字列情報を一括して入力した場合であっても、その文字列情報を構成する1文字毎に削除やカーソル移動の指示を行う必要がある。
特に、前述したように、入力候補文字列を表示してこれをユーザに選択させるようにした文字入力装置では、入力時における操作回数を減少することは可能であるが、アプリケーションに一旦入力されてしまった文字列を編集するには、1文字毎のカーソル移動や1文字毎の削除指示などが必要となる。したがって、文字入力装置からアプリケーションに一括入力した文字列であっても、この文字列を一括して削除や編集することができず、文字列の長さに相当する回数だけ削除キーやカーソル移動キーを操作する必要がある。特に、予め用意された入力候補文字列が長い程、一括入力の操作回数を減少させることができるが、逆にアプリケーションに入力された後の文字列の編集を行う場合には、操作回数が増加してしまう。このように、削除やカーソル移動の回数が増加すると、必要以上にキー操作を繰り返すおそれがあり、さらに操作回数の増加を助長することとなる。
特開平11-202996号公報 特開2008-305385号公報
本発明は、ユーザが入力した文字列情報を編集する際に、カーソルの移動や削除などの操作を、アプリケーションに送信した文字列単位で行うことを可能にする文字入力装置を提供する。
本発明に係る文字入力装置は、入力部を介して入力された入力情報に対応する文字列情報を、文字入力の対象となっている対象アプリケーションに送信する文字入力装置であって、入力部から入力された入力情報に対応して、対象アプリケーションに送信する送信文字列情報を決定する文字列決定部と、文字列決定部で決定された送信文字列情報を対象アプリケーションに送信する文字列送信部と、文字列送信部が送信した送信文字列情報を、前後に送信された送信文字列情報と関係付けて記憶する送信情報記憶部と、対象アプリケーション上に表示された文字列情報に対する編集操作に関する入力情報が入力された場合に、送信情報記憶部に記憶された送信文字列情報を単位として編集イベントを生成する編集イベント生成部と、編集イベント生成部により生成された編集イベントを対象アプリケーションに送信する編集イベント送信部とを備える。
ここで、編集操作に関する入力情報は、対象アプリケーション上に表示されている文字情報または文字列情報の削除指示、削除指示の対象となる文字情報または文字列情報を特定するか、あるいは新たな文字情報または文字列情報を挿入する位置を特定するためのカーソルの移動に関する指示入力を含む。
上述した本発明の構成では、編集操作に関する入力情報があった場合に、送信情報記憶部に記憶された送信文字列情報を単位として、削除を行う指示やカーソル移動の指示を対象アプリケーションに送信することが可能となり、対象アプリケーション上の文字列情報の編集を簡便化することができる。
図1は、文字入力装置の概要構成を示す機能ブロック図である。 図2は、第1実施形態の文字入力装置の機能ブロック図である。 図3は、文字入力処理のフローチャートである。 図4は、文字入力処理のフローチャートである。 図5は、文字入力処理のフローチャートである。 図6は、文字入力処理のフローチャートである。 図7は、文字入力処理のフローチャートである。 図8は、文字入力処理のフローチャートである。 図9は、ディスプレイの画面構成の一例を示す説明図である。 図10は、ディスプレイの画面構成の他の例を示す説明図である。 図11は、文字列情報テーブルの一例を示す説明図である。 図12は、候補文字列の配置情報テーブルの一例を示す説明図である。 図13は、候補文字列の表示画面の一例を示す説明図である。 図14は、文字列の接続情報テーブルの一例を示す説明図である。 図15は、候補文字列の表示の一例を示す説明図である。 図16は、送信情報記憶部に記憶される送信情報の一例を示す説明図である。 図17は、送信情報に基づいて表示される表示画面例の説明図である。 図18は、送信文字列情報を挿入する場合の送信情報の更新処理を示す説明図である。 図19は、送信文字列情報が挿入された後の画面表示例を示す説明図である。 図20は、文字列情報削除処理を行う前の送信情報の説明図である。 図21は、文字列情報削除処理を行う前の表示画面の説明図である。 図22は、文字列情報削除処理を行った後の送信情報の説明図である。 図23は、文字列情報削除処理を行った後の表示画面の説明図である。 図24は、カーソルの左移動処理を行う前の送信情報の説明図である。 図25は、カーソルの左移動処理を行う前の表示画面の説明図である。 図26は、カーソルの左移動処理を行った後の送信情報の説明図である。 図27は、カーソルの左移動処理を行った後の表示画面の説明図である。 図28は、カーソルの右移動処理を行う前の送信情報の説明図である。 図29は、カーソルの右移動処理を行う前の表示画面の説明図である。 図30は、カーソルの右移動処理を行った後の送信情報の説明図である。 図31は、カーソルの右移動処理を行った後の表示画面の説明図である。 図32は、送信情報の更新処理を示すフローチャートである。 図33は、送信情報の更新処理を示すフローチャートである。 図34は、送信情報の更新処理を示すフローチャートである。 図35は、カーソルの左移動処理のフローチャートである。 図36は、カーソルの右移動処理のフローチャートである。 図37は、削除の編集操作に関する編集イベント生成処理のフローチャートである。 図38は、カーソル左移動の編集操作に関する編集イベント生成処理のフローチャートである。 図39は、カーソル右移動の編集操作に関する編集イベント生成処理のフローチャートである。
本発明の文字入力装置について、図示した実施例に基づいて詳細に説明する。
<概要構成>
図1は、文字入力装置の概要構成を示す機能ブロック図である。
文字入力装置10は、携帯電話端末、PDA、パーソナルコンピュータ、その他、CPU、ROM、RAM、記憶装置、入出力インターフェイス、ディスプレイ、スピーカなどを備える情報処理装置上で動作するアプリケーションとすることができる。
文字入力装置10は、情報処理装置に設けられたハードウェアキーやソフトウェアキー、キーボード、マウス、手書き入力装置、その他の入力部11を介して入力された入力情報を受け付ける。
文字入力装置10が適用される情報処理装置では、文字入力を受け付ける1又は複数のアプリケーションが動作可能となっており、文字入力装置10を介してユーザが入力する入力情報を受けてそれをアプリケーション上で反映する。
送信文字列決定部12は、入力部11から入力された入力情報に対応して、対象アプリケーションに送信する送信文字列を決定する。
文字列送信部13は、文字列決定部12で決定された送信文字列を対象アプリケーションに送信する。
送信情報記憶部14は、文字列送信部13が送信した送信文字列情報を、前後に送信された送信文字列情報と関係付けて記憶する。
編集イベント生成部15は、対象アプリケーション上に表示された文字列情報に対する編集操作に関する指示入力があった場合に、送信情報記憶部14に記憶された送信文字列情報を単位として編集イベントを生成する。
編集イベント送信部16は、編集イベント生成部15により生成された編集イベントに基づいて編集情報を対象アプリケーションに送信する。
<第1実施形態>
文字入力装置10の具体的な例として、以下の第1実施形態に基づいて説明する。
第1実施形態の文字入力装置10は、ユーザが入力する文字列情報の一部または送信文字列情報から、ユーザが入力しようとしている文字列情報を予測し候補文字列情報として表示する場合を想定している。
図2は、文字入力装置の第1実施形態の機能ブロック図である。
文字入力装置10は、CPU、ROM、RAM、記憶装置、入出力インターフェイス、ディスプレイ、スピーカなどを備える情報処理装置上で動作するアプリケーションで構成できる。たとえば、携帯電話端末やPDAなどの移動端末上で動作する場合には、文字入力装置10は、入力キーやタッチパネルにより構成されるソフトウェアキーなどを入力部としてユーザからの入力情報を取得し、移動端末上で動作する他のアプリケーションソフトウェアに対して入力された文字情報を反映するように構成される。
文字入力装置10は、入力受付部101、入力文字決定部102、未確定文字列更新部103、未確定文字列保持部104、未確定文字列表示部105、文字列辞書106、候補文字列選択部107、候補文字列表示部108、送信文字列決定部12、文字列送信部13、送信情報記憶部14、編集イベント生成部15、編集イベント送信部16を備えている。
入力受付部101は、端末上に配置された入力キーやタッチパネル上に構成されるソフトウェアキーなどの入力部11を介してユーザが入力する入力情報を受け付ける。
入力受付部101が受け付ける入力情報は、ユーザが対象アプリケーションに対して入力しようとする文字に関する文字入力指示情報、ディスプレイに表示された候補文字列のうちから対象アプリケーションに送信する文字列を選択するための選択指示情報、未確定文字列として保持されている文字列を対象アプリケーションに送信させるための送信指示情報、カーソル移動や削除の指示を含む編集操作情報などが含まれている。
入力受付部101は、受け付けた入力情報が文字入力指示情報であれば、入力文字決定部102に入力情報を送信し、受け付けた入力情報が選択指示情報であれば候補文字列選択部107に入力情報を送信し、受け付けた入力情報が文字列送信指示情報であれば送信文字列決定部12に入力情報を送信し、受け付けた入力情報が編集操作情報であれば編集イベント生成部15に入力情報を送信する。
入力文字決定部102は、入力受付部101により受け付けた文字入力指示情報に対応する文字を決定する。たとえば、入力受付部101により受け付けた文字入力指示情報が入力キーのマルチタップによる文字入力である場合には、入力文字決定部102は、同一キーの操作回数に応じて入力された文字を判定し、その文字情報を未確定文字列更新部103に送信する。
未確定文字列更新部103は、入力文字決定部102により決定された文字に基づいて、未確定文字列保持部104に保持された未確定文字列情報を更新する。
未確定文字列情報保持部104は、端末に内蔵された記憶手段の所定領域に設定され、入力受付部101により受け付けられて入力文字決定部102により決定された文字に基づいて、対象アプリケーションに送信する前の未確定文字列を記憶する。
未確定文字列表示部105は、端末に設けられた液晶パネルなどで構成されるディスプレイの一部で構成され、対象アプリケーションに送信する前の未確定文字列として、未確定文字列情報保持部104で保持している文字列情報を表示する。
文字列辞書106は、複数の文字列情報を記憶するものであって、用途に応じて一般的によく用いられる文字列情報を記憶する。また、一般的な単語、文節、慣用句などの文字列情報を記憶するとともに、この文字入力装置100から対象アプリケーションに送信した文字列情報を蓄積することもできる。この場合、対象アプリケーションに送信した送信文字列情報を、その前後に送信した送信文字列情報と関連付けて、記憶することが可能である。
候補文字列選択部107は、文字列辞書106を参照し、未確定文字列保持部104に保持された未確定文字列情報に対応する候補文字列を選択する。候補文字列選択部107は、未確定文字列保持104に保持された未確定文字列情報に基づいて文字列辞書106を検索し、先頭部分が未確定文字列情報に一致するような文字列情報を選択する。候補文字列選択部107は、文字列辞書106に記憶された文字列の中から最も未確定文字列情報に近い文字列を選択し、複数の候補文字列が存在する場合には、全て選択することができ、50音順やその他の優先度に応じた上位の複数個を選択することもできる。
候補文字列配置部121は、候補文字列表示領域内において候補文字列選択部107で選択された候補文字列を表示する配置位置を決定する。
候補文字列配置情報記憶部122は、候補文字列配置部121が決定した候補文字列の配置位置に基づいて、候補文字列選択部107で選択した候補文字列の配置情報を記憶する。
候補文字列表示部108は、端末に設けられた液晶パネルなどで構成されるディスプレイの一部で構成され、候補文字列選択部107で選択した候補文字列情報を表示する。
候補文字列表示部108には、表示された複数の候補文字列に重ねて選択用カーソルを表示することができ、ユーザが選択用カーソルを移動させて送信文字列を選択可能とすることができる。あるいは、ユーザが候補文字列表示部108の領域内をタッチし、タッチした座標位置に配置されている候補文字列を送信文字列として選択することができる。
候補文字列表示部108は、候補文字列配置情報記憶部122に記憶された各候補文字列の配置情報に基づいて各候補文字列を表示する。
送信文字列決定部12は、入力受付部101により受け付けた入力情報が候補文字列表示部108に表示された候補文字列のうちから文字列情報を選択する選択指示情報である場合、対応する候補文字列を送信文字列情報として決定する。たとえば、送信文字列決定部12は、候補文字列表示部108上における選択用カーソルの表示位置と、候補文字列配置情報記憶部122に記憶された候補文字列の配置情報とに基づいて、ユーザが選択した候補文字列を決定し、これを送信文字列情報として対象アプリケーションに送信する。
また、送信文字列決定部12は、入力受付部101により受け付けた入力情報が未確定文字列表示部105に表示された文字列情報を送信する旨の文字列送信指示情報である場合、該当する未確定文字列情報を送信文字列情報として決定する。
文字列送信部13は、送信文字列決定部12が決定した送信文字列を対象アプリケーションに送信する。
送信情報記憶部14は、文字列送信部12が送信した送信文字列情報を、直前に送信された送信文字列情報及び直後に送信された送信文字列情報のうち少なくとも一方の記憶領域と関連付けて記憶する。また、送信情報記憶部14は、削除指示の編集対象となる文字列情報を指示し、新たな文字列情報の挿入位置を特定するための選択用カーソルと、送信文字列情報との相対位置を示すカーソル位置情報を記憶する。
編集イベント生成部15は、入力受付部101により受け付けた入力情報が編集指示情報である場合、送信情報記憶部14を参照して編集イベントを生成する。
たとえば、編集指示情報が削除指示情報である場合には、編集イベント生成部15は、現在のカーソル位置の前に位置する送信文字列情報を削除指示の対象文字列として選択し、この送信文字列情報を全部削除するような編集情報を生成する。また、編集指示情報がカーソル移動指示情報である場合には、編集イベント生成部15は、現在のカーソル位置の前に位置する送信文字列情報の先頭または現在のカーソル位置の後に位置する送信文字列情報の後端にカーソル位置を移動するような編集情報を生成する。
編集イベント送信部16は、編集イベント生成部15によって生成された編集情報を対象アプリケーションに送信する。
<文字入力時の動作>
文字入力装置10の動作について、以下に説明する。
図3〜8は、文字入力装置10における文字入力処理のフローチャートである。
図3に示すように、処理を開始すると、ステップS100において、文字列入力装置100は、未確定文字列保持部104をリセットする。
ステップS101において、文字入力装置10は、入力受付部101において入力情報を受付けたか否かを判定する。文字入力装置10は、入力受付部101においてユーザからの入力情報を受け付けたと判断した場合にはステップS102に移行し、そうでない場合にはこの処理を終了する。
ステップS102において、文字入力装置10は、入力受付部101により受け付けた入力情報が文字入力指示情報であるか否かを判定する。文字入力装置10は、受け付けた入力情報が、文字入力指示情報であると判定した場合にはステップS103に移行し、そうでない場合にはステップS111に移行する。
ステップS103において、文字入力装置10は、入力受付部101により受け付けた文字入力指示情報に対応する文字を決定する。ここでは、入力文字決定部102が、文字入力指示情報に基づいてユーザが入力を指示した文字を決定する。
ステップS104において、文字入力装置10は、入力文字決定部102が決定した文字を未確定文字列保持部104に保持されている未確定文字列情報の最後に結合して、現在の未確定文字列情報として未確定文字列保持部104に格納する。
ステップS105において、文字入力装置10は、未確定文字列保持部104に保持されている未確定文字列情報の内容を、未確定文字列表示部105に反映させることにより、未確定文字列表示部105の表示内容を更新する。
ステップS106において、文字入力装置10は、未確定文字列保持部104に保持されている未確定文字列情報に基づいて、文字列辞書106を検索する。
ステップS107において、文字入力装置10は、未確定文字列情報に基づいて選択された候補文字列があるか否かを判別する。
文字入力装置10は、候補文字列選択部107により文字列辞書106を検索し、先頭文字列が未確定文字列情報に一致する文字列が存在すると判断した場合には、ステップS108に移行し、そうでない場合にはステップS101に移行する。
ステップS108において、文字入力装置10は、選択された候補文字列の配置領域を決定する。前述したように、候補文字列配置部121は、候補文字列表示部108において、どの領域に各候補文字列を配置するかについて、候補文字列表示部108の表示面積、選択された候補文字列の数、フォントなどに応じて、各配置位置を決定する。
ステップS109において、文字入力装置10は、選択された候補文字列に対して決定されたそれぞれの配置情報を候補文字列配置情報記憶部122に格納する。
ステップS110において、文字入力装置10は、候補文字列配置情報記憶部122に格納された候補文字列の配置情報に基づいて、候補文字列表示部108に候補文字列を表示する。この後、文字入力装置10は、ステップS101に処理を移行する。
図4に示すように、ステップS111において、文字入力装置10は、入力受付部101で受け付けた入力情報が、ディスプレイに表示された候補文字列のうちから対象アプリケーションに送信する文字列を選択するための選択指示情報であるか否かを判別する。
文字入力装置10は、たとえば、候補文字列表示部108で表示された候補文字列と重ねて表示される選択用カーソルがユーザにより操作されて、候補文字列のうちのいずれかを選択する旨の選択指示情報であると判断した場合には、ステップS112に移行し、そうでないと判断した場合にはステップS122に移行する。
ステップS112において、文字入力装置10は、入力受付部101で受け付けた選択指示情報と候補文字列配置情報記憶部122に格納されている候補文字列の配置情報に基づいて、ユーザが選択した候補文字列を送信文字列情報として決定する。
ステップS113において、文字入力装置10は、決定した送信文字列情報を対象アプリケーションに送信する。
ステップS114において、文字入力装置10は、未確定文字列保持部104に保持された未確定文字列情報をリセットする。
ステップS115において、文字入力装置10は、未確定文字列表示部105に表示されている未確定文字列を更新する。ここでは、未確定文字列保持部104に保持された未確定文字列情報がリセットされていることから、それまで表示されていた未確定文字列がクリアされる。
ステップS116において、文字入力装置10は、送信情報記憶部14に格納されている送信文字列情報を更新する。
ここでは、文字入力装置10は、直前に送信した送信文字列情報が格納されている記憶領域と関連付けて、今回送信した送信文字列情報を記憶領域に格納し、さらに、現在のカーソル位置情報を送信文字列情報の後に位置するように設定して、送信情報記憶部14に格納する。
ステップS117において、文字入力装置10は、対象アプリケーションに送信した送信文字列情報に基づいて、その送信文字列情報に続く候補文字列を文字例辞書106から検索し、これを候補文字列として選択する。この後、文字入力装置10は、ステップS107に処理を移行する。
図5に示すように、ステップS122において、文字入力装置10は、入力受付部101で受け付けた入力情報が、未確定文字列として保持されている文字列を対象アプリケーションに送信させるための送信指示情報であるか否かを判別する。
文字入力装置10は、入力受付部101で受け付けた入力情報が送信指示情報であると判断した場合には、ステップS123に移行し、そうでない場合にはステップS124に移行する。
ステップS123において、文字入力装置10は、未確定文字列保持部104に保持されている未確定文字列情報を対象アプリケーションに送信する。この後、文字入力装置10は、ステップS114に処理を移行する。
図6に示すように、ステップS124において、文字入力装置10は、入力受付部101で受け付けた入力情報が文字列単位で削除する旨の編集指示情報であるか否かを判別する。
文字入力装置10は、入力受付部101で受け付けた入力情報が文字列単位で削除する旨の編集指示情報であると判別した場合には、ステップS125に移行し、そうでないと判断した場合にはステップS128に移行する。
ステップS125において、文字入力装置10は、送信情報記憶部14に格納されている送信文字列情報を更新する。
文字入力装置10は、送信情報記憶部14に格納されている現在のカーソル位置情報に基づいて、その直前に位置する送信文字列情報を文字列単位で削除し、削除した送信文字列情報の前後に位置する送信文字列情報を接続するための配置情報を更新して送信情報記憶部14に格納する。さらに、文字入力装置10は、現在のカーソル位置情報を削除した送信文字列情報の前後に位置する送信文字列情報の間に位置するように設定し、送信情報記憶部14の内容を更新する。
ステップS126において、文字入力装置10は、文字列単位で削除する旨の編集指示情報に基づいて、該当する文字列情報を削除するための編集イベントを生成する。
ステップS127において、文字入力装置10は、文字列単位で削除の編集を行うための編集イベントを対象アプリケーションに送信する。この後、文字入力装置10は、ステップ101に処理を移行する。
図7に示すように、ステップS128において、文字入力装置10は、入力受付部101で受け付けた入力情報が文字列単位でカーソルを左移動操作する旨の編集指示情報か否かを判定する。
文字入力装置10は、入力情報が文字列単位でカーソルを左移動操作する旨の編集指示情報であると判別した場合にはステップS129に移行し、そうでない場合にはステップS132に移行する。
ステップS129において、文字入力装置10は、送信情報記憶部14に記憶されている送信文字列情報を更新する。
文字入力装置10は、送信情報記憶部14に記憶されている現在のカーソル位置情報に基づいて、その直前に位置する送信文字列情報の先頭位置にカーソル位置情報を変更し、送信情報記憶部14の内容を更新する。
ステップS130において、文字入力装置10は、文字列単位でカーソルを左移動操作するための編集イベントを生成する。
文字入力装置10は、送信情報記憶部14に記憶されているカーソル位置情報に基づいて、現在のカーソル位置から文字列単位で左移動する旨の編集イベントを生成する。
ステップS131において、文字入力装置10は、生成した編集イベントに基づいて、現在のカーソル位置を文字列単位で左移動する旨の編集イベントを対象アプリケーションに送信する。この後、文字入力装置10は、ステップS101に処理を移行する。
図8に示すように、ステップS132において、文字入力装置10は、入力受付部101で受け付けた入力情報が文字列単位でカーソルを右移動操作する旨の編集指示情報か否かを判定する。
文字入力装置10は、入力情報が文字列単位でカーソルを右移動操作する旨の編集指示情報であると判別した場合にはステップS133に移行し、そうでない場合にはステップS101に移行する。
ステップS133において、文字入力装置10は、送信情報記憶部14に記憶されている送信文字列情報を更新する。
文字入力装置10は、送信情報記憶部14に記憶されている現在のカーソル位置情報に基づいて、その直後に位置する送信文字列情報の後端位置にカーソル位置情報を変更し、送信情報記憶部14の内容を更新する。
ステップS134において、文字入力装置10は、文字列単位でカーソルを右移動操作するための編集イベントを生成する。
文字入力装置10は、送信情報記憶部14に記憶されているカーソル位置情報に基づいて、現在のカーソル位置から文字列単位で右移動する旨の編集イベントを生成する。
ステップS135において、文字入力装置10は、生成した編集イベントに基づいて、現在のカーソル位置を文字列単位で右移動する旨の編集イベントを対象アプリケーションに送信する。この後、文字入力装置10は、ステップS101に処理を移行する。
<入力部及び表示画面構成>
文字入力装置10が適用される端末における入力部及び表示画面構成の一例を以下に説明する。
図9は、文字入力装置10が適用される端末のディスプレイの画面構成を示す説明図である。
図9に示すディスプレイ画面900は、文字入力の対象となっている対象アプリケーションの表示画面である第1表示部910と、文字入力装置100の表示画面である第2表示部920とを備えている。
対象アプリケーションの表示画面である第1表示部910には、現在の文字入力位置にカーソル911が表示されている。このカーソル911は、現在のカーソル位置を明示するための点滅状態で表示することができる。
文字入力装置100の表示画面である第2表示部920は、候補文字列表示領域921、入力文字表示部922、文字入力キー923、削除指示キー924、カーソル移動キー925,926、空白入力キー927、変換指示キー928、改行指示キー929を備えている。
候補文字列表示領域921は、図2の候補文字列表示部108に相当するものであり、候補文字列選択部107で選択された候補文字列情報を表示する領域である。
入力文字表示部922は、図2の未確定文字列表示部105に相当するものであり、未確定文字列保持部104に保持されている未確定文字列情報を表示する。
図9に示す端末のディスプレイは、たとえば、全面タッチパネルで形成されており、文字入力キー923、削除指示キー924、カーソル移動キー925,926、空白入力キー927、変換指示キー928、改行指示キー929は、ソフトウェアキーボードとして実現することができる。
文字入力キー923は、たとえば、数字やかな文字、アルファベット、各種記号などが割り当てられた複数のキーを備えており、入力モード設定およびマルチタップによりそれぞれ対応する文字や記号の入力を可能にする。
削除指示キー924は、入力された文字列に対して1文字削除する旨の指示情報を入力するための入力キーである。
カーソル移動キー925,926は、第1表示部910上のカーソルを左右に移動する操作指示を入力するための入力キーである。
空白入力キー927は、入力文字列に空白を挿入するための入力キーである。
変換指示キー928は、カナ漢字変換を指示するための指示入力キーである。
改行指示キー929は、改行を入力するための入力キーである。
たとえば、真ん中に「か」と表記された入力キー923aが1回操作されると、入力文字決定部102は入力文字を「か」と判定し、未確定文字列保持部104に「か」が保持される。また、入力キー923aが2回操作された場合には、入力文字決定部102は入力文字を「き」と判定し、以下、入力文字決定部102は操作回数に応じて入力文字を決定し、これに応じて未確定文字列更新部103は未確定文字列保持部104に保持されている未確定文字列情報を更新する。
<入力部の他の例>
文字入力装置100が適用される端末における入力部の他の例を説明する。
図10は、文字入力装置100が適用される端末のディスプレイの画面構成を示す説明図である。
図10に示すディスプレイ画面900は、前述の例と同様に、文字入力の対象となっている対象アプリケーションの表示画面である第1表示部910と、文字入力装置100の表示画面である第2表示部920とを備えている。
第2表示部920は、手書き入力部930を備えている。手書き入力部930は、手書き入力パッドで構成されており、入力ペンで手書きした文字を入力受付部101で受け付けて、入力文字決定部102で入力文字を決定する。この場合、入力文字決定部102は、手書き文字認識部を備えており、入力された手書き文字を文字情報に変換する。
入力部の例としては、前述したような構成に代えて、端末に設けられたハードウェアキーを用いることもできる。
<候補文字列の選択>
文字列辞書106には、単語、文節、慣用句などの文字列情報がその読みと表記とを対応付けて格納されている。
図11は、文字列辞書106に格納されている文字列情報テーブルの一例を示す説明図である。
図11に示す例では、文字列情報テーブル1100として文字列情報の読みと表記とが対応付けて格納されている。
文字列情報テーブル1100は、読み情報欄1101と表記情報欄1102とを備えている。
未確定文字列保持部104に保持されている未確定文字列情報に基づいて、候補文字列選択部107が文字列辞書106から候補文字列を選択する場合を以下に説明する。
入力受付部101で受け付けた入力情報に基づいて、入力文字決定部102が最初に決定した文字情報が「か」である場合、未確定文字列保持部104に保持されている未確定文字列情報の内容は、未確定文字列更新部103により更新されて「か」となる。
候補文字列選択部107は、未確定文字列保持部104に保持されている未確定文字列情報「か」に基づいて、文字列辞書106を検索し、読み情報が「か」で始まる文字列情報を抽出する。
図11に示す例では、読み情報が「か」で始まる文字列情報は、表記情報「かわいい」、「確認」、「買った」、「確定」・・・などの複数の文字列情報を得ることができる。
候補文字列選択部107は、文字列辞書106から抽出した文字列情報の一部または全部を、候補文字列としてユーザに提示する。
候補文字列選択部107は、選択した候補文字列を図9または図10に示す候補文字列表示領域921に表示する。
図12は、候補文字列表示領域921に候補文字列を表示する際の配置情報テーブルの説明図である。
候補文字列配置部121は、候補文字列選択部107が選択した各候補文字列について、候補文字列表示領域921上の座標を決定することによって、配置位置を決める。
候補文字列配置121は、候補文字列表示領域921の左上端部の座標と、右下端部の座標とに基づいて、選択された候補文字列の文字数、現在設定されているフォントのポイントなどに従って、各候補文字列の配置位置を算出する。
たとえば、候補文字列表示領域921の左上端部の座標を(0,0)とし、右下端部の座標を(100,20)とし、候補文字列選択部107が選択した候補文字列が「かわいい」、「確認」、「買った」、「確定」、「確実」、「かっこいい」であったとする。
候補文字列表示領域921内に、「かわいい」、「確認」、「買った」、「確定」、「確実」、「かっこいい」の各文字列を3文字列ずつ2段に分けて表示する場合、候補文字列配置部121は各文字列を表示するために必要なスペースに基づいて、各文字列の左上端部の座標と右下端部の座標を決定し、これを各候補文字列の配置情報として候補文字列配置情報記憶部122に格納する。
候補文字列配置情報記憶部122に格納される候補文字列の配置情報テーブル1200は、図12に示すように、候補文字列情報欄1201及び配置情報欄1202で構成される。
候補文字列情報欄1201には、候補文字列選択部107によって選択された候補文字列の表記情報が格納される。また、配置情報欄1202には、候補文字列配置部121により算出された各候補文字列の配置情報が格納される。
図13は、候補文字列の表示画面例を示す説明図である。ここでは、図9に示す表示画面例に基づいて説明する。
文字入力キー923を介して入力された入力情報に基づいて、入力文字決定部102が入力された文字を「か」であると判断すると、未確定文字列保持部104に保持されている未確定文字列情報が「か」に更新され、この未確定文字列情報の内容が入力文字表示部922に反映される。
このことから、図13に示されるように、入力文字表示部922に「か」が表示される。
候補文字列選択部107は、未確定文字列保持部104に保持されている未確定文字列情報に基づいて文字列辞書106を参照し、候補文字列を選択する。
候補文字列配置部121は、候補文字列表示領域921上に表示する候補文字列の配置情報を算出し、候補文字列配置情報記憶部122に各候補文字列に対応する配置情報を格納する。
候補文字列表示部108には、候補文字列選択部107が選択した候補文字列が表示されるものであって、候補文字列配置情報記憶部122に格納されている各候補文字列に対応する配置情報に従って、各候補文字列が候補文字列表示領域921内に表示される。
図13に示す例では、候補文字列表示領域921内に、6つの候補文字列が2段で3文字列ずつ表示されている。
候補文字列表示領域921の構成や候補文字列の表示方法は、上述したようなものに限定されるものではない。たとえば、候補文字列表示領域921を縦長にして1行に1つの候補文字列を表示することも可能であり、その他種々の構成に設計することができる。
図示していないが、候補文字列表示領域921に表示された候補文字列のいずれか1つと重なるような選択用カーソルを表示し、この選択用カーソルを入力したい候補文字列上に位置させて改行指示キー929を操作することで、該当する候補文字列を送信文字列に決定する指示入力を行えるように構成できる。また、候補文字列表示領域921内をタッチ操作し、タッチされた位置に配置されている候補文字列を送信文字列に決定する指示入力を行えるように構成することも可能である。
<予測変換>
対象アプリケーションに送信した送信文字列に基づいて、次に入力される文字列情報を予測してこれを候補文字列とすることが考えられる。このような場合、慣用的な表現に用いられる文字列情報の接続関係を予め文字列辞書106に記憶させておくことで、対象アプリケーションに文字列情報を送信した直後に、送信文字列情報に基づく候補文字列を選択することができる。また、ユーザの入力履歴を学習して、文字列情報の接続関係を文字列辞書106内に蓄積していくことも可能である。
送信文字列情報に基づいて次に入力される文字列情報を予測して候補文字列を選択するための文字列辞書106の一例を以下で説明する。
図14は、文字列辞書106に格納される文字列の接続情報テーブルの一例を示す説明図である。
接続情報テーブル1400は、所定の文字列情報に対してそれに接続することが予測される文字列情報を一対にしたものであって、第1文字列表記欄1401、第2文字列表記欄1402を備えている。
第1文字列表記欄1401には、任意の文字列情報の表記情報が格納される。
第2文字列表記欄1402には、第1文字列表記欄1401に格納された文字列の後に接続する文字列情報の表記情報が格納される。
前述したように、文字列情報の接続関係は、慣用的な表現に用いられる文字列情報の接続関係に基づいて決定することが可能であり、このような接続関係に基づいて接続情報テーブル1400を設定しておくことが可能である。
また、ユーザの入力履歴を学習して、送信文字列情報の前後関係から接続情報テーブル1400に格納されるレコードを追加することも可能である。
図14に示すように、第1文字列表記欄1401に格納された「確定」という表記情報を有する第1文字列情報に対して、「します」、「した」、「しました」、「処理」、「された」などの表記情報を有する第2文字列情報が格納されているものとする。
図15は、送信文字列に応じて選択した候補文字列を候補文字列表示領域921に表示した例を示す説明図である。
対象アプリケーションに対して、「対象」という文字列の送信指示がなされた場合、対象アプリケーションの第1表示部910のカーソル表示位置に送信文字列1510である「確定」を表示する。このとき、カーソル911は、送信文字列1510の後ろに移動して表示され、次の入力文字列の表示位置を示す。
候補文字列選択部107は、送信文字列に基づいて文字列辞書106を検索し、送信文字列を第1文字列情報としてその次に接続可能な第2文字列情報の表記情報を取得し、これを候補文字列として選択する。
図14に示す接続情報テーブルの例によれば、候補文字列選択部107は、第1文字列表記情報「確定」に対して、第2文字列表記情報「します」、「した」、「しました」、「処理」、「された」を候補文字列として選択する。
前述したように、候補文字列配置部121により候補文字列表示領域921上の各候補文字列の配置情報が決定され、これに基づいて候補文字列表示領域921上に各候補文字列が表示される。
したがって、図15に示すように、候補文字列配置部121が決定した配置情報に基づいて、候補文字列表示領域921に各候補文字列が表示される。
候補文字列表示領域921に表示された候補文字列から送信文字列を決定する方法は、前述したように、候補文字列に重ねて表示される選択用カーソルを用いることができる。または、タッチされた位置に配置されている候補文字列を送信文字列として決定することもできる。
<送信情報>
文字入力装置10において、対象アプリケーションに送信した送信文字列情報を編集する際には、送信文字列情報を単位として削除指示やカーソル移動を行うことができるようにする。このために、文字入力装置10は、送信文字列情報とその接続関係、および現在のカーソル位置情報を送信情報記憶部14に記憶している。
送信情報記憶部14に記憶されている送信単位情報について、以下に説明する。
送信情報記憶部14には、文字入力装置10の文字列送信部13から送信した送信文字列情報と、その送信文字列情報の文字数、その前に送信した送信文字列情報を特定するための第1接続情報、その後に送信した送信文字列情報を特定するための第2接続情報を備えた送信情報を格納する。
送信情報記憶部14に記憶される送信情報は、それぞれ編集操作の対象となる送信文字列情報であって、編集操作の指示があるとこれら送信情報が示す送信文字列情報を単位として削除やカーソル移動が行われる。したがって、送信情報記憶部14に記憶される送信情報のうち、どの送信情報に対応する送信文字列が編集対象となっているか示すために、現在のカーソル位置がどの送信情報に対応する位置にあるのかを示すカーソル位置ポインタを送信情報記憶部14に記憶しておく。以下、各送信情報をノードと呼び、カーソル位置ポインタが位置する送信情報をカレントノードNc、カレントノードNcの直前に存在するノードを直前ノードNb、カレントノードNcの直後に存在するノードを直後ノードNa、後続のノードが存在しないノードを最終ノードNeと呼ぶこととする。
文字入力の対象となる対象アプリケーションが新規に開いた場合には、例えば、図9に示すような第1表示部910の左上の基準にカーソルが位置している。この状態で、文字入力装置10は、送信を完了した送信文字列が存在していないことから、送信情報記憶部14には、送信情報が空である空ノードが1つ存在するだけである。
この後、文字入力装置10から送信文字列情報が対象アプリケーションに送信されると、最終位置であることを示すために送信情報が空である最終ノードNeを作成し、この最終ノードNeの前にノードを挿入し、挿入されたノードの送信文字列情報、文字数、第1接続情報及び第2接続情報を備える送信情報が送信情報記憶部14に蓄積されていく。
図16は、複数の送信文字列情報を送信した後の送信情報記憶部14に記憶される送信情報の一例を示す説明図である。
図17は、図16の送信情報に基づいて第1表示部910に表示される表示画面例の説明図である。
図16に示すように、「確定」、「した」、「単位」、「で」の各文字列情報が順に送信された場合に、対応する送信情報がノードN1〜N4として送信情報記憶部14に蓄積される。
ノードN1はこの文書の先頭文字列であることから、ノードN1の第1接続情報には先頭文字列であることを示す情報が格納されている。また、ノードN1の第2接続情報には後続のノードN2へのリンク情報が格納されている。ノードN2へのリンク情報としては、ノードN2が格納されているメモリアドレスを用いることができる。
ノードN2は、ノードN1の後続のノードであることから、第1接続情報としてノードN1へのリンク情報が格納されている。また、ノードN2の後続のノードがノードN3であることから、ノードN2の第2接続情報としてノードN3へのリンク情報が格納されている。
以下、ノードN3〜N4に関しても、同様にしてリンクするノードの情報が格納される。ただし、ノードN4が送信文字列情報として最後の送信情報である場合には、ノードN4の第2接続情報には最終ノードNeへのリンク情報が格納される。
図16及び図17の例では、ノードN2の位置に現在のカーソルが位置している場合を示しており、したがって、カレントノードNcがノードN2に位置しており、第1表示部910上では、「した」と「単位」の間にカーソル911が表示されている。
<文字列情報送信処理>
文字列送信部13により対象アプリケーションに文字列情報を送信した場合に、送信情報記憶部14に記憶される送信情報を更新する動作を以下に示す。
図32〜33は、送信情報記憶部14に記憶された送信情報の更新処理を示すフローチャートである。
ステップS201において、文字入力装置10は、カーソル位置ポインタが指しているカレントノードNcの送信情報を取得する。
ステップS202において、文字入力装置10は、文字列送信部13が送信した送信文字列情報の文字数を算出する。
ステップS203において、文字入力装置10は、送信文字列情報と、算出した文字数をノードの内容としてもつ新規ノードNnを作成する。
たとえば、図16及び図17に示すように、対象アプリケーションに送信した送信情報がノードN1〜N4であり、カーソル位置ポインタが指すカレントノードNcがノードN2を指しているとする。この状態で、文字列送信部13が、カレントノードNcの位置に「文字列」という送信文字列情報を送信した場合を想定する。
図18は、送信文字列情報を挿入する場合の送信情報記憶部14に記憶された送信情報の更新処理を示す説明図である。
図19は、送信文字列情報が挿入された後の画面表示例を示す説明図である。
図18、図19に示されるように、送信文字列情報である「文字列」は、その文字数が「3」である。したがって、送信文字列情報「文字列」と、その文字数「3」に従って、この情報を備えるノードN5を作成し、これを新規ノードNnとする。
ステップS204において、文字入力装置10は、カレントノードNcが空のノードであるか否かを判別する。カレントノードNcが空のノードであるということは、後続のノードが存在しない最終ノードNeであることを表しており、文字入力装置10は、カレントノードNcが最終ノードNeであると判断した場合にはステップS205に移行し、そうでない場合にはステップS209に移行する。
ステップS205において、送信情報が空であるような最終ノードNeを新規に作成する。カレントノードNcが空ノードであるということは、対象アプリケーションに送信された送信文字列情報が存在していないことを示す。この場合には、文字入力装置10は、空ノードである最終ノードNeを新たに作成し、この最終ノードNeの前に送信文字列情報を挿入していく。
ステップS206において、新規ノードNnの第2接続情報として最終ノードNeへのリンク情報を格納する。
このとき、最終ノードNeの第1接続情報には、新規ノードNnへのリンク情報が格納される。
ステップS207において、新規ノードNnの第1接続情報としてカレントノードNcへのリンク情報を格納する。
先に送信した送信文字列情報が存在していない場合には、カレントノードNcは空ノードである。したがって、送信情報新規ノードNnの第1接続情報として格納されるカレントノードNcへのリンク情報は、最初の空ノードである。この最初の空ノードには、第2接続情報に新規ノードNnへのリンク情報が格納される。
ステップS208において、文字入力装置10は、カーソル位置ポインタが指すカレントノードNcを新規ノードNnに変更する。この後、文字入力装置10はこの送信情報の更新処理を終了する。
ステップS209において、文字入力装置10は、カレントノードNcの直後ノードNaへのリンク情報を取得する。
ステップS210において、文字入力装置10は、新規ノードNnの第2接続情報として直後ノードNaへのリンク情報を格納する。
ステップS211において、文字入力装置10は、直後ノードNaの第1接続情報を新規ノードNnへのリンク情報に置換する。
ステップS212において、文字入力装置10は、カレントノードNcの第2接続情報を新規ノードNnへのリンク情報に置換する。この後、文字入力装置10は、ステップS207にその処理を移行する。
図18に示すように、カレントノードNcがノードN2であって、ノードN2の次に新規ノードNnとしてノードN5が送信された場合、文字入力装置10は、新規ノードNnであるノードN5の第1接続情報をカレントノードNcであるノードN2へのリンク情報とし、ノードN5の第2接続情報を直後ノードNaであるノードN3へのリンク情報とする。
また、カレントノードNcであるノードN2の第2接続情報を新規ノードNnであるノードN5へのリンク情報に置換し、直後ノードNaであるノードN3の第1接続情報を新規ノードNnであるノードN5へのリンク情報に置換する。
この後、カーソル位置ポインタを新規ノードNnであるノードN5に変更される。その結果、第1表示部910上では、図19に示すように、「文字列」と「単位」の間に位置してカーソル911が表示される。
<文字列情報削除処理>
次に、対象アプリケーション上で表示されている文字列情報に対して、削除指示があった場合について説明する。
図20は、文字列情報削除処理を行う前の送信情報の説明図である。
図21は、文字列情報削除処理を行う前の表示画面の説明図である。
図22は、文字列情報削除処理を行った後の送信情報の説明図である。
図23は、文字列情報削除処理を行った後の表示画面の説明図である。
図20及び図21に示すように、送信文字列情報が「確定」、「した」、「文字列」、「単位」、「で」であり、それぞれノードN1〜N5であるとする。ここで、カーソル位置ポインタが指しているカレントノードNcが、ノードN3であるとすると、第1表示部910には、図21に示すように、「文字列」と「単位」との間にカーソル911が表示される。
ここで、図22、図23に示されているように、カレントノードNcであるノードN3を削除する場合を想定する。
図34は、文字列情報の削除処理のフローチャートである。
ステップS301において、文字入力装置10は、カーソル位置ポインタが指しているカレントノードNcの送信情報を取得する。
ステップS302において、文字入力装置10は、カレントノードNcが空のノードであるか否かを判別する。
文字入力装置10は、カレントノードNcが空のノードではないと判断した場合にはステップS303に移行する。カレントノードNcが空のノードである場合には、対象アプリケーションに送信した送信文字列情報が存在しておらず、削除指示を行うことができないことから、この文字列情報の削除処理を終了する。
ステップS303において、文字入力装置10は、カレントノードNcの第1接続情報である直前ノードNbへのリンク情報を取得する。
ステップS304において、文字入力装置10は、カレントノードNcの第2接続情報である直後ノードNaへのリンク情報を取得する。
ステップS305において、文字入力装置10は、直前ノードNbの第2接続情報を直後ノードNaへのリンク情報に置換する。
ステップS306において、文字入力装置10は、直後ノードNaの第1接続情報を直前ノードNbへのリンク情報に置換する。
ステップS307において、文字入力装置10は、カレントノードNcの送信情報を削除する。
ステップS308において、文字入力装置10は、カーソル位置ポインタが指すカレントノードNcを直前ノードNbの送信情報とする。
図20に示すように、ノードN1〜N5でなる送信情報において、カレントノードNcであるノードN3を削除する場合を想定する。この時、図21に示すように、第1表示部910には、「確定した文字列単位で」という文字列が表示されており、カレントノードNcに対応する文字列情報「文字列」と、直後ノードNaに対応する文字列情報「単位」との間に、カーソル911が表示されている。
文字入力装置10は、カレントノードNcであるノードN3の第1接続情報を直後ノードNaであるノードN4の第1接続情報に置換する。
また、文字入力装置10は、カレントノードNcであるノードN3の第2接続情報を直前ノードNbであるノードN2の第2接続情報に置換する。
カレントノードNcであるノードN3の第1接続情報は、直前ノードNbであるノードN2へのリンク情報であることから、直後ノードNaであるノードN4の第1接続情報はノードN2へのリンク情報に置き換えられる。
また、カレントノードNcであるノードN3の第2接続情報は、直後ノードNaであるノードN4へのリンク情報であることから、直前ノードNbであるノードN2の第2接続情報はノードN4へのリンク情報に置き換えられる。
文字入力装置10は、カレントノードNcであるノードN3を削除し、直前ノードNbであるノードN2をカーソル位置ポインタが指すカレントノードNcとする。
この結果、図23に示すように、第1表示部910には、ノードN3に対応する「文字列」という文字列が削除された「確定した単位で」が表示され、カレントノードNcに対応する「した」という文字列と、直後ノードNaに対応する「単位」という文字列の間に、カーソル911が表示される。
<カーソル移動処理>
対象アプリケーション上に表示された文字列情報の編集を行う際には、編集する文字列や編集を行う位置を指定するために、カーソルを移動させる編集操作が指示される。
編集操作を行うためのカーソル移動処理について説明する。
図24は、カーソルの左移動処理を行う前の送信情報の説明図である。
図25は、カーソルの左移動処理を行う前の表示画面の説明図である。
図26は、カーソルの左移動処理を行った後の送信情報の説明図である。
図27は、カーソルの左移動処理を行った後の表示画面の説明図である。
図24及び図25に示すように、送信文字列情報が「確定」、「した」、「文字列」、「単位」、「で」であり、それぞれノードN1〜N5であるとする。ここで、カーソル位置ポインタが指しているカレントノードNcが、ノードN3であるとすると、第1表示部910には、図25に示すように、「文字列」と「単位」との間にカーソル911が表示される。
ここで、図27に示されているように、送信文字列情報を単位として、カーソル911を左方向に移動する場合を想定する。
図35は、カーソルの左移動処理のフローチャートである。
ステップS401において、文字入力装置10は、カーソル位置ポインタが指しているカレントノードNcの送信情報を取得する。
ステップS402において、文字入力装置10は、カレントノードNcが空のノードであるか否かを判別する。
文字入力装置10は、カレントノードNcが空のノードではないと判断した場合にはステップS403に移行する。カレントノードNcが空のノードである場合には、対象アプリケーションに送信した送信文字列情報が存在しておらず、カーソルの左移動処理ができないことから、このカーソルの左移動処理を終了する。
ステップS403において、文字入力装置10は、カレントノードNcの第1接続情報である直前ノードNbへのリンク情報を取得する。
ステップS404において、文字入力装置10は、直前ノードNbをカーソル位置ポインタが指すカレントノードNcにする。
ここでは、文字入力装置10は、カレントノードNcであるノードN3の第1接続情報から、直前ノードNbであるノードN2の情報を取得し、直前ノードNbであるノードN2をカーソル位置ポインタが指すカレントノードNcに変更する。この結果、図27に示すように、第1表示部910には、新たなカレントノードNcに対応する文字列情報「した」と、新たな直後ノードNaに対応する文字列情報「文字列」の間に、カーソル911が表示され、カーソルの左移動処理が完了する。
このように、カーソル移動は、対象アプリケーションに送信した文字列情報の単位で処理することができる。したがって、文字入力装置10から対象アプリケーションに送信した送信文字列情報を単位として、カーソルを移動させることが可能となる。
図28は、カーソルの右移動処理を行う前の送信情報の説明図である。
図29は、カーソルの右移動処理を行う前の表示画面の説明図である。
図30は、カーソルの右移動処理を行った後の送信情報の説明図である。
図31は、カーソルの右移動処理を行った後の表示画面の説明図である。
図28及び図29に示すように、送信文字列情報が「確定」、「した」、「文字列」、「単位」、「で」であり、それぞれノードN1〜N5であるとする。ここで、カーソル位置ポインタが指しているカレントノードNcが、ノードN3であるとすると、第1表示部910には、図29に示すように、「文字列」と「単位」との間にカーソル911が表示される。
ここで、図31に示されているように、送信文字列情報を単位として、カーソル911を右方向に移動する場合を想定する。
図36は、カーソルの右移動処理のフローチャートである。
ステップS501において、文字入力装置10は、カーソル位置ポインタが指しているカレントノードNcの送信情報を取得する。
ステップS502において、文字入力装置10は、カレントノードNcが空のノードであるか否かを判別する。
文字入力装置10は、カレントノードNcが空のノードではないと判断した場合にはステップS503に移行する。カレントノードNcが空のノードである場合には、対象アプリケーションに送信した送信文字列情報が存在しておらず、カーソルの右移動処理ができないことから、このカーソルの右移動処理を終了する。
ステップS503において、文字入力装置10は、カレントノードNcの第2接続情報である直後ノードNaへのリンク情報を取得する。
ステップS504において、文字入力装置10は、直後ノードNaをカーソル位置ポインタが指すカレントノードNcにする。
ここでは、文字入力装置10は、カレントノードNcであるノードN3の第2接続情報から、直後ノードNaであるノードN4の情報を取得し、直後ノードNaであるノードN4をカーソル位置ポインタが指すカレントノードNcに変更する。この結果、図31に示すように、第1表示部910には、新たなカレントノードNcに対応する文字列情報「単位」と、新たな直後ノードNaに対応する文字列情報「で」の間に、カーソル911が表示され、カーソルの右移動処理が完了する。
<編集イベントの生成処理>
対象アプリケーション上に表示されている文字列情報に対して、編集操作の指示入力があった場合に、送信情報記憶部14は記憶している送信情報を更新する。編集イベント生成部15は、送信情報記憶部14に記憶されている送信文字列情報を単位として編集イベントを生成する。この編集イベント生成処理について以下に説明する。
図37は、文字列情報を削除する旨の編集操作の入力情報を受け付けた際の編集イベント生成処理のフローチャートである。
文字列情報を削除する旨の編集操作の入力情報を受け付けると、ステップS601において、編集イベント生成部15は、対象アプリケーションに送信する編集情報としての編集イベントEvを空に初期化する。
ステップS602では、編集イベント生成部15は、送信情報記憶部14に記憶されている送信情報が空か否かを判別する。
編集イベント生成部15は、送信情報記憶部14に格納されている送信情報が空であると判断した場合にはステップS603に移行し、そうでない場合にはステップS604に移行する。
ステップS603において、編集イベント生成部15は、1文字削除キー入力イベントを編集イベントEvのスタックとする。この後、編集イベントの生成処理を終了する。
ステップS604において、編集イベント生成部15は、送信情報記憶部14に格納された送信情報からカーソル位置ポインタが指しているカレントノードNcに対応する送信情報を特定する。
ステップS605において、編集イベント生成部15は、カレントノードNcに対応する送信情報から送信文字列情報の文字数nを読み込む。
ステップS606において、編集イベント生成部15は、変数iの値を0に初期化する。この変数iは、カレントノードNcに対応する送信文字列情報の文字数だけ1文字削除キー入力イベントを編集イベントEvのスタックとするために用いられる変数である。
ステップS607において、編集イベント生成部15は、変数iの値がカレントノードNcに対応する送信文字列情報の文字数nと等しいか否かを判別する。
編集イベント生成部15は、変数iの値が文字数nと等しいと判断した場合には、処理を終了し、そうでない場合にはステップS608に移行する。
ステップS608において、編集イベント生成部15は、1文字削除キー入力イベントを編集イベントEvのスタックとする。
ステップS609において、編集イベント生成部15は、変数iの値をインクリメントし、ステップS607に移行する。
このような編集イベント生成処理を実行することにより、編集イベント生成部15は、カレントノードNcに対応する送信文字列情報の文字数nと同数の1文字削除キー入力イベントを編集イベントEvのスタックとすることができる。
図38は、カーソルを左移動する編集操作の入力情報を受け付けた際の編集イベント生成処理のフローチャートである。
カーソルを左移動する編集操作の入力情報を受け付けると、ステップS701において、編集イベント生成部15は、対象アプリケーションに送信する編集情報としての編集イベントEvを空に初期化する。
ステップS702では、編集イベント生成部15は、送信情報記憶部14に記憶されている送信情報が空か否かを判別する。
編集イベント生成部15は、送信情報記憶部14に格納されている送信情報が空であると判断した場合にはステップS703に移行し、そうでない場合にはステップS704に移行する。
ステップS703において、編集イベント生成部15は、1文字カーソル左移動イベントを編集イベントEvのスタックとする。この後、編集イベント生成処理を終了する。
ステップS704において、編集イベント生成部15は、送信情報記憶部14に格納された送信情報からカーソル位置ポインタが指しているカレントノードNcに対応する送信情報を特定する。
ステップS705において、編集イベント生成部15は、カレントノードNcに対応する送信情報から送信文字列情報の文字数nを読み込む。
ステップS706において、編集イベント生成部15は、変数iの値を0に初期化する。ここでの変数iは、カレントノードNcに対応する送信文字列情報の文字数だけ1文字カーソル左移動イベントを編集イベントEvのスタックとするために用いられる変数である。
ステップS707において、編集イベント生成部15は、変数iの値がカレントノードNcに対応する送信文字列情報の文字数nと等しいか否かを判別する。
編集イベント生成部15は、変数iの値が文字数nと等しいと判断した場合には、処理を終了し、そうでない場合にはステップS708に移行する。
ステップS708において、編集イベント生成部15は、1文字カーソル左移動イベントを編集イベントEvのスタックとする。
ステップS709において、編集イベント生成部15は、変数iの値をインクリメントし、ステップS707に移行する。
このような編集イベント生成処理を実行することによって、編集イベント生成部15は、カレントノードNcに対応する送信文字列情報の文字数nと同数の1文字カーソル左移動イベントを編集イベントEvのスタックとすることができる。
図39は、カーソルを右移動する編集操作の入力情報を受け付けた際の編集イベント生成処理のフローチャートである。
カーソルを右移動する編集操作の入力情報を受け付けると、ステップS801において、編集イベント生成部15は、対象アプリケーションに送信する編集情報としての編集イベントEvを空に初期化する。
ステップS802では、編集イベント生成部15は、送信情報記憶部14に記憶されている送信情報が空か否かを判別する。
編集イベント生成部15は、送信情報記憶部14に格納されている送信情報が空であると判断した場合にはステップS803に移行し、そうでない場合にはステップS804に移行する。
ステップS803において、編集イベント生成部15は、1文字カーソル右移動イベントを編集イベントEvのスタックとする。この後、編集イベント生成処理を終了する。
ステップS804において、編集イベント生成部15は、送信情報記憶部14に格納された送信情報からカーソル位置ポインタが指しているカレントノードNcに対応する送信情報を特定する。
ステップS805において、編集イベント生成部15は、カレントノードNcの第2接続情報に基づいて、直後ノードNaに対応する送信情報を特定する。
ステップS806において、編集イベント生成部15は、直後ノードNaに対応する送信情報から送信文字列情報の文字数nを読み込む。
ステップS807において、編集イベント生成部15は、変数iの値を0に初期化する。ここでの変数iは、直後ノードNaに対応する送信文字列情報の文字数だけ1文字カーソル右移動イベントを編集イベントEvのスタックとするために用いられる変数である。
ステップS808において、編集イベント生成部15は、変数iの値が直後ノードNaに対応する送信文字列情報の文字数nと等しいか否かを判別する。
編集イベント生成部15は、変数iの値が文字数nと等しいと判断した場合には、処理を終了し、そうでない場合にはステップS809に移行する。
ステップS809において、編集イベント生成部15は、1文字カーソル右移動イベントを編集イベントEvのスタックとする。
ステップS810において、編集イベント生成部15は、変数iの値をインクリメントし、ステップS808に移行する。
このような編集イベント生成処理を実行することによって、編集イベント生成部15は、直後ノードNaに対応する送信文字列情報の文字数nと同数の1文字カーソル右移動イベントを編集イベントEvのスタックとすることができる。
編集イベント生成部15による編集イベント生成処理を終了すると、編集イベント送信部16が対象アプリケーションに編集イベントEvを送信する。
ユーザが入力部11を介して1文字削除の編集指示があった場合には、送信情報記憶部14に記憶されているカレントノードNcに対応する送信文字列情報を削除することができる。したがって、文字入力装置10から対象アプリケーションに対して送信した送信文字列情報を単位として、文字列情報の削除指示を行う編集イベントを対象アプリケーションに入力できる。
また、対象アプリケーション上に表示されている文字列情報のうち、削除指示の対象となる文字情報または文字列情報を特定するか、あるいは新たな文字情報または文字列情報を挿入する位置を特定するために、カーソルの移動を指示する際に、文字入力装置10から送信した送信文字列情報を単位として、カーソルの移動に関する編集イベントを生成することができる。
このようにして、文字入力装置10から送信した送信文字列情報がある場合には、ユーザが入力部11を介して入力した編集操作の入力情報に基づいて、送信文字列情報を単位として削除及びカーソル移動の編集イベントを対象アプリケーションに送信することができる。
上述したような文字入力装置の構成は、携帯電話端末、PDA、一般的なパーソナルコンピュータなどの入力部を介して文字入力が可能なアプリケーションが機能する情報処理装置に適用することができる。
10 文字入力装置
11 入力部
12 送信文字列決定部
13 文字列送信部
14 送信情報記憶部
15 編集イベント生成部
16 編集イベント送信部

Claims (7)

  1. 入力部を介して入力された入力情報に対応する文字列情報を、文字入力の対象となっている対象アプリケーションに送信する文字入力装置であって、
    前記入力部から入力された入力情報に対応して、前記対象アプリケーションに送信する送信文字列情報を決定する文字列決定部と、
    前記文字列決定部で決定された送信文字列情報を前記対象アプリケーションに送信する文字列送信部と、
    前記文字列送信部が送信した送信文字列情報を、前後に送信された送信文字列情報と関係付けて記憶する送信情報記憶部と、
    前記対象アプリケーション上に表示された文字列情報に対する編集操作に関する入力情報が入力された場合に、前記送信情報記憶部に記憶された送信文字列情報を単位として編集イベントを生成する編集イベント生成部と、
    前記編集イベント生成部により生成された編集イベントを前記対象アプリケーションに送信する編集イベント送信部と、
    を備える文字入力装置。
  2. 前記送信情報記憶部は、前記対象アプリケーション上の編集対象となっている文字列情報を指示するためカーソルと、前記送信文字列情報との相対位置を示すカーソル位置情報を記憶していることを特徴とする、請求項1に記載の文字入力装置。
  3. 前記編集イベント生成部は、前記編集操作に関する入力情報が文字列情報の削除である場合には、前記送信情報記憶部に記憶されているカーソル位置情報に基づいて編集対象となっている送信文字列情報を特定し、特定された送信文字列情報を削除するための編集イベントを生成する、請求項2に記載の文字入力装置。
  4. 前記編集イベント生成部は、前記編集操作に関する入力情報が前記カーソルの移動である場合には、前記送信情報記憶部に記憶されている送信文字列情報を単位として前記カーソル位置情報を変更する、請求項2または3に記載の文字入力装置。
  5. 複数の文字列情報を記憶する文字列辞書と、
    前記入力部を介して入力された入力情報に基づいて前記対象アプリケーションに対して送信する前の文字列情報を未確定文字列情報として記憶する未確定文字列保持部と、
    前記文字列辞書を参照し、前記未確定文字列保持部に保持されている未確定文字列情報に対応する候補文字列を選択する候補文字列選択部と、
    をさらに備え、前記送信文字列決定部は、前記入力部を介して入力される入力情報に基づいて、前記未確定文字列保持部に記憶された未確定文字列情報または前記候補文字列選択部により選択された候補文字列情報のいずれかを送信文字列情報として決定する、請求項1〜4のいずれかに記載の文字入力装置。
  6. 入力部を介して入力された入力情報に対応する文字列情報を、文字入力の対象となっている対象アプリケーションに送信する文字入力方法であって、
    前記入力部から入力された入力情報に対応して、前記対象アプリケーションに送信する送信文字列情報を決定し、
    前記決定された送信文字列情報を前記対象アプリケーションに送信し、
    前記送信した送信文字列情報を、前後に送信された送信文字列情報と関係付けて記憶し、
    前記対象アプリケーション上に表示された文字列情報に対する編集操作に関する入力情報が入力された場合に、前記記憶された送信文字列情報を単位として編集イベントを生成し、
    前記生成された編集イベントに基づいて編集情報を前記対象アプリケーションに送信する、文字入力方法。
  7. 入力部を介して入力された入力情報に対応する文字列情報を、文字入力の対象となっている対象アプリケーションに送信する文字入力方法のプログラムであって、
    前記入力部から入力された入力情報に対応して、前記対象アプリケーションに送信する送信文字列情報を決定し、
    前記決定された送信文字列情報を前記対象アプリケーションに送信し、
    前記送信した送信文字列情報を、前後に送信された送信文字列情報と関係付けて記憶し、
    前記対象アプリケーション上に表示された文字列情報に対する編集操作に関する入力情報が入力された場合に、前記記憶された送信文字列情報を単位として編集イベントを生成し、
    前記生成された編集イベントに基づいて編集情報を前記対象アプリケーションに送信する、文字入力方法をコンピュータに実行させるためのプログラム。
JP2009297700A 2009-12-28 2009-12-28 文字入力装置、文字入力方法及びそのプログラム Pending JP2011138305A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009297700A JP2011138305A (ja) 2009-12-28 2009-12-28 文字入力装置、文字入力方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009297700A JP2011138305A (ja) 2009-12-28 2009-12-28 文字入力装置、文字入力方法及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2011138305A true JP2011138305A (ja) 2011-07-14

Family

ID=44349683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009297700A Pending JP2011138305A (ja) 2009-12-28 2009-12-28 文字入力装置、文字入力方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP2011138305A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129076A (ja) * 2012-12-20 2018-08-16 マイクロソフト テクノロジー ライセンシング,エルエルシー アトミックにリンクされたエンティティを存続させたオートコンプリート

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62290966A (ja) * 1986-06-10 1987-12-17 Nec Corp 文章編集装置
JPH0431958A (ja) * 1990-05-29 1992-02-04 Canon Inc 文書処理装置
JPH07200560A (ja) * 1993-12-31 1995-08-04 Ricoh Co Ltd 文書作成装置
JPH09190436A (ja) * 1996-01-12 1997-07-22 Toshiba Corp 情報処理装置及び範囲指定方法
JPH11102360A (ja) * 1997-09-25 1999-04-13 Kokusai Electric Co Ltd データ登録方法
JPH11167569A (ja) * 1997-12-02 1999-06-22 Sony Corp 文章入力装置及び方法並びに記録媒体
JP2000268032A (ja) * 1999-03-15 2000-09-29 Internatl Business Mach Corp <Ibm> 階層化された文章の編集装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62290966A (ja) * 1986-06-10 1987-12-17 Nec Corp 文章編集装置
JPH0431958A (ja) * 1990-05-29 1992-02-04 Canon Inc 文書処理装置
JPH07200560A (ja) * 1993-12-31 1995-08-04 Ricoh Co Ltd 文書作成装置
JPH09190436A (ja) * 1996-01-12 1997-07-22 Toshiba Corp 情報処理装置及び範囲指定方法
JPH11102360A (ja) * 1997-09-25 1999-04-13 Kokusai Electric Co Ltd データ登録方法
JPH11167569A (ja) * 1997-12-02 1999-06-22 Sony Corp 文章入力装置及び方法並びに記録媒体
JP2000268032A (ja) * 1999-03-15 2000-09-29 Internatl Business Mach Corp <Ibm> 階層化された文章の編集装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018129076A (ja) * 2012-12-20 2018-08-16 マイクロソフト テクノロジー ライセンシング,エルエルシー アトミックにリンクされたエンティティを存続させたオートコンプリート
US11455069B2 (en) 2012-12-20 2022-09-27 Microsoft Technology Licensing, Llc Auto-complete with persisted atomically linked entities

Similar Documents

Publication Publication Date Title
US11720744B2 (en) Inputting images to electronic devices
JP4241883B2 (ja) 文章入力装置及び方法
JP2007133806A (ja) 端末及び端末の制御プログラム
JP2016186717A (ja) 文字変換装置、その制御方法、プログラム、及び記憶媒体
US10338809B2 (en) Program for character input system, character input device, and information processing device
JP2014164368A (ja) 入力支援装置、キーボード、情報処理端末、入力支援方法、及びプログラム
JP4241423B2 (ja) 文章作成装置
JP2010140475A (ja) 入力順非依存式文字入力機構を提供するための方法、装置、およびコンピュータプログラム
JP2014115894A (ja) 表示装置
JP2011138305A (ja) 文字入力装置、文字入力方法及びそのプログラム
JP5477936B2 (ja) 文字入力装置、文字・文字種の選択方法
JP3932942B2 (ja) 文章入力方法及び装置並びに文章入力プログラム
JP4207089B2 (ja) 文章入力装置及び方法
JP4007400B2 (ja) 文章入力装置及び方法
JP2006099682A (ja) 情報表示制御装置、サーバ及びプログラム
JP7363187B2 (ja) 情報処理装置
JP6221275B2 (ja) 文字入力用のプログラムおよび文字入力装置
JP2005293217A (ja) 情報表示制御装置、サーバ及びプログラム
JP4913795B2 (ja) 文字入力用画面の表示制御装置および文字入力用画面の表示制御プログラム
JP4519106B2 (ja) 文章入力装置及び方法
JP2009258902A (ja) 駅名入力装置および駅名入力プログラム
JP3962828B2 (ja) 情報検索制御装置、サーバ及びプログラム
JP2003196011A (ja) 文字入力装置
JP2009157748A (ja) 入力装置、携帯端末装置およびプログラム
JP2022055580A (ja) 文書比較支援装置、文書比較支援プログラム、文書比較支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130806