ZMK Firmwareを搭載したキーボードのキーマップを検討した際の調査メモ。
(後々他の機能も追加予定。)
Behaviors
キーに設定する振る舞い。Keymap設定の基本となる。
以下によく使ものを記載する。自分でBehaviorsを定義すること(User-Defined Behaviors)もできる。
| Binding | Behavior | Description |
|---|---|---|
&kp |
Key Press | Press時にキーコードを送信する。 |
&mo |
Momentary Layer | Pressしている間レイヤーを有効化する。 |
&to |
To Layer | Pressするとレイヤーを有効化する。 |
&tog |
Toggle Layer | Pressするとレイヤーの有効・無効をトグルする。 |
&sl |
Sticky Layer | Pressすると他のキーがPressされるまでレイヤーを有効化する。 |
&mkp |
Mouse Button Press | マウスボタンをPress(クリック)する。 |
Hold-Tap
キーを長くPressしたとき (Hold) と、短くPressしたとき (Tap) に異なる振る舞いを設定する機能(Behavior)。
事前定義されているBehavior
| Binding | Behavior | Description |
|---|---|---|
&mt |
Mod Tap | HoldとTapで異なるキーコードを送信する。 |
< |
Layer-tap | Hold時にレイヤーを有効化し、Tap時にキーコードを送信する。 |
設定項目
事前定義されているBehaviorの振る舞いのカスタマイズ、もしくはカスタムのHold-Tap Behaviorを定義するときに使える設定項目。
-
tapping-term-msHoldとTapの判定閾値となるPress時間(ミリ秒)
- 設定時間より短くPress → Tap
- 設定時間より長くPress → Hold
-
flavor(Interrupt Flavors)Hold-TapをPressして
tapping-term-ms経過前に他のキーをPressしたとき (Interrupt) のHold-Tapの振る舞いflavor 振る舞い hold-preferredHold balanced他のキーを先にRelease → Hold
Hold-Tapキーを先にRelease → Taptap-preffered判定に影響しない tap-unless-interrupted※ 特殊なflavor tapping-term-ms以内に他のキーをPressしない → Tap -
quick-tap-ms-
Hold-TapをPress後、設定時間内に再度Press → Pressする時間に関わらずPress
※ キー長押しでの連続入力が可能となる。
-
-
require-prior-idle-ms- non-modifierキーをPress後、設定時間内にHold-TapをPress → Tap
-
hold-trigger-key-positions-
設定値以外のキーでのInterrupt → Tap
(設定したキーのみが
flavorのInterruptの判定対象となる。) -
hold-trigger-on-releaseを設定すると、キーのPressでなくReleaseがInterruptの判定対象となる。
-
-
hold-while-undecided- Hold-TapキーをPressしてすぐにHoldが発動する。
-
hold-while-undecided-lingerを設定すると、発動したHoldがReleaseまで保持される。(HoldとTapに同じModifierを設定するときの2回ModifierのPressと判定されることを防ぐ。)
-
retro-tap- Hold-TapキーをPresssして他のキーをPressせずにRelease → Tap