otsunekoの日常

分離型キーボード『JISplit89』を自作した話

my new gear...

目次

はじまり

在宅勤務はとにかく肩が凝ります。運動量が減り、一日外に出ない日もザラ。食事とトイレ以外立ち上がらないことすらあります。

慢性的な肩凝りに悩まされている僕は、分離型キーボードを導入して極力肩が開いた姿勢を保つことでこれを解消しようと考えました。

そうと決まれば早速品定めです。移行に伴う習熟コストを減らしたいこともあり、キーボードに求める要件は以下3つ。

  1. JIS配列であること
  2. 分離型であること
  3. 無線対応であること

当初は既製品で検討していたのですが、上記要件を満たすキーボードがついぞ見つかりませんでした。2と3が満たせるキーボードとしてはBAROCCO MD770 RGB BTがあり、キーマップを変える運用でいけるかも?と期待していたのですがなんとAmazon限定販売で現状在庫無し…泣きました。

悲しみを背負った僕は更に調査を続け、気づけば自作キーボード温泉街に迷い込んでいました。そこで出会ったのが『JISplit89』です。上記3要件を全て満たし、普段コーディング等でもよく使う独立Fnキーが付いている。しかも光る(重要)。

これや!!と思いツイートすると、速攻で設計者のサリチル酸さんから『いいね』と『リツイート』を頂き、更には他の自作キーボード沼住民からもおいでおいでと言わんばかりに『いいね』を頂いたことで、益々その気になりました。チョロいですね。

パーツ購入

まずはパーツの調達です。遊舎工房さんの店舗に赴き、サンプルでキータッチ等を確認して自分のイメージ通りであることを確かめ、買える分のパーツを揃えました。以下です。

遊舎工房さんでの購入分

これらの他に、遊舎工房さんで取り扱っていない完全無線化用のJISplit89電池部品セットを、サリチル酸さんのBOOTHから購入しました。

BOOTH(自キ温泉街販売所さん)での購入分

しめて44,000円になりました。ん…?

(ダウンロード版)自作キーボードカタログ 2020

(ダウンロード版)自作キーボードカタログ 2020

しめて45,000円になりました。

※実際は更に3.5mmステレオミニケーブル、無線化用の電池(CR1632 x 4個)、自宅作業用のエポキシ樹脂、遊舎工房さんの工作スペース利用料(今回4時間利用したので2,500円)などを加えて50,000円弱になりました。自作キーボード沼…恐ろしい…

気になって事前に調べたこと

  • LED点灯はUSB接続中だけ?
    ⇒基本は有線接続中だけど、USBから給電されているかどうかが重要みたいで例えば以下ツイートのようにモバイルバッテリーを使う力技で無線(?)LED点灯可能。
  • LEDのOn/Offは簡単に切り替えられる?
    ⇒適当なキーマップ変更ツール(REMAP、QMK Configurator等)でRGB Toggleボタンをキーマップに追加すれば、キーボードを叩くだけでLEDをOn/Offできるようになるはず。
  • 遊舎工房さんのサイトに記載の通り、無線化も含めた自作代行依頼は無理?
    ⇒無線化はやはり自作代行の対象外。お願いするとしたら一度有線で組んでもらったものを自分でバラして無線化になるそう。

組み立て

基本的に、サリチル酸さんの自作キーボードキット『JISplit89』ビルドガイドを参考に作業を進めました。

今回、組み立ては2日に分けて行いました。まず1日目に自宅でできる範囲の作業(はんだごてが無くてもできる作業)をしておき、2日目に遊舎工房さんへお邪魔して潤沢な設備に囲まれつつJISplit89を完成させる、という流れです。初めての自キ作成だったので、仮に遊舎工房さんの開店時間である13時に駆け込んだとして閉店の18時までに全作業を終えられるか正直とても不安だったためにこのような作戦をとりました。

結果的にこの作戦は大成功だったと思います。実際の作業時間として、1日目が3時間程度、2日目が4時間程度でした。2日目の作業中、取り付けたLEDが一部点灯しなかったりLEDの付け忘れに気づいて焦り散らかしたりしたもののそれ以外は割とスムーズにいってこの時間なので、自宅で下準備しといて本当によかったです。

JISplit89を作成するにあたりひとつ頭の片隅に置いておくと良いこととして、各部品を取り付ける段階で、基本的に部品の余りは出なくなるはずです。必要なセットを調達していれば、最終的に黒ネジが1個余るだけだったかな?
なので、LED取り付けのパートが終わったのに何故かLEDが6個余ってる状態で次に進むなんてことはしてはいけません。後悔します。僕のように。

以下では、僕が躓いたところとか、あれ?と思ったところを中心に作業の流れを振り返りたいと思います。全作業を通じてWebブラウザはChromeを使用しました。特別な理由が無ければChromeにしとくのが無難かなと思いますね。ちなみに、もしビルドガイドと矛盾する記載がありましたら、ビルドガイドの方を優先してくださいね。変なこと書いてるかもしれないので…

1日目(自宅)

エポキシ樹脂でBMP固定

エポキシ樹脂めっちゃ臭い。それ以外は特に躓かず。USBジャックの中に入らぬよう、爪楊枝でちょっとずつ樹脂を塗っていきました。塗れたら1時間ほど乾かしました。ちなみにPro Microの方はLED点灯テストだけできればいいので、エポキシ樹脂塗ってません。

エポキシ樹脂

各種プレートの切り離し~バリ取り~黒ペン塗装

ニッパーで切り離した後、ひたすらヤスリがけしてるとトランス状態になってきました。

ヤスリがけ

あとプレートの側面塗る時、マッキーの太い方が本当に良かったです。強めに押し当てて、ツツーと滑らせていけばほぼムラ無しで綺麗に塗れました。

BMP、Pro Microのファームウェア書き込み

  • BMP

BMPの設計者であるせきごんさんのページ(以下リンク)を参考にファームウェアを書き込みました。Pro Microと違ってLEDが無いので、BMPがPCにちゃんと認識されたかが視覚的にパッと分からず、ちゃんとできてるのか不安になったりならなかったりしました。

自作キーボードキットを無線化する

BLE Micro Pro Web Configurator
⇒『ナビゲーション付きでセットアップを開始する』をクリックして流れに従うだけでBMP2個のファームウェア書き込みが完了します(まず左手(Left)側、次に右手(Slave)側)。最初にキーボード選択できるので、『jisplit89』を選択して作業を進めます。ちなみに僕はその画面で『Disable Mass Storage Class』にチェックを入れました(BMPを大容量ストレージとして認識させないようにするため)。

以下は途中の画面キャプチャです。各画面で『Update』ボタンを押すとシリアルポートへの接続要求ウィンドウが表示されるので、そこでBMPのシリアルポートを指定して『接続』を押した後、画像のように『Update Succeeded. Go next step.』と表示されたら『Next』を押して次の画面に移る、というのを繰り返しました。『bootloader version』とか『application version』はデフォルトで最新が選択されているのでそのままにしました。

ファームウェア書き込み

シリアルポート接続

BMPがうまく認識されない時は、BMPの抜き差し後すぐに『Update』を押すとうまくBMPが認識されました。ちなみに、手順を経る過程で接続要求ウィンドウに表示されるBMPの名称が『Nordic Semiconductor Open DFU Bootloader』⇒『USB Serial Device』⇒『(BMP)ble_micro_pro』と変わっていきました。

以下は僕のBMP設定画面です。『Is Slave』にチェックが付いているので、これは右手側のBMPの設定ですね。『Show keymap.json using JP_XX』はデフォルトだとチェックついてませんでしたが、意味もわからずノリで付けました。無しでいいかと思います。あと『AutoSleep』も最初は0 min.(AutoSleepしない設定)ですが、電池持ちを考えて60分でスリープする設定にしました。

jisplit89設定

設定を終えたBMPは、どっちがどっちか分かるようにしておきます。

BMP

  • Pro Micro

Pro Microは、以下手順を参考にPro Micro Web Updaterでファームウェアを書き込みました。

(初心者編)自作キーボードにファームウェアを書き込む

ファームウェア(jisplit89rev1via.hex)

Pro Micro Web Updater

