mac(catalina) で QMKのdebugをする
自作キーボードに最適ファームウェア QMK
(Quantum Mechanical Keyboard Firmware)
自分で色々カスタマイズするために、DEBUG方法、実際には log を取得する方法を試した。
Debug Tool
QMK Toolbox
というアプリを利用する。
macだと、brew install がお薦め
brew tap homebrew/cask-drivers
brew cask install qmk-toolbox
コマンドラインの hid_listen
というツールもあったが、Catalina 以降、32bitのコマンドが使えなくなり、これも使えなくなった。
QMK のコード
初期化
rules.mk
CONSOLE_ENABLE = yes
keymap.c
初期化関数で宣言
void matrix_init_kb(void) {
debug_enable = true;
debug_matrix = true;
debug_mouse = true;
}
keymap.c
でprint 出力
#ifdef CONSOLE_ENABLE
#include <print.h>
#endif
void encoder_update_user(uint8_t index, bool clockwise) {
#ifdef CONSOLE_ENABLE
uprintf("EN: index: %u, clockwise: %u\n", index, clockwise);
#endif
if (index == 0 || index == 2) {
if (clockwise) {
tap_code16(KC_RIGHT);
} else {
tap_code16(KC_LEFT);
}
} else if (index == 1 || index == 3) {
if (clockwise) {
tap_code16(KC_DOWN);
} else {
tap_code16(KC_UP);
}
}
}
console log の確認
debug対象のキーボードをUSB接続して、QMK Toolbox を起動。
QMKのソフトウェアを書き込むために、キーボードのRESTをすると、再接続情報が見える。
前述のログを埋め込んだプログラムを書き込んだあと、ロータリーエンコーダーをくるくる回すと、以下のようなconsole log が見える。