Let's Split 風 静電容量無接点方式キーボードを自作した

Let's Split 風静電容量式キーボードを作ってみました。名前は Let's EC です。

今回は主に以下の2点を試してみたくて作りました

  1. 左右の通信を USB Type-C ケーブルにする
  2. マイコンボードを表面から見えなくする

左右通信

左右の通信には USB Type-C ケーブルを採用しました。自作キーボードだと TRRS ケーブルがよく使われますが、キーボードを持ち運ぶ際に TRRS ケーブルを忘れると人からも借りられるようなものでもないので詰みますが USB Type-C ケーブルであればスマホ充電用に持っていたり買える場所も多いのでつぶしが利くかなと。

ただしあくまで電気流すための導線という意味でしか使っておらず、左右通信用の USB を PC に繋ぐと壊れます。QMK Firmware の Spilit Keyboard の項目でも配線の仕方によっては左右通信用のケーブルを PC に間違って指すと壊れる可能性があるので左右通信に USB ケーブルは勧めない1 旨が書かれています。 それでも今回なぜ USB Type-C を選んだかというと TRRS ジャックよりも高さを抑えたかったのと TRRS と違い活線挿抜ができるからです。XIAO RP2040 も左右通信も USB Type-C ですが、XIAO RP2040 側が PC につなぐ方、左右通信はハンダ付けしたレセプタクル同士とさえ覚えておけば事故るようなものでもないので運用でカバーです。

USB C のレセプタクルは電源供給用の 6pin のものを使いました。16pin や 24pin のものもありますが、私が自力でハンダ付けできないので不採用。 6pin の構成は GND, VCC, CC1, CC2, VCC, GND となっており、CC1, CC2 を短絡させれば端子をどっち向きに挿しても CC 通して電気が流れるので、左右通信に必要な最低限の導線3本は確保できます。

2023/12/25 追記

運用でカバーと思っていたものの、メリットよりもデメリットの方が勝りそう。 左右通信用の TRRS ケーブルを PC に刺す可能性はほぼないであろうが、USB ケーブルは PC に間違えて刺す可能性高そう。左右通信用のケーブルに5V印加しても問題ない設計をできるようになるまでは TRRS を使うのが無難と思い直した

実装部品

高さを抑えるために MCU 直付けできたらカッコいいのですが

  • そもそも設計したことないので作り方がわからない
  • 自らの手ではんだ付けできる気がしない
  • PCBA 代高そう

等の理由から今回は XIAO RP2040 を端面スルーホールでハンダ付けしました。静電容量式キーボードの場合、PCB の裏にソケットなどの出っ張りがなくマイコンボードを基板裏に設置しても大して厚みは増えないので製造コストのことを考えると MCU 直付けで作るモチベは今のところ上がっていません。

XIAO RP2040 の使用することのできるピンを全て使い切っていて余裕がないので rp2040 supermini あたりを使うことも考えましたが、入手性に心配があったので国内で取り扱い店舗が多い XIAO RP2040 を無難に選びました。

その他の部品は不器用な私でもハンダ付けできそうな SOP-8, SOP-16, 1206(inch) と前途の USB C レセプタクル 6pin で構成しました。

ノイズの心配がありましたが、実用に耐えるレベルには収まってくれました。

ケース

オリジナルの Let's Split のようなプレートでのサンドイッチマウントだとマイコンボード側の厚みが手前側にまで波及してしまうので約4度チルトしたケースを作ってマイコンボード側の高さを自然と稼げるようにしました。 私の場合は普段70度のテンティングしてキーボードを使っているので厚みがあってもなくてもあまり関係ありませんが、販売も視野に入れていたので市販のものでもありそうな無難な感じに作りました。

ケースはトレイマウント風2とHHKB 式3の2種類を作ってみました。


  1. https://github.com/qmk/qmk_firmware/blob/c3773587e910f80c063a3edcaaefa76d3d844157/docs/feature_split_keyboard.md?plain=1#L48
  2. 上下から PCB を挟んでいるだけなので多分サンドイッチマウントです
  3. HHKB 式: ここではハウジングとトッププレートが一体化している方式のことを指します

分割キーボード用テンティングスタンドを作った

長らく100均で買ったタブレットスタンドに滑り止めを付けたものをテンティングに使用してきましたが、使い続けていると滑り止めにホコリが付いてきて滑ってキーが打ちづらくなってしまうという問題を抱えていました。

この問題を解決すべく新たなテンティング環境を構築しました。

パーツ構成

構成としてはキーボードケースとテンティングスタンドを磁石で固定、テンティングスタンドとデスクに敷いたトタン板を磁石で固定としてみました。

テンティングスタンドは持ち運ぶことを考え分解しやすいように斜面、サポート、底面の3つのパーツを組み合わせて作りました。

キーボードケース底に磁石

テンティングスタンド底面の磁石

モデリングしているときは斜面の磁石は表面につけようと思っていましたが、実際に組み立てる際は裏面からつけるように変更しました。

完成形

実際に使うときはこんな感じです。私の場合、分割キーボードには手を広げて使えるということよりもテンティングして使えることの方に重きをおいているのでトタン板は横幅 30 cm と 60% キーボードくらいの長さのものを購入しました。ノートPCの横幅と同じくらいなのでこれくらいの長さならば持ち運びも苦ではありません。幸い私の職場のデスクの天面はなぜか磁石がくっつくのでトタン板を持ち運ぶことはおそらくないでしょうが。

スタンドとトタン板は直径 6 mm, 厚さ 2.5 mm のネオジム磁石5つの磁力でくっついており、結構強く叩いてもずれることなく安定感がありました。

安定感を増そうと各テンティングパーツを厚めに作ったせいで製造コストは掛かりましたが、打っている最中に腕の開き具合がどんどん狭くなっていくなんてことにはもうならなさそうなので満足してます。

謎のノーブランド静電容量式スイッチを使ってみる

AliExpress で詳細不明の静電容量式スイッチが販売されていたので試しに買ってみました。軸は MX 互換になっていますが、常用する場合はキーキャップ自作推奨です。

購入したもの

ハウジングのサイズは東プレスイッチとほぼ同じだと思います。そのためトッププレートの穴サイズは 14.0x14.6 mm が丁度良いです。

ノーブランド品のプランジャーは東プレと比較して 1 mm くらい短くなっています。

プランジャー比較: 紫がノーブランド、黒が 東プレ

プランジャーが短いせいで底打ちをしたときにキーキャップとトッププレートが衝突します。キーキャップを薄いものにするとトッププレートとの衝突はしませんが、ハウジングとキーキャップの梁が衝突します。 キーキャップの厚さに限らず常にどこかに衝突するのでタイプするごとにカツンカツンとうるさい音が響きます。

キーキャップに静音リング(Oリング) を2つくらい付けると衝突問題は回避できましたが、プランジャーに刺さっている距離が短くなるので簡単に外れるようになってしまいました。

市販品を組み合わせた創意工夫ではどうにもならなさそうでしたが、一気に100個近く買ってしまっていて使わないというのももったいないので衝突問題を回避するために軸を長くしたキーキャップを作ってみました。

色々なステム長で作ってみましたが、1.5 mm 前後突き出したモデルにするとちょうどよく感じました。 ステムを長くしたキーキャップを使えば普通の静電容量スイッチという感じです。

特段安いわけでもないのでこのスイッチを買うよりは NiZ のスイッチを買うことをおすすめしますが、「キーキャップは自作派」という場合であれば買っても良いかもしれません。キーキャップの自作方法は別記事にまとめてあります。

goropikari.hatenablog.com

今回購入したプランジャーを東プレハウジングにつけることはできたので、Adapter-X が終売してしまった現在において REALFORCE や HHKB にアルチザンキーキャップを付けたい場合は重宝するかもしれません(打たない前提なら使える)。

東プレ軸・MX 軸兼用キーキャップを自作した

ありそうでなかった(?) 東プレ軸・MX 軸兼用キーキャップを作ってみました。

作り方ダイジェスト

rsheldiii/KeyV2 を使い

  • $rounded_cherry_stem_d5.7 に設定
  • stem type を rounded_cherry に設定する
  • stem を長くする

終わり

想定読者

  • 規格の違う様々な静電容量式スイッチを使用している方
  • 東プレスイッチ用キーキャップを手軽に自作したい方
  • 東プレスイッチ、MX スイッチどちらを使う場合でも同じキーキャップを使用したい方

はじめに

東プレスイッチには MX 向けのキーキャップはつかず 1、逆に MX スイッチに東プレスイッチ向けキーキャップはつかないというのが世間の一般的な認識だと思います。 キーキャップを自作しているという方でもどちらか一方に特化したものを作っていると思います。

諸般の事情でステムの長い MX 互換キーキャップが欲しくなり、自分でモデル作っているうちに東プレ軸互換にもできそうな雰囲気を感じたので試しに作ってみました。

ステム形状の方針立て

東プレスイッチのプランジャーを見ると内側2箇所に突起があることがわかります。また最上面よりも若干下にあることもわかります。

キーキャップのステムの方は縦に2本スリットが入ったパイプになっています。ステムが長くキーキャップの傘部分から飛び出してもいます。スイッチ側と引っかかるようなところはないのでプランジャーとの摩擦で固定していることがわかります。

以上を踏まえこんな形のステムを作ったら東プレ、MX スイッチ両方に使えそうです。

スリット幅は MX の十字に合わせると東プレキーキャップの幅より狭くなりますが、見た目的にはいけそうな気がします(実際に計れるとよいのですが精度の良いノギス持っていないので目測で判断してます)。

ステムの直径が一般的な MX キーキャップのステムより大きいので MX スイッチで使うときにハウジングと干渉して押せない可能性がありますが、直径を小さくしたら東プレスイッチに固定できなくなってしまうので押せると信じてこのまま突き進みます。

KeyV2 を使ってモデリング

1から好みのプロファイルのキーキャップを作るのは大変なので、今回は KeyV2 を使って作成していきます。KeyV2 は様々なプロファイルのキーキャップを簡単にモデリングできる大変便利なライブラリです。

git clone -b v2.4.0 https://github.com/rsheldiii/KeyV2

clone してきたら keys.scad を OpenSCAD で開きモデルを作っていきます。

基本の形を作成

今回は cherry profile なキーキャップを作っていきます。

include <./includes.scad>

row = 3;
unsupported_stem() rounded_cherry() cherry_row(row) key();

行の数え方は上から 1, 2, 3, 4 と数えるか、下から 1, 2, 3, 4 と数えるかは宗派によって違いますが、KeyV2 は上から数える派です。すなわち数字行が R1 で Z がある行(QWERTY配列の場合)が R4 です。

都合の良いことにステムを rounded cherry にすると十字の縦棒の方にはスリットが入っているのでこのままステムの直径を大きくすれば東プレスイッチに嵌められそうな形状をしています。

デフォルト値の直径 5.5 mm だと東プレスイッチに固定できないので 5.7 まで増やします。直径の値は fernandodeperto /topre_key の値を使いました。

include <./includes.scad>

$rounded_cherry_stem_d = 5.7;

row = 3;
unsupported_stem() rounded_cherry() cherry_row(row) key();

ステム延長

KeyV2 の設定だけではキーキャップの傘の部分(?)よりも下に突き出したステムを作ることは多分できないので、ステムだけ作って基本となるのキーキャップのデータと結合してステムを延長します

include <./includes.scad>

$rounded_cherry_stem_d = 5.7;
extend_stem_height = 4; // 打鍵面より飛び出さない適当な長さ

row = 3;

union() {
    unsupported_stem() rounded_cherry() cherry_row(row) key();
    translate([0, 0, -1.35]) rounded_cherry_stem(extend_stem_height);
}

以上で東プレ・MX 兼用キーキャップのモデルができました。

STL ファイル形式で出力して、3Dプリンターで印刷します。

openscad -o keycap.stl keys.scad

印刷結果

実際に印刷したものがこちら。ステムが飛び出ていることを除きパット見は普通の MX 用 keycap です。

東プレスイッチ、MX 互換スイッチともにつけてみましたが逆さにしても落ちない程度にはハマりました。ただ、MX の方は若干緩いです。 また、東プレ軸に合わせてステムを長くしているので MX 互換スイッチにつけるとひょろ長くなりますね。普通に使うには向かないと思います。

懸念していた MX スイッチで押せるのか?ということですが、ハウジングに干渉することなく普通に押せました。昨年、遊舎工房のお苦しみ袋かお楽しみ袋に入っていた種類ごちゃまぜスイッチで使えないものはとりあえずなかったです。

検証済みスイッチ

おわりに

兼用キーキャップとして使いたい人はほぼいないと思いますが、東プレスイッチ向けのキーキャップを簡単に作れるので、「REALFORCE を分解して40%自作キーボード2台分くらいのスイッチを手に入れたけどキーキャップがなくて困っている」という方は試してみるとよいかもしれません。

または、打つことをそもそも想定していないアルチザンキーキャップを作られている方は、今後このステムサイズで作れば東プレ軸、MX 軸両方いけるようになるので新規顧客を獲得できるかも(?)


  1. Realforce GX1 は例外的にプランジャーが MX 互換になっているので使えます

nowt36 を組み立てた

tamago324 氏設計の nowt36 を組み立てました。今まで何個かキーボードを組み立ててきましたが一体型を作るのは初めてです。

booth.pm

なぜ nowt36 を選んだか

nowt36 を選んだ主な理由は以下の2点です

  • 普段使っている分割キーボードは持ち運びに向かないので一体型が欲しかった
  • 数あるキーボードの中でもトップクラスに可愛い

持ち運びやすさ

前提として私は会社でも分割キーボードを使っています。

会議のために部屋を移動する際、一体型と比べて分割は持ち運ぶ物が多く移動準備に手間がかかります。また片腕で小脇に挟むという方法が取れずノートPCをおぼんにして運ぶので両手が塞がって不便です(ドアが開けられない)。 これらの不便さとノートPCのキーボードの打ちづらさを天秤にかけた時、打ちづらさのほうが許容できたので自席にいるときは分割、それ以外の場所ではノートPCのキーボードを使うというスタイルで今までやってきました。 とはいえやはり打ちづらいので本音は分割にしたい、でも持ち運びのことを考えると一体型にしたい、ということでどちらの要素もある monoblock split keyboard を作ることにしました。

可愛さ

可愛いは正義! 個人的には nowt36 と miniaxe がキーボードの中でトップクラスに可愛いと思っているので monoblock split 作るとなったら nowt36 一択でした。

キー配置が普段と違うのとメカニカルスイッチを使うのは久しぶりなのでまだ慣れませんが、ノートPCのキーボードよりは遥かに打ちやすくなりました。

nowt36 用ケース

私の nowt36 はミドルプレートを入れておらず側面からホコリが入り放題なのでホコリ防止用にケースを作りました。

モデルデータは booth にて販売しております。

pikarikbd.booth.pm

Firmware

キーボード作るときは最新の QMK Firmware で動かすことに決めているのでオリジナルの firmware を 0.20.6 用に修正しました。LED は使っていないのでその辺の処理は抜きました。

github.com

静電容量無接点方式

静電容量無接点方式化することを妄想するだけしてみましたが、物理制約からスペーサーの位置をオリジナルの位置から変えざるを得ず、それに合わせて外形を作ってみたら可愛さが激減したので妄想するだけにしました。

REALFORCE のようにトッププレートにネジ切って、トッププレートとメインのPCBをネジで固定できたらオリジナルの形を踏襲できそうですがものすごくコスト掛かりそうなので見送りました。

格子配列か余白があるキーボードだとオリジナルの外形に手を加えずに静電容量式化しやすいのですが、そうでない場合は私の技術ではオリジナルの形を踏襲するのは厳しそうです。 私に余白があるけどカッコ可愛いキーボードを作れるデザイン力があればと思うばかりです。