メモ帳DPA

ぐぐってあまり引っかからないような何かがあったら書いたりする

自作キーボード Helix (rev3じゃない方)に SU120 でそこそこ簡単にロータリーエンコーダを増設する

経緯

ロータリーエンコーダが搭載可能な新しいHelix(rev3)が出たのを見て、ロータリーエンコーダに興味が出てきた。
ただ特に目的があるわけではなく、とりあえずロータリーエンコーダを試したいだけであって、まるごと買い換えるほどでもないくらいの興味だったので、今使ってるキーボード(以前のHelix)でそのまま使えないか調べてみた。

結果

できた。
f:id:de0:20210527173010j:plain
Helix + BLE Micro Pro + SU120 + ロータリーエンコーダ + 電池基盤 + 昇圧モジュール

完成品に後から色々変更加えられるのが自作キーボードの良いところだと思う。
本当は両手とも単4駆動にしたかったんだけど、配置スペースの都合で片側はボタン電池で妥協した。

材料

土台:Helix + BLE Micro Pro

特に基盤作ったり3Dプリントしたりは必要なく、既存パーツの組み合わせだけで結果的に上手く行った。

増設方法

設定を変える

BLE Micro Proでは、専用の設定が用意されているので、物理的にロータリーエンコーダと接続する2ピンとGNDを確保すれば簡単に動くようになっていた。encoder.jsonのenabledを1にしてピン番号を指定するだけで使える。
直付けしたらちゃんと動いてくれたので、配置場所と固定方法を考えてちゃんとキーボード上に配置してみることにした。

空間を確保する

自分の用途的に全く不要なTRRSジャックとリセットボタンとLCDを全部取っ払ってそこに置くことにした。
(無線前提なので、有線で使う場合はこの場所は使えない)
f:id:de0:20210525203021j:plain

Helixの拡張性がすごい

BLE Micro Proから直接配線するつもりだったが、公開されているHelixの基盤を見てみたところ、使われてないスルーホールが色々用意されていた。
普通に使う分には全く要らないものなので、こういった拡張を見越して用意してあったのかもしれない。ありがたい。
f:id:de0:20210526213930j:plain

配線する

ちょうど良いところにあったSDA/SCL端子とリセットボタン用だったGND端子にロータリーエンコーダを繋いだら、期待通り動いてくれた。
表で配線を引き回す必要がなくなったおかげで、かなりスッキリした構成にできた。
f:id:de0:20210525225855j:plain

固定する

ロータリーエンコーダに直接ネジ止めできるような作りにはなっていないため、固定方法をどうにかしないとならない。
SU120のロータリーエンコーダ用基盤部分がいい感じに使えそうだったので、そこだけ切り取って固定用に使ってみることにした。
SU120の穴がM1.4なのに対して、Helixの穴(もともとアクリルカバーを付ける用)はM2なのでサイズが合っていないが、気にせず固定してみたら大丈夫だった。

4箇所中2箇所しか固定できず、端子や導線分の厚さも基板裏面に加わるせいで固定時に若干傾きが出来てしまったんだけど、思いがけず回しやすい感じの位置に偶然なってくれたのでよしとした。
f:id:de0:20210525231554j:plain

塗装する

ついでに、ノブの色が白くて浮いていたので、ラッカー吹いて黒く塗った。
f:id:de0:20210527174532j:plain

割り当て

特に何に割り当てたいとかの目的があって作ったわけではないため、出来てからいくつか試してみた。
対になる操作2種類を1Uに収められ、同一キーの連打もしやすいので、普通のキーにはない操作性がロータリーエンコーダだと得られて思ったより便利だった。無くても困らないけどあると助かる。

現状は以下の3セットを割り当てている。(2組目以降はレイヤ切替)

  • PageUP / PageDown
  • Ctrl+Tab / Ctrl+Shift+Tab (タブ切り替え)
  • VolumeUP / VolumeDown

他のアサイン例

  • Left / Right とか、 Up / Down あたりも汎用性が高そうな組み合わせだった。
  • Ctrl+Z / Ctrl+Y の割り当ては、挙動は面白いんだけど実際にはそんなに使う機会がなかった。
  • Alt+Tab / Alt+Shift+Tab は画面狭い人だと便利かもしれない。
  • 動作中のアプリケーション毎に動作を切り替えたい場合は、 F20 / F21 とか適当な使わないキーを割り当てた上で、Autohotkeyで制御するのがよさそう。

他に何か便利なキーの割り当てがあったら教えてください。