基本的にサリチル酸さん記載の手順に従うだけでOKでした。
『eeprom option:none、split-left、split-right』とありますが、Pro Micro2個ともNoneにしました。Pro Microをflashする時にPro Microの『RST』と『GND』をショートさせる手順がありますが、1回でだめな時は2回か3回連続でピンセット等でショートさせるといいかもしれません。僕の場合1回だとうまく認識されなかったので、ひたすらUSBデバイス接続音を「ペンポコポン♪」「ペンポコポン♪」と鳴り響かせました。

2日目(遊舎工房さん)

遊舎工房

お店の受付で工作室の利用を申し出て札を受け取り、一旦外へ出て隣の工作室へと向かいます。初利用であることを伝えてガイダンスを受け、作業開始です…!

※ちなみに遊舎工房さんで借用可能な機材はここで確認できます。マスキングテープ買っていったんですが、僕が行った時には普通に借りられました。あと黒マッキーもありましたね。

LEDの取り付け

2日目はビルドガイドで言うところの『(オプション)ブロッカーLED(YS-SK6812MINI-E)の取り付け』からスタートです。

LEDは取り付け穴にスッポリはまってくれるので、特にマスキングテープでの固定は要りませんでした。楽ですね。一応、コンスルーを刺す穴だけはマスキングテープで塞いでから作業しました。300℃ぐらいのはんだごてで、まず片側の足をはんだ付けした後、プレートをひっくり返して反対側の足をはんだ付けすると作業がやりやすかったです。

LED

Pro Microとコンスルーのはんだ付け

LEDのテスト用に、Pro Microとコンスルーをはんだ付けします。

Pro Micro

Pro Microの穴は片側12個で、コンスルーのピン数と同じです。実装プレートは片側13個の穴があるので、端っこの『BAT+』と『BAT-』を避けるようにピンを刺しました。ちなみにコンスルーの片方の側面だけに開いている窓(金、黒、金、黒と交互に見える四角い穴。遊舎工房さんの通販画像が分かりやすいかも。)はPro Micro/BMP問わず全て画像の向かって手前側を向くように(実際にキーボードとして使う向きに実装プレートを置いた時、窓が自分の方を向くように)、また、窓の位置がPro Micro/BMPに近くなるように刺しました(窓の位置はよく見ると片側のピンに寄っています)。

コンスルーの向きはビルドガイドを参考に慎重に確認しましたが、店員さんいわく「導通さえしちゃえばそこまで向きは関係ない」とのこと。合わせるに越したことはないでしょうが、最悪間違ってもなんとかなる?のか?

LEDのテスト

ドキドキしながら、はんだ付けしたPro MicroにMicro-USBケーブルをぶっ刺していきます…

よし…点けっ…!点灯しろっ LEDライト…!

LED失敗

「フフ……へただなあ、otsunekoくん。へたっぴさ……!はんだ付けがへた……」

内心ぐにゃあとなりながら店員さんに質問したところ、点かないLEDかその前後に問題があるとのことだったので、確認します。表面から見たところLEDの向きは全て問題無しで、はんだのブリッジ(隣同士、足がくっつく)もありません。ただはんだの量は少しムラがあるように思えたので、多すぎるところを吸い取り、足りないところにちょっとはんだを盛ってみます。

そして再確認するも解決せず。店員さんに技術サポート(三千円也)を申し出て金で全てを解決するか一瞬悩みますが、もう少しだけ頑張ろうと思い、ダメ押しではんだが少ないところに盛り直してみました。すると……

LED成功

やったぜ。

タクトスイッチとTRRSコネクタのはんだ付け

このパートは楽でした。TRRSコネクタとタクトスイッチは左右で区別がないので、それぞれ所定位置の穴にぶっ刺して裏からはんだ付けするだけです。個人的に出っ張りが気になったので、タクトスイッチの足は内側に折り曲げてはんだ付けしました。折り曲げるのではなく、ニッパーで切って短くするのがデフォなんですかね?まぁ動いたからオッケーか。

タクトスイッチ、TRRS表

タクトスイッチ、TRRS表

