CapsLock.Note

あのボタン何に使うんだよ。

自作キーボードを作ろう!その4 - 終わりと始まり

前回までの自作キーボードを作ろう!は

自作キーボードを作ろう! その1 - 決意の朝に編 - CapsLock.Note

自作キーボードを作ろう! その2 - 下準備編 - CapsLock.Note

自作キーボードを作ろう! その3 - 組み立てと展望編 - CapsLock.Note

要約:
勢い余ってErgo Dashキット購入

ダイオードをぶっ刺す

はんだごて、はんだ、こて先を購入していざ、はんだ

ざっくり組み立てが終わり、キースイッチの選定を進める

ついに全てのパーツが揃う時...(イマココ)

※この記事はだいぶ思い出しながら書いているため、正確性は保証できません。細かい技術についてもこの記事の内容を参考にした結果については責任を負いかねますのでご注意ください

どれくらいの時間が経っただろう。
第3回の執筆途中に資金面が調整できなかった結果、後述で決定したキースイッチも数を用意できず、キーキャップは探せど探せど目的のものが見つからず...

ついには最初のめんどくさい作業は終わらせていたにもかかわらず完成を目前に企画自体が頓挫してしまっていた...

 

しかし!まだ!まだ終わってない!

 

あの作業の後、色々調べた末にPCとキーボードを繋ぐ線自体は確保した。商品がリンク切れになっていてここには貼れないのだが、マグネット式で端子部分とケーブルが分離するものである。

キースイッチの苦悩

試したキースイッチ

Kailh BOX スイッチ(10個) – 遊舎工房

Kailh BOXの黒と茶

Kailh Pro スイッチ(10個) – 遊舎工房

Kailh ProのBurgundy

Kailh Speed スイッチ(10個) – 遊舎工房

Kailh SpeedのCopperとRosePink

選ばれたのは

Kailh SpeedのCopperでした。
絶妙なコトコト感と跳ね返り、うるさくないぐらいの適度な打鍵感。

キースイッチのはんだ

実は3の記事の記載はものすごく最近だが、実際の作業はめちゃくちゃ前なので、3-4の実作業には非常に間が空いている。なので、せっかくはんだにも慣れていたのに、またキースイッチのはんだで地獄を見ることになるのだ...

ホットスワップを諦めるということ

制作当初はホットスワップ(キースイッチごと取替が可能な構造)にする予定だった。

が、果てしなく繊細なはんだ付けをする必要があるため今回は断念。そもそもキースイッチを変えたくなることなんかないだろを言い聞かせた。

キーの下は光らなくてもいいんじゃないかという天啓

これも当初はunderglowに加えてbacklightももちろん動作させる予定だった。

が、これをするとキースイッチに対してのはんだの数が単純に倍になるので断念。

キーキャップの苦悩

全く知らなかったのだが、キーキャップ自体にもプロファイル、すなわち分類がある。

buildersbox.corp-sansan.com

そして今回探したのがMDA big bangというものである。
そもそもErgoDashには1Uや1.5Uのキー領域が多く、標準のキーセットを購入してもうまく配置できない可能性が高そうだった。なので、作例にあったものを特定して購入に走ろうとした...

のだが、このMDA big bang、どこもかしこも品切れしているのである。ここでこれの入荷を待つことで僕の心がどんどん磨耗していくことを察知したので、いかような手段を取っても手に入れる必要があった。
探せども探せども在庫が見つからず、もうやってらんね〜〜〜!!!!と思ったその時...メルカリ(神)が情けをかけてくれたおかげで購入することができた。もちろん定価よりは高かったんですけども。運命、信じてたよ。出品者さん、本当にありがとうございます。

TRRS(4極)ケーブルの苦悩

左右分割キーボードの場合、左右を繋げるためにケーブルが必要になる。
その際に用いるのがTRRS(4極)ケーブルになる。
オーディオケーブルなので厳密な話は不要と言えば不要なのだが、以下にリンクは貼っておく。

