4 #include QMK_KEYBOARD_H
7 // Each layer gets a name for readability, which is then used in the keymap matrix below.
8 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
9 // Layer names don't all need to be of the same length, obviously, and you can also skip them
10 // entirely and just use numbers.
16 #define LOW_SPC LT(_LOWER, KC_SPC)
17 #define RSE_SPC LT(_RAISE, KC_SPC)
18 #define ADJ_TAB LT(ADJUST, KC_TAB)
20 enum custom_keycodes
{
27 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
30 KC_ESC
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSPC
,\
31 ADJ_TAB
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, KC_ENT
, \
32 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, \
33 KC_LCTL
, KC_LGUI
,KC_LALT
, LOW_SPC
, RSE_SPC
, KC_RGUI
,KC_RALT
, KC_RCTL \
37 KC_TILD
, KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, KC_CIRC
, KC_AMPR
, KC_UP
, KC_MINS
, KC_EQL
, KC_DEL
, \
38 _______
, _______
, KC_ASTR
, KC_LBRC
, KC_RBRC
, KC_QUOT
, KC_DQUO
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_BSLS
, \
39 _______
, _______
, _______
, KC_LPRN
, KC_RPRN
, KC_HOME
, KC_PGUP
, KC_PGDN
, KC_END
, _______
, _______
, \
40 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______ \
44 KC_GRV
, KC_LPRN
, KC_RPRN
, KC_DQUO
, KC_QUOT
, KC_SCLN
, KC_COLON
,KC_UNDS
, KC_PLUS
, _______
, _______
, KC_BSPC
, \
45 _______
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, \
46 _______
, _______
, _______
, KC_LCBR
, KC_RCBR
, _______
, _______
, _______
, _______
, _______
, _______
, \
47 _______
, _______
, _______
, _______
, _______
, _______
, BL_INC
, BL_DEC \
51 _______
, RESET
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_DEL
, \
52 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, \
53 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, \
54 KC_SYSTEM_SLEEP
, _______
, _______
, _______
, _______
, _______
, _______
, _______ \
59 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
64 if (record
->event
.pressed
) {
66 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
69 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
74 if (record
->event
.pressed
) {
76 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
79 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
84 if (record
->event
.pressed
) {