ちなみに、もし僕と同じように完全無線化JISplit89をレンタル作業室で作成していて、なんとか時間内にはんだ付けだけは終わらせてから帰りたい、という方はこのパートの後に無線化用のパーツ取り付け作業に進むと良いかと思います。ボトムプレートのはんだ付けは実装プレートとは独立して進められるので問題ありません。

スタビライザーの取り付け

ビルドガイドの通り、絆創膏をカットしてスタビライザー取り付け位置に貼った後、ルブをたっぷり塗ったスタビライザーをプレートにはめ込みました。ネジ止め式じゃなかったので、はめる時に割と指の力が必要でした。うまくできるとカチッとはまって隙間が無くなります。

絆創膏

スタビライザー

スイッチの取り付け

気をつける点は以下3つです。

  • スイッチはトッププレートを挟んで実装プレートに差し込むこと
    ⇒画像だとトッププレートの向き間違えてますが…
  • スイッチの向きに注意すること
    ⇒画像の赤矢印のように、端子がうまく穴にはまるように差し込みます。特にスペースキーの部分、左右2個ずつ合計4個だけ穴が上下逆向きになってるので要注意です。
  • 差し込む前に端子がまっすぐになっているかを一つ一つ確認すること
    ⇒今回JISplit89で使用した89キー分のスイッチのうちざっくり15個ぐらいは端子の曲がりを微修正する必要がありました。

スイッチの向き

ひとまず四隅を留めて安定させてから他のを差すと良いかと思います。ちゃんと差し込めているかは、ビルドガイドの通り実装プレートの裏面を見て確認しました。

スイッチ仮止め

トッププレートへのスペーサー取り付け

実装プレートを裏からよく見ると、ところどころ六角形の穴が空いています。ここにスペーサーを取り付けていきます。15個入っている、7mmのスペーサー(長いやつ)です。これを実装プレートの裏から差し込んで指で押さえ、ひっくり返して表面からネジ止めします。

一箇所だけスイッチとわずかに干渉するネジがあったんですが、店員さんに確認してスイッチの上から締め付けてやりました。

スペーサー

さて上の画像ですが、お気づきになられたでしょうか。

LEDライトがはんだ付けされておりません。この時ようやく左手側のLEDライト付け忘れに気づいた僕は、この状態のままゴリ押しでLEDライトをはんだ付けしました。TRRSコネクタに干渉しないかヒヤヒヤしましたが、なんとかうまくいきました…心臓に悪い…

実装プレートへのBMP取り付け

いよいよBMPを実装プレートに取り付けていきます。ビルドガイドに、裏表を間違えたら一発で使用不可能と書いてあるのでビビりますよね?僕はビビリ散らかしました。注意すべきポイントは以下です(基本は画像の通り)。なおはんだ付けは不要だそうなので差し込むだけです。

  • 予めファームウェア書きこんだ時の『Is Left(左)』と『Is Slave(右)』を間違えないようにする
    ⇒まぁ間違えてもファームウェア書き換えればいいだけでは?と思いました。
  • BMPの部品がごちゃごちゃ付いてる方が上になるように、またUSBジャックが外側を向くように実装プレートに設置する
    ⇒多分これをミスったら使用不可能になるってことですよね…
  • 実装プレートの『BAT+』にコンスルーが刺さるように、『BAT-』には刺さらないようにBMPへ互い違いにコンスルーの12ピンを刺す
    ⇒ちなみに、BMPにコンスルーを刺す位置は左手側と右手側で線対称ではないです。180度回転すると一致する、点対称になります(画像をよく見ると分かるかも)。
  • その他コンスルー側面の窓の向きとかは上述の『Pro Microとコンスルーのはんだ付け』の時と同じ

BMP取り付け

BMPコンスルー

キーボードのテスト

ついにここまで来ました。問題なければ、キーボードとして動作してくれるはずです。

キーボード仮完成

テストにはREMAPを使用しました。
※他のツールを使ってのテストもできるのでしょうが、僕の場合最初にうまく行ったのがたまたまREMAPでした。ちなみに実運用でもREMAPを使ってキーマップ変更とかしてます。とても便利です。詳細はサリチル酸さんのページ参照です。

