見出し画像

Keyball 44 設定備忘録

Firmware update! が、やはり動かない

先日までかみだいさんの Auto Mouse Layer (自動マウスレイヤ、以下AML) を使用していたが、Firmware のアップデートの関係で、最新 REmap への対応はしていなかった。
先日のアップデートで公式 Firmware に AML が導入されたとのことでアップデートを行ったが、案の定ハマってしまったので覚書を残す。


Auto Mouse Layerとは

keyball シリーズは分離型キーボードのキットであるが、最大の特徴はトラックボールがついていることである。これにより、右手でマウスとキーボードを往復する煩わしさから解放されるという画期的なデバイスである。大げさではなく、これはようやく訪れたPCのインターフェースデバイスの進化である。

通常、このトラックボールをマウスとして使用するためには、親指キーなどに設定したキーでレイヤを切り替える必要がある。こうすることで例えば J キーを左クリック、L キーを右クリックとして使うことができるのだ。

ところがこれだと、片手での操作がしづらくなってしまう。
マウスレイヤのキーを右手側に設定してしまうと、トラックボール、レイヤキー、クリックキーの3つを同時に抑える必要が出てくる。
だからと言ってマウスレイヤキーを左手に設定してしまうと、常に両手で操作しなくてはならなくなるのだ。ちょっとした操作をしたいだけの場合、これは非常に面倒くさい。何ならマウスより使い勝手が落ちてしまうのだ。

そこで、Auto Mouse Layer の登場というわけである。この機能を設定することにより、トラックボールを動かしてしばらくの間、自動的にマウスレイヤに切り替わる。したがって、無理にレイヤを変更しなくても、直感的にトラックボールが操作できる。操作後一定時間入力がない場合は通常のキーボードモードに戻るので、シームレスに文字を打ち始めることもできる。

REmap

自作キーボードのもう一つの大きなメリットは、自分でキーボードレイアウトを変更できることである。

僕はJISキーボードがあまり好きではない。特に (), {}, [] といったカッコたちが左右に並んでいないのが気持ち悪いし、エンターキーもそこまで大きくなくてよい (おそらくこいつのせいでキーボード強打する輩が後を絶たないので滅ぼすべきだ)。その他にも、細かい不満を挙げればきりがない。

そこで普段はUSキーボードを使っているのだが、こちらはこちらで「変換」「無変換」など、日本語で良く使うキーがなく、運用に若干のクセが生じる。
例えばUSキーボードで日本語入力と英語入力を切り替える際には Win+space を押して言語を切り替えるのが一般的だが、Windows の反応が若干遅い、Windows のバージョン (10や11など) で微妙に挙動が異なる、複数言語を使いたい場合にややこしくなる、細かいキー設定がしづらい…などなど不満が噴出する。
僕は "alt-ime-ahk" というソフトを使って左右の Alt キーにそれぞれ 英数/かな を割り当てているが、これも時々不安定になったりすることがある。

そもそも、いずれの基本的なキーボードでも親指に割り当てられているのが長いスペースキーを含めて数個というのが非効率である。スマホは親指で操作する人が多いだろう。親指は高精度で高機能なのだから、もっと活用すべきなのだ。

そこで自作キーボードの出番である。自作キーボードの多く (そして既製品の一部) は、キー配列の変更に対応している。特に、REmap や QMK Configurator といったツールを使えば GUI で配列変更ができて便利である。

Keyball の公式 firmware はこの REmap に対応しており、直感的に配列を変更できる。が、以前は公式は AML には対応しておらず、逆に有志の AML はバージョンが古いため最近の REmap に対応していない、という状態だった。

いざ、アップデート

始めに記したように、最近公式 firmware が AML に対応したため、一念発起してアップデートをしてみることにした。が、うまくいかずハマってしまったのでその手順を記録しよう、というのが今回の目的である。

最新版の firmware をダウンロードする。

git がわかる人はそれを使うのが早い。ローカルに clone すればよさそうだ。個人的には git 管理が楽になる GUI ソフトを使うのがおススメである。普段から VS code などを使っているのであればそれでいいし、git 初心者であれば Fork などのアプリがわかりやすい。git の使い方は本記事のテーマから逸れるので割愛する。

QMK firmware をダウンロードする。

同様に git を使うのが早い。

シンボリックリンクを作成する。

qmk/qmk_firmware 配下の keyboards ディレクトリに、keyball ディレクトリのシンボリックリンクを作成する。Windows の場合、QMK MSYS を管理者モードで起動し、下記の命令を実行するのがわかりやすい。

$ ls
keyball/ qmk/

