[qmk_firmware]どのキーを押しても、よく分からない値がキーコードとして送信されるようになり、文字が入力できなくなった

   2020/04/25

Lily58のファームウェアを更新してる時の話。
Windowsで使う時とMacで使う時でキー配列を変えられるようにしたくて、bootmagicという機能を使おうと思ったときに陥った不具合。

bootmagicについては結局うまくいかなかったので割愛するとして、その後他の機能を実装していたら、突然キーボードがうまく動かなくなった。
アルファベットが全く入力できない。
LCDを見た感じ、よく分からないキーコードが送信されているようだった。
例えば、"a"なら4が、"c"なら6が表示されるはずが、5桁くらいの整数(正の数だったり負の数だったり)が表示されるようになっていた。

実装したコードが悪いのか?
というそういうわけではなさそう。
デフォルトのプログラムさえ動かなくなっていたのだ。

じゃあ基板が壊れたのか?
というとそうでもなさそう。
試しにArduinoの簡単なプログラムを書き込んでみたところ、普通に動いた。

じゃあなんだったのかと言うと、EEPROMの中身が変になっていたせいだった。
bootmagicはキーボードの設定を保存しておくためにEEPROMを使うっぽい。
この設定が残ってしまっていたために、誤作動を引き起こしたみたい。

Arduinoのスケッチ例にある「eeprom_clear」というスケッチを書き込んでEEPROMをまっさらにして、改めてキーボードのプログラムを書き込んだところ、正常にアルファベットを入力できるようになった。

タイトルとURLをコピーしました

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

nine + 6 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください