図面 (/)

技術 キーボード

出願人 富士通コンポーネント株式会社
発明者 出浦勝司
出願日 2000年7月19日 (20年4ヶ月経過) 出願番号 2000-223885
公開日 2002年2月8日 (18年9ヶ月経過) 公開番号 2002-041215
状態 特許登録済
技術分野 キーボード等からの入力
主要キーワード 擬似入力 スキャンエンド 入力可否 キースキャン処理 キー変化 押下判定 制御ファームウェア 点字入力
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2002年2月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

正常なキー操作として入力され得る複数のキー入力にも対応した回り込み検査が可能な高速キーボードの実現。

解決手段

キーボードは、新規押下キーを検出する検出手段と、新規押下キーを正常なキー入力である確定キーとして記憶する確定メモリ102 と、新規押下キーのアドレスを記憶するキーバッファ101 であって、新規押下キーのアドレスが記憶されていない場合のみ記憶されるキーバッファ101 と、新規押下キーのアドレスが記憶されている場合に、記憶されているアドレスと確定キーとの合計数が4以上であり、記憶されているアドレスの数が2以上であるときに回り込みがあると判定する回り込み判定手段と、回り込みがない場合に、新規押下キーを確定メモリ102 に記憶するキー確定手段とを備える。

概要

背景

近年、パーソナルコンピュータ等で使用されるキーボードは、アプリケーション多機能化、及び通信高速化に伴い、キースキャン処理の一層の高速化が求められている。複数個キースイッチをマトリクス状に配置したスキャンタイプのキーボードにおいては、一般に、メンブレンスイッチキーマトリクスコラム側に8本、ロウ側に16〜18本のラインが配置されている。このようなキーマトリクスにおいて、ロウ側のラインを順次ローレベルにセットし、そのロウ側に対応するコラム側の8本の状態を読み込むことによりキースキャンがなされる。

このようなキーボードにおいて、同時に複数個のキースイッチが押下されたとき信号の回り込みが発生し、押下されたキー以外の別のキーが操作されたような擬似入力状態になる。このような回り込み現象を回避するために、キーボードの制御ファームウェアを用いて従来から様々な解決策がとられている。その1つとしてFキーロールオーバ技術による方法がある。これは既に押下されたキーを新たに押下されたキーとを合わせた総押下キー数が4キー以上であり、かつ、新規に押下されたキーが2キー以上である場合に回り込みが発生したと判定する方法である。

概要

正常なキー操作として入力され得る複数のキー入力にも対応した回り込み検査が可能な高速のキーボードの実現。

キーボードは、新規押下キーを検出する検出手段と、新規押下キーを正常なキー入力である確定キーとして記憶する確定メモリ102 と、新規押下キーのアドレスを記憶するキーバッファ101 であって、新規押下キーのアドレスが記憶されていない場合のみ記憶されるキーバッファ101 と、新規押下キーのアドレスが記憶されている場合に、記憶されているアドレスと確定キーとの合計数が4以上であり、記憶されているアドレスの数が2以上であるときに回り込みがあると判定する回り込み判定手段と、回り込みがない場合に、新規押下キーを確定メモリ102 に記憶するキー確定手段とを備える。

目的

従って、本発明の第1の目的は、上記課題に鑑み、Fキーロールオーバ技術を用いた回り込み検査を行うキースキャン方法において、より高速なキースキャンを実現することにある。本発明の第2の目的は、上記課題に鑑み、正常なキー操作として入力され得る複数のキー入力にも対応した回り込み検査が可能なキースキャン方法を提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

キーを1つずつスキャンし、新規に押下されたキーを検出する検出手段と、前記新規に押下されたキーは正常なキー入力であると確定されたときに、確定キーとして記憶するための確定メモリと、前記新規に押下されたキーのアドレスを一時的に記憶するためのキーバッファであって、前記新規に押下されたキーのアドレスは、該アドレスが前記キーバッファに未だ記憶されていない場合のみ記憶されるキーバッファと、前記新規に押下されたキーのアドレスが前記キーバッファに既に記憶されている場合に、前記キーバッファに記憶されているアドレスの数と前記確定メモリに記憶された確定キーの数との合計が4以上であり、かつ前記キーバッファに記憶されているアドレスの数が2以上であるときに回り込みがあると判定する回り込み判定手段と、該回り込み判定手段で回り込みがないと判定された場合に、前記新規に押下されたキーを確定キーとして前記確定メモリに記憶すると共に、当該確定キーに対するコードの送信を要求するフラグをセットし、次のキーのスキャンに移るキー確定手段とを備えることを特徴とするキーボード

請求項2

前記回り込み判定手段で回り込みがあると判定された場合に、回り込みであることを示すエラーコードを送信するエラーコード送信手段を更に備える請求項1に記載のキーボード。

請求項3

前記フラグを受信後、当該コードを送信するコード送信手段を更に備える請求項1に記載のキーボード。

請求項4

前記検出手段は、所定の時間間隔でキーボード全体にわたってキースキャンする請求項1に記載のキーボード。

請求項5

前記キーバッファは、少なくとも4つのキーのアドレスを記憶するだけの容量を有する請求項1に記載のキーボード。

請求項6

前記回り込み判定手段は、前記新規に押下されたキーの押下が終了したことを検出すると直ちにキーオフ処理を実行する請求項1に記載のキーボード。

請求項7

コンピュータのキーボードをキースキャンした結果を1キー当りビットに対応したメモリマップ形式で一時的に記憶するためのスキャンメモリと、確定したキー入力を1キー当り1ビットに対応したメモリマップ形式で記憶する確定メモリと、前記スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインロウ側に少なくとも1つ存在するか否かを判定するロウ側判定手段と、前記スキャンメモリに記憶されたメモリマップにおいて、2キー以上のONキーが存在するラインがコラム側に少なくとも1つ存在するか否かを判定するコラム側判定手段と、前記ロウ側判定手段及び前記コラム側判定手段が共に、2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定した場合に、回り込みと判定するキー確定手段とを備えることを特徴とするキーボード。

請求項8

前記ロウ側判定手段及び前記コラム側判定手段が共に、2キー以上のONキーが存在するラインが少なくとも1つ存在すると判定した場合に、同時に2キー以上の押下があったか否かを判定する同時キー押下判定手段と、該同時キー押下判定手段で、同時に2キー以上の押下がないと判定されたときは前記スキャンメモリの内容を前記確定メモリに記憶し、同時に2キー以上の押下があったと判定されたときは回り込みと判定するキー確定手段とを更に備える請求項7に記載のキーボード。

請求項9

前記同時キー押下判定手段は、前記スキャンメモリと前記確定メモリとを比較して変化ビットとして抽出することで、2キー以上の同時押下の有無を判定する請求項8に記載のキーボード。

請求項10

前記キー確定手段で回り込みがあると判定された場合に、回り込みであることを示すエラーコードを送信するエラーコード送信手段を更に備える請求項7〜9のいずれか一項に記載のキーボード。

技術分野

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ビットに対応したメモリマップ形式で記憶する確定メモリと、スキャンメモリに記憶されたメモリマップにおいて、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

ID=000003HE=065 WI=055 LX=1225 LY=1000
例えば、図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キーといったような、複数キーの正常なキー入力が可能なキーボードに対しても回り込み検査を実現することができる。

図面の簡単な説明

0048

図1本発明の第1の実施例によるキーボード制御ファームウェアの概略図である。
図2本発明の第1の実施例によるフローチャートを示す図である。
図3「A」キーが押下された場合を説明する図である。
図4「B」、「C」、「D」キーが同時に押下された場合を説明する図である。
図5複数のキーが押下された場合の一時スキャンメモリのメモリマップを例示する図である。
図6本発明の第2の実施例によるフローチャートを示す図である。
図7本実施例によるコラム側のラインのカウントを説明する図である。
図8本実施例によるロウ側のラインのカウントを説明する図である。
図9本実施例による新規に押下されるキー数のカウントを説明する図である。

--

0049

1…キーボード制御ファームウェア
101…キーバッファ
102…確定スキャンメモリ
103…第1のカウンタ
104…第2のカウンタ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