Ergomax TNK Remix
ErgomaxはLowWii氏によって設計・開発された、エルゴノミクスキーボードです。Ergodoxにファンクションキーを追加したデザインは、マクロやショートカットなどの操作がより容易に実行できるのが魅力です。
Ergomax TNK Remixはこのリバーシブルモデルをベースに、3Dプリンター向けのオリジナルケースと、オリジナルファームウェアによって構成される独自のプロジェクトです。TNK Remixモデルには、以下の機能が追加で提供されています。
- OLEDによるキー入力状態の表示
- 8x16ピクセルフォントによる大きな文字
- Windows PCからのUnicode文字やビットマップ画像の転送(これにより時計やシステムモニターが実装できる)
- Remapでのブラウザからのキーマップの変更に対応
- Ergodox刻印済みキーキャップユーザーのための疑似英字キーボード配列
ビルドガイド
基板の発注
キーボードの基板の設計図は
ErgomaxのGithubプロジェクトページより入手できます。
こちらは海外の電子基板生産受託サービス「
JLCPCB」へのオーダー例です。gerbersフォルダ以下のファイルを単一のzipファイルにまとめて提出します。見積額は10枚(つまり5台のキーボードを制作できます)発注時のもので、2023年3月時点での価格となります。
部品の実装
実装に必要な電子部品のリストです(片方のみ)。
Cherry MX互換キー&キャップ | 44個 |
2.2kΩ抵抗 | 2個 |
Pro Microかその互換マイコン | 1個 |
ホットスワップソケット | 44個 |
1N4148ダイオード | 44個 |
3.5mm 4極ミニジャック(MJ-4PP-9) | 1個 |
3.5mm 4極オーディオケーブル | 1個 |
2Uスタビライザー | 2個(無くても可) |
I2C OLED SSD1306 | 1個(無くても可) |
ケース裏の滑り止めシール | 任意 |
ケースを貼り合わせるための両面テープ、あるいは接着剤 | 任意 |
これらの部品を半田付けにより接着させていきます。キースイッチやダイオードの配置は
オリジナルでの実装方法と同一です。ダイオードには向きがあり、また、ホットスワップソケットの上下を間違えて中央の穴を塞ぐように設置してしまうとキースイッチが挿せなくなるので注意しましょう。
Pro Microは左右で設置する裏表が異なります。Pro Microの互換品にはUSB Type-Cのものがありますが、裏返して設置すると端子が干渉するため、少なくとも片方はMicro USBタイプが好ましいです。
OLEDを実装したい場合はこの写真のように配線してください。このOLEDはケースの窓の裏にホットボンドなどを使って固定します。
ケースの作成
付属のSTLファイル、もしくはf3dファイルをAutodesk社のCADツール・Fusion360にて再編集したモデルを、3Dプリンターを使って出力します。積層型での印刷を前提に設計しているので、キースイッチをはめる穴の広さなどは若干の余裕を持たせています。公開しているSTLファイルをそのまま業者に発注するなどして精度の高いケースが出来上がると、いくらかの隙間ができるかもしれません。
上下のケースは両面テープや接着剤などを使って固定してください。
ファームウェアの書き込み
ファームウェアはオープンソースプロジェクトの
QMKによって開発されています。
"build"フォルダーにはコンパイル済みのバイナリファイルが収録されていますので、このファイルを
QML Toolboxを介してPro Microに直接書き込めば、そのままお使いいただけます。
VIA/Remapとの互換性の理由より、ソースコードをビルドする際のQMKのバージョンは0.18を利用してください。このバージョンは以下のコマンドでクローンできます。
git clone -b 0.18.17 https://github.com/qmk/qmk_firmware.git
BootMagicが組み込まれているので、一度ファームウェアを書き込めば、以降はPro Microに最も近いキー(F1/F12キーに相当する箇所)を押しながらUSBの電源を通すと、自動的にブートローダーが起動するようになります。
toolフォルダーには組み込みフォントを編集を補助するためのpythonスクリプトが収録されています。
- hex2bmp.py : Unscii.hexファイルからビットマップタイルを生成します。
- bmp2code.py : 8x16サイズのビットマップフォントからglcdfontの代替となるC言語コードを生成します。
キーマップの変更
ファームウェアはRemapに最適化されているため、ブラウザで
Remapのサイトにアクセスすることでいつでも手軽に変更できます。公開しているファームウェアでは、Funcキー(SpecialカテゴリーにあるKC_FN0から始まるキーコードで、一般的なファンクションキーではありません)が予約済みです。Func0はキーオーバライドの切替、Func1以降はパソコンへの通信要求に使用されます。
クライアントソフト
Clientフォルダーには、C#言語による、PCとキーボード間のシリアル通信を通じて任意の文字や画像を表示するためのライブラリーとサンプルプログラムが収録されています。
ライブラリーのコンパイル時にHidLibraryに関するエラーが出る場合はNugetより同名のライブラリーをインストールしてください。
ライセンス
プロジェクトのライセンスは、Ergomaxのライセンスに従い、GPLv3にて配布しています。ソースコードの改変・転載や、自作キーボードに直接組み込んでの販売も自由に行えますが、コピーレフト規約により、改変後のソースコードなどは公開する義務があります。
強制ではありませんが、プログラムを採用したり、参考にしたりされたのであれば「開発にはErgomax TNK Remixが参考になりました」などの紹介文を入れていただければ幸いです。