ヘッドセットの「3極」「4極」って?その違いは何? | ヘッドセット&スピーカーフォン お悩み解決ナビ

イヤホンプラグの種類って? | レコチョクのエンジニアブログ

オーディオ用途の中でも結構特殊でオスオスのケーブルが必要なのだが、Amazonなどで調べてもらうと分かるとおり、そこまで選択肢は多くない。
個人的には前回記事でも多少話が出ていたが、両側Lコネクタで、ケーブルは編み込みで50cm未満...というものを探していたのだが、そんなに都合の良いものはどうやらなさそうだった(オーディオ用途で考えると上述のスペックは箸にも棒にもかからないクソスペックなのだろう...)

結局購入したのは以下の商品だ

なお、TRRSケーブルにも「自作」という概念が存在する。また少し違った技術が要求されるようなので今回は採用を見送った。

無線への羨み

少し寄り道になるが、無線化についても調べたので調べた情報だけいくつか列挙しておく。

自作キーボードビルドログ:その2「ErgoDash」無線化対応 ハードウェア編 - Qiita

有線キーボードをワイヤレス化する唯一の方法「USB2BT Plus」 - あなたのスイッチを押すブログ

前者の選択肢ははんだの難易度が異常に高そうなのでかなり気が引けている。
また後者の選択肢についてもちょっと考えたが、全然無線じゃない感じの配線が予想されたため断念。

そして完成へ

キーレイアウトに殺される

今回は4key2Uinnnerというタイプを作ろうとしている。
とりあえず適当にキーキャップを配置したのだが一番親指側のキースイッチにキャップを嵌めるときに何故かキャップの軸を捉える部分が割れてしまった。南無三。(shiftキーがほぼ全部軸部分が割れた。)

焼き込み(成功)

そもそも、前回作業時には通電確認なども含めてpromicroにはファームウェアを焼き込んでいた。が、そんな記憶は一切残っていないので1からすることになり、前回苦労したmsys2関係の話も水の泡である。今回は以下の方法で成功した。

config.qmk.fm

keyboardからErgoDashを選択。Layoutから今回利用する4key_2u_innerを選択。
GUI上でキーマップを選択できるのであこれこれ調整。 
ここで忘れないようにしたいのはレイヤー切り替え用のキーの設定である。
Quantum欄にある、「Layer and Layer Tap functions」にある設定を割り振っておく必要がある。詳しくはキーコードの説明を読もう。

後で設定を確認できるようにjsonファイルを出力しておこう。
そしたら「compile」を選択。処理が終了したら、Firmwareを押下してダウンロード。「.hex」のファイルがダウンロードされる。

sekigon-gonnoc.github.io

そしたらここのページを開いてダウンロードしてきた.hexファイルを開いてキーボードを接続する。今回はリセットボタンも実装済みなのでProMircoを基盤にぶっ刺してusbにつなぐ。「flash」を押下すると端末の選択画面が出るのでキーボード側リセットボタンを押して準備完了。端末を選ぶと自動的に書き込みが始まるので待つ

 

設定が完了したあとのキーボードの入力チェックは以下で行った

ちょっとしたキーボード故障チェック・テスト - ちょっとしたタイマー

気をつけるところ、つまづいたところ

usbケーブルの規格である。mogemicro対策でマグネット式で端子が付け替えられるものを購入していたのだが、どうやらデータ転送に対応していなかったらしく、焼き込みができないという悲劇に見舞われた。ケーブルは複数用意していたほうがまさかの自体に備えやすい。

焼き込み(失敗)

試したけどよくわからなかった方法も置いておく。

msys2及びqmk msysを利用する方法

docs.qmk.fm

qiita.com

salicylic-acid3.hatenablog.com

これらの方法は最もカスタマイズ性が高い方法だと思っているのだが、扱うツールも多く、どの作業が何をしているのか、今自分がしたい作業はどの部分の作業なのかが掴めず終わってしまった。結果としてunderglowも光らせることができないまま使用している。いつか挑戦します...*1

終わりのない旅へ

