はじめての自作キーボードでKeyball61を作ってみた

はじめての自作キーボードでKeyball61を作ってみた

初めての自作キーボードにkeyball61を作りました。
はんだ付けをするのも中学の授業以来という初心者ですが、無事完成することが出来たので同じ初心者の背中を押す意味を込めてまとめておきます。

背景

プログラマーという仕事柄、一日キーボードを打っていることも珍しくありません。
そんな生活を続けていると、肩こり・猫背・呼吸が浅くなるなど体にダメージが蓄積されていきます。
肩幅は人それぞれなのにキーボードの幅はほとんど変わらないのはおかしくない?という記事を読み、妙に納得して分割キーボードを探し始めたことがきっかけでキーボード沼へ落ちることになりました。

余談

キーボードを二刀流にして疑似分割キーボードにすると分割キーボードを手っ取り早く体験できます。

自作キーボード専門店 白銀ラボ

2022年1月、岐阜県の飛騨高山にトラックボール付き自作キーボード専門店の白銀ラボがオープンしました。

早速訪問して実機を触ったり、気になる点を教えて頂いて悩みを解消してきました。

  • KeyballをPCに繋いだ状態でトラックボールの使用感をお試しできる
  • 格子状に規則正しく並んだキー配列をお試しできる
  • 39キー, 61キーなど、キー数の違いを比較できる
  • 10種類以上のキースイッチをお試しできる
  • キットを購入すれば、実際にいくつかはんだ付けをしながら教えてもらえる
  • 電子部品のイロハを教えてもらえる
    • はんだごてを当てすぎても熱で基盤が壊れることはない
    • はんだ付けに失敗して固定されているものを充分に温めずに力で取ろうとすると基盤が剥がれて駄目になるから要注意
    • わからない点はメール・Twitter等で問い合わせサポートしている
    • お店に持ってきてくれさえすれば、完成までサポートして貰える

※サービスとして全て謳われている訳ではありませんので、ここに記載されている内容に関してお断りされる可能性もありますのでご了承ください

必要なパーツ・道具

私が使用した道具です。
はんだごてやはんだはダイソー等の100均でも入手できます。

名称 購入先 備考
Keyball61キット 白銀ラボ オンラインショップ
ProMicro 白銀ラボ オンラインショップ 左右1つずつ必要なので合計2個用意します。
type-bは端子がもげやすいのでtype-cがおすすめ
USBケーブル Amazon ProMicro側のUSBのtypeとパソコン側のUSBの形状に合わせて選びます。
TRSケーブル Amazon 左右のキーボードを繋ぐケーブル
0.45mあれば殆どのケースでOK
17インチサイズのノートパソコンを間に置くような場合は1m弱は必要
トラックボール 34mm Amazon
Tecsee Jadeite キースイッチ (ヒスイ/ホワイト/5ピン/63.5g/リニア/65個) TALPKEYBOARD オンラインショップ 好きなキースイッチを選びます
キーキャップ (Cherry MX互換) Amazon 好きなキーキャップを選びます
はんだごてセット Amazon 失敗したはんだを除去する吸い取り線は初心者には必須
はんだ Amazon
ピンセット Amazon ダイオードの取付け時に必須
紙やすり Amazon
精密ドライバー Amazon
キーキャップ&キースイッチ引き抜き工具 Amazon キーキャップは頑張れば工具なしでも抜けますが、キースイッチは無理です、必須

ビルドガイド

作り方はkeyball61の作者の@Yowkees氏からガイドが公開されています。
日本語で写真付きの分かりやすいビルドガイドなので、よく読みながら進めれば迷うことはないでしょう。

https://github.com/Yowkees/keyball/blob/main/keyball61/doc/rev1/buildguide_jp.md

初心者がハマりやすいポイント

ネジのサイズは要注意!

1つのパックに沢山のネジが入っています。
一見、全部同じに見えますがサイズが違ったり、ネジの頭が平頭・小頭違いの微妙な違いがあるので最初に区別した方が良いです。

