TPのブログ

三日坊主がその時々のマイブームについて書いているブログなので脈略はないです

自作キーボードLily58liteを作った

自作キーボードのLily58 Liteを購入して組み上げました。

購入に至るまでの経緯

分割キーボードが欲しかった

最近、インターンなどで一日中コーディングしている日が増えてきたのですが、MacBook Proの薄いキーボードを一日中打っていると指に疲れを感じるようになってきました。また、自分は体格の割には肩幅が広い方なので、非分割のキーボードだと猫背になってしまって肩こりが進行している感じがありました。そこで、ストロークが深くて指への負担が少なく、分割されているキーボードが欲しくなりました。分割キーボードは既製品のバリエーションがあまり無いので、自作キーボードを見てみることとしました。

電子工作に飢えていた

工作作業をしている時が一番心が安らぐタチなのですが、最近あまり工作をできていなかったので、工作欲求を満たしたかったというのも自作キーボードを作ろうと思った理由の一つです。

格子配列のキーボードが欲しかった

普通のキーボードは文字が行ごとに若干ズレて配置されていますが、このズレには昔から疑問を抱いていました。教科書的な指のポジションを守るなら、左右の手が非対称に傾いてしまうからです。例えば、BとNの人差し指のホームポジションからの距離を比べると、Bの方がかなり遠いのは合理的で無いと思います。左右対象で、両手の指を均等に動かすことのできる格子配列のキーボードならこの点の不合理が解消できると思いました。

小指が辛い

普通の配列のキーボードだと大半の記号やEnterが小指に割り当てられており、小指にかかる負担が大きいです。特にコロン、大かっこ、+、-などを多用するプログラミングにおいては小指の負担はさらに重くなります。弱い小指に負担が集中しているのは良くないので、親指に多くキーが割り当てられているLily58を選びました。

購入

Lily58 Liteを組み上げるために購入した物品は以下の通りです。(価格は税込)

  • 遊舎工房
    • Lily58 lite ¥11000
    • Pro micro コンスルー付き x 2 ¥2200
    • Cherry mx red x 60 ¥5280
  • Amazon
    • TRRSケーブル ¥820
  • 楽天
    • Cherry mx対応キーキャップ CK-104BAT/E ¥3000

合計 ¥22300

組み立て

Lily58/buildguide.md at master · kata0510/Lily58 · GitHub

58個のスイッチとダイオードを付けるのは手間はかかるものの、こちらの公式説明書通りに組めば簡単にできました。唯一詰まったポイントとしては、

make lily58:default:avrdude

でDetecting USB port, reset your controller now...が出てからキーボードのリセットスイッチを押してもドットが増えるだけでプロセスが先に進まない現象が起きたところです。これは、キーボードとmacをつなぐケーブルが差してあるハブを別のものに取り換えるとうまくいくようになりました。

完成品写真

f:id:negitoro113:20200322105410j:plain f:id:negitoro113:20200322105412j:plain f:id:negitoro113:20200322105414j:plain ハブからUSBで繋いでいて配線がごちゃついているので、専用のすっきりしたケーブルを買いたいですね。

使用した感想など

格子配置がいい感じ

まだ2日ほど使っただけですが、既に格子配列の良さを感じています。Bまで無理に指を伸ばさなくて良いので、ホームポジションが崩れにくく、結果として他のキーも安定してブラインドタッチできるようになった感じがします。この点だけでも既に普通のキーボードには戻れない感じがしています。

キー配列の変更も簡単

デフォルトのキー配列では自分の感覚と合わない部分があったので、すぐにキー配列をカスタマイズすることにしました。カスタマイズは非常に簡単で、qmk_firmwareディレクトリ以下のkeyboards/lily58/default/keymaps.cをコピペして書き換えてコンパイルするだけです。
今の自分のキーマップはこれ↓です。commandが左右対象になるようにしたり、Raise, Lower時のキーマップを自分の直感に合うように書き換えました。記号周りについては使っていくなかでもう少し調整する必要があるかなと思います。