$ cd qmk/keyboards
$ ln -s ../../keyball/qmk_firmware/keyboards/keyball keyball
$ ls keyball/
drivers/  keyball39/  keyball44/  keyball46/  keyball61/  lib/  one47/  readme.md
$ cd ..

最後の cd .. でディレクトリ移動をするのを忘れずに。qmk/keyboards 配下のままだと次のステップがうまくいかない。

firmware を make する。

# Build Keyball39 firmware with "default" keymap
$ make SKIP_GIT=yes keyball/keyball39:default

# Build Keyball44 firmware with "default" keymap
$ make SKIP_GIT=yes keyball/keyball44:default

# Build Keyball61 firmware with "default" keymap
$ make SKIP_GIT=yes keyball/keyball61:default

上のコードの中から、各々の keyball の型に合った行を実行すればよい。正しいディレクトリにいれば実行できるはずだ。成功すると、qmk_firmware に .hex ファイルが生成される

ここまでで firmware の準備が完了する。REmapを使わずにキー設定をしてしまいたい場合は、例えば keyball\keyball44\keymaps の via にある keymap.c を編集しておけばよい。

QMK Toolbox で flash する。

QMK Toolbox をインストール・起動する。これは上で作成した firmware を実際のデバイスにインストールするためのツールである。

デバイスを接続し、メニューの Tools>Install Drivers… からドライバをインストールする (初回のみ)。local file の Open から先ほど作成した .hex ファイルを選択しておく。

次にデバイスのリセットボタンを押し、パソコンにデバイスが再認識されたらFlash を実行する。エラーが出なければ、これで先ほどの firmware が keyball にインストールされたことになる。念のため、左右両方の pro micro につないで同様の操作を繰り返そう (片側だけだと、反対側の pro micro がアップデートされない場合があるため)。

上手くいけば、(#560 時点の firmware では) 下の写真のように表示されるはずだ。以前に比べ、格段に見やすい表示になっている。今打っているレイヤやキーが表示されるのは非常にありがたい
SCR, AML はそれぞれスクロールモード、AML モードのオンオフを示している。

この時点での promicro (PC接続側) の表示。レイヤやキーの情報が表示されている。

この時点では AML は OFF になっているかもしれない。実はこの時点で AML をトグルにすることにより AML が使えるようになっているのだが、当初はそれに気づかず、一生懸命コードのどこを変更すべきか探してしまっていた。この記事を読んでいる諸兄は、ここまでうまく行っているなら安心して次の操作を行ってほしい

※設定によるかもしれないが、ダウンロードした via をそのまま flash すると、トラックボールの左右が逆転していることがあるかもしれない。これはREmap で直せるので、慌てず、当面マウスなどを使って修正するのが良い。

とにもかくにもまずは REmap。

REmap にアクセスし、キー配列を設定する。とりあえず仮でもよいので、ざっと必要なキーをセットする。参考までに、現時点での私のキー配列を貼っておこう。改善案やおススメの配列についてはいつでも募集中である。

コーディング、ブラウジング、動画編集を念頭に置いた配置。メディアキーの設定はうまくいかなかったのでまたいずれ。

出来上がった配列は、このようにPDFにして保存しておくと慣れるまで便利である。また、git のアカウントを持っていればクラウド上に保存しておくこともできて安心である。2号機作成の折にも役に立つだろう。

最後のステップ。AMLをトグルする。

keyball\lib\keyball の keycodes.md を落ち着いて読めばわかることだが、AML のトグルは Kb 10 に割り当てられている
そこで、私は REmap で一度 Kb 10 と Kb 1 を適当な空きキーに割り当てた。

Kb 10 を押すと AML がトグルされ、ON/OFF が切り替わるはずだ。気に入らなければもとに戻せばよい。
このままだと、PCを起動し直したり、keyball を繋ぎ直したりする度にトグルしなけらばならないので、Kb 1 で設定を保存する。僕はおそらく AML を永久にトグルしないため、再度 REmap にアクセスしてこれらのキーの割り当てを外した。

これにて一件落着…

さて、以上で設定は完了だ。うまくいっただろうか?
皆さんも、ハマったことや困ったことがあれば教えてほしい。わかったときにはその解決法まで教えていただければ、また誰かの助けになるかもしれない。

それではまたいつか、大きなアップデートが入ったとき、あるいは自作キーボードの別の沼にハマったときに。
皆様に良き keyball ライフを。


追記 (2024/05/10)

REmap で直接FMの書き込みもできるらしい。僕の環境ではなぜかうまくいかなかったが、こちらで済むなら話は早い。まずはこちらを試してみるのがいいかもしれない。Kzさんありがとうございます。


この記事が気に入ったらサポートをしてみませんか?