僕の手元にはいくつかのキースイッチと大量のLED用のダイオードが残った。
あとは苦いような甘いようなたくさんの思い出も。

今は「もしかして両手キーボードって使いにくいかも?」という気持ちや「キーマップ考えるの大沼じゃん」と楽しく余生を過ごしている。

写真を用意するのが面倒だったので完成品の写真すら載せない異常に文字ばっかりなビルドログになってしまった。まぁ...いいか....

それでは、また別のキーボードでお会いしましょう。それではごきげんよう

 

自作キーボードを作ろう! その3 - 組み立てと展望編

前回までの「自作キーボードを作ろう!」は

自作キーボードを作ろう! その1 - 決意の朝に編 - CapsLock.Note

自作キーボードを作ろう! その2 - 下準備編 - CapsLock.Note

要約:
勢い余ってErgo Dashキット購入

ダイオードをぶっ刺す

はんだごて、はんだ、こて先を購入していざ、はんだ(イマココ)

※この記事はだいぶ思い出しながら書いているため、正確性は保証できません。細かい技術についてもこの記事の内容を参考にした結果については責任を負いかねますのでご注意ください

今回利用した物資一覧

カーボン抵抗(炭素皮膜抵抗) 1/6W470Ω (100本入): パーツ一般 秋月電子通商-電子部品・ネット通販

カーボン抵抗(炭素皮膜抵抗) 1/6W1kΩ (100本入): パーツ一般 秋月電子通商-電子部品・ネット通販

NchMOSFET 30V5A IRLML6344TRPBFTR (10個入): 半導体(モジュール) 秋月電子通商-電子部品・ネット通販

マイコン内蔵RGBLED WS2812B (2個入): LED(発光ダイオード) 秋月電子通商-電子部品・ネット通販

組み立て

はんだづけたのしいぞ!

はんだ付けで役立ったもの
・使わない雑巾(こて先を綺麗にするため。正直ちゃんと台買えばよかった)
・ペンチ(コテ先変えるため)
・ニッパー(はんだづけのあとに余った部分を切断するため)

完全に舐めてたんですけど通電して数秒で触れないぐらい熱くなるんですね。ヤベェなこいつ。熱かった。

基本のダイオードの設置

そして動画*1の見よう見まねで熱して...溶かして....
とはいえうまくいくわけないんですよね。
片手分の半分ぐらいはまちまちの感じになったし1時間オーバーかかりました。のち続けていくと2枚目は2/3ぐらいの時間でしかも精度も倍ぐらいよくなった。
なんでもそうですがだんだんうまくなっていく、この成長の感じは素敵。それだけでも楽しい。
結果的に2枚分の基本のダイオードの設置にはおおよそ2時間ぐらいかかりました。まぁこっからは慣れたんでどんどんできるでしょう。

LED Optionむけの抵抗*2設置。

さらにここからLEDのために抵抗器の設置。片側約1時間(はんだづけ込)。もう片側に1時間。

ここで気になったのは抵抗の「方向」である。ダイオードは向きに気をつけなければならなかったが、どうやら抵抗には向きの概念はないらしい。無駄な抵抗だったな。マークについては意味があるらしいので整備性のためにできるだけ統一感のある設置を心がけた。それ以外は差して、はんだ、の繰り返しだったのでダイオードと同じ作業、比較的スムーズに進んだ。

ガンガンやって気づいたことははんだの溶かす量を見極めることの重要性そうだということ。ランドと部品をしっかり熱するのはもちろんなんですが、流し込みすぎると裏側(表面)にすげぇ山が出来てしまう...

TRRSジャックとダクトスイッチも取り付けるとしか書いてなかったわけだけど、こちらもはんだづけであってた。

スプリングピンヘッダのとりつけ

将来的にProMicro*3BluetoothやType-Cに換装する可能性も視野に入れ、取り外しができるようにしておく。付属のドキュメントにもあったけど、スプリングピンヘッダには向きがある。気をつけよう。またはんだづけをする箇所としない箇所がある。これにも注意。Promicroの設置は左手側に決定(PCのポジション的にそっちがUSBコネクタが近いという都合)