名前
平頭タップネジ M1.7 2本
小頭タップネジ M1.7 2本
ネジ M2 3.5mm 42本+

Φ2 セラミックボールを無くさない

他のパーツと一緒に直径2mmの白い小さな玉が1つ入っています。
これは支持球といってトラックボールの玉を支えるパーツです。
予備パーツですが無くなるとトラックボールが使えなくなる重要なパーツなので無くなさないように保管します。

キースイッチ・キーキャップの規格を確認する

様々な規格があり、keyball61が対応しているのはCherry MXです。
有名な規格なので互換品も多くありますが、購入するときはよく確認します。

ロープロファイルのスイッチ

左右の親指の付近のキーは通常のキーよりも高さが低いロープロファイル仕様にすることも出来ます。
その場合はロープロファイル用のキースイッチとキーキャップが必要になります。

ダイオードの向きが分からない

ビルドガイドにも書かれていますが、実物を見ても向きは非常に分かりづらいです。
向きを表す縦線はクッキリ見えません、そういうものです。
ルーペでも何でも使ってよく見て向きを間違えないようにします。
動作不良を疑ってはんだ付けを真っ先に疑いますが、ダイオードが逆向きだったりした日には目も当てられません。

キーソケットを取り付ける表裏を間違えない

ビルドガイドが分かりやすく修正されたので大丈夫だと思いますが、キーソケットもダイオードと同様に【裏面】に半田付けします。
大事なことなので二度書きます。ダイオードと同じ裏面に半田付けします。
間違えるとはんだ吸い取り線を駆使してはんだを除去するか、はんだごて2刀流を極める必要があって大変苦労します(経験談

はんだの取付手順

はんだの仕組みから調べるのが一番ですが要点をまとめると、

・母材(基盤)を先に温めた上ではんだを溶かして流し込む
・はんだを何度も溶かす、固めるを繰り返すと上手くつかなくなるため取り替える

ネジを締めすぎない

非常に小さいネジなので強く締めすぎると外れなくなります。
ネジ頭がなめると厄介なことになるので気をつけます。

USB接続しても上手く認識されない

組み立てが問題ない場合でも接続環境によって上手く認識されない場合があります。
接続順を見直したり、接続語にProMicroのリセットボタンを1回押すことで解消します。

ホイールスクロールどうやるの?

Layer3に切り替えている状態でトラックボールを回すとスクロール出来ます。
また、常にトラックボールがスクロールになるキーコードも用意されています。

キーのリマップはどうやるの?

キーに割り当てる動作はREMAPというウェブサイトから自由に設定できます。  
Keyballを接続した状態でアクセスするだけで良く、管理者権限や特別なソフトウェアも必要ないので大変便利です。感謝!

動作確認はREMAPのTest Matrixを使う

適当なテキストエディタ等に入力しても良いですが、何が振られているか分からないキーや、CtrlやShift等の直接変化が見られないキーは確認が手間です。
そこで、キーのリマップを行うWebサイトのREMAPからキー入力のテストが行える Test Matrix を使用します。

入力されたキーの色が変わります。

尚、テスト用のファームウェアは以下のキーマップが設定されています。

https://github.com/Yowkees/keyball/blob/main/qmk_firmware/keyboards/keyball/keyball61/keymaps/test/keymap.c

keyball特有の操作

GitHubのファームウェアのリポジトリ Special keycodes に記載されています。
現在のCPIやDV値はOLEDモジュールに表示されています。

キーコード HEX 説明
KBC_RST 0x5DA5 キーボール構成をリセット
KBC_SAVE 0x5DA6 キーボール構成をEEPROMに永続化する
CPI_I100 0x5DA7 トラックボールの感度を100上げる(CPI)
CPI_I1K 0x5DA9 トラックボールの感度を1,000上げる(CPI)
CPI_D100 0x5DA8 トラックボールの感度を100下げる(CPI)
CPI_D1K 0x5DAA トラックボールの感度を1,000下げる(CPI)
SCRL_TO 0x5DAB スクロールモードにトグルで切り替える
SCRL_MO 0x5DAC 押下している間スクロールモードを有効にする
SCRL_DVI 0x5DAD スクロール感度を上げる
SCRL_DVD 0x5DAA スクロール感度を下げる

REMAPでマップするときは CUSTOM から直接HEXでコードを指定します。

キースイッチの選び方が分からない

Cherry MXのキースイッチを調べれば、赤軸の特徴は…など解説サイトが沢山ヒットします。
ですが、いくら説明されても押して見ないと判断が出来ないため、このようなキースイッチのテスターを買って試してみましょう。

ちなみに、Cherry MXのスイッチは様々なメーカーが出しており、もっと沢山の種類があります。  
なかなか良い値段のテスターですがキーボード沼の先輩に聞くと、
「どうせ何回かキースイッチ変えるから色々試して一発で決めたほうが結果的に安いよw」
だそうですが、沼の住人の言うことを鵜呑みにするのは危険なのでよく考えて下さい。

リストレストを用意

元々FILCOの木製リストレストを使っていましたが、分割キーボードに対応するためにノコギリで真っ二つにしてヤスリがけをしてヨシとしました。
FILCOのオンラインショップで滑り止めクッションを単品で販売して貰えているので、断面側に追加します。

滑り止めクッション 2mm 
滑り止めクッション 4mm

仕上がりや塗装など気にする方は分割用のリストレストも販売されています。

完成

最後にキーキャップを付けていく時が最も達成感がありました。
徐々に完成形に近づいていく様子や、黒いキーボードばかり使っていたので珍しい色のキーキャップは新鮮です。

ただ、初めてのキーキャップなのでそれほど拘らずに安価なものを選びましたが、拘りだすと底が見え無さそうです…。  
私は(まだ)興味ありませんが、LEDの装着も可能でテカテカに光らせることも出来ます!  

自作キーボードを作ってみて、意外とキー配列の変化に対応できる自分に気が付いたり、今まで疑問に思うこともなかったキースイッチの種類を知って拘りが出来るなど、新しい発見が沢山ありました。
難易度はそれほど高くはないので、ぜひ気軽に挑戦してください。

キーマップ沼

キーマップが沼と呼ばれる所以は正解がなく、また個人ごとに正解も異なるからでしょう…。  
REMAPのKEYMAPページに先人が共有してくれているキーマップが見られるので、良さげなマッピングを調べてください。

個人的なおすすめは、マウスクリックを左手のF, D, Sキー周辺に持ってくることです。
クリック操作をする左手とボール操作をする右手に分かれるので、ボールを動かしながらクリックが容易になります!

右利きなのにマウス操作するの左って違和感ないかな?という考えがよぎりましたが、いまさらですね。

その後、所感

1ヶ月ほど使い続けた結果、キー配列に慣れ、認知コストも下がり始め、馴染んできたことを実感しています。
ただし、キースイッチ沼、キーキャップ沼、キーマップ沼を彷徨い、自分好みにカスタマイズできたことが馴染むことが出来た理由です。

ちなみに私はRealForce R2の変荷重タイプの愛用者なので軽いキータッチで疲れにくいことを重視される方は参考にしてください。

キースイッチ沼

以下、4種類を試した後…

  • Kailh Box Red Pro 35g (リニア) 
  • Tecsee Jadeite ヒスイ/ホワイト 63.5g (リニア)
  • hako violet 39g/28g (タクタイル)
  • hako royal violet 55g/45g (タクタイル)

Kailh Box Red Pro 35g (リニア) に決まりました!

やっぱり、TTC Pink Gold 37g (リニア)に決まりました!

スッと押し込まれるリニアとポコッと押した感触があるタクタイルですが、両方を試した上で軽さを求める場合はリニアの方が向いていることが分かりました。
軽快にカタカタ打つタイプの人や誤入力が多い場合はタクタイルのミスしにくい心地よい感触を好まれそうな気がします。

先人として言えることは、店頭やテスターで実際にキースイッチを押して選ぶ場合、「これがいいな」と思ったスイッチより1段階軽いものを選ぶことをお勧めします。
立った状態や人差し指でテスターを押すと力が強く、強い力基準で選んだキースイッチで一日キーボードを打つと指が疲れます。
薬指や小指でも押してみて、本当にその重さで大丈夫か、よく確認しましょう。

キーキャップ沼

素材はツルツル・テカテカになるのが嫌だったのでPBTを選んでいて正解だったと思います。
が、問題はプロファイルでした。

全行が同じ形状・高さのXDAプロファイルを試してみたかったので最初に選びましたが、ホームポジションの一段下のZの行のタイプミスが目立ちました。
最初は格子状のスタッガードなレイアウトが原因かと思っていましたが、試しにFILCOのキーボードからOEMプロファイルを付けてみるとミスがなくなりました。

OEMプロファイルはあまり販売されていないため、近いCherryプロファイルに変更して解決しました。
また、キーキャップを変えたことでハッキリ分かるレベルで打鍵音が小さくなりました。
静音スイッチにばかり目が行きがちでしたが、キーキャップでこんなに変わるとは。

ちなみに、選んだキーキャップはコーヒーテイストのこちらです。
少し古いファミコン本体のような色がお気に入りです。

参考

キーマップ沼

基本方針として、US配列を出来るだけ崩さない配列にしました。
ノートパソコンや他人の端末を触る時、(特に記号周りを)好みに合わせて最適化していると戻れなくなるためです。

キーマップ
https://remap-keys.app/catalog/RZSU1CrvEW4lns0ww5BM/keymap?id=Z07lTvb7eNhHe1T4146U

ファームウェアをカスタマイズする

KeyballのファームウェアはGitHubリポジトリに公開されているため、自由に変更できます。
ファームウェアを書き換えることで、デフォルトのキーマップの変更やQMKのオプションを指定することができます。

自前ファームウェアの作り方

ファームウェアを作成された@koron氏がドキュメントにして頂けています。

変更したソースをコンパイルするためにc言語のコンパイル環境を用意するか、
GitHubのCI (GitHub Actions)でリポジトリにpushされたらCIが自動で走り、Artifactsにコンパイル結果が保存されるように定義して頂けています。

例: HOLD_ON_OTHER_KEY_PRESSとScroll Snapを無効にしたファームウェア

早く入力しすぎてLayerキーが反映されず誤入力する場合

1つのキーに対してTAPとHOLDの両方にキーを割り当てている場合は、押し込み続けて200ms経過するとHOLDと認識されます。
それ以前にキーを離すとTAPとして判定されます。

そのため、キー入力が素早い人はHOLD判定される前に組み合わせのキーを入力していることが誤入力に繋がります。

これはファームウェアのフレームワークとして使用されているQMKのTAP/HOLD関連の設定値をセットすれば解消できます。

筆者は TAPPING_TERM をデフォルトの200から100へ変更しましたが、変更したことによりTAPの誤入力が発生したので、 HOLD_ON_OTHER_KEY_PRESS (TAPPING_TERM未満の時間でもHOLDされた状態で別のキーをDOWNした時点でHOLD扱いとする) 設定値をセットして解消しました。
人によって手癖に左右されるので、いろいろな設定項目が用意されているのでドキュメント)に目を通しましょう。

