JP3841590B2 - Software keyboard device - Google Patents

Software keyboard device Download PDF

Info

Publication number
JP3841590B2
JP3841590B2 JP15297199A JP15297199A JP3841590B2 JP 3841590 B2 JP3841590 B2 JP 3841590B2 JP 15297199 A JP15297199 A JP 15297199A JP 15297199 A JP15297199 A JP 15297199A JP 3841590 B2 JP3841590 B2 JP 3841590B2
Authority
JP
Japan
Prior art keywords
character
group
cursor
software keyboard
character group
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.)
Expired - Lifetime
Application number
JP15297199A
Other languages
Japanese (ja)
Other versions
JP2000339091A (en
Inventor
稔昌 篠原
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP15297199A priority Critical patent/JP3841590B2/en
Publication of JP2000339091A publication Critical patent/JP2000339091A/en
Application granted granted Critical
Publication of JP3841590B2 publication Critical patent/JP3841590B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、小型軽量化されたデジタル携帯機器のように、入力ディバイスの数および機能と、入力結果をユーザに示す表示面積が共に制限された使用環境下において、ユーザの肉体的および心理的負担が少なく、文字が入力できるソフトウェアキーボード装置に関する。
【0002】
【従来の技術】
近年、腕時計、携帯電話、携帯用オーディオ機器、携帯用ビデオ機器および携帯情報端末等に代表される小型軽量化されたデジタル携帯機器が、社会に広く普及している。その結果、多くのユーザは、そのようなデジタル携帯機器に文字情報を入力したいという要望を持っている。しかしながら、そのようなデジタル携帯機器においては、携帯性を追求した結果、ユーザが文字入力を行うために利用できる入力ディバイスの数および機能が制限されている。さらに、ユーザが、自身の入力内容を確認するために必要とする表示部の面積も制限されている。
【0003】
このような環境下で、従来提供されている文字入力装置の代表的なものとしては、カーソルキーを操作して、全ての入力可能な文字を順番に表示させ、所望の文字が表示された時点で、選択のための入力ディバイスを操作して選択するものがある。この場合、所望の文字が直ちに表示されれば良いが、平均的に、その入力装置に用意されている全文字数の半分を表示させる必要がある。
【0004】
【発明が解決しようとする課題】
このような、状態において、数十万以上の文字の種類があると言われる日本語を、制限された入力ディバイスおよび限られた表示面積の従来の文字入力手段を用いて入力するのは、実際上不可能と言わざるを得ない。
そこで、本発明においては、そのような制限された環境下においても、人間の行動心理を考慮し、比較的キー・ストロークが少なくなるよう工夫したソフトウェアキーボードを提案する。行動心理とは、画面から得られる情報を基に次にどの様にカーソルを移動させるのかという観点である。
【0005】
ソフトウェアキーボードにより日本語を入力する場合、50音全てを画面に網羅すると目的の文字を探すのに手間取り、キー・ストローク(入力装置の操作回数)が多くなる傾向にある。最近流行の携帯電話やミニディスク装置等は文字入力ができるが結構厄介な入力をしなければならず、ユーザにかなりな肉体的および心理的負担がかかり、精神衛生上良くない。また、ミニディスク装置等に備えられている表示装置の表示画面を占有するキーボード部の割合が多くなる。
本発明は上記の課題を解決するために成されたもので、ボタン数の少ない入力装置で、簡単に日本語入力することを可能にし、ローマ字入力を行えるソフトウェアキーボードを提供することを目的とする。
【0006】
【課題を解決するための手段および発明の効果】
第1の発明は、同一の文字種から成る第1の文字群に含まれる文字を組み合わせて、第1の文字群に含まれる文字とは異なる文字種から成る第2の文字群に含まれる文字を選択して、デジタル機器に入力するためのソフトウェアキーボード装置であって、
第1の文字群を、所定の基準に従って、第1の所定数の文字から成る第1の文字グループと、第1の所定数より少ない第2の所定数の文字から成る第2の文字グループとに分け、第1の文字グループ第2の文字グループとを近かつ平行に表示する文字グループ表示部と、
ユーザの指示に基づいて、表示された第1の文字グループおよび第2の文字グループに含まれる文字を一文字ずつ指し示すポインティング部と、
ポインタによって第1の文字グループ文字指し示された際に、当該文字が第2の文字グループのいずれの文字とも対向しないは、当該文字に対向する位置にまで当該第2の文字グループの表示領域をシフトし、当該文字が第2の文字グループのいずれかの文字と対向する時には、当該第2の文字グループの表示位置を現在の表示位置に固定する表示位置制御部とを備える。
【0007】
上述のように、第1の発明においては、第1の文字グループの文字を選択した場合には、その上下の何れかの位置には、必ず第2の文字グループの文字が表示されているので、第2の文字グループの文字を選択する際にポインタを移動させる工程数を低減できる。
【0008】
第2の発明は、第1の発明において、文字グループ表示部は、第1の文字グループおよび第2の文字グループに含まれる文字を互いに対向かつ平行な方向に連続して表示することを特徴とする。
【0009】
第3の発明は、第2の発明において、表示位置制御部は、さらに、
ポインタが、平行方向に第2の文字グループの端部より外側に移動しようとする場合には、第2の文字グループの対応する端部の文字が、ポインタが指し示そうとする位置に在るように、第2の文字グループ全体の表示位置をシフトさせることによって、
ポインタが、第1の文字グループに平行に移動する場合には、ポインタによって、第2の文字グループに含まれる文字が指し示されることを特徴とする。
【0010】
上述のように、第3の発明においては、第2の文字グループから、第1の文字グループの文字を選択するために、所望の文字の直下或いは直上の位置にカーソルを動かす間も第2の文字グループがカーソルに追随して移動するので、ユーザに安心感を与えることができる。
【0011】
第4の発明は、第3の発明において、表示位置制御部は、
ポインタが、第2の文字グループから移動して、第2の文字グループの内部の文字を指し示そうとする時は、第2の文字グループ全体の表示位置をシフトしないように、文字表示部を制御することを特徴とする。
【0012】
上述のように、第4の発明においては、第1の文字グループから第2の文字グループに移動した場合は、第2の文字グループを移動しないようにロックすることによって、カーソル移動に対する第2文字グループの追随移動の方法を多様化している。
【0013】
第5の発明は、同一の文字種から成る第1の文字群に含まれる文字を組み合わせて、第1の文字群に含まれる文字とは異なる文字種から成る第2の文字群に含まれる文字を選択して、デジタル機器に入力するためのソフトウェアキーボード装置であって、
第1の文字群を、所定の基準に従って、第1の所定数の文字から成る第1の文字グループと、第1の所定数より少ない第2の所定数の文字から成る第2の文字グループとに分け、第1の文字グループおよび第2の文字グループに含まれる文字を互いに対向かつ平行な方向に連続して表示する文字グループ表示部と、
ユーザの指示に基づいて、ポインタを一文字分ずつ移動させて、表示された第1の文字グループおよび第2の文字グループに含まれる文字のそれぞれを、指し示すポインティング部と、
ポインタが、平行方向に第2の文字グループの端部より外側に移動しようとする場合には、第2の文字グループの対応する端部の文字が、ポインタが指し示そうとする位置に在るように、第2の文字グループ全体の表示位置をシフトさせることによって、
ポインタが、第1の文字グループに平行に移動する場合には、ポインタによって、第2の文字グループに含まれる文字が指し示されることを特徴とするソフトウェアキーボード装置。
【0014】
上述のように、第5の発明においては、第2の文字グループを選択した後に、第1の文字グループを選択するために、選択する第1グループの文字の直下或いは直上の位置にポインタを動かす時も、第2の文字グループがポインタに追随して移動するので、ユーザに安心感を与えることができる。
【0015】
第6の発明は、第1、第2、第3、第4、および第5の発明の何れかにおいて、ポインティング部は、ポインタが、第1の文字グループの端部の文字の外側の位置を指示しようとする時は、ポインタを第1の文字グループのもう一方の端部に在る文字を指示するように移動させることを特徴とする。
【0016】
上述のように、第6の発明においては、カーソルを第1グループの一端から他端へ循環移動させることによって、カーソルの移動に対する第2の文字グループの追随移動との相乗効果により、第2の文字グループの文字を選択する際にポインタを移動させる工程数を低減できる。
【0017】
第7の発明は、第4の発明において、ポインティング部は、ポインタが、第2の文字グループの端部の文字の外側の位置を指示しようとする時は、ポインタを第2の文字グループのもう一方の端部に在る文字を指示するように移動させることを特徴とする。
【0018】
上述のように、第7の発明においては、カーソルを第2グループの一端から他端へ循環移動させることによって、第2の文字グループの文字を選択する際にポインタを移動させる工程数を低減できる。
【0019】
第8の発明は、第3および第5の発明の何れかにおいて、ポインティング部は、第2の文字グループの端部の文字が、第1の文字グループの端部の文字に対向するように、表示位置がシフトされた第2の文字グループの端部の外側の位置を、ポインタが指示しようとする時は、第1の文字グループのもう一方の端部に在る文字に対向する位置に、ポインタを移動させることを特徴とする。
【0020】
上述のように、第8の発明においては、カーソルの循環移動に追随して第2の文字グループを循環移動させることによって、ユーザに安心感を与えることができる。
【0021】
第9の発明は、第1、第2、第3、第4、第5、第6、第7および第8の発明の何れかにおいて、第2の文字群に含まれる文字は、ダブルバイトコードで規定される文字であり、
第1の文字群に含まれる文字は、シングルバイトコードで規定される文字であることを特徴とする。
【0022】
上述のように、第9の発明においては、シングルバイトで規定される数の少ない文字を組み合わせることで、ダブルバイトコードで規定される非常に数の多い文字を表現できる。
【0023】
第10の発明は、第9の発明において、第2の文字群に含まれる文字は、日本語であり、
第1の文字群に含まれる文字は、アルファベット26文字であることを特徴とする。
【0024】
上述のように、第10の発明においては、カーソルの移動に対して、第2の文字グループに含まれるアルファベットが追随移動して表示されるので、第1の文字グループに含まれる文字の後に第2の文字グループに含まれるアルファベットをつなげることが容易である。
【0025】
第11の発明は、第1、2、3、4、5、6、7、および8の何れかの発明において、第1のグループには、子音に対応するアルファベットが含まれ、
第2のグループは、母音に対応するアルファベットが含まれることを特徴とする。
【0026】
上述のように、第11の発明においては、カーソルの移動に対して、母音行を追随移動させて表示されるので、子音の後に母音をつなげて構成されることが殆どである日本語の仮名文字を表現するためのポインタの移動工程数が低減できる。
【0027】
第12の発明は、第11の発明において、第2の文字グループに含まれる文字は、A、I、U、E、およびOの5文字であり、
第1グループに含まれる文字は、アルファベットから第2の文字グループに含まれる文字を除く21文字であることを特徴とする。
【0028】
上述のように、第12の発明においては、26文字の子音に対応するアルファベットを指し示すポインタに移動して、5文字の母音に対応するアルファベットが追随移動して表示されるので、子音の後に母音をつなげて構成されることが殆どである日本語の仮名文字を表現するためのポインタの移動工程数が低減できる。
【0029】
第13の発明は、第9または11の発明において、第1の文字グループに含まれる文字を、所定の基準に基づいて、少なくとも2つ以上のサブグループに分けられることを特徴とする。
【0030】
第14の発明は、第13の発明において、サブグループのそれぞれは、第2の文字グループに両側に、互いに平行に表示されることを特徴とする。
【0031】
第15の発明は、第14の発明において、サブグループのそれぞれは、第2の文字グループの片側に、互いに平行に表示されることを特徴とする。
【0032】
【発明の実施の形態】
以下に、図1〜図28を参照して、本発明の実施形態にかかるソフトウェアキーボード装置について説明する。その後、図29〜図55を参照して、本発明をゲーム機に適応した実施例について、詳しく説明する。
【0033】
先ず、図1および図2を参照して、本実施形態にかかるソフトウェアキーボード装置SKAの構成と主な動作について説明する。その後、図3〜28について、ソフトウェアキーボード装置SKAにおける文字入力方法について具体的に説明する。
【0034】
図1に示すように、本実施形態にかかるソフトウェアキーボード装置SKAは、プログラム源1、入力器19、表示器21および文字入力器本体100を含む。プログラム源1は、ソフトウェアキーボード装置SKAの動作を実行させる各種コンピュータプログラムを格納しており、好ましくは、不揮発性の記憶手段によって構成されている。
【0035】
入力器19は、ユーザが操作して自身の指示をソフトウェアキーボード装置SKAに伝える手段であり、好ましくは、キーボード等のポインティングディバイスと選択決定入力ディバイスを備えている。
【0036】
文字入力器本体100は、CPU5とRAM13を内蔵している。CPU5は、プログラム源1に格納されている各種プログラムをロードすると共に、入力器19から入力されるユーザの指示に基づいて、ロードされたプログラムを実行する。RAM13は、CPU5がプログラムを実行する際に必要な作業領域を提供するワーキングメモリである。なお、CPU5は、ソフトウェアキーボード装置SKA全体の動作を制御する制御装置でもある。
【0037】
なお、プログラム源1は、文字入力器本体100に対して、脱着可能に接続できるように構成しても良いし、また、CPU5やRAM13のように、予め文字入力器本体100に内蔵するように構成しても良い。
【0038】
表示器21は、CPU5の実行結果を映像や音声で表示して、ユーザの指示結果を表示したり、ユーザに新たな指示の入力を促す。この目的のために、本発明において、プログラムの実行結果およびユーザの指示に応じて、キーボードの状態が適正に変化して表示器21に表示される。以降、この表示器21に画像や音声で表示されるキーボードを「ソフトウェアキーボード」と称する。
【0039】
次に、図2に示すフローチャートを参照して、ソフトウェアキーボード装置SKAの動作について説明する。ソフトウェアキーボード装置SKAに電源が投入されて、その動作が開始される。
【0040】
先ず、ステップ#1000において、プログラム源1から各種プログラムが文字入力器本体100にロードされる。そして、処理は、次のステップ#2000に進む。
【0041】
ステップ#2000において、プログラム源1からロードされたプログラムに従って、ソフトウェアキーボード装置SKAの各種要素およびパラメータが初期化される。そして、処理は、次のステップ#3000に進む。
【0042】
ステップ#3000において、ステップ#2000で初期化された状態が、表示器21に表示される。つまり、表示器21には、ユーザによる指示が入力される前の状態のソフトウェアキーボードが表示される。そして、処理は、次のステップ#4000に進む。
【0043】
ステップ#4000において、ユーザによる入力器19の状態が取得される。つまり、入力の有無およびその入力内容を検出すると共に、検出結果に基づいて、以下に続く各ステップ#5000、#6000、#7000、#8000、および#9000の何れかが選択的に実行される。
【0044】
例えば、ユーザがカーソル移動のための入力ディバイスを操作していれば、処理は、ステップ#4000からステップ#5000に分岐する。
【0045】
ユーザが入力したアルファベットを決定するように入力ディバイスを操作していれば、処理は、#7000に分岐する。
【0046】
ユーザが#7000で決定されたアルファベットの組み合わせから変換された仮名から、さらに変換される漢字の候補の何れかを選択するように入力ディバイスを操作すれば、処理は、#6000に分岐する。
【0047】
また、ユーザが、#5000で表示されたソフトウェアキーボードSKB上のアルファベットを選択した後に、そのアルファベットの選択を取り消すように入力ディバイスを操作すれば、処理は、ステップ#8000に分岐する。
【0048】
さらに、ユーザが、表示されているソフトウェアキーボードSKBの動作モードを変更するように、入力ディバイスを操作すれば、処理は、ステップ#9000に分岐する。
【0049】
ステップ#5000において、入力器19に含まれるポインティングディバイスの動作状態を表すポインタパラメータの値に応じて、表示器21に表示されるソフトウェアキーボードが変更される。
【0050】
ステップ#5000、ステップ#6000、ステップ#7000、ステップ#8000、およびステップ#9000における処理については、後ほど、図32を参照して、詳しく説明する。
【0051】
前述のステップ#5000、#6000、#7000、#8000、および#9000の何れかが選択的に実行された後、処理は、ステップ#4000に戻る。そして、ステップ#4000において、再度、取得された入力器19の状態、つまり、ユーザの指示に基づいて、ステップ#5000、#6000、#7000、#8000、および#9000の何れかが選択的に実行される。このようなステップ#4000〜#9000の処理が繰り返し実行されることによって、ユーザは、所望の文字を、ソフトウェアキーボード装置SKAを用いて選択して入力できる。
【0052】
次に、図3および図4に、ソフトウェアキーボードが表示されている表示器21の状態を例示する。図3の左上に位置するのがソフトウェアキーボードSKB、その下に日本語を入力する日本語入力ラインエディタ、最下行にローマ字入力時はローマ字入力変換ラインが配置される。ソフトウェアキーボードSKBは、A〜Zのアルファベット26文字で構成されている。
【0053】
同図において、ローマ字入力変換ラインには、ソフトウェアキーボードSKBを利用して、アルファベット26文字のそれぞれが適正に選択された組み合わせが、平仮名の「かん」にローマ字変換された例がローマ字入力変換ライン上に表されている。さらに、このようなローマ字入力変換ラインで、アルファベットからローマ字変換された平仮名が、さらに、漢字に変換された例が日本語入力ラインエディタ上に示されている。同例において、「日本語入力は」が既に入力済みである。
【0054】
図4に、図3においてローマ字変換された平仮名の「かん」が漢字変換される様子を示す。漢字変換によって、「かん」に対応する漢字が漢字候補ラインに表示されている。入力モード・アイコンを利用して、漢字変換モードの「漢」、平仮名文字入力の「あ」、カタカナ文字入力の「ア」、アルファベット文字入力の「A」、記号・句読点文字入力の「記」、数字・漢数字文字入力の「数」、ギリシャ文字入力の「ギ」、漢字コード(SJIS、JIS)による入力の「コ」を選択できる。
【0055】
母音グループ追随切換アイコンを利用して、ソフトウェアキーボードSKBの動作モードである「追随モード1」、「追随モード2」、および「静止モード」の3つの動作モードが選択できる。これらの3つの動作モードにおいて、主に母音用アルファベット群の移動許可の制御および禁止の制御の方法が異なる。これについては、後ほど、図5〜図26を参照して詳述する。
【0056】
次に、図5を参照して、本実施形態にかかるソフトウェアキーボードSKBの基本的な構成について、先ず説明する。その後、ソフトウェアキーボードSKBの3つの動作モードである「追随モード1」、「追随モード2」、および「静止モード」のそれぞれについて具体的に説明する。
【0057】
図5に、図3および図4に示したソフトウェアキーボードSKBを拡大して示す。同図に明示するように、ソフトウェアキーボードSKBにおいて、アルファベット26文字は、「A」、「I」、「U」、「E」、および「O」の日本語の母音を表す5文字よりなる母音グループGvと、残りの21文字の子音を表す文字よりなる子音グループGcに分けられている。
なお、同図において、母音グループGvの各アルファベットは、好ましくは、日本語の母音「あ」、「い」、「う」、「え」、および「お」の順番に配置されるが、必要に応じて、任意の順番に配置しても良い。また、表示器21の表示面積の有効利用および、文字の選択動作の便を図って、子音グループGcは、さらに3つの子音サブグループGc1、Gc2、およびGc3に分けられている。
【0058】
同図に示すように、第1の子音サブグループGc1は、日本語の「か行」、「さ行」、「た行」、「な行」、「は行」、「ま行」、「や行」、「ら行」、および「わ行」のそれぞれに対応する、アルファベットの「K」、「S」、「T」、「N」、「H」、「M」、「Y」、「R」、および「W」で構成される。なお、第1の子音サブグループGc1を構成する9文字のアルファベットは、ユーザの感性的な簡便性から、好ましくは、図示したように「K」、「S」、「T」、「N」、「H」、「M」、「Y」、「R」、および「W」の順番に配置されるが、必要に応じて、任意の順番で配置しても良い。
【0059】
第2の子音サブグループGc2は、日本語の「じゃ行」、「が行」、「ざ行」、「だ行」、「ふぁ行」、「ちゃ行」、「ば行」、「ぱ行」、および「小文字行」のそれぞれに対応する、アルファベットの「J」、「G」、「Z」、「D」、「F」、「C」、「B」、「P」および「L」で構成される。なお、第1の子音サブグループGc1と同様に、第2の子音サブグループGc2は9文字のアルファベットから構成される。また、第2の子音サブグループGc2においても、ユーザの感性的な簡便性から、好ましくは、図示したように「J」、「G」、「Z」、「D」、「F」、「C」、「B」、「P」および、「L」の順番に配置される。しかしながら、必要に応じて、各文字を、任意の順番で配置しても良い。
【0060】
第3の子音サブグループGc3は、通常の日本語ではないが最近よく用いられる英語特有の音に対応するアルファベットの「Q」、「X」、および「V」の3文字で構成される。前述の第1の子音サブグループGc1、および第2の子音サブグループGc2と同様に、必要に応じて、「Q」、「X」、および「V」は、任意の順番に配置しても良い。
【0061】
前述の如く、アルファベット26文字は、母音グループGv、第1の子音サブグループGc1、第2の子音サブグループGc2、および第3の子音グループGc3の4つのグループに分けられる。さらに、アルファベット26文字は、各グループ毎にその構成文字を左から右へ順番に配置して、4段に渡って配列される。第1段目には、第1の子音サブグループGc1が配列さる。第2段目には母音グループGvが中央揃えされた状態で配列される。そして、第3段目および第4段目には、それぞれ、第2の子音サブグループGc2および第3の子音グループGc3が配列される。
【0062】
つまり、同例において、母音グループGvの左端部の文字「A」が、第1の子音サブグループGc1の「T」、および第2の子音サブグループGc2の「Z」に対向する位置に配置されている。そして、母音グループGvの右端部の文字「O」は、第1の子音グループGc1の「Y」、および第2の子音サブグループGc2の「B」に対向する位置に配置されている。さらに詳述すれば、母音グループGvの「I」は、第1の子音サブグループGc1の「N」と第2の子音サブグループGc2の「D」のそれぞれと対向している。同様に、「U」は「H」と「F」のそれぞれに対向し、「E」は「M」と「C」のそれぞれに対向してる。そして、第3の子音サブグループGc3の「Q」、「X」、および「V」は、第2の子音サブグループGc2の「D」、「F」、および「C」とそれぞれ対向している。
【0063】
なお、同図において、主に、文字を囲むように表示されている四角形の枠は、文字選択用カーソル(以降、「カーソル」と称する)の現位置を示している。カーソルは、原則として、アルファベットの在るところのみ一文字単位で自由に移動できる。しかし、第2段目の母音グループGvのアルファベット群は、特殊な移動を行う。このカーソルの移動に対する母音グループGvのアルファベット群の特殊な移動方法をソフトウェアキーボードの動作モードと呼ぶ。ソフトウェアキーボードの動作モードには、「追随モード1」、「追随モード2」、「静止モード」の3種類ある。なお、カーソルの移動は、前述の入力器19をユーザが操作して、ソフトウェアキーボード装置SKAに指示する。以下に、ソフトウェアキーボードSKBの3つ動作モードの違いについて詳述する。
【0064】
なお、以下にソフトウェアキーボードSKBの動作モードについて、図面を参照して説明する前に、各動作モードにおけるカーソルと母音グループGvの移動原理について簡単に述べる。
【0065】
(追随モード1)
追随モード1において、カーソルが母音グループGv内を移動する場合と、子音グループGc内を移動する場合において、若干動作が異なる。先ず、カーソルが子音グループGc内および母音グループGv内を移動する場合は、自由に移動できる。但し、カーソルが子音グループGc内を、母音グループGvの両端部の何れかに対向する同列に位置する文字を越えて、左右方向の何れかに移動しようとする際には、母音グループGvのその端部の文字が、子音グループGc内を移動するカーソルの直下或いは直上に在るように追随して、母音グループGv全体が左右方向に移動する。そして、カーソルが子音グループGcの端部の文字を越えてさらに、移動しようとすると、カーソルは同子音グループGcの他端部の文字に循環移動する。そして、母音グループGvが、この循環移動したカーソルの直下或いは直上に在るように追随して、母音グループGv全体が移動する。
【0066】
「カーソルの循環移動」とは、例えば最左端までカーソルを移動した時点で、次は最右端に移動したい時に、わざわざ右方向にカーソルを移動させなくても、左に一文字分の移動指示すれば、一気に数文字分を飛び越して最右端に移動することである。これは、ストローク量の低減を追求する場合は必要不可欠な手法である。なお、母音グループGv全体の循環移動も、カーソルの循環移動と同様である。
【0067】
一方、カーソルが母音グループGv内を移動する場合について説明する。この場合、カーソルは母音グループGv内を自由に移動できる。しかし、カーソルが母音グループGvの両端部を越えて、ソフトウェアキーボードSKBの両端部までの間を、左右の何れかの方向に移動しようとする際には、母音グループGvのその端部の文字がカーソルに追随して、母音グループGv全体が移動する。そして、カーソルがソフトウェアキーボードSKBの一端部を越えてさらに移動しようとする場合は、カーソルは、ソフトウェアキーボードSKBの他端部まで、循環移動すると共に、母音グループGvの他端部の文字が循環移動したカーソルの位置に在るように、母音グループGv全体がカーソルに追随して移動する。
【0068】
(追随モード2)
追随モード2において、カーソルが母音グループGvの内部を移動する場合を除いて、前述の追随モード1と同様である。つまり、カーソルが子音グループGc内を移動する際のカーソルの移動と、母音グループGvの移動は、追随モード1の場合と全く同じである。しかしながら、追随モード2において、カーソルが母音グループGv内を移動する場合には、カーソルが母音グループGvの範囲を越えて移動することはできない。それ故に、母音グループGv内を移動するカーソルに、母音グループGvが追随移動することはない。
【0069】
つまり、カーソルが子音グループGcから母音グループGvに移動する場合には、子音グループGc内を移動するカーソルに追随している母音グループGvが、カーソルが移動する直前の追随位置で固定される。そして、カーソルは位置を固定された母音グループGvの内部を自由に移動できる。そして、カーソルがその固定された母音グループGvの両端部を越えて移動しようとすると、カーソルは母音グループGvの他端部に循環移動される。
【0070】
(静止モード)
静止モードにおいて、各文字グループ内を自由に移動が可能である。但し、母音グループGvは初期状態で固定されたままで、カーソルの移動に対する追随移動は行わない。また、カーソルが、異なるグループ間を移動する際には、その移動距離が最小になるような位置に在る文字が選択される。
【0071】
図5に示す例に照らして追随モード1についてさらに説明する。図5において、第1の子音サブグループGc1、第2の子音サブグループGc2、および第3の子音サブグループGc3から成る子音用アルファベット領域(上から1段目、3段目、4段目)において、各子音グループGc中でカーソルを左右に移動させる場合について考える。カーソルを左右に動かした結果、カーソルの各子音グループGcにおける位置が、母音グループGvの左右端の「A」および「O」に対応する位置を越える場合がある。
【0072】
つまり、第1の子音サブグループGc1において、カーソルが「T」から「S」に移動する、或いは「Y」から「R」に移動する場合である。なお、第2の子音サブグループGc2において、カーソルが「Z」から「G」に移動する、或いは「B」から「P」に移動する場合である。より正確に言うならば、母音グループGvの両端の文字の上下に位置する子音グループGcの文字よりもさらに、外側の文字にカーソルを移動させる場合である。このようなカーソル移動を、「母音グループGvの限界越移動」と称する。このように、カーソルが母音グループGvの限界越移動を行う場合には、そのカーソルに追随する母音グループGv全体の移動が行われる。
【0073】
また、母音グループGv内においてのカーソル移動についても同様に母音グループGv全体の追随移動が行われる。つまり、母音グループGv内で、カーソルを「A」からその左隣の空白部に動する場合、カーソルの移動に追随して、母音グループGv全体が一つ左隣に移動する。
【0074】
<追随モード1:カーソルが母音グループGv内を移動>
以下に、図5〜図10を参照して、前述の追随モード1における、カーソルが母音グループGv内を移動する際のソフトウェアキーボードSKBの具体的な動作例について説明する。今、図5に示すように、カーソルが母音グループGvの「I」の位置に在る時に、カーソルを「I」の左隣の「A」に位置に移動させる。この場合は、図6に示すように、カーソルのみ通常に移動して、母音グループGvのカーソルに対する追随移動は生じない。
【0075】
さらに、カーソルを「A」の左隣の空白部(第1の子音サブグループGc1の「S」と、第2の子音サブグループGc2の「G」の間の位置)に移動させる。この場合、図7に示すように、母音グループGv全体が、カーソルが「A」上に在るままで、カーソルの移動に追随して移動する。つまり、母音グループGvを構成するアルファベットの各文字が一文字分ずつ左隣に移動する。
【0076】
そして、カーソルを母音グループGvの左端の左隣の空白部に、さらに移動させる。この場合、図8に示すように、母音グループGvはカーソルに追随して、カーソルが「A」上に在るままで、ソフトウェアキーボードSKBの左端まで移動する。
【0077】
さらに、ソフトウェアキーボードSKBの左端を越えて、なお左側に移動するようにカーソルの移動を指示する。この場合、図9に示すように、母音グループGv全体がソフトウェアキーボードSKBの右端に接するように移動すると共に、カーソルは「O」の位置に移動する。
【0078】
なお、さらに左隣に、カーソルを移動するように指示すると、図10に示すように、母音グループGvはソフトウェアキーボードSKBの右端に接した状態のままで、カーソルだけが「O」から「E」の位置に移動する。なお、前述の一連の左方向のカーソル移動とは逆に、右方向へのカーソル移動を行う時も、母音グループGvは前述の動作原理に従った動作を行う。
【0079】
<追随モード1:カーソルが子音グループGc内を移動>
次に、図11〜図19を参照して、前述の追随モード1において、カーソルが子音グループGc内を移動する際のソフトウェアキーボードSKBの動作について具体的に説明する。
【0080】
図11に示すように、ソフトウェアキーボードSKBのカーソルが第1の子音サブグループGc1の文字、例えば、「N」の位置に在り、母音グループGvが標準の位置にある状態において、ユーザが入力器19を操作して、カーソルを「N」の左隣の「T」の位置に移動するように指示した場合を考える。この場合、カーソルの移動後の位置である「T」のソフトウェアキーボードSKBにおける左右方向の位置は、標準状態の母音グループGvの左端の文字である「A」の左右方向の位置と同じである。つまり、「T」は「A」に対向する位置にある。それ故に、図12に示すように、母音グループGvはカーソルに追随することなく、カーソルのみが「T」上向きに移動する。
【0081】
さらに、カーソルを左隣の「S」の位置に移動するように、指示した場合について考える。この場合、ソフトウェアキーボードSKBにおける「S」の左右方向の位置は、母音グループGvの標準状態における左端の文字「A」よりも左側に位置している。つまり、「S」は母音グループGvの何れの文字とも対向していない。このような状態で、第1の子音サブグループGc1において、カーソルを「T」から「S」の位置に移動させると、図13に示すように、カーソルの移動に追随して、母音グループGv全体が左隣に移動する。その結果、母音グループGvの左端の文字である「A」が、第1の子音サブグループGc1のカーソルが位置している「S」の直下に位置する。なお、カーソルが第2の子音サブグループGc2の「Z」から、左隣の「G」の位置に移動させる場合に、前述の場合の同様に、母音グループGvはカーソルの移動に追随して移動する。
【0082】
なお、さらに、左にカーソルを移動するように指示すると、図14に示すように、カーソルは第1の子音サブグループGc1の左端の文字「K」に位置する。そして、母音グループGvも、カーソルの移動に追随して、ソフトウェアキーボードSKBの最左端に接する。この状態で、ソフトウェアキーボードSKBの左端を越えてなお、左隣にカーソルを移動するように指示すると、図15に示すように、カーソルは第1の子音サブグループGc1の最右端の「W」上向きに移動する。そして、このカーソルの移動に追随して、母音グループGvの全体がソフトウェアキーボードSKBの右端に接するように移動する。
【0083】
さらに、左にカーソルを移動するように指示すると図16に示すように、カーソルは「W」の左隣の「R」上向きに移動する。このような、カーソルの左右位置は、その時点での母音グループGvの左端および右端よりはみ出さない。それ故に、母音グループGvは、カーソルの移動に追随することなく、ソフトウェアキーボードSKBの右端に接した状態で止まる。なお、このような状態において、カーソルが、第3の子音サブグループGc3の「L」に在る時に、カーソルをさらに、左隣に動かせば、カーソルは「P」の位置に移動するが、母音グループGvはカーソルの移動に追随しない。
【0084】
また、この動作モードの場合に、カーソルが図17に示すように、第3の子音サブグループGc3の「X」上に位置している時に、カーソルをさらに、左に移動するように指示した場合を考える。この場合、カーソルは、母音グループGvの現在の左端位置を越えて、左隣に動こうとする。結果、図18に示すように、カーソルは第3の子音サブグループGc3の「Q」上向きに移動すると共に、母音グループGv全体がカーソルの移動に追随して左隣に移動する。
【0085】
さらに、カーソルを「Q」の位置から、左隣に動かすように、入力器19を操作する場合について考える。この場合、第3の子音サブグループGc3の左端の文字である「Q」の左隣は、空白位置であるので、カーソルは「Q」の位置から、第3の子音サブグループGc3の右端の文字である「V」の位置に移動する。なお、この「V」の位置は、母音グループGvの左右端の内側の位置である。それ故に、図19に示すように、カーソルが「Q」から「V」に移動して、母音グループGvはカーソルの移動に追随することはない。また、前述の一連の左方向のカーソル移動とは逆に、右方向へのカーソル移動を行う時も上記の動作原理に従った動作を行う。
【0086】
<追随モード1:カーソルが異なる文字グループ間を移動>
次に、図20および図21を参照して、追随モード1において、カーソルが異なる文字グループに移動する際のソフトウェアキーボードSKBの動作について説明する。先ず、図20に示したソフトウェアキーボードSKBの状態で、カーソルを下向きに移動するように連続して指示する。この場合は、カーソルは、「K」→「A」→「J」→「Q」→「N」→「E」→「D」→「Q」の位置の順番に移動する。一方、カーソルを上向きに移動するように連続して指示すると、カーソルは、「Q」→「D」→「E」→「N」→「Q」→「D」の位置の順番に移動する。
【0087】
つまり、追随モード1において、母音グループGvは、その左端の文字「A」が、カーソルの在る第1の子音サブグループGc1の左端の文字「K」の直下に追随している。それ故に、この状態で、縦方向に連続して対向する位置に配置された文字「K」、「A」、および「J」上を連続的に移動し、第3の子音サブグループGc3において、最も「J」に近くに位置する「Q」に移動するのである。
【0088】
また、図21に示したソフトウェアキーボードSKBの状態で、カーソルを下向きに移動するように連続して指示すると、「W」→「O」→「L」→「V」→「M」→「I」→「C」→「V」の順番にカーソルが移動する。一方、カーソルを上向きに移動するように連続して指示すると、「V」→「C」→「I」→「M」→「V」→「C」の順番にカーソルが移動する。
【0089】
<静止モード:同一文字グループ内の移動および異なる文字グループ間移動>
次に、図22を参照して、ソフトウェアキーボードSKBの動作モードが静止モードにおける、カーソルの移動と母音グループGvの関係について説明する。ソフトウェアキーボードSKBが静止モードの際には、カーソルの移動はアルファベットの在るところのみを自由に移動可能であるが、母音グループGvは初期状態で固定されたままで、カーソルに移動に対する追随移動は行わない。そして、カーソルが異なる文字グループ間を移動する際には、その移動距離が最小になるような位置に在る文字が選択される。
【0090】
図22に例示するように、第1の子音サブグループGc1の左端の「K」の位置に在るカーソルを、さらに、左隣に移動するように指示する場合について考える。この場合、カーソルは、第1の子音サブグループGc1の右端の「W」の位置に移動する。このように、カーソルを文字グループの一端からさらに、外側に移動させようした時、その文字グループの他端にカーソルを移動させることを「循環移動」と称する。そして、カーソルを「循環移動」させる処理を「循環処理」と称する。同様に、母音グループGvの左端「A」の位置に、カーソルが在る時に、さらにカーソルを左隣に移動させようとすると、カーソルは、母音グループGvの右端の「O」の位置に循環移動する。
【0091】
そして、カーソルが第2の子音サブグループGc2の左端の「J」の位置に在る時に、カーソルをさらに左向きに移動させようとすると、カーソルは第2の子音サブグループGc2の右端の「L」の位置に循環移動する。同様に、カーソルが第3の子音サブグループGc3の左端の「Q」の位置に在る時に、カーソルをさらに左向きに移動させようとすると、カーソルは第3の子音サブグループGc3の右端の「V」の位置に循環移動する。ただし、静止モードにおいては、これらのカーソル移動に伴う母音用アルファベット群の追随移動は行われない。前述の一連の左方向のカーソル移動とは逆に、右方向へのカーソル移動を行う時も、カーソルおよび母音グループGvは前述の動作原理に従った動作を行う。
【0092】
図22を参照して、静止モードにおいて、カーソルを異なる文字グループ間を移動させる場合について説明する。図示したソフトウェアキーボードSKBにおいて、カーソルを下向きに移動するように連続して指示する場合について考える。この場合、カーソルは、前述の如く文字グループ間での移動距離が最小になるように、「K」→「A」→「Z」→「Q」→「N」→「I」→「D」→「Q」の位置の順番に移動する。
【0093】
逆にカーソルを上向きに移動するように連続して指示した場合について考える。この場合、カーソルは、「Q」→「D」→「I」→「N」→「Q」→「D」の順番に移動する。また、カーソルが、第1の子音サブグループGc1の右端の「W」の位置に在る時に、カーソルを下向きに移動するように連続して指示した場合について考える。この場合、カーソルは、「W」→「O」→「B」→「V」→「M」→「E」→「C」→「V」の位置の順番に移動する。
【0094】
逆に「W」の位置に、カーソルが在る時にカーソルを上向きに移動するように連続して指示した場合には、カーソルは、「V」→「C」→「E」→「M」→「V」→「C」の位置の順番に移動する。なお、静止モードにおいて、カーソルの移動に伴う母音グループGvの追随移動は一切行われない。
【0095】
<追随モード2:カーソルが子音グループGc内を移動>
次に、図23および図24を参照して、追随モード2においてカーソルが子音グループGc内を移動する際のソフトウェアキーボードSKBの動作について具体的に説明する。追随モード2におけるソフトウェアキーボードSKBの動作は、カーソルが子音グループGc内を移動する場合は追随モード1における動作と同じである。
よって、図23および図24に示されるように、カーソルが第1の子音サブグループGc1の「T」より左に移動する時は、カーソルに追随して母音グループGvが移動する。
【0096】
<追随モード2:カーソルが異なる文字グループ間を移動>
図25および図26を参照して、追随モード2において、カーソルが異なる文字グループ間を移動する際の、ソフトウェアキーボードSKBの動作について説明する。先ず、初期状態において、母音グループGvはソフトウェアキーボードSKBの第2段目に中央揃えされた状態でロック(固定)されている。よって、カーソルは母音グループGvの両端部を越えて移動できない。つまり、カーソルが母音グループGv内を移動する際には、母音グループGvがカーソルに追随して移動することはない。
【0097】
一方、カーソルが子音グループGc内を移動する際には、前述のように、追随モード1におけるのと同様に、母音グループGvのロックが解除される。その結果、母音グループGvは、カーソルの移動に追随して移動する。このように、母音グループGvが追随移動した状態で、カーソルが子音グループGcから母音グループGvに移動する際には、母音グループGvは追随移動した位置で固定されている。
【0098】
つまり、図24に示すように、カーソルが第1の子音サブグループGc1の「S」の位置に在る状態で、下にカーソルを移動するように指示する場合を考える。この場合、カーソルは、「A」→「G」→「Q」→「N」→「I」→「D」→「Q」の位置に順番に移動する。
【0099】
また、図25に示すように、カーソルが第1の子音サブグループGc1の「S」の位置から、母音グループGvの「A」の位置に移動した時点で、母音グループGvはその位置にロックされる。このような、母音グループGvがロックされた状態で、カーソルをさらに「A」の左隣に動かそうとすると、図26に示すように、母音グループGvは追随移動しないで、ロックされた母音グループGvの右端の「O」の位置にカーソルが循環移動する。
【0100】
以下に、図27を参照して、本発明にかかるソフトウェアキーボードSKBによる入力工程数低減の効果について説明する。本発明において、選択可能なソフトウェアキーボードSKBを用いて、ローマ字仮名変換で日本語を入力する際の、3タイプの動作モード、「静止モード」、「追随モード1」、「追随モード2」のそれぞれにおける物理的なストローク量の違いについて、具体的な数種類の単語について研究してみる。これにより、母音用アルファベット群の「動」の効果を確認することができる。
【0101】
ストローク量を把握するためには、入力器19に対するユーザの入力に対するカーソルの移動を規定する必要がある。この目的のために、図27に示すように、ソフトウェアキーボードSKBを縦方向にa、b、c、およびdと4つの座標を設定すると共に、横方向に1、2、3、4、5、6、7、8、および9と9つの座標を設定する。これにより、カーソルの移動に応じて、カーソルの現位置を規定できる。そして、カーソルの現位置の変化に基づいて、ストローク数を明確に認識できる。
【0102】
つまり、図5を参照して説明したように、初期状態において、カーソルはソフトウェアキーボードSKBの第2段目に中央揃えに配列されている母音グループGvの「U」の位置に在る。このカーソル位置を前述の座標を用いて表すと、5bUとなる。このように、カーソル位置は、横座標(数字)、縦座標(小文字アルファベット)および、その座標に表示されている文字の順番で表示される3文字の組み合わせで一義的に規定される。また、追随モード1および追随モード2において、各動作モードにおける母音グループGvの移動方法を考慮して入力することは言うまでもない。
【0103】
<「KAKASI」(かかし)と入力する場合>
先ず、静止モードにおいて、「KAKASI(かかし)」と入力する場合について考える。前述のように、静止モードにおいて、カーソルは、ソフトウェアキーボードSKBにおいて、アルファベットが表示されている位置のみを、移動距離が最小になる経路で移動できる。さらに、カーソルの移動に対する母音グループGvの追随移動を行わない。
【0104】
静止モードにおいて、カーソルの循環移動を行わない場合は、カーソルは以下の位置を順番に移動する。つまり、5bUの位置にあるカーソルは、「KAKASI」を指定するために、5bU→5aH→4aN→3aT→2aS→1aK→2aS→3aT→3bA→3aT→2aS→1aK→2aS→3aT→3bA→3aT→2aS→3aT→4aN→4bIの座標で示されるよう移動する。結果、カーソルの操作のために、19ストロークを要する。
【0105】
静止モードにおいて、カーソルの循環移動を行う場合には、カーソルは、「KAKASI」を指定するために、5bU→5aH→4aN→3aT→2aS→1aK→3bA→3aT→2aS→1aK→3bA→3aT→2aS→3bA→4bIの14ストロークを要する。
【0106】
次に、追随モード1において、「KAKASI」と入力する場合について考える。前述のように、追随モード1において、子音グループGcおよび母音グループGv内をカーソルが移動する場合に、母音グループGvは追随移動する。
【0107】
追随モード1において、カーソルの循環移動を行わない場合には、カーソルは、「KAKASI」を指定するために、5bU→5aH→4aN→3aT→2aS→1aK→1bA→1aK→1bA→1aK→2aS→2bIの座標で示されるように、11ストロークを要する。
【0108】
追随モード1において、カーソルの循環移動を行う場合には、カーソルは、「KAKASI」を指定するために、5bU→5aH→4aN→3aT→2aS→1aK→1bA→1aK→1bA→2bI→2aS→2bIの11ストロークを要する。
【0109】
さらに、追随モード2において、「KAKASI(かかし)」と入力する場合について考える。前述のように、追随モード2において、カーソルが子音グループGcから母音グループGvに移動した場合には、母音グループGvはロックされる。つまり、カーソルが母音グループGvに在る時は、母音グループGvはロックされていて、カーソルに対して追随移動しない。
【0110】
このような、追随モード2において、カーソルの循環移動を行う場合には、カーソルは、「KAKASI」を指定するために、5bU→5aH→4aN→3aT→2aS→1aK→1bA→1aK→1bA→2bI→2aS→2bIの11ストロークを有する。
【0111】
同様に、「YAKYUU(やきゅう)」、「DENKIKAIRO(でんきかいろ)」、「KIKANSYA(きかんしゃ)」、および「KAGAKUSYA(かがくしゃ)」と入力する場合ついて、各動作モードにおける必要ストローク数は以下の通りである。
【0112】
<YAKYUU(やきゅう)」と入力する場合>
静止モードでカーソルの循環移動を行わない場合は、20ストロークを要する。静止モードでカーソルの循環移動を行う場合は、16ストロークを要する。
追随モード1でカーソルの循環移動を行わない場合は、20ストロークを要する。追随モード1でカーソルの循環移動を行う場合は、12ストローク要する。
追随モード2でカーソルの循環移動を行う場合は、12ストロークを要する。
【0113】
<「DENKIKAIRO(でんきかいろ)」と入力する場合>
静止モードでカーソルの循環移動を行わない場合は、30ストロークを要する。静止モードでカーソルの循環移動を行う場合は、24ストロークを要する。
追随モード1でカーソルの循環移動を行わない場合は、25ストロークを要する。追随モード1でカーソルの循環移動を行う場合は、23ストローク要する。
追随モード2でカーソルの循環移動を行う場合は、23ストロークを要する。
【0114】
<「KIKANSYA(きかんしゃ)」と入力する場合>
静止モードでカーソルの循環移動を行わない場合は、22ストロークを要する。静止モードでカーソルの循環移動を行う場合は、23ストロークを要する。
追随モード1でカーソルの循環移動を行わない場合は、26ストロークを要する。追随モード1でカーソルの循環移動を行う場合は、23ストローク要する。
追随モード2でカーソルの循環移動を行う場合は、22ストロークを要する。
【0115】
<「KAGAKUSYA(かがくしゃ)」と入力する場合>
静止モードでカーソルの循環移動を行わない場合は、34ストロークを要する。静止モードでカーソルの循環移動を行う場合は、25ストロークを要する。
追随モード1でカーソルの循環移動を行わない場合は、26ストロークを要する。追随モード1でカーソルの循環移動を行う場合は、23ストローク要する。
追随モード2でカーソルの循環移動を行う場合は、23ストロークを要する。
【0116】
上述より明らかなように、若干の例外はあるものの、静止モードの場合に比べて、本発明における追随モード1および追随モード2において、仮名文字入力に要するストローク数が少なくて済むという効果が認められる。本発明にかかるソフトウェアキーボードSKBによって、ストローク数、つまり入力工程数が低減できることが確認できる。
【0117】
一方、日本語は、主に、母音と子音との構成から成り立っている。この事実に基づいて、本発明にかかるソフトウェアキーボードSKBにおいても、母音と子音に対応する文字を判別しやすいように、26文字のアルファベットをあえて、母音グループGvと子音グループGcに分けている。この観点から言えば、ソフトウェアキーボードSKBは、図28に示すように、母音グループGvの周囲を、子音グループGcの文字で取り囲むように配置したソフトウェアキーボードの方が、入力工程数をより効果的に低減できるようにも思える。
【0118】
しかしながら、同図に示す例示したソフトウェアキーボードにおいて、さ(SA)、ろ(RO)、が(GA)、ぽ(PO)は、最低でも2ストローク必要とする。これに対して、本発明にかかるソフトウェアキーボードSKBは、その追随モード2において、母音グループGvが少なくとも子音行のカーソルに追随移動するので、上述のさ(SA)、ろ(RO)、が(GA)、ぽ(PO)の場合は、最小ストロークは1である。
【0119】
しかも、図28に例示のソフトウェアキーボードの場合は、母音に対応する文字グループと、子音に対応する文字グループの区別が明確化されていない。それ故に、選択する文字が探し難い。このような困難さを回避するために、本発明においては、上述のように、ソフトウェアキーボードSKBの母音グループGvの配置を工夫されている。これに加え、カーソル移動が循環させることも、ストローク量の削減に寄与している。
【0120】
本発明にかかるソフトウェアキーボードSKBの特徴の一つである母音グループGvのカーソルに対する追随移動は、人間の行動心理に照らして、ユーザにかかる気分的な負担を軽減、或いはユーザのカーソル移動操作を督励する効果が認められる。つまり、子音グループGc内でカーソルを移動させると、母音グループGvがカーソルに追随することによって、子音を選択した後に、多くの場合、必然的に選択することになる母音グループGvが、常に現カーソルの間近に待機していることは、ユーザからみて心理的なバックアップを受けた状態である。
【0121】
また、子音を入力すると、母音の特定の文字にカーソルを自動的に移動させるように構成すれば、ストローク量の低減に一見有効なようにも思える。しかし、このような手法は、カーソルが自動的に移動する特定の文字の入力に要する工程数の低減には有効であるが、ほかの文字を含め、全体的な文字入力に要するストロークの低減には役立たない。
【0122】
本発明において、ユーザが画面に表示されたソフトウェアキーボードSKBの状態に基づいて、より効果的にカーソルを動すために、追随モード1、追随モード2、および静止モードの3タイプの動作モードを実現している。これら3タイプの動作モードで、ソフトウェアキーボードSKBを稼働させることで、いかなる日本語でも効率よく入力できる保証はない。しかしながら、母音グループGvのカーソルに追随することが、ユーザの行動心理に対して良い影響を与え、よりユーザフレンドリーな文字入力インターフェースを提供できる。
【0123】
また、長大な文章でなければ、日本語を入力するには、ローマ字入力に慣れた人にとっては50音テーブルでカーソルを縦横無尽に動かすよりも、入力ディバイスの数、機能および表示面積が制限されている環境下では、本発明にかかるソフトウェアキーボード装置の方が入力し易い。
【0124】
(第1実施例)
以下に、図29〜図49を参照して、上述の本発明の実施形態にかかるソフトウェアキーボード装置SKAの第1実施例について説明する。
図29に、ゲーム機に組み込まれた本実施例にかかるソフトウェアキーボード装置SKAeの構造を示す。本実施例にかかるソフトウェアキーボード装置SKAeは、図1に示したソフトウェアキーボード装置SKAに非常に類似した構成を有している。つまり、ソフトウェアキーボード装置SKAeは、ROM1e、CPU5e、RAM13e、操作器19e、モニタ21e、およびゲーム機100eを含む。なお、これらのROM1e、CPU5e、RAM13e、操作器19e、モニタ21e、およびゲーム機100eは、図1に示したプログラム源1、CPU5、RAM13、入力器19、表示器21、および文字入力器本体100に対応している。
【0125】
つまり、ROM1eは、ソフトウェアキーボード装置SKAeの動作を実行させる各種コンピュータプログラムを格納している。なお、ROM1eに格納されているコンピュータプログラムについては、後ほど図33を参照して詳しく説明する。
【0126】
操作器19eは、ユーザが操作して自身の指示をソフトウェアキーボード装置SKAに伝える手段であり、好ましくは、キーボード等のポインティングディバイスと選択決定入力ディバイスを備えている。後ほど、図30を参照して、ゲーム機における操作器19eの一例について詳しく説明する。
【0127】
ゲーム機100eは、それぞれ、文字入力器本体100のCPU5およびRAM13に対応するCPU5eおよびRAM13eを内蔵している。ゲーム機100eは、さらに、第1のコネクタ3、リアリティコプロセッサ(以降、「RCP」と略称する)7、ビデオ・デジタル・アナログ・コンバータ(以降「VDAC」と略称する)9、ビデオ・エンコーダ(以降、「VENC」と略称する)11、ペリフェラルインターフェース(以降、「PIf」と略称す)15、第2のコネクタ17、オーディオ・デジタル・アナログ・コンバータ(以降、「ADAC」と略称す)20およびアンプリファイア(以降「AMP」と略称す)21を含む。
【0128】
ROM1eは、第1のコネクタ3を経由してゲーム機100eに対して、脱着可能に接続される。しかしながら、CPU5eやRAM13eのように、ROM1eを、予めゲーム機100eに内蔵するように構成しても良いことは言うまでもない。RCP7は、CPU5e、第1のコネクタ3、およびRAM13eに接続されている。結果、ROM1eに格納されているプログラムは、第1のコネクタ3およびRCP7を経由して、CPU5eにロードされる。
【0129】
CPU5eは、先ずロードされた各種プログラムの幾つかを実行する。その後、CPU5eは、さらにロードされたプログラムの幾つかを操作器19eから入力されるユーザの指示に基づいて実行する。CPU5eは、プログラムの実行に当たっては、実行するジョブの幾つかをRCP7と分散して処理する。CPU5eおよびRCP7は、RAM13eに構築されているワーキング領域を利用して、それぞれ分散されたジョブを実行する。なお、CPU5eは、ソフトウェアキーボード装置SKA全体の動作を制御する制御装置でもある。
【0130】
VDAC9は、RCP7から入力されるデジタル画像信号をD−A変換して、アナログ画像信号を生成する。VENC11は、VDAC9から入力されるアナログ画像信号をエンコードして、モニタ21eで表示できる形式の映像信号を生成する。
つまり、モニタ21eは、CPU5eおよびRCP7の実行結果を映像や音声で表示して、ユーザの指示の結果を表示したり、ユーザの新たな指示の入力を促す。この目的のために、本発明において、プログラムの実行結果およびユーザの指示に応じて、ソフトウェアキーボードSKBの状態が適正に変化してモニタ21eに表示される。
【0131】
モニタ21eは、VENC11から入力される映像信号に基づいて、図3〜図26に例示したソフトウェアキーボードSKBおよび関連の画像を表示する。なお、本実施例において、モニタ21eは通常、テレビジョンが用いられるが、CRT(陰極線管)やLCD(液晶ディスプレイ)やPD(プラズマディスプレイ)に代表されるアナログ或いはデジタルの表示装置の何れを用いても良い。
【0132】
PIf15は、第2のコネクタ17をRCP7に接続する。そして、第2のコネクタ17に接続される様々の周辺機器をRCP7およびCPU5eに接続する。操作器19eは、第2のコネクタ17に接続されて、ユーザの指示をCPU5eに伝える。
【0133】
ADAC20は、RCP7から入力されるデジタル音声信号をD−A変換して、アナログ音声信号を生成する。AMP21は、ADAC20から入力されるアナログ音声信号を増幅して、スピーカ等(図示せず)の音響装置に出力する。
【0134】
図30に、本実施例において、ゲーム機における操作器19eの一例を示す。操作器19eは十字カーソルキー、SELECT(セレクト)ボタン、START(スタート)ボタン、Aボタン、およびBボタンを有している。十字カーソルキーは、カーソルをソフトウェアキーボードSKB上で、縦横方向に移動させるポインティングディバイスである。Aボタンは、アルファベットを決定して、ローマ字入力変換ラインへ登録するための入力ディバイスである。これらのボタンやキーは、ソフトウェアキーボード装置SKAにおいて、普通に利用できる入力デバイスの一例であって、同様の機能を提供できるデバイスであれば、その他の適当なものを用いても良い。
【0135】
Bボタンは、ローマ字入力変換ラインに、一旦入力されたのアルファベットのキャンセルを指示する入力ディバイスである。STARTボタンは、仮名漢字変換をさせて、変換された漢字を十字カーソルにより選択し、Aボタンにより決定する入力ディバイスである。SELECTボタンは、ソフトウェアキーボードSKBの動作モードを選択するための入力ディバイスである。
【0136】
以下に、操作器19eに設けられた各入力ディバイスの操作と、前述の、図3および図4に示したソフトウェアキーボードSKB、日本語入力ラインエディタ、ローマ字入力変換ラインとの関係について、簡単に説明する。
【0137】
ソフトウェアキーボードSKBの入力モードとして、ローマ字入力変換ラインに表示されている平仮名を漢字に変換する漢字変換モードが選択されている場合ついて考える。なお、漢字変換モードは、モニタ21e上では、入力モードアイコンによって、簡単に「漢」として表示される。この場合、Aボタンを操作して、アルファベットを決定するにつれて、ローマ字に相当する平仮名に自動変換する。目的の日本語(平仮名)が現れた時点でSTARTボタンを操作して漢字に変換する。十字カーソルキーで、候補から選択し、Aボタンを操作して漢字を決定する。そして、決定された漢字は、日本語入力ラインエディタに表示される。
【0138】
ソフトウェアキーボードSKBの入力モードとして、入力されたローマ字を平仮名に変換する平仮名変換モードが選択されている場合について考える。なお、平仮名変換モードは、モニタ21e上では、入力モードアイコンによって、簡単に「あ」として表示される。この場合、Aボタンを操作して、アルファベットを決定するにつれて、ローマ字に相当する平仮名に自動変換する。目標の平仮名が現れた時点でSTARTボタンを操作して平仮名を決定する。そして、決定された平仮名は、日本語入力ラインに表示される。
【0139】
ソフトウェアキーボードSKBの入力モードとして、入力されたローマ字をカタカナに変換するカタカナ変換モードが選択されている場合について考える。なお、カタカナ変換モードは、モニタ21e上では、簡単に「ア」として表示される。この場合、Aボタンを操作してアルファベットを決定するにつれて、ローマ字に相当するカタカナに自動変換される。ターゲットとなるカタカナが現れた時点でSTARTボタンを操作してカタカナを決定する。
【0140】
同様に、モニタ21e上でそれぞれ、入力モードアイコンによって、「A」、「記」、「数」、および「ギ」として簡単に表示されるローマ字モード、記号モード、数字モード、およびギリシャ文字モード等を設定できる。これらの入力モードにおいて、それぞれ、STARTボタンを操作して選択候補の文字表示を表示する。そして、十字カーソルを操作して、表示されている候補の文字の内で、目的の文字を選択して、Aボタンを操作して決定する。
【0141】
また、モニタ21e上で、入力モードアイコンによって、簡単に、「コ」として表示されているコード入力モードにおいて、十字カーソルを操作して、SJIS或いはJISコードを可変・選択して、Aボタンにより選択したコードに対応する文字を決定する。
【0142】
図31に、本実施例にかかるソフトウェアキーボード装置SKAeを組み込んだゲーム機の一例を図示する。
【0143】
次に、図32に示すフローチャートを参照して、ソフトウェアキーボード装置SKAeの動作について説明する。ソフトウェアキーボード装置SKAに電源が投入されて、その動作が開始される。
【0144】
先ず、ステップ#1000において、ROM1eから各種プログラムがゲーム機100eにロードされる。そして、処理は、次のステップ#2000に進む。
【0145】
ステップ#2000において、ROM1eからロードされたプログラムに従って、ソフトウェアキーボード装置SKAeの各種要素およびパラメータが初期化される。そして、処理は、次のステップ#3000に進む。
【0146】
ステップ#3000において、ステップ#2000で初期化された状態が、モニタ21eに表示される。つまり、モニタ21eには、ユーザによる指示が入力される前の状態のソフトウェアキーボードSKBが表示される。そして、処理は、次のステップ#4000に進む。
【0147】
ステップ#4000において、ユーザによる入力器19eの状態が取得される。つまり入力の有無およびその入力内容を検出する。詳述すれば、図示の如く、ステップ#4010およびステップ#4020から構成される。
ステップ#4010において、モニタ21eに対してユーザからの入力があったか否かが判断される。そして、ユーザによる入力、つまり、ユーザがモニタ21eの入力ディバイスの何れかを操作した場合にのみ、処理はステップ#4020に進む。
【0148】
ステップ#4020において、ユーザの操作した入力ディバイスの種類とその操作内容に基づいて、後続のステップ#5000、#6000、#7000、#8000、および#9000の何れが選択されて、その処理が実行される。
【0149】
<#5000>
モニタ21eの表示に基づいて、ユーザが十字キーを操作した場合には、ユーザはカーソル移動を希望していると判断されて、処理はステップ#5000に進む。ステップ#5000において、操作器19eに含まれるポインティングディバイスの動作状態を表すポインタパラメータの値に応じて、モニタ21eに表示されるソフトウェアキーボードSKBが変更される。そして、処理は、ステップ#4000に戻る。
なお、ステップ#5000は、ポインタパラメータの値に応じて、互いに排他的に、平行して実行されるステップ#101、#102、#103、および#104を含む。
【0150】
ステップ#101は、操作器19eのポインティングディバイスである十字キーが上向きに操作された場合に、ソフトウェアキーボードSKB上でカーソルを上向きに移動後のソフトウェアキーボードSKBの状態を求めて、表示器21eに表示するサブルーチンである。なお、本ステップにおける処理の詳細については、後ほど図37を参照して説明する。
【0151】
ステップ#102は、操作器19eのポインティングディバイスである十字キーが下向きに操作された場合に、ソフトウェアキーボードSKB上でカーソルを下向きに移動後のソフトウェアキーボードSKBの状態を求めて、表示器21eに表示するサブルーチンである。なお、本ステップにおける処理の詳細については、後ほど図40を参照して説明する。
【0152】
ステップ#103は、操作器19eのポインティングディバイスである十字キーが左向きに操作された場合に、ソフトウェアキーボードSKB上でカーソルを左向きに移動後のソフトウェアキーボードSKBの状態を求めて、表示器21eに表示するサブルーチンである。なお、本ステップにおける処理の詳細については、後ほど図43を参照して説明する。
【0153】
ステップ#104は、操作器19eのポインティングディバイスである十字キーが右向きに操作された場合に、ソフトウェアキーボードSKB上でカーソルを右向きに移動後のソフトウェアキーボードSKBの状態を求めて、表示器21eに表示するサブルーチンである。なお、本ステップにおける処理の詳細については、後ほど図46を参照して説明する。
【0154】
<#6000>
一方、ユーザがモニタ21eの表示に基づいて、操作器19eのSTARTボタンを操作した場合には、ステップ#4000によって、ユーザは文字変換を希望していると判断されて、処理はステップ#6000に進む。ステップ#6000において、文字変換処理が行われた後に、処理はステップ#4000に戻る。なお、ステップ#6000は、ステップ#6010、#6020、および#6030で構成されている。
【0155】
ステップ#6010において、ソフトウェアキーボードSKBの各入力モードにおいて、ステップ#4000においてSTARTボタン操作が検出された時に入力されている文字が確定される。そして、処理は次のステップ#6020に進む。
【0156】
ステップ#6020において、#6020で確定された平仮名が漢字に変換可能であるか否かが判断される。変換不可能であると判断された場合に、処理はステップ#4000に戻る。一方、変換可能と判断された場合には、処理は、次のステップ#6030に進む。
【0157】
ステップS6030において、所望の漢字に変換されるまで、ユーザは平仮名の漢字変換を行い、最終的に変換された所望の漢字を選択する。そして、ステップ#6000における処理を終了する。
【0158】
<#7000>
一方、ユーザがモニタ21eの表示に基づいて、操作器19eのボタンを操作した場合には、ステップ#4000でユーザは入力された文字を選択したと判断されて、処理はステップ#7000に進む。ステップ#7000において、入力文字選択処理が行われた後に、処理はステップ#4000に戻る。なお、ステップ#7000は、ステップ#105、ステップ#7010、#7020、#7030、#7040、および#7050で構成されている。
【0159】
ステップ#7005において、ステップ#4000において、Aボタンの操作が検出された時の文字が選択される。そして、処理は、次のステップ#7010に進む。
【0160】
ステップ#7010において、先に入力された文字と今回入力された文字が連結されてローマ字入力変換ラインに表示される。そして、処理は、次のステップ#7020に進む。
【0161】
ステップ#7020において、ステップ#7010で連結されたアルファベットの組み合わせが、仮名にローマ字変換が可能か否かが判断される。ローマ字変換が可能と判断された場合は、処理はステップ#7030に進む。
【0162】
ステップ#7030において、ステップ#7010で連結されたアルファベットの組み合わせが、平仮名に変換されて、ステップ#7000における処理が終了される。なお、平仮名ではなくカタカナに変換しても良い。
【0163】
一方、ステップ#7020で、ローマ字変換が不可能と判断された場合には、処理はステップ#7040に進む。
【0164】
ステップ#7040において、ステップ#7010で連結されたアルファベットが3文字以上か否か判断される。3文字より少ないと判断された場合には、処理は、ステップ#4000に戻って、さらなるアルファベットが選択されるのを待つ。これは、ローマ字変換において、アルファベットが3文字で表現される平仮名表現があるため、単に2文字のアルファベットが、平仮名に変換できない場合をエラーとしないためである。
【0165】
一方、ステップ#7040で、3文字以上と判断された場合には、処理は次のステップ#7060に進む。
【0166】
ステップ#7060において、ステップ#7010で連結されたアルファベットを、ローマ字入力変換ラインから消去して、ステップ#7000における処理を終了する。なお、本実施例において、アルファベット3文字の組み合わせで、ローマ字仮名変換ができない場合には、その3文字全ての組み合わせが不適切と判断して、3文字全てを消去している。しかし、3文字の内、第1番目或いは第2番目の文字が誤りである場合を考慮して、その文字だけを消去するようにしても良い。
【0167】
<#8000>
一方、ユーザがモニタ21eの表示に基づいて、操作器19eのBボタンを操作した場合には、ステップ#4000で、ユーザは入力した文字の消去を希望している判断されて、処理はステップ#8000に進む。ステップ#8000において、先行文字消去の処理が行われた後に、処理はステップ#4000に戻る。なお、ステップ#8000は、ステップ#8010、ステップおよび#8020で構成されている。
【0168】
ステップ#8010においては、ステップ#4000で、Bボタンの操作が検出された時に選択されている文字が消去対象とされる。そして、処理は次のステップ#8020に進む。
【0169】
ステップ#8020において、#7010で連結されたアルファベットの内、後の方、つまり、本ステップに入る前に入力された一文字がローマ字入力変換ラインから消去される。そして、ステップ#8000の処理を終了する。
【0170】
<#9000>
一方、ユーザがモニタ21eの表示に基づいて操作器19eのSELECTボタンを操作した場合には、ステップ#4000でユーザは動作モード変更を希望していると判断されて、処理はステップ#9000に進む。ステップ#9000において、動作モード変更処理が行われた後に、処理はステップ#4000に戻る。なお、ステップ#9000は、ステップ#9010、ステップおよび#9020、および#3000で構成されている。
【0171】
ステップ#9010において、選択可能なソフトウェアキーボードSKBの動作モードがモニタ21e上に表示される。そして、処理は次のステップ#9020に進む。
【0172】
ステップ#9020において、ユーザによってソフトウェアキーボードSKBの動作モードを選択或いは切り替えを行う。そして、処理は、次のステップ#3000に進む。
【0173】
このステップ#3000は、前述のステップ#2000とステップ#4000の間に実行される処理と全く同じである。但し、ステップ#9000において、ステップ#9020で選択された、動作モードにおけるソフトウェアキーボードSKBがモニタ21eに表示される。そして、ステップ#9000の処理を終了する。
【0174】
次に、図33を参照して、ROM1eに格納されているプログラムと、同プログラムをゲーム機100eにロードした結果、ゲーム機100e内のRAM13eに構築されるデータ領域の関係について述べる。先ず、同図の上部に、プログラム領域として、16種類に分類されたプログラムモジュールが表示されている。
【0175】
なお、各プログラムモジュールの左側に、識別の便宜のためにM1〜M16のモジュール番号が付与されている。また、各プログラムモジュールの右側の欄内には、そのプログラムモジュールがソフトウェアキーボード装置SKAeおよびソフトウェアキーボードSKBを構築するに必要な度合いを必須度として、L0(レベル0)、L1(レベル1)、L2(レベル2)、およびL3(レベル3)を付与して識別している。
【0176】
L0は、ソフトウェアキーボード装置SKAeおよびソフトウェアキーボードSKBを構築する前に、ハードウェアを他のレベル(L1、L2、およびL3)のプログラムに対して準備しておくために必要なプログラムモジュールであることを意味する。L0のプログラムモジュールとしては、OS初期化プログラムM15およびファームウェアM16がある。これらの2つのプログラムモジュールは、本来ソフトウェアキーボード装置SKAeのハードウェアに標準的に具備されるものである。しかしながら、具備されていない場合には、ROM1eに格納しておいて、ステップ#1000において、ゲーム機100eにロードするようにしても良い。
【0177】
L1は、L0のプログラムモジュールがハードウェアにロードされて、ハードウェア側で、ソフトウェアキーボード装置SKAeおよびソフトウェアキーボードSKBを構築する準備ができた時点で、ソフトウェアキーボードSKBを構築するために必要なプログラムモジュールであることを意味する。L1のプログラムモジュールとしては、メインプログラムM1、I/OライブラリM2、文字表示プログラムM3、文字フォントデータM4、コントロールパッド判断プログラムM5、ソフトウェアキーボード制御プログラムM6、ローマ字入力変換ラインプログラムM7、およびローマ字判定用テーブルM8が含まれる。
【0178】
メインプログラムM1は、ソフトウェアキーボード装置SKAeの全般的な動作をつかさどる。I/OライブラリM2は、ソフトウェアキーボード装置SKAeを構成するハードウェアである操作器19eやモニタ21eに関連するリソースの制御を行う。また、I/OライブラリM2は、ソフトウェアキーボードSKBが処理する言語体系に代表されるアプリケーションの要求に応じて、最適化されて準備される一種のI/Oインターフェース及びユーザインターフェースを提供するプログラムである。
【0179】
上述のI/OライブラリM2は、ハードウェアの入力機器の制限に応じて、各機器に入力機能を割り振ったり、また入力する文字の言語体系に応じて決まる文字の種類に応じて、ソフトウェアキーボードSKBのパターンを設定するプログラムである。つまり、I/OライブラリM2は、ハードウェアのローレベルな仕様の違いに起因する制御方法の多様性を吸収するものである。
【0180】
文字フォントデータM4は、ソフトウェアキーボードSKBに表示する文字フォントである。文字表示プログラムM3は、文字フォントデータM4によって実現される文字をモニタ21e(21)に表示させるプログラムである。コントロールパッド判断プログラムM5は、ユーザによる操作器19e(19)の操作状態を取得するプログラムである。ソフトウェアキーボード制御プログラムM6は、ソフトウェアキーボード装置SKAe(SKA)に構築されたソフトウェアキーボードSKBの動作をつかさどるプログラムである。ローマ字入力変換ラインプログラムM7は、ユーザによって選択入力されたアルファベットをローマ字入力変換ラインに表示させると共に、表示したアルファベットを仮名に変換して表示するプログラムである。
【0181】
これらのL1のプログラムモジュールは、ソフトウェアキーボード装置SKAe(SkA)を、インフラストラクチャとして必要のリソースが準備されたハードウェアに、本発明にかかるソフトウェアキーボードSKBを構築するために必要不可欠なプログラムモジュールである。この意味において、ソフトウェアキーボードSKBの基本ソフトウェアと言える。また、これらのプログラムモジュールも、上述のL0のプログラムモジュールと同様にROM1eに格納しておいて、ステップ#1000において、ソフトウェアキーボード装置SKAeにロードするようにしても良いし、予めゲーム機100eや文字入力器本体100に内蔵しておいても良い。
【0182】
L2は、ソフトウェアキーボード装置SKAe(SKA)に構築された、ソフトウェアキーボードSKBを選択入力されたアルファベットに対して何らかの処理をするプログラムモジュールであることを意味する。L2のプログラムモジュールとしては、ラインエディタプログラムM9がある。
【0183】
L3は、ソフトウェアキーボード装置SKAe(SKA)に構築された、ソフトウェアキーボードSKBを選択入力されたアルファベットに基づいて、所望の漢字に変換し、さらに必要に応じて文章を作成編集するため用いられるプログラムモジュールであることを示している。L3のプログラムモジュールとしては、FEPメインプログラムM10、漢字変換プログラムM11、漢字候補選択プログラムM12、漢字コード入力プログラムM13、およびFEP辞書M14が含まれる。これらのプログラムモジュールは、通常の仮名漢字変換プログラムに含まれているプログラムモジュールと基本的に同一である。
【0184】
なお、上述のように、本実施例において、ローマ字入力変換ラインにアルファベットと共に仮名を表示させ、さらに漢字変換プログラムM11によって、漢字に変換させる。それゆえに、前述の文字フォントデータM4には、平仮名、カタカナ、およびアルファベットを始めとする通常一般に使用される日本語のフォントが含まれる。
【0185】
なお、図33の下段に、データ領域として示されいる、RAM13e(13)に構築されるデータ領域について説明する。先ず、同図において、必須度がL1であるフレームバッファ領域、文字フォントデータ領域、ローマ字判定用テーブル領域および、ワーキング領域は、上述のプログラムモジュールM1〜M16を実行する際に、ワーキングエリアとしてRAM13(13e)に構築される領域である。
【0186】
フレームバッファ領域は、モニタ21e(21)にソフトウェアキーボードSKBを表示する画像データを格納しておくために用いられる。文字フォントデータは、上述の文字フォントデータM4をROM1e(1)からロードしておいて瞬時にアクセスするために用いられる。ローマ字判定用テーブルはローマ字判定用テーブルM8をROM1e(1)からロードしておいて、ローマ字判断にアクセスするために用いられる。
【0187】
ワーキング領域は、CPU5e(5)やRCP7における演算のための作業領域として用いられる。但し、文字フォントデータとローマ字判定用テーブルは、データ領域を設けること無く、上述のようにROM1e(1)に格納されている上述の文字フォントデータM4とローマ字判定用テーブルM8に直接アクセスしても良い。これらのL1のデータ領域は、本発明にかかるソフトウェアキーボードSKBを構築し、機能させるために不可欠な領域である。
【0188】
また、L2のFEP用辞書領域は、ROM1e(1)から、メインプログラムM14をロードして、仮名漢字変換のために用いられる領域である。なお、この領域も、ROM1e(1)のメインプログラムM14に直接アクセスすることで省略できる。
【0189】
次に、図34、図35、および図36を参照して、ソフトウェアキーボードSKBを構成する基本的事項について説明する。
先ず、図34に、図33に示したフレームバッファ領域内に構築されるソフトウェアキーボードSKBの構造を示す。ソフトウェアキーボードSKBは、例えば、その一部が図示されているように、Y軸(縦)方向に0〜6までの7行、X軸(横)方向に0〜9までの10列で規定される70セルを有するマトリックスが構築されている。そして、セルはそれぞれ、X軸座標およびY軸座標で一義的に規定される。なお、このマトリックスの大きさは、それぞれ、本発明のソフトウェアキーボードSKBが適用されるハードウェアに用いられているフレームバッファの容量によって決まる。なお、一般的なゲーム機の場合、マトリックスの大きさは、Y軸方向に0〜25、X軸方向には0〜33の884セル前後(1セルは8×8ドットとした場合)である。
【0190】
図35に、本発明にかかるソフトウェアキーボードSKBを構成する文字と、図34に示したフレームバッファ領域との関係において説明する。本発明において、26文字のアルファベットを一つの母音グループGvと3つの子音グループGc1、Gc2、およびGc3を配列してソフトウェアキーボードSKBが表示される。このために、Y軸方向に0〜3までの4行、X軸方向に0〜8までの9列で規定される36セルを有するマトリックスが利用される。
同図において、子音行1には第1の子音サブグループGc1が配列され、母音行には母音グループGvが配列され、子音行2には第2の子音サブグループGc2が配列され、そして、子音行3には第3の子音サブグループGc3が配列される。
【0191】
そして、ソフトウェアキーボードSKBを構成する各文字は、上述のように、図35に示されたセル位置に登録されている。登録された文字は、そのセル位置との関係に基づいて、配列変数Keyboard[y][x]の形で管理される。例えば、Keyboard[1][4]は、「U」を示し、Keyboard[1][0]は、「空白」を示している。また、ソフトウェアキーボードSKB上の文字は、Keyboard[CY][CX]で規定される。
【0192】
図36に、図2および図32に示したフローチャートの初期化ステップ#2000において初期化される変数について説明する。
先ず、ソフトウェアキーボードSKB上での、カーソルの移動を管理するためのカーソル座標Keyboard[CY][CX]は、初期位置である「U」を表すKeyboard[1][4]に設定される。
【0193】
次に、母音グループGvの初期位置をその左端の文字(A)のX軸上の位置を規定する変数である母音左位置管理変数BOIN_POS_Lが2に設定される。母音グループGvの初期位置をその右端の文字(O)のX軸上の位置を規定する変数である母音右位置管理変数BOIN_POS_Rが6に設定される。ソフトウェアキーボードSKBのX軸方向に関して、カーソルの最大移動範囲を規定するキーボード左右の移動限界位置を管理するための変数である、左移動限界位置KEYB_LIMIT_Lは、0に設定される。さらに、右移動限界位置KEYB_LIMIT_Rは、8に設定される。
【0194】
ソフトウェアキーボードSKBの動作モードは、それぞれ変数KeyMode=0(追随モード1)、1(追随モード2)、2(静止モード)として規定される。なお、初期化においては、KeyMode=0、つまり追随モード1に設定される。
【0195】
図37を参照して、上述のステップ#101における、ソフトウェアキーボードSKB上でカーソルを上向きに移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンについて説明する。本ステップは、ソフトウェアキーボードSKBの動作モードが追随モード1であるか否かが、ステップS110で判断される。追随モード1であると判断された場合には、処理はステップ#201に進む。ステップ#201は、追随モード1における、カーソルの上向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において、「UKeyAscD」と表示されているステップ#201の詳細については、後ほど図38を参照して説明する。一方、追随モード1でないと判断された時は、処理は、ステップS111に進む。
【0196】
ステップS111において、ソフトウェアキーボードSKBの動作モードが追随モード2であるか否かが判断される。追随モード2であると判断された場合には、処理はステップ#205に進む。ステップ#205は、追随モード2における、カーソルの上向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において、「UKeyAscF」と表示されているステップ#205の詳細については、後ほど図39を参照して説明する。一方、追随モード2でないと判断された時は、処理は、ステップS112に進む。
【0197】
ステップS112において、ソフトウェアキーボードSKBの動作モードが静止モードであるか否かが判断される。静止モードであると判断された場合には、処理はステップ#209に進む。ステップ#209は、静止モードにおける、カーソルの上向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において、「UKeyAscS」と表示されている#209の静止モードにおける処理については、既に図22を参照して詳述してあるので説明を省く。一方、ステップS112で、静止モードでないと判断された場合は、ステップ#101の処理を終了する。
【0198】
図38を参照して、追随モード1における、カーソルの上向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#201について説明する。本サブルーチンは、大別して、ステップ#2110、#2111、#2112、および#2113を含んでいる。
ステップ#2110は、現在のカーソル座標に在る文字を、モニタ21eにノーマル表示させるサブルーチンである。なお、ノーマル表示とは、通常、モニタ21eの画面の背景(バックグランド)の色に対して、好ましくは、補色の関係にあるような前景(フォアグランド)に文字を表示することを言う。なお、前景色と背景色の関係は、補色でなくても良い。要するに、前景の文字が背景に対して、明瞭に視認できるような色彩関係であれば何でも良い。
【0199】
ステップ#2110の処理が開始すると、先ず、
ステップS2100において、CY=1であるか否かが判断される。Yesの場合は、現在カーソルは母音グループGv内に在る時に、Yesと判断される。そして、処理はステップS2110に進む。
【0200】
ステップS2110において、Keyboard[CY][CX−BOIN_POS_L+2]を座標(CX、CY)に表示する。この結果、現在リバース表示されている母音グループGvの文字をノーマル表示に戻す。これによって、図35に示されたキーボードデータ自体を変更することなく、母音グループGvの新たに表示される位置を更新する。そして、処理は、ステップ#2111に進む。
【0201】
一方、ステップS2100において、No、つまりCY=1でないと判断される場合は、現在カーソルは子音グループGc内に在ることを示している。この場合、処理は、ステップS2101に進む。
【0202】
ステップS2101において、Keyboard[CY][CX]を座標(CX、CY)に表示する。この結果、子音グループGcの文字の内で現在リバース表示されている文字の表示をノーマルに戻す。そして、処理は、ステップ#2111に進む。上述のように、ステップ#2110において、母音グループGvおよび子音グループGcの何れの文字上にカーソルが在っても、その文字はノーマル表示される。
【0203】
ステップ#2111は、上方向にカーソルを移動した場合のカーソル座標を求めるサブルーチンである。ステップ#2111の処理が開始すると、先ず、
ステップS2102において、CYが1だけ減じられる。このことによって、カーソルが上方向に1段だけ移動した場合の座標が求められる。そして、処理は、次のステップS2103に進む。
【0204】
ステップS2103において、CY<0であるか否かが判断される。Yesの場合は、移動後のカーソルの位置がソフトウェアキーボードSKBの第1段目を越えることを意味する。この場合、処理は、ステップS2111に進む。
【0205】
ステップS2111において、CYが3に設定される。これは、先のステップS2103において、カーソルがソフトウェアキーボードSKBの第1段目より上向きに移動しようとしていることを検出したので、カーソルをソフトウェアキーボードSKBの最下段である第3段目に循環移動させた場合のY座標を求めている。そして、処理は、ステップ#2112に進む。
【0206】
一方、ステップS2103において、Noの場合は、移動後のカーソルの位置は、ソフトウェアキーボードSKBの第1段目か第2段目かの何れかである。それゆえに、カーソルをY軸方向に循環移動させる必要が無いので、処理は、ステップ#2112に進む。
【0207】
ステップ#2112は、カーソルを上方向に移動した後の、Y座標に応じて、キーボード左右の移動限界位置を変更するサブルーチンである。ステップ#2112の処理が開始されると、先ず、
ステップS2104において、CYの値が0、1、および2の内の何れかであるか否かが判断される。移動後のカーソルは、第1の子音サブグループGc1、母音グループGv、および第2の子音サブグループGc2の何れかに在る場合には、Yesと判断されて、処理はステップS2112に進む。
【0208】
ステップS2112において、カーソルの左移動限界位置変数KEYB_LIMIT_Lが0に設定されると共に、右移動限界位置変数KEYB_LIMIT_Rが8に設定される。これによって、カーソルが第1の子音サブグループGc1、第2の子音サブグループGc2、または母音グループGv内を移動する際の、母音グループGvの追随移動を可能にしている。
【0209】
なお、この処理は、#2000における初期化の際に、既に設定されているのと重複するように見えるが、ソフトウェアキーボードSKBの操作の過程で、左右の移動限界変数KEYB_LIMIT_LおよびKEYB_LIMIT_Rの値が変更されていることがあるので、値を設定し直して、母音グループGvの追随移動を保証するものである。そして、処理はステップ#2113に進む。
【0210】
一方、ステップS2104において、Noと判断される場合には、処理はステップS2105に進む。
ステップS2105において、CY=3であるか否かが判断される。Noの場合は、処理は、ステップ#2113に進む。但し、前述のステップS2104でNoと判断されているので、本ステップにおいてもYesと判断されて、処理は、ステップS2113に進む。
【0211】
ステップS2113において、カーソルの左移動限界位置変数KEYB_LIMIT_Lが3に設定されると共に、右移動限界位置変数KEYB_LIMIT_Rが5に設定される。これによって、カーソルが第3の子音サブグループGc3の左右端を越えて移動しないようにしている。そして、処理は、ステップS2106に進む。
【0212】
ステップS2106において、CX<KEYB_LIMIT_Lであるか否かが判断される。移動後のカーソルが、ステップS2113で設定された左移動限界位置を越える場合には、Yesと判断されて、処理はステップS2114に進む。
【0213】
ステップS2114において、CXがステップS2113で設定されたKEYB_LIMIT_Lの値に設定される。これによって、カーソルが第3の子音サブグループGc3の左端を越えて移動しないようにしている。そして、処理は、ステップS2107に進む。
【0214】
一方、ステップS2106において、Noと判断される場合は、移動後のカーソルは、第3の子音サブグループGc3内部に在る。それゆえに、そのまま、処理はステップS2107に進む。
【0215】
ステップS2107において、CX>KEYB_LIMIT_Rであるか否かが判断される。移動後のカーソルが、ステップS2113で設定された右移動限界位置を越える場合には、Yesと判断されて、処理はステップS2115に進む。
【0216】
ステップS2115において、CXがステップS2113で設定されたKEYB_LIMIT_Rの値に設定される。これによって、カーソルが第3の子音サブグループGc3の右端を越えて移動しないようにしている。そして、処理は、ステップ#2113に進む。
【0217】
一方、ステップS2107において、Noと判断される場合は、移動後のカーソルは、第3の子音サブグループGc3内部に在る。それゆえに、そのまま、処理はステップ#2113に進む。上述のようにして、ステップ#2112において、カーソルを上方向に移動した後の文字グループに応じて、キーボード左右の移動限界位置が適正に設定される。
【0218】
ステップ#2113は、カーソルを移動させた後に、カーソルが位置している文字をリバース表示させるサブルーチンである。なお、リバース表示とは、ノーマル表示における前景色と背景色を互いに入れ替えて表示することである。
【0219】
ステップ#2113の処理が開始されると、先ず、
ステップS2108において、CY=1であるか否かが判断される。カーソルは移動後、母音グループGv内で在る場合には、Yesと判断されて、処理はS2115に進む。
【0220】
ステップS2115において、Keyboard[CY][CX−BOIN_POS_L+2]を座標(CX、CY)にリバース表示する。これによって、カーソルが移動後に位置する、母音グループGv内の文字をリバース表示する。そして、ステップ#2113の処理を終了する。
【0221】
一方、カーソルの移動後の位置が、子音グループGc内である場合には、ステップS2108で、Noと判断される。そして、処理はステップS2110に進む。
【0222】
ステップS2115において、Keyboard[CY][CX]を座標(CX、CY)にリバース表示する。これによって、カーソルが移動後に位置する、子音グループGc内の文字をリバース表示する。そして、ステップ#2113の処理を終了する。
【0223】
次に、図39を参照して、追随モード2における、カーソルの上向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンでステップ#205について説明する。本ステップは、上述のステップ#201におけるステップ#2112が新たなステップ#2513に置き換えられている。よって、この新たなステップ#2513についてのみ説明する。
【0224】
このステップ#2513は、カーソルの移動後のY座標が母音グループGvであれば左右の移動限界位置を現在の母音グループGvの位置に変更して、母音グループGvが移動しないようにロックする。一方、カーソルの移動後のY座標が子音グループGcであれば、それぞれのグループに対して定めらた左右の移動限界位置に変更するサブルーチンである。
【0225】
ステップ#2513の処理が開始されると、先ず、
ステップS2504において、CY=1であるか否かが判断される。そして、現在のカーソルの位置が母音グループGv内であれば、Yesと判断されて、処理はステップS2116に進む。
【0226】
ステップS2116において、KEYB_LIMIT_LがBOIN_POS_Lに設定されると共に、KEYB_LIMIT_RがBOIN_POS_Rに設定される。このようにして、移動後のカーソルの左右の移動限界位置が変更される。そして、本ステップにおける処理を終了する。
【0227】
一方、移動後のカーソルの位置が、子音グループGc内であれば、Noと判断されて、処理は、ステップS2505に進む。
【0228】
ステップS2505において、CYの値が0および2の何れかあるかが判断される。移動後のカーソルの位置が、第1の子音サブグループGc1或いは第2の子音サブグループGc2の何れかである場合には、Yesと判断されて、処理はステップS2117に進む。
【0229】
ステップS2117において、KEYB_LIMIT_Lが0に設定されると共に、KEYB_LIMIT_Rが8に設定される。このようにして、カーソルが第1の子音サブグループGc1および第2の子音サブグループGc2内を自由に移動できるように、カーソルの左右の移動限界位置が変更される。そして、本ステップにおける処理を終了する。
【0230】
一方、移動後カーソルの位置が母音グループGv、第1の子音サブグループGc1、および第2の子音サブグループGc2の何れでもない場合には、ステップS2505で、Noと判断される。そして、処理は、ステップS2506に進む。
【0231】
ステップS2506において、CY=3であるか否かが判断される。しかしながら、上述のステップS2504およびステップS2505の判断の結果、CY=3であるので、Yesと判断される。それゆえに、処理はステップS2113に進む。
【0232】
ステップS2507において、CX<KEYB_LIMIT_Lであるか否かが判断される。移動後のカーソルが、ステップS21163設定された左移動限界位置を越える場合には、Yesと判断されて、処理はステップS2114に進む。
【0233】
ステップS2114において、CXがステップS2113で設定されたKEYB_LIMIT_Lの値である3に設定される。これによって、カーソルが第3の子音サブグループGc3の左端を越えて移動しないようにしている。そして、処理は、ステップS2108に進む。
【0234】
一方、ステップS2507において、Noと判断される場合は、移動後のカーソルは、第3の子音サブグループGc3内部に在る。それゆえに、処理はステップS2508に進む。
【0235】
ステップS2508において、CX>KEYB_LIMIT_Rであるか否かが判断される。移動後のカーソルが、ステップS2113で設定された右移動限界位置を越える場合には、Yesと判断されて、処理はステップS2115に進む。
【0236】
ステップS2115において、CXがステップS2113で設定されたKEYB_LIMIT_Rの値である5に設定される。これによって、カーソルが第3の子音サブグループGc3の右端を越えて移動しないようにしている。そして、処理は、ステップ#2113に進む。
【0237】
一方、ステップS2508において、Noと判断される場合は、移動後のカーソルは、第3の子音サブグループGc3内部に在る。それゆえに、そのまま、処理はステップ#2113に進む。上述のようにして、ステップ#2513において、カーソルを上方向に移動した後の、文字グループに応じて、キーボード左右の移動限界位置が適正に設定される。
【0238】
次に、図40を参照して、ソフトウェアキーボードSKB上でカーソルを下向きに移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#102の処理について説明する。本ステップは、上述のステップ#101におけるのと同じステップS110、S111、およびS112を含む。その結果、追随モード1であると判断された場合には、処理はステップ#202に進む。ステップ#202は、追随モード1における、カーソルの下向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「DKeyAscD」と表示されているステップ#202の詳細については、後ほど図41を参照して説明する。
【0239】
追随モード2であると判断された場合には、処理はステップ#206に進む。ステップ#206は、追随モード2における、カーソルの下向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「DKeyAscF」と表示されているステップ#206の詳細については、後ほど図42を参照して説明する。
【0240】
静止モードであると判断された場合には、処理はステップ#210に進む。ステップ#210は、静止モードにおける、カーソルの下向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「DKeyAscS」と表示されている静止モードにおける処理についての説明を省く。一方、ステップS112で、静止モードではないと判断された場合は、ステップ#102の処理を終了する。
【0241】
図41を参照して、上述の追随モード1における、カーソルの下向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#202について詳述する。本ステップは、図38を参照して既に説明したステップ#201のステップ#2112が、新たなステップ#2211と置き換えたものである。よって、この新たな。新たなステップ#2211に関してのみ、以下に説明する。
【0242】
ステップ#2211は、カーソルを下方向に移動した場合の、そのカーソルの座標を算出するサブルーチンである。ステップ#2211の処理が開始されると、先ず、
ステップS2202において、CYが1だけ増加される。これによって、カーソルが下向きに移動した際のY座標が求められる。そして、処理は次のステップS2203に進む。
【0243】
ステップS2203において、CY>3であるか否かが判断される。カーソルが第3の子音サブグループGc3を越えて下側に移動するような指示されている場合には、Yesと判断されて処理はステップS2117に進む。
【0244】
ステップS2117において、CYが0に設定される。このことによって、下向きに移動後のカーソルを、ソフトウェアキーボードSKBの第1段目に在る第1の子音サブグループGc1に循環移動させる。そして、処理は、ステップ#2112に進む。
【0245】
一方、ステップS2203で、Noと判断される場合、処理は、ステップ#2112に進む。
【0246】
次に図42を参照して、上述の、追随モード2における、カーソルの下向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#206について説明する。なお、本ステップに、図39に示したステップ#205のサブルーチンであるステップ#2111が、図41に示したステップ#202のサブルーチンである#2211と入れ替わっている。よって、各サブルーチンの説明を省略する。
【0247】
次に、図43を参照して、ソフトウェアキーボードSKB上でカーソルを左向きに移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#103について説明する。本ステップは、上述のステップ#101および102におけるのと同じステップS110、S111、およびS112を含む。その結果、追随モード1であると判断された場合には、処理はステップ#203に進む。ステップ#203は、追随モード1における、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「LKeyAscD」と表示されているステップ#203の詳細については、後ほど図44を参照して説明する。
【0248】
追随モード2であると判断された場合には、処理はステップ#207に進む。ステップ#207は、追随モード2における、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「LKeyAscF」と表示されているステップ#207の詳細については、後ほど図45を参照して説明する。
【0249】
静止モードであると判断された場合には、処理はステップ#211に進む。ステップ#211は、静止モードにおける、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「LKeyAscS」と表示されている静止モードにおける処理についての説明を省く。一方、ステップS112で、静止モードでないと判断された場合は、ステップ#103の処理を終了する。
【0250】
図44を参照して、上述の追随モード1における、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#203について詳述する。本ステップは、図38を参照して既に説明したステップ#201のステップ#2110と#2113の間のステップ#2111および#2112が、新たなステップS2302、#2313、#2314、およびステップS2309で置き換えられている。よって、新たなステップS2302、#2313、#2314、およびステップS2309に関してのみ、以下に説明する。
【0251】
ステップS2302において、現在の母音グループGvを非表示にして、母音グループGvの追随移動後の表示に備える。
【0252】
ステップ#2313は、カーソルを左方向に移動させた後の、カーソルの座標を求めるサブルーチンである。ステップ#2313の処理を開始すると、先ず、ステップS2303において、CXが1だけ減じられて、カーソルを左側に移動させた場合の、X座標が算出される。そして、処理は、ステップS2304に進む。
【0253】
ステップS2304において、CX<KEYB_LIMIT_Lであるか否かが判断される。左向きに移動後のカーソルの位置が左移動限界位置を越える場合には、Yesと判断されて、処理は、ステップS2118に進む。
【0254】
ステップS2118において、CXがKEYB_LIMIT_Rに設定されて、カーソルを左端から右端へ循環移動させる。そして、処理は、ステップ#2314に進む。
【0255】
また、ステップS2304で、Noと判断される場合には、処理は、ステップ#2314に進む。
【0256】
ステップ#2314は、カーソルを左方向に移動した場合に、追随する母音グループGvの位置を決定するサブルーチンである。ステップ#2314の処理が開始されると、先ず、
ステップS2306において、CX<BOIN_POS_Lであるか否かが判断される。移動後のカーソルが、母音グループGvの左端を越える場合には、Yesと判断されて、処理はステップS2119に進む。
【0257】
ステップS2119において、BOIN_POS_LがCXに設定されると共に、BOIN_POS_RがCX+4に設定される。このようにして、母音グループGvの左端のX座標を、移動後のカーソルのX座標と同じに設定して、母音グループGvをカーソルに対して追随移動させる。そして、処理はステップS2308に進む。
【0258】
一方、ステップS2306で、Noと判断される場合は、処理はステップS2308に進む。
【0259】
ステップS2308において、CX>BOIN_POS_Rであるか否かが判断される。移動後のカーソルが、母音グループGvの右端を越える場合には、Yesと判断されて、処理はステップS2120に進む。
【0260】
ステップS2120において、BOIN_POS_LがCXに設定されると共に、BOIN_POS_RがCX−4に設定される。このようにして、母音グループGvの右端のX座標を、移動後のカーソルのX座標と同じに設定して、母音グループGvをカーソルに対して追随移動させる。そして、処理はステップS2309に進む。
【0261】
ステップS2309は、カーソルに追随移動した後の母音グループGvを表示するサブルーチンである。
【0262】
図45を参照して、上述の追随モード2における、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#207について詳述する。本ステップは、図44に示したステップ#203と完全に同一である。つまり、現在のカーソル座標の文字をノーマル表示するサブルーチンであるステップ#2110と、母音行を非表示にするステップS2302と、左方向にカーソルを移動した場合のカーソルの座標を算出するサブルーチンであるステップ#2313と、母音グループGvを追随移動させる位置を決定するサブルーチンであるステップ#2314と、ステップ#2314で決定した位置に母音グループGvを表示させるステップS2309と、移動後のカーソルが位置する文字をリバース表示させるステップ#2113とを含んでいる。
【0263】
次に、図46を参照して、ソフトウェアキーボードSKB上でカーソルを右向きに移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#104について説明する。本ステップは、上述のステップ#101、#102、および#103におけるのと同じステップS110、S111、およびS112を含む。その結果、追随モード1であると判断された場合には、処理はステップ#204に進む。ステップ#204は、追随モード1における、カーソルの右向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、同図において「RKeyAscD」と表示されているステップ#204の詳細については、後ほど図47を参照して説明する。
【0264】
追随モード2であると判断された場合には、処理はステップ#208に進む。ステップ#208は、追随モード2における、カーソルの右向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、なお、同図において「RKeyAscF」と表示されているステップ#208の詳細については、後ほど図48を参照して説明する。
【0265】
静止モードであると判断された場合には、処理はステップ#208に進む。ステップ#208は、静止モードにおける、カーソルの左向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンである。なお、静止モードにおける処理についての説明を省く。一方、ステップS112で、静止モードではないと判断された場合は、ステップ#104の処理を終了する。
【0266】
図47を参照して、上述の追随モード1における、カーソルの右向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#204について説明する。本ステップは、図44および図45に示したステップ#203および#207におけるステップ#2313を、新たなステップ#2413で置き換えたものである。なお、ステップ#2313は、追随モード2において、カーソルを左向きに移動させた場合のカーソル座標を求めるサブルーチンである。一方、ステップ#2413は、追随モード2において、カーソルを右向きに移動させた場合のカーソル座標を求めるサブルーチンである。
【0267】
ステップ#2413の処理が開始されると、先ず、
ステップS2403において、CXが1だけ増加されて、カーソルが右向きに移動した後の、カーソルのX座標が算出される。そして、処理は、ステップS2304に進む。
【0268】
ステップS2304において、CX>KEYB_LIMIT_Rであるか否かが判断される。カーソルが右向きに移動した結果、カーソルの右移動限界位置を越える場合には、Yesと判断されて、処理は、ステップS2118に進む。
【0269】
ステップS2118において、CXがKEYB_LIMIT_Lに設定される。このようにして、カーソルが右端から左端に循環移動させられる。そして処理は、ステップ#2314に進む。
【0270】
一方、ステップS2304において、Noと判断される場合は、カーソルの循環移動の必要がない。それゆえに、処理は、#2314に進む。
【0271】
次に、図48を参照して、上述の追随モード2における、カーソルの右向き移動後のソフトウェアキーボードSKBの状態を求めるサブルーチンであるステップ#208について詳述する。本ステップは、図47に示したステップ#204と完全に同一である。つまり、現在のカーソル座標の文字をノーマル表示するサブルーチンであるステップ#2110と、母音行を非表示にするステップS2302と、右方向にカーソルを移動した場合のカーソルの座標を算出するサブルーチンであるステップ#2413と、母音グループGvを追随移動させる位置を決定するサブルーチンであるステップ#2314と、ステップ#2314で決定した位置に母音グループGvを表示させるステップS2309と、移動後のカーソルが位置する文字をリバース表示させるステップ#2113とを含んでいる。
【0272】
図49に、図31に示した本実施例にかかるソフトウェアキーボード装置SKAeを組み込んだゲーム機の例とは異なる例を図示する。
以下に、図50〜図55を参照して、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるキーボードについて説明する。同例において、文字は、すべて日本語の仮名で表示されるので、ローマ字の解らない人でも入力が可能である。
【0273】
なお、同例において、ソフトウェアキーボードSKBの第1段目に、それぞれ、「あ行」、「か行」、「さ行」、「た行」、「な行」、「は行」、「ま行」、「や行」、「ら行」、「わ行」および「ん行」の先頭の文字である「あ」、「か」、「さ」、「た」、「な」、「は」、「ま」、「や」、「ら」、「わ」、および「ん」が表示されている。そして、カーソルを、各行の先頭の文字の位置に移動させると、その文字を先頭とする行の文字か、第2段目以降複数行に渡ってに中央揃えされて表示される。
【0274】
図50には、カーソルが「あ」の位置にある時には、第2段目および第3段目に、「あ行」に属する文字が10種類表示されている。以下同様に、図51には、「か行」に属する文字が表示されている。図52には、「た行」に属する文字が示されている。図53には、「は行」に属する文字が示され、図54には、「や行」の文字が示され、そして図55には、「わ行」の文字が示されている。
【0275】
本明細書において、本発明の実施形態および実施例において、アルファベットを入力して、ローマ字仮名変換する例について説明しているが、本発明は、基本的に2つ以上の文字を組み合わせて、別の文字を抽出して入力する用途に適している。より詳しく述べれば、種類の少ない文字を二つ以上組み合わせて、より種類の多い文字に変換する用途において、本発明はより効果的である。このような用途として、本明細書で例示しているように、アルファベット26文字を組み合わせて、数十万語以上と言われる日本語の仮名漢字変換を行うものがある。このような用途として、中国語、韓国語に代表される、DBC(ダブルバイトコード)で表現される言語体系での文字入力に適している。
【0276】
また、ソフトウェアキーボードSKBのアルファベット文字の配置は、日本語が子音と母音との組み合わせから構成されていることから、子音と母音を明確に分離し、子音入力後の母音検索の手間取りを少なくなるような仕組みとなっている。人間の行動心理からすると、アルファベット文字の存在しないところへはカーソルを移動しようとは思わない。その結果、わざわざ遠回りしてカーソルを移動することになり、結果としてストローク量が多くなることになる。
【0277】
本発明は、この点に着目し、目的の子音にカーソルを移動する際に、その後を追うように母音グループが追随するようになっている。すなわち、子音入力後は母音グループは追随してきているため、子音の次に入力する母音は目移りせずに直ぐにそばにある母音グループから選択すればよいことになる(例外としてkyaのように子音が2回続く文字もある)。また、カーソル移動に関してであるが、最左端までカーソルを移動した後最右端の文字に移動したい時には、わざわざ右方向にカーソルを移動しなくても左に移動指示すれば最右端に循環移動するように構成している(又はこの反対方向)。これらの結果、キー・ストローク量は平均的に少なくなる。
【0278】
言うまでもなく、ローマ字入力であるからキーボード部は26文字で済み、よって画面を占有する割合が少なくなる。また、ソフトウェアキーボードSKBはハードウェアではないため製品コスト面で有利である。さらに、画面の任意の場所に移動・表示可能で、必要な時に画面に呼び出すことが可能で、ドライバの形で提供しOSの一部として組み込みも可能である。
【0279】
特に短い日本語の文章を入力する場合、高度な変換精度は必要なく単漢字変換程度の精度で済ませられることがある。また、単漢字変換は比較的小規模な辞書で、その構造も簡単で済むため、今回のソフトウェアキーボードを評価・検討するために、この変換方法による日本語入力フロントエンド・プロセッサ(以下FEP)を開発し組み込んだ。FEPはソフトウェアキーボードにより入力された漢字変換候補を漢字に変換する機能のほか、JIS規格の文字(記号、数字、アルファベット、平仮名、カタカナ、ギリシャ文字、ロシア文字、丸数字・ローマ数字、単位、元号・数学記号・論理演算記号、JIS第1・第2水準漢字)および外字の入力が可能である。また、辞書学習機能も有している。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるソフトウェアキーボード装置の構成を示すブロック図である。
【図2】図1に示したソフトウェアキーボード装置の動作を示すフローチャートである。
【図3】図2に示したソフトウェアキーボード装置の表示器に表されているソフトウェアキーボードを用いて、ローマ字仮名変換する方法の説明図である。
【図4】図3に示したソフトウェアキーボード装置の表示器に表示されているソフトウェアキーボードを用いて、仮名漢字変換する方法の説明図である。
【図5】本発明にかかるソフトウェアキーボード装置の基本的な構成を示す説明図である。
【図6】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが母音グループ内を移動する場合のソフトウェアキーボードの動作を示す説明図である。
【図7】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが母音グループ内を移動する場合のソフトウェアキーボードの動作を示す説明図である。
【図8】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが母音グループ内を移動する場合のソフトウェアキーボードの動作を示す説明図である。
【図9】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが母音グループ内を移動する場合のソフトウェアキーボードの動作を示す説明図である。
【図10】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが母音グループ内を移動する場合のソフトウェアキーボードの動作を示す説明図である。
【図11】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図12】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図13】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図14】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図15】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図16】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図17】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図18】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図19】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図20】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが異なる文字グループ間を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図21】本発明にかかるソフトウェアキーボード装置の追随モード1において、カーソルが異なる文字グループ間を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図22】本発明にかかるソフトウェアキーボード装置の静止モードにおいて、ソフトウェアキーボードのカーソルの移動と母音グループとの関係を示す説明図である。
【図23】本発明にかかるソフトウェアキーボード装置の追随モード2において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図24】本発明にかかるソフトウェアキーボード装置の追随モード2において、カーソルが子音グループ内を移動する際のソフトウェアキーボードの動作を示す説明図である。
【図25】本発明にかかるソフトウェアキーボード装置の追随モード2において、カーソルが子音グループから、母音グループの位置に移動した時点で、母音グループがロックされることを示す説明図である。
【図26】本発明にかかるソフトウェアキーボード装置の追随モード2において、カーソルが子音グループから、母音グループの位置に移動した時点で、母音グループがロックされることを示す説明図である。
【図27】本発明にかかるソフトウェアキーボードの入力工程数低減の効果についての説明図である。
【図28】本発明にかかるソフトウェアキーボードの文字レイアウトの効果についての説明図である。
【図29】本発明にかかるソフトウェアキーボード装置をゲーム機に組み込んだ場合の構成を示すブロック図である。
【図30】図29に示した操作器の一例を示す平面図である。
【図31】本発明にかかるソフトウェアキーボード装置を組み込んだゲーム機の一例を示す説明図である。
【図32】図29に示した、本発明にかかるソフトウェアキーボード装置の動作を示すフローチャートである。
【図33】図29に示したROMに格納されているプログラムと、ゲーム機内のRAMに構築されるデータ領域の関係についての説明図である。
【図34】図29に示したソフトウェアキーボード装置において、ソフトウェアキーボードを構成する基本事項の説明図である。
【図35】図29に示したソフトウェアキーボード装置において、ソフトウェアキーボードを構成する基本事項の説明図である。
【図36】図29に示したソフトウェアキーボード装置において、ソフトウェアキーボードを構成する基本事項の説明図である。
【図37】図32に示すステップ#101における詳細な動作を表すフローチャートである。
【図38】図37に示すステップ#201における詳細な動作を表すフローチャートである。
【図39】図37に示すステップ#205における詳細な動作を表すフローチャートである。
【図40】図32に示すステップ#102における詳細な動作を表すフローチャートである。
【図41】図40に示すステップ#202における詳細な動作を表すフローチャートである。
【図42】図40に示すステップ#206における詳細な動作を表すフローチャートである。
【図43】図32に示すステップ#103における詳細な動作を表すフローチャートである。
【図44】図43に示すステップ#203における詳細な動作を表すフローチャートである。
【図45】図43に示すステップ#207における詳細な動作を表すフローチャートである。
【図46】図32に示すステップ#104における詳細な動作を表すフローチャートである。
【図47】図46に示すステップ#204における詳細な動作を表すフローチャートである。
【図48】図46に示すステップ#208における詳細な動作を表すフローチャートである。
【図49】図31に示した本実施例にかかるソフトウェアキーボード装置を組み込んだゲーム機のさらなる例を示す説明図である。
【図50】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【図51】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【図52】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【図53】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【図54】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【図55】図49に示したソフトウェアキーボード装置において、入力ボタンの少ないコントローラで簡単に日本語を入力することを可能にする、ソフトウェア制御によるソフトウェアキーボードの説明図である。
【符号の説明】
SKA ソフトウェアキーボード装置
SKB ソフトウェアキーボード
1 プログラム源
1e ROM
5 CPU
5e CPU5e
13 RAM
13e RAM
19 入力器
19e 操作器
21 表示器
21e モニタ
Gv 母音グループ
Gc 子音グループ
[0001]
BACKGROUND OF THE INVENTION
The present invention provides a user's physical and psychological burden in a usage environment in which the number and function of input devices and the display area showing input results to the user are both limited, such as a digital portable device that has been reduced in size and weight. The present invention relates to a software keyboard device that can input characters.
[0002]
[Prior art]
In recent years, digital portable devices reduced in size and weight, such as wristwatches, mobile phones, portable audio devices, portable video devices, and portable information terminals, have been widely used in society. As a result, many users have a desire to input character information into such digital portable devices. However, in such digital portable devices, as a result of pursuing portability, the number and functions of input devices that can be used by a user to input characters are limited. Furthermore, the area of the display unit required for the user to confirm his / her input content is also limited.
[0003]
Under such circumstances, as a typical character input device provided in the past, the cursor key is operated to display all the characters that can be entered in order, and when the desired character is displayed. In some cases, the input device for selection is operated and selected. In this case, a desired character may be displayed immediately, but on average, it is necessary to display half of the total number of characters prepared in the input device.
[0004]
[Problems to be solved by the invention]
In such a situation, it is actually difficult to input Japanese, which is said to have hundreds of thousands of character types, using conventional input devices with limited input devices and limited display area. I must say that it is impossible.
Therefore, the present invention proposes a software keyboard that is devised so that key strokes are relatively reduced in consideration of human behavioral psychology even in such a restricted environment. Behavioral psychology is a viewpoint of how to move the cursor next based on information obtained from the screen.
[0005]
When inputting Japanese using a software keyboard, if all 50 sounds are covered on the screen, it takes time to search for the target character, and the key stroke (number of operations of the input device) tends to increase. Recently popular mobile phones, mini-disc devices, etc. can input characters, but they have to make a rather troublesome input, which puts a considerable physical and psychological burden on the user and is not good for mental health. In addition, the proportion of the keyboard unit that occupies the display screen of the display device provided in the minidisk device or the like increases.
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a software keyboard capable of inputting Japanese characters easily and inputting Roman characters with an input device having a small number of buttons. .
[0006]
[Means for Solving the Problems and Effects of the Invention]
  1st invention combines the character contained in the 1st character group which consists of the same character type, and selects the character contained in the 2nd character group which consists of a character type different from the character contained in the 1st character group A software keyboard device for inputting to a digital device,
  According to a predetermined standard, the first character group includes a first character group made up of a first predetermined number of characters, and a second character group made up of a second predetermined number of characters less than the first predetermined number, Divided into the first character groupWhenSecond character groupAnd closeSideParallelA character group display section to be displayed on
  Based on user instructions, tableCharacters contained in the indicated first character group and second character groupOne character at a timeA pointing part to point,
  PointerByFirst character groupofletterButPointingThe character does not face any character in the second character groupTimeInIsWhen the display area of the second character group is shifted to a position facing the character, and the character opposes any character of the second character group, the display position of the second character group is set to the current position. The display position is fixed.With a display position controllerThe
[0007]
As described above, in the first invention, when a character of the first character group is selected, the character of the second character group is always displayed at any position above and below it. The number of steps for moving the pointer when selecting the characters of the second character group can be reduced.
[0008]
  The second invention is the first invention according to the first invention.groupThe display unit is characterized in that the characters included in the first character group and the second character group are continuously displayed in a direction facing and parallel to each other.
[0009]
  The third invention is the second invention,, tableThe indication position control unit
    When the pointer is going to move outside the end of the second character group in the parallel direction, the character at the corresponding end of the second character group is in the position to which the pointer is pointing. Thus, by shifting the display position of the entire second character group,
  When the pointer moves in parallel to the first character group, a character included in the second character group is pointed to by the pointer.
[0010]
As described above, in the third invention, in order to select the character of the first character group from the second character group, the second character group is also moved while the cursor is moved to a position immediately below or directly above the desired character. Since the character group moves following the cursor, a sense of security can be given to the user.
[0011]
  The fourth invention is the third invention,, tableThe indication position control unit
    When the pointer moves from the second character group and tries to point to a character inside the second character group, the character display unit is set so as not to shift the display position of the entire second character group. It is characterized by controlling.
[0012]
As described above, in the fourth aspect of the present invention, when the first character group is moved to the second character group, the second character group with respect to the cursor movement is locked by locking the second character group so as not to move. Diversify group tracking methods.
[0013]
5th invention combines the character contained in the 1st character group which consists of the same character type, and selects the character contained in the 2nd character group which consists of a character type different from the character contained in the 1st character group A software keyboard device for inputting to a digital device,
According to a predetermined standard, the first character group includes a first character group made up of a first predetermined number of characters, and a second character group made up of a second predetermined number of characters less than the first predetermined number, A character group display unit that continuously displays the characters included in the first character group and the second character group in opposite and parallel directions;
A pointing unit that moves the pointer one character at a time based on a user's instruction and points each of the characters included in the displayed first character group and second character group;
When the pointer is going to move outside the end of the second character group in the parallel direction, the character at the corresponding end of the second character group is in the position to which the pointer is pointing. Thus, by shifting the display position of the entire second character group,
When the pointer moves in parallel to the first character group, a character included in the second character group is indicated by the pointer.
[0014]
As described above, in the fifth aspect, after the second character group is selected, the pointer is moved to a position immediately below or just above the character of the first group to be selected in order to select the first character group. Even when the second character group moves following the pointer, it is possible to give the user a sense of security.
[0015]
In a sixth aspect based on any one of the first, second, third, fourth, and fifth aspects, the pointing unit is configured such that the pointer indicates a position outside the character at the end of the first character group. When the instruction is to be made, the pointer is moved so as to point to the character at the other end of the first character group.
[0016]
As described above, in the sixth invention, the second movement of the cursor from the one end to the other end of the first group is performed in a synergistic effect with the following movement of the second character group with respect to the movement of the cursor. The number of steps of moving the pointer when selecting characters in the character group can be reduced.
[0017]
In a seventh aspect based on the fourth aspect, when the pointer is intended to point to a position outside the character at the end of the second character group, the pointing portion moves the pointer to the second character group. It is characterized by being moved so as to indicate a character at one end.
[0018]
As described above, in the seventh invention, the number of steps for moving the pointer when selecting a character in the second character group can be reduced by circularly moving the cursor from one end of the second group to the other end. .
[0019]
In an eighth aspect based on any one of the third and fifth aspects, the pointing portion is arranged so that the character at the end of the second character group faces the character at the end of the first character group. When the pointer wants to indicate the position outside the end of the second character group whose display position has been shifted, the position facing the character at the other end of the first character group, The pointer is moved.
[0020]
As described above, in the eighth aspect of the invention, it is possible to give the user a sense of security by following the circular movement of the cursor and cyclically moving the second character group.
[0021]
According to a ninth invention, in any one of the first, second, third, fourth, fifth, sixth, seventh and eighth inventions, the character included in the second character group is a double-byte code. Is a character defined by
Characters included in the first character group are characters defined by a single byte code.
[0022]
As described above, in the ninth aspect, a very large number of characters defined by a double-byte code can be expressed by combining a small number of characters defined by a single byte.
[0023]
In a tenth aspect based on the ninth aspect, the character included in the second character group is Japanese.
Characters included in the first character group are 26 alphabetic characters.
[0024]
As described above, in the tenth aspect, since the alphabet included in the second character group is displayed following the movement of the cursor, the first character group is displayed after the character included in the first character group. It is easy to connect alphabets included in the two character groups.
[0025]
  The eleventh invention is the first2, 3, 4, 5, 6, 7, and 8In the present invention, the first group includes alphabets corresponding to consonants,
    The second group includes an alphabet corresponding to a vowel.
[0026]
As described above, in the eleventh aspect of the invention, since the vowel line is displayed following the movement of the cursor, the kana in Japanese is mostly composed of consonants followed by vowels. The number of steps of moving the pointer for expressing characters can be reduced.
[0027]
In a twelfth aspect based on the eleventh aspect, the characters included in the second character group are five characters A, I, U, E, and O.
Characters included in the first group are 21 characters excluding characters included in the second character group from the alphabet.
[0028]
As described above, in the twelfth invention, the alphabet corresponding to the five-character vowel is moved and displayed following the pointer pointing to the alphabet corresponding to the 26-character consonant, so the vowel after the consonant is displayed. It is possible to reduce the number of pointer movement steps for expressing Japanese kana characters, which are mostly constructed by connecting the characters.
[0029]
  The thirteenth invention is the ninthOr 11In the present invention, the characters included in the first character group can be divided into at least two or more subgroups based on a predetermined criterion.
[0030]
In a fourteenth aspect based on the thirteenth aspect, each of the subgroups is displayed on both sides of the second character group in parallel with each other.
[0031]
According to a fifteenth aspect, in the fourteenth aspect, each of the subgroups is displayed in parallel with each other on one side of the second character group.
[0032]
DETAILED DESCRIPTION OF THE INVENTION
A software keyboard device according to an embodiment of the present invention will be described below with reference to FIGS. Thereafter, an embodiment in which the present invention is applied to a game machine will be described in detail with reference to FIGS.
[0033]
First, the configuration and main operation of the software keyboard device SKA according to the present embodiment will be described with reference to FIGS. Then, the character input method in the software keyboard device SKA will be specifically described with reference to FIGS.
[0034]
As shown in FIG. 1, the software keyboard device SKA according to the present embodiment includes a program source 1, an input device 19, a display device 21, and a character input device body 100. The program source 1 stores various computer programs for executing the operation of the software keyboard device SKA, and is preferably configured by a nonvolatile storage unit.
[0035]
The input device 19 is a means that is operated by the user to transmit its own instruction to the software keyboard device SKA, and preferably includes a pointing device such as a keyboard and a selection determination input device.
[0036]
The character input device main body 100 includes a CPU 5 and a RAM 13. The CPU 5 loads various programs stored in the program source 1 and executes the loaded programs based on user instructions input from the input device 19. The RAM 13 is a working memory that provides a work area required when the CPU 5 executes a program. The CPU 5 is also a control device that controls the operation of the entire software keyboard device SKA.
[0037]
The program source 1 may be configured to be detachably connected to the character input device main body 100, or may be built in the character input device main body 100 in advance such as the CPU 5 and the RAM 13. It may be configured.
[0038]
The display 21 displays the execution result of the CPU 5 with video and audio, displays the user instruction result, and prompts the user to input a new instruction. For this purpose, in the present invention, the state of the keyboard is appropriately changed and displayed on the display 21 in accordance with the execution result of the program and the user's instruction. Hereinafter, the keyboard displayed as an image or sound on the display 21 is referred to as a “software keyboard”.
[0039]
Next, the operation of the software keyboard device SKA will be described with reference to the flowchart shown in FIG. The software keyboard device SKA is powered on and its operation is started.
[0040]
First, in step # 1000, various programs are loaded from the program source 1 into the character input device main body 100. Then, the process proceeds to the next step # 2000.
[0041]
In step # 2000, various elements and parameters of the software keyboard device SKA are initialized according to the program loaded from the program source 1. Then, the process proceeds to the next step # 3000.
[0042]
In step # 3000, the state initialized in step # 2000 is displayed on the display 21. That is, the display 21 displays a software keyboard in a state before an instruction from the user is input. Then, the process proceeds to the next step # 4000.
[0043]
In step # 4000, the state of the input device 19 by the user is acquired. That is, the presence / absence of input and the content of the input are detected, and one of the following steps # 5000, # 6000, # 7000, # 8000, and # 9000 is selectively executed based on the detection result. .
[0044]
For example, if the user is operating an input device for moving the cursor, the process branches from step # 4000 to step # 5000.
[0045]
If the input device is operated so as to determine the alphabet input by the user, the process branches to # 7000.
[0046]
If the user operates the input device so as to select one of the kanji candidates to be converted from the kana converted from the alphabet combination determined in # 7000, the process branches to # 6000.
[0047]
If the user operates the input device so as to cancel the selection of the alphabet after selecting the alphabet on the software keyboard SKB displayed at # 5000, the process branches to step # 8000.
[0048]
Furthermore, if the user operates the input device so as to change the operation mode of the displayed software keyboard SKB, the process branches to step # 9000.
[0049]
In step # 5000, the software keyboard displayed on the display 21 is changed according to the value of the pointer parameter indicating the operating state of the pointing device included in the input device 19.
[0050]
The processing in step # 5000, step # 6000, step # 7000, step # 8000, and step # 9000 will be described in detail later with reference to FIG.
[0051]
After any of the above-mentioned steps # 5000, # 6000, # 7000, # 8000, and # 9000 is selectively executed, the process returns to step # 4000. In step # 4000, any one of steps # 5000, # 6000, # 7000, # 8000, and # 9000 is selectively performed again based on the acquired state of the input device 19, that is, the user's instruction. Executed. By repeatedly executing the processes in steps # 4000 to # 9000, the user can select and input a desired character using the software keyboard device SKA.
[0052]
Next, FIGS. 3 and 4 illustrate the state of the display 21 on which the software keyboard is displayed. A software keyboard SKB is located at the upper left of FIG. 3, a Japanese input line editor for inputting Japanese below it, and a Roman input conversion line at the bottom line for Roman input. The software keyboard SKB is composed of 26 alphabets A to Z.
[0053]
In the figure, the Roman input conversion line is an example in which a combination of properly selected 26 letters of the alphabet using the software keyboard SKB is converted into a Roman character “kan” in the Roman input conversion line. It is expressed in Furthermore, an example in which a hiragana character converted from an alphabet into a Roman character on such a Roman character input conversion line is further converted into a kanji character is shown on a Japanese input line editor. In this example, “Japanese input” has already been input.
[0054]
FIG. 4 shows a state in which the hiragana character “kan” that has been converted to Roman characters in FIG. 3 is converted to kanji. The kanji corresponding to “kan” is displayed in the kanji candidate line by the kanji conversion. Using the input mode icon, Kanji conversion mode “Kan”, Hiragana character input “A”, Katakana character input “A”, Alphabet character input “A”, Symbol / Punctuation character input “S” Numeral / Chinese numeral character input “number”, Greek character input “Gi”, and Kanji code (SJIS, JIS) input “ko” can be selected.
[0055]
Using the vowel group follow switching icon, three operation modes of “follow mode 1”, “follow mode 2”, and “still mode” that are operation modes of the software keyboard SKB can be selected. In these three operation modes, the method of controlling permission and prohibition of movement of the alphabet group for vowels is mainly different. This will be described in detail later with reference to FIGS.
[0056]
Next, the basic configuration of the software keyboard SKB according to the present embodiment will be described first with reference to FIG. Subsequently, each of the three following modes of the software keyboard SKB, “following mode 1”, “following mode 2”, and “still mode” will be specifically described.
[0057]
FIG. 5 shows the software keyboard SKB shown in FIGS. 3 and 4 in an enlarged manner. As clearly shown in the figure, in the software keyboard SKB, the 26 alphabets are vowels consisting of 5 characters representing Japanese vowels of “A”, “I”, “U”, “E”, and “O”. It is divided into a group Gv and a consonant group Gc composed of characters representing the remaining 21 consonants.
In the figure, the alphabets of the vowel group Gv are preferably arranged in the order of the Japanese vowels “a”, “i”, “u”, “e”, and “o”. Depending on the situation, they may be arranged in any order. Further, the consonant group Gc is further divided into three consonant subgroups Gc1, Gc2, and Gc3 for the purpose of effective use of the display area of the display device 21 and convenience of character selection operation.
[0058]
As shown in the figure, the first consonant subgroup Gc1 includes Japanese “ka line”, “sa line”, “ta line”, “na line”, “ha line”, “ma line”, “ma line”, “ “K”, “S”, “T”, “N”, “H”, “M”, “Y”, “Y”, “Y”, “R”, and “Wa” It is composed of “R” and “W”. The nine-letter alphabets constituting the first consonant subgroup Gc1 are preferably “K”, “S”, “T”, “N”, Although they are arranged in the order of “H”, “M”, “Y”, “R”, and “W”, they may be arranged in any order as necessary.
[0059]
The second consonant subgroup Gc2 consists of Japanese “Ja”, “Ga”, “Za”, “Da”, “Fa”, “Cha”, “Ba”, “Pa” , And “lowercase lines”, the letters “J”, “G”, “Z”, “D”, “F”, “C”, “B”, “P”, and “L”, respectively. Consists of. Similar to the first consonant subgroup Gc1, the second consonant subgroup Gc2 is composed of nine alphabets. Also, in the second consonant subgroup Gc2, it is preferable that “J”, “G”, “Z”, “D”, “F”, “C” as shown in the drawing because of the sensibility of the user. ”,“ B ”,“ P ”, and“ L ”. However, each character may be arranged in any order as necessary.
[0060]
The third consonant subgroup Gc3 is composed of three letters “Q”, “X”, and “V” that are not normal Japanese but correspond to English-specific sounds that are frequently used recently. Similarly to the first consonant subgroup Gc1 and the second consonant subgroup Gc2 described above, “Q”, “X”, and “V” may be arranged in any order as necessary. .
[0061]
As described above, the 26 letters of the alphabet are divided into four groups: a vowel group Gv, a first consonant subgroup Gc1, a second consonant subgroup Gc2, and a third consonant group Gc3. Further, the 26 letters of the alphabet are arranged in four stages by arranging the constituent characters in order from left to right for each group. In the first level, the first consonant subgroup Gc1 is arranged. In the second row, the vowel groups Gv are arranged in a center aligned state. Then, in the third row and the fourth row, the second consonant subgroup Gc2 and the third consonant group Gc3 are arranged, respectively.
[0062]
That is, in the same example, the character “A” at the left end of the vowel group Gv is arranged at a position facing “T” of the first consonant subgroup Gc1 and “Z” of the second consonant subgroup Gc2. ing. The character “O” at the right end of the vowel group Gv is arranged at a position facing “Y” of the first consonant group Gc1 and “B” of the second consonant subgroup Gc2. More specifically, “I” of the vowel group Gv is opposed to “N” of the first consonant subgroup Gc1 and “D” of the second consonant subgroup Gc2. Similarly, “U” faces each of “H” and “F”, and “E” faces each of “M” and “C”. Then, “Q”, “X”, and “V” of the third consonant subgroup Gc3 are opposed to “D”, “F”, and “C” of the second consonant subgroup Gc2, respectively. .
[0063]
In the figure, a rectangular frame displayed so as to surround a character mainly indicates the current position of a character selection cursor (hereinafter referred to as “cursor”). In principle, the cursor can be moved freely in units of characters only where the alphabet is. However, the alphabet group of the second vowel group Gv performs a special movement. This special movement method of the alphabet group of the vowel group Gv with respect to the movement of the cursor is called an operation mode of the software keyboard. There are three types of operation modes of the software keyboard: “follow mode 1”, “follow mode 2”, and “still mode”. The movement of the cursor is instructed to the software keyboard device SKA by the user operating the input device 19 described above. Hereinafter, the difference between the three operation modes of the software keyboard SKB will be described in detail.
[0064]
Before describing the operation modes of the software keyboard SKB with reference to the drawings, the principle of movement of the cursor and the vowel group Gv in each operation mode will be briefly described below.
[0065]
(Following mode 1)
In the follow mode 1, the operation is slightly different when the cursor moves within the vowel group Gv and when it moves within the consonant group Gc. First, when the cursor moves in the consonant group Gc and the vowel group Gv, it can move freely. However, when the cursor tries to move in the left-right direction beyond the character located in the same row facing either end of the vowel group Gv in the consonant group Gc, The entire vowel group Gv moves in the left-right direction, with the end characters following the cursor moving in the consonant group Gc. When the cursor further moves beyond the character at the end of the consonant group Gc, the cursor cyclically moves to the character at the other end of the consonant group Gc. Then, the entire vowel group Gv is moved following the vowel group Gv so that the vowel group Gv is directly below or directly above the cursor that has been circularly moved.
[0066]
“Circular movement of the cursor” means, for example, that when you move the cursor to the leftmost end, and then you want to move to the rightmost end, if you move the cursor to the right without pointing the cursor to the right, , Jump over several characters at once and move to the right end. This is an indispensable technique when pursuing a reduction in stroke amount. The circular movement of the entire vowel group Gv is the same as the circular movement of the cursor.
[0067]
On the other hand, a case where the cursor moves in the vowel group Gv will be described. In this case, the cursor can freely move in the vowel group Gv. However, when the cursor is going to move in the left or right direction beyond both ends of the vowel group Gv to the both ends of the software keyboard SKB, the character at that end of the vowel group Gv is Following the cursor, the entire vowel group Gv moves. If the cursor is to move further beyond one end of the software keyboard SKB, the cursor will circulate to the other end of the software keyboard SKB, and the characters at the other end of the vowel group Gv will circulate. The entire vowel group Gv moves following the cursor so that it is at the position of the cursor.
[0068]
(Following mode 2)
The following mode 1 is the same as the following mode 1 except that the cursor moves within the vowel group Gv. That is, the movement of the cursor when the cursor moves in the consonant group Gc and the movement of the vowel group Gv are exactly the same as in the follow mode 1. However, in the follow mode 2, when the cursor moves within the vowel group Gv, the cursor cannot move beyond the range of the vowel group Gv. Therefore, the vowel group Gv does not follow the cursor that moves in the vowel group Gv.
[0069]
That is, when the cursor moves from the consonant group Gc to the vowel group Gv, the vowel group Gv following the cursor moving in the consonant group Gc is fixed at the tracking position immediately before the cursor moves. The cursor can freely move within the vowel group Gv whose position is fixed. Then, when the cursor tries to move beyond both ends of the fixed vowel group Gv, the cursor is cyclically moved to the other end of the vowel group Gv.
[0070]
(Still mode)
In the stationary mode, it is possible to move freely within each character group. However, the vowel group Gv remains fixed in the initial state, and no follow-up movement with respect to the movement of the cursor is performed. Further, when the cursor moves between different groups, a character at a position where the movement distance is minimized is selected.
[0071]
Following mode 1 will be further described in the light of the example shown in FIG. In FIG. 5, in the consonant alphabet region (first, third, fourth) from the first consonant subgroup Gc1, the second consonant subgroup Gc2, and the third consonant subgroup Gc3. Consider the case where the cursor is moved left and right in each consonant group Gc. As a result of moving the cursor left and right, the position of the cursor in each consonant group Gc may exceed the positions corresponding to “A” and “O” at the left and right ends of the vowel group Gv.
[0072]
That is, in the first consonant subgroup Gc1, the cursor moves from “T” to “S” or from “Y” to “R”. In the second consonant subgroup Gc2, the cursor moves from “Z” to “G” or from “B” to “P”. More precisely, it is a case where the cursor is moved to a character outside the consonant group Gc positioned above and below the characters at both ends of the vowel group Gv. Such cursor movement is referred to as “over-limit movement of vowel group Gv”. Thus, when the cursor moves beyond the limit of the vowel group Gv, the entire vowel group Gv following the cursor is moved.
[0073]
Similarly, the movement of the cursor in the vowel group Gv is also performed by following the entire vowel group Gv. That is, in the vowel group Gv, when the cursor is moved from “A” to the left blank area, the entire vowel group Gv is moved to the left by following the movement of the cursor.
[0074]
<Following mode 1: Cursor moves in vowel group Gv>
A specific operation example of the software keyboard SKB when the cursor moves in the vowel group Gv in the following mode 1 will be described below with reference to FIGS. As shown in FIG. 5, when the cursor is at the position “I” of the vowel group Gv, the cursor is moved to the position “A” to the left of “I”. In this case, as shown in FIG. 6, only the cursor moves normally, and no follow-up movement with respect to the cursor of the vowel group Gv occurs.
[0075]
Further, the cursor is moved to a blank portion on the left side of “A” (a position between “S” of the first consonant subgroup Gc1 and “G” of the second consonant subgroup Gc2). In this case, as shown in FIG. 7, the entire vowel group Gv moves following the movement of the cursor while the cursor remains on “A”. That is, each letter of the alphabet making up the vowel group Gv moves to the left by one character at a time.
[0076]
Then, the cursor is further moved to the left blank area at the left end of the vowel group Gv. In this case, as shown in FIG. 8, the vowel group Gv follows the cursor and moves to the left end of the software keyboard SKB while the cursor remains on “A”.
[0077]
Further, the cursor is instructed to move to the left side beyond the left end of the software keyboard SKB. In this case, as shown in FIG. 9, the entire vowel group Gv moves so as to be in contact with the right end of the software keyboard SKB, and the cursor moves to the position “O”.
[0078]
If the cursor is instructed to move further to the left, as shown in FIG. 10, the vowel group Gv remains in contact with the right end of the software keyboard SKB, and only the cursor is changed from “O” to “E”. Move to the position. Contrary to the series of leftward cursor movements described above, the vowel group Gv operates in accordance with the above-described operation principle when moving the cursor in the rightward direction.
[0079]
<Following mode 1: cursor moves in consonant group Gc>
Next, the operation of the software keyboard SKB when the cursor moves in the consonant group Gc in the following mode 1 will be specifically described with reference to FIGS.
[0080]
As shown in FIG. 11, in the state where the cursor of the software keyboard SKB is in the position of the character of the first consonant subgroup Gc1, for example, “N” and the vowel group Gv is in the standard position, the user enters the input device 19. Let us consider a case in which the cursor is instructed to move to the position of “T” on the left side of “N”. In this case, the position in the left-right direction on the software keyboard SKB of “T”, which is the position after the cursor is moved, is the same as the position in the left-right direction of “A”, which is the leftmost character of the vowel group Gv in the standard state. That is, “T” is at a position opposite to “A”. Therefore, as shown in FIG. 12, the vowel group Gv does not follow the cursor, but only the cursor moves upward by “T”.
[0081]
Further, consider a case where an instruction is given to move the cursor to the position of “S” on the left side. In this case, the horizontal position of “S” in the software keyboard SKB is located on the left side of the leftmost character “A” in the standard state of the vowel group Gv. That is, “S” does not face any character in the vowel group Gv. In this state, when the cursor is moved from “T” to “S” in the first consonant subgroup Gc1, the entire vowel group Gv follows the movement of the cursor as shown in FIG. Moves to the left. As a result, the leftmost character “A” of the vowel group Gv is located immediately below “S” where the cursor of the first consonant subgroup Gc1 is located. When the cursor is moved from “Z” of the second consonant subgroup Gc2 to the position of “G” next to the left, the vowel group Gv moves following the movement of the cursor in the same manner as described above. To do.
[0082]
Furthermore, when an instruction is given to move the cursor to the left, the cursor is positioned at the leftmost character “K” of the first consonant subgroup Gc1, as shown in FIG. The vowel group Gv also follows the leftmost end of the software keyboard SKB following the movement of the cursor. In this state, when the cursor is instructed to move beyond the left end of the software keyboard SKB to the left, as shown in FIG. 15, the cursor is directed to the rightmost “W” of the first consonant subgroup Gc1. Move to. Then, following the movement of the cursor, the entire vowel group Gv moves so as to touch the right end of the software keyboard SKB.
[0083]
Further, when an instruction is given to move the cursor to the left, as shown in FIG. 16, the cursor moves upward “R” on the left side of “W”. Such left and right positions of the cursor do not protrude beyond the left and right ends of the vowel group Gv at that time. Therefore, the vowel group Gv stops without touching the movement of the cursor and in contact with the right end of the software keyboard SKB. In such a state, when the cursor is in “L” of the third consonant subgroup Gc3, if the cursor is further moved to the left, the cursor moves to the position “P”. The group Gv does not follow the movement of the cursor.
[0084]
Also, in this operation mode, when the cursor is positioned on “X” of the third consonant subgroup Gc3 as shown in FIG. 17, the cursor is further instructed to move to the left. think of. In this case, the cursor tries to move to the left side beyond the current left end position of the vowel group Gv. As a result, as shown in FIG. 18, the cursor moves upward in “Q” of the third consonant subgroup Gc3, and the entire vowel group Gv moves to the left side following the movement of the cursor.
[0085]
Further, consider a case where the input device 19 is operated so as to move the cursor from the position “Q” to the left side. In this case, since the left side of “Q”, which is the leftmost character of the third consonant subgroup Gc3, is a blank position, the cursor moves from the position of “Q” to the rightmost character of the third consonant subgroup Gc3. It moves to the position of “V”. The position of “V” is a position inside the left and right ends of the vowel group Gv. Therefore, as shown in FIG. 19, the cursor moves from “Q” to “V”, and the vowel group Gv does not follow the movement of the cursor. Contrary to the above-described series of leftward cursor movements, the operation according to the above operation principle is also performed when moving the cursor in the rightward direction.
[0086]
<Following mode 1: Move between character groups with different cursors>
Next, with reference to FIGS. 20 and 21, the operation of the software keyboard SKB when the cursor moves to a different character group in the follow mode 1 will be described. First, in the state of the software keyboard SKB shown in FIG. 20, the cursor is continuously instructed to move downward. In this case, the cursor moves in the order of “K” → “A” → “J” → “Q” → “N” → “E” → “D” → “Q”. On the other hand, when the cursor is continuously instructed to move upward, the cursor moves in the order of “Q” → “D” → “E” → “N” → “Q” → “D”.
[0087]
That is, in the follow mode 1, the leftmost character “A” of the vowel group Gv follows the character “K” at the left end of the first consonant subgroup Gc1 where the cursor is located. Therefore, in this state, the characters “K”, “A”, and “J”, which are arranged at consecutively opposed positions in the vertical direction, continuously move, and in the third consonant subgroup Gc3, It moves to “Q” located closest to “J”.
[0088]
If the cursor is continuously instructed to move downward in the state of the software keyboard SKB shown in FIG. 21, “W” → “O” → “L” → “V” → “M” → “I” The cursor moves in the order of “→ C” → “V”. On the other hand, if the cursor is continuously instructed to move upward, the cursor moves in the order of “V” → “C” → “I” → “M” → “V” → “C”.
[0089]
<Still mode: Movement within the same character group and movement between different character groups>
Next, the relationship between the movement of the cursor and the vowel group Gv when the operation mode of the software keyboard SKB is the still mode will be described with reference to FIG. When the software keyboard SKB is in the stationary mode, the cursor can move freely only where the alphabet is, but the vowel group Gv remains fixed in the initial state, and the cursor follows the movement. Absent. When the cursor moves between different character groups, the character at the position where the movement distance is minimized is selected.
[0090]
As illustrated in FIG. 22, consider a case in which the cursor at the position “K” at the left end of the first consonant subgroup Gc1 is further instructed to move to the left. In this case, the cursor moves to the position “W” at the right end of the first consonant subgroup Gc1. Thus, when the cursor is moved further outward from one end of the character group, moving the cursor to the other end of the character group is referred to as “circular movement”. The process of “circularly moving” the cursor is referred to as “circular process”. Similarly, when the cursor is at the position of the left end “A” of the vowel group Gv, if the cursor is further moved to the left, the cursor is cyclically moved to the position of “O” at the right end of the vowel group Gv. To do.
[0091]
Then, when the cursor is at the position “J” at the left end of the second consonant subgroup Gc2, if the cursor is further moved to the left, the cursor is “L” at the right end of the second consonant subgroup Gc2. Cycle to the position of. Similarly, when the cursor is at the position “Q” at the left end of the third consonant subgroup Gc3, if the cursor is further moved to the left, the cursor is moved to “V” at the right end of the third consonant subgroup Gc3. ”And move to the position“ ”. However, in the stationary mode, the following movement of the vowel alphabet group accompanying the cursor movement is not performed. Contrary to the above-described series of leftward cursor movements, the cursor and vowel group Gv operate in accordance with the aforementioned operation principle when moving the cursor in the rightward direction.
[0092]
With reference to FIG. 22, a case where the cursor is moved between different character groups in the still mode will be described. Consider a case in which the cursor is continuously instructed to move downward on the illustrated software keyboard SKB. In this case, the cursor moves from “K” → “A” → “Z” → “Q” → “N” → “I” → “D” so that the movement distance between character groups is minimized as described above. → Move in order of “Q” position.
[0093]
Conversely, consider the case where the cursor is continuously instructed to move upward. In this case, the cursor moves in the order of “Q” → “D” → “I” → “N” → “Q” → “D”. Also, consider a case where the cursor is continuously instructed to move downward when the cursor is at the position “W” at the right end of the first consonant subgroup Gc1. In this case, the cursor moves in the order of “W” → “O” → “B” → “V” → “M” → “E” → “C” → “V”.
[0094]
On the contrary, when the cursor is continuously instructed to move upward when the cursor is at the position of “W”, the cursor is changed from “V” → “C” → “E” → “M” → It moves in the order of “V” → “C”. In the still mode, the vowel group Gv is not moved at all following the movement of the cursor.
[0095]
<Following mode 2: the cursor moves in the consonant group Gc>
Next, with reference to FIGS. 23 and 24, the operation of the software keyboard SKB when the cursor moves in the consonant group Gc in the follow mode 2 will be specifically described. The operation of the software keyboard SKB in the follow mode 2 is the same as the operation in the follow mode 1 when the cursor moves in the consonant group Gc.
Therefore, as shown in FIGS. 23 and 24, when the cursor moves to the left of “T” of the first consonant subgroup Gc1, the vowel group Gv moves following the cursor.
[0096]
<Following mode 2: Move between character groups with different cursors>
With reference to FIGS. 25 and 26, the operation of the software keyboard SKB when the cursor moves between different character groups in the follow mode 2 will be described. First, in the initial state, the vowel group Gv is locked (fixed) in a state of being center-aligned at the second level of the software keyboard SKB. Therefore, the cursor cannot move beyond both ends of the vowel group Gv. That is, when the cursor moves in the vowel group Gv, the vowel group Gv does not move following the cursor.
[0097]
On the other hand, when the cursor moves within the consonant group Gc, the vowel group Gv is unlocked as in the follow mode 1 as described above. As a result, the vowel group Gv moves following the movement of the cursor. Thus, when the cursor moves from the consonant group Gc to the vowel group Gv with the vowel group Gv following, the vowel group Gv is fixed at the position where the vowel group Gv has moved.
[0098]
That is, as shown in FIG. 24, consider a case in which the cursor is instructed to move downward while the cursor is at the position “S” of the first consonant subgroup Gc1. In this case, the cursor moves in order of “A” → “G” → “Q” → “N” → “I” → “D” → “Q”.
[0099]
Also, as shown in FIG. 25, when the cursor moves from the position “S” of the first consonant subgroup Gc1 to the position “A” of the vowel group Gv, the vowel group Gv is locked at that position. The If the cursor is further moved to the left of “A” in a state where the vowel group Gv is locked, as shown in FIG. 26, the vowel group Gv does not follow and moves to the locked vowel group. The cursor circulates to the position of “O” on the right end of Gv.
[0100]
The effect of reducing the number of input steps by the software keyboard SKB according to the present invention will be described below with reference to FIG. In the present invention, each of the three types of operation modes, “Still mode”, “Follow mode 1”, and “Follow mode 2”, when inputting Japanese characters with Roman character kana conversion using a selectable software keyboard SKB. Let's study some specific words about the difference in physical stroke amount. Thereby, the effect of “movement” of the vowel alphabet group can be confirmed.
[0101]
In order to grasp the stroke amount, it is necessary to regulate the movement of the cursor in response to the user input to the input device 19. For this purpose, as shown in FIG. 27, the software keyboard SKB is set with four coordinates a, b, c, and d in the vertical direction, and 1, 2, 3, 4, 5, Set the coordinates of 6, 7, 8, and 9 and 9. Thereby, the current position of the cursor can be defined according to the movement of the cursor. The number of strokes can be clearly recognized based on the change in the current position of the cursor.
[0102]
That is, as described with reference to FIG. 5, in the initial state, the cursor is at the position of “U” of the vowel group Gv arranged in the center at the second level of the software keyboard SKB. When this cursor position is expressed using the above-mentioned coordinates, 5bU is obtained. Thus, the cursor position is uniquely defined by the combination of the abscissa (number), the ordinate (lowercase alphabet), and the three characters displayed in the order of the characters displayed at the coordinates. In the following mode 1 and the following mode 2, it goes without saying that the input is performed in consideration of the movement method of the vowel group Gv in each operation mode.
[0103]
<When entering “KAKASI” (scarecrow)>
First, consider the case where “KAKASI” is input in the still mode. As described above, in the stationary mode, the cursor can move only on the position where the alphabet is displayed on the software keyboard SKB along the path that minimizes the movement distance. Further, the vowel group Gv is not moved following the movement of the cursor.
[0104]
When the cursor is not circularly moved in the still mode, the cursor moves in the following positions in order. In other words, the cursor at the position of 5bU is designated as “KAKASI” by specifying 5bU → 5aH → 4aN → 3aT → 2aS → 1aK → 2aS → 3aT → 3bA → 3aT → 2aS → 1aK → 2aS → 3aT → 3bA → 3aT → Move as shown by the coordinates of 2aS → 3aT → 4aN → 4bI. As a result, 19 strokes are required for the cursor operation.
[0105]
When performing a circular movement of the cursor in the still mode, the cursor moves to 5KU → 5aH → 4aN → 3aT → 2aS → 1aK → 3bA → 3aT → 2aS → 1aK → 3bA → 3aT → 14 strokes of 2aS → 3bA → 4bI are required.
[0106]
Next, consider the case where “KAKASI” is input in the follow mode 1. As described above, in the follow mode 1, when the cursor moves within the consonant group Gc and the vowel group Gv, the vowel group Gv moves following.
[0107]
In the follow mode 1, when the cursor is not circularly moved, in order to designate “KAKASI”, the cursor 5bU → 5aH → 4aN → 3aT → 2aS → 1aK → 1bA → 1aK → 1bA → 1aK → 2aS → As indicated by the coordinates of 2bI, 11 strokes are required.
[0108]
In the follow mode 1, when the cursor is circularly moved, in order to designate “KAKASI”, the cursor moves to 5bU → 5aH → 4aN → 3aT → 2aS → 1aK → 1bA → 1aK → 1bA → 2bI → 2aS → 2bI 11 strokes are required.
[0109]
Further, consider the case where “KAKASI” is input in the follow mode 2. As described above, in the follow mode 2, when the cursor moves from the consonant group Gc to the vowel group Gv, the vowel group Gv is locked. That is, when the cursor is in the vowel group Gv, the vowel group Gv is locked and does not follow the cursor.
[0110]
In such a follow-up mode 2, when the cursor is circularly moved, in order to designate “KAKASI”, the cursor is 5bU → 5aH → 4aN → 3aT → 2aS → 1aK → 1bA → 1aK → 1bA → 2bI → 11 strokes of 2aS → 2bI.
[0111]
Similarly, when inputting “YAKYUU”, “DENKIKAIRO”, “KIKANSYA”, and “KAGAKUUSA”, the number of strokes required for each operation mode is as follows. It is as follows.
[0112]
<When entering YAKYYUU>
If the cursor is not circularly moved in the still mode, 20 strokes are required. When the cursor is circularly moved in the still mode, 16 strokes are required.
If the cursor is not circularly moved in the follow mode 1, 20 strokes are required. When the cursor is circularly moved in the follow mode 1, 12 strokes are required.
When the cursor is circularly moved in the follow mode 2, 12 strokes are required.
[0113]
<When entering “DENKI KAIRO”>
If the cursor is not circularly moved in the still mode, 30 strokes are required. When the cursor is circularly moved in the still mode, 24 strokes are required.
When the cursor is not circularly moved in the follow mode 1, 25 strokes are required. If the cursor is circularly moved in the follow mode 1, 23 strokes are required.
When the cursor is circularly moved in the follow mode 2, 23 strokes are required.
[0114]
<When entering “KIKANSYA”>
When the cursor is not circularly moved in the still mode, 22 strokes are required. When the cursor is circularly moved in the still mode, 23 strokes are required.
If the cursor is not circularly moved in the following mode 1, 26 strokes are required. If the cursor is circularly moved in the follow mode 1, 23 strokes are required.
When the cursor is circularly moved in the follow mode 2, 22 strokes are required.
[0115]
<When entering “KAGAKUSYA”>
If the cursor is not circularly moved in the still mode, 34 strokes are required. When the cursor is circularly moved in the still mode, 25 strokes are required.
If the cursor is not circularly moved in the following mode 1, 26 strokes are required. If the cursor is circularly moved in the follow mode 1, 23 strokes are required.
When the cursor is circularly moved in the follow mode 2, 23 strokes are required.
[0116]
As is clear from the above, although there are some exceptions, the effect that the number of strokes required for inputting the kana characters can be reduced in the following mode 1 and the following mode 2 in the present invention compared to the case of the stationary mode. . It can be confirmed that the number of strokes, that is, the number of input steps can be reduced by the software keyboard SKB according to the present invention.
[0117]
On the other hand, Japanese is mainly composed of vowels and consonants. Based on this fact, the software keyboard SKB according to the present invention also divides the 26-character alphabet into the vowel group Gv and the consonant group Gc so that the characters corresponding to the vowels and the consonants can be easily distinguished. From this point of view, as shown in FIG. 28, the software keyboard SKB is arranged more effectively with the software keyboard in which the vowel group Gv is surrounded by the characters of the consonant group Gc. It seems that it can be reduced.
[0118]
However, in the illustrated software keyboard shown in the figure, SA (SA), RO (RO), GA (GA), and PO (PO) require at least two strokes. On the other hand, the software keyboard SKB according to the present invention moves in the follow mode 2 so that the vowel group Gv follows at least the cursor of the consonant line, so that the above-mentioned SA (SA), RO (RO), (GA ), Po (PO), the minimum stroke is 1.
[0119]
In addition, in the case of the software keyboard illustrated in FIG. 28, the distinction between the character group corresponding to the vowel and the character group corresponding to the consonant is not clarified. Therefore, it is difficult to find a character to select. In order to avoid such difficulty, in the present invention, as described above, the arrangement of the vowel group Gv of the software keyboard SKB is devised. In addition to this, the cycle of cursor movement also contributes to a reduction in stroke amount.
[0120]
The following movement with respect to the cursor of the vowel group Gv, which is one of the features of the software keyboard SKB according to the present invention, reduces the mood burden on the user in light of human behavioral psychology or encourages the user to move the cursor. The effect to do is recognized. That is, when the cursor is moved within the consonant group Gc, the vowel group Gv follows the cursor, so that after selecting a consonant, the vowel group Gv that is inevitably selected is always the current cursor. Waiting in the immediate vicinity is a state of receiving a psychological backup from the viewpoint of the user.
[0121]
In addition, when a consonant is input, the cursor is automatically moved to a specific character of the vowel, which seems to be effective for reducing the stroke amount. However, this method is effective in reducing the number of steps required to input a specific character for which the cursor automatically moves, but it can reduce the stroke required for the entire character input including other characters. Is useless.
[0122]
In the present invention, in order for the user to move the cursor more effectively based on the state of the software keyboard SKB displayed on the screen, three types of operation modes of follow mode 1, follow mode 2 and still mode are realized. is doing. By operating the software keyboard SKB in these three types of operation modes, there is no guarantee that any Japanese can be input efficiently. However, following the cursor of the vowel group Gv has a positive effect on the user's behavioral psychology and can provide a more user-friendly character input interface.
[0123]
Also, if you are not a long sentence, the number of input devices, functions, and display area will be limited for those who are familiar with Roman alphabet input, rather than moving the cursor vertically and horizontally on a 50-sound table to input Japanese. The software keyboard device according to the present invention is easier to input.
[0124]
(First embodiment)
A first example of the software keyboard device SKA according to the embodiment of the present invention will be described below with reference to FIGS. 29 to 49.
FIG. 29 shows the structure of the software keyboard device SKAe according to the present embodiment incorporated in the game machine. The software keyboard device SKAe according to the present embodiment has a configuration very similar to the software keyboard device SKA shown in FIG. That is, the software keyboard device SKAe includes a ROM 1e, a CPU 5e, a RAM 13e, an operating device 19e, a monitor 21e, and a game machine 100e. The ROM 1e, the CPU 5e, the RAM 13e, the operation device 19e, the monitor 21e, and the game machine 100e are the program source 1, the CPU 5, the RAM 13, the input device 19, the display device 21, and the character input device main body 100 shown in FIG. It corresponds to.
[0125]
That is, the ROM 1e stores various computer programs for executing the operation of the software keyboard device SKAe. The computer program stored in the ROM 1e will be described in detail later with reference to FIG.
[0126]
The operation device 19e is a means that is operated by a user to transmit its own instruction to the software keyboard device SKA, and preferably includes a pointing device such as a keyboard and a selection determination input device. An example of the operation device 19e in the game machine will be described in detail later with reference to FIG.
[0127]
The game machine 100e includes a CPU 5e and a RAM 13e corresponding to the CPU 5 and the RAM 13 of the character input device main body 100, respectively. The game machine 100e further includes a first connector 3, a reality coprocessor (hereinafter abbreviated as “RCP”) 7, a video digital-analog converter (hereinafter abbreviated as “VDAC”) 9, a video encoder ( Hereinafter, abbreviated as “VENC”) 11, a peripheral interface (hereinafter abbreviated as “PIf”) 15, a second connector 17, an audio digital-analog converter (hereinafter abbreviated as “ADAC”) 20, and An amplifier (hereinafter abbreviated as “AMP”) 21 is included.
[0128]
The ROM 1e is detachably connected to the game machine 100e via the first connector 3. However, it goes without saying that the ROM 1e may be built in the game machine 100e in advance, like the CPU 5e and the RAM 13e. The RCP 7 is connected to the CPU 5e, the first connector 3, and the RAM 13e. As a result, the program stored in the ROM 1e is loaded into the CPU 5e via the first connector 3 and the RCP 7.
[0129]
The CPU 5e first executes some of the loaded various programs. Thereafter, the CPU 5e executes some of the loaded programs on the basis of a user instruction input from the operation device 19e. When executing the program, the CPU 5e distributes and processes some of the jobs to be executed with the RCP7. The CPU 5e and the RCP 7 execute distributed jobs by using a working area constructed in the RAM 13e. The CPU 5e is also a control device that controls the operation of the entire software keyboard device SKA.
[0130]
The VDAC 9 performs D-A conversion on the digital image signal input from the RCP 7 to generate an analog image signal. The VENC 11 encodes the analog image signal input from the VDAC 9 and generates a video signal in a format that can be displayed on the monitor 21e.
That is, the monitor 21e displays the execution results of the CPU 5e and the RCP 7 with video and audio, displays the result of the user's instruction, and prompts the user to input a new instruction. For this purpose, in the present invention, the state of the software keyboard SKB is appropriately changed and displayed on the monitor 21e in accordance with the execution result of the program and the user's instruction.
[0131]
The monitor 21e displays the software keyboard SKB and related images illustrated in FIGS. 3 to 26 based on the video signal input from the VENC 11. In this embodiment, the monitor 21e is usually a television, but any one of analog or digital display devices represented by CRT (Cathode Ray Tube), LCD (Liquid Crystal Display) and PD (Plasma Display) is used. May be.
[0132]
The PIf 15 connects the second connector 17 to the RCP 7. Then, various peripheral devices connected to the second connector 17 are connected to the RCP 7 and the CPU 5e. The operation device 19e is connected to the second connector 17 and transmits a user instruction to the CPU 5e.
[0133]
The ADAC 20 performs DA conversion on the digital audio signal input from the RCP 7 to generate an analog audio signal. The AMP 21 amplifies the analog audio signal input from the ADAC 20 and outputs it to an acoustic device such as a speaker (not shown).
[0134]
FIG. 30 shows an example of the operation device 19e in the game machine in this embodiment. The operation device 19e has a cross cursor key, a SELECT button, a START button, an A button, and a B button. The cross cursor key is a pointing device that moves the cursor vertically and horizontally on the software keyboard SKB. The A button is an input device for determining the alphabet and registering it in the Romaji input conversion line. These buttons and keys are examples of commonly used input devices in the software keyboard device SKA, and other appropriate devices may be used as long as they can provide similar functions.
[0135]
The B button is an input device that instructs the Roman input conversion line to cancel the alphabet once input. The START button is an input device that performs kana-kanji conversion, selects the converted kanji with the cross cursor, and determines with the A button. The SELECT button is an input device for selecting an operation mode of the software keyboard SKB.
[0136]
Below, the operation of each input device provided in the operation device 19e and the relationship between the software keyboard SKB, the Japanese input line editor, and the Romaji input conversion line shown in FIGS. 3 and 4 will be briefly described. To do.
[0137]
Consider the case where the Kanji conversion mode for converting hiragana characters displayed on the Roman character input conversion line into Kanji is selected as the input mode of the software keyboard SKB. The kanji conversion mode is simply displayed as “kanji” on the monitor 21e by the input mode icon. In this case, as the alphabet is determined by operating the A button, it is automatically converted into a hiragana equivalent to a Roman character. When the target Japanese (Hiragana) appears, the START button is operated to convert it into Kanji. Use the crosshair cursor key to select from the candidates, and operate the A button to determine the kanji. The determined kanji is displayed on the Japanese input line editor.
[0138]
Consider a case where a hiragana conversion mode for converting input Roman letters into hiragana is selected as the input mode of the software keyboard SKB. The hiragana conversion mode is simply displayed as “A” by the input mode icon on the monitor 21e. In this case, as the alphabet is determined by operating the A button, it is automatically converted into a hiragana equivalent to a Roman character. When the target hiragana appears, the START button is operated to determine the hiragana. The determined hiragana is displayed on the Japanese input line.
[0139]
Consider the case where the katakana conversion mode for converting the input Roman characters into katakana is selected as the input mode of the software keyboard SKB. The katakana conversion mode is simply displayed as “A” on the monitor 21e. In this case, as the alphabet is determined by operating the A button, it is automatically converted into katakana corresponding to the Roman alphabet. When the target katakana appears, the START button is operated to determine the katakana.
[0140]
Similarly, a Roman character mode, a symbol mode, a numeric mode, a Greek character mode, and the like that are simply displayed as “A”, “notation”, “number”, and “gi” by the input mode icons on the monitor 21e, respectively. Can be set. In these input modes, each of the START buttons is operated to display a character display of selection candidates. Then, the crosshair cursor is operated to select a target character from the displayed candidate characters, and the A button is operated to determine.
[0141]
On the monitor 21e, the input mode icon is used to easily change the SJIS or JIS code by operating the cross cursor in the code input mode displayed as "K", and select it with the A button. Determine the character corresponding to the code.
[0142]
FIG. 31 shows an example of a game machine in which the software keyboard device SKAe according to the present embodiment is incorporated.
[0143]
Next, the operation of the software keyboard device SKAe will be described with reference to the flowchart shown in FIG. The software keyboard device SKA is powered on and its operation is started.
[0144]
First, in step # 1000, various programs are loaded from the ROM 1e into the game machine 100e. Then, the process proceeds to the next step # 2000.
[0145]
In step # 2000, various elements and parameters of the software keyboard device SKAe are initialized according to the program loaded from the ROM 1e. Then, the process proceeds to the next step # 3000.
[0146]
In step # 3000, the state initialized in step # 2000 is displayed on the monitor 21e. That is, the software keyboard SKB in a state before the user's instruction is input is displayed on the monitor 21e. Then, the process proceeds to the next step # 4000.
[0147]
In step # 4000, the state of the input device 19e by the user is acquired. That is, the presence / absence of input and the content of the input are detected. Specifically, as shown in the figure, it is composed of step # 4010 and step # 4020.
In step # 4010, it is determined whether or not there is an input from the user to the monitor 21e. Then, the process proceeds to step # 4020 only when the input by the user, that is, when the user operates any of the input devices of the monitor 21e.
[0148]
In step # 4020, any of the subsequent steps # 5000, # 6000, # 7000, # 8000, and # 9000 is selected based on the type of input device operated by the user and the content of the operation, and the process is executed. Is done.
[0149]
<# 5000>
If the user operates the cross key based on the display on the monitor 21e, it is determined that the user desires to move the cursor, and the process proceeds to step # 5000. In step # 5000, the software keyboard SKB displayed on the monitor 21e is changed according to the value of the pointer parameter indicating the operating state of the pointing device included in the operation device 19e. Then, the process returns to step # 4000.
Note that Step # 5000 includes Steps # 101, # 102, # 103, and # 104 that are executed in parallel exclusively with each other in accordance with the value of the pointer parameter.
[0150]
Step # 101 obtains the state of the software keyboard SKB after the cursor is moved upward on the software keyboard SKB when the cross key as the pointing device of the operation device 19e is operated upward, and displays it on the display 21e. Is a subroutine. Details of the processing in this step will be described later with reference to FIG.
[0151]
Step # 102 obtains the state of the software keyboard SKB after the cursor is moved downward on the software keyboard SKB when the cross key as the pointing device of the operation device 19e is operated downward, and displays it on the display 21e. Is a subroutine. Details of the processing in this step will be described later with reference to FIG.
[0152]
Step # 103 obtains the state of the software keyboard SKB after moving the cursor to the left on the software keyboard SKB and displays it on the display 21e when the cross key as the pointing device of the operation device 19e is operated to the left. Is a subroutine. Details of the processing in this step will be described later with reference to FIG.
[0153]
Step # 104 obtains the state of the software keyboard SKB after moving the cursor to the right on the software keyboard SKB and displays it on the display 21e when the cross key as a pointing device of the operation device 19e is operated to the right. Is a subroutine. Details of the processing in this step will be described later with reference to FIG.
[0154]
<# 6000>
On the other hand, when the user operates the START button of the operation device 19e based on the display on the monitor 21e, it is determined in step # 4000 that the user desires character conversion, and the process proceeds to step # 6000. move on. In step # 6000, after the character conversion process is performed, the process returns to step # 4000. Step # 6000 includes steps # 6010, # 6020, and # 6030.
[0155]
In step # 6010, in each input mode of the software keyboard SKB, the character input when the START button operation is detected in step # 4000 is determined. Then, the process proceeds to the next step # 6020.
[0156]
In step # 6020, it is determined whether the hiragana determined in # 6020 can be converted into kanji. If it is determined that conversion is impossible, the process returns to step # 4000. On the other hand, if it is determined that conversion is possible, the process proceeds to the next step # 6030.
[0157]
In step S6030, the user performs hiragana kanji conversion until the desired kanji is converted, and finally selects the desired kanji converted. Then, the process in step # 6000 ends.
[0158]
<# 7000>
  On the other hand, based on the display on the monitor 21e, the user operates the operation device 19e.AIf the button is operated, it is determined in step # 4000 that the user has selected the input character, and the process proceeds to step # 7000. In step # 7000, after the input character selection process is performed, the process returns to step # 4000. Step # 7000 includes step # 105, steps # 7010, # 7020, # 7030, # 7040, and # 7050.
[0159]
In step # 7005, the character when the operation of the A button is detected in step # 4000 is selected. Then, the process proceeds to the next step # 7010.
[0160]
In step # 7010, the previously input character and the currently input character are concatenated and displayed on the Roman input conversion line. Then, the process proceeds to the next step # 7020.
[0161]
In step # 7020, it is determined whether or not the combination of alphabets connected in step # 7010 can be converted into a roman character. If it is determined that Romaji conversion is possible, the process proceeds to step # 7030.
[0162]
In step # 7030, the alphabet combination concatenated in step # 7010 is converted into hiragana, and the process in step # 7000 is terminated. Note that it may be converted into katakana instead of hiragana.
[0163]
On the other hand, if it is determined in step # 7020 that Romaji conversion is impossible, the process proceeds to step # 7040.
[0164]
In step # 7040, it is determined whether or not the alphabet connected in step # 7010 is three or more characters. If it is determined that there are fewer than three characters, the process returns to step # 4000 and waits for further alphabets to be selected. This is because in Roman character conversion, there is Hiragana expression in which the alphabet is expressed by three characters, and therefore it is not an error if a two-character alphabet cannot be converted into Hiragana.
[0165]
On the other hand, if it is determined in step # 7040 that there are three or more characters, the process proceeds to the next step # 7060.
[0166]
In step # 7060, the alphabet connected in step # 7010 is erased from the Roman input conversion line, and the process in step # 7000 ends. In the present embodiment, when the combination of three alphabetic characters cannot be converted to Roman kana, it is determined that the combination of all three characters is inappropriate and all three characters are deleted. However, considering the case where the first or second character of the three characters is incorrect, only that character may be deleted.
[0167]
<# 8000>
On the other hand, if the user operates the B button of the operation device 19e based on the display on the monitor 21e, it is determined in step # 4000 that the user desires to erase the input character, and the process is step ##. Proceed to 8000. In step # 8000, after the preceding character erasing process is performed, the process returns to step # 4000. Step # 8000 is composed of Step # 8010, Step and # 8020.
[0168]
In step # 8010, the character selected when the operation of the B button is detected in step # 4000 is set as an erasure target. Then, the process proceeds to the next step # 8020.
[0169]
In step # 8020, the latter of the alphabets connected in # 7010, that is, one character input before entering this step is deleted from the Roman input conversion line. And the process of step # 8000 is complete | finished.
[0170]
<# 9000>
On the other hand, when the user operates the SELECT button of the operation device 19e based on the display on the monitor 21e, it is determined in step # 4000 that the user desires to change the operation mode, and the process proceeds to step # 9000. . In step # 9000, after the operation mode change process is performed, the process returns to step # 4000. Step # 9000 includes step # 9010, step, # 9020, and # 3000.
[0171]
In step # 9010, selectable operation modes of the software keyboard SKB are displayed on the monitor 21e. Then, the process proceeds to the next step # 9020.
[0172]
In step # 9020, the user selects or switches the operation mode of the software keyboard SKB. Then, the process proceeds to the next step # 3000.
[0173]
This step # 3000 is exactly the same as the processing executed between the aforementioned step # 2000 and step # 4000. However, in step # 9000, the software keyboard SKB in the operation mode selected in step # 9020 is displayed on the monitor 21e. Then, the process of step # 9000 ends.
[0174]
Next, a relationship between a program stored in the ROM 1e and a data area constructed in the RAM 13e in the game machine 100e as a result of loading the program into the game machine 100e will be described with reference to FIG. First, program modules classified into 16 types are displayed as program areas in the upper part of FIG.
[0175]
Note that module numbers M1 to M16 are assigned to the left side of each program module for the convenience of identification. Also, in the right column of each program module, L0 (level 0), L1 (level 1), and L2 are set to the degree necessary for the program module to construct the software keyboard device SKAe and the software keyboard SKB. (Level 2) and L3 (Level 3) are assigned for identification.
[0176]
L0 is a program module required to prepare hardware for programs of other levels (L1, L2, and L3) before building the software keyboard device SKAe and the software keyboard SKB. means. The L0 program modules include an OS initialization program M15 and firmware M16. These two program modules are originally provided as standard in the hardware of the software keyboard device SKAe. However, if it is not provided, it may be stored in the ROM 1e and loaded into the game machine 100e in step # 1000.
[0177]
L1 is a program module required to construct the software keyboard SKB when the program module of L0 is loaded into the hardware and the hardware side is ready to construct the software keyboard device SKAe and the software keyboard SKB. It means that. The program modules of L1 include a main program M1, an I / O library M2, a character display program M3, character font data M4, a control pad determination program M5, a software keyboard control program M6, a Roman character input conversion line program M7, and a Roman character determination A table M8 is included.
[0178]
The main program M1 is responsible for the overall operation of the software keyboard device SKAe. The I / O library M2 controls resources related to the operation device 19e and the monitor 21e, which are hardware constituting the software keyboard device SKAe. The I / O library M2 is a program that provides a kind of I / O interface and user interface that are prepared in an optimized manner in response to a request from an application represented by a language system processed by the software keyboard SKB. .
[0179]
The I / O library M2 described above assigns an input function to each device in accordance with restrictions on hardware input devices, and also determines the software keyboard SKB according to the type of character determined according to the language system of the input character. It is a program that sets the pattern. That is, the I / O library M2 absorbs a variety of control methods due to differences in low-level hardware specifications.
[0180]
The character font data M4 is a character font displayed on the software keyboard SKB. The character display program M3 is a program for displaying characters realized by the character font data M4 on the monitor 21e (21). The control pad determination program M5 is a program for acquiring the operation state of the operation device 19e (19) by the user. The software keyboard control program M6 is a program that controls the operation of the software keyboard SKB built in the software keyboard device SKAe (SKA). The Romaji input conversion line program M7 is a program that displays the alphabet selected and input by the user on the Romaji input conversion line and converts the displayed alphabet into a kana and displays it.
[0181]
These program modules of L1 are indispensable program modules for constructing the software keyboard SKB according to the present invention in the hardware prepared with the necessary resources as infrastructure for the software keyboard device SKAe (Ska). . In this sense, it can be said to be the basic software of the software keyboard SKB. These program modules may also be stored in the ROM 1e in the same manner as the above-described L0 program module, and loaded into the software keyboard device SKAe in step # 1000. It may be built in the input device main body 100.
[0182]
L2 means a program module that is constructed in the software keyboard device SKAe (SKA) and performs some processing on the alphabet that is selected and inputted to the software keyboard SKB. The L2 program module is a line editor program M9.
[0183]
L3 is a program module that is constructed in the software keyboard device SKAe (SKA) and is used to convert the software keyboard SKB into a desired kanji based on the selected alphabet, and to create and edit sentences as necessary. It is shown that. The L3 program modules include an FEP main program M10, a kanji conversion program M11, a kanji candidate selection program M12, a kanji code input program M13, and an FEP dictionary M14. These program modules are basically the same as the program modules included in a normal kana-kanji conversion program.
[0184]
As described above, in this embodiment, kana characters are displayed together with the alphabet on the Roman character input conversion line, and further converted into Chinese characters by the Chinese character conversion program M11. Therefore, the above-described character font data M4 includes commonly used Japanese fonts such as hiragana, katakana, and alphabet.
[0185]
Note that the data area constructed in the RAM 13e (13), which is shown as the data area in the lower part of FIG. First, in the figure, the frame buffer area, the character font data area, the Roman character determination table area, and the working area whose essentiality is L1 are the RAM 13 (the working area when the above-described program modules M1 to M16 are executed). 13e) is an area constructed.
[0186]
The frame buffer area is used for storing image data for displaying the software keyboard SKB on the monitor 21e (21). The character font data is used for loading the character font data M4 described above from the ROM 1e (1) and accessing it instantaneously. The Roman character determination table is used for accessing the Roman character determination by loading the Roman character determination table M8 from the ROM 1e (1).
[0187]
The working area is used as a working area for calculations in the CPU 5e (5) and RCP7. However, the character font data and the Roman character determination table may directly access the character font data M4 and the Roman character determination table M8 stored in the ROM 1e (1) as described above without providing a data area. . These data areas L1 are indispensable areas for constructing and functioning the software keyboard SKB according to the present invention.
[0188]
Further, the LEP FEP dictionary area is an area that is used for kana-kanji conversion by loading the main program M14 from the ROM 1e (1). This area can also be omitted by directly accessing the main program M14 in the ROM 1e (1).
[0189]
Next, basic items constituting the software keyboard SKB will be described with reference to FIG. 34, FIG. 35, and FIG.
First, FIG. 34 shows the structure of the software keyboard SKB constructed in the frame buffer area shown in FIG. The software keyboard SKB is defined by, for example, seven rows from 0 to 6 in the Y-axis (vertical) direction and 10 columns from 0 to 9 in the X-axis (horizontal) direction, as shown in part in the figure. A matrix having 70 cells is constructed. Each cell is uniquely defined by X-axis coordinates and Y-axis coordinates. Note that the size of this matrix is determined by the capacity of the frame buffer used in the hardware to which the software keyboard SKB of the present invention is applied. In the case of a general game machine, the size of the matrix is around 884 cells of 0 to 25 in the Y-axis direction and 0 to 33 in the X-axis direction (when one cell is 8 × 8 dots). .
[0190]
FIG. 35 will be described in relation to the characters constituting the software keyboard SKB according to the present invention and the frame buffer area shown in FIG. In the present invention, a software keyboard SKB is displayed by arranging a 26-character alphabet into one vowel group Gv and three consonant groups Gc1, Gc2, and Gc3. For this purpose, a matrix having 36 cells defined by 4 rows from 0 to 3 in the Y-axis direction and 9 columns from 0 to 8 in the X-axis direction is used.
In the figure, the first consonant subgroup Gc1 is arranged in the consonant row 1, the vowel group Gv is arranged in the vowel row, the second consonant subgroup Gc2 is arranged in the consonant row 2, and the consonant In row 3, the third consonant subgroup Gc3 is arranged.
[0191]
And each character which comprises software keyboard SKB is registered into the cell position shown in FIG. 35 as mentioned above. The registered character is managed in the form of an array variable Keyboard [y] [x] based on the relationship with the cell position. For example, Keyboard [1] [4] indicates “U”, and Keyboard [1] [0] indicates “blank”. The characters on the software keyboard SKB are defined by Keyboard [CY] [CX].
[0192]
FIG. 36 describes variables that are initialized in initialization step # 2000 of the flowcharts shown in FIGS.
First, the cursor coordinates Keyboard [CY] [CX] for managing the movement of the cursor on the software keyboard SKB are set to Keyboard [1] [4] representing “U” which is the initial position.
[0193]
Next, the initial position of the vowel group Gv is set to 2 as a vowel left position management variable BOIN_POS_L, which is a variable that defines the position of the leftmost character (A) on the X axis. The initial position of the vowel group Gv is set to 6 as a vowel right position management variable BOIN_POS_R, which is a variable that defines the position of the rightmost character (O) on the X axis. With respect to the X-axis direction of the software keyboard SKB, the left movement limit position KEYB_LIMIT_L, which is a variable for managing the left and right movement limit positions that define the maximum movement range of the cursor, is set to zero. Further, the right movement limit position KEYB_LIMIT_R is set to 8.
[0194]
The operation mode of the software keyboard SKB is defined as variables KeyMode = 0 (following mode 1), 1 (following mode 2), and 2 (static mode), respectively. In initialization, KeyMode = 0, that is, the follow mode 1 is set.
[0195]
With reference to FIG. 37, the subroutine for obtaining the state of the software keyboard SKB after the cursor is moved upward on the software keyboard SKB in step # 101 will be described. In this step, whether or not the operation mode of the software keyboard SKB is the follow mode 1 is determined in step S110. If it is determined that the follow mode 1 is selected, the process proceeds to step # 201. Step # 201 is a subroutine for determining the state of the software keyboard SKB after the cursor has been moved upward in the follow mode 1. Note that the details of step # 201 displayed as “UKeyAscD” in the figure will be described later with reference to FIG. On the other hand, when it is determined that the follow mode 1 is not set, the process proceeds to step S111.
[0196]
In step S111, it is determined whether or not the operation mode of the software keyboard SKB is the follow mode 2. If it is determined that the follow mode 2 is selected, the process proceeds to step # 205. Step # 205 is a subroutine for determining the state of the software keyboard SKB after the cursor has been moved upward in the follow mode 2. Note that the details of step # 205 displayed as “UKeyAscF” in the figure will be described later with reference to FIG. On the other hand, when it is determined that the mode is not the follow mode 2, the process proceeds to step S112.
[0197]
In step S112, it is determined whether or not the operation mode of the software keyboard SKB is the still mode. If it is determined that the mode is the still mode, the process proceeds to step # 209. Step # 209 is a subroutine for obtaining the state of the software keyboard SKB after the cursor is moved upward in the still mode. In addition, in the drawing, the processing in the still mode of # 209 displayed as “UKeyAscS” has already been described in detail with reference to FIG. On the other hand, if it is determined in step S112 that the mode is not the still mode, the process of step # 101 is terminated.
[0198]
With reference to FIG. 38, step # 201, which is a subroutine for determining the state of the software keyboard SKB after the cursor has been moved upward in the follow mode 1, will be described. This subroutine roughly includes steps # 2110, # 2111, # 2112, and # 2113.
Step # 2110 is a subroutine for causing the monitor 21e to normally display the character at the current cursor coordinates. Note that the normal display means that characters are usually displayed in the foreground (foreground) which preferably has a complementary color relationship with the background (background) color of the screen of the monitor 21e. Note that the relationship between the foreground color and the background color may not be a complementary color. In short, any color relationship is possible as long as the foreground characters are clearly visible with respect to the background.
[0199]
When the process of step # 2110 starts,
In step S2100, it is determined whether CY = 1. In the case of Yes, it is determined as Yes when the cursor is currently in the vowel group Gv. Then, the process proceeds to step S2110.
[0200]
In step S2110, Keyboard [CY] [CX-BOIN_POS_L + 2] is displayed at coordinates (CX, CY). As a result, the characters of the vowel group Gv currently reversely displayed are returned to the normal display. As a result, the newly displayed position of the vowel group Gv is updated without changing the keyboard data itself shown in FIG. Then, the process proceeds to step # 2111.
[0201]
On the other hand, if it is determined in step S2100 that No, that is, CY is not 1, it indicates that the cursor is currently in the consonant group Gc. In this case, the process proceeds to step S2101.
[0202]
In step S2101, Keyboard [CY] [CX] is displayed at coordinates (CX, CY). As a result, the character currently reversely displayed among the characters of the consonant group Gc is returned to normal. Then, the process proceeds to step # 2111. As described above, in step # 2110, even if the cursor is on any character of the vowel group Gv and the consonant group Gc, the character is normally displayed.
[0203]
Step # 2111 is a subroutine for obtaining cursor coordinates when the cursor is moved upward. When the process of step # 2111 starts,
In step S2102, CY is decremented by one. As a result, the coordinates when the cursor is moved upward by one step can be obtained. Then, the process proceeds to the next step S2103.
[0204]
In step S2103, it is determined whether CY <0. In the case of Yes, it means that the position of the cursor after the movement exceeds the first level of the software keyboard SKB. In this case, the process proceeds to step S2111.
[0205]
In step S2111, CY is set to 3. This is because, in the previous step S2103, since it was detected that the cursor is going to move upward from the first level of the software keyboard SKB, the cursor is cyclically moved to the third level, which is the lowest level of the software keyboard SKB. Y coordinate is obtained. Then, the process proceeds to step # 2112.
[0206]
On the other hand, in the case of No in step S2103, the position of the cursor after the movement is either the first level or the second level of the software keyboard SKB. Therefore, there is no need to circularly move the cursor in the Y-axis direction, and the process proceeds to step # 2112.
[0207]
Step # 2112 is a subroutine for changing the left and right movement limit positions of the keyboard according to the Y coordinate after the cursor is moved upward. When the process of step # 2112 is started,
In step S2104, it is determined whether or not the value of CY is any one of 0, 1, and 2. If the moved cursor is in any of the first consonant subgroup Gc1, the vowel group Gv, and the second consonant subgroup Gc2, the determination is Yes, and the process proceeds to step S2112.
[0208]
In step S2112, the left movement limit position variable KEYB_LIMIT_L of the cursor is set to 0, and the right movement limit position variable KEYB_LIMIT_R is set to 8. Accordingly, the vowel group Gv can be moved following when the cursor moves in the first consonant subgroup Gc1, the second consonant subgroup Gc2, or the vowel group Gv.
[0209]
This process seems to overlap with that already set during initialization in # 2000, but the values of the left and right movement limit variables KEYB_LIMIT_L and KEYB_LIMIT_R are changed during the operation of the software keyboard SKB. Therefore, the value is reset and the follow-up movement of the vowel group Gv is guaranteed. Then, the process proceeds to step # 2113.
[0210]
On the other hand, if it is determined No in step S2104, the process proceeds to step S2105.
In step S2105, it is determined whether CY = 3. In the case of No, the process proceeds to step # 2113. However, since it is determined No in step S2104 described above, it is also determined as Yes in this step, and the process proceeds to step S2113.
[0211]
In step S2113, the left movement limit position variable KEYB_LIMIT_L of the cursor is set to 3, and the right movement limit position variable KEYB_LIMIT_R is set to 5. This prevents the cursor from moving beyond the left and right ends of the third consonant subgroup Gc3. Then, the process proceeds to step S2106.
[0212]
In step S2106, it is determined whether CX <KEYB_LIMIT_L. If the cursor after movement exceeds the left movement limit position set in step S2113, it is determined as Yes and the process proceeds to step S2114.
[0213]
In step S2114, CX is set to the value of KEYB_LIMIT_L set in step S2113. This prevents the cursor from moving beyond the left end of the third consonant subgroup Gc3. Then, the process proceeds to step S2107.
[0214]
On the other hand, if it is determined No in step S2106, the moved cursor is inside the third consonant subgroup Gc3. Therefore, the process proceeds to step S2107 as it is.
[0215]
In step S2107, it is determined whether CX> KEYB_LIMIT_R. If the moved cursor exceeds the right movement limit position set in step S2113, it is determined as Yes and the process proceeds to step S2115.
[0216]
In step S2115, CX is set to the value of KEYB_LIMIT_R set in step S2113. This prevents the cursor from moving beyond the right end of the third consonant subgroup Gc3. Then, the process proceeds to step # 2113.
[0217]
On the other hand, if it is determined No in step S2107, the moved cursor is inside the third consonant subgroup Gc3. Therefore, the process proceeds to step # 2113 as it is. As described above, in step # 2112, the left and right movement limit positions of the keyboard are appropriately set according to the character group after the cursor is moved upward.
[0218]
Step # 2113 is a subroutine for reverse-displaying the character on which the cursor is positioned after the cursor is moved. Note that the reverse display is a display in which the foreground color and the background color in the normal display are interchanged.
[0219]
When the process of step # 2113 is started,
In step S2108, it is determined whether CY = 1. If the cursor is in the vowel group Gv after moving, it is determined Yes and the process proceeds to S2115.
[0220]
In step S2115, Keyboard [CY] [CX-BOIN_POS_L + 2] is displayed in reverse on the coordinates (CX, CY). This reversely displays the characters in the vowel group Gv that are located after the cursor moves. Then, the process of step # 2113 is terminated.
[0221]
On the other hand, if the position after the movement of the cursor is within the consonant group Gc, No is determined in step S2108. Then, the process proceeds to step S2110.
[0222]
In step S2115, Keyboard [CY] [CX] is displayed in reverse on the coordinates (CX, CY). As a result, the characters in the consonant group Gc that are located after the cursor moves are displayed in reverse. Then, the process of step # 2113 is terminated.
[0223]
Next, with reference to FIG. 39, step # 205 in the subroutine for determining the state of the software keyboard SKB after the cursor has been moved upward in the follow mode 2 will be described. In this step, step # 2112 in step # 201 is replaced with new step # 2513. Therefore, only this new step # 2513 will be described.
[0224]
In step # 2513, if the Y coordinate after the movement of the cursor is the vowel group Gv, the left and right movement limit positions are changed to the position of the current vowel group Gv, and the vowel group Gv is locked so as not to move. On the other hand, if the Y coordinate after the movement of the cursor is the consonant group Gc, the subroutine changes to the left and right movement limit positions defined for each group.
[0225]
When the process of step # 2513 is started,
In step S2504, it is determined whether CY = 1. If the current cursor position is within the vowel group Gv, it is determined Yes and the process proceeds to step S2116.
[0226]
In step S2116, KEYB_LIMIT_L is set to BOIN_POS_L, and KEYB_LIMIT_R is set to BOIN_POS_R. In this way, the left and right movement limit positions of the cursor after movement are changed. Then, the process in this step ends.
[0227]
On the other hand, if the position of the cursor after the movement is within the consonant group Gc, it is determined No, and the process proceeds to step S2505.
[0228]
In step S2505, it is determined whether the value of CY is 0 or 2. If the position of the cursor after the movement is either the first consonant subgroup Gc1 or the second consonant subgroup Gc2, it is determined Yes and the process proceeds to step S2117.
[0229]
In step S2117, KEYB_LIMIT_L is set to 0, and KEYB_LIMIT_R is set to 8. In this way, the left and right movement limit positions of the cursor are changed so that the cursor can freely move within the first consonant subgroup Gc1 and the second consonant subgroup Gc2. Then, the process in this step ends.
[0230]
On the other hand, if the position of the cursor after movement is not any of the vowel group Gv, the first consonant subgroup Gc1, and the second consonant subgroup Gc2, No is determined in step S2505. Then, the process proceeds to step S2506.
[0231]
In step S2506, it is determined whether CY = 3. However, since CY = 3 as a result of the determination in step S2504 and step S2505 described above, it is determined as Yes. Therefore, the process proceeds to step S2113.
[0232]
In step S2507, it is determined whether CX <KEYB_LIMIT_L. When the moved cursor exceeds the left movement limit position set in step S21163, it is determined as Yes and the process proceeds to step S2114.
[0233]
In step S2114, CX is set to 3, which is the value of KEYB_LIMIT_L set in step S2113. This prevents the cursor from moving beyond the left end of the third consonant subgroup Gc3. Then, the process proceeds to step S2108.
[0234]
On the other hand, when it is determined No in step S2507, the moved cursor is inside the third consonant subgroup Gc3. Therefore, processing proceeds to step S2508.
[0235]
In step S2508, it is determined whether CX> KEYB_LIMIT_R. If the moved cursor exceeds the right movement limit position set in step S2113, it is determined as Yes and the process proceeds to step S2115.
[0236]
In step S2115, CX is set to 5, which is the value of KEYB_LIMIT_R set in step S2113. This prevents the cursor from moving beyond the right end of the third consonant subgroup Gc3. Then, the process proceeds to step # 2113.
[0237]
On the other hand, if NO is determined in step S2508, the moved cursor is inside the third consonant subgroup Gc3. Therefore, the process proceeds to step # 2113 as it is. As described above, in step # 2513, the left and right movement limit positions of the keyboard are appropriately set according to the character group after the cursor is moved upward.
[0238]
Next, with reference to FIG. 40, the process of step # 102 which is a subroutine for obtaining the state of the software keyboard SKB after the cursor is moved downward on the software keyboard SKB will be described. This step includes the same steps S110, S111, and S112 as in step # 101 described above. As a result, if it is determined that the follow mode 1 is selected, the process proceeds to step # 202. Step # 202 is a subroutine for determining the state of the software keyboard SKB after the cursor has moved downward in the follow mode 1. The details of step # 202 displayed as “DKeyAscD” in the figure will be described later with reference to FIG.
[0239]
If it is determined that the follow mode 2 is selected, the process proceeds to step # 206. Step # 206 is a subroutine for obtaining the state of the software keyboard SKB after the downward movement of the cursor in the follow mode 2. Details of step # 206 displayed as “DKeyAscF” in the figure will be described later with reference to FIG.
[0240]
If it is determined that the mode is the still mode, the process proceeds to step # 210. Step # 210 is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved downward in the still mode. It should be noted that the description of the processing in the still mode displayed as “DKeyAscS” in FIG. On the other hand, if it is determined in step S112 that the mode is not the still mode, the process of step # 102 is terminated.
[0241]
With reference to FIG. 41, step # 202, which is a subroutine for obtaining the state of the software keyboard SKB after the downward movement of the cursor, in the following mode 1 will be described in detail. In this step, step # 2112 of step # 201 already described with reference to FIG. 38 is replaced with new step # 2211. So this new. Only the new step # 2211 will be described below.
[0242]
Step # 2211 is a subroutine for calculating the coordinates of the cursor when the cursor is moved downward. When the process of step # 2211 is started,
In step S2202, CY is incremented by one. Thereby, the Y coordinate when the cursor moves downward is obtained. Then, the process proceeds to the next step S2203.
[0243]
In step S2203, it is determined whether CY> 3. If the cursor is instructed to move downward beyond the third consonant subgroup Gc3, the determination is Yes and the process proceeds to step S2117.
[0244]
In step S2117, CY is set to 0. As a result, the cursor moved downward is circularly moved to the first consonant subgroup Gc1 in the first level of the software keyboard SKB. Then, the process proceeds to step # 2112.
[0245]
On the other hand, when it is determined No in step S2203, the process proceeds to step # 2112.
[0246]
Next, with reference to FIG. 42, step # 206, which is a subroutine for obtaining the state of the software keyboard SKB after the downward movement of the cursor in the follow mode 2, will be described. In this step, step # 2111 which is a subroutine of step # 205 shown in FIG. 39 is replaced with # 2211 which is a subroutine of step # 202 shown in FIG. Therefore, description of each subroutine is omitted.
[0247]
Next, with reference to FIG. 43, step # 103, which is a subroutine for obtaining the state of the software keyboard SKB after moving the cursor to the left on the software keyboard SKB, will be described. This step includes the same steps S110, S111, and S112 as in steps # 101 and 102 described above. As a result, if it is determined that the follow mode 1 is selected, the process proceeds to step # 203. Step # 203 is a subroutine for determining the state of the software keyboard SKB after the cursor has moved to the left in the follow mode 1. The details of step # 203 displayed as “LKeyAscD” in the figure will be described later with reference to FIG.
[0248]
If it is determined that the follow mode 2 is selected, the process proceeds to step # 207. Step # 207 is a subroutine for determining the state of the software keyboard SKB after the cursor has moved to the left in the follow mode 2. The details of step # 207 displayed as “LKeyAscF” in the figure will be described later with reference to FIG.
[0249]
If it is determined that the mode is the still mode, the process proceeds to step # 211. Step # 211 is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the left in the still mode. Note that the description of the processing in the still mode displayed as “LKeyAscS” in FIG. On the other hand, if it is determined in step S112 that the mode is not the still mode, the process of step # 103 is terminated.
[0250]
Referring to FIG. 44, step # 203, which is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the left in the following mode 1, will be described in detail. In this step, steps # 2111 and # 2112 between steps # 2110 and # 2113 of step # 201 already described with reference to FIG. 38 are replaced with new steps S2302, # 2313, # 2314, and step S2309. It has been. Therefore, only new steps S2302, # 2313, # 2314, and step S2309 will be described below.
[0251]
In step S2302, the current vowel group Gv is hidden to prepare for display after the vowel group Gv is moved following.
[0252]
Step # 2313 is a subroutine for obtaining the coordinates of the cursor after moving the cursor to the left. When the process of step # 2313 is started, first, in step S2303, the X coordinate is calculated when CX is reduced by 1 and the cursor is moved to the left side. Then, the process proceeds to step S2304.
[0253]
In step S2304, it is determined whether CX <KEYB_LIMIT_L. If the position of the cursor after moving to the left exceeds the left movement limit position, it is determined Yes and the process advances to step S2118.
[0254]
In step S2118, CX is set to KEYB_LIMIT_R, and the cursor is circulated from the left end to the right end. Then, the process proceeds to step # 2314.
[0255]
If NO is determined in step S2304, the process proceeds to step # 2314.
[0256]
Step # 2314 is a subroutine for determining the position of the vowel group Gv to follow when the cursor is moved to the left. When the process of step # 2314 is started,
In step S2306, it is determined whether CX <BOIN_POS_L. If the moved cursor exceeds the left end of the vowel group Gv, it is determined as Yes, and the process advances to step S2119.
[0257]
In step S2119, BOIN_POS_L is set to CX, and BOIN_POS_R is set to CX + 4. In this way, the X coordinate of the left end of the vowel group Gv is set to be the same as the X coordinate of the moved cursor, and the vowel group Gv is moved following the cursor. Then, the process proceeds to step S2308.
[0258]
On the other hand, if NO is determined in step S2306, the process proceeds to step S2308.
[0259]
In step S2308, it is determined whether CX> BOIN_POS_R. If the moved cursor exceeds the right end of the vowel group Gv, it is determined as Yes and the process proceeds to step S2120.
[0260]
In step S2120, BOIN_POS_L is set to CX, and BOIN_POS_R is set to CX-4. In this way, the X coordinate of the right end of the vowel group Gv is set to be the same as the X coordinate of the moved cursor, and the vowel group Gv is moved following the cursor. Then, the process proceeds to step S2309.
[0261]
Step S2309 is a subroutine for displaying the vowel group Gv after moving following the cursor.
[0262]
With reference to FIG. 45, step # 207, which is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the left in the following mode 2, will be described in detail. This step is completely the same as step # 203 shown in FIG. That is, step # 2110, which is a subroutine for displaying characters at the current cursor coordinates normally, step S2302 for hiding vowel lines, and a subroutine for calculating cursor coordinates when the cursor is moved in the left direction. # 2313, Step # 2314, which is a subroutine for determining the position to follow the vowel group Gv, Step S2309 for displaying the vowel group Gv at the position determined in Step # 2314, and the character on which the moved cursor is positioned. Step # 2113 for reverse display is included.
[0263]
Next, with reference to FIG. 46, step # 104, which is a subroutine for obtaining the state of the software keyboard SKB after the cursor is moved to the right on the software keyboard SKB, will be described. This step includes the same steps S110, S111, and S112 as in steps # 101, # 102, and # 103 described above. As a result, if it is determined that the follow mode 1 is selected, the process proceeds to step # 204. Step # 204 is a subroutine for determining the state of the software keyboard SKB after the cursor has moved to the right in the follow mode 1. Details of step # 204 displayed as “RKeyAscD” in the figure will be described later with reference to FIG.
[0264]
If it is determined that the follow mode 2 is selected, the process proceeds to step # 208. Step # 208 is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the right in the follow mode 2. It should be noted that details of step # 208 displayed as “RKeyAscF” in the figure will be described later with reference to FIG.
[0265]
If it is determined that the mode is the still mode, the process proceeds to step # 208. Step # 208 is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the left in the still mode. A description of the processing in the still mode is omitted. On the other hand, if it is determined in step S112 that the mode is not the still mode, the process of step # 104 is terminated.
[0266]
With reference to FIG. 47, step # 204, which is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the right in the following mode 1, will be described. This step is obtained by replacing step # 2313 in steps # 203 and # 207 shown in FIGS. 44 and 45 with a new step # 2413. Step # 2313 is a subroutine for obtaining the cursor coordinates when the cursor is moved to the left in the follow mode 2. On the other hand, step # 2413 is a subroutine for obtaining the cursor coordinates when the cursor is moved to the right in the follow mode 2.
[0267]
When the process of step # 2413 is started,
In step S2403, CX is incremented by 1, and the X coordinate of the cursor after the cursor has moved to the right is calculated. Then, the process proceeds to step S2304.
[0268]
In step S2304, it is determined whether CX> KEYB_LIMIT_R. As a result of the cursor moving to the right, when the right movement limit position of the cursor is exceeded, it is determined Yes and the process advances to step S2118.
[0269]
In step S2118, CX is set to KEYB_LIMIT_L. In this way, the cursor is circularly moved from the right end to the left end. Then, the process proceeds to step # 2314.
[0270]
On the other hand, if it is determined No in step S2304, there is no need for the circular movement of the cursor. Therefore, the process proceeds to # 2314.
[0271]
Next, with reference to FIG. 48, step # 208, which is a subroutine for obtaining the state of the software keyboard SKB after the cursor has moved to the right in the following mode 2, will be described in detail. This step is completely the same as step # 204 shown in FIG. That is, step # 2110, which is a subroutine for displaying characters at the current cursor coordinates normally, step S2302 for hiding vowel lines, and a subroutine for calculating cursor coordinates when the cursor is moved to the right. # 2413, Step # 2314, which is a subroutine for determining the position to follow the vowel group Gv, Step S2309 for displaying the vowel group Gv at the position determined in Step # 2314, and the character on which the moved cursor is positioned. Step # 2113 for reverse display is included.
[0272]
FIG. 49 shows an example different from the example of the game machine incorporating the software keyboard device SKAe according to the present embodiment shown in FIG.
Hereinafter, a software-controlled keyboard that makes it possible to easily input Japanese with a controller having few input buttons will be described with reference to FIGS. In this example, since all characters are displayed in Japanese kana, even a person who does not understand Roman characters can input.
[0273]
In the same example, the first row of the software keyboard SKB includes “A line”, “Ka line”, “Sa line”, “Ta line”, “Na line”, “Ha line”, “Ma”. "A", "Ka", "SA", "TA", "NA" ”,“ Ma ”,“ ya ”,“ ra ”,“ wa ”, and“ n ”are displayed. Then, when the cursor is moved to the position of the first character in each line, the character in the line starting with the character or the centered display over a plurality of lines from the second row is displayed.
[0274]
In FIG. 50, when the cursor is at the position “A”, ten types of characters belonging to “A” are displayed in the second and third levels. Similarly, in FIG. 51, characters belonging to “ka line” are displayed. FIG. 52 shows characters belonging to “Ta line”. 53 shows the characters belonging to “ha line”, FIG. 54 shows the characters “ya line”, and FIG. 55 shows the characters “wa line”.
[0275]
In the present specification, in the embodiments and examples of the present invention, an example in which alphabets are input to convert Roman letters to kana is described. However, the present invention basically combines two or more characters, It is suitable for the purpose of extracting and inputting characters. More specifically, the present invention is more effective in applications in which two or more kinds of characters are combined and converted into more kinds of characters. As such an application, as exemplified in the present specification, there is one that performs Japanese kana-kanji conversion, which is said to be several hundred thousand words or more, by combining 26 letters of the alphabet. As such an application, it is suitable for character input in a language system represented by DBC (double byte code) represented by Chinese and Korean.
[0276]
In addition, the arrangement of alphabet characters on the software keyboard SKB is composed of a combination of consonants and vowels in Japanese, so that consonants and vowels are clearly separated, and the time-consuming search for vowels after consonant input is reduced. It has become a mechanism. In terms of human behavioral psychology, I don't want to move the cursor to a place where there are no alphabetic characters. As a result, the cursor is moved in a detour, resulting in an increase in stroke amount.
[0277]
In the present invention, paying attention to this point, when moving the cursor to the target consonant, the vowel group follows to follow it. That is, since the vowel group has followed after the consonant input, the vowel to be input next to the consonant can be selected from the adjacent vowel group without moving (except for consonants such as kya as an exception). Some characters last twice). Also, regarding cursor movement, if you want to move to the rightmost character after moving the cursor to the leftmost end, if you move the cursor to the left without moving the cursor to the right, it will cycle to the rightmost end. (Or the opposite direction). As a result, the amount of key stroke is reduced on average.
[0278]
Needless to say, since the input is Romaji, the keyboard portion is only 26 characters, and the proportion of the screen occupied is reduced. Further, since the software keyboard SKB is not hardware, it is advantageous in terms of product cost. Furthermore, it can be moved and displayed anywhere on the screen, can be called on the screen when necessary, can be provided in the form of a driver, and can be incorporated as part of the OS.
[0279]
In particular, when inputting a short Japanese sentence, high conversion accuracy is not required and it may be as accurate as single kanji conversion. In addition, single kanji conversion is a relatively small dictionary with a simple structure, so a Japanese input front-end processor (hereinafter referred to as FEP) based on this conversion method is used to evaluate and examine the software keyboard. Developed and incorporated. In addition to the function of converting Kanji conversion candidates entered with a software keyboard into Kanji, FEP also supports JIS standard characters (symbols, numbers, alphabets, hiragana, katakana, Greek letters, Russian letters, round and Roman numerals, units, original No., mathematical symbols, logical operation symbols, JIS first and second level kanji characters) and external characters can be input. It also has a dictionary learning function.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a software keyboard device according to an embodiment of the present invention.
FIG. 2 is a flowchart showing an operation of the software keyboard apparatus shown in FIG.
FIG. 3 is an explanatory diagram of a method of converting Roman characters to kana using the software keyboard shown on the display of the software keyboard device shown in FIG. 2;
4 is an explanatory diagram of a method for converting kana-kanji using the software keyboard displayed on the display of the software keyboard device shown in FIG. 3;
FIG. 5 is an explanatory diagram showing a basic configuration of a software keyboard device according to the present invention.
FIG. 6 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the vowel group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 7 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the vowel group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 8 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the vowel group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 9 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the vowel group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 10 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the vowel group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 11 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 12 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 13 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 14 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 15 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 16 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 17 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 18 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 19 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the consonant group in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 20 is an explanatory diagram showing an operation of the software keyboard when the cursor moves between character groups in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 21 is an explanatory diagram showing an operation of the software keyboard when the cursor moves between character groups in the follow mode 1 of the software keyboard device according to the present invention.
FIG. 22 is an explanatory diagram showing the relationship between the movement of the cursor of the software keyboard and the vowel group in the still mode of the software keyboard device according to the present invention.
FIG. 23 is an explanatory diagram showing an operation of the software keyboard when the cursor moves in the consonant group in the follow mode 2 of the software keyboard device according to the present invention.
FIG. 24 is an explanatory diagram showing the operation of the software keyboard when the cursor moves in the consonant group in the follow mode 2 of the software keyboard device according to the present invention.
FIG. 25 is an explanatory diagram showing that the vowel group is locked when the cursor moves from the consonant group to the position of the vowel group in the follow mode 2 of the software keyboard device according to the present invention.
FIG. 26 is an explanatory diagram showing that the vowel group is locked when the cursor moves from the consonant group to the position of the vowel group in the follow mode 2 of the software keyboard device according to the present invention.
FIG. 27 is an explanatory diagram showing the effect of reducing the number of input steps of the software keyboard according to the present invention.
FIG. 28 is an explanatory diagram about the effect of the character layout of the software keyboard according to the present invention.
FIG. 29 is a block diagram showing a configuration when the software keyboard device according to the present invention is incorporated in a game machine.
30 is a plan view showing an example of the operation device shown in FIG. 29. FIG.
FIG. 31 is an explanatory diagram showing an example of a game machine incorporating the software keyboard device according to the present invention.
FIG. 32 is a flowchart showing an operation of the software keyboard device according to the present invention shown in FIG. 29;
33 is an explanatory diagram showing a relationship between a program stored in the ROM shown in FIG. 29 and a data area constructed in the RAM in the game machine.
34 is an explanatory diagram of basic items constituting the software keyboard in the software keyboard device shown in FIG. 29;
FIG. 35 is an explanatory diagram of basic items constituting the software keyboard in the software keyboard device shown in FIG. 29;
FIG. 36 is an explanatory diagram of basic items constituting the software keyboard in the software keyboard device shown in FIG. 29;
FIG. 37 is a flowchart showing a detailed operation in step # 101 shown in FIG.
FIG. 38 is a flowchart showing a detailed operation in step # 201 shown in FIG.
FIG. 39 is a flowchart showing a detailed operation in step # 205 shown in FIG.
FIG. 40 is a flowchart showing a detailed operation in step # 102 shown in FIG.
41 is a flowchart showing a detailed operation in step # 202 shown in FIG.
FIG. 42 is a flowchart showing a detailed operation in step # 206 shown in FIG.
FIG. 43 is a flowchart showing a detailed operation in step # 103 shown in FIG.
44 is a flowchart showing a detailed operation in step # 203 shown in FIG. 43. FIG.
45 is a flowchart showing a detailed operation in step # 207 shown in FIG. 43. FIG.
FIG. 46 is a flowchart showing a detailed operation in step # 104 shown in FIG.
47 is a flowchart showing a detailed operation in step # 204 shown in FIG. 46. FIG.
FIG. 48 is a flowchart showing a detailed operation in step # 208 shown in FIG.
49 is an explanatory diagram showing a further example of a game machine incorporating the software keyboard device according to the present embodiment shown in FIG. 31;
FIG. 50 is an explanatory diagram of a software controlled software keyboard that enables easy input of Japanese with a controller having a small number of input buttons in the software keyboard device shown in FIG. 49;
FIG. 51 is an explanatory diagram of a software keyboard under software control that enables easy input of Japanese with a controller having few input buttons in the software keyboard device shown in FIG. 49;
FIG. 52 is an explanatory diagram of a software-controlled software keyboard that enables easy input of Japanese with a controller having a small number of input buttons in the software keyboard device shown in FIG. 49;
FIG. 53 is an explanatory diagram of a software-controlled software keyboard that enables easy input of Japanese with a controller having a small number of input buttons in the software keyboard device shown in FIG. 49;
FIG. 54 is an explanatory diagram of a software keyboard under software control that enables easy input of Japanese with a controller having a small number of input buttons in the software keyboard device shown in FIG. 49;
FIG. 55 is an explanatory diagram of a software keyboard under software control that enables easy input of Japanese with a controller having a small number of input buttons in the software keyboard device shown in FIG. 49;
[Explanation of symbols]
SKA software keyboard device
SKB software keyboard
1 Program source
1e ROM
5 CPU
5e CPU5e
13 RAM
13e RAM
19 Input device
19e controller
21 Display
21e monitor
Gv vowel group
Gc consonant group

