kmk_firmware/docs/leader.md
Kyle Brown 4c12e3a08d Basic Docs
Updated

Final cleanup
2018-10-11 21:42:30 -07:00

1.5 KiB

Leader Key

The leader key acts as a prefix to a key sequence. These can be used to trigger macros quickly without dedicated keys set to each function. For those of you who dislike key combos, such as Ctrl+Shift+Esc, then this feature is for you. This is very much inspired from vim.

Leader key sequences can be as long or short as you like. The action must be a macro, so it can be things like unicode macros, or generic macros. The example below shows how you would trigger task manager in Windows with a leader sequence. By default Leader Mode is ENTER, which means that after your sequence you will hit ENTER to trigger the sequence completion, or ESC to cancel the sequence.

  1. Assign a key to KC.LEAD
  2. Above your keymap, include a LEADER_DICTIONARY.
from kmk.macros.simple import simple_key_sequence

LEADER_DICTIONARY = {
	(KC.T, KC.A, KC.S, KC.K): simple_key_sequence(Modifiers.KC_LCTRL(Modifiers.KC_LSHIFT(Common.KC_ESC)))
}

keymap = [...KC.LEAD,...]

Modes

Modes avaliable (WARNING: LeaderMode.ENTER is currently the only one avaliable.)

  1. LeaderMode.DEFAULT
  2. LeaderMode.ENTER

DEFAULT #WARNING# NOT AVALIBLE YET

Will expire after a timer and trigger the sequence that matches if any. This can be enabled with

from kmk.consts.LederMode
leader_mode = LeaderMode.DEFAULT

The timeout can be set like this

leader_timeout = 2000

ENTER

Has no timeout. To end sequence press the enter key, or cancel and do nothing, press escape. This can be enabled with

from kmk.consts.LederMode
leader_mode = LeaderMode.ENTER