Meishi keyboard 組み立て方ガイド

※現在 GCC 8 系でメモリマップの構築に不具合があるようで、Pro Micro への書き込みに失敗するようです。その場合は GCC 8 系をアンインストールして GCC 7 系をインストールしてください。

Meishi - The micro macro keyboard をご購入、もしくはリポジトリから製造いただきありがとうございます。この記事では、Meishi keyboard の組み立て方を簡単に紹介します。

必要なパーツ(同梱物)

f:id:biacco42:20180121224357j:plain

項目 数量
Meishi PCB 1
Pro Micro 1
キースイッチ (Cherry MX 互換 / Kailh Low Profile) 4
キーキャップ 4
ダイオード(1N4148) 4
リセット用タクトスイッチ(5 mm ピッチ 2 本足) 1
クッションラバーシール 4

(オプション) 組み立てに必要・あると便利な道具

白光 ダイヤル式温度制御はんだこて FX600

白光 ダイヤル式温度制御はんだこて FX600

温度調節機能が便利(ない安物は温度が高すぎてはんだ付けが難しいし基板焼いちゃいやすい)。加温も早くてよいです。

白光(HAKKO) こて台 633-01

白光(HAKKO) こて台 633-01

コテ台も安いのもあるんだけど、熱いものを扱うのでちゃんと固定できる・保護できるものがおすすめ。これはコテ先クリーナーもついていて、スポンジに水をつけるタイプと比べてもめちゃめちゃ扱いやすいので総合的にお得だと思います。

goot はんだ吸取り線 CP-3015

goot はんだ吸取り線 CP-3015

はんだ吸取り器があったほうがよい場合も多いんだけれど、自作キーボード、多分そんなにはんだをミスったりするような複雑な部分もないし、とりあえずはこれだけあれば十分。

バイスの余った脚を切るのに必要。

これぐらいあればこのキーボードを作る分には十分だと思います。

組み立て

単純で、基本すべてはんだ付けしてキーキャップ・脚シールをつけるだけです。ただし、次の 2 点に注意する点があります。

  • ダイオードの向き
  • Pro Micro の固定方向
  • キースイッチの固定

ダイオードの向き

ダイオードという部品は基本的には一方向にだけ電流を流す整流用に使われます。なので、どちらに電流を流すかという 向き の概念があります。この向きを間違えると正しく動作しません。

f:id:biacco42:20180121235555j:plain

写真のダイオードの左側、黒い線が入っている側が カソード、逆に入っていない側が アノード といい、アノード側からカソード側に向けて電流が流れます。

f:id:biacco42:20180121235845j:plain

キーボードに固定する際には、この黒線の入ったカソード側を矢印の先の線のある側、四角いパッド側にしてはんだ付けしてください。

Pro Micro の固定方向

この PCB は裏表リバーシブル仕様なため、Pro Micro の固定方向に気をつける必要があります

f:id:biacco42:20180122000446j:plain

写真のロゴマークがある面を上にした場合、Pro Micro を写真の通り部品実装された面を上にしてはんだ付けします。逆に、たのしい人生 / Biacco42 クレジット面を上にする場合は、Pro Micro を部品実装された面を PCB 側にしてはんだ付けしてください。

Pro Micro のはんだ付けができたら、不要な余った脚の部分はニッパーで切ってしまってください。

キースイッチの固定

この基板は裏表リバーシブル仕様・Cherry MX / Kailh Low Profile 両対応仕様のため、付属する Cherry MX のキースイッチだと多少の遊びがあり斜めにキーを固定できてしまいます。そのため、はんだ付けする際には、セロハンテープ等で向きを固定してはんだ付けすることをおすすめします。

完成状態

f:id:biacco42:20180122002337j:plain 表面

f:id:biacco42:20180122002355j:plain 裏面

ファームウェア書き込み

組み立てが完了したらファームウェアをビルドして書き込みます。Meishi keyboard では QMK Firmware が利用でき、現在私の QMK Firmware fork リポジトリの meishi ブランチ に実装があります。

ここでは詳細は省きつつ、ファームウェアをビルドしてインストールする手順と、キーマップの変更方法を簡単に紹介します。

ファームウェアの実装とビルドの詳細については QMK firmware documentation のドキュメントを参照してください。また、Windows はいろいろと差分が多いので、可能なら VirtualBox 等を用いて Linux 環境を用意できるとよいです。

環境構築

Git

まず Git が必要です。Windows / Mac / Linux 環境でそれぞれにインストール方法が異なるため、それぞれのプラットフォームの Git をインストールしてください。

Mac でかつ brew がインストールされていれば (brew についてはここでは説明しません)

$ brew install git

DebianLinux であれば

$ sudo apt install git

でインストールできます。とりあえずファームウェアのビルドの目的だけであればこれで大丈夫です。

Git が準備できたら、ソースをダウンロードします。

ソースコードをダウンロードしたいディレクトリに移動して

$ git clone https://github.com/Biacco42/qmk_firmware.git

ソースコードを取得できます。

