【自作キーボード】QMKでコンソールを有効にし、プリントデバッグをする。

自作キーボード

出力先はQMK Toolboxが使える。

qmk_debug_keypress.png

書き換える。

rules.mk

CONSOLE_ENABLE = yes

keymap.c

void matrix_init_kb(void) {
    // デバッグ量を増やす(?)定義しなくても次の関数は問題なく監視できた。
    /* debug_enable   = true; */
    /* debug_matrix   = true; */
    /* debug_mouse    = true; */
    /* debug_keyboard = true; */
}

// 押されたキーのキーコードと座標を出力する。
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#ifdef CONSOLE_ENABLE
    uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
#endif 
  return true;
}

print.hをインクルードすることで、プリント関数を使って出力できるようになる。

#include <print.h>
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    print( "test\n" );
#ifdef CONSOLE_ENABLE
    uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
#endif 
  return true;
}

qmk_debug_keypress2.png

参考

Debugging FAQ | QMK Firmware
QMK firmware の開発メモ – tokuhirom’s blog
mac(catalina) で QMKのdebugをする – Toy with poppo-ya