ErgoDox

キーコードまとめ

Keycode Symbol Table

https://github.com/jackhumbert/qmk_firmware/blob/master/doc/keycode.txt

KC_* 形式のキーコードとそのショートネームがリストアップされています。
KC_2 ... Keyboard 2 and @ とあるので、英語配列が前提になっていると考えられます。

Quantum Keycodes

https://github.com/jackhumbert/qmk_firmware/blob/master/quantum/keymap.h

QMK 特有のキーコード、エイリアスがリストアップされています。
HYPR(kc)TG(layer)CTL_T(kc)など、キーマップカスタマイズの際に記述する Modifier や Layer に関する定義がまとまっており、全体感を把握するのに役立ちます。

Layer

https://github.com/jackhumbert/qmk_firmware#switching-and-toggling-layers

KeycodeMeanDesc
TO(layer, when)GOTO layerレイヤー移動(when1(ON_PRESS)推奨)
MO(layer)Momentary押している間だけ指定したレイヤー
OSL(layer)One-shot layer次の1キーだけ指定したレイヤー
LT(layer, kc)Layer / Tap押している間だけ指定したレイヤー、タップでkc
TG(layer)Toggle layerタップして指定したレイヤー、再タップで戻る(※)
DF(layer)Default layerデフォルトレイヤーの変更(電源OFFまで継続)

Modifier Keys

https://github.com/jackhumbert/qmk_firmware#fun-with-modifier-keys

KeycodeDesc
LSFT(kc)左 Shift + kc
S(kc)左 Shift + kc
RSFT(kc)右 Shift + kc
LCTL(kc)左 Ctrl + kc
RCTL(kc)右 Ctrl + kc
LALT(kc)左 Alt + kc
RALT(kc)右 Alt + kc
LGUI(kc)左 GUI (Cmd/Win) + kc
RGUI(kc)右 GUI (Cmd/Win) + kc
HYPR(kc)Ctrl + Shift + Alt + Gui + kc
MEH(kc)Ctrl + Shift + Alt + kc
LCAG(kc)Ctrl + Alt + Gui + kc

Samples for Modifier Keys

LALT(LCTL(KC_DEL))
this makes a key that sends Alt, Control, and Delete in a single keypress.

Shift キーを必要とするキーのショートネーム

KeycodeKey
KC_TILD~
KC_EXLM!
KC_AT@
KC_HASH#
KC_DLR$
KC_PERC%
KC_CIRC^
KC_AMPR&
KC_ASTR*
KC_LPRN(
KC_RPRN)
KC_UNDS_
KC_PLUS+
KC_DQUO"
KC_LCBR{
KC_RCBR}
KC_LABK<
KC_RABK>
KC_PIPE|
KC_COLN:

Modifier-Tap shortcuts

長押しで Modifier キー、タップで通常キーを実現する MT(mod, kc) の簡易記述です。

KeycodeDesc
CTL_T(kc)長押しで Ctrl 、タップで kc
SFT_T(kc)長押しで Shift 、タップで kc
ALT_T(kc)長押しで Alt 、タップで kc
GUI_T(kc)長押しで Gui 、タップで kc
ALL_T(kc)長押しで Ctrl + Shift + Alt + Gui 、タップで kc
MEH_T(kc)長押しで Ctrl + Shift + Alt 、タップで kc
LCAG_T(kc)長押しで Ctrl + Alt + Gui 、タップで kc

Samples for Modifier-Tap

CTL_T(KC_Z)
長押しで Ctrl 、タップで Z
ALL_T(KC_NO)
長押しで Hyper 、タップで 何もしない
ALT_T(KC_APP)
長押しで Alt 、タップで APP

Leader key

https://github.com/jackhumbert/qmk_firmware#the-leader-key-a-new-kind-of-modifier

キーの同時押しではなく、押した順番で事前定義したキーを送信する新概念。 KC_LEADに設定したキーをタップしてから、登録したキーコンビネーションを素早く打つことで発火させる。(未検証)