ホワイトボードツールでスクロールがぎこちない場合

トラックボールを回した方向でスクロールするため、 時々意図せず横スクロールするので使いづらいですね と話していて追加された Scroll Snap 機能があります。
これは最初のスクロールからスクロール方向を特定して固定する機能で、ウェブページやエクセルなど斜めにスクロールしない場合には良いのですがFigmaやMiroといったホワイトボードツールでは操作性が著しく損なわれる状態でした。

Scroll Snapは有効・無効を切り替えるフラグを用意して頂けているため、無効にしてコンパイルすれば、Scroll Snapを無効にできます。

参考: ScrollSnapを無効化する

LEDを装着する

キーボードが光ることに何の意味があるの?

そう思っていた時期が私にもありました。

keyballはLEDを装着すると自由な色に光らせることができ、もちろんオン・オフも可能です。

LEDはAmazonなどに販売している中国のメーカーからSK6812 MINI-E互換品を直接取り寄せれば100個800円ほどで追加できます。

LEDに関する注意事項はビルドガイドにも記載されています。

一つずつ点灯を確認しながら装着すると確実

LEDは直列で繋がっており、番号の小さい順に点灯します。
途中で接続不良があると以降のLEDは光りません。

ビルドガイドに記載されている一番のポイントは、点灯しない場合に確認すべき箇所です。