Build 環境

Mac の場合

brew tap osx-cross/avr
brew tap PX4/homebrew-px4
brew update
brew install avr-gcc
brew install dfu-programmer
brew install gcc-arm-none-eabi
brew install avrdude

を実行してください。

Linux の場合

ソースコードを clone してきたディレクトリに移動して

$ sudo util/install_dependencies.sh

でビルド環境を一発で構築してくれます。便利。

Windows の場合

msys2 を利用するのが公式のおすすめのようです。msys2 をインストールしたあと MSYS2 MingGW 64-bit を実行してください。

そして、MingGW のターミナルで先程ソースコードを clone してきたディレクトリに移動して

util/msys2_install.sh

を実行して画面に表示される指示に従うとよいようです。(未検証)

ファームウェアのビルドと書き込み

組み立てた Meishi キーボードを USB ケーブルで PC に接続しておいてください。

Mac / Linux

まず、feature/meishi ブランチに切り替えます。QMK firmware を clone してきたディレクトリで

$ git checkout feature/meishi

とします。checkout がうまく行ったら

$ make meishi:default:avrdude

でビルドとインストールをいっぺんにできます。途中リセットしろよという旨のメッセージが出るので、そこでリセットボタンを 1 回または 2 回連続で押します(ブートローダーによって挙動が異なるようです)。リセットを検出すると自動的に書き込みが始まります。

Linux 環境の場合は書き込みに特権が必要かもしれないので、権限不足で書き込めなかった場合は

$ sudo make meishi:default:avrdude

としてください。

Windows

すいません。未検証のため、こちらの Let's split の Windows 向けビルド・書き込みドキュメント を参照してください。

大雑把には、MacLinux で使える avrdude という書き込みツールが使えないため、先程構築した msys2 環境でビルドだけを

$ make meishi:default

で行います。そうすると QMK firmware を clone してきたディレクトリに meishi-default.hex が生成されるはずなので、それを AVRDUDESS というアプリケーションで書き込みます。

検証した方がいたら情報求む。

動作の確認

正常にファームウェアが書き込めたら、キーボードとして認識されて動作するはずです。default キーマップでは左から順に Ctrl-z Ctrl-x Ctrl-c Ctrl-v の配置になっています。動作が確認できたら Meishi キーボードの完成です!お疲れ様でした。コピペがはかどりますね。

ファームウェアの改造

以上の工程でキーボードは完成しましたが、せっかくの自作キーボードですからコピペ以外にも使えるようにしたくなります。そのためにはファームウェアの改造が必要になります。その方法を簡単に紹介します。

Meishi キーボードのキーマップを変更するには、キーマップが記述されている <QMK firmware root>/keyboards/meishi/keymaps/default/keymap.c を編集します。また、新たに名前をつけてキーマップを作成したい場合は default ディレクトリをコピーして適当に名前を変えて keymap.c を編集してください。その際ビルドコマンドは

$ make meishi:<your keymap directory name>

になります。

keymap.c で実際にキーマップが定義されているのは

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP( /* Base */
  LCTL(KC_Z),  LCTL(KC_X),  LCTL(KC_C), LCTL(KC_V) \
),
};

の部分、特に LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V) の部分になります。これが左から順番にキーの割当を表しています。簡単ですね。

このキーマップに指定するキーの一覧については QMK firmware documentation の Keycodes に一覧があります。初期状態だと、LCTL(KC_Z) のような形で、Ctrl と Z の同時押しを表現しています。 LCTL を外せば単なる Z キーになりますし、MEH(kc) とすれば Ctrl+Alt+Shift+kc が一発で入力できます。その他にもメディアキー(音量操作等)や電源キー(KC_SYSTEM_POWER)等の便利キー系もあるので、いろいろ試してみてください。

また、ここでは説明しませんが、マクロ機能もあり、あるキーが押されたら一定の複雑なキーコードや文字列を送信することもできます。5000 兆円欲しい!キーボードとか。

お疲れ様でした

ここまで来たらあなたも立派な自作キーボーダーです。おそらくここまでたどり着けたなら、他のより高度な自作キーボードについてももう自分で作ることができるようになっていると思います。

しかしここで触れた内容は自作キーボードのほんの一部に過ぎません。キーキャップやキースイッチにこだわるのも楽しいですし、QMK firmware にはここでは紹介しきれなかったたくさんの機能があります。ぜひ、このキーボードをそういった次のキーボード道の道標として利用していただければ幸いです。

ようこそ自作キーボード沼へ!

Help

組み立ての際に困ることやトラブル等あるかと思います。その際には Twitter@Biacco42 にリプライを飛ばしていただくか、Self Made Keyboard in Japan Discord server で相談していただければ対応します。特に Self Made Keyboard in Japan Discord server には私以外にも自作キーボードを製作している方がたくさんいるので、より多くのアドバイスを得られるかと思います。大変気楽なコミュニティですので、ぜひこちらの利用も検討してください。

おわり

Amazon.co.jpアソシエイト