HHKB配列の分離キーボードを自作する(choco60 rev.2)




この投稿は :calendar: [Atrae Advent Calendar 2021](https://qiita.com/advent-calendar/2021/atrae) の 9日目の記事です。
昨日は@yuriaaさんの[非デザイナー向けに、デザイン勉強会を開催した話。](https://note.com/yuriamurakami/n/n551ddec88070)でした。

---

こんにちは。
株式会社アトラエでWevoxというサービスのフロントエンドエンジニアをしている森です。


以前、[ErgoDash mini](https://shop.yushakobo.jp/products/ergodash-mini?variant=37664852312225)を組み立てて使用していたのですが、ずっとHHKBを使用していたためかキー配列が手に馴染まなく余計に疲れるようになってしまったため売ってしまいました。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/e125a385-4e92-e675-6442-e78c3098c1c9.png  width=100%>


少し経って、HHKB配列の分離キーボードである[choco60](https://shop.yushakobo.jp/products/choco60?variant=37665645101217)(現在取り扱いなし)が出回り、ちょっと興味を持ちつつも二代目の自作キーボードに手を出す勇気が出ずに渋っていたところ、基盤にUSBの接続部などがすでに実装されていて、自作しやすくなった[choco60 rev.2](https://shop.yushakobo.jp/products/choco60-rev-2?variant=40392487141537)が発売されていたので手を出してみました。

## 完成形
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/3dca50a1-3e80-bc9f-fcd4-be81a8037d34.png  width=50%><img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/68efaa83-63d0-c2dc-75af-dbf4b8c49d26.png  width=50%>

## 用意するもの
----　遊舎工房さんで購入 ----
- choco60 rev.2
- キースイッチ(62個)
- キーキャップ
- TRRSケーブル
---- 自分で用意 ----
- はんだごて
- はんだ
- ペンチ
- ドライバー

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/fdb5b2e2-50f8-89e5-d179-5674c7e844df.png  width=100%>


### キースイッチ
[Gateronの静音赤軸](https://shop.yushakobo.jp/collections/all-switches/products/a02gs?variant=37665709359265)を使用。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/44d7c7ef-9ee7-8125-d768-844174d908a6.png  width=60%>

### キーキャップ
見本でも使われていた[NP PBT Crayon KEYCAPS SET](https://shop.yushakobo.jp/products/np-pbt-crayon-keycaps-set?pr_prod_strat=copurchase&pr_rec_pid=6055709376673&pr_ref_pid=6868511457441&pr_seq=uniform)を使用。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/7feaf277-fae7-09a7-2381-ad02467a0a1a.png  width=100%>


### はんだごて・はんだ
ダイソーのものを使用。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/d195a2a2-d094-1dba-1e4d-5fd18262cd8a.png  width=100%>

## 組み立て
こちらのビルドガイドの通りに組み立てます。はんだづけが久しぶりすぎて手こずりました。

https://www.youtube.com/watch?v=cba1CRNhOHU

### 組み立て風景
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/06123d09-0df4-cbf3-a577-8a6fd4364502.png  width=32%> <img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/6f81f385-69e7-739c-6540-f17fd4f660cd.png  width=32%> <img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/f6c24f08-08ae-15c5-cf90-c2e7edc03ad2.png  width=32%>

### 注意点
- スタビライザーをカチって言うまでしっかりはめること
    - ちゃんとはまってるのを確認せずにはんだ付けをしてしまったために大変なことになりました（なんとかなった）
- ねじがとても柔らかく、すぐにバカになってしまうので、きつく締めすぎない。

## キーマップ設定
Choco60 rev2 は GUI でキーマップを設定できる VIA のファームウェアがあらかじめ書き込まれているため、[VIA](https://caniusevia.com/)を使用して設定します。

Macの場合、[こちら](https://github.com/the-via/releases/releases/tag/v1.3.1)からdmgファイルをダウンロードします。

VIAを開くと、このような画面が表示されるので、任意のキーを好きな位置に配置します。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/067d735d-a20f-7d49-8d1f-82046940c16e.png  width=100%>

### マクロの設定
マクロを設定するとショートカットを任意のキーに設定できます。
VIAのMACROSからショートカットしたいものを設定します。
キーコードは[こちら](https://docs.qmk.fm/#/keycodes)

例：Alt+Space（私の環境における言語変更）
`{KC_LALT, KC_SPC}` と入力します
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/56b24e45-47cc-55fa-4667-ab80798c4ab5.png  width=100%>

例：Hello worldと入力
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/25933bfe-6fc0-afdb-9d30-997b96eb626d.png  width=100%>


設定したマクロはKEYMAP->MACROから選択できます。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/a16c773e-96be-2ad9-b63e-be5b4127f88d.png  width=100%>

マクロにslackの絵文字を設定すると、簡単に絵文字を入力できるようになります。(注:倍速じゃないです)
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/2211447f-bbf9-f874-75cf-8776c66b34d6.gif  width=100%>


### 特殊キーの設定
VIAでは、「単押しでは〇〇キー、長押しではXXキー」というような特殊な挙動をするキーの設定が可能です。
私の場合は、左手の親指でスペースキーもコマンドキー（Winキー）も押したいのですが、左のスペースキーが少し大きいため「単押しではスペース、長押しではコマンド」の役割を担うキーが欲しかったのです。

KEYMAP->SPECIALからAnyキーを選択すると下のような画面が出てきます。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/76a59d4a-b970-7c2a-cc2c-f462f7dcf42b.png  width=100%>

こちらに`MT(MOD_LGUI, KC_SPC)`と入力します。
その他の特殊キーについては、[こちら](https://salicylic-acid3.hatenablog.com/entry/via-manual)の記事を参照ください

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192773/422230cc-3b10-96b7-6656-c69f4816c328.png  width=100%>

その他にもレイヤーを切り替えるキーなども設定できたりするので自分好みにカスタマイズすることが可能です。

さらなる効率を求めたい方は、思い切ってキー配列を変えてみても面白いかもしれませんね。
ちなみに私はQWERTYしか使えません😭

https://yushakobo.jp/blog/pluis9/2017/12/thinkkeylayout/





## まとめ
はんだづけたのしい。


## 参考記事
https://salicylic-acid3.hatenablog.com/entry/via-manual

https://docs.qmk.fm/#/keycodes





---

明日は、@ykwkmさんの[ビジネスマッチングアプリ Yenta での MVVM + Flux 例]()です。
お楽しみに〜！