広告

自作キーボード

自作キーボード その他
この記事は約10分で読めます。

ついに作ってしまいました自作キーボード

納得いかないキー配置

私が初めてさわったPCはNECのPC-8800だったのですが、その頃からどうしてテンキーのように格子型の配列じゃないの? と思っていました。

キーボードが千鳥配列なのは、タイプライターの名残であり特に意味はないことを知り、ついに格子型の配列のキーボードを自作してしまいました。

まず感想

もうちょっと、キーが多くても良かったかな。

レイヤーを切り替えるのに慣れていないからかもしれないですけど・・・

キースイッチはKailh BOX Silent スイッチ ピンク 静かでいい感じです。

購入したキーボードはLily58 lite rev2

Lily58
自作キーボード

普通の自作キーボードは、ダイオードを基盤にはんだつけをする必要がありますが、ダイオードが基盤に付けられているので、とっても楽でした!

制作時間は、6時間

初めてですから、仕方ないですね。

はんだ不良がないことを確認しながら、作業したので、思った以上に時間がかかってしまいました。

はんだつけが得意な方でしたら、もっと早くできると思います。

はんだごてを持っていなかったので、秋葉原と御徒町の間(末広町)にある遊舎工房で作業させていただきました(平日最大1,000円)。

工作スペース利用案内 | 遊舎工房
1.利用可能時間 店舗営業時間内であればいつでも可能ですがイベント等でご利用いただけない場合もございます。 2.料金 こちらをご参照ください 3.時間の延長 2時間を過ぎると自動的に追加料金が発生します。その際にスタッフからご案内することは

自分でも忘れると悪いので、リンク先

キーマップを作成するツールです。

QMK Configurator
QMK Configurator is an online tool used for easily creating firmware files for keyboards supported in qmk_firmware

キーマップを書き込むツールです。

ダウンロードして、インストールする必要があります。

Windows10で行ったので、qmk_toolbox_install.exe を使いました。

Releases · qmk/qmk_toolbox
A Toolbox companion for QMK Firmware. Contribute to qmk/qmk_toolbox development by creating an account on GitHub.

キーマップ作成

config.qmk

まず、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) { あたりを変更すると出せます。