ZaruBallを静音化してみたという話

前回購入したZaruBallですが、使っていくうちにやっぱり打鍵音が気になるということで、ケースを修正してみました。

現時点で結構静かになった+打鍵感が柔らかくなったので、もうここら辺でいいかなと思ったので何かの参考になるかもということで一旦晒してみます。

前回の購入記事でもあげていますが、ZaruBallの素晴らしい点はケースのSTLファイルが公開されている点です。 これによって自分の好きな色や素材でケースを作成することができます。

github.com

また、CADソフト+3Dプリンタが手元がある人は気に入らない点があれば少し手直ししてケースを作成することができます。

今回は個人的に音が響く+打鍵感が硬いのが気になったので、色々と修正しました。

※結局ロープロファイルの場合には25mmトラックボールの方が干渉せずに使いやすいということに気がついた。

以下、やったこと。

1. なんちゃってガスケットマウント

これが一番手間がかかりました。

ガスケットマウントの詳細を知るには以下のサイトがとてもわかりやすいですが、ガスケットマウントをご存知ない方向けに説明すると クッションでキースイッチを支えるPCBとプレートを挟み込んで動作させる方法です。

メリットとしては打鍵時の振動がキーケース本体に伝わらず静音化、および打鍵感がソフトになるという点がありますが、 反対にデメリットとしてはクッションがへたった際に交換が必要になる、打鍵感がクニャッとするという点があります。

keyboard.wallpaperjournal.com

ZaruBallの場合はキースイッチを支えるトップケース、土台を支えるボトムケースの2枚構成(先ほどのGithubに画像があります)なので上のブログにあるような3枚構成にするのは結構大掛かりです。

さて、どうしようかなと考えていたところ、そんな時間もないし、メンテするのも簡単なのがいいな、ということでとりあえずボトム側だけにクッション敷くことにしました。

やり方としてはボトムプレートの外周を0.5mm拡張して、1.5mmのボトムプレートを囲う枠を作ってクッションフォームを配置する溝を作りました。

イメージとしては以下です。

クッションに関しては以下のAlliexpressのポロン素材フォームが両面シール付きで単純に横にチョキっと切れば終わりなので楽でした。

クッションの高さに関して、上記フォームは高さが4mmあり、そのままだと高いだろうなぁということでボトムプレート側にシールを貼るための溝を作ってクッションが低くなるようにしています。

高さに関しては色々とやってみたけど以下のような感じだったので個人的には2.5mm下げて1.5mmで底打ちを感じるようにしています。

ちなみに、どの高さにしようとフォームを張ってる時点でトッププレートの衝撃がボトムプレートに伝わらないのでかなり静かになっています。

  • 2mm → クニャッとする感じが強くて少し気持ち悪い
  • 1.5mm → 気持ち硬く底打ちを感じるが、前使っていたキーボードもこんな感じだった気がする。
  • 1mm → かなりの底打ち感を感じる。

なお、トッププレートをどうやって固定化しているかと言いますと、元々のマグネットの位置を穴にしてしまってボトムプレート側からM2のビスで止めています。

プラスチック部分にビス留めをしているのでやりすぎると将来的にトッププレートの穴がへたる気がしますが、どうせ個人利用だしもういいかなと思っています。

しかし、なんかもう少しスマートにやりたいな。。

2. 内部空洞を埋める

本修正がどれぐらい静音化に寄与しているかわかっていないのですが、 内部に空洞がそれなりにあったのでテンティング角度を修正する際に合わせて埋めました。

左手側は結構簡単に埋められるのですが、右手側はトラックボールの土台があることもあり丁寧に埋めるのは面倒だなと思いそれほど埋めていません。

ただし、最終的に右側も左側もそれほど大きな音の違いにはなっていないのでやっぱり1.が一番静音化に寄与しているのだと思います。

3. テンティング角度の追加

ZaruBallはデフォルトでも2度のテンティングがついています。

前のキーボードはスタンドを用いて5度ぐらいのテンティング角度をつけて利用しており、2度だと個人的に足りないと感じていたので3度にしました。

5度にしようかなとも思ったのですが、5度にすると内側部分がそれなりの高さになり、手首部分に台座を置かないとつらさを感じたので3度が妥当かなと思いました。

手首を置く台はもう持ち運びたくない。

4.ゴム足の変更

付属しているゴム足より少しだけ厚みのあるゴム足にしました。

1mmぐらい高さが追加されてしまうのですが、デフォルトよりは少しだけ柔らかい気がします。

ただし、これに関しては気がするという程度なので、静音化に寄与しているかは謎です。

ゴム足は直径1cmなので、以下のやつがピッタシです。

