Picture

Hi, I'm marksard.

Joy of making, Smile be making, Interest and making.

親指レス、ケースレス、30%キーボードなStonehenge30を作る

やっぱり30%キーボードに挑戦したい

 昨年、48キーのJJ40を使い30キーのgherkinキーマップをベースに30キーのキーマップを作ってみたり、40キーのrhymestoneで上段1段のスイッチを取り払って暫く常用して遊んでいたんですが、先日遊舎工房さんのプレオープン日に遊びに行ったとき、みなもさん作の独創性豊かな30%キーボードを触らせてもらって、自分も独自の30%キーボードを基板からちょっと作ってみようと思いました。

物理配列と論理配列

 Treadstone48が一体型ではもうENDGAMEかなと思っているのでこれをベースにキー数を少なくすることにしました。キー数はGherkinと同じ30、英数字26キーを省くと4キーをフリーに割り当てられます。英文をデフォルトレイヤーのみで打鍵するにはspace、enter、,.、backspaceは欲しいところ。タップで,、ダブルタップで.を打ち換えるダブルタップでまとめられるとしてももうそれで4キー使いきってしまいます。残りはソフトウェア的にレイヤやModTapで代用することになります。

 モデファイアキーは英文字キーと兼用するModTap機能を使って単押しの時は文字キー、長押しでモディファイアキーという切り替えをAZXCVBとM、Enterに割り当てます。ただこうすると誤打鍵が発生しやすくなるので、調整が必要になってきます。

config.h
#define TAPPING_TERM 200         // 長押しと単押しの判定時間の調整(ダブルタップ判定時間でもある)
#define IGNORE_MOD_TAP_INTERRUPT // Modtapキー打鍵後の次のキーのReleaseの順番によってModキー判定されないようにする

※2019/05/21 以前はこの記事で#define PREVENT_STUCK_MODIFIERSを記述していましたが、#define PREVENT_STUCK_MODIFIERSのマクロあり状態がデフォルトとなり、このマクロは削除されたようです。

 この辺の調整は個人差がありますけどModTap機能を使っているキーを含めてダダダっと打鍵したときに誤作動しないようにする設定です。これをしないと誤打鍵がひどくてショートカットキーを打ったと判断されて画面がすっ飛んだりします。
 またレイヤーキーも問題があります。レイヤーにもLayerTapという機能があって文字キーに割り当てることは出来るのですが、ModTapとは動作が少し変わるらしく上記の設定が利かず、QMKのコアをいじらないとすぐ別レイヤーのキーを打鍵してしまうなどの誤爆が多くなります。
 たとえば下のキーマップはrhymestoneの30キーチャレンジのもので、LT(LOWER, KC_V)を設定し、LOWERのE位置にF3キーを配置していたりすると、「来いよヴェネット!」って単語を素早く打とうとすると「ヴェ」のところでエディタやブラウザの検索窓に直行して打てなくなる、みたいな現象がたびたび発生します…

img

 そのためなるべく文字打鍵とは独立したキーに配置させたいので、文字キー以外に割り当てやすいキーの候補として挙がったのがSpaceとBackspeceキーです。これまでの自分の経験上から、単語の打鍵では次の文字のキーのPressと一つ前のキーReleaseは重なることがあるのですが、スペースはそこまで頻繁に重なることはなく、また重なったとしてもSpaceの長押しに割り当てたLowerレイヤーにキーボードショートカットキーになるようなFキーやTab、Esc、漢字変換キーなどを入れないことで誤打鍵時のダメージを極力抑えられると考えました。Backspaceは単語打鍵中に被って押すような事も少ないのでこちらも誤爆をさけられます。
 この2つのキーはTreadstoneでも丁度親指に割り当てているので親指部分に配置してもよかったのですが、今回はGherkinライクに3行に収めたかったので中央を広げてそこに収めることにしました。論理配列と物理配列両面の両面から詰めていったのが今回の配列になります。

img

ケースとデザイン

 これまでの自分の設計していたキーボードはHelixやcrkbdなどに倣ってキースイッチの間に支柱を設けてマウントプレートとボトムプレートを繋ぐタイプのサンドイッチマウントを採用していたのですが、今回はお安く組めるようにPCB自体の外周を広げてそこにビス穴を作りました。最初はPCBマウントのケースを作ることを視野に入れて作っていたんですが、

  • PCBの隅にクッションゴムシートを貼りつけたり
  • スペーサーでチルトさせたり
  • アクリルのボトムプレートだけ付けたり

とお安く試しつつアップグレードしていくのが面白いかなと思ってとりあえずケースレスで組むことにしました。