/* QWERTY
 * ,-----------------------------------------.                    ,-----------------------------------------.
 * | ESC  |   1  |   2  |   3  |   4  |   5  |                    |   6  |   7  |   8  |   9  |   0  |  `   |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * | Tab  |   Q  |   W  |   E  |   R  |   T  |                    |   Y  |   U  |   I  |   O  |   P  |  -   |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * |LCTRL |   A  |   S  |   D  |   F  |   G  |-------.    ,-------|   H  |   J  |   K  |   L  |   ;  |  '   |
 * |------+------+------+------+------+------|   [   |    |    ]  |------+------+------+------+------+------|
 * |LShift|   Z  |   X  |   C  |   V  |   B  |-------|    |-------|   N  |   M  |   ,  |   .  |   /  |RShift|
 * `-----------------------------------------/       /     \      \-----------------------------------------'
 *                   | LGUI | LALT | LOWER | /Space  /       \Enter \  |RAISE |BackSP| RGUI |
 *                   |      |      |      |/       /         \      \ |      |      |      |
 *                   `----------------------------'           '------''--------------------'
 */

/* LOWER
 * ,-----------------------------------------.                    ,-----------------------------------------.
 * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |                    |  F7  |  F8  |  F9  | F10  | F11  | F12  |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * |      |   !  |   @  |   #  |   $  |   %  |                    |   ^  |   &  |   *  |   (  |   )  |   `  |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * |      |      |      |      |      |      |-------|    |-------|   +  |   -  |   =  |      |   |  |   \  |
 * |------+------+------+------+------+------|   [   |    |    ]  |------+------+------+------+------+------|
 * |      |      |      |      |      |      |-------|    |-------|      |      |      |      |      |      |
 * `-----------------------------------------/       /     \      \-----------------------------------------'
 *                   | LAlt | LGUI |LOWER | /Space  /       \Enter \  |RAISE |BackSP| RGUI |
 *                   |      |      |      |/       /         \      \ |      |      |      |
 *                   `----------------------------'           '------''--------------------'
 */

/* RAISE
 * ,-----------------------------------------.                    ,-----------------------------------------.
 * |      |      |      |      |      |      |                    |      |      |      |      |      |      |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * |   `  |   1  |   2  |   3  |   4  |   5  |                    |   6  |   7  |   8  |   9  |   0  |      |
 * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
 * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |-------.    ,-------| Left | Down |  Up  |Right |      |      |
 * |------+------+------+------+------+------|   [   |    |    ]  |------+------+------+------+------+------|
 * |  F7  |  F8  |  F9  | F10  | F11  | F12  |-------|    |-------|   +  |   -  |   =  |   [  |   ]  |   \  |
 * `-----------------------------------------/       /     \      \-----------------------------------------'
 *                   | LAlt | LGUI |LOWER | /Space  /       \Enter \  |RAISE |BackSP| RGUI |
 *                   |      |      |      |/       /         \      \ |      |      |      |
 *                   `----------------------------'           '------''--------------------'
 */

小指の負担が少なくて良い

小指の負担が大幅に減り、指に無茶な動きをさせることも減って非常に楽にタイピングできるようになった気がします。親指でenterやdeleteを押すのはわりとすぐに慣れました。enterを押すときに指を動かさなくていいので非常に快適です。

数字列いらなくない?

このキーボードにしてから数字列を触る機会が減りました。普通に数字列に指を伸ばすよりも、RAISEキーと数字列より一段下のキーを押した方が手が届きやすいからです。以前は40%キーボードなどの数字列がないキーボードなんてありえないと考えていましたが、今なら数字列を消す人の気持ちがわかります。ただ、自分はキーボードにこれ以上の小ささを求めないので、数字列はあまり使わないけどあって困ることもないなという感じです。

まとめ

半ば衝動的にキットを購入して行った初めての自作キーボード制作でしたが、想像以上に楽しく、また実用的なキーボードを作ることができました。Lily58に早く慣れて実践投入していきたいと思っています。