JP4906178B2 - keyboard - Google Patents

keyboard Download PDF

Info

Publication number
JP4906178B2
JP4906178B2 JP2000223885A JP2000223885A JP4906178B2 JP 4906178 B2 JP4906178 B2 JP 4906178B2 JP 2000223885 A JP2000223885 A JP 2000223885A JP 2000223885 A JP2000223885 A JP 2000223885A JP 4906178 B2 JP4906178 B2 JP 4906178B2
Authority
JP
Japan
Prior art keywords
key
keys
scan
memory
determined
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 - Fee Related
Application number
JP2000223885A
Other languages
Japanese (ja)
Other versions
JP2002041215A (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.)
Fujitsu Component Ltd
Original Assignee
Fujitsu Component Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Component Ltd filed Critical Fujitsu Component Ltd
Priority to JP2000223885A priority Critical patent/JP4906178B2/en
Publication of JP2002041215A publication Critical patent/JP2002041215A/en
Application granted granted Critical
Publication of JP4906178B2 publication Critical patent/JP4906178B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数個のキースイッチをマトリクス状に配置したスキャンタイプのキーボードに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ等で使用されるキーボードは、アプリケーションの多機能化、及び通信の高速化に伴い、キースキャン処理の一層の高速化が求められている。
複数個のキースイッチをマトリクス状に配置したスキャンタイプのキーボードにおいては、一般に、メンブレンスイッチキーマトリクスがコラム側に8本、ロウ側に16〜18本のラインが配置されている。このようなキーマトリクスにおいて、ロウ側のラインを順次ローレベルにセットし、そのロウ側に対応するコラム側の8本の状態を読み込むことによりキースキャンがなされる。
【0003】
このようなキーボードにおいて、同時に複数個のキースイッチが押下されたとき信号の回り込みが発生し、押下されたキー以外の別のキーが操作されたような擬似入力状態になる。このような回り込み現象を回避するために、キーボードの制御ファームウェアを用いて従来から様々な解決策がとられている。
その1つとしてFキーロールオーバ技術による方法がある。これは既に押下されたキー新たに押下されたキーとを合わせた総押下キー数が4キー以上であり、かつ、新規に押下されたキーが2キー以上である場合に回り込みが発生したと判定する方法である。
【0004】
【発明が解決しようとする課題】
回り込み判定にFキーロールオーバ技術を用いた従来例による方法では、まず1キーずつキースキャンを行ってキーが押下されているか否かをチェックし、押下されたキーが見つかった場合には、その押下されたキーから再度キースキャンを実行し、その他のキーの押下状態をチェックしてからキーの入力可否を判定していた。このため、キースキャンに要する時間も長くなってしまう問題があった。また、キースキャンのタイミングを解析することによって、外部からの信号入力を行うことにより、キーの押下による出力が第三者によって容易に解析されてしまうという問題があった。更に、Fキーロールオーバ技術を用いた方法では、4キー以上のキーが押下された場合は回り込みが発生したものと常に判定してしまい、例えば点字入力をキーボードで行う場合などのような、6キーあるいは8キーを同時に組み合わせた正常なキー入力には対応できない。
【0005】
従って、本発明の第1の目的は、上記課題に鑑み、Fキーロールオーバ技術を用いた回り込み検査を行うキースキャン方法において、より高速なキースキャンを実現することにある。
本発明の第2の目的は、上記課題に鑑み、正常なキー操作として入力され得る複数のキー入力にも対応した回り込み検査が可能なキースキャン方法を提供することにある。
【0006】
【課題を解決するための手段】
上記第1の目的を実現するために、第1の発明によれば、キーを1つずつスキャンし、新規に押下されたキーを検出する検出手段と、新規に押下されたキーは正常なキー入力であると確定されたときに、確定キーとして記憶するための確定メモリと、新規に押下されたキーのアドレスを一時的に記憶するためのキーバッファであって、新規に押下されたキーのアドレスは、該アドレスがキーバッファに未だ記憶されていない場合のみ記憶されるキーバッファと、新規に押下されたキーのアドレスがキーバッファに既に記憶されている場合に、キーバッファに記憶されているアドレスの数と確定メモリに記憶された確定キーの数との合計が4以上であり、かつキーバッファに記憶されているアドレスの数が2以上であるときに回り込みがあると判定する回り込み判定手段と、回り込み判定手段で回り込みがないと判定された場合に、新規に押下されたキーを確定キーとして確定メモリに記憶すると共に、当該確定キーに対するコードの送信を要求するフラグをセットし、次のキーのスキャンに移るキー確定手段とを備える。
【0007】
上記第2の目的を実現するために、第2の発明によれば、コンピュータのキーボードをキースキャンした結果を1キー当り1ビットに対応したメモリマップ形式で一時的に記憶するためのスキャンメモリと、確定したキー入力を1キー当り1ビットに対応したメモリマップ形式で記憶する確定メモリと、スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインがロウ側に少なくとも1つ存在するか否かを判定するロウ側判定手段と、スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインがコラム側に少なくとも1つ存在するか否かを判定するコラム側判定手段と、ロウ側判定手段及びコラム側判定手段が共に、2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定した場合に、回り込みと判定するキー確定手段とを備える。
【0008】
第1の発明によれば、回り込み検査のためのFキーロールオーバー技術を、1回のキースキャン内に実現するので、高速なキースキャン処理を実行でき、また、第三者によるキースキャンの解析を困難にすることができる。
第2の発明によれば、例えば点字入力を行う場合などのような、6キーあるいは8キーといったような、複数キーの正常なキー入力が可能なキーボードに対しても回り込み検査を実現できる。
【0009】
【発明の実施の形態】
本発明の第1の実施例のキースキャン方法によれば、スキャンされるキー毎にキー押下の有無がチェックされ、必要に応じて回り込み検査が実行される。
図1は、本発明の第1の実施例によるキーボード制御ファームウェアの概略図である。
【0010】
本実施例によるキーボード制御ファームウェア1は、新規に押下されたキーのアドレスを1キー当り1バイトとして4キー分だけ記憶するキーバッファ101と、1キーが1ビットに対応するメモリマップ形式で確定されたキー入力を記憶する確定スキャンメモリ102と、キーバッファ101に記憶されているアドレスの数をカウントする第1のカウンタ103と、確定スキャンメモリ102で確定キーを表わす「1」が立っている数をカウントする第2のカウンタ104とを備える。
【0011】
図2は、本発明の第1の実施例によるフローチャートを示す図である。
まず、キーボードの制御ファームウェア1は、ステップ200でキースキャンするタイミングであるかどうかをチェックし、キースキャンするタイミングになった時点でステップ201以降のキースキャンを実行する。一般にキーの押下後8〜10msまではキーの接点にチャタリングが発生しやすく、このチャタリングを避けるために、本実施例においてはキースキャンは8〜10ms毎に実行するものとする。すなわち、本実施例では、ステップ200によってキースキャン開始の周期が8〜10msになるようにタイミングが取られる。ステップ201以降のキースキャン処理そのものに要する時間は、これよりも短い。
【0012】
キースキャンは、スキャンポートの初期化及びカウンタ103及び104のクリア等のスキャン初期化処理(ステップ201)がなされることで開始される。この後、ステップ202以降の処理によって、キー1つ毎に対してスキャンし、キー押下の有無がチェックされ、必要に応じて回り込み検査が実行される。
ステップ202において、キーの状態の変化があるかどうかが判定される。キーの状態に変化がないときは、ステップ208へ進み、次のキーに対してスキャンがセットされる。
【0013】
ステップ202でキーの状態に変化があったと判定されると、ステップ203へ進む。キーの状態の変化には、キーが押されたときのOFFからONへの変化と、指がキーから離されたときのONからOFFへの変化との2つの場合があるが、ステップ203では、そのどちらであるかが判定される。
ステップ203において、キーの状態がONからOFFへ変化したと判定された場合は、指がキーから離されたことを意味する。換言すれば、キーの押下が終了し、後述する回り込み検査も完了してキーが確定されたということであるので、ステップ204に進み、キーオフ処理がなされる。
【0014】
ステップ204では、確定スキャンメモリ102がクリアされ、データ送信フラグがセットされる。すなわち、ステップ203においてキーの状態がONからOFFへ変化したと判定されたので、ステップ204では、キーOFFを示すOFFコードがデータ送信フラグとしてセットされる。この後、ステップ208に進み、次のキーに対してスキャンがセットされる。
【0015】
ステップ203において、キーの状態がOFFからONへ変化したと判定された場合は、新規にキーの押下があったことを意味するので、ステップ205へ進む。
ステップ205では、新規に押下されたキーのアドレスとキーバッファ101に既に記憶されている未確定キーのアドレスとを比較し、一致の有無が判定される。このキーバッファ101は、後述する回り込み検出のために、新規に押下されたキーのアドレスを未確定キーのアドレスとして一時的に記憶するものである。キーバッファはマイコン内に存在するが、その容量はマイコンのハードウェアの制限があるのでできるだけコンパクトであるのが好ましい。本実施例におけるキーバッファ101は、キーのアドレスを1キー当り1バイトとして、回り込み検出のために最低限必要である4バイト分の容量を有するが、それ以上の容量を有してもよい。
【0016】
ステップ205において、新規に押下されたキーのアドレスとキーバッファ101に既に記憶されている未確定キーのアドレスとが一致しないと判定された場合は、ステップ206へ進み、一致していると判定された場合は、ステップ210へ進む。
ステップ206では、第1のカウンタ103はキーバッファ101に記憶されているアドレスの数をカウントし、満杯であるか否かを判定する。
【0017】
ステップ206でキーバッファ101が満杯であると判定された場合は、既に総キー数が4キー以上存在するということなので、回り込み現象が発生していることを意味し、従ってキーの確定はせずに、ステップ208に進む。
ステップ206でキーバッファ101が満杯ではないと判定された場合は、ステップ207に進む。
【0018】
ステップ207では、新規に押下されたキーのアドレスが未確定キーのアドレスとしてキーバッファ101に記憶される。そしてステップ208へ進み、次のキーに対してスキャンがセットされる。
ステップ210では回り込み検査が実行される。この回り込み検査では、まず、第2のカウンタ104は、他の新規に押下されたキー(未確定キーも含む)も含めた新規キーのキー数と既に確定され確定スキャンメモリ102に格納されたキー数とを総押下キー数としてカウントする。そして、この総押下キー数が4キー以上であり、かつ新規に押下されたキーのキー数が2キー以上であるかが判定される。
【0019】
ここで回り込み現象について説明する。複数個のキースイッチをマトリクス状に配置したスキャンタイプのキーボードにおいては、例えば、メンブレンスイッチキーマトリクスがコラム側に8本、ロウ側に16〜18本のラインが配置されている。コラム側の各ラインは抵抗を介して5Vの電源に接続されている。このようなキーマトリクスにおけるキースキャンでは、ロウ側のラインを順次ずつローレベル(0V)にセットし、そのロウ側に対応するコラム側の8本の状態を読み込み、ローレベルが検出されたときに当該キーが押下されたと判定する。
【0020】
図3は「A」キーが押下された場合を説明する図であり、図4は「B」、「C」、「D」キーが同時に押下された場合を説明する図である。
回り込み現象についての理解を容易にするために、図3及び4においては、コラム側ライン及びロウ側ラインはそれぞれ2本であると仮定し、検出ラインであるコラム側ラインをX1及びX2、検出ラインと交差するロウ側ラインをY1及びY2とする。
【0021】
コラム側ラインX1及びX2は抵抗を介して5Vの電源に接続されており、通常、キーボードのスキャンはロウ側ラインを順次ローレベル(0V)にセットし、コラム側ラインX1及びX2の電圧レベルを見ることでキースキャンがなされる。
図3は通常の「A」キーが正常に押下された場合である。Y1をローレベルにセットしてX1の電圧レベルと見ると0Vであるので、「A」キーが押下されたと検出される。
【0022】
これに対し、図4において、Y1をローレベルにセットすると、電流はスイッチを「C」、「D」、「B」の順に介してグランドに流れる。このとき、X1の電圧レベルと見ると0Vであるので、「A」キーが押下されたと誤検出される。
これが回り込み現象である。
従って、回り込み現象を検出する回り込み条件として、上述のように、他の新規に押下されたキー(未確定キーも含む)も含めた新規キーのキー数と既に確定され確定スキャンメモリ102に格納されたキー数とを総押下キー数としてカウントし、この総押下キー数が4キー以上であり、かつ新規に押下されたキーのキー数が2キー以上であるか否かが判定される。
【0023】
ステップ210で上述の回り込み条件に合致すると判定された場合は、新規に押下されたキーは回り込みにより発生した可能性があるので、キーの確定は行わない。このとき、例えば「FF」のコードを出力し、ホストはこれを受信すると警報を鳴らすなどしてユーザに注意を喚起してもよい。この後、ステップ208に進み、次のキーに対してスキャンがセットされる。
【0024】
ステップ210で上述の回り込み条件に合致しないと判定された場合は、回り込み現象は発生していないので、新規に押下されたキーをキー入力として確定するため、ステップ211へ進む。
ステップ211では、キーバッファ101の内容をクリアし、新規に押下されたキーを確定キーとしてメモリマップ形式で確定スキャンメモリ102に記憶し、キーONを示すONコードがデータ送信フラグとしてセットされる。この後、ステップ208に進み、次のキーに対してスキャンがセットされる。
【0025】
ステップ208では、MCUポートのセット及び次にスキャンするアドレスのセット等が実行される。
ステップ209では、スキャンエンドであるか否か、すなわちキーボード上の全てのキーに対してスキャンがされたか否か判定される。
ステップ209でスキャンエンドではないと判定されると、まだスキャンされていないキーがあるのでステップ202に戻る。
【0026】
ステップ209でスキャンエンドであると判定されると、全てのキーに対してスキャンがされたことになるので、ステップ212へ進む。
例えば、キースキャン1周期の間に、ステップ202でキー変化ありと判定され、ステップ203でそのキー変化がOFFからONであると判定され、ステップ205でキーバッファ101に記憶されたアドレスと一致しないと判定され、ステップ206でキーバッファ101が満杯ではないと判定されるといったプロセスを4回経ると、キーバッファ101にキーのアドレスが4つ記憶されることになり、回り込み現象が発生していることを意味する。
【0027】
ステップ212では、データ送信フラグがセットされているか否かが判定される。キーデータを送信するための送信用バッファに、確定されたキーデータを記憶していくが、送信フラグが立ったときに送信バッファからデータを出す。前述のように、データ送信フラグは、ステップ204あるいはステップ211においてセットされる。つまり、ステップ204でデータ送信フラグが立てられるのは、キーの変化がONからOFFであるからであり、ステップ211でデータ送信フラグが立てられるのは、ステップ210の回り込み検査により回り込み無しと判定されたので新規に押下されたキーが確定キーであるからである。
【0028】
ステップ212でデータ送信フラグがセットされていると判定された場合は、対応するキーコードを出力し、ステップ200へ戻る。
ステップ212でデータ送信フラグがセットされていないと判定された場合はキーボードに対して何の操作もされていないことを意味しており、ステップ200へ戻る。
【0029】
そして、前述のように、本実施例では、ステップ200によってキースキャンの周期が所定の時間、例えば8〜10msになるようにタイミングが取られ、次のキースキャンに移る。また、本実施例によれば、所定の時間毎にキースキャンを実行するので、キーの状態が変化しても単にキーバッファ101へのアドレスの記憶又は削除の処理をするのみであるので、キーのON/OFFの処理時間の差はほとんどなく、常にほぼ一定の時間でキースキャンを実行することができる。これにより第三者によるキースキャンの解析を困難にすることが可能であり、信頼性の高いキーボードの実現が可能となる。
【0030】
このように本実施例によれば、回り込み検査のためのFキーロールオーバー技術を、1回のキースキャン内に実行するので、高速なキースキャン処理が可能である。
次に、本発明の第2の実施例によるキースキャン方法について説明する。
本実施例では、キーマトリクスは、コラム側には8本のライン、ロウ側には10〜18本のラインが構成され、ロウ側の各ラインのスキャン毎にコラム側の各ラインの状態を一時的に記録しておく一時スキャンメモリを備える。
【0031】
キーボードのスキャンは、第1の実施例の項でも説明したように、ロウ側のラインを1本ずつローレベル(又はハイレベル)にセットし、そのロウ側に対応するコラム側の8本のラインの状態を読み込むことでなされる。読み込まれた各キーの状態は、本実施例においては、一時スキャンメモリに一時的に記憶される。一時スキャンメモリでは、1ビットあたり1キーが記憶されるといったメモリマップ形式で記憶され、キーマトリクスに対応してコラム側は8ビット、ロウ側にはライン数分(例えば10〜18ビット)だけ用意される。
【0032】
図5は、複数のキーが押下された場合の一時スキャンメモリのメモリマップを例示する図である。この図においては、キーがONである状態を「1」で示している。
複数のキーを押下してキーの回り込み現象が発生すると、図5(a)に例示すように、キーのON状態がコラム側及びロウ側の格子位置に現れる。つまり、コラム側のいずれか1ライン及びロウ側のいずれか1ラインにおいて、それぞれ2個以上のキーのON状態が同時に発生することになる。
【0033】
図5(b)もまた、コラム側のいずれか1ライン及びロウ側のいずれか1ラインにおいて、それぞれ2個以上ON状態が発生した場合を例示した図であるが、この場合は、キーのON状態がコラム側及びロウ側の格子位置には現れておらず、従って、回り込み現象が発生しているわけではない。実際には、正常なキー操作ではキーは1つずつ順次押下されるので、図5(b)に示されるマトリクスパターンは、キーのONを示す「1」が1つずつ現れる。
【0034】
このように、図5の(a)及び(b)の両方とも、コラム側のいずれか1ライン及びロウ側のいずれか1ラインにおいてそれぞれ2個以上のキーのON状態が検出されるが、その相違は、新規にキーが押下されたときに同時に何個のON状態のキーが検出されるかである。
従って、本発明による第2の実施例では、まず、コラム側の各ライン及びロウ側の各ラインのキーのON数をカウントし、コラム側のライン及びロウ側のラインそれぞれにおいて、少なくとも1ラインに、2キー以上のONキーが存在するか否かをカウントする。1ラインに2キー以上のONキーが存在していた場合は、更に、新規に押下されたキーによるON状態の検出が2個以上あったかどうかをカウントし、2個以上あった場合は、回り込み現象が発生したと判定する。
【0035】
図6は、本発明の第2の実施例によるフローチャートを示す図である。
まず、キーボードファームウェアは、スキャンする時間になったか否かをチェックし、スキャンのタイミングになった時点でスキャンを開始する。まずステップ501において、スキャンポートの初期化を実施する。
続いてステップ502において、キースキャンが実行される。ロウ側のラインを1本ずつローレベル(又はハイレベル)にセットし、そのロウ側に対応するコラム側の8本のラインの状態を読み込み、一時スキャンメモリに記憶していく。この一時スキャンメモリにおいては、1ビットあたり1キーが記憶されるといったメモリマップ形式で記憶され、キーマトリクスに対応してコラム側は8ビット、ロウ側にはライン数分(例えば10〜18ビット)だけ用意される。
【0036】
次に、ステップ503において、コラム側の各ラインのキーのON数をカウントし、2キー以上のONキーが存在するラインが少なくとも1つ存在するか否かを判定する。
図7は、本実施例によるコラム側のラインのカウントを説明する図である。この図は、一時スキャンメモリのメモリマップの一例を示しており、「1」はキーのON状態、「0」はキーのOFF状態をそれぞれ表す。また、説明を簡単にするため、各ロウをロウ1、ロウ2、ロウ3、・・・、ロウ8、各コラムをコラム1、コラム2、コラム3、・・・、と呼び、各ロウと各コラムは入れ替えて対角表示している。
【0037】
前述のように、各キーのON、OFF状態は一時スキャンメモリにメモリマップ形式で記憶されており、キーマトリクスの各コラムの8本におけるラインは一時スキャンメモリの各コラムの8ビットに対応している。
表1は、8ビットの各コラム内において、1個又は0個のキーのON状態がある場合を表しており、そのそれぞれを「**h」のように16進数表示している。ステップ503では表1に基づいて、一時スキャンメモリに記憶されたコラムのそれぞれに対して2キー以上の押下を検出する。すなわち、ステップ503では、一時スキャンメモリに記憶されている各コラムのキーの状態が、00h、01h、02h、04h、08h、10h、20h、40h、80hのいずれにもあてはまらないときは、2キー以上が押下されたと判定する。
【0038】
【表1】