12番のLEDまでは点灯しましたが、13番以降のLEDが点灯していません。この場合、【12番か13番】のLEDの半田付けに問題がある可能性が高いのでそれらのLEDの半田付けをやり直してください。

点灯しないLEDがある場合、その点灯しないLEDのはんだ付けを疑ってしまいます。
ですが1つ前の光っているLEDの接続不良の可能性もあります。

4箇所あるはんだ付けをするパッドのうちの1つは、電源パッドです。
ここのはんだ付けが上手く言っていないと、そこまでは電源が来てるので光りますが次のLEDへ電源がつながっておらず光らない、という問題が起こります。

LEDは熱に弱いけど恐れすぎない

LEDは熱に弱く、長くコテを当てていると壊れてしまうので注意が必要ですが恐れすぎないようにしましょう。
事前の温めが不十分だとはんだ付けの失敗する可能性が上がり、接続不良となります。

LEDは多めに購入して、いくつかはどのぐらい当てたら壊れるのか事前に実験に使うと以降の成功率が上がります。

傾斜をつける

一般的なキーボードにはチルトスタンドが付いていて手前に傾斜をつけることが出来ます。
傾斜をつけていると上の段に指が届きやすくなり、好まれる方も多いです。

ゴム足

キットに透明のゴム足が付属していますが、小さく傾きも小さいため、手前側にTB型丸ハリ付ゴム足(10個入)【TB-8】 を奥側にTB型丸ハリ付ゴム足(10個入)【TB-16】を付けることでより傾斜をつけることが出来ます。

