TL;DR
- 長年使っていた ErgoDox が不調になり始めてきた
- 壊れたときの逃げ道を用意するために Helix キーボードキット を買って組み立てた
Helix とは
Helix は、いわゆる自作キーボードのひとつで、以下のような特徴を持ったキーボードです。
- 格子配列
- 左右分離型
- Kailh ロープロファイルスイッチ対応
- 5 行か 4 行を選択可能
格子配列と左右分離型のキーボードだと ErgoDox (参考: ErgoDox EZ) が有名ですが、Helix はそれと比較して、Kailh ロープロファイルスイッチに対応していたり、キーの数が最小限に抑えられています。
また、自作キーボードはパーツを揃える難易度が高いのですが、Helix は一式揃えられるキットが遊舎工房で販売されています。
そして、ビルドガイドも日本語で分かりやすくまとめられており、自作キーボードの中では比較的敷居が低いという特徴も持っています。
なぜ Helix を組み立てたのか
約 3 年ほど ErgoDox を使っており、最近その ErgoDox でキーの無反応やチャタリングが発生するようになり、キーボードを新調する機運が高まっていました。1
そこで、以下のような要件を満たすキーボードを探していました。
- 格子配列
- ErgoDox に慣れて格子配列ではないキーボードのタイピングが下手になってしまった
- 左右分離型
- 左右が分離していないと肩に悪影響を及ぼす
- キーが薄い
- 一般的なメカニカルキーボードより、パンタグラフキーボードのような薄いキーの打鍵感のほうが好みだった
- 4 行 * 6 列 + 親指キー
- 数字キーやファンクションキーが不要だったので 5 行ではなく 4 行がよかった
- 親指キーが 4 キー以上ある
- ErgoDox で親指キーを左右それぞれ 4 キーほど使っていた
いろいろ探した結果、これらの要件を満たしていたキーボードのひとつが Helix でした。
また、偶然にも以前 ErgoDox やめたい期 (= ぼくのかんがえた最強のキーボードを作りたい期) が訪れ、勢いで Kailh ロープロファイルスイッチとキーキャップだけを購入していました。2
せっかくキースイッチとキーキャップがあることだし、これは Helix を作るしかないだろうということで (ほぼ勢いで) Helix を組み立てることにしました。
Helix を組み立てる
準備編
組み立てる前に、諸々のパーツと、組み立てるために工具が必要です。
ここでは、筆者が用意した物を紹介します。
パーツ
- Helix キーボードキット (
アクリル4行版キット(Underglow)両手セット
) (遊舎工房)- バックライトモデルは実装難易度が高いということで Underglow モデルにしました。
- Kailh ロープロファイルスイッチ (Heavy Switch burnt orange 軸) (Massdrop)
- Kailh ロープロファイルキーキャップ (無刻印)
- 3.5mm オーディオケーブル (TRRS ケーブル (4 極) または TRS ケーブル (3 極))
- Micro USB ケーブル
工具
- 糸はんだ
- はんだこて (Amazon)
- Underglow モデルであれば調温はんだごてでなくてもよいです (バックライトモデルだと調温が必要)
- はんだこて台
- はんだシュッ太郎 (Amazon)
- はんだづけを失敗したときなど、はんだを吸い取りたいときにあると超絶便利です。
- 逆作用ピンセット (Amzon)
- ダイオードをはんだづけする際にピンセットを利用しますが、逆作用ピンセットだと力を入れずに挟み続けられるため、はんだづけがしやすくなって便利です。
- プラスドライバー
組み立て編
ビルドガイドを見ながら組み立てていきます。
ビルドガイドがわかりやすいので、以下では簡単な Tips だけ紹介します。
PCB の切断
4 行版キットでも PCB は 5 行分になっているので、4 行にするために最下段を切断します。
PCB がバキバキになってしまわないか不安でしたが、最下段だけはみ出すような状態で机に置き、最下段に力を入れて折るとうまくいきました。
ダイオードの実装
先にダイオードを実装する基盤に片方だけはんだをつけておき、はんだを溶かしながらダイオードを乗せると少し実装が楽です。
QMK Firmware を書き込む
(詳細な手順は公式のドキュメントをご覧ください)
qmk/qmk_firmware を git clone
し、Helix 用のファームウェアをコンパイルして書き込みます。
Docker イメージとそれを利用するラッパースクリプトが用意されているので、これを使うと簡単です。
util/docker_build.sh helix:default:avrdude
ハマったところ
Pro Micro が反応しない
Pro Micro の差し込む位置を間違えていました。PCB 上に線が引かれているので、その線上に差し込む必要がありました。
Pro Micro は正しく接続できていれば Pro Micro 自身についている LED が赤く光るようになっているので、これが光るかどうかで実装が正しいかをテストできます。
キーが反応しない
ダイオードのはんだづけが甘いケースと、キースイッチのはんだづけが甘いケースがありました。
一度はんだを取り除き、再度はんだづけをし直すことを何度か繰り返して解消しました。
テスターがあると導通チェックができるのですが、あいにくテスターを持ち合わせていなかったので、ファームウェアを書き込んで入力できるかテストしていました。
QMK Firmware が書き込めない
Ubuntu 19.04 で、書き込み時に以下のようなエラーになって書き込めませんでした。
avrdude: Error: butterfly programmer uses avr_write_page() but does not provide a cmd() method.
avrdude: error: programmer did not respond to command: set addr
これは ModemManager
が原因のようで、以下のコマンドで ModemManager
を無効化すると書き込めるようになりました。
sudo systemctl stop ModemManager.service
所感
ビルドガイドが分かりやすかったのと、周りに Helix を組み立てたことがある人がいたので、それなりにスムーズに組み立てられました。総作業時間は 8 時間ほどでした。
ErgoDox に比べるとかなり小さくなって持ち運びがしやすくなったので、それだけでも Helix にしてよかったなと感じています。
キー配列は ErgoDox とほぼ同じ配置にしており、以下のようにしています。(qmk_firmware/keymap.c · fohte/qmk_firmware)
# Dvorak,-----------------------------------------. ,-----------------------------------------.| Tab | ' | , | . | P | Y | | F | G | C | R | L | / ||------+------+------+------+------+------| |------+------+------+------+------+------|| Ctrl | A | O | E | U | I | | D | H | T | N | S | - ||------+------+------+------+------+------| |------+------+------+------+------+------|| Shift| ; | Q | J | K | X | | B | M | W | V | Z |Shift ||------+------+------+------+------+------+-------------+------+------+------+------+------+------|| |MSpace| Alt |NUMBER| GUI |Space | Bksp | Esc |Enter | GUI |SYMBOL| Alt |Adjust| |`-------------------------------------------------------------------------------------------------'# Cursor Moving & Adjust,-----------------------------------------. ,-----------------------------------------.| |Reset | | | | | | | | | | | ||------+------+------+------+------+------| |------+------+------+------+------+------|| | | | | | | | | Left | Down | Up |Right | ||------+------+------+------+------+------| |------+------+------+------+------+------||RGB ON| HUE+ | SAT+ | VAL+ | | | | | | | | | ||------+------+------+------+------+------+-------------+------+------+------+------+------+------|| MODE | HUE- | SAT- | VAL- | | | | | | | | | | |`-------------------------------------------------------------------------------------------------'# Symbols,-----------------------------------------. ,-----------------------------------------.| | " | < | > | [ | { | | } | ] | ` | ~ | | ||------+------+------+------+------+------| |------+------+------+------+------+------|| | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ||------+------+------+------+------+------| |------+------+------+------+------+------|| | : | | | \ | | | | + | = | | | | ||------+------+------+------+------+------+-------------+------+------+------+------+------+------|| | | | | | | | | | | | | | |`-------------------------------------------------------------------------------------------------'# Number and Function keys,-----------------------------------------. ,-----------------------------------------.| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 ||------+------+------+------+------+------| |------+------+------+------+------+------|| | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 ||------+------+------+------+------+------| |------+------+------+------+------+------|| | | | | | | | | | | | | ||------+------+------+------+------+------+-------------+------+------+------+------+------+------|| | | | | | | | | | | | | | |`-------------------------------------------------------------------------------------------------'
最後に
この記事は、組み立てた Helix を使って書かれました。