表1と図1は、MAX6959への標準キースイッチ接続を示しています。キースイッチ回路は、2 x 4のマトリックス(2列4行)で構成された8つのキーを読み取ります。キーマトリックスの4行は、4つのLEDカソード駆動出力(DIG0/SEG0~DIG3/SEG3)によって駆動されます。これらのLEDカソード駆動出力は、複合LED駆動の一部として順に320μs (定格)の間ローとなり、これによってLEDを順次駆動します。また、これらの駆動出力を使用して、2つのキースイッチのそれぞれ一端をローにプルダウンしています。キーのもう一端は2つの入力端子(INPUT1とINPUT2)に接続され、MAX6959の内部でV+にプルアップされています。スイッチが押された場合、該当するDIG_/SEG_出力によってINPUT1またはINPUT2がローにプルダウンされるため、MAX6959はキーが押されたことを検出し、デバウンスを実施します。
具体的には、冗長的な状況を利用することが可能かどうかを探すことになります。多くの場合、アプリケーションに必要なことは、多数のキーの1つが押されたかどうかを検出するということだけです。通常、装置で2つのキーが押された場合、間違って入力したか、あるいは特殊な方法で工場診断モードに移行したかのいずれかです。つまり、冗長的な状況とは、2つのキーが押された場合です。ここで提案する「ごまかし」とは、4つの追加キーを、特定のキーのペアが同時に押されたかのように思わせることです。これを表2に示します。たとえば、Key8が押されたとき、Key0とKey4が同時に押されたかのようにMAX6959に思わせる必要があります。この拡張アーキテクチャは、元のキーの組み合わせ(たとえば、Key0とKey4)が物理的に隣接しておらず、したがって誤って同時に押されることのない限り、正しく機能します。1回のキースキャンパスの結果が確実に解析されるようにするために、30.3msの最小デバウンスサイクルタイム以内にキーのIRQに反応するようにソフトウェアを記述する必要があります。ソフトウェアのIRQ反応が遅いと、2つのキーが同時に押されたのか(追加した特別キーの識別)、同じ2つのキーが連続して押されたのかを区別することができなくなります。どちらの場合でも、キーデバウンスレジスタ0 x 08は、各キーに対応するビットのセットを示すだけです。