Figure 0004906178
例えば、図7のようなメモリマップでは、コラム2が「24h」、コラム3が「D0h」であり、これら各コラムは2キー以上の押下があるものと判定される。
上述の方法で、ステップ503で2キー以上のONキーが存在するラインが存在しないと判定された場合は回り込み現象はないということであり、キーが確定され、確定スキャンメモリに記憶される。
【0039】
また、ステップ503で2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定された場合はステップ504へ進む。
次に、ステップ504において、ロウ側の各ラインのキーのON数をカウントし、2キー以上のONキーが存在するラインが少なくとも1つ存在するか否かを判定する。
【0040】
図8は、本実施例によるロウ側のラインのカウントを説明する図である。この図は、図7と同様に一時スキャンメモリのメモリマップの一例を示しており、「1」はキーのON状態、「0」はキーのOFF状態をそれぞれ表す。図7同様、各ロウと各コラムは入れ替えて対角表示している。
本実施例では、各ロウ毎にカウンタを用いてデータを足し込み、カウンタの値が2以上であるか否かで2キー以上の押下を検出する。例えば図8においてはロウ2のカウンタの値は2であるので、ロウ2は2キー以上の押下があると判定される。
【0041】
上述の方法で、ステップ504で2キー以上のONキーが存在するラインが存在しないと判定された場合は回り込みはないということであり、キーが確定され、確定スキャンメモリに記憶される。
また、ステップ504で2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定された場合はステップ505へ進む。
【0042】
ステップ505では新規に押下されたキーによるON状態の検出が同時に2個以上あったかどうかをチェックする。図5を参照して既に説明したように、ロウ側に2キー以上のONキーが存在するラインが少なくとも1つ存在していても、必ずしも回り込みが発生しているとは限らない。正常なキー操作では、キーは1つずつ順次押下されるので、一時スキャンメモリにはキーのONを示す「1」が1つずつ現れるが、キーの多重打鍵の場合は一時スキャンメモリにはキーのONを示す「1」が同時に2以上現れることになる。従って、ステップ505において新規に押下されたキーによるON状態の検出が同時に2個以上あったかどうかを検査することでこのような誤認識を防ぎ、回り込み現象の有無の判定をより確実なものにする。
【0043】
図9は、本実施例による新規に押下されるキー数のカウントを説明する図である。この図は、図7又は8と同様に一時スキャンメモリのメモリマップの一例を示しており、「1」はキーのON状態、「0」はキーのOFF状態をそれぞれ表す。図7及び8同様、各ロウと各コラムは入れ替えて対角表示している。
本実施例では、上述のようにキーボードのスキャンの結果はメモリマップ形式で一時スキャンメモリに一時的に記憶されている。ステップ505では、これを確定スキャンメモリと比較し、差分をとることで図9に示す変化ビットとして抽出する。ロウ側のラインのビット値が00hではないようなラインが2つ以上で存在すれば、キーが同時に2以上押下されたということになる。
【0044】
上述の方法で、ステップ505で同時に2個以上はないと判定された場合は、回り込みはないということなのでキーが確定され、確定スキャンメモリに記憶される。
また、ステップ505で同時に2個以上あったと判定された場合は場合は、回り込み現象が発生したということになる。
【0045】
このように、本発明の第2の実施例によれば、例えば点字入力を行う場合などのような、6キーあるいは8キーといったような、複数キーの正常なキー入力が可能なキーボードに対しても回り込み検査を実現することができる。
【0046】
【発明の効果】
以上説明したように、第1の発明によれば、回り込み検査のためのFキーロールオーバー技術を、1回のキースキャン内に実現するので、高速なキースキャン処理を実行でき、また、第三者によるキースキャンの解析を困難にすることが可能であり、安全性が高まる。
【0047】
第2の発明によれば、例えば点字入力を行う場合などのような、6キーあるいは8キーといったような、複数キーの正常なキー入力が可能なキーボードに対しても回り込み検査を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるキーボード制御ファームウェアの概略図である。
【図2】本発明の第1の実施例によるフローチャートを示す図である。
【図3】「A」キーが押下された場合を説明する図である。
【図4】「B」、「C」、「D」キーが同時に押下された場合を説明する図である。
【図5】複数のキーが押下された場合の一時スキャンメモリのメモリマップを例示する図である。
【図6】本発明の第2の実施例によるフローチャートを示す図である。
【図7】本実施例によるコラム側のラインのカウントを説明する図である。
【図8】本実施例によるロウ側のラインのカウントを説明する図である。
【図9】本実施例による新規に押下されるキー数のカウントを説明する図である。
【符号の説明】
1…キーボード制御ファームウェア
101…キーバッファ
102…確定スキャンメモリ
103…第1のカウンタ
104…第2のカウンタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a scan type keyboard in which a plurality of key switches are arranged in a matrix.
[0002]
[Prior art]
In recent years, keyboards used in personal computers and the like have been required to have a higher speed of key scan processing as applications become more multifunctional and communication speeded up.
In a scan-type keyboard in which a plurality of key switches are arranged in a matrix, generally, the membrane switch key matrix has 8 lines on the column side and 16 to 18 lines on the row side. In such a key matrix, key scanning is performed by sequentially setting the row line on the low side to the low level and reading the eight column side states corresponding to the row side.
[0003]
In such a keyboard, when a plurality of key switches are pressed at the same time, a signal wraps around and a pseudo input state is entered as if another key other than the pressed key is operated. In order to avoid such a wraparound phenomenon, various solutions have been conventionally used by using keyboard control firmware.
One of them is the method using the F key rollover technique. This is the key already pressed When This is a method for determining that a wraparound has occurred when the total number of pressed keys including the newly pressed key is 4 or more and the newly pressed key is 2 or more.
[0004]
[Problems to be solved by the invention]
In the conventional method using the F-key rollover technique for the wraparound determination, first, a key scan is performed for each key to check whether or not the key is pressed. The key scan is executed again from the pressed key, and after checking the pressed state of other keys, it is determined whether or not the key can be input. For this reason, there is a problem that the time required for the key scan becomes longer. In addition, there is a problem in that an output by pressing a key is easily analyzed by a third party by inputting an external signal by analyzing the timing of key scanning. Further, in the method using the F-key rollover technique, when four or more keys are pressed, it is always determined that a wraparound has occurred. For example, when a braille input is performed with a keyboard, 6 It cannot respond to normal key input that combines keys or 8 keys at the same time.
[0005]
Accordingly, a first object of the present invention is to realize a higher-speed key scan in a key scan method for performing a wraparound inspection using the F key rollover technique in view of the above problems.
In view of the above problems, a second object of the present invention is to provide a key scanning method capable of performing a loop check corresponding to a plurality of key inputs that can be input as normal key operations.
[0006]
[Means for Solving the Problems]
In order to achieve the first object, according to the first invention, the detection means for scanning the keys one by one to detect the newly pressed key, and the newly pressed key is a normal key. A key memory for temporarily storing the address of a newly pressed key and a key memory for temporarily storing the address of the newly pressed key when it is determined that the input is confirmed. The address is stored in the key buffer, which is stored only when the address is not yet stored in the key buffer, and when the address of the newly pressed key is already stored in the key buffer. If the sum of the number of addresses and the number of confirmed keys stored in the confirmed memory is 4 or more and the number of addresses stored in the key buffer is 2 or more, there is a wraparound And a flag for requesting transmission of a code with respect to the confirmation key and storing the newly pressed key as a confirmation key when it is determined that there is no wraparound. Key determining means for setting and moving to the next key scan.
[0007]
In order to achieve the second object, according to the second invention, there is provided a scan memory for temporarily storing a result of key scanning of a computer keyboard in a memory map format corresponding to one bit per key; In the confirmed memory for storing the confirmed key input in a memory map format corresponding to 1 bit per key, and in the memory map stored in the scan memory, at least one line on which two or more ON keys exist is on the low side. In the memory map stored in the scan memory, it is determined whether or not there is at least one line on the column side where two or more ON keys exist. Both the column side determination means, the row side determination means and the column side determination means have at least a line on which two or more ON keys exist. One when it is determined to be present, and a wraparound and determining key determination means.
[0008]
According to the first invention, since the F key rollover technique for the loop inspection is realized in one key scan, a high-speed key scan process can be executed, and a key scan analysis by a third party can be performed. Can be difficult.
According to the second aspect of the present invention, it is possible to realize a wraparound inspection even for a keyboard capable of normal key input of a plurality of keys, such as 6 keys or 8 keys, for example, when performing braille input.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
According to the key scanning method of the first embodiment of the present invention, the presence or absence of key depression is checked for each scanned key, and a wraparound inspection is performed as necessary.
FIG. 1 is a schematic diagram of keyboard control firmware according to a first embodiment of the present invention.
[0010]
The keyboard control firmware 1 according to the present embodiment is determined in a memory buffer format in which a key buffer 101 that stores the address of a newly pressed key as 1 byte per key for 4 keys and a key corresponding to 1 bit. A fixed scan memory 102 that stores the key input, a first counter 103 that counts the number of addresses stored in the key buffer 101, and the number of "1" that represents the fixed key in the fixed scan memory 102. And a second counter 104 that counts.
[0011]
FIG. 2 is a flowchart illustrating the first embodiment of the present invention.
First, the keyboard control firmware 1 checks whether or not it is time to perform key scanning in step 200, and executes key scanning in and after step 201 when it is time to perform key scanning. In general, chattering is likely to occur at the key contact until 8 to 10 ms after the key is pressed. In order to avoid this chattering, the key scan is executed every 8 to 10 ms in this embodiment. In other words, in this embodiment, the timing is set so that the key scan start cycle is 8 to 10 ms in step 200. The time required for the key scan processing itself after step 201 is shorter than this.
[0012]
The key scan is started by performing a scan initialization process (step 201) such as initialization of the scan port and clearing of the counters 103 and 104. Thereafter, by the processing from step 202 onward, each key is scanned, the presence / absence of key depression is checked, and a wraparound inspection is performed as necessary.
In step 202, it is determined whether there is a change in the key state. If there is no change in the state of the key, the process proceeds to step 208 and the scan is set for the next key.
[0013]
If it is determined in step 202 that the key state has changed, the process proceeds to step 203. There are two types of changes in the state of the key: a change from OFF to ON when the key is pressed, and a change from ON to OFF when the finger is released from the key. , It is determined which is the case.
If it is determined in step 203 that the key state has changed from ON to OFF, it means that the finger has been released from the key. In other words, the pressing of the key is completed, the wraparound inspection described later is completed, and the key is confirmed, so that the process proceeds to step 204, and the key-off process is performed.
[0014]
In step 204, the confirmed scan memory 102 is cleared and a data transmission flag is set. That is, since it is determined in step 203 that the key state has changed from ON to OFF, in step 204, an OFF code indicating the key OFF is set as a data transmission flag. Thereafter, the process proceeds to step 208, where the scan is set for the next key.
[0015]
If it is determined in step 203 that the key state has changed from OFF to ON, this means that the key has been newly pressed, and the process proceeds to step 205.
In step 205, the address of the newly pressed key is compared with the address of the unconfirmed key already stored in the key buffer 101, and it is determined whether or not there is a match. The key buffer 101 temporarily stores an address of a newly pressed key as an unconfirmed key address for detection of wraparound described later. The key buffer is present in the microcomputer, but its capacity is preferably as compact as possible due to restrictions on the hardware of the microcomputer. The key buffer 101 in this embodiment has a capacity of 4 bytes, which is the minimum necessary for detecting the wraparound, with the key address being 1 byte per key, but may have a capacity larger than that.
[0016]
If it is determined in step 205 that the address of the newly pressed key does not match the address of the unconfirmed key already stored in the key buffer 101, the process proceeds to step 206, where it is determined that they match. If yes, go to Step 210.
In step 206, the first counter 103 counts the number of addresses stored in the key buffer 101, and determines whether or not it is full.
[0017]
If it is determined in step 206 that the key buffer 101 is full, it means that the total number of keys is already 4 or more, which means that a wraparound phenomenon has occurred, so the key is not confirmed. Then, go to Step 208.
If it is determined in step 206 that the key buffer 101 is not full, the process proceeds to step 207.
[0018]
In step 207, the address of the newly pressed key is stored in the key buffer 101 as the address of the unconfirmed key. Then, the process proceeds to step 208, where the scan is set for the next key.
In step 210, a roundabout inspection is performed. In this wraparound check, first, the second counter 104 counts the number of new keys including other newly pressed keys (including unconfirmed keys) and the keys that have already been confirmed and stored in the confirmed scan memory 102. The number is counted as the total number of pressed keys. Then, it is determined whether or not the total number of pressed keys is 4 or more and the number of newly pressed keys is 2 or more.
[0019]
Here, the wraparound phenomenon will be described. In a scan-type keyboard in which a plurality of key switches are arranged in a matrix, for example, the membrane switch key matrix has 8 lines on the column side and 16 to 18 lines on the row side. Each line on the column side is connected to a 5V power source via a resistor. In the key scan in such a key matrix, when the low level is detected by sequentially setting the row line on the low side to the low level (0V), reading the eight column side states corresponding to the low side. It is determined that the key has been pressed.
[0020]
FIG. 3 is a diagram illustrating a case where the “A” key is pressed, and FIG. 4 is a diagram illustrating a case where the “B”, “C”, and “D” keys are pressed simultaneously.
In order to facilitate understanding of the wraparound phenomenon, in FIGS. 3 and 4, it is assumed that there are two column-side lines and two row-side lines, and the column-side lines as detection lines are X1 and X2, and the detection lines. Let Y1 and Y2 be the low-side lines that intersect with.
[0021]
The column side lines X1 and X2 are connected to a 5V power supply through resistors. Normally, the keyboard scan sequentially sets the low side lines to the low level (0V) and sets the voltage levels of the column side lines X1 and X2 to the low level. A key scan is made by looking.
FIG. 3 shows a case where the normal “A” key is normally pressed. When Y1 is set to a low level and viewed as the voltage level of X1, it is 0 V, so it is detected that the “A” key has been pressed.
[0022]
On the other hand, in FIG. 4, when Y1 is set to the low level, the current flows to the ground through the switches in the order of “C”, “D”, and “B”. At this time, since the voltage level of X1 is 0 V, it is erroneously detected that the “A” key is pressed.
This is a wraparound phenomenon.
Therefore, as described above, as the sneak condition for detecting the sneak phenomenon, the number of new keys including other newly pressed keys (including unconfirmed keys) is already confirmed and stored in the confirmed scan memory 102. The number of keys pressed is counted as the total number of pressed keys, and it is determined whether or not the total number of pressed keys is 4 or more and the number of newly pressed keys is 2 or more.
[0023]
If it is determined in step 210 that the above wraparound condition is met, the newly pressed key may have been generated by the wraparound, so the key is not confirmed. At this time, for example, a code “FF” may be output, and when the host receives the code, an alarm may be sounded to alert the user. Thereafter, the process proceeds to step 208, where the scan is set for the next key.
[0024]
If it is determined in step 210 that the above wraparound condition is not met, no wraparound phenomenon has occurred, and the process proceeds to step 211 in order to confirm the newly pressed key as a key input.
In step 211, the contents of the key buffer 101 are cleared, the newly pressed key is stored in the fixed scan memory 102 in the memory map format as the fixed key, and an ON code indicating key ON is set as a data transmission flag. Thereafter, the process proceeds to step 208, where the scan is set for the next key.
[0025]
In step 208, setting of the MCU port, setting of the address to be scanned next, and the like are executed.
In step 209, it is determined whether or not it is a scan end, that is, whether or not all keys on the keyboard have been scanned.
If it is determined in step 209 that the scan end has not been reached, there is a key that has not been scanned yet, so the process returns to step 202.
[0026]
If it is determined in step 209 that the scan has ended, all keys have been scanned, and the process proceeds to step 212.
For example, during one key scan cycle, it is determined that there is a key change in step 202, it is determined that the key change is from OFF to ON in step 203, and it does not match the address stored in the key buffer 101 in step 205. When the process of determining in step 206 that the key buffer 101 is not full is passed four times, four key addresses are stored in the key buffer 101, and a wraparound phenomenon occurs. Means that.
[0027]
In step 212, it is determined whether the data transmission flag is set. The determined key data is stored in the transmission buffer for transmitting the key data. When the transmission flag is set, the data is output from the transmission buffer. As described above, the data transmission flag is set in step 204 or step 211. That is, the data transmission flag is set in step 204 because the key change is from ON to OFF, and the data transmission flag is set in step 211 because it is determined that there is no wraparound by the wraparound inspection in step 210. This is because the newly pressed key is the confirmation key.
[0028]
If it is determined in step 212 that the data transmission flag is set, the corresponding key code is output, and the process returns to step 200.
If it is determined in step 212 that the data transmission flag is not set, it means that no operation is performed on the keyboard, and the process returns to step 200.
[0029]
As described above, in this embodiment, in step 200, the timing is taken so that the key scan cycle becomes a predetermined time, for example, 8 to 10 ms, and the next key scan is started. Further, according to the present embodiment, since the key scan is executed every predetermined time, only the address is stored or deleted in the key buffer 101 even if the key state is changed. There is almost no difference in the ON / OFF processing time, and the key scan can always be executed in a substantially constant time. As a result, it is possible to make it difficult to analyze key scans by a third party, and a highly reliable keyboard can be realized.
[0030]
As described above, according to the present embodiment, the F key rollover technique for the wraparound inspection is executed within one key scan, so that high-speed key scan processing is possible.
Next, a key scanning method according to the second embodiment of the present invention will be described.
In this embodiment, the key matrix includes 8 lines on the column side and 10 to 18 lines on the row side, and the state of each line on the column side is temporarily changed for each scan of the row side line. Temporary scan memory is provided for automatic recording.
[0031]
As described in the first embodiment, the keyboard scan is performed by setting the low-side lines one by one to the low level (or high level), and the column-side eight lines corresponding to the low side. This is done by reading the state of. In the present embodiment, the state of each read key is temporarily stored in a temporary scan memory. Temporary scan memory is stored in a memory map format in which one key is stored per bit. The column side has 8 bits and the row side has the number of lines (for example, 10 to 18 bits) corresponding to the key matrix. Is done.
[0032]
FIG. 5 is a diagram illustrating a memory map of the temporary scan memory when a plurality of keys are pressed. In this figure, the state in which the key is ON is indicated by “1”.
When a key wraparound phenomenon occurs when a plurality of keys are pressed, the ON state of the keys appears at the grid positions on the column side and the row side, as shown in FIG. 5A. That is, in any one line on the column side and any one line on the row side, the ON state of two or more keys occurs simultaneously.
[0033]
FIG. 5B is also a diagram exemplifying a case where two or more ON states occur in any one line on the column side and any one line on the row side. In this case, the key is turned on. The state does not appear at the lattice positions on the column side and the row side, and therefore, no wraparound phenomenon occurs. Actually, in normal key operation, the keys are sequentially pressed one by one. Therefore, in the matrix pattern shown in FIG. 5B, “1” indicating ON of the keys appears one by one.
[0034]
As described above, in both (a) and (b) of FIG. 5, the ON state of two or more keys is detected in any one line on the column side and any one line on the row side. The difference is how many ON keys are detected simultaneously when a new key is pressed.
Accordingly, in the second embodiment according to the present invention, first, the number of ONs of the keys of the respective lines on the column side and the respective lines on the row side is counted, and at least one line is counted in each of the column side line and the row side line. Count whether there are two or more ON keys. If there are two or more ON keys on one line, it is further counted whether or not there are two or more ON state detections by the newly pressed key. Is determined to have occurred.
[0035]
FIG. 6 is a flowchart according to the second embodiment of the present invention.
First, the keyboard firmware checks whether it is time to scan, and starts scanning when it is time to scan. First, in step 501, the scan port is initialized.
Subsequently, in step 502, a key scan is executed. The row side lines are set to the low level (or high level) one by one, and the states of the eight column side lines corresponding to the row side are read and stored in the temporary scan memory. In this temporary scan memory, it is stored in a memory map format in which one key is stored per bit. The column side is 8 bits and the row side is the number of lines (for example, 10 to 18 bits) corresponding to the key matrix. Only prepared.
[0036]
Next, in step 503, the number of ON keys of each line on the column side is counted, and it is determined whether or not there is at least one line having two or more ON keys.
FIG. 7 is a diagram for explaining the counting of lines on the column side according to the present embodiment. This figure shows an example of a memory map of the temporary scan memory, where “1” represents the key ON state and “0” represents the key OFF state. For simplicity, each row is called row 1, row 2, row 3,..., Row 8, each column is called column 1, column 2, column 3,. Each column is swapped and displayed diagonally.
[0037]
As described above, the ON / OFF state of each key is stored in the temporary scan memory in a memory map format, and the 8 lines in each column of the key matrix correspond to the 8 bits of each column in the temporary scan memory. Yes.
Table 1 shows the case where one or zero key is ON in each column of 8 bits, and each of them is displayed as a hexadecimal number such as “** h”. In step 503, based on Table 1, pressing of two or more keys is detected for each column stored in the temporary scan memory. That is, in step 503, when the key status of each column stored in the temporary scan memory does not apply to any of 00h, 01h, 02h, 04h, 08h, 10h, 20h, 40h, and 80h, 2 keys are used. It is determined that the above has been pressed.
[0038]
[Table 1]
Figure 0004906178
For example, in the memory map as shown in FIG. 7, column 2 is “24h” and column 3 is “D0h”, and it is determined that each column has two or more key presses.
If it is determined in the above-described method that there is no line in which two or more ON keys exist in step 503, there is no wraparound phenomenon, and the key is determined and stored in the determined scan memory.
[0039]
If it is determined in step 503 that there is at least one line having two or more ON keys, the process proceeds to step 504.
Next, in step 504, the number of ONs of the keys on each row line is counted, and it is determined whether or not there is at least one line having two or more ON keys.
[0040]
FIG. 8 is a diagram for explaining the counting of the line on the row side according to the present embodiment. This figure shows an example of the memory map of the temporary scan memory as in FIG. 7, where “1” represents the key ON state and “0” represents the key OFF state. As in FIG. 7, each row and each column are interchanged and displayed diagonally.
In this embodiment, data is added using a counter for each row, and pressing of two or more keys is detected depending on whether the value of the counter is two or more. For example, in FIG. 8, the value of the counter of row 2 is 2, so that it is determined that row 2 has been pressed more than 2 keys.
[0041]
In the above-described method, if it is determined in step 504 that there is no line in which two or more ON keys exist, there is no wraparound, and the key is determined and stored in the determined scan memory.
If it is determined in step 504 that there is at least one line having two or more ON keys, the process proceeds to step 505.
[0042]
In step 505, it is checked whether or not two or more ON-states are detected at the same time by a newly pressed key. As already described with reference to FIG. 5, even if there is at least one line having two or more ON keys on the low side, the wraparound does not necessarily occur. In normal key operation, the keys are sequentially pressed one by one, so “1” indicating ON of the key appears one by one in the temporary scan memory. Two or more “1” s indicating ON of the same will appear at the same time. Therefore, by checking whether or not there are two or more ON-state detections at the same time in step 505, such erroneous recognition is prevented and the determination of the presence or absence of the wraparound phenomenon is made more reliable.
[0043]
FIG. 9 is a diagram illustrating the count of the number of newly pressed keys according to the present embodiment. This figure shows an example of the memory map of the temporary scan memory, as in FIG. 7 or 8, where “1” represents the key ON state and “0” represents the key OFF state. As in FIGS. 7 and 8, each row and each column are interchanged and displayed diagonally.
In the present embodiment, as described above, the keyboard scan result is temporarily stored in the temporary scan memory in the memory map format. In step 505, this is compared with the definite scan memory, and a difference is taken to extract it as a change bit shown in FIG. If there are two or more lines where the bit value of the low-side line is not 00h, it means that two or more keys have been pressed simultaneously.
[0044]
If it is determined in the above-described method that there are not two or more at the same time in step 505, it means that there is no wraparound, so the key is determined and stored in the determined scan memory.
If it is determined in step 505 that there are two or more at the same time, this means that a wraparound phenomenon has occurred.
[0045]
Thus, according to the second embodiment of the present invention, for a keyboard capable of normal key input of a plurality of keys, such as 6 keys or 8 keys, for example, when performing braille input. Can also implement a wraparound inspection.
[0046]
【Effect of the invention】
As described above, according to the first invention, since the F key rollover technique for the wraparound inspection is realized in one key scan, a high-speed key scan process can be executed. It is possible to make it difficult for the person to analyze the key scan, and safety is increased.
[0047]
According to the second aspect of the present invention, it is possible to realize a wraparound inspection even for a keyboard capable of normal key input of a plurality of keys such as 6 keys or 8 keys, for example, when performing Braille input. it can.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of keyboard control firmware according to a first embodiment of the present invention.
FIG. 2 is a flowchart according to the first embodiment of the present invention.
FIG. 3 is a diagram illustrating a case where an “A” key is pressed.
FIG. 4 is a diagram illustrating a case where “B”, “C”, and “D” keys are pressed simultaneously.
FIG. 5 is a diagram illustrating a memory map of a temporary scan memory when a plurality of keys are pressed.
FIG. 6 is a flowchart according to a second embodiment of the present invention.
FIG. 7 is a diagram for explaining column-side line counting according to the embodiment;
FIG. 8 is a diagram for explaining the count of the row line according to the embodiment.
FIG. 9 is a diagram for explaining the count of the number of newly pressed keys according to the embodiment.
[Explanation of symbols]
1 ... Keyboard control firmware
101 ... Key buffer
102 ... Final scan memory
103 ... 1st counter
104 ... second counter

