見出し画像

#cool640lp ビルドログ またはBLE Micro ProではなくPro Microを選択する理由(は特になかった(追記))

ハードウェアが組み上がるまで

なるほど!

僕はボトムケース側にスペーサーを付けてスイッチプレートと合わせる派です

余談:ちょっとした謎のトラブル

jを含むコンボだけ動作しない謎の不具合が起こっていましたがたぶんフラッシュ時の不具合だと思います

本題:ファームウェア選択について

cool640lpは、二種類のコントローラーボードとファームウェアに対応しています。

  • Pro Micro+QMK

  • BLE Micro Pro+BLE Micro Pro用ファームウェア

BLE Micro Pro用ファームウェアはQMKのフォークであり、というかVial対応ファームウェアもQMKのフォークですが、まあこまかいことはいいでしょう。
要するに有線用と無線用です。とはいえ、BLE Micro Proを利用する場合、有線接続でも利用できます。この場合、電池も要りません。

じゃあBLE Micro Proが完全上位互換なのかというとそうでもなく、QMKにはあってBLE Micro Pro用ファームウェアでは利用できない機能もあります。

2024年12月8日時点で、

  • Audio

  • NKRO

  • PS/2

  • USART

の4つです。このうち、一般的なユーザーに関係あるのは、せいぜいNKROくらいでしょう。
ロールオーバーとは、複数のキーが同時に押された際、それらを「順番に処理する」機能です。sを離さないうちにaを押してもsaにしてくれるとかそういうことです。
通常、USB接続のキーボードでは、6キーまでのロールオーバーにしか対応していません。これを7キー以上の同時押しにも対応させる機能がNKROです。
とはいっても、高速でタイピングした程度で7キー以上のロールオーバーが必要になることはめったになく、これもよほど高強度のゲームプレイなどに用いない限りは必要になりません。
よって、Pro MicroからBLE Micro Proに変更したところで、機能的に困ることはない……と思っていたのですが。

どうも、BLE Micro Proでは「Ignore Mod Tap Interrupt」が機能しないようなのです。
これもロールオーバー関係の機能なのですが、一般的なキーボードのファームウェアにはない、デュアルロール(mod-tap)機能との兼ね合いによって必要になってきます。

デュアルロールとは、同一の物理キーをホールドしたときとタップしたときで異なる動作をさせるものです。
cool640lpのようなキー数の少ないキーボードでも、この機能を活用することでフルキーボードと遜色ない使い方ができます。
むしろ、レイヤーやデュアルロールを活用して指の動きを抑えること自体が目的で、そのためには多数のキーは不要どころか、邪魔なだけとも言えるでしょう。

しかし、デュアルロールの宿命として、「いかにしてタップとホールドを区別するのか?」という問題があります。
そのためにTapping Termという時間の設定値があり、cool640lpの初期値では「200ミリ秒以上押し続けたらホールド、それ未満ならタップ」と判断されています。
しかし、それだけでは同時押しの判断がつきません。高速タイピングでは、「sの次にaを押したいのに、sを離す前にaを押してしまった」とか、「Shift+aを入力したいのに、Shiftを離す前にaを離してしまった」とかいうのはよくあることです。
そこで、同時押しが発生した際「基本全部ホールド扱い」か「基本全部タップ扱い」という設定があります。前者が「Permissive Hold」、後者が「Ignore Mod Tap Interrupt」で、いずれもVialで設定可能です。
僕はタップのつもりがホールドになってしまうホールド化けがイヤなので、後者を採用していたわけです。

しかし、BLE Micro Proでは、Ignore Mod Tap Interruptを有効にしても利かないようなのです。NKROがないためなのかわかりませんが、僕にとっては使い物にならない。ちなみに、BLE Micro Proを有線接続で利用してもこれは変わりません。

というわけで、僕はPro Microで使用することにしました。

BLE Micro Proが片側13ピンに対し、Pro Microは12ピンですので、片側1ピン余ります。この1本はバッテリー接続のためのもので、最も端子に近いピンがそれに当たります。
よって、Pro Microを使用する場合、一番外側のビアを空けて接続します。これはBMPを優先で使う場合も同じです。

リセットボタンを押してPro Micro用のファームを書き込み、Vialで設定します。

追記

ちゃんと動作するそうです。無事有効にできたらまた追記します。

いいなと思ったら応援しよう!