Cornix公式ファームでMod-Tap使用後にCtrl修飾が残り続けるバグ

公開日:
目次

Keyball から Cornix に移行したら、Vial で一度設定した Mod-Tap を消した後も「長押しすると Ctrl が効く」だけがどのキーにも張り付いて取れなくなりました。再書き込みでも初期キーマップロードでも戻らず、結局丸一日潰したので、再現条件と試したこと、現状の対処方針を残しておきます。

症状

MT(MOD_LCTL, KC_BSPC)(タップで Backspace、長押しで Ctrl)を一度でも割り当てると、その後そのキーを単純な KC_BSPC に戻しても、長押し時に Ctrl 修飾だけが効いた状態が残り続けます。

さらに厄介なのが、まったく別の物理キー位置に新規で KC_BSPC を割り当てても、そのキーも長押しで Ctrl が効いてしまう点です。Vial 側の表示上は Mod-Tap の設定はどこにも残っていないので、ファーム内部のグローバルな状態として焼き付いているように見えます。

環境

項目 内容
キーボード Cornix(Corne 派生 / JezailFunder 製)
ファーム v1.12(v1.11 でも再現)
設定ツール Vial Web 版(vial.rocks)
移行元 Keyball

試したこと

ざっと一晩で試した手は次のとおりで、どれも症状を消せませんでした

  • vial.rocks 上で当該キーを KC_BSPC に書き直す
  • 該当キーを一度 KC_NO にしてから貼り直す
  • Bluetooth を切断・再接続する
  • 本体の電源を落として入れ直す
  • 全レイヤーを目視確認(そもそも Mod-Tap 設定は残っていなかった)
  • 無線書き込みの失敗を疑って USB 有線で接続して書き直す
  • 公式の cornix-default-keymap.vil を Load して初期化
  • 同じ v1.12 を上書きでもう一度書き込む
  • v1.11 に一度落としてから v1.12 へ戻す

最後の v1.11 ⇄ v1.12 では、ダウングレード直後に Vial の表示がいったん初期化されて治ったように見えるのですが、その後一度でも Mod-Tap を試すとまた同じ状態に戻ります。要するに Mod-Tap を踏んだ時点で詰む という挙動でした。

ファーム書き込み手順のおさらい

ここまで何度も書き込み直したので、公式マニュアル[1]の流れも置いておきます。書き込み自体は失敗していないことの裏付けです。

書き込みの前にやること:

  • PC の Bluetooth 設定から Cornix のペアリングを削除しておく
  • 左手用と右手用の .uf2 を取り違えない

ブートローダへの入り方は2通りあります。Vial の「Security」タブから「Reboot to bootloader」を選ぶか、ピンセットで本体のリセットボタンを素早く2回押します。

ブートローダに入ると CORNIXNO NAME という名前のドライブとして PC に見えるので、対応する .uf2 ファイルをドラッグして放り込みます。書き込みが終わるとドライブが自動で消え、OS 側で「不正な取り出し」の警告が出ますが、これは正常動作です。

既知の事実と他ユーザーの状況

JezailFunder Japan の公式情報[2] と Yamatake 氏の note 記事[3] を読むと、そもそも Cornix の Mod-Tap は実装が二転三転している経緯がありました。

  • v1.6: Mod-Tap 関連は無効化
  • v1.7: 実装開始(ただし制限あり)
  • v1.8: 公式が「Mod-Tap の扱いはユーザーに任せる」と発言
  • v1.11: Permissive Hold と Hold on Other Key Press が Vial から変更可能に

Yamatake 氏も同じく「公式ファームでは Mod-Tap がまともに使えなかった」ため、非公式の ZMK 系ファーム[4]に乗り換えたと書かれていて、踏んでいるのは自分だけではなさそうです。

現状の選択肢

公式に修正版を出してもらわない限り、ユーザー側で完治させる手は無さそうでした。実際に取れる方針は3つ。

公式に不具合報告する

JezailFunder Japan の不具合報告フォーム[5]に再現手順を投げる。直る保証はないですが、踏んでいる人が多いほど優先度が上がる類のバグだと思います。

Mod-Tap を一切使わない構成にする

Cornix は親指列が片側6個あり、Backspace Ctrl Shift Enter あたりを独立キーに置いてもまだ余ります。自分はこの方針に振り直して、ホームポジションを大きく崩さずに済みました。Layer Tap(LT)は Mod-Tap と別の仕組みで動いているのか、こちらでは同じ症状は出ませんでした。

非公式ファームに乗り換える

ZMK[4:1] か RMK[6] の派生実装がコミュニティで上がっています。Vial と互換性が違うので設定資産は使い回せませんが、Mod-Tap が必須なら有力な選択肢になります。

締めに

Cornix を導入した直後は「Vial で全部やれるなら気軽に Mod-Tap を試そう」と思ったのですが、結果としては一度でも Mod-Tap を踏むとファーム再書き込みでも戻らないという、設定ツールの自由度とは別軸の制約を引いてしまいました。

しばらくは公式ファームを使い続ける前提で、Mod-Tap を避けて Layer Tap とレイヤー切替に寄せた配列に作り変えるのが、いちばん事故が少ない運用だと感じています。同じところに踏み込みかけている人は、最初の MT() を貼る前に、その分の押下感を独立キーで吸収できないか配列のほうから先に検討してみてください。

脚注
  1. Cornix 日本語マニュアル - JezailFunder Japan (2026-05-21 アクセス) ↩︎

  2. Cornix ファームウェア - JezailFunder Japan (2026-05-21 アクセス) ↩︎

  3. Cornix LP のファームを ZMK に乗り換えた話 - Yamatake (note) (2026-05-21 アクセス) ↩︎

  4. hitsmaxft/zmk-keyboard-cornix (2026-05-21 アクセス) ↩︎ ↩︎

  5. Cornix 不具合報告フォーム (2026-05-21 アクセス) ↩︎

  6. adong660/rmk-cornix (2026-05-21 アクセス) ↩︎