@ -1,7 +1,7 @@
/ / this is the style you want to emulate .
/ / This is the canonical layout file for the Quantum project . If you want to add another keyboard ,
# include "chimera_ls.h"
# include QMK_KEYBOARD_H
/ / Each layer gets a name for readability , which is then used in the keymap matrix below .
/ / The underscores don ' t mean anything - you can have a layer called STUFF or any other name .
@ -24,168 +24,163 @@ enum chimera_lets_split_layers
# define KC_SCTR MT(MOD_LCTL, KC_RBRC)
# define KC_SPLT MT(MOD_LALT, KC_MINS)
# define KC_MESC LT(_MACROS, KC_ESC)
# define KC_INCL M(0)
# define KC_PULL M(1)
# define KC_PUSH M(2)
# define KC_SCAP M(3)
# define KC_SCOF M(4)
# define KC_CAD LALT(LCTL(KC_DEL))
enum custom_keycodes {
KC_INCL = SAFE_RANGE ,
KC_PULL ,
KC_PUSH ,
KC_SCAP ,
KC_SCOF
} ;
# define LONGPRESS_DELAY 150
/ / # define LAYER_TOGGLE_DELAY 300
/ / Fillers to make layering more clear
# define _______ KC_TRNS
# define XXXXXXX KC_NO
# define KC_ KC_TRNS
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
[ _QWERTY ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
MESC , Q , W , E , R , T , Y , U , I , O , P , BSPC ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
TAB , A , S , D , F , G , H , J , K , L , SCLN , ENT ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
LSPO , Z , X , C , V , B , N , M , COMM , DOT , SLSH , RSPC ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
SCTL , SPFN , SPLT , AMPR , NMPD , SPC , SPC , SYMB , ASTR , EXLM , LBRC , SCTR
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _QWERTY ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
KC_MESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_ TAB, KC_ A, KC_ S, KC_ D, KC_ F, KC_ G, KC_ H, KC_ J, KC_K , KC_ L, KC_ SCLN, KC_ ENT,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_ LSPO, KC_ Z, KC_ X, KC_ C, KC_ V, KC_ B, KC_ N, KC_ M, KC_ COMM, KC_ DOT, KC_ SLSH, KC_ RSPC,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_ SCTL, KC_ SPFN, KC_ SPLT, KC_ AMPR, KC_ NMPD, KC_ SPC, KC_ SPC, KC_ SYMB, KC_ ASTR, KC_ EXLM, KC_ LBRC, KC_ SCTR
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
[ _CAPS ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
, , , , , , , , , , , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , , , , , , COLN , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , , , , , , , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , UNDS , , , , , , , , ,
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _CAPS ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_COLN , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , KC_UNDS , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
[ _NUMPAD ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
, , , , , , , 7 , 8 , 9 , MINS , QUOT ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , , , 4 , 5 , 6 , PLUS , ENT ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
LSFT , , , , , , , 1 , 2 , 3 , ASTR , EQL ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , BSPC , SPC , 0 , 0 , DOT , SLSH ,
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _NUMPAD ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_7 , KC_8 , KC_9 , KC_MINS , KC_ QUOT,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_4 , KC_5 , KC_6 , KC_ PLUS, KC_ ENT,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_LSFT , _______ , _______ , _______ , _______ , _______ , _______ , KC_1 , KC_2 , KC_3 , KC_ ASTR, KC_ EQL,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , KC_BSPC , KC_SPC , KC_0 , KC_0 , KC_DOT , KC_SLSH , _______
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
[ _SYMBOLS ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
, EXLM , AT , HASH , DLR , PERC , CIRC , AMPR , ASTR , LPRN , RPRN , QUOT ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
F1 , F2 , F3 , F4 , F5 , F6 , TILD , EQL , UNDS , LCBR , RCBR , PIPE ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
F7 , F8 , F9 , F10 , F11 , F12 , GRV , PLUS , MINS , LBRC , RBRC , BSLS ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , NO , BSPC , SPC , , , , ,
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _SYMBOLS ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
_______ , KC_ EXLM, KC_ AT, KC_ HASH, KC_ DLR, KC_ PERC, KC_ CIRC, KC_ AMPR, KC_ ASTR, KC_ LPRN, KC_ RPRN, KC_ QUOT,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_ F1, KC_ F2, KC_ F3, KC_ F4, KC_ F5, KC_ F6, KC_ TILD, KC_ EQL, KC_ UNDS, KC_ LCBR, KC_ RCBR, KC_ PIPE,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_ F7, KC_ F8, KC_ F9, KC_ F10, KC_ F11, KC_ F12, KC_ GRV, KC_ PLUS, KC_ MINS, KC_ LBRC, KC_ RBRC, KC_ BSLS,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , XXXXXXX , KC_BSPC , KC_SPC , _______ , _______ , _______ , _______ , _______
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
[ _NAV ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
, , , , DEL , BSPC , , HOME , UP , END , INS , PSCR ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , LSFT , LCTL , ENT , , LEFT , DOWN , RGHT , DEL , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , , , PGUP , PGDN , , , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , DEL , , , , , ,
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _NAV ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
_______ , _______ , _______ , _______ , KC_DEL , KC_BSPC , _______ , KC_ HOME, KC_ UP, KC_ END, KC_ INS, KC_ PSCR,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , KC_LSFT , KC_LCTL , KC_ENT , _______ , KC_LEFT , KC_DOWN , KC_ RGHT, KC_ DEL, _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_PGUP , KC_PGDN , _______ , _______ , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , KC_DEL , _______ , _______ , _______ , _______ , _______ , _______
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
[ _MACROS ] = KC_KEYMAP (
/ / , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - . , - - - - + - - - - + - - - - + - - - - + - - - - + - - - - .
, , , , , , , , INCL , , , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , CAD , , , , , , , , ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
SCAP , , , , , , , , PULL , PUSH , , SCAP ,
/ / | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - | | - - - - + - - - - + - - - - + - - - - + - - - - + - - - - |
, , , , , , , , , , ,
/ / ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - ' ` - - - - + - - - - + - - - - + - - - - + - - - - + - - - - '
[ _MACROS ] = LAYOUT_ortho_4x12 (
/ / , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - . , - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - .
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_INCL , _______ , _______ , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , KC_CAD , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
KC_SCAP , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_PULL , KC_PUSH , _______ , KC_ SCAP,
/ / | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - | | - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - |
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
/ / ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - ' ` - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - '
) ,
} ;
const uint16_t PROGMEM fn_actions [ ] = {
} ;
const macro_t * action_get_macro ( keyrecord_t * record , uint8_t id , uint8_t opt )
{
switch ( id ) {
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
/* include some kind of library or header */
case 0 :
case KC_INCL :
if ( record - > event . pressed ) {
SEND_STRING ( " #include <> " ) ;
return MACRO ( T ( LEFT ) , END ) ;
SEND_STRING ( " #include <> " SS_TAP ( X_LEFT ) ) ;
return false ;
}
break ;
case 1 :
case KC_PULL :
if ( record - > event . pressed ) {
SEND_STRING ( " git pull " ) ;
return MACRO ( T ( ENT ) , END ) ;
SEND_STRING ( " git pull " SS_TAP ( X_ENTER ) ) ;
return false ;
}
break ;
case 2 :
case KC_PUSH :
if ( record - > event . pressed ) {
SEND_STRING ( " git push " ) ;
return MACRO ( T ( ENT ) , END ) ;
SEND_STRING ( " git push " SS_TAP ( X_ENTER ) ) ;
return false ;
}
break ;
case 3 :
case KC_SCAP :
if ( record - > event . pressed ) {
layer_on ( _CAPS ) ;
register_code ( KC_CAPSLOCK ) ;
unregister_code ( KC_CAPSLOCK ) ;
return false ;
}
break ;
case 4 :
case KC_SCOF :
if ( record - > event . pressed ) {
layer_off ( _CAPS ) ;
register_code ( KC_CAPSLOCK ) ;
unregister_code ( KC_CAPSLOCK ) ;
return false ;
}
break ;
}
return MACRO_NONE ;
return true ;
} ;
void matrix_scan_user ( void ) {
uint8_t layer = biton32 ( layer_state ) ;
switch ( layer ) {
case _QWERTY :
set_led_green ;
break ;
case _CAPS :
set_led_white ;
break ;
case _NUMPAD :
set_led_blue ;
break ;
case _SYMBOLS :
set_led_red ;
break ;
case _NAV :
set_led_magenta ;
break ;
case _MACROS :
set_led_cyan ;
break ;
default :
set_led_green ;
break ;
}
uint8_t layer = biton32 ( layer_state ) ;
switch ( layer ) {
case _QWERTY :
set_led_green ;
break ;
case _CAPS :
set_led_white ;
break ;
case _NUMPAD :
set_led_blue ;
break ;
case _SYMBOLS :
set_led_red ;
break ;
case _NAV :
set_led_magenta ;
break ;
case _MACROS :
set_led_cyan ;
break ;
default :
set_led_green ;
break ;
}
} ;