keyboard

moduloアーキテクチャでのINTの取扱いとLED拡張

moduloアーキテクチャでは、INT信号だけのためにTRRSケーブルを1本使用します。

INT信号

かといって、INT信号を使う場面とは、キー入力があるまでスリープして、INT信号が来たところでキースキャンを行うというソフトウェアでの処理が必要になります。

正直、その辺の処理を真面目に作るのはちょっとしんどいので、INT信号は無視して常時スキャンしています(うまい活用方法を知っている方は教えてください)。

RGBLEDによるバックライト

以前のRGBLEDはPCBの穴の中に埋め込む必要があり、実装難易度が高かったのですが、SK6812MINI-Eの登場で、かなり楽に実装できるようになりました。

バックライトの有無自体は、生産技術的にどうでもいい感があるのですが、世の中には、バックライトがあることを前提としたキーキャップが存在するのです。

そのようなキーキャップは、バックライトが無い状態だと視認性が悪く、これは生産技術的に問題となります。

ということで、バックライトに対応しようとしたのですが、moduloアーキテクチャは、I2Cを使ったキー入力のスキャンにしか言及していないので、まったく別口の仕組みを用意する必要があります。

INTで使うケーブルに載せてしまえ

ということで、TRRSのRの内、INTで使用していない方をLEDの入出力に使うように勝手に拡張することを思いついてしまったので、それによってセパレート型でもまとめてLEDバックライトが使えるようにしています(非推奨だけど)。

当然、moduloアーキテクチャに適合しなくなってしまうので、この機能については、ジャンパ・ピンで信号を繋げたときだけ利用できるオプト・インとしています。

光る

ペンダント→ケーブル→1台目→ケーブル→2台目 という繋ぎ方でもちゃんと光りますね。