1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QMKで自作キーボードCorne V4 Chocolateに書き込む

Posted at

前書き

久々にキーボードを買い換えました。

数年前に購入したキーボードはQMKでkeymapを変更していたのですが、数年の間に変化している部分やドキュメントが見つからずに詰まった部分があったので備忘録も兼ねて残しておきます。

ファームウェアの書き込みについて

自作キーボードのファームウェアの書き込み方法で代表的なものは以下かと思います。

Web上でできる便利なものが存在しますが、今回はマクロなども組み込みたい、かつ、過去にQMKで作成した設定もある程度流用したいので、QMKを使用します。

Corne V4 Chocolateの作成

組み立て方

ビルドガイドどおりに組み立てれば完成です。
はんだ付けも不要で迷う箇所はありませんでしたので割愛します。
デフォルトでファームウェアも書き込まれているので、そのまま使用することもできます。

QMKの初期設定

gitやqmkのコマンドはインストール済みであることを前提とします。
qmkがインストール済みにも関わらず、途中でエラーが出た場合はqmkをアップデートしてください。

python3 -m pip install -U qmk
python3 -m pip install -U -r requirements.txt

qmkのソースコードをcloneします

# clone
git clone https://github.com/qmk/qmk_firmware.git
# サブモジュールもclone
git clone --recursive qmk/qmk_firmware.git 
# defaultのkeymapを複製
cp -r keyboards/crkbd/keymaps/default keyboards/crkbd/keymaps/mykeymap

keymapの変更

/qmk_firmware/keyboards/crkbd/keymaps/mykeymap/keymap.cを自分好みに書き換えます

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_split_3x6_3(
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
       KC_TAB,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                         KC_Y,    KC_U,    KC_I,    KC_O,   KC_P,  KC_BSPC,
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
      KC_LCTL,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                         KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, KC_QUOT,
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
      KC_LSFT,    KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                         KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,  KC_ESC,
  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
                                          KC_LGUI,   MO(1),  KC_SPC,     KC_ENT,   MO(2), KC_RALT
                                      //`--------------------------'  `--------------------------'
  ),

中央のキーを使用する方法
中央のキー(T,G,Bの右側のキー、Y,H,Nの左側のキー)を使用する場合はLAYOUT_split_3x6_3LAYOUT_split_3x6_3_ex2に変更します。
配列の桁数が増えるので、忘れずに書くレイヤーのキーを4つずつ増加させます。

rules.mk
rules.mkに記載が必要な場合はqmk_firmware/keyboards/crkbd/rules.mkを作成します。

COMBO_ENABLE = yes # コンボ
DYNAMIC_MACRO_ENABLE = yes  # 動的マクロ

コンパイル+書き込み

書き込みにQMK Toolboxは使用しません

コードが書けたらコンパイルして書き込みします。

# コンパイルのみ
qmk compile -kb crkbd/rev4_1/standard -km default
# コンパイル+書き込み
qmk flash -kb crkbd/rev4_1/standard -km default

↓実行ログ

hayashi@hayashi-Mac-Studio qmk_firmware % qmk flash -kb crkbd/rev4_1/standard -km mykeymap
Ψ Compiling keymap with gmake -r -R -f builddefs/build_keyboard.mk -s flash KEYBOARD=crkbd/rev4_1/standard KEYMAP=mykeymap KEYBOARD_FILESAFE=crkbd_rev4_1_standard TARGET=crkbd_rev4_1_standard_hayashi VERBOSE=false COLOR=true SILENT=false QMK_BIN="qmk"


Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/community_modules.c                        [OK]
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Size before:
   text    data     bss     dec     hex filename
      0   62960       0   62960    f5f0 crkbd_rev4_1_standard_hayashi.uf2

Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/community_modules.h                        [OK]
Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/community_modules_introspection.c          [OK]
Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/community_modules_introspection.h          [OK]
Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/led_matrix_community_modules.inc           [OK]
Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/rgb_matrix_community_modules.inc           [OK]
Generating: .build/obj_crkbd_rev4_1_standard_mykeymap/src/default_keyboard.c                         [OK]
Compiling: quantum/keymap_introspection.c                                                           [OK]
Linking: .build/crkbd_rev4_1_standard_mykeymap.elf                                                   [OK]
Creating binary load file for flashing: .build/crkbd_rev4_1_standard_mykeymap.bin                    [OK]
Creating UF2 file for deployment: .build/crkbd_rev4_1_standard_mykeymap.uf2                          [OK]
Copying crkbd_rev4_1_standard_mykeymap.uf2 to qmk_firmware folder                                    [OK]
Creating load file for flashing: .build/crkbd_rev4_1_standard_mykeymap.hex                           [OK]

Size after:
   text    data     bss     dec     hex filename
      0   62960       0   62960    f5f0 crkbd_rev4_1_standard_mykeymap.uf2

Flashing for bootloader: rp2040
Waiting for drive to deploy...

Waiting for drive to deploy...が表示されたらキーボード側で以下のいずれかの操作を実行して書き込めるようにします。

  • BOOTボタンを押しながらPCに接続する
  • PCに接続した状態でBOOTボタンを押しながらリセットボタンを押す
  • 左親指の真ん中のキー(MO(1))→右親指の真ん中のキー(MO(3)→TABキー(QK_BOOT)の順に押す

以下が表示されれば完了です!

Flashing /Volumes/NO NAME (RPI-RP2)
Wrote 125952 bytes to /Volumes/NO NAME/NEW.UF2
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?