ついに作ってしまいました自作キーボード
納得いかないキー配置
私が初めてさわったPCはNECのPC-8800だったのですが、その頃からどうしてテンキーのように格子型の配列じゃないの? と思っていました。
キーボードが千鳥配列なのは、タイプライターの名残であり特に意味はないことを知り、ついに格子型の配列のキーボードを自作してしまいました。
まず感想
もうちょっと、キーが多くても良かったかな。
レイヤーを切り替えるのに慣れていないからかもしれないですけど・・・
キースイッチはKailh BOX Silent スイッチ ピンク 静かでいい感じです。
購入したキーボードはLily58 lite rev2
普通の自作キーボードは、ダイオードを基盤にはんだつけをする必要がありますが、ダイオードが基盤に付けられているので、とっても楽でした!
制作時間は、6時間
初めてですから、仕方ないですね。
はんだ不良がないことを確認しながら、作業したので、思った以上に時間がかかってしまいました。
はんだつけが得意な方でしたら、もっと早くできると思います。
はんだごてを持っていなかったので、秋葉原と御徒町の間(末広町)にある遊舎工房で作業させていただきました(平日最大1,000円)。
自分でも忘れると悪いので、リンク先
キーマップを作成するツールです。
キーマップを書き込むツールです。
ダウンロードして、インストールする必要があります。
Windows10で行ったので、qmk_toolbox_install.exe を使いました。
キーマップ作成
まず、Layerを選択します。
画面の下に、いろいろなキーが掲載されていますので、好きなところにドラッグして、キーを設定します。
MOとなっているキーは、押しているときだけレイヤー切り替え(シフトキーみたいな感じ)、TCとなっているキーは、押してレイヤーが切り替わり、もう一度押すと元のレイヤーに戻ります。
MOもTCも、設定するレイヤーの数字を入力する必要があります。
▽は下層レイヤーと同じ。N/Aは無効キーになります。
キーマップを作成したら、黒い画面の左下の「KEYMAP.JSON」の左側をクリックして、ダウンロードしておきます。
後日、ダウンロードしたJSONファイルをアップロードすることで、再設定が簡単にできるようになります。
キー配列を決めたら、黒い画面の上にある「COMPLE」をクリック。
ジャガイモが回転します。
黒い画面の右下の「FIRMWARE」をクリック。
警告が出ますので「OK」をクリックしてダウンロードします。
ダウンロードされた拡張子がhexのファイルをqmk toolboxに入れ込んで書き込みます。
キーマップ書き込み
qmk toolboxを立ち上げます。
ダウンロードしたhexファイルを指定して、Auto-Flahにチェックをつけます。
パソコンとキーボードを繋いで、キーボードのリセット(ProMicroの横にある白いボタン:Lily58の場合)して、書き込みます。
qmk toolboxで「Thank you」と表示されたら完了です。
キーマップを書き込むときは、左右バラバラで
キーマップを書き込むとき、左右のキーボードを繋げて書き込もうとしたら、上手くいきませんでした。
配線を外して、書き込みましょう。
なお、左右どちらを先に書き込むかは、関係ないようです。
作成したキーマップ
日本語キーボードの設定で使っているので、実際に入力される記号と上図での記号は異なります。
また、日本語キーボードで半角全角を切り替えるキーは使っていない・・・Windows10の設定で「無変換」キーを「半角」に設定するキー、「変換」を「全角」に設定するキーにしています。
Macの日本語キーボードと似たような形で使えるようにしています。
自作キーボードでなくても、利便性が向上するのでお勧めの設定です。
これからチャレンジする方へ
最初はキーが多いものを制作して、キーマップで設定して少なくても良いなら、キーが少ないキーボードにすることをおすすめします。
はんだは、廃棄するときのことを考えて、鉛フリーのものを使いましょう。
また、自作キーボードはキーボード自体が高いので、キーボードの高さと同じくらいか、ちょっと高くできるパームレストがあると、もっと使いやすくなります。
納得のキーマップを求めて msys2とQMK Firmware
2023年2月23日追加~~~QMK Firmwareを入れ直し!!
キーマップを更新しようとしたら、動かない・・・
ということで、アップデートしました。
msys2をアンインストール
msys2をアップデートする方法もあるみたいですが、失敗した!!と書かれていたので、Windowsの設定からアンインストールしました。
もともと入っていた(動かない)qmk_firmwareをフォルダごと別の場所に移動
qmk_firmwareフォルダを別の場所に移動しておきます。
あとでキーマップ関係を戻すので消さない!
MSYS2とQMK MSYS何が違うの???
QMK MSYSには、標準のMSYS2に色々と入っているものです。(詳しくは調べてね)
元々、標準のMSYS2が入っていたので、標準のMSYS2をインストールすることにして、環境を作ることにしました。
入っていないのなら、QMK MSYSを使った方が簡単です。
MSYS2の公式サイトから、インストーラーをダウンロードしてインストールします。
標準のMSYS2で環境構築・・・失敗に終わりました。。。
公式サイトの手順に掲載されています。
「上級ユーザー」をぽちっと開くと出てきます!!!
インストールしたら、スタートメニューから、MSYS2 MINGW64を起動!
コマンドを入れてインストール!!!
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-python-qmk
「上級ユーザーって何? 簡単じゃん・・・」と思ったけど、動かない…
結局、MSYS2はアンインストール。QMK MSYSを使っちゃえ!!
qmkのセットアップ
QMK MSYSを開いて、公式サイトの手順のコマンドを打つだけ。
qmk setup
ビルド環境テスト
QMK MSYSのガイドによると https://msys.qmk.fm/guide.html コンパイルを実行する必要があるみたいだけど、公式サイトの手順のコマンドと比較すると、次のコマンドでいいみたい。
qmk compile -kb lily58/rev1 -km default
成功すると、C:\Users\[ユーザー名]\qmk_firmwareフォルダに「lily58_rev1_default.hex」ができるよ!!
成功でござる。
ビルド環境ディフォルト設定
lily58をディフォルトに設定します。
qmk config user.keyboard=lily58/rev1
デフォルトのキーマップ名を設定
qmk config user.keymap=arimichi
キーマップなどを戻す
別の場所に移動していた古いqmk_firmwareフォルダの中から、必要な部分を新しいqmk_firmwareフォルダに移動します。
C:\Users\[ユーザー名]\qmk_firmware\keyboards\lily58\keymaps の中にあった自作のキーマップフォルダ
C:\Users\[ユーザー名]\qmk_firmware\keyboards\lily58\lib の中にあったカスタマイズしたファイルを移動します。
ビルドしてみる
ディフォルトを上で設定したのでQMK MSYSを開いて
qmk compile
エラーだ!!!
KC_MHEN KC_HENK KC_RO KC_JYEN KC_NLCK
日本語キーボードの無変換と変換でエラーが… https://docs.qmk.fm/#/keycodes_basic?id=international コードが変わっているようです。
KC_MHEN が KC_INT5
KC_HENK が KC_INT4
KC_RO が KC_INT1
KC_JYEN が KC_INT3
KC_NLCK が KC_NUM
修正したら、C:\Users\[ユーザー名]\qmk_firmwareフォルダに「lily58_rev1_~~~~.hex」ができたので成功でございます!!!
キーマップを書き込みましょう。
納得のキーマップ(OLEDを光らせたい)を求めて、msys2をインストールして、gitからQMK Firmware をクローンして、マップとOLEDを光らせることにしました。
msys2をインストールして、gitからQMK Firmware をクローンする手順は、公式のセットアップ手順を見て作業しました。
5. Configure Your Build Environment (Optional)で、入力したコマンド
設定をlily58/rev1 に
qmk config user.keyboard=lily58/rev1
自分のキーマップに(最後のarimichiは私のキーマップを保存したフォルダ名です)
qmk config user.keymap=arimichi
msys2でgitを使うのが、面倒だった(上手くいかなかった)ので、github desktop というかなり便利なソフトでgitとのやり取りをすることにしました。
github desktopは、Webサイトの開発で使っているし、マウスで操作できるから、簡単でおすすめです。
キーマップ作成
ディフォルトキーマップをATOMやVS Codeなどのテキストエディタで編集します。
gitからクローンしたディレクトリは、C:\Users\ユーザー名\qmk_firmware\keyboards\lily58\keymaps
にあるdefaultのフォルダをコピペして、自分のフォルダを作成しました。
編集するのは、コピペしたフォルダにあるkeymap.c というファイルです。
編集が終わったら、
msys2 64bitの方を開く
msys2で下記のコマンドを打ち込み、.hexファイルを作成します。
qmk compile
どこかのフォルダに.hexファイルが作成されるので、わかりやすいところに移動します。
qmk toolboxを立ち上げ、書き込みましょう。
OLEDの光らせ方
C:\Users\[ユーザー名]\qmk_firmware\keyboards\lily58\lib\glcdfont_lily.c
を編集すると、右側のOLEDが光ります。
左側は、C:\Users\[ユーザー名]\qmk_firmware\keyboards\lily58\keymaps\[命名したフォルダ]\keymap.c
の bool oled_task_user(void) {
あたりを変更すると出せます。