Claims (15)

同一の文字種から成る第1の文字群に含まれる文字を組み合わせて、第1の文字群に含まれる文字とは異なる文字種から成る第2の文字群に含まれる文字を選択して、デジタル機器に入力するためのソフトウェアキーボード装置であって、
前記第1の文字群を、所定の基準に従って、第1の所定数の文字から成る第1の文字グループと、当該第1の所定数より少ない第2の所定数の文字から成る第2の文字グループとに分け、当該第1の文字グループ第2の文字グループとを近かつ平行に表示する文字グループ表示手段と、
ユーザの指示に基づいて、前記表示された第1の文字グループおよび第2の文字グループに含まれる文字を一文字ずつ指し示すポインティング手段と、
前記ポインタによって前記第1の文字グループ文字指し示された際に、当該文字が前記第2の文字グループのいずれの文字とも対向しないは、当該文字に対向する位置にまで当該第2の文字グループの表示領域をシフトし、当該文字が前記第2の文字グループのいずれかの文字と対向する時には、当該第2の文字グループの表示位置を現在の表示位置に固定する表示位置制御手段とを備える、ソフトウェアキーボード装置。
Combining characters included in the first character group consisting of the same character type, selecting a character included in the second character group consisting of a character type different from the characters included in the first character group, A software keyboard device for input,
According to a predetermined standard, the first character group is divided into a first character group composed of a first predetermined number of characters and a second character composed of a second predetermined number of characters less than the first predetermined number. divided into a group, and the character group display means for displaying the said first group of characters and the second character group near neighbor and in parallel,
According to an instruction from a user, and a pointing device that points to a character by character contained in the first character group and a second group of characters that are pre-Symbol displayed,
When the character of the first character group is pointing shown by the pointer, when the character does not face with any character of the second character group, the second to a position opposed to the character Display position control means for shifting the display area of the second character group and fixing the display position of the second character group to the current display position when the character faces any one of the characters of the second character group Ru with the door, the software keyboard device.
前記文字グループ表示手段は、前記第1の文字グループおよび第2の文字グループに含まれる文字を互いに対向かつ平行な方向に連続して表示することを特徴とする請求項1に記載のソフトウェアキーボード装置。2. The software keyboard device according to claim 1, wherein the character group display unit continuously displays characters included in the first character group and the second character group in directions opposite to and parallel to each other. . 記表示位置制御手段は、さらに、
前記ポインタが、前記平行方向に前記第2の文字グループの端部より外側に移動しようとする場合には、当該第2の文字グループの対応する端部の文字が、前記ポインタが指し示そうとする位置に在るように、当該第2の文字グループ全体の表示位置をシフトさせることによって、
前記ポインタが、前記第1の文字グループに平行に移動する場合には、当該ポインタによって、前記第2の文字グループに含まれる文字が指し示されることを特徴とする請求項2に記載のソフトウェアキーボード装置。
Before Symbol Display position control means further comprises
When the pointer is going to move outside the end of the second character group in the parallel direction, the character at the corresponding end of the second character group tries to point to the pointer. By shifting the display position of the entire second character group so that it is in the position to
3. The software keyboard according to claim 2, wherein when the pointer moves in parallel to the first character group, the pointer indicates a character included in the second character group. 4. apparatus.
記表示位置制御手段は、
前記ポインタが、前記第2の文字グループから移動して、当該第2の文字グループの内部の文字を指し示そうとする時は、当該第2の文字グループ全体の表示位置をシフトしないように、前記文字表示手段を制御することを特徴とする請求項3に記載のソフトウェアキーボード装置。
Before Symbol Display position control means,
When the pointer moves from the second character group and tries to point to a character inside the second character group, the display position of the entire second character group is not shifted. 4. The software keyboard device according to claim 3, wherein the character display means is controlled.
同一の文字種から成る第1の文字群に含まれる文字を組み合わせて、第1の文字群に含まれる文字とは異なる文字種から成る第2の文字群に含まれる文字を選択して、デジタル機器に入力するためのソフトウェアキーボード装置であって、
前記第1の文字群を、所定の基準に従って、第1の所定数の文字から成る第1の文字グループと、当該第1の所定数より少ない第2の所定数の文字から成る第2の文字グループとに分け、当該第1の文字グループおよび第2の文字グループに含まれる文字を互いに対向かつ平行な方向に連続して表示する文字グループ表示手段と、
ユーザの指示に基づいて、ポインタを一文字分ずつ移動させて、前記表示された第1の文字グループおよび第2の文字グループに含まれる文字のそれぞれを、指し示すポインティング手段と、
前記ポインタが、前記平行方向に前記第2の文字グループの端部より外側に移動しようとする場合には、当該第2の文字グループの対応する端部の文字が、前記ポインタが指し示そうとする位置に在るように、当該第2の文字グループ全体の表示位置をシフトさせることによって、
前記ポインタが、当該第1の文字グループに平行に移動する場合には、当該ポインタによって、前記第2の文字グループに含まれる文字が指し示されることを特徴とするソフトウェアキーボード装置。
Combining characters included in the first character group consisting of the same character type, selecting a character included in the second character group consisting of a character type different from the characters included in the first character group, A software keyboard device for input,
According to a predetermined standard, the first character group is divided into a first character group composed of a first predetermined number of characters and a second character composed of a second predetermined number of characters less than the first predetermined number. Character group display means for displaying the characters included in the first character group and the second character group continuously in a direction opposite to and parallel to each other.
Pointing means for moving the pointer by one character at a time based on a user's instruction and pointing to each of the characters included in the displayed first character group and second character group;
When the pointer is going to move outside the end of the second character group in the parallel direction, the character at the corresponding end of the second character group tries to point to the pointer. By shifting the display position of the entire second character group so that it is in the position to
When the pointer moves in parallel with the first character group, a character included in the second character group is pointed to by the pointer.
前記ポインティング手段は、前記ポインタが、前記第1の文字グループの端部の文字の外側の位置を指示しようとする時は、当該ポインタを当該第1の文字グループのもう一方の端部に在る文字を指示するように移動させることを特徴とする請求項1、2、3、4、および5の何れかに記載のソフトウェアキーボード装置。The pointing means has the pointer at the other end of the first character group when the pointer is to indicate a position outside the character at the end of the first character group. 6. The software keyboard device according to claim 1, wherein the software keyboard device is moved so as to indicate a character. 前記ポインティング手段は、前記ポインタが、前記第2の文字グループの端部の文字の外側の位置を指示しようとする時は、当該ポインタを当該第2の文字グループのもう一方の端部に在る文字を指示するように移動させることを特徴とする請求項4に記載のソフトウェアキーボード装置。The pointing means has the pointer at the other end of the second character group when the pointer is to indicate a position outside the character at the end of the second character group. The software keyboard device according to claim 4, wherein the software keyboard device is moved so as to indicate a character. 前記ポインティング手段は、前記第2の文字グループの端部の文字が、前記第1の文字グループの端部の文字に対向するように、表示位置がシフトされた第2の文字グループの端部の外側の位置を、前記ポインタが指示しようとする時は、当該第1の文字グループのもう一方の端部に在る文字に対向する位置に、当該ポインタを移動させることを特徴とする請求項3および5の何れかに記載のソフトウェアキーボード装置。The pointing means may be arranged such that the display position of the second character group is shifted so that the character at the end of the second character group faces the character at the end of the first character group. 4. The pointer is moved to a position facing a character at the other end of the first character group when the pointer intends to indicate an outer position. And a software keyboard device according to any one of 5 and 5. 前記第2の文字群に含まれる文字は、ダブルバイトコードで規定される文字であり、
前記第1の文字群に含まれる文字は、シングルバイトコードで規定される文字であることを特徴とする請求項1、2、3、4、5、6、7、および8の何れかに記載のソフトウェアキーボード装置。
The character included in the second character group is a character defined by a double-byte code,
9. The character included in any one of claims 1, 2, 3, 4, 5, 6, 7, and 8, wherein the character included in the first character group is a character defined by a single byte code. Software keyboard device.
前記第2の文字群に含まれる文字は、日本語であり、
前記第1の文字群に含まれる文字は、アルファベット26文字であることを特徴とする請求項9に記載のソフトウェアキーボード装置。
The characters included in the second character group are Japanese,
The software keyboard device according to claim 9, wherein characters included in the first character group are 26 alphabetic characters.
前記第1のグループには、子音に対応するアルファベットが含まれ、
前記第2のグループは、母音に対応するアルファベットが含まれることを特徴とする請求項1、2、3、4、5、6、7、および8の何れかに記載のソフトウェアキーボード装置。
The first group includes alphabets corresponding to consonants;
The software keyboard device according to any one of claims 1 , 2, 3, 4, 5, 6, 7, and 8, wherein the second group includes alphabets corresponding to vowels.
前記第2の文字グループに含まれる文字は、A、I、U、E、およびOの5文字であり、
前記第1グループに含まれる文字は、アルファベットから前記第2の文字グループに含まれる文字を除く21文字であることを特徴とする請求項11に記載のソフトウェアキーボード装置。
The characters included in the second character group are five characters A, I, U, E, and O,
12. The software keyboard device according to claim 11, wherein the characters included in the first group are 21 characters excluding the characters included in the second character group from the alphabet.
前記第1の文字グループに含まれる文字を、所定の基準に基づいて、少なくとも2つ以上のサブグループに分けられることを特徴とする請求項9または11に記載のソフトウェアキーボード装置。Characters included in the first group of characters, based on a predetermined criteria, the software keyboard apparatus according to claim 9 or 11, characterized in that it is divided into at least two subgroups. 前記サブグループのそれぞれは、前記第2の文字グループに両側に、互いに平行に表示されることを特徴とする請求項13に記載のソフトウェアキーボード装置。14. The software keyboard device according to claim 13, wherein each of the subgroups is displayed on both sides of the second character group in parallel with each other. 前記サブグループのそれぞれは、前記第2の文字グループ(Gv)の片側に、互いに平行に表示されることを特徴とする請求項14に記載のソフトウェアキーボード装置。The software keyboard device according to claim 14, wherein each of the subgroups is displayed in parallel with each other on one side of the second character group (Gv).
JP15297199A 1999-05-31 1999-05-31 Software keyboard device Expired - Lifetime JP3841590B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15297199A JP3841590B2 (en) 1999-05-31 1999-05-31 Software keyboard device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15297199A JP3841590B2 (en) 1999-05-31 1999-05-31 Software keyboard device

