こんにちは、岐阜で4歳の娘と公園を駆け回らされている30代主婦、chocoです(^^) 子どもは公園が大好き。(ゲームも大好きだけど!) しかし、同じ公園の同じ遊具だと、子どもとしても飽きてしまうのか…
初めての自作キーボードに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回押すことで解消します。
同様の問題に悩まされていましたが、まずKeyball61にUSBケーブルを繋ぎ、その後もう一端をPCに繋ぐとほぼ問題なく接続されるようになりましたよ。
— 0363 (@b5oXDmz1xgPChOB) April 5, 2022
ホイールスクロールどうやるの?
Layer3に切り替えている状態でトラックボールを回すとスクロール出来ます。
また、常にトラックボールがスクロールになるキーコードも用意されています。
キーのリマップはどうやるの?
キーに割り当てる動作はREMAPというウェブサイトから自由に設定できます。
Keyballを接続した状態でアクセスするだけで良く、管理者権限や特別なソフトウェアも必要ないので大変便利です。感謝!
動作確認はREMAPのTest Matrixを使う
適当なテキストエディタ等に入力しても良いですが、何が振られているか分からないキーや、CtrlやShift等の直接変化が見られないキーは確認が手間です。
そこで、キーのリマップを行うWebサイトのREMAPからキー入力のテストが行える Test Matrix
を使用します。
入力されたキーの色が変わります。
尚、テスト用のファームウェアは以下のキーマップが設定されています。
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のオンラインショップで滑り止めクッションを単品で販売して貰えているので、断面側に追加します。
仕上がりや塗装など気にする方は分割用のリストレストも販売されています。
完成
最後にキーキャップを付けていく時が最も達成感がありました。
徐々に完成形に近づいていく様子や、黒いキーボードばかり使っていたので珍しい色のキーキャップは新鮮です。
ただ、初めてのキーキャップなのでそれほど拘らずに安価なものを選びましたが、拘りだすと底が見え無さそうです…。
私は(まだ)興味ありませんが、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 (リニア)
に決まりました!
スッと押し込まれるリニアとポコッと押した感触があるタクタイルですが、両方を試した上で軽さを求める場合はタクタイルのクリック感は余計であることが分かりました。
軽快にカタカタ打つタイプの人はタクタイルの心地よい感触を好まれそうな気がしますが、軽さ(楽さ)とスピードを優先する私はリニアが向いていると判断しました。
先人として言えることは、店頭やテスターで実際にキースイッチを押して選ぶ場合、「これがいいな」と思ったスイッチより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を無効化する
コメントを書く