Claims (3)

コンピュータのキーボードをキースキャンした結果を1キー当り1ビットに対応したメモリマップ形式で一時的に記憶するためのスキャンメモリと、
前記スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインがロウ側に少なくとも1つ存在するか否かを判定するロウ側判定手段と、
前記スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインがコラム側に少なくとも1つ存在するか否かを判定するコラム側判定手段と、
前記ロウ側判定手段及び前記コラム側判定手段が共に、2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定した場合において、新規に押下されたキーによるON状態の検出が同時に2個以上あったか否かを判定する同時キー押下判定手段と、
前記ロウ側判定手段もしくは前記コラム側判定手段のいずれか一方が、2キー以上のONキーが存在しないと判定した場合に、あるいは、前記同時キー押下判定手段が、新規に押下されたキーによるON状態の検出が同時に2個以上はないと判定した場合に、前記スキャンメモリに記憶されている内容を確定キーとして確定し、前記同時キー押下判定手段が、新規に押下されたキーによるON状態の検出が同時に2個以上あったと判定した場合に、回り込みと判定するキー確定手段と、
前記キー確定手段により確定された確定キーを記憶する確定メモリと、
を備えることを特徴とするキーボード。
A scan memory for temporarily storing a result of key scanning of a computer keyboard in a memory map format corresponding to one bit per key;
Low side determination means for determining whether or not there is at least one line on the low side where there are two or more ON keys in the memory map stored in the scan memory;
Column side determination means for determining whether or not there is at least one line on the column side where there are two or more ON keys in the memory map stored in the scan memory;
When both the row-side determination means and the column-side determination means determine that there is at least one line having ON keys of two or more keys, two ON state detections by a newly pressed key are simultaneously performed. Simultaneous key press determination means for determining whether or not there has been,
When either the row-side determining means or the column-side determining means determines that there are no more than two ON keys, or the simultaneous key pressing determining means is turned on by a newly pressed key When it is determined that two or more states are not detected at the same time, the content stored in the scan memory is determined as a determination key, and the simultaneous key pressing determination unit is in an ON state by a newly pressed key. A key confirming means for determining that wraparound occurs when it is determined that there are two or more detections simultaneously;
A confirmation memory for storing a confirmation key confirmed by the key confirmation means;
A keyboard characterized by comprising.
前記同時キー押下判定手段は、前記スキャンメモリと前記確定メモリとを比較して変化ビットとして抽出することで、2キー以上の同時押下の有無を判定する請求項に記載のキーボード。The keyboard according to claim 1 , wherein the simultaneous key pressing determination unit determines whether or not two or more keys are simultaneously pressed by comparing the scan memory and the fixed memory and extracting the same as a change bit. 前記キー確定手段で回り込みがあると判定された場合に、回り込みであることを示すエラーコードを送信するエラーコード送信手段を更に備える請求項またはに記載のキーボード。Wherein when it is determined that there is wraparound key confirmation unit, keyboard according to claim 1 or 2 further comprising an error code transmitting means for transmitting an error code indicating that it is wraparound.
JP2000223885A 2000-07-19 2000-07-19 keyboard Expired - Fee Related JP4906178B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000223885A JP4906178B2 (en) 2000-07-19 2000-07-19 keyboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000223885A JP4906178B2 (en) 2000-07-19 2000-07-19 keyboard