5.静音スイッチ

まだ届いていないですが、届いたらレビューします。

なお、現在Lofreeのspecterを使っていますが、現時点で打鍵音はかなり抑えられているので、どうしようかなと悩み中です。

Specter Low-profile POM Switcheslofree.co.jp

Zaruballを購入してみた。

今までkeyball61を使っていたのだけど、初めて自分で半田付けをしたことや有線接続ということもあり、以下のように結構色々と不都合が出ていた。

  1. powerpointを使っていると突然、Altかなんかがずっと押された状態になり一度ログアウトしないとキーが正常に動かない。
  2. ハングするので、usb端子を差し直さないと正常に動作しない。
  3. テンティング用のスタンドとキーボード本体のマグネットシールが結構剥がれやすい
  4. 持ち運びする機会が増えたので荷物が多い(パームレストなども持ち運んでいた)

1、2が特に問題として大きくて、実際に繁忙期など事象に遭遇すると結構イライラするのでこれを機にキーボードを買い換えようと決意

候補にあがったのは以下のキーボード

  1. roBa / moNa2
  2. ZaruBall

最初はroBaが良いと思い試してみたが、emacsバインドがベースの私には左小指の位置にCtrlキーがないというのが致命的すぎました。 とはいえ、一方で無線の分割式キーボードってこんなに安定してるのかと感動したため、無線で他に良いキーボードがないか探したところZaruBallに出会いました。

quilted-playroom-0a8.notion.site

2、3ヶ月ぐらい待つのかなと思って購入希望を出したところ、1ヶ月もしないうちに届きました。また、その作りの精度の高さとサポートの丁寧さにすごく感動しました。

以下、買ってから失敗したポイントと改良したポイント、今後やりたいことを残しておきます。(気が向いたらpushなどして貢献したいと思います。)

失敗したポイント

  • ビルドガイドには書いてあるのですが、動作確認がされているLipoバッテリーは極性がデフォルトで逆になっています。なので、自分で極性を逆転させる必要があるのですが、私は「刺さるじゃん!」と思って差したところ動作が不安定になりました。(常に充電ランプがつく状態になりました。)

  • これもビルドガイドには丁寧に書いてあるのですが、ビルドするのはブランチの「ZaruBall-v3.x」です。何も考えずにworkflowをrunするとmainになり、mainのファームを書き込むとマイコンが変な動作をします。

どちらも初めて遭遇した時に「なんだこれ?」と結構焦りまして、見言聞ざる(zaruSaru)さんに問い合わせたところ真摯に対応していただきとても助かりました。あらためてこの場で感謝申し上げます。

改良したポイント

ファームウェアリポジトリは以下です。 キーマップが結構シンプルなのですがデフォルトとは違うので使う際はキーマップを個別に直してください。 github.com

オートマウスレイヤーの誤作動防止

34mmのトラックボールを使っているのですが、結構手に触れる機会が多くオートマウスレイヤーに勝手に入ってしまいます。

25mmなどの小さいトラックボールは私の性分に合わないのでなんとか34mmで誤作動をしないように修正したいと思っていたところ、roBaのドライバでは誤作動を少なくするパラメータがあるのにこっちは入ってないことに気がつきました。

ドライバを変えれば対応できること自体は知っていたので、トラックボールドライバzmk-pmw3610-driverをkumamuk-gitに変更して、CONFIG_PMW3610_MOVEMENT_THRESHOLDを設定しました。 また、ドライバを変更するにあたり左手側と右手側のconfigを分けないとビルドエラーに遭遇することにも気付いたので、configも左手用と右手用に分けました。

  1. config/ZaruBall.confの内容をboards/shields/ZaruBall/ZaruBall_left.conf, ZaruBall_right.confに分割
  2. config/ZaruBall.confの削除(本当は削除じゃなくて共通項を括り出して管理するのがいいのですが、どれが共通項目か調べるのが面倒なので分けました。)
  3. config/west.yamlのzmk-pmw3610-driverのリポジトリをkumamuk-gitに変更
  4. 1.で分割した右手用confファイルにCONFIG_PMW3610_MOVEMENT_THRESHOLDを設定

感度の向上

こちらは結構単純でデバウンスの設定を入れるだけです。

boards/shields/ZaruBall/ZaruBall_left.conf, ZaruBall_right.confに以下のパラメータを入れました。

CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1
CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=3

zmk.dev

今後について

ZaruBallの素晴らしい点の一つとしてキーケースのデータがSTLで公開されているので、パーツが壊れたら3Dプリントすることができます。 個人的には現状、入力音がそれなりにするのガスケットマウントに挑戦したいなと思っています。