Future Tech Blog
フューチャー技術ブログ

キーボードを組み立ててみた話


こんにちは。
CSIGの井上です。

08/28に社内で「ITエンジニア怪談 ~背筋も凍る、ゾッとする話Night~ #3」というものがありました(後で公開されると思います)。その中で「自作キーボードの紹介」のLTがあり、キーボード作りたい熱が高まったので、翌日に作ってみた話をします。

本記事は、これからキーボード作りたいなぁ、という人を後押しするための記事です。
予算は 25,000 - 30,000円 位を見ておくとよいです。

前提知識や技術

基本的には作りながら学ぶことで、ほぼ前提知識は不要です。
しかしながら、「作り方が細かく説明してあるキーボードキット」を選んだほうがよいです。

  • 「作り方が細かく説明してある」ものがよい
    • 初心者向けに注意点がある程度細かく書いてあるもの、がお勧めです。WEB上で作成者が組立て手順を公開しているので、買う前に確認しておきましょう。
    • 中級者向けに一般的な作法(組立て順番とか)が省略されているものは、慣れてからのほうが良いです。
    • パーツ売りの物もありますが、自作キット(キースイッチやキーキャップ 以外 がそろっている)をお勧めします。
  • はんだ付け経験は必要
    • キーボードコントロール用のProMicroのはんだ付けは、慣れが必要かもしれません。
    • これ以外は、普通のはんだ付けができれば問題ないと思います。
    • はんだ付け自体不要の物も存在するので、不安がある場合は詳しい人に相談しましょう。
    • ProMicroは下に示した物です。キーサイズと比べて、自身のはんだ力(経験値)が足りるか検討してください。無理そうな場合は、まずは マクロパッド 1と呼ばれる少数のキースイッチが付いたものを作ってみるのがよいと思います。失敗しても懐の痛みが少ないですし。
  • 英語キーが基本
    • 販売されているキーキャップは英語配列のものが大半です。
    • 一応日本語キーキャップもありますが、キースイッチとの合わせ/キーボードのキー数などと組み合わせの検討が必要です。

尚、私のキーボード遍歴は以下の通りです。そんなに拘りは無いです。

  • 大学で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と^」のキーは左手で押したい
    • 基盤を自分で作らない限り、この要望は満たせなさそう
  • 作ってる時の写真を撮っていなかった
    • 作るだけのつもり、、ですからね…

そして、「技術ブログに投稿しないか」という話を頂いたので、翌週に新たにもう一つ買ってきました。。

