音ゲーと同時押し、遅延について
音ゲーで自作キーボードを使う時、QMK firmwareで注意すべき点を抜粋しました。
同時押しについて
6キー同時押し以上が必要な場合は、Nキーロールオーバー(以下NKRO)を有効にする。
rules.mkの記述を変える。
BOOTMAGIC_ENABLEをfull
NKRO_ENABLEをyes
keymapに"MAGIC_HOST_NKRO", "MAGIC_UNHOST_NKRO"を割り当てる。
該当キーを押した後に、キーボードの再接続を行うとNKROのON、OFFが切り替わる。
常時NKROを有効にしたい場合は、config.hで"#define NKRO_FORCE"を記述したほうが良いかも。
config.hで"#define QMK_KEYS_PER_SCAN"を記述すると1回のスキャンで*キー押下状態の変化を検知するかを変更できる。本当に同じタイミングで同時押しを転送したい場合には値を増やす。ただし、次のスキャンまでの時間が伸びるため、遅延が生じやすくなる。
遅延について
遅延の種類も色々あるが、以下を見直す。
タップダンスやホールド機能は使わない(使えない)。
"#define DEBOUNSE"の値を小さくする。副作用として、チャタリングが起きやすくなる。
"#define USB_POLLING_INTERVAL_MS"の値を小さくする。副作用は不明。
helix等でOLEDを実装している場合は、それ自体が大きな遅延の原因になる。悲しいが、OLEDを無効にするか、一時的にOLEDを無効とするようにファームウェアを改造する。
同時押し、遅延の確認サイト