テンティング

ハの字型になるように傾けると手首がより自然な形を保つことができ、特にトラックボールの操作が楽に行えるようになります。

詳しくは以下の動画で紹介されています。

カメラ用のミニ三脚にマグネット雲台を取り付け、キーボード側にはスチールプレートを貼り付けます。
そして、磁力を使ってミニ三脚をくっつけることでテンティング出来るようになります。

磁力なので外せますが、カメラ用のマグネット雲台はカメラを安定して支えられるぐらいの磁力のため、かなり強力です。
キーボード側のスチールプレートを強力に接着しないと剥がれるため、対策が必要です。

ミニ三脚の足は固めなのでキー入力程度では足の角度が変わることはないですが、MP3-BKはManfrottoというカメラ界隈では有名な三脚メーカーのしっかりしたモノです。
安物三脚で代用すると安定しないかもしれません。

ポジション調整

三本足の三脚で各足が独立して傾きを調整可能、かつ磁力でくっついているため細かい調整が可能です。
足の向きや位置をずらすことが出来るので理想の角度に近づけることが出来る反面、取り外したり畳んでしまうと再調整に時間がかかります。

私は大きめのゴム足のTB型丸ハリ付ゴム足(10個入)【TB-16】を2つと三脚の足2本で四隅を支えるようにセッティングしています。

ポイントは四隅の4点で支えられるように調整することです。
3点の場合は隅のキーを押した場合にガタつきます。

入手先

分割キーボードのテンティングには左右分が必要なので2セットずつ購入する必要があり、ティッシュケースや厚みのある名刺ケースなどで一度テンティングをお試ししてから揃えることをお勧めします。

ミニ三脚 Manfrotto MP3-BK x 2

マグネット雲台 x 2

まとまった数量で購入したため、余った分をメルカリにて出品しています。

スチールプレート x 1

ガジェットカテゴリの最新記事