PCB

 スイッチ裏のLEDはキレイだけどお気に入りキャップで使っても映えないのと、ストリップLEDを使ったUnderglowのほうが実装もPCBの設計もラクなので後者にしました。またMXの他にもAlpsとかLPとか、Mid-heightを試したいよねってことでスイッチ部分はソケットにせず従来のはんだづけタイプにしました。スイッチ変えたくなっても30キーだからそこまで面倒くさくもないだろうという算段もあります。
 また配列やデザインにもかかわってくるのですがProMicroの位置は右下に横向けで起きました。ソケットを使っていないので裏面に配置しやすいのですが、上記のPCBだけを使う場合に裏面にProMicroを配置してしまうと邪魔なこと、丁度2Uのスペースが右下に空くことからそこに決めました。

組み立て

 30キーしかないし、複雑な手順もないのでサクッと組みあがりました。

 基板は赤色にしてみました。裏面の「自分の足を撃て」。プログラミング言語の英語ジョークから(C言語)ですが、個人的に好きなので時々思い出しては観に行きます(笑)
コンピュータジョーク
Shooting yourself in the foot in various programming languages

img
img

OLEDはTreadstone48と同様のレイアウトにしたのでOLEDの基板を削り込んであげれば乗っかります。保護カバーもTreadstone48のをそのままつかいます。
img

ひとまず完成

 中々コンパクトに出来ました。キーキャップはXDA40V2と荒涼さんのThinkingFaceと英さんのKawazuというアルティザンキーキャップを付けています。
 スイッチはAliazのハウジング+スプリングにCherry赤軸のステム(軸部分)だけを入れたキメラスイッチにしました。
 脚は高さ8㎜程度のゴム脚を四隅近くに張り付けて様子を見ます。

img
img

Treadstone48も小さいほうなので分かりにくいのですがコンパクトです。
img

改造その1

 しばらく使ってて、たとえ三段しかなくても少しチルトしていたほうが使いやすいかなと思ったので脚を変更。
 戸棚などを開けた先の壁にぶつかる個所に付いていたりするネジ穴のある戸当ゴムと、六角穴ボルトをホームセンターで買ってきて、家に合ったスペーサーとネジを組み合わせてチルトさせています。
 あとストリップLEDの動作確認。案の定ミスっていてシルクがなくてGNDと5Vのパターンが逆になっていたので修正しました…
 キーキャップはTalpKeyboardさんの黒のDSA26キーセットと、GrabBagに入っていたDSAとCherryプロファイルを組み合わせてみました。

img
img
img
img

Rhymestonと比べると横幅はさすがに負けてますが奥行きが随分コンパクト。
img

改造その2

 さらに使っているとどうも感触が気になってきました。
 改造その1で施したチルト脚のせいでPCBの柔らかさを感じられて、Aliazのハウジング+68gスプリングにCherry赤軸のステムは作動点が判別しにくいうえ、改造その1で変更したキーキャップだとホーミングキーの判別がつかずエッジもゆるやかで触り心地が柔らかなため、PCBとスイッチ、キャップが影響し合ってふわふわした打鍵感になってて(これはこれで気持ち良かったですが)ちょっと打ちづらいので交換しました。
 キースイッチはいつの間にか在庫がいっぱいあるのですが、以前から試してみようと思っていたKailhのMid-heightタクタイルにしてみることにしました。

 Mid-heightキースイッチはMXと微妙にピンの位置が違うのですが、スイッチの両脇にある樹脂のピン2か所を内側から1/3~半分くらい削ってあげればゆがまずピッタリおさまりました。
 合わせたのはGMKLaser。低いプロファイルかつシャキッとエッジが効いて隣のキーとの識別が付きやすくホーミングキーもちゃんとある…というので採用。
 今のところはこれで満足しています。

img
img
img

レビュー

 Treadstone48の配列とこれまで使っていたキーマップから大きく逸脱していないため違和感のある感じはないのですが、人差し指でのスペースキーやバックスペース、レイヤー移動の打鍵だけは慣れるまで違和感が少しありました。ただ親指が仕事をしないっていう不思議な感覚、人差し指でスペースを打鍵するのはこれはこれでなかなか気持ちいいです。
 不意のレイヤー移動も感じなくなったし、真ん中の一列にレイヤー移動キーがあるのでどちらの指からでもアクセスできるのも使い勝手としては思っていたよりも具合が良いです。
 不満点は伸ばし棒に頻繁にアクセスするのに別レイヤーにある点くらい。たぶん慣れだと思いますが…

 現時点での見た目のプア感もちょっと気に入っています。ボトムに仕込んだLEDをキレイに光らせようと思うとボトムはアクリルで導光させたいですね。現在アクリルでPCBマウントになるようなケースでも作ろうかななど考えててまだカスタム予定なので、いじりがいのある一台に仕上がっているなと思っています。

PCBデータを公開しています

このPCBデータを公開しています。
https://github.com/marksard/Keyboards
発注方法などの質問は受け付けません。ご自身の責任においてご活用ください。

※この記事はStonehenge30で書きました。

Back to Top