君もキーボード自作しない? #Zaim
あけましておめでとうございます。今年もちょくちょくノートを書いていきたいなと思っている @watura です。昨年の記事で、自作キーボードについてちょろっと書いたのですが、せっかくなので私のキーボード遍歴をまとめてみたいと思います。
「買ってよかった!2018 年版 #Zaim 」で自作キーボードに対して、長文の推薦文を書いたのは、もちろん私です。この長文だけでは飽き足らず、ブログ記事を丸々書き上げました。
ちなみに、私が自作キーボードをせっせと @naoki85 に布教した結果、Mint60 という自作キーボードキットを購入し、作っているようです。きっとそれについてもキーボード記事第二弾という感じで記事を書いてくれるんじゃないかと期待しています。ただ、なんだかトラブっているようなので、「2 万円の授業料を払いました」となって終わるという衝撃の記事になるかもしれないですが。
記事の下書きを書いた時点では、これから作ります!というステータスだったのですが、進捗を確認したところ最終的にはオブジェになりました。ということですので、Mint60がオブジェになるまでの記事に期待です
こだわりのなかった時代
今から何年も前です。10年以上前かもしれないです。
自作キーボードは当然、高級キーボードなんて意味がわからないという時代でした。もしかしたら、高級キーボードというものの存在すら知らなかったかもしれないです。たぶん、多くの人はこの時の私と同じなんじゃないかと思います。
高級キーボードってなによ。オタクが使うやつ?
もっとなんか直接メリットがわかることにお金使いたい
自分には違いなんてわからないだろう
どれも同じでしょ
とか考えていたんじゃないかなぁと思います。
このころの私は、iMac を使ったり、iBook を使ったりという生活で、外付けキーボードだけを使い続けるというのがそもそもあまりなかったというのもあります。
HHKB に出会う
(写真は HHKB Pro)
大学の研究室に配属された頃です。誰も使わないからか適当なダンボールにしまわれた HHKB PD-KB02 を発掘しました。
その頃には、HHKB の存在を知っており、いつかキーボードに数万円という大金を使えるようになったら購入しようと考えていた時分でした。
見つけたのは、2012 年とかで PS/2 とかどうやって接続するの?というレベルの時代でした。しかも、私が使っている PC は MacBook Pro だったのでそんなポートは全く存在していませんでした。
ですが、せっかく発掘したのだから使ってみたいと思い、使える方法を模索しました。その結果、USB と PS/2 を変換すれば良さそうということがわかったので、アダプタを購入し、有志が作成したドライバを入れて対応するということをしました。
ただ、大きな問題があり、発掘した HHKB は英字配列、使っている mac は日本語配列でした。
まず、Karabiner を使い、mac の配列を擬似的に英字配列にしました。そうした結果、キーボードに書かれている文字は役立たずになり、中途半端に配列が違う英字配列というなかなかややこしい状態になりました。さらに、HHKB は HHKB で一般的な英字配列とは若干違うので、より一層ややこしいという状態でした。
ちなみに、Karabiner は SandS という、スペースを単独で押したらスペース、スペースと別のキーを組み合わせたらシフトとして扱うという設定をするために入れていました。SKK を一時期使っていたことがあり、その時の名残となっています。断念しちゃいましたが、Karabiner による親指シフトとかにもチャレンジしていました。
それから、数年間 HHKB を使い続けました。研究室で発掘した HHKB は私が使うのをやめたらまた、箱の中に逆戻りという状態だったので、卒業時に借りパクしてきました。卒業後も1 年くらい使ってたんですが、OS のアップデートのたびにドライバが問題を起こしたり、ついには一部のキーが動かなくなるという状態になりました。HHKB Pro Type-S を購入し、今も自宅で使っています。
大学院を卒業し Zaim に入社する時、周辺機器で希望があったりしますか?ということを確認されたので、迷わず、HHKB と Magic Trackpad をお願いしました。新卒だし、HHKB は全然安くないんですが、なんの問題もなく購入してもらえました。
ErgoDox と出会う
Zaim に勤めて1年ちょっとたったころでしたか、ErgoDox EZ という分割キーボードが流行りはじめました。Kinesis くらいしか分割されたキーボードを知らなかったので衝撃を受けました。ErgoDox は OSS のキーボードで、EZ はそれを製品化したものという感じです。キーの配列は若干特殊で普通のキーボードのように横にずれているということはなく、縦にずれていました。格子配列と呼ぶようです。
なんで欲しくなったかですが
親指周りにキーがたくさんある
面白そう
胸が開けて、肩こりに効果がありそう
魚拓の人の記事見て分割キーボードにめっちゃ興味を持つ
キーがカスタマイズできるとかいいな
というのがありました。
会社で購入してもらい、HHKB から切り替えたところ、欲しくなった理由は全て満たされました。
ただ、問題点として
キーのカスタマイズ難しい
キースイッチうるさい
ErgoDox でかすぎて、邪魔
ErgoDox でかすぎて、キーに指が届かない
ErgoDoxでかすぎて、使わないキーが結構ある
という問題が発生しました。
キー配列のカスタマイズには QMK というオープンソースの Firmware を使うことが多いです。ErgoDox も QMK でカスタマイズできました。
しかし、いつからかキーのカスタマイズが QMK の Firmware を使ってもうまくできなくなるということが起こりました。結局今も解決できず、それもあって微妙だなとなっていました。
3 年目に入ったくらいから、チャタリングが結構起きるようになってきてストレスがたまる状態になりつつありました。Firmware のアップデートをしたらある程度はましになったんですが、ダメなところもあったりしてそろそろダメなのかなぁと考えていました。
自作キーボードへ
2018 年夏、ついに自作キーボードデビューをしました。主に理由としては上記の ErgoDox に対する不満と、好奇心からとなっています。
ErgoDox もう無理だなぁって思っていたところ、Helix や Ergo42 といった格子状のキーボードが流行りはじめているのに気がつきました。最初は、Ergo42 すごく良さそうで、これ作ってみようかなと思っていました。
そのあと、静観していたら Mint60 というもっと作りやすそうで、普通のキーボードに近い見た目のキーボードができてきました。あんまりよくわかっていないのですが、スペース周りも普通のキーボードに近いようで、親指周りのボタンがいっぱいというのは満たせなさそうだったので、ちょっと求めているものとは違いました。
結局、Fortitude60 というキーボードを購入しました。
ちょうどGroupBuyをしていた
親指周りが強い
キーの数が多すぎない
キー数は少なすぎない
ErgoDoxみたいに格子状で縦にずれてる
あとマークかっこいいとかですかね。そう言った理由で Fortitude60 というキーボードを作りました。
作ると言っても、はんだ付けする程度で開発者の方が書いた作り方通りに作れば概ね問題なくできます。
キーボード本体を作り終わった時、まだキーキャップは届いていませんでした。仕方ないので、ErgoDox の身包みをはいで Fortitude60 で使うということをやってみたりとかもしました。
Zaim キーキャップはないので、Freee キーキャップをつけてみました。
自作キーボードの苦しみ
概ね問題なくできると言ったものの、はんだ付けが甘く接触不良を起こしている場合などがあり、最初の一、二週間は毎日のようにはんだ付けをしていました。
左手側から作ったのですが、不良率は圧倒的に左のほうが高かったです。きっと、1 つのキーボードを作るうちにだいぶ上達したんだと思われます。
私が遭遇した不具合は基本的に接触不良で
縦一列、横一列などの単位で全く反応しなくなる
特定のキーが反応しない
特定のキーが連打される
USB デバイスとしてキーボードが認識されない
といったのものがありました。
どれも、はんだ付けを見直したり、ケーブルが短絡していないかを確認したりということをし、修復しました。
この 2 ヶ月
最初は不具合でイライラ
QWERTY やめてみた
諦めて QWERTY に戻した
入力できない記号が発生
最初の二週間くらいは完全な不調だったり、たまに不調でイライラするという状態でした。もともと使っていた ErgoDox でもチャタリング自体は起こっていてイライラしていたのでそれほど、大きな変化という状態ではなかったです。ErgoDox の場合は固定のキーだったのが、Fortitude60 では日によって違うというような程度の差でした。
せっかくなので、QWERTY をやめて適当な配列をやってみよう!としたのですが、タイピングが遅くなりすぎてやってられないという状態になりました。あまりにもひどかったので諦めて、QWERTY に戻すというのを二週間くらいかけてやりました。
現在のキーマップ
この QMK Firmware はキーボードにレイヤーという概念を追加し、入力できるキーを変更する機能があります。レイヤーは shift みたいなもので、shift の場合は押したら、大文字が入力されるとなりますが、レイヤーの場合は設定した別のキーが押されるという風になります。
現在、3つのレイヤーを使っています。
Default
通常入力のためのレイヤーです。基本的にはこのレイヤーを使って入力しています。最下段にある L と R はそれぞれ Raise レイヤー、Lower レイヤーへの変更を示しています。また、最下段中央の Enter とバックスペースは SandS のように、Enter を押しながらだったら Lower レイヤー、BackSpace を押しながらだったら Raise レイヤーが入力されるという風にしています。
Raise
何も書いていないキーは Default のキーがそのまま入力されるようになっています。数字、日本語英語入力の切り替えと矢印キーを入れています。まだ、ここから数字を入力するのには慣れていないので、大体はかな、英数を押すためのレイヤーという風になっています。
Lower
記号を入力するためのレイヤーです。右手にひたすら記号を割り当てています。
だいたいこういう感じの配列でここ1月くらい生活しています。
使ってないキーがたくさん
ErgoDox を使っていた頃は、⭕️あたりのキーはほとんど使っていませんでした。
Fortitude60 はキーが 60 個付いています。ちなみに、今使っている MacBook Pro は Touch bar モデルなのでファンクションキーがついておらず、64 個です。そのうち 4 個は矢印なので、キーの数自体は Fortitude60 も MacBook Pro も同等となります。
では、普通よりもキーの数が少ないキーボードでさらに、使わないキーがあるとどうなるかというと、レイヤーを使って足りないキーを補うようになっていきます。
そして、気がついたのです。
もしかして、60 個キーもいらないのではと
続く
この記事は早朝に Fortitude60 を使い書きました