ErgoDoxのキーマップをいじる時に見るチートシート

  • 86
    Like
  • 0
    Comment
More than 1 year has passed since last update.

はじめに

ErgoDoxというかQMKのキーマップについて、です。READMEとかソースコードとかみてまわるのがつらいので対応表にしました。全てではなく、特殊なものだけ抽出しています。

(簡単なものはREADME見ればすぐに理解できて覚えられると思います。)

キーマップの変更方法はErgoDox EZのキーマップを変更する - Qiitaを参照してください:bow:

キーマップ

  • 大文字の場合はそのままの表記(そのままをキーマップに指定する)
  • mod は何らかのmodifier(ctlやshiftのキー)を指す
  • kc は何らかのkey(aや;等のキー)を指す
機能 キーマップ 詳細
Reset RESET リセット(ピンで指すのと同じ)
No action KC_NO 何もしない
Transparent KC_TRNS
KC_TRANSPARENT
下層レイヤーのキーマップを引き継ぐ
Shift S(kc)
LSFT(kc)
Shift + kc
Function F(n)
FUNC(n)
KC_FNn
fn_actionsに登録された機能を呼びだす(1.5 Fn keyを参照)
Modifier Tap MT(mod, kc)
mod_T(kc)
押しっぱなしでmod、タップでkc
C_S C_S_T(kc) 押しっぱなしでCtrl + Shift、タップでkc
Meh MEH_T(kc) 押しっぱなしでCtrl + Alt + Shift、タップでkc
Cag LCAG_T(kc) 押しっぱなしでCtrl + Alt + Gui、タップでkc
ALL ALL_T(kc) 押しっぱなしでCtrl + Alt + Shift + Gui、タップでkc
Tap layer LT(layer, kc) 押しっぱなしでレイヤーを一時的に切り替え、タップでkc
Switch layer MO(layer)
LT(layer, KC_TRNS)
一時的にレイヤーを切り替え。キーを離せば元に戻る。(2つめはKC_NOでもほぼ同じ意味)
Toggle layer TG(layer)
レイヤーを切り替え。キーを押すたびにレイヤーを行き来する。切り替えた先のレイヤーにも同じ指定が必要(KC_TRNSで引き継げばOK)。
Temporary default layer DF(layer) デフォルトレイヤーを切り替える。電源切れたら元に戻る。

補足事項

Guiキーについて

  • MacならCommandに相当するもの

mod_T(kc)mod(kc)は意味が異なるので注意

  • SFT_T(kc)LSFT(kc) の例でいうと
    • LSFT(KC_J) → Shift + J(大文字)
    • SFT_T(KC_J) → タップならj(小文字), 長押しならShift
    • MT(KC_LSFT, KC_J) → タップならj(小文字), 長押しならShift

マクロの独自定義

エイリアスの定義

// LALTのエイリアス
#define A(kc) LALT(kc)

独自Modifierの定義

// `Gui + Shift + kc` (= `kc | 0x5000`でも可)
// quantum/keymap_common.hの以下記述を参考に設定している
//   #define LGUI(kc) kc | 0x0800
//   #define LSFT(kc) kc | 0x0200
#define G_S(kc) kc | 0x0800 | 0x0200 

こうすれば、LGUI(LSFT(KC_4))と入れ子にしていたのがG_S(KC_4)のように簡潔になる

参考資料