エルゴノミックな自作キーボード「The DMOTE」をビルドする—前編—

こんにちは、今日は久しぶりに自作キーボードネタを一本。

さてさて、以前Dactyl Manuformというキーボードをビルドした話を書きましたが、今日のテーマはその進化系「The DMOTE」についての話です。

自作キーボード界隈というのは基本的にリミックス文化圏のようで、いろいろなキーボードを改良したりかけ合わせたりしながら、日々世界のどこかで新種のキーボードが生み出されています。

そして今回ご紹介する「The DMOTE」は、Dactyl Manuformの改良を目指して作られたキーボードで、その名前は「Dactyl-ManuForm: Opposable Thumb Edition(Dactyl Manuformの親指を反対側にした版?)」を略したもの。

正式な発音はわかりませんが、Google翻訳先生に発音してもらったところ「ザ・デイーモゥ」だそうです。

f:id:at_you_key:20190622203529j:plain
これがThe DMOTE

viktor.eikman.se

元になっているDactyl Manuformがすでにかなり特異な形ですが、それを超える超個性派キーボードで、エルゴノミックっぽさが更にアップしています。 特に、垂直に立ち上がった親指用クラスターの使い勝手は大いに気になるところ。

それに、中身はDactyl Manuformとほとんど同じなので、前にビルドしたときの知見も活かせるんじゃないでしょうか。

at-you-key.hatenablog.com

よし、これはもう作るしかない。

※追記 ビルドログとして参考にする場合は、👇こちらの記事のほうがおすすめです。

www.creativity-ape.com

The DMOTEをビルドする

ということで、さっそくビルドしていきましょう。親切なことに、けっこう充実した感じのドキュメントが用意されているので、まずはこれを読んでみます。

github.com

うーん、なんだか「Clojure」とか「YAML」とか、はじめて見る言葉がいろいろ出てくる…。

とりあえずパラメトリックなカスタマイズとかいいから、デフォルトのやつでいいから、どっかにReady to printなSTLファイル落ちてないかな?

Thingiverseで探してみると、ありましたさすが! 何も詳細書かれてませんが、デフォルトっぽいやつが上がってますね。

www.thingiverse.com

STLを見つけて早速プリント

よっしゃ、STLさえあればもうDactyl Manuformと同じでしょ!

例のごとく一発出しできるレイアウトを探して

プリント!

ちなみに色は、なんとなくビンテージMacを意識してベージュのフィラメントを使ってみました。 これにグレーのキーキャップを合わせて、レトロフューチャーというかサイバーパンクというか、そんな感じを目指そうと思います。

3日ほど3Dプリンターをぶん回して、かんせ…あれ?

f:id:at_you_key:20190622134133j:plain
これはまさか

キースイッチのMX軸とALPS軸について

ここで話はそれますが、自作キーボードを作る上で一番のキモになるのがキースイッチです。

キースイッチの主流には、Cherry MXタイプとALPSタイプの2種類があって、端子の配置も外形の寸法も違うので取り付け互換性がありません。

ALPSスイッチについてはもう生産されていないそうで、デッドストックを探すしかないため入手性が悪く、コアな自作キーボーダーでなければ、うかつに手を出すのは危険です。

zeriyoshi.hatenablog.com

そんなわけで、もちろん今回は、入手性が良く値段も手頃なCherry MXタイプのスイッチを使うつもりでした。というか、そもそもALPSスイッチの存在自体忘れていました。

拾い食いはよく確認してからにしよう

そう、意気揚々とプリントしたThe DMOTEは、デフォルト設定がALPS軸だったんですね…。

この時点で僕に残されたオプションは3つ。

  1. ALPS沼に沈む
  2. ヤスリ地獄
  3. Clojureと格闘してMX版をビルドする(正攻法)

どれも険しい道のりですが、1はきっと深くて危険な沼です 2は地獄だし成功する保証もないし。 3かぁ。。。

Clojureのセットアップにつまづく

気をとりなおして、こんどはドキュメントをまじめに読みながら進めていきましょう。

github.com

まずは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);
                        }
                }
        }
};

こうだ! f:id:at_you_key:20190624000608j:plain

まあ、見た感じ大丈夫そうなのでこれでプリントしてみましょう。 だめだったら、そのときは今度こそヤスリ地獄に踏み入る覚悟です。

ふたたびプリント

65時間かかりました。

今度はキースイッチもはまります。

そしてヤスリ地獄へ…

キースイッチはバッチリはまったんですよ、スイッチはね。

それでキーキャップをはめてみると、ところどころエグい干渉する部分があって、無事ヤスリ地獄に堕ちることになりました。

f:id:at_you_key:20190624205519j:plain
干渉するとこをカットして無理やりはめてみた

ま、あとのことは、キースイッチとキーキャップが届いてから考えましょう。 今日はよくがんばった。

スイッチとキーキャップを注文する

ほとんどの材料は、Dactyl Manuformをビルドしたときの余りで間に合いそうなので、スイッチとキーキャップだけ追加注文します。

スムースな押し心地が好みなので、今回もリニア軸にしようと思いますが、重い軸ってのを体験してみたかったので、押下圧60gのGateron黒軸をチョイスしてみました(スタンダードな赤軸は45g)。

AliExpress.com Product - 60pcs Gateron MX Switches RGB 3pin/5pin Black/Brown/Blue/Red/Yellow/Green/Clear MX Switch For Mechanical Gaming Keyboard Custom

キーキャップは、DSAプロファイルの安いやつのグレーを注文しました。

AliExpress.com Product - Cool Jazz dsa pbt Cherry mx Mechanical Keyboard keycaps 1u mixded color black gray Red esc keycap For mechanical keyboard

これらが届いたら後編を書きますね。

はい、きょうはここまで。

まとめ

手を抜いたところには落とし穴ができる。