Publications (2)

Publication Number Publication Date
JP2000339091A JP2000339091A (en) 2000-12-08
JP3841590B2 true JP3841590B2 (en) 2006-11-01

Family

ID=15552154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15297199A Expired - Lifetime JP3841590B2 (en) 1999-05-31 1999-05-31 Software keyboard device

Country Status (1)

Country Link
JP (1) JP3841590B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100413691B1 (en) * 2001-12-15 2004-01-03 삼성전자주식회사 Apparatus and method for inputting a character in a electronic product
CA2570430C (en) * 2004-07-29 2013-09-10 Paul Lloyd Baker A keyboard for a handheld computer device
JP2009064068A (en) * 2007-09-04 2009-03-26 Necディスプレイソリューションズ株式会社 Information processor, and user interface control method and program
JP5252910B2 (en) * 2007-12-27 2013-07-31 キヤノン株式会社 INPUT DEVICE, INPUT DEVICE CONTROL METHOD, AND PROGRAM
US20100293457A1 (en) * 2009-05-15 2010-11-18 Gemstar Development Corporation Systems and methods for alphanumeric navigation and input

Also Published As

Publication number Publication date
JP2000339091A (en) 2000-12-08

Similar Documents

Publication Publication Date Title
US5818437A (en) Reduced keyboard disambiguating computer
US8320959B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and providing a learning function in a text disambiguation environment
US8606562B2 (en) Disambiguated text message retype function
US8638299B2 (en) Handheld electronic device and associated method enabling the output of non-alphabetic characters in a disambiguation environment
KR20040101560A (en) User interface
JP3841590B2 (en) Software keyboard device
JP2010525480A (en) Character input device
EP1355225A1 (en) Method and device for inputting chinese characters on a hand-held electronic device
US9256297B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and reinitiating a text disambiguation session upon returning to a delimited word
US20080010053A1 (en) Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Outputting as Variants Textual Variants of Text Disambiguation
US8004495B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and outputting a currently selected variant at a text input location during text disambiguation
US9075449B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and selectively disabling disambiguation
US7765345B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and providing text disambiguation
US20060202866A1 (en) Handheld electronic device having improved display and selection of disambiguation choices, and associated method
EP1701243A1 (en) Handheld electronic device having improved display and selection of disambiguation choices, and associated method
KR101051381B1 (en) Handheld electronic device having multiple axis input device and selectable language indicator for language selection and related method
US8542132B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation
CA2719387C (en) System and method for facilitating character capitalization in handheld electronic device
CA2640786C (en) Disambiguated text message review function
US20080010055A1 (en) Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Providing a Prior Variant List When Employing a Disambiguation Routine and Reinitiating a Text Entry Session on a Word
EP2916200A2 (en) Semi-compact keyboard and method therefor
US20110105188A1 (en) System and method for facilitating character capitalization in handheld electronic device
US8791906B2 (en) Handheld electric device and associated method employing a multiple-axis input device and elevating the priority of certain text disambiguation results when entering text into a special input field
JPH08211985A (en) Information processor
KR20020057335A (en) A user input interface apparatus of hand holdable type

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060330

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: 20060808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3841590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term