以下は今回諸々かなり参考にした記事。特にPro Microがらみでは、MogeMicroに関しては一読の価値あり。

hinastory.github.io

mosfetの取り付け

想像の1000倍小さいパーツで今考えればこちらも表面実装部品なので予備ハンダするべきだった。かなり汚い感じになったんだが通電してるんだろうか。不安しかない。

Underglowのとりつけ(コツ)

270度でやりました。
切り欠きがすごいわかりにくいうえにたぶんフラックス塗布→予備ハンダ→1ヶ所とりつけが正解。フラックスなしだと予備ハンダがやややりにくい印象。*4

キーボードレイアウト

スタビライザーの設置、レイアウトの決定

ここで裏表と左右が確定した。スタビライザーはもちろんキースイッチをつける表になければならない。そしてGitのキースイッチ設置の画像にはダイオードや抵抗が映っていないし、キーボード自体の下を照らすRGBがついている面は絶対に基盤の裏となる。以上のことから裏面が確定し、自動的に左右も決定した*5

キーボードのレイアウトに関しては両手とも親指の押しやすい位置に2Uサイズを持ってくる予定である

スタビライザーの静音対策については以下の記事が良かったです(僕はまだできてませんがこれ見るとやった方がいい気がしてくる)

arekore.netlify.app

ファームウェアの焼き込み苦労話

Qmk-firmwareのINSTALLL.shコマンドでインストールされるはずのavr-gccがない。どこにもない。windows10 msys2 64bitでのことである。
現象としては、makeコマンドを実行してコンパイルしようとするとavr-gccコマンドが見つかりませんのエラーを吐くと言った具合だ。
本来であれば環境構築を一通り終わったあとにはqmk_utilsの中にavrに関するファイルなどが出来上がっているはずだが、それがない。そりゃあ実行できるはずがない。
散々PATHが通ってないんじゃないのとかなんだとか色々と見てきたが、ウチの環境での解決策はこうである。

Util/msys2_install.shを実行すると2回ほどデフォルトallのインストールチェックがあり、そのあとA/C/F/Nを選択してドライバをインストールする項目がある。いくつかの資料ではここもAでOKという感じだったのだが、ここでNを選び、以降の選択でYを選ぶと必要なドライバなどがインストールされる。

Flipinstallerが動いてAVR based keborads...をインストールするか聞かれるのでy。avr8-gnu...を落としてきてAVR toolchainをごにょごにょし始める。そのあともパッケージもy。さらに次にARM based keyboardうんたらを聞かれるのでこちらもy。
超長いコマンドが走るので座して待つ。

1番最後に「オートで今やっとくけどあとで主導でやる?」ときかれるのでy(オートでお願いします)で完了。

問題なければinstallation completed...と出るはず。これで再起動すればqmk_firmwareディレクトリでmakeコマンドが使える。

というわけで、ここにたどり着くまでに5~6時間ぐらいかかったうえに10回以上msys2をインストールし直した。拷問だ。

これでmsys2/home/(ユーザー名)/qmk_utilsの中にavr8-gnu...が出来上がっているはず。

ちなみにmacOSでのhomebrewを使った環境構築もやる機会があったが、そちらはエラーもなく非常にスムーズに進行した。

残した作業と今後

さてどんどんと基盤部分の完成は近づいてきているが、困ったことが残っている。
キースイッチ選びとキーキャップ選びである。
スイッチは煩くなくて軽やかなのがいい。
だいたいおおまかに3タイプあるらしい*6
打鍵感がある程度欲しいが音は煩くない方がいいので茶軸・タクタイル系を選ぶことに。しかし、これらのキースイッチをテストできる場所はない。CHERRY MXは店頭で試せるが、互換のKalihなどは大阪の店頭にはそうそうない。そこで、散々グラフ(リンクグラフの見方)や感想をみて厳選した3点をそれぞれ10個(1パック)ずつ注文してみた。それぞれワンコインぐらいなので全然アリだろう。テスターは3000円ぐらいするのでなんともいえない。全部自分で試したい!となるなら絶対買った方がいい。

