ReLow60 ファームウェア v1.13 & ReConf v1.4.0:ポーリングレートを7段階から選択、USB診断機能を追加

概要

ReLow60 L-HE のファームウェアを v1.13 に、コンフィギュレータ ReConfv1.4.0 に更新しました。今回の更新は3点です。

  • ポーリングレートを 125Hz〜8000Hz の7段階から選択できるようになりました
  • 従来の 「1000Hz」設定が実際には 62.5Hz で動作していた不具合を修正しました
  • ホストの実際のポーリング間隔を測る USB ポーリングレート診断を追加しました
  • 診断画面に、キーボード自身の スキャンレートを表示するようにしました(v1.14 で追加)

あわせて、次回以降のファームウェア更新が ReConf の画面だけで完結するようになりました(今回の更新のみ、従来どおり Web DFU での書き込みが必要です)。

ポーリングレートを7段階から選択

これまでは「8000Hz を有効にする」オン/オフの設定でしたが、8000 / 4000 / 2000 / 1000 / 500 / 250 / 125Hz の7段階から選べるようになりました。ReConf の設定画面から変更できます。

8000Hz は入力の反映が最も速い設定ですが、USB の帯域とホスト側の処理を多く使います。使用環境や好みに合わせて下げられるようになりました。

「1000Hz」設定に関する不具合の修正と、設定の再確認のお願い

従来のバージョンで「1000Hz」を選んでいた場合、実際には 62.5Hz で動作していました。

USB のハイスピード接続では、ポーリング間隔を指定する値が指数として解釈される仕様になっています。従来のファームウェアはこの値を直接の分割数として扱っていたため、意図した 1000Hz ではなく 128 マイクロフレーム(=62.5Hz)で動作していました。

v1.13 ではこの計算を修正し、選択した数値どおりのポーリングレートで動作します。

これまで 1000Hz を選んでいた方は、v1.13 に更新したあと、設定画面でポーリングレートを選び直してください。更新時に新しい形式へ自動的に移行されますが、意図した値になっているかご確認いただくのが確実です。

USB ポーリングレート診断

キーボードは、入力に変化があったときだけホストへ信号を送ります。そのため待機中は通信が発生せず、ホストが実際にどれくらいの間隔でキーボードを読み取っているかを知る手段がありませんでした。

「8000Hz に設定しているのに、ときどき入力が遅れて感じる」という場合、原因はケーブルやポート、ハブにあることがあります。しかし従来はそれを切り分ける方法がありませんでした。

v1.13 では、ReConf にポーリングレート診断を追加しました。診断中はキーボードが応答を待ち受ける状態を維持し、USB のフレーム番号カウンタを使って応答の間隔を測ります。キーボード内部の処理時間ではなく USB バス側の時間で測るため、実際にホストとの間で何が起きているかが分かります。

8000Hz を設定していても実測値が大きく下回る場合、ケーブルやポートを変えて再測定すると原因の切り分けができます。

診断では、原因がケーブル側か PC 側かもある程度切り分けられます。USB のフレーム信号そのものが欠けている場合はケーブルや接続経路の問題を示し、フレームは届いているのに応答が遅れている場合は PC 側の処理が追いついていないことを示します。後者はケーブルを交換しても改善しないため、その場合はポートの変更や USB の省電力設定の確認をご案内します。

なお、ごく低い頻度の遅延は体感できる差になりません。診断結果は、実際に影響が出る水準に達したときにだけ注意を表示します。

診断中の画面。計測を続けると、判定の文面が確度に応じて変わります

計測を続けるほど判定の確度は上がります。不良なケーブルはしばらく正常に動いてから落ち始めることがあるため、短い計測では「ここまで問題ありません」と表示し、30 秒以上続けた場合に「このケーブルは良好です」と言い切る表示に変わります。

上の画面では 135,946 回の報告のうち 13 回がわずかに遅れていますが、8000Hz では 1 回の遅れが 125 マイクロ秒なので、この頻度と長さは体感できません。そのため緑の判定のまま、実測値を添えて対処が不要であることを明示しています。問題のないケーブルを買い替えていただく必要はありません。

キーボード側の速さも表示(v1.14 で追加)

ポーリングレートは「PC がキーボードを読み取る頻度」です。キーボード側がそれに追いついているかは別の話で、両方が分からないと入力の反映速度の全体像は見えません。

そこで診断画面に、キーボードがキーの状態を評価している速さ(スキャンレート)も表示するようにしました。ReLow60 の実測値は 約 11,600Hz です。

内訳として2つの数値を併記しています。センサーの測定値が更新される頻度が 15,625Hz、その値をもとにキーの状態を判定する頻度が 約 11,600Hz です。キー入力が実際に検知される粒度は遅い方で決まるため、スキャンレートとしては判定側の値を表示しています。

8000Hz のポーリングに対してキーボード側は約 11,600Hz で動いているため、この組み合わせでは USB 側が上限になります。

【2026-08-22 追記・訂正】 公開当初、この機能を v1.13 の内容として記載していましたが、実際に含まれているのは v1.14 です。v1.13 の公開後に追加したものを、誤って v1.13 の機能として掲載してしまいました。お詫びして訂正します。

v1.13 のままではスキャンレートは表示されません(該当欄が空欄になります)。ReConf の設定画面から v1.14 へ更新してください。

なお v1.13 には、この機能を含むものと含まないものの2種類が存在してしまいました。どちらもバージョン表示は v1.13 のままで見分けがつかないため、v1.14 として切り直しています。

今回が、DFU での更新は最後になります

ここまでのファームウェア更新では、キーボードをブートローダーモードに入れ、Windows では Zadig でドライバーを差し替える必要がありました。この手順は、初めての方にとって分かりにくい部分でした。

v1.13 からは、ReConf の画面上でファームウェアを更新できます。 ReConf がすでに使っている通信経路(WebHID)をそのまま使うため、ドライバーの差し替えも、書き込み用デバイスの選択も不要です。

ただし、この機能は v1.13 に更新したあとから使えます。今回(v1.12 → v1.13)の更新は、従来どおり Web DFU で行ってください。 次回のファームウェア更新からは、ReConf に更新の案内が表示され、ボタンを押すだけで完了します。

更新するファイルは自動で取得されるため、ファイルを探してダウンロードする必要もありません。書き込む前にキーボード側でファイルの内容を検証するため、壊れたファイルや別の機種向けのファイルは、書き込まれる前に停止します。転送中にケーブルが抜けた場合も、キーボードは元の状態のまま残るので、そのまま再試行できます。

万一の場合の復旧手段として、従来の Web DFU 経由の更新も引き続き利用できます。

アップデート方法

今回の更新は、ReConf のファームウェアアップデート機能(Web DFU)から行ってください。 手順は別記事にまとめています。

設定は更新時に引き継がれます。キーマップやアクチュエーション、ラピッドトリガーなどの既存設定はそのまま保持されます(ポーリングレートの設定のみ、新しい7段階の形式へ自動的に移行されます)。

その他の修正

  • 6キー以上を同時に押して離したあと、キーボードが内部で「押されたまま」の情報を保持し続ける問題を修正しました。通常の OS では表面化しませんが、BIOS や UEFI の設定画面などでキーが押しっぱなしとして扱われる場合がありました

ソースコード(GPL-3.0)

ReLow60 のファームウェアは libhmk(GPL-3.0)をベースにしており、対応ソースを公開しています。