qmk_firmware/internals/leader.md

5.9 KiB

group leader

Summary

Members Descriptions
public void leader_start_user(void) User callback, invoked when the leader sequence begins.
public void leader_end_user(void) User callback, invoked when the leader sequence ends.
public void leader_start(void) Begin the leader sequence, resetting the buffer and timer.
public void leader_end(void) End the leader sequence.
public void leader_task(void)
public bool leader_sequence_active(void) Whether the leader sequence is active.
public bool leader_sequence_add(uint16_t keycode) Add the given keycode to the sequence buffer.
public bool leader_sequence_timed_out(void) Whether the leader sequence has reached the timeout.
public void leader_reset_timer(void) Reset the leader sequence timer.
public bool leader_sequence_one_key(uint16_t kc) Check the sequence buffer for the given keycode.
public bool leader_sequence_two_keys(uint16_t kc1,uint16_t kc2) Check the sequence buffer for the given keycodes.
public bool leader_sequence_three_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3) Check the sequence buffer for the given keycodes.
public bool leader_sequence_four_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3,uint16_t kc4) Check the sequence buffer for the given keycodes.
public bool leader_sequence_five_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3,uint16_t kc4,uint16_t kc5) Check the sequence buffer for the given keycodes.

Members

public void leader_start_user(void)

User callback, invoked when the leader sequence begins.

public void leader_end_user(void)

User callback, invoked when the leader sequence ends.

public void leader_start(void)

Begin the leader sequence, resetting the buffer and timer.

public void leader_end(void)

End the leader sequence.

public void leader_task(void)

public bool leader_sequence_active(void)

Whether the leader sequence is active.

public bool leader_sequence_add(uint16_t keycode)

Add the given keycode to the sequence buffer.

If LEADER_NO_TIMEOUT is defined, the timer is reset if the buffer is empty.

Parameters

  • keycode The keycode to add.

Returns

true if the keycode was added, false if the buffer is full.

public bool leader_sequence_timed_out(void)

Whether the leader sequence has reached the timeout.

If LEADER_NO_TIMEOUT is defined, the buffer must also contain at least one key.

public void leader_reset_timer(void)

Reset the leader sequence timer.

public bool leader_sequence_one_key(uint16_t kc)

Check the sequence buffer for the given keycode.

Parameters

  • kc The keycode to check.

Returns

true if the sequence buffer matches.

public bool leader_sequence_two_keys(uint16_t kc1,uint16_t kc2)

Check the sequence buffer for the given keycodes.

Parameters

  • kc1 The first keycode to check.

  • kc2 The second keycode to check.

Returns

true if the sequence buffer matches.

public bool leader_sequence_three_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3)

Check the sequence buffer for the given keycodes.

Parameters

  • kc1 The first keycode to check.

  • kc2 The second keycode to check.

  • kc3 The third keycode to check.

Returns

true if the sequence buffer matches.

public bool leader_sequence_four_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3,uint16_t kc4)

Check the sequence buffer for the given keycodes.

Parameters

  • kc1 The first keycode to check.

  • kc2 The second keycode to check.

  • kc3 The third keycode to check.

  • kc4 The fourth keycode to check.

Returns

true if the sequence buffer matches.

public bool leader_sequence_five_keys(uint16_t kc1,uint16_t kc2,uint16_t kc3,uint16_t kc4,uint16_t kc5)

Check the sequence buffer for the given keycodes.

Parameters

  • kc1 The first keycode to check.

  • kc2 The second keycode to check.

  • kc3 The third keycode to check.

  • kc4 The fourth keycode to check.

  • kc5 The fifth keycode to check.

Returns

true if the sequence buffer matches.