1 #include QMK_KEYBOARD_H
24 #define SPC_LW LT(_LOWER, KC_SPC)
25 #define MSE MO(_MOUSE)
26 #define PIPE M(R_PIPE)
27 #define POINT M(R_POINT)
29 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
30 [_COLEMAK
] = LAYOUT_tkl(\
31 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
,KC_SLCK
,KC_PAUS
, \
32 KC_GRV
, 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_BSPC
, KC_INS
, KC_HOME
,KC_PGUP
, \
33 KC_TAB
, KC_Q
, KC_W
, KC_F
, KC_P
, KC_G
, KC_J
, KC_L
, KC_U
, KC_Y
, KC_SCLN
, KC_LBRC
, KC_RBRC
,KC_BSLS
, KC_DEL
, KC_END
, KC_PGDN
, \
34 KC_BSPC
, KC_A
, KC_R
, KC_S
, KC_T
, KC_D
, KC_H
, KC_N
, KC_E
, KC_I
, KC_O
, KC_QUOT
, KC_ENT
, \
35 KC_LSPO
,KC_NUBS
,KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_K
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSPC
, KC_UP
, \
36 KC_LCTL
,KC_LGUI
, KC_LALT
, SPC_LW
, MSE
, KC_RGUI
, KC_APP
, KC_RCTL
, KC_LEFT
,KC_DOWN
,KC_RGHT
39 [_QWERTY
] = LAYOUT_tkl(\
40 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, \
41 KC_GRV
, 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_BSPC
, KC_INS
, KC_HOME
, KC_PGUP
, \
42 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_BSLS
, KC_DEL
, KC_END
, KC_PGDN
, \
43 KC_CAPS
,KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
,KC_QUOT
, KC_ENT
, \
44 KC_LSFT
,KC_NUBS
,KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
,KC_DOT
, KC_SLSH
, KC_RSFT
, KC_UP
, \
45 KC_LCTL
,KC_LGUI
,KC_LALT
, SPC_LW
, MSE
, KC_RGUI
, KC_APP
, KC_RCTL
, KC_LEFT
, KC_DOWN
, KC_RGHT
48 [_DVORAK
] = LAYOUT_tkl(\
49 KC_ESC
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, KC_PSCR
, KC_SLCK
, KC_PAUS
, \
50 KC_GRV
, 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_BSPC
, KC_INS
, KC_HOME
, KC_PGUP
, \
51 KC_TAB
, KC_QUOT
,KC_COMM
,KC_DOT
, KC_P
, KC_Y
, KC_F
, KC_G
, KC_C
, KC_R
, KC_L
, KC_LBRC
, KC_RBRC
, KC_BSLS
, KC_DEL
, KC_END
, KC_PGDN
, \
52 KC_BSPC
,KC_A
, KC_O
, KC_E
, KC_U
, KC_I
, KC_D
, KC_H
, KC_T
, KC_N
, KC_S
, KC_QUOT
, KC_ENT
, \
53 KC_LSFT
,KC_NUBS
,KC_SCLN
,KC_Q
, KC_J
, KC_K
, KC_X
, KC_B
, KC_M
, KC_W
, KC_V
, KC_Z
, KC_RSFT
, KC_UP
, \
54 KC_LCTL
,KC_LGUI
,KC_LALT
, SPC_LW
, MSE
, KC_RGUI
, KC_APP
, KC_RCTL
, KC_LEFT
, KC_DOWN
, KC_RGHT
57 [_LOWER
] = LAYOUT_tkl(\
58 RESET
, _______
, _______
, _______
, _______
, KC_MPLY
, KC_MSTP
, KC_MPRV
, KC_MNXT
, _______
, KC_MUTE
, KC_VOLD
, KC_VOLU
, QWERTY
, COLEMAK
,DVORAK
, \
59 KC_TILD
, KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, KC_CIRC
, KC_AMPR
, KC_ASTR
, KC_LBRC
, KC_RBRC
, KC_UNDS
, KC_PLUS
, KC_BSPC
, _______
,_______
,_______
, \
60 KC_TAB
, KC_PGUP
, KC_HOME
, KC_UP
, KC_END
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, KC_LCBR
, KC_RCBR
, KC_PIPE
, _______
,_______
,_______
, \
61 KC_CAPS
, KC_PGDN
, KC_LEFT
, KC_DOWN
, KC_RGHT
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
, _______
, \
62 _______
,XXXXXXX
,POINT
,PIPE
, KC_LCBR
, KC_LBRC
, KC_GRV
, KC_PIPE
, KC_RBRC
, KC_RCBR
, _______
, _______
, _______
, _______
, \
63 _______
, _______
, _______
, _______
, KC_RALT
, _______
, _______
, _______
, _______
,_______
,_______ \
66 [_MOUSE
] = LAYOUT_tkl(\
67 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,_______
,_______
, \
68 KC_GRV
, 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_DEL
, _______
,_______
,_______
, \
69 KC_TAB
, KC_WH_U
, KC_WH_L
, KC_MS_U
, KC_WH_R
, XXXXXXX
, XXXXXXX
, KC_BTN3
, KC_BTN4
, KC_BTN5
, XXXXXXX
, KC_LBRC
, KC_RBRC
, KC_BSLS
, _______
,_______
,_______
, \
70 KC_BSPC
, KC_WH_D
, KC_MS_L
, KC_MS_D
, KC_MS_R
, XXXXXXX
, XXXXXXX
, KC_BTN1
, KC_BTN2
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
, \
71 _______
,XXXXXXX
,PIPE
,POINT
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
, _______
, _______
, _______
, _______
, \
72 _______
, _______
, _______
, KC_ACL2
, MSE
, _______
, _______
, _______
, _______
,_______
,_______ \
76 // Macros to send R pointer & dplyr pipe
77 const macro_t
*action_get_macro(keyrecord_t
*record
, uint8_t id
, uint8_t opt
) {
80 if (record
->event
.pressed
) { // pointer
82 // return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
86 if (record
->event
.pressed
) { // dplyr pipe
88 // return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
95 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
98 if (record
->event
.pressed
) {
99 set_single_persistent_default_layer(_QWERTY
);
104 if (record
->event
.pressed
) {
105 set_single_persistent_default_layer(_COLEMAK
);
110 if (record
->event
.pressed
) {
111 set_single_persistent_default_layer(_DVORAK
);