キーキャップはもちろん工房さんの画像などを見ていたので、それに近い構成にしたい。やたら高いのは見つかるんだが、手頃な価格でかっこいいキャップがなかなか見つからない。たとえばゆうしゃこうぼうさんにあるセットとかはかなりかっこいいが高いものが多い

些末なことだが今回はTRRSケーブルとMicroUSBケーブルにもこだわりたい。ショボい白いケーブルでは面白くないので編み込みのものを探すつもりである。

短文日記*1

今日*1は朝*2起きて*3、ご飯*4を食べて*5、1日をゆっくり*6過ごしてから、お風呂*7に入って寝ました*8

*1:最近ゆる言語学ラジオをよく聞いているので「今」ってどうやって説明してんだろと思って検索したら、Googleの結果で一番上に出てきたのは「過去でも未来でもないこと」らしい。そう考えると今日っていうのは明日でも昨日でもない日って感じなのかな。なんだかポエティックだ。

*2:そういえば常々いろんなところで言っているのだが全然朝気持ちよく起きれない、というのが長いこと続いている。色々と策は打っているのだが、どうにも起きれない。スマホが原因というのはあると思うのだが、もうあえて触れてない。去年の経験から室温が原因というのもあるかと思っていたのでswitch hub miniを導入してエアコンの起動をスケジューリングしているのだが、それで室温が上がってもどうにも起きれない。暑くて目が覚めるのだが、それだけ。どうして。

*3:そういうわけで毎回いろんな時間ギリギリまで寝てしまう日々が続いている。まだ大ポカをしていないのが幸いなのだが、目覚ましに完全に勝ってしまう(スヌーズも全部止めてもう何も鳴らない状態までいってさらに寝る)ことがあるので気をつけないと大事なタイミングで大寝坊をかましてしまいそうだ...

*4:一時シリアルを食いまくる生活をしていたのだが、ここ最近はバナナ一本になってきている。ギリギリに起きる都合上10秒チャージも10秒チャージという感じなので、シリアルよりもさらに手軽でなければいけなくなってしまっている

*5:お箸の長さが違うまま使い続けてそろそろ2年ぐらいになる。なんか2年に一回ぐらいめちゃめちゃ箸噛んじゃうシーズンあるじゃないですか。狭いあるあるすぎるな。いや、「ある」のか?とにかく、そこで箸折ったっきりずっと左右の長さが違うまま使っている。よく考えたらめちゃくちゃダサくないか?家で使う箸なんか身内しか見ないので気にする必要もないけど、これズボンの左右の長さがオシャレを意識していないのにめっちゃ違うぐらいのインパクトある気がしてきた。そろそろ変えよう...

*6:「ゆっくり」といえば、映画を見る頻度がめっきり減ってしまっていて少し寂しい。自分で見てないことを選んでいるんだから、寂しいとは何事か、という感じなのだが、やはり選択疲れというか、みたい映画を探すという選ぶ行為がとても疲れる...というのは頻度が減っている原因の一つ。いい感じのキュレーションサイトないかな...あわよくばnetflixと連携してその日の気分で見る映画をパッと選んで再生始めてくれるみたいなサービスできないかな...

*7:冬の風呂は風呂上がりは本当にキツい。しっかりあったまらないと出た瞬間、高速で冷え切って眠気のことも風呂入ってたことも忘れてしまう。睡眠のために読んだ本によると上がった体温が手足からじんわり冷えていくのに従って自然と眠たくなるらしい。冬の風呂上がりは一気にそれを脱衣所で持っていかれておりじんわり冷える余地がなさすぎる。

*8:こうやって日記を書いてみて気づいたが、1日の大まかな事象のほとんどで睡眠を気にすることになっている。睡眠ドリブンじゃん。ここまで考えているのにどうしてこんなに上手くいかないのか...