組立てる(自作キーボード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. 1.マクロパッド:テンキーパッド以下サイズの小さい入力装置。構成自体はキーボードと同じであるため、お手軽に構造を理解するには最適。ProMicroを使っているものであれば、レイヤーやLEDコントロールの練習になる。
  2. 2.80%キーボード:テンキー付きのおおよそ100個のキーが付いたものをフルキーボード(100%)と呼称する。テンキーが無くなるとおおよそ80-75%、さらにFunctionキーが無くなると65-60%、数字キーが無くなるとおおよそ40%、スペースキーもなくなり3列になったものが30%、と称される。60%キーボード辺りから入力キーが足りなくなるので、Modifierキーとの組み合わせで利用することになる。30%キーボードは このような もので、利用には相当な修練が必要になるが、普通のキーボードに戻れなくなる可能性がある。所謂、沼。
  3. 3.トラックボール:ボールそれ自体を手で転がすポインティングデバイス。マウスのように移動の場所を取らず、20世紀には「デザイナーなどが使う」といわれていた。トラックボールの名器といえば、古くはMicrosoft IntelliMouse TrackBallがあり、販売終了時に涙した者も多い。現在はKensingtonのトラックボールが最適と考えられる。細かな操作を必要とする場合、ボールは大きいに越したことはない。尚、マウスと異なりボールが脱落しやすい構造の為、ボールを紛失して再購入、というパターンが存在する。
  4. 4.千鳥配列:一般的なキーボードは列がずれており、Row Staggerd Layoutと呼ばれている。自作きーぼど界隈では、格子状にキーを配置したOrtholinear Layout(格子レイアウト)と呼ばれているものが多数存在する。曰く、「運指が直線的で最短であり、合理的」との事。RowStaggedに慣れていると、格子配列を使うには訓練が必要な事が多い。
  5. 5.左右分割:私がこの記事を書くきっかけになった「自作キーボードLT」で、「左右分割キーボードは肩こりに良い」と説明されていた。確かに、非分割キーボードを使うと、左右の方とキーボードで三角形の形になり、猫背の原因になりそうだ。分割キーボードなら左右を話して配置できるので、猫背は回避できそうだ。尚、左右分割キーボードは、左右をつなぐTRRSケーブルが必要になる。左右各キーボードにProMicroを載せており、同じファームウェアを焼きこんで利用する。
  6. 6.キースイッチ:かなりの種類あります。利用者の趣味や用途により決まる、キーボードの性格が決まる部分。主に、推した時の重さ、ストローク量、クリック音の有無などにより変わる。音や打鍵感は 青軸 > 茶軸 > 赤軸 が一般的。ゲーミング用にストロークを短くしたものもある。尚、キースイッチは沼であり、「紫、銀、黄、クリア、橙、ピンク、緑、といったマイナーなもの」「異なるスイッチを合体させた「キメラ」」「潤滑剤を塗る「ルブ」」「キーフィルムやOリングを使ったカスタム」などの謎の単語が頻出した。キースイッチ怖い。
  7. 7.キーキャップ:キーボードの文字が印字されている部分。キースイッチの軸の種類(Cherry MX互換軸、等)に合わせて、後述のプロファイルを選択して買うことになる。また、英語キーのものは流通しているが、日本語キーはほぼ流通していないと思われる(無いわけではない)。 [^stabilizer]: スタビライザー:横に長いキーボードを安定して推すための補助機器。ShiftキーやEnter、Spaceなどで使われている。 [^profile]: プロファイル:キーキャップの形状のこと。ここにまとまってる。これは好みに依存すると思われる。OEMなどのプロファイルでキーキャップでキーボードの傾斜をつけることもできるが、ケースを傾けるように改造するとよい場合もある。
  8. 8.MicroUSB:Micoro USBは耐久性が無いので、頻繁に抜挿する運用には向かない。市販キーボードでもMicro USBが壊れて使えなくなったものは何個もある。自作キーボードの場合はUSB端子はProMicroに接続されているため、ProMicroを交換する(か、ProMicroのMicro USBメスを付け替える)ことで延々と利用できると思われる。また、ProMicro Type-Cというものもあり、これはProMicroの端子がUSB Type-Cになっているようだ。Type-Cの方が耐久性は高いので、予算があればこちらを使うのも良い。
  9. 9.プロトタイプ:今回のような簡単なオブジェクトであれば THINKERCAD で十分モデルを作れます。これをスライサーにかけてしまえば、あとは印刷するだけ。プロトタイプを作る場合は、調整不要な部分は極力なくし、できるだけ必要最小限で作ると開発スピードが上がります。
  10. 10.¥キー:日本語キーマップのWindowsに 英語キーボードをつなぐと、キー数の問題で入力不能なキーが発生する。特に「¥(半角)」と「\」は扱いがひどい(詳細は省略)。Windowsでファイルサーバにアクセスする際は「¥(ハンカク)」を使うことになり、「IMEで"えん"を変換して¥を入力し、それをコピーして"¥¥ファイルサーバ名"などで利用する」ということが発生する。キーコード自体が違うので、何らかの手段を用意しないと入力困難になるので注意が必要。尚、英語キーボードの場合は、漢字/変換などのキーが無いため、シンプルである。日本語入力は "ALT + `" 等で利用可能。古くからの*nixユーザは、Shift+SpaceをIME ON/OFFに割り当てていることも多い(Chrome OSでは CTRL+Spaceで、これも使いづらい)。