ぶていのログでぶログ

思い出したが吉日

自作キーボードキットSparrow62(+1) v2を組み立てた

4年前くらいにErgoDashを組み立てて以来愛用してきたのだが、ガタが来たのかここ最近調子が悪かった。 具体的には * USBケーブルを下側に抑えないと認識しない * 左右のキーボードをつないでいるTRSケーブルがずれると起動しない * 3キーを押すとedcも入力される(3edcと入力される) * Lキーの効きが悪い などなど

おそらく私のはんだ付けが甘い部分があって接触不良が起こっているのだろうと思うのだが、それを調査するのも億劫でだましだまし使っていた。 しかし、さすがにそろそろなんとかしたいなぁと思っていたらSparrow62(+1) v2という自作キーボードキットを見つけた。

Sparrow62(+1) v2を作ろうと思ったきっかけ

キーボードを新しく作るのであれば、慣れ親しんだErgoDashと同じキー配置でかつ親指キーがあり、そして持ち運びできるようにしたいと考えていた。 そんなことを考えながら日々を過ごしていたが、ある日、何を検索していたのか忘れてしまったが、本当に偶然Sparrow62(+1) v2のboothページに行き着いた。

booth.pm

まさに理想通りなキーボードだったのですぐさまポチってしまった。 私が見たときはboothの販売ページには在庫がなかったので遊舎工房でポチった。

【委託】Sparrow62(+1) v2shop.yushakobo.jp

完成図

そんなわけで完成したのがこちら。

前述したとおり持ち運びしたいと思っていたので、キースイッチはKailhロープロファイルの白軸にした。

Kailhロープロファイルスイッチshop.yushakobo.jp

キーキャップは色付きにしたかった*1のでMBK Choc Low-Profile Keycapsをチョイスした。

MBK Choc Low-Profile Keycapsshop.yushakobo.jp

この記事は完成したSparrow62(+1) v2で書いているのだが、少し高さが低いのでここらへんあたりを見つつ調整したいと思う。

キーマップ

私が使っていたErgoDashからさほど変えていない。 keymaps.pyはgistに貼ったのでそちらを参照のこと。

Sparrow62(+1)用のキーマップ · GitHub

気が向いたらKeyboard Layout Edtitorで作るかも。

Tips: JIS配列向けのキーマップ

KMK Firmwareは海外の人が作っている関係かUS配列を前提している。 そのため、キーコードが違うJIS配列として使おうとするとキーコードの読み替えが必要になってくる。 例えば [ を入れる場合は KC.LBRCではなくKC.RBRCを使うという感じ。 これはひじょーーーにめんどくさいのでどうしたものかっと悩んでいたが、まさにこの問題を id:at_you_key さんが解決されていた!最高!!

www.creativity-ape.com

Tips: USBストレージとコンソールの無効化

作ったキーボードは仕事でも使いたいと思っているのだが、USBストレージとコンソールが常に有効になっていてとても困る…。 セットアップをしている分には便利なのだが…セキュリティ的に厳しい。 なので、これらを無効にしたい。

幸い、KMK Firmwareのドキュメントに実装例が載っていたのでこれを拝借した。 通常はUSBストレージとコンソールが無効な状態で起動し、スイッチ1(左手一番左上)が押された状態で起動したら有効になるという感じ。 以下のコードをboot.pyに書き込むと良い。

import supervisor
import board
import digitalio
import storage
import usb_cdc


supervisor.set_next_stack_limit(4096 + 4096)

# disable USB storage, CDC
# see. http://kmkfw.io/docs/boot
col = digitalio.DigitalInOut(board.GP5)
row = digitalio.DigitalInOut(board.GP0)
col.switch_to_output(value=True)
row.switch_to_input(pull=digitalio.Pull.DOWN)

if not row.value:
  storage.disable_usb_drive()
  usb_cdc.disable()

row.deinit()
col.deinit()

作成過程

これ以降はおまけで、制作過程の写真や思ったことを書いている。 ビルドガイドはこちら

キット一式

今のリビジョンだとR9がすでにハンダ済みになっている。

ダイオードをつけたところ。 初手SMDチップはきつい。

スイッチ用のソケットをつけたところ。 ビルドガイドにも書いてあるが、Kailh Chocロープロファイル用のソケットには向きがあるので注意が必要。 この写真の通りの向きであっているはず。間違っていたら泣く。 SW3,4,34が反対向きなので注意。

Rasberry Pi Picoをつけたところ。 これはスイッチサイエンスで買った。

TRRSケーブルが届いたので、キースイッチの田植えを行い動作テストをしているところ。 最初、この状態にしたのにうまく動かなくてすごく悩んだ…。 原因はTRRSケーブルじゃなくてステレオケーブルだったためだった…。ちゃんとビルドガイドを読もう。

ネジを強く締めすぎて左側のICカバーが割れてしまった…。 使用には影響がないのでヨシ!

トッププレート、ボトムプレートをはめ込んだ状態。 Kailhのロープロファイルスイッチを使う場合、ボトムプレートの固定はICプレートのネジ止めだけで行い、トッププレートはキースイッチで挟み込む形になっている。

そのためか若干プレートに隙間が生まれてしまう…。 あとで接着するかネジ止めするか考えよう。

*1:昔作ったときと違って、今はロープロファイルでも選択肢が増えてとても良い