こんにちは、今日は久しぶりに自作キーボードネタを一本。
さてさて、以前Dactyl Manuformというキーボードをビルドした話を書きましたが、今日のテーマはその進化系「The DMOTE」についての話です。
自作キーボード界隈というのは基本的にリミックス文化圏のようで、いろいろなキーボードを改良したりかけ合わせたりしながら、日々世界のどこかで新種のキーボードが生み出されています。
そして今回ご紹介する「The DMOTE」は、Dactyl Manuformの改良を目指して作られたキーボードで、その名前は「Dactyl-ManuForm: Opposable Thumb Edition(Dactyl Manuformの親指を反対側にした版?)」を略したもの。
正式な発音はわかりませんが、Google翻訳先生に発音してもらったところ「ザ・デイーモゥ」だそうです。
元になっているDactyl Manuformがすでにかなり特異な形ですが、それを超える超個性派キーボードで、エルゴノミックっぽさが更にアップしています。 特に、垂直に立ち上がった親指用クラスターの使い勝手は大いに気になるところ。
それに、中身はDactyl Manuformとほとんど同じなので、前にビルドしたときの知見も活かせるんじゃないでしょうか。
よし、これはもう作るしかない。
- The DMOTEをビルドする
- STLを見つけて早速プリント
- キースイッチのMX軸とALPS軸について
- 拾い食いはよく確認してからにしよう
- Clojureのセットアップにつまづく
- MX軸を使う設定方法にもつまづく
- OpenSCADでゴリゴリやる
- ふたたびプリント
- そしてヤスリ地獄へ…
- スイッチとキーキャップを注文する
- まとめ
※追記 ビルドログとして参考にする場合は、👇こちらの記事のほうがおすすめです。
The DMOTEをビルドする
ということで、さっそくビルドしていきましょう。親切なことに、けっこう充実した感じのドキュメントが用意されているので、まずはこれを読んでみます。
うーん、なんだか「Clojure」とか「YAML」とか、はじめて見る言葉がいろいろ出てくる…。
とりあえずパラメトリックなカスタマイズとかいいから、デフォルトのやつでいいから、どっかにReady to printなSTLファイル落ちてないかな?
Thingiverseで探してみると、ありましたさすが! 何も詳細書かれてませんが、デフォルトっぽいやつが上がってますね。
STLを見つけて早速プリント
よっしゃ、STLさえあればもうDactyl Manuformと同じでしょ!
例のごとく一発出しできるレイアウトを探して
プリント!
ちなみに色は、なんとなくビンテージMacを意識してベージュのフィラメントを使ってみました。 これにグレーのキーキャップを合わせて、レトロフューチャーというかサイバーパンクというか、そんな感じを目指そうと思います。
3日ほど3Dプリンターをぶん回して、かんせ…あれ?
キースイッチのMX軸とALPS軸について
ここで話はそれますが、自作キーボードを作る上で一番のキモになるのがキースイッチです。
キースイッチの主流には、Cherry MXタイプとALPSタイプの2種類があって、端子の配置も外形の寸法も違うので取り付け互換性がありません。
ALPSスイッチについてはもう生産されていないそうで、デッドストックを探すしかないため入手性が悪く、コアな自作キーボーダーでなければ、うかつに手を出すのは危険です。
そんなわけで、もちろん今回は、入手性が良く値段も手頃なCherry MXタイプのスイッチを使うつもりでした。というか、そもそもALPSスイッチの存在自体忘れていました。
拾い食いはよく確認してからにしよう
そう、意気揚々とプリントしたThe DMOTEは、デフォルト設定がALPS軸だったんですね…。
この時点で僕に残されたオプションは3つ。
- ALPS沼に沈む
- ヤスリ地獄
- Clojureと格闘してMX版をビルドする(正攻法)
どれも険しい道のりですが、1はきっと深くて危険な沼です 2は地獄だし成功する保証もないし。 3かぁ。。。
Clojureのセットアップにつまづく
気をとりなおして、こんどはドキュメントをまじめに読みながら進めていきましょう。
まずはClojureのセットアップを…あれ、できない…?
ひとしきり悩んだ後、どうやらxcodeのコマンドラインツールが必要らしいという情報を見つけました。
こんなコマンドでインストールしてから再びClojureのセットアップを試したところ、こんどはすんなりセットアップすることができました。
$ xcode-select --install
あ、そうそう、環境はMacです。
MX軸を使う設定方法にもつまづく
よし、フィーチャーのとこに「MXスイッチ使えるようにしたよ」って書いてあったし、そこんとこ設定だけ変更して出力すればOKなはず!
ドキュメントからは具体的にどうすればいいか読み解けなかったけど、それっぽいキーワードでスクリプトを検索して、見つけた変数とか関数から芋づる式に辿ってけばなんとかなるでしょ!
と思っていたんですが、これがまあぜんぜんなんともならない、完全に迷子になりました。
OpenSCADでゴリゴリやる
そんなことをやっているうちに夜は更け、気づけば時刻は午前3時をまわるところ。 ええい、もう穴が広がればいいんじゃ!
ClojureのスクリプトからMX軸のサイズを探して
{:alps {:hole {:x 15.5, :y 12.6} :foot {:x 17.25, :y 14.25}} :mx {:hole {:x 14, :y 14} :foot {:x 15.5, :y 15.5}}})
ドキュメントを読み解いてmakeしておいた.scadファイルのALPS軸のとこに突っ込んで
変更前
module switch_alps() { translate([0, 0, 1.25]) { union() { translate([0, 0, 2.5]) { cube([17.25, 14.25, 2.5], center = true); } cube([15.5, 12.6, 6.5], center = true); translate([0, 0, -1.5]) { cube([16.5, 12.6, 2.5], center = true); } } } };
変更後
module switch_alps() { translate([0, 0, 1.25]) { union() { translate([0, 0, 2.5]) { cube([14, 15.5, 2.5], center = true); } cube([14, 14, 6.5], center = true); translate([0, 0, -1.5]) { cube([14, 14, 2.5], center = true); } } } };
こうだ!
まあ、見た感じ大丈夫そうなのでこれでプリントしてみましょう。 だめだったら、そのときは今度こそヤスリ地獄に踏み入る覚悟です。
ふたたびプリント
そしてヤスリ地獄へ…
キースイッチはバッチリはまったんですよ、スイッチはね。
それでキーキャップをはめてみると、ところどころエグい干渉する部分があって、無事ヤスリ地獄に堕ちることになりました。
ま、あとのことは、キースイッチとキーキャップが届いてから考えましょう。 今日はよくがんばった。
スイッチとキーキャップを注文する
ほとんどの材料は、Dactyl Manuformをビルドしたときの余りで間に合いそうなので、スイッチとキーキャップだけ追加注文します。
スムースな押し心地が好みなので、今回もリニア軸にしようと思いますが、重い軸ってのを体験してみたかったので、押下圧60gのGateron黒軸をチョイスしてみました(スタンダードな赤軸は45g)。
キーキャップは、DSAプロファイルの安いやつのグレーを注文しました。
これらが届いたら後編を書きますね。
はい、きょうはここまで。
まとめ
手を抜いたところには落とし穴ができる。