Publications (2)

Publication Number Publication Date
JP2002041215A JP2002041215A (en) 2002-02-08
JP4906178B2 true JP4906178B2 (en) 2012-03-28

Family

ID=18717922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000223885A Expired - Fee Related JP4906178B2 (en) 2000-07-19 2000-07-19 keyboard

Country Status (1)

Country Link
JP (1) JP4906178B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342001A (en) 2001-05-17 2002-11-29 Sourcenext Corp Key input counting system, key input counting method and key input counting program

Also Published As

Publication number Publication date
JP2002041215A (en) 2002-02-08

Similar Documents

Publication Publication Date Title
EP0441032B1 (en) Keyboard emulation system
JPS5876932A (en) Keyboard scanning and interface method and circuit
KR900007405B1 (en) Keyboard control method
JP3262989B2 (en) Information processing device
EP0067516B1 (en) Shift control system for keyboards
JP4906178B2 (en) keyboard
CN111077401B (en) Keyboard testing method, device and storage medium
JPS6237405B2 (en)
JPH0313610B2 (en)
US5583498A (en) Input device
JP2713227B2 (en) Input terminal device
JPH0426130B2 (en)
JPH0219490B2 (en)
JPH0540557A (en) Keyboard device
JPH103340A (en) Key input device
JP3277547B2 (en) Message communication terminal
JPH0451847B2 (en)
JPS609288B2 (en) character input device
JP2823610B2 (en) Key input device
SU290280A1 (en) DEVICE FOR ENTERING INFORMATION
KR19990056137A (en) Key input recognition circuit and method in telephone
JPH0142408B2 (en)
JPH0750423B2 (en) Key input device
JPH04205618A (en) Key code processor for keyboard
JPS61267817A (en) Pen type input device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20031125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100427

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4906178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees