0813
昼頃に起きて、キーボードのファームウェアの開発を進めた。USB HIDのキーコードの定義では、たとえば「@」は「2」とシフトキーで入力することになっていて、1キーで入力する方法がなかったのだけど、QMKではそういうキーも定義できているから、これはなんでかなと思って調べたら、単にシフトキーも同時に送信する実装になっているだけだった。そのようにしたら動いた。
動いた、と書いたけど実はけっこう紆余曲折があって、なぜかシフトキーがワンテンポ遅れる問題があってなんだろうなんだろうと思っていたのだけど、最終的にUSB HIDのレポートディスクリプタを解析して比較してなんかガチャガチャやっていたら直った。なぜここが問題になるのかはよくわかっていないが、まあ動いたのでよしとしましょう。
ただ、まだレイヤー切り換えまわりに課題がある。具体的には、レイヤー切り換えキーを押したり離したりするタイミングによって切り換え前後の状態で入力が走ってしまうので、「レイヤーを切り替えた時点ですでに押下されていたキーはレイヤー切り換え対象にしない」みたいな処理が必要そう。まあ、これはやるだけ。
あと、結局OLEDパネルの使い途ないなとか、43キーもいらなくて41キーくらいでいい気がするな、とか、まあそのあたりも要調整。そもそもまだケースがないし。
寝ます。明日は夕方ちょっと出かける。
この日記はnecoboard v1.1で書きました。(一度やってみたかった)