Skip to content

Instantly share code, notes, and snippets.

@PierreKircher
Created July 10, 2019 20:45
Show Gist options
  • Save PierreKircher/80189f718d432a3d9065a549e3d857bf to your computer and use it in GitHub Desktop.
Save PierreKircher/80189f718d432a3d9065a549e3d857bf to your computer and use it in GitHub Desktop.
#include QMK_KEYBOARD_H
#include "keymap_steno.h"
#define _QWERTY 0
#define _COLEMAK 1
#define _MEDIA 2
#define _NAVIGATION 3
#define _FUNCTION_1 4
#define _FUNCTION_2 5
#define _MOUSE 6
#define _PLOVER 7
#define _FUNC_L 8
#define _MACROS 9
#define _DEBUG 10
#define _MIDI 11
#define CTRLESC MT(MOD_LCTL, KC_ESC)
#define ENT_SHI RSFT_T(KC_ENT)
#define DFBAS DF(_BASE)
#define DFCOL DF(_COLEMAK)
#define DFQOC DF(_Q_ON_COLEMAK)
#define DFPLOV DF(_PLOVER)
#define DFMIDI DF(_MIDI)
#define OSL_FUN OSL(_FUNC_L)
#define ST_BOLT QK_STENO_BOLT
#define ST_GEM QK_STENO_GEMINI
enum unicode_names {
M_GA_ALPHA,
M_GA_BETA,
M_GA_DELTA,
M_GA_EPSILON,
M_GA_THETA,
M_GA_LAMDA,
M_GA_MU,
M_GA_PI,
M_GA_PHI,
M_GA_PSI,
M_GA_OMEGA
};
const uint32_t PROGMEM unicode_map[] = {
// greek alphabet
[M_GA_ALPHA] = 945, /* α u+3b1 */
[M_GA_BETA] = 946, /* β u+3b2 */
[M_GA_DELTA] = 948, /* δ u+3b4 */
[M_GA_EPSILON] = 949, /* ε u+3b5 */
[M_GA_THETA] = 952, /* θ u+3b8 */
[M_GA_LAMDA] = 955, /* λ u+3bb */
[M_GA_MU] = 956, /* μ u+3bc */
[M_GA_PI] = 960, /* π u+3c0 */
[M_GA_PHI] = 966, /* φ u+3c6 */
[M_GA_PSI] = 968, /* ψ u+3c8 */
[M_GA_OMEGA] = 937 /* Ω u+3a9 */
// SUPERSCRIPT
};
enum ic60_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
Q_ON_COLEMAK,
PLOVER,
FUNC_L,
MACROS,
L_DEBUG,
DYNAMIC_MACRO_RANGE,
};
#include "dynamic_macro.h"
uint8_t current_layer_global = _QWERTY;
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 0: ---- _BaseLayer ------------------------------
* LQ = LAYER Querty =LFUNC+Q LP LAYER PLOVER = LFUNC+P LFUNC* LAYER OTHER LAYERS
* LC = LAYER Colemak =LFUNC+C LF1 LAYER F1-F12 = LFUNC+1 LDB LAYER KB DEBUG = LFUNC+D
* LMO =* LAYER MOUSE LF2 LAYER F13-F14 LFUNC+2 LME* LAYER MEDIA
* LNAV=* LAYER NAVIGATION LMACR* LAYER MACROS LMI LAYER MIDI = LFUNC+M
* ,-----------------------------------------------------------------------------------------------------------------------.
* | | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | = | | | |
* | LMO | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | \ | LME |
* | (LAY6)|LAY4 f1|LAY5F13| | | | | | | | | | | | (LAY2)|
* |-----------------------------------------------------------------------------------------------------------------------|
* | | (LAY0)| | | | | | | | | (lay7)| { | } | |
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
* | |F BASE | | | | | | | | | PLOVER| | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | tab:ESC | (LAY9)| |(LAY10)| | | | | | | : | " | tap:ENTER |
* | Contro | A | S | D | F | G | H | J | K | L | ; | ' | shift |
* | | MACROS| |F DEBUG| !_! | | | !_! | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | (LAY1)| | | |(LAY11)| < | > | ? | | ` |
* | Shift | Z | X | C | V | B | N | M | , | . | / | LEADER | ~ |
* | | | |F COLMA| | | |F MIDI | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | |
* | MEH | META | ALT | Space | LFNC | HYPER | LNAV | LMACR |
* | | | | | (LAY8) | | (LAY3) | |
* `-----------------------------------------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_60_ansi_split_bs_rshift(
_______ , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_NUBS , KC_NO , \
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC , KC_BSPC , \
CTRLESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , ENT_SHI , \
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLASH , KC_LEAD , KC_GRV , \
KC_MEH , KC_LGUI , KC_LALT , KC_SPACE , OSL_FUN , KC_HYPR , _______ , _______),
/* Layer 1: ---- colemak ---------z.zzzZzz-------------
* ,-----------------------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* | | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | |
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | ; | | | |
* | ________ | _____ | _____ | F | P | G | J | L | U | Y | : | _____ | _____ | _________ |
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | |
* | _________ | _____ | R | S | T | D | _____ | N | E | I | O | _____ | ___________ |
* | | | | | !_! | | | !_! | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | < | > | ? | | |
* | ____________ | _____ | _____ | _____ | _____ | _____ | K | _____ | , | . | / | LEADER | _____ |
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------'
* | | | | | | | | |
* | _______ | ______ | ______ | __________ | _______ | _______ | _______ | _______ |
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_60_ansi_split_bs_rshift(
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , \
_______ , _______ , _______ , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , _______ , _______ , _______ , _______ , \
_______ , _______ , KC_R , KC_S , KC_T , KC_D , KC_TRNS , KC_N , KC_E , KC_I , KC_O , _______ , _______ , \
_______ , _______ , _______ , _______ , _______ , _______ , KC_K , _______ , _______ , _______ , _______ , _______ , _______ , \
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______) ,
/* Layer 2: ---- Media ------------------------------ */
[_MEDIA] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 3: ---- NAVIGATION ------------------------------ */
[_NAVIGATION] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 4: ---- Function F1-F12 ------------------------------ */
[_FUNCTION_1] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 5: ---- FUNCTION F13-F24 ------------------------------ */
[_FUNCTION_2] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 6: ---- MOUSE ------------------------------ */
[_MOUSE] = LAYOUT_60_ansi_split_bs_rshift(
_______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 7: ------ Plover -----------------------------------
* ,-----------------------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* | # | # | # | # | # | # | # | # | # | # | # | # | # | | |
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | | |
* | FN | S | T | P | H | * | * | F | P | L | T | D | | |
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | |
* | | S | K | W | R | * | * | R | B | G | S | Z | |
* | | | | | !_! | | | !_! | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | |
* | | | | A | O | | | E | U | PWR | RE1 | RE2 | |
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------'
* | | | | | | | | |
* | EXIT | | | | | | | |
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------------------'
*/
[_PLOVER] = LAYOUT_60_ansi_split_bs_rshift(
STN_N1 , STN_N2 , STN_N3 , STN_N4 , STN_N5 , STN_N6 , STN_N7 , STN_N8 , STN_N9 , STN_NA , STN_NB , STN_NC , XXXXXXX , XXXXXXX , XXXXXXX , \
STN_FN , STN_S1 , STN_TL , STN_PL , STN_HL , STN_ST1 , STN_ST3 , STN_FR , STN_PR , STN_LR , STN_TR , STN_DR , XXXXXXX , XXXXXXX , \
XXXXXXX , STN_S2 , STN_KL , STN_WL , STN_RL , STN_ST2 , STN_ST4 , STN_RR , STN_BR , STN_GR , STN_SR , STN_ZR , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , STN_A , STN_O , XXXXXXX , XXXXXXX , STN_E , STN_U , STN_PWR , STN_RE1 , STN_RE2 , XXXXXXX , \
DFBAS , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 8: ---- ONE SHOT LAYERNAVIGATION LAYER ------------------------------ */
[_FUNC_L] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 9: Macros */
[_MACROS] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 10: ---- Keyboard Debug Layer ------------------------------ */
[_DEBUG] = LAYOUT_60_ansi_split_bs_rshift(
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
/* Layer 11: ------ midi ------------------------------------
* ,-----------------------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* | EXIT | VELO1 | VELO2 | VELO3 | VELO4 | VELO5 | VELO6 | VELO7 | VELO9 | VEL10 | | | | | |
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | | |
* | CH+ | | C# | D# | | F# | G# | A# | | C# | D# | | | |
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | |
* | MOD | C | D | E | F | G | A | B | C | D | E | F | |
* | | | | | !_! | | | !_! | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------|
* | | | | | | | | | | | | | |
* | SUBSTAIN | OCT- | OCT+ | MOD- | MOD+ | | | | TNS- | TNS+ | TNS0 | SUBSTAIN | |
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------------------------------------'
* | | | | | | | | |
* | | | | ALL NOTES OFF | | | | |
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------------------'
*/
[_MIDI] = LAYOUT_60_ansi_split_bs_rshift(
DFBAS, MI_VEL_1 , MI_VEL_2 , MI_VEL_3 , MI_VEL_4 , MI_VEL_5 , MI_VEL_7 , MI_VEL_8 , MI_VEL_9 , MI_VEL_10 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
MI_CHU , XXXXXXX , MI_Cs , MI_Ds , XXXXXXX , MI_Fs , MI_Gs , MI_As , XXXXXXX , MI_Cs_1 , MI_Ds_1 , XXXXXXX , XXXXXXX , XXXXXXX , \
MI_MOD , MI_C , MI_D , MI_E , MI_F , MI_G , MI_A , MI_B , MI_C_1 , MI_D_1 , MI_E_1 , MI_F_1 , XXXXXXX , \
MI_SUS , MI_OCTD , MI_OCTU , MI_MODSD , MI_MODSU , XXXXXXX , XXXXXXX , XXXXXXX , MI_TRNSD , MI_TRNSU , MI_TRNS_0 , MI_SUS , XXXXXXX , \
XXXXXXX , XXXXXXX , XXXXXXX , MI_ALLOFF , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX) ,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!process_record_dynamic_macro(keycode, record)) {
return false;
}
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
print("mode switched to qwerty\n");
set_single_persistent_default_layer(_QWERTY);
}
case COLEMAK:
if(record->event.pressed) {
print("mode switched to colemak\n");
set_single_persistent_default_layer(_COLEMAK);
}
//case QMKBEST:
// if (record->event.pressed) {
// when keycode QMKBEST is pressed
// SEND_STRING("QMK is the best thing ever!");
// } else {
// when keycode QMKBEST is released
// }
// break;
}
return true;
}
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
};
// Runs constantly in the background, in a loop.
bool did_leader_succeed;
LEADER_EXTERNS();
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
did_leader_succeed = leading = false;
SEQ_ONE_KEY(KC_M) {
SEND_STRING("LEADER M");
};
SEQ_ONE_KEY(KC_B) {
SEND_STRING("LEADER B");
};
leader_end();
}
}
void leader_start(void) {
}
void leader_end(void) {
if (did_leader_succeed) {
} else {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment