こんにちは。
CSIGの井上です。
08/28に社内で「ITエンジニア怪談 ~背筋も凍る、ゾッとする話Night~ #3」というものがありました(後で公開されると思います)。その中で「自作キーボードの紹介」のLTがあり、キーボード作りたい熱が高まったので、翌日に作ってみた話をします。
本記事は、これからキーボード作りたいなぁ、という人を後押しするための記事です。
予算は 25,000 - 30,000円 位を見ておくとよいです。
前提知識や技術
基本的には作りながら学ぶことで、ほぼ前提知識は不要です。
しかしながら、「作り方が細かく説明してあるキーボードキット」を選んだほうがよいです。
- 「作り方が細かく説明してある」ものがよい
- 初心者向けに注意点がある程度細かく書いてあるもの、がお勧めです。Web上で作成者が組立て手順を公開しているので、買う前に確認しておきましょう。
- 中級者向けに一般的な作法(組立て順番とか)が省略されているものは、慣れてからのほうが良いです。
- パーツ売りの物もありますが、自作キット(キースイッチやキーキャップ 以外 がそろっている)をお勧めします。
- はんだ付け経験は必要
- 英語キーが基本
- 販売されているキーキャップは英語配列のものが大半です。
- 一応日本語キーキャップもありますが、キースイッチとの合わせ/キーボードのキー数などと組み合わせの検討が必要です。
尚、私のキーボード遍歴は以下の通りです。そんなに拘りは無いです。
- 大学でSlackwareやTureboLinuxなどを使っていたころは、インストール時は英語キーボードから変更ができなかった。キーレイアウトを変更するのが面倒だった為、英語キーボードを利用していました。
- HappyHackingKeybord(初代)発売当時、3台買って使っていました。別々のPCに接続していた為、車用塗料でケースに色を付けていました(未塗装の白、三菱の緑、本田の赤、の塗料)。
- BTC 5100Cキーボードが最高。15年は使ってるかもしれません(2台持っています)。
- 80%キーボード 2好きで、おおよそ12台くらい持っていました。
- トラックボール 3派なので、トラックボール付きキーボードは見つけ次第買いますが、どれも低品質で泣きを見ます。
- 自作キーボードは、riconkenの hifumi(6キーのマクロパッド)を作った程度です。
組立ててみた
08/28(Fri)に 急速にキーボード作りたい欲が高まった ので、08/29(Sat)に秋葉原の 遊舎工房 に様子を見に行きました。
翌日には組立て終わり、利用開始しています。はんだ付けスピード次第で3-4時間あれば作れます。
買いに行く
組み立てるキーボードを選定する
「60%キーボード 、矢印キーがある、千鳥配列 4 、左右分割 5 という条件で検討したところ、Mint60 に決定。
60%キーボード初めて作るのであれば、個人的には以下がお勧めです。
- 左右分割であれば、Mint60は 組立て手順 も詳しく、お勧めです。
- 左右分割でなくてよい場合は、DZ60 がお勧めです。
- GH60互換キーボードとして複数のメーカーからパーツが出ています。
- ダイオード接続済み、キースイッチははめ込み式のものもあり、はんだ付けが苦手でも作れそうです。
付帯部品を買う
キーボード本体以外にも、以下のものが必要です。
- キースイッチ 6
- 私は、重すぎずカチカチ鳴る(打鍵感覚が分かりやすい)ものが好きなので、Gateron青軸(1個45円程度)にしました。
- キーキャップ 7、スタビライザー[^stabilizer]
- プロファイル[^profile]等いろいろあるので、TAI-HAO社のものを選択。
- TRRSケーブル
- 左右のキーボードをつなぐ、3.5mmのステレオプラグです。オーディオレベルのものは不要です。
- このケーブルの自作キットもあるようです。
- MicroUSB 8 - USB-Aケーブル
- ProMicroはMicroUSBなので、PCにつなぐケーブルが必要です。何でもよいと思います。
全部でこんな感じになります。
組立てる
組立ての記録
Mint60を買って組み立てた。
- ダイオードのはんだ付け
- リセットスイッチ/TRRSコネクタのはんだ付け
- スタビライザーの設置
- キースイッチのはんだ付け
- ProMicroのはんだ付け
- LEDテープのはんだ付け
- ケース収納
LEDテープは追加の絶縁が必須で、微妙にケースサイズに合っていない気がするので移設を決意しました。
改造
LEDテープは端子が出ていない場所に移設したほうが安全です。
今回はProMicroの横が空いているので、ここに移設しました。
- ProMicroの横の空間に入る程度に、LEDテープを切る
- 両面テープでLEDテープを固定する
- 配線を延長する
安全にLED点灯できた。
ファームウェアの書き込み
組み立てキットの場合、ProMicroにはMint60用のファームウェアは書かれていません。故に、組み上げただけではキーボードとしては使えません。
全体として以下のように進めます。
- キーマップの準備
- キーマップを用意する
- 必要に応じて更新する
- キーマップをhexファイルにコンパイルする
- ProMicroにキーマップを送り込む
- 書き込み用ソフトを用意する
- キーボード接続後にリセットを行い、ファームウェアを送り込む
キーマップの準備
WebサービスのQMK Configuratorを利用します。
- “KEYBOARD”で”mint60”を選択すると、標準のキー設定が読み込まれる
- “KEYMAP NAME”に適当な設定を入れ、画面を見ながら必要に応じてキー配列を変更する
- 変更が終わったら、右上の”COMPILE”を押し、hexファイルを回収する
ファームウェアの書き込み
Windowsの場合はQMK Toolboxを利用するのが一番簡単です。
- QMK Toolboxをダウンロードし、起動する
- ”Local file”に先ほどダウンロードしたhexファイルを指定する
- 右上の”Flash when ready”にチェックを入れる
- キーボードを接続し、リセットボタンを押す
- リセットボタンを押すとCOMポート接続され、ファームウェアが転送される
- notepadなどでキー入力を確認する
完成
完成です。
利用しながら使いやすいようにキーマップを変えるとよいでしょう。
暫く使いましたが、いろいろ思うところが出てきました。
- 「ESCは左上にある」が体に染みついているので、ちょっと不便
- もう20年以上Vimmerなので…
- 最下段のキーが多すぎる
- 無効にすればよいけど、物理的になくてもいいのでは?
- 「6と^」のキーは左手で押したい
- 基盤を自分で作らない限り、この要望は満たせなさそう
- 作ってる時の写真を撮っていなかった
- 作るだけのつもり、、ですからね…
そして、「技術ブログに投稿しないか」という話を頂いたので、翌週に新たにもう1つ買ってきました。。
組立てる(自作キーボードMk.II)
今度は Choco60 というキーボードを購入しました。
- 青軸のキースイッチは必須
- 会社で使う場合は騒音問題になるので、イヤホンで自分の耳を塞ぎ、なかったことにします。
- 今は在宅勤務なので、心おきなく打鍵音を出せます。やったね。
- 矢印キーは存在しないので、レイヤーで対応する必要がある(Functionキーとの組み合わせ)
- 人によっては、カーソルキーは物理であったほうが使いやすい人もいます。好みに合わせましょう。
- 左上ESCだが、代わりに「~と`」のキーが右上に来た
- 当面は「~/`」キーをBackspaceと押し間違えるリスクがありますが、ESCを物理で連打できる利点があるので目を瞑ります。
- かなりシンプルで、左右を結合すると非分割キーボードのようになる
- 気分的に分割ではないように使えます。但し、左右接続のケーブルは必須なのであまり意味はありません。
- 残念ながらLEDは利用できない
- 初めて作るなら、LEDの見た目も良いので Mint60やDZ60をお勧めします。
リードベンダーを作る
基盤にダイオードを接続する際に、コの字にダイオードを曲げておく必要があります。
「手で曲げる/ペンチを利用して曲げる/市販のリードベンダーを買う」こともできますが、今回は家に3Dプリンタもあるので作ってしまいます。
- ダイオード本体は3.5mm程度
- リードは0.5mm程度
- 曲げたリード間は、今回は7.5-8.0mmくらいが適当のようだ
- 適当にプロトタイプを作り 9 、実機確認して微調整をしたら完成
6個ずつ曲げて作れます。
はんだ付けをする
曲げたダイオードをスルーホールに通し、はんだ付けします。
リードはあまり残さない形で切ってしまいます(私は、はんだ付け後に後で切る派です)。
キースイッチもはんだ付けします(今回はトッププレートは付けていません)。
ファームウェアを焼きこむ
今回のキーボードは矢印キーが無いので、Functionと組み合わせて利用します。
- Vimmer向けとして、Function(以下Fn)とhjklで左上下右に割当が違和感がない
- Home/Endも同様に時々使うので、hjklの右である;’に割当
- 左上ESCはデフォルトで問題ない
- Fnは頻繁に使えるように、右親指直下とする
- 時々使うDeleteは Fn+Backspace だと辛いので、レイヤー0で割当
- 弊社から割当られたPCは日本語版キーボードなので、一工夫
- 英語キーボードを日本語キーボードのPCに接続すると、キー数の不足から入力できない文字が発生する
- 代表的なものは「¥」キー 10 であるため、このキーを割り当てると、英語キーボードを日本語PCに接続しても使える可能性が高まる
- Ejectは用意しよう
- 特殊入力はあまりいらないので、Fnは1つだけとする
- Fnキーは一般的に1種類ですが、MO(Modifier)0, MO1, MO2, と複数登録が可能
- また、MO0とMO1の同時押し、のような設定も可能
- 頑張って複数のModifierを設定すると、訳が分からなくなる可能性が高い
Layer0は、標準の入力状態を示します。MOはModiferキーで、所謂Fnキーです。
Layer1は、Layer0の「MO0」と同時押しで入力できます。
得られた知見
勢いでキーボードを2台作りましたが、私としては以下の知見を得られました。
- 知らない領域の知識を得ることは、自己の成長になる
- 知らないことを調べる、必要な知識を必要な時間で得る、等の練習になる
- 身軽に動く訓練になるため、自分の活動範囲が広がる
- ないものは作るのは、すごく楽しい
- 治具が無ければ作ればいいし、キー配置が気に食わなければ自分で作ればいい
- 「6」キーm。が左に欲しい問題を解決するために、基盤を設計する…かもしれません
キーボードは難しい/練習したい という場合は、例えばRiconkenのhifumik(6キー)を作ってみるのがよいかもしれません。ProMicroを使っているので、キーの数以外は仕組みがほぼ同じです。楽にキーボードを作りたければ、DZ60でLED結線済み、キースイッチはソケット型を使うと簡単に作れます。
もしキーボード自作に興味があるようなら、まずは行動を起こしてみるのがよいと思います。
以上
- 1.マクロパッド:テンキーパッド以下サイズの小さい入力装置。構成自体はキーボードと同じであるため、お手軽に構造を理解するには最適。ProMicroを使っているものであれば、レイヤーやLEDコントロールの練習になる。 ↩
- 2.80%キーボード:テンキー付きのおおよそ100個のキーが付いたものをフルキーボード(100%)と呼称する。テンキーが無くなるとおおよそ80-75%、さらにFunctionキーが無くなると65-60%、数字キーが無くなるとおおよそ40%、スペースキーもなくなり3列になったものが30%、と称される。60%キーボード辺りから入力キーが足りなくなるので、Modifierキーとの組み合わせで利用することになる。30%キーボードは このような もので、利用には相当な修練が必要になるが、普通のキーボードに戻れなくなる可能性がある。所謂、沼。 ↩
- 3.トラックボール:ボールそれ自体を手で転がすポインティングデバイス。マウスのように移動の場所を取らず、20世紀には「デザイナーなどが使う」といわれていた。トラックボールの名器といえば、古くはMicrosoft IntelliMouse TrackBallがあり、販売終了時に涙した者も多い。現在はKensingtonのトラックボールが最適と考えられる。細かな操作を必要とする場合、ボールは大きいに越したことはない。尚、マウスと異なりボールが脱落しやすい構造の為、ボールを紛失して再購入、というパターンが存在する。 ↩
- 4.千鳥配列:一般的なキーボードは列がずれており、Row Staggerd Layoutと呼ばれている。自作きーぼど界隈では、格子状にキーを配置したOrtholinear Layout(格子レイアウト)と呼ばれているものが多数存在する。曰く、「運指が直線的で最短であり、合理的」との事。RowStaggedに慣れていると、格子配列を使うには訓練が必要な事が多い。 ↩
- 5.左右分割:私がこの記事を書くきっかけになった「自作キーボードLT」で、「左右分割キーボードは肩こりに良い」と説明されていた。確かに、非分割キーボードを使うと、左右の方とキーボードで三角形の形になり、猫背の原因になりそうだ。分割キーボードなら左右を話して配置できるので、猫背は回避できそうだ。尚、左右分割キーボードは、左右をつなぐTRRSケーブルが必要になる。左右各キーボードにProMicroを載せており、同じファームウェアを焼きこんで利用する。 ↩
- 6.キースイッチ:かなりの種類あります。利用者の趣味や用途により決まる、キーボードの性格が決まる部分。主に、推した時の重さ、ストローク量、クリック音の有無などにより変わる。音や打鍵感は 青軸 > 茶軸 > 赤軸 が一般的。ゲーミング用にストロークを短くしたものもある。尚、キースイッチは沼であり、「紫、銀、黄、クリア、橙、ピンク、緑、といったマイナーなもの」「異なるスイッチを合体させた「キメラ」」「潤滑剤を塗る「ルブ」」「キーフィルムやOリングを使ったカスタム」などの謎の単語が頻出した。キースイッチ怖い。 ↩
- 7.キーキャップ:キーボードの文字が印字されている部分。キースイッチの軸の種類(Cherry MX互換軸、等)に合わせて、後述のプロファイルを選択して買うことになる。また、英語キーのものは流通しているが、日本語キーはほぼ流通していないと思われる(無いわけではない)。 [^stabilizer]: スタビライザー:横に長いキーボードを安定して推すための補助機器。ShiftキーやEnter、Spaceなどで使われている。 [^profile]: プロファイル:キーキャップの形状のこと。ここにまとまってる。これは好みに依存すると思われる。OEMなどのプロファイルでキーキャップでキーボードの傾斜をつけることもできるが、ケースを傾けるように改造するとよい場合もある。 ↩
- 8.MicroUSB:Micoro USBは耐久性が無いので、頻繁に抜挿する運用には向かない。市販キーボードでもMicro USBが壊れて使えなくなったものは何個もある。自作キーボードの場合はUSB端子はProMicroに接続されているため、ProMicroを交換する(か、ProMicroのMicro USBメスを付け替える)ことで延々と利用できると思われる。また、ProMicro Type-Cというものもあり、これはProMicroの端子がUSB Type-Cになっているようだ。Type-Cの方が耐久性は高いので、予算があればこちらを使うのも良い。 ↩
- 9.プロトタイプ:今回のような簡単なオブジェクトであれば THINKERCAD で十分モデルを作れます。これをスライサーにかけてしまえば、あとは印刷するだけ。プロトタイプを作る場合は、調整不要な部分は極力なくし、できるだけ必要最小限で作ると開発スピードが上がります。 ↩
- 10.¥キー:日本語キーマップのWindowsに 英語キーボードをつなぐと、キー数の問題で入力不能なキーが発生する。特に「¥(半角)」と「\」は扱いがひどい(詳細は省略)。Windowsでファイルサーバにアクセスする際は「¥(ハンカク)」を使うことになり、「IMEで"えん"を変換して¥を入力し、それをコピーして"¥¥ファイルサーバ名"などで利用する」ということが発生する。キーコード自体が違うので、何らかの手段を用意しないと入力困難になるので注意が必要。尚、英語キーボードの場合は、漢字/変換などのキーが無いため、シンプルである。日本語入力は "ALT + `" 等で利用可能。古くからの*nixユーザは、Shift+SpaceをIME ON/OFFに割り当てていることも多い(Chrome OSでは CTRL+Spaceで、これも使いづらい)。 ↩