具体的にはまずREMAPを開きます。その後ステレオミニケーブル or TRRSケーブルで左右を繋いだあとUSB type-Cケーブルを接続します。順番ミスると故障の原因になるそうな。

すると『(BMP)jisplit89』が選択できるようになるはずなので、クリックします。

REMAPトップ

画面が変わり、キーマップが表示されます。この時、キーボードの左上からA、B、C…と割り振られた変な配置になっているかもしれません(僕はそうでした)。その場合、以下の手順でちゃんとしたデフォルトキーマップに書き換えます。

変なキーマップ

  1. REMAP画面のキーボード右側にある、『Save/Restore a keymap』(左右矢印のアイコン)をクリック
  2. 次に『keymaps』の『SHARED』から、サリチル酸さんが設定されたデフォルト設定である『(BMP)jisplit89_Default』等をクリック
  3. キー配置がいい感じになっているはず(^とか:とか、一部キー配置が異なっているのでそこは微調整)!
  4. 画面右上の『flash』ボタンを押せば、キーボードに設定が反映される
  5. (オプション)自分のGithubやGoogleアカウントと連携させれば、『Save/Restore a keymap』の『SAVE CURRENT KEYMAP』から自分のキーマップをサーバに保存可能(キーマップ変更の度保存し直さないといけないので注意。flashだけじゃだめ)

サリチル酸さんキーマップ

キーマップを書き換えられたら、REMAP画面のキーボード右下の『…』から『Test Matrix』を選択して、全てのキーがちゃんと動いてくれるかテストしましょう!

TestMatrix

無線化用のパーツ取り付け作業

ここまでで有線接続した場合にキーボードとして動作するようにできましたが、無線化機能を実現するために更に作業が続きます。もう一踏ん張り…!

まずはダイオードのはんだ付け、それが終わったらコンデンサのはんだ付けです。どちらも予備はんだを盛ってからピンセットで押さえつつはんだ付けしました。ここがはんだ付けの最難関でした。特にコンデンサ。

ダイオードには向きがあり、まずダイオードに描かれた模様が上に来るようにしてから、描かれている縦線がダイオードとボトムプレートで揃うように向きを合わせます。あとは気合ではんだ付けします。

ダイオード

終わったらコンデンサです。コンデンサは向きがないので楽です。はんだ付けは全く楽ではありませんが…

めちゃくちゃ不細工なはんだ付けしちゃいましたが、これでも結果的に動いたのでOKです。細けぇこたぁいいんだよ!

コンデンサ

できたらいよいよ最後のはんだ付け。電池ケースとスライドスイッチです。画像の向きに差し込んで、マスキングテープで固定します(下の画像だと2ピンコンスルーが刺さってますが、この段階ではまだ刺しませんし、刺す向きも違います…(プレートの裏面から刺すのが正解))。

電池ケース、スライドスイッチ

裏面はこんな感じです。スライドスイッチの足は、出っ張りが無くなるように画像のように折り曲げてからはんだ付けしました。

電池ケース、スライドスイッチ裏面

はんだ付け完了です。やり切った…!

ボトムプレートへのスペーサー取り付け

2ピンコンスルーの取り付け含め、以下手順でやりました。なお、画像は手順4.まで終わった状態になっています。

  1. ボトムプレートの上から2段目の位置にある4mmスペーサー合計4個(左手2個、右手2個)をボトムプレートの反対側からネジ止めして取り付ける(この時はまだ実装プレートに装着されてない状態)
  2. 2ピンコンスルーを実装プレートの最上部に取り付けた後、ボトムプレートの対応する穴にうまく刺さるようにボトムプレートを装着して実装プレートとドッキング
  3. ボトムプレート最上段に、ネジ付きの4mm(オスメス)スペーサー5個(左手側2個、右手側3個)を指で回して取り付ける(画像だと一つ黒ネジになってますが完全にミスです…)
  4. ボトムプレートの下半分にあるネジ穴に黒ネジをぶっ刺していく

ボトムプレートスペーサー

最後にボトムプレートの蓋をネジ止めしてゴム足を貼り付けて…

ボトムプレートの蓋とゴム足

※ボトムプレートの蓋を止めるネジはそこまで強く締めない方がいいと思います。いずれ取り外す機会があるかもしれません(後日談参照)。

キーキャップ取り付け

キーキャップを取り付けたら完成!!!

完成

ボタン電池(CR1632)を挿入して、Bluetoothデバイスとして正常に動作するかも確認したら、存分にmy new gear…しましょう。

キーマップ変更

キーマップに関しては僕自身まだまだ模索中ですが、以下を参考に試行錯誤しています。親指でEnterやBackspaceを押せる(良い意味の)気持ち悪さや、レイヤを切り替えてホームポジションで矢印キーが操作できる快感に目覚めつつあります。

まとめ

以上、長文となりましたが、初めての自キ活存分に楽しめました!

作成中は想定通りに行かないことでいろいろ頭を悩ませましたが、一つ一つ調べて解決していくのは楽しいですね。何なら今もキーボードがスリープ状態からうまく復帰してくれないトラブルとかに苦しめられていますが、きっとそのうち解決できることでしょう。

今後については、徐々にレイヤ機能に慣れていって自キの潜在能力を解放していく予定です。普通のJIS配列と殆ど変わらないJISplit89であれば、徐々に移行していけるのが嬉しいところです。

一点気になる点として、これまでノートPC等のロープロファイル(低背)キーボード(直近だとLogicool K400 Plus)に慣れていたので、JISplit89だとちょっとキーの背が高くパームレストが欲しくなっています。押下圧ももう少し弱くてもいいかもしれません。

はっ…!理想のロープロファイルスイッチとかDSAキーキャップを探せば良いのでは…?或いはレイヤ機能に慣れてきたらCorne Chocolateとか7sKBmaJISticを作るのもありか…!?(沼)

皆さんも自キ活しませんか?(勧誘)

以上です。

後日談

JISplit89を使い始めて1週間ほど経ち、ある問題に直面しました。

キーマップ書き換えのためにType-CのUSBケーブルを抜き差しする度、実装プレートに取り付けたBMPとコンスルーが僅かに浮いてしまい、キーボードの挙動がおかしくなる(押しても反応しないキーが出たりする)というものです。
これを防ぐためには以下のような対策が考えられます。

  1. 物理的にBMPとボトムプレート間の隙間を埋めることでBMPやコンスルーを固定する
  2. USBケーブルをマグネット式のものにすることで、USBの抜き差しを行わなくする
    ⇒これ、USBジャックのモゲ防止の意味も込めてやりたいと思ってるんですが、候補が多すぎて決めきれず放置してます。いいのあれば教えてください!
  3. BMPとコンスルーをはんだ付けする(BMPははんだ付け不要と書いているが、はんだ付けしてもいいはず)
    ⇒後々別の自作キーボードにBMPを流用しようと思った時、コンスルーの付け替えができないことが問題にならないかが懸念点。

以下では、今回僕が実施した対策1について詳細を記したいと思います。

BMPとボトムプレート間の隙間埋め

このアイデアは、サリチル酸さんのDiscordで本件について相談した際に教えて頂いたものです。

戸当たりテープ持ってたっけ…と思いながら使えそうなものを探していると、ダイソーで以前買ったゴム足を発見。Discordのログによればサリチル酸さんはゴム足で固定しているとのことだったので、丁度いいやと思い使用しました。

ただしゴム足はそのままだと厚みが大きすぎたので、カッターでいい感じの厚さまで切って貼り付けました。結構危ないので可能なら最初からいい感じの高さのゴム足を買って貼るのが良いかと思います。ちなみに僕はゴム足のカット後にヤスリで表面を磨いてたら勢い余ってプレートまで磨き上げてしまいました。
賢明な読者の皆様は最初からいい感じの高さのゴム足を買ってください。

隙間埋め

下の画像は完成イメージです。BMPとボトムプレート間の隙間にゴム足が片側2個ずつ入り込むことで、うまくBMPとコンスルーを固定できるようになりました。

隙間埋め2

これでもうケーブル抜き差しの度に怯えることもありません!見てくれは不細工ですが、自分の手でキーボードをより良いものにできたので、満足しています!

JISplit89作成にあたっての参考サイト様