Created
July 10, 2019 20:45
-
-
Save PierreKircher/80189f718d432a3d9065a549e3d857bf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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