QMK Firmware でオリジナルキーボードのファームウェアを作成する
自分で作成したPCBや空中配線で作ったキーボードのファームウェアの作成法のメモです。
(※ 2020/2/4 更新)
qmk/qmk_firmware のインストール
github から qmk_firmware のリポジトリをクローンしてきます。
$ git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
$ cd qmk_firmware
$ util/qmk_install.sh
オリジナルキーボードのファームウェアを作成する
ここからが本題。
オリジナルキーボードに合わせたファームウェアを作成していきます。
例として2x2のキーボードのファームウェアを作成していきます。
自分の作成したいキーボードに合わせて便宜読み替えてください。
1. テンプレートを作成
./util/new_keyboard.sh
を実行すると以下のようにキーボードの名前やキーボードタイプを聞かれるので、入力してください。
Keyboard Type はデフォルト(何も入力せずにエンター)で問題ありません。
$ cd qmk_firmware
$ ./util/new_keyboard.sh
Generating a new QMK keyboard directory
Keyboard Name: 4key
Keyboard Type [avr]:
Your Name [John Smith]:
Copying base template files... done
Copying avr template files... done
Renaming keyboard files... done
Replacing %YEAR% with 2020... done
Replacing %KEYBOARD% with 4key... done
Replacing %YOUR_NAME% with mizuhof... done
Created a new keyboard called 4key.
To start working on things, cd into keyboards/4key,
or open the directory in your favourite text editor.
qmk_firmware/keyboards/4key
以下にテンプレートが作成されます。
フォルダの中身は以下のようになっています。
.
├── 4key.c
├── 4key.h
├── config.h
├── info.json
├── keymaps
│ └── default
│ ├── config.h
│ ├── keymap.c
│ └── readme.md
├── readme.md
└── rules.mk
2. ファイルの書き換え
主に書き換えるファイルは以下の4つ
- 4key.h
- config.h
- keymaps/default/keymap.c
- rules.mk
4key.h
キーボードのレイアウトを以下のように定義していきます。
#define LAYOUT
を書き換えます。
(略)
#define LAYOUT( \
k00, k01, \
k10, k11 \
) \
{ \
{ k00, k01,}, \
{ k10, k11 }, \
}
(略)
rules.mk
LEDを光らせる場合は以下の項目をyesにします。
(略)
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
(略)
config.h
キーボードマトリックスの設定を行います。
キーマトリクスの行と列が pro micro のどのポートに対応しているのかなどを指定します。
pro micro のポートを指定する場合は以下の画像を参考にしてください。
ただし、先頭のPは省略します(例:PD3 → D3)。
(略)
/*
* キーボードのレイアウトの設定
*/
#define MATRIX_ROWS 2 // キーボードの行の数
#define MATRIX_COLS 2 // キーボードの列の数
(略)
/*
* キーボードの配線の変更
* COLS: 列に使用するピンの指定, 左から右
* ROWS: 行に使用するピンの指定, 上から下
*/
#define MATRIX_ROW_PINS { D4, C6 }
#define MATRIX_COL_PINS { F4, F5 }
(略)
/*
* LEDの明るさの設定
*/
#define BACKLIGHT_LEVELS 3
(略)
/*
* LEDの制御ピンの設定
* LEDの数の設定
*/
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 4
(他にも色々設定できるが今回は省略)
#endif
(略)
keymaps/default/keymap.c
ここに、どのキーを押したら何を入力するのかを設定する。
入力される文字にはそれぞれキーコードが決まっているので、
Keycodes - QMK Firmware を参考に設定していく。
(略)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_ESC, KC_ENT, \
KC_TAB, KC_SPC \
),
};
(略)
以上で最低限の設定は完了です。
キーボードにファームウェアを書き込む
先程設定したファイルを pro micro に書き込んでいきます。
手順は以下のとおりです。
-
ファームウェアをビルドする
$ make 4key:default
-
ファームウェアを書き込む
$ make 4key:default:avrdude
以上で完了です。
それでは、よいキーボードライフを!!!
参考
Author And Source
この問題について(QMK Firmware でオリジナルキーボードのファームウェアを作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/mizuhof/items/0c34308c2d57c9345f3a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .