2 #include "action_layer.h"
8 extern keymap_config_t keymap_config
;
15 #define CMDLEFT LGUI(KC_LEFT)
16 #define CMDRGHT LGUI(KC_RGHT)
17 #define ENDASH LALT(KC_MINS)
18 #define POUND LALT(KC_3)
21 enum planck_keycodes
{
27 // Fillers to make layering more clear
28 #define _______ KC_TRNS
31 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
34 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
36 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
38 * |------+------+------+------+------+------+------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
40 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
42 * `-----------------------------------------------------------------------------------'
45 {KC_TAB
, KC_Q
, KC_W
, KC_F
, KC_P
, KC_G
, KC_J
, KC_L
, KC_U
, KC_Y
, KC_SCLN
, KC_MINS
},
46 {KC_BSPC
, KC_A
, KC_R
, KC_S
, KC_T
, KC_D
, KC_H
, KC_N
, KC_E
, KC_I
, KC_O
, KC_QUOT
},
47 {KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_K
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
},
48 {FUNC
, KC_LCTL
, KC_LALT
, KC_LGUI
, SYMB
, KC_ENT
, KC_SPC
, MOVE
, KC_RGUI
, KC_RALT
, KC_RCTL
, FUNC
}
52 * ,-----------------------------------------------------------------------------------.
53 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
54 * |------+------+------+------+------+------+------+------+------+------+------+------|
55 * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
56 * |------+------+------+------+------+------+------+------+------+------+------+------|
57 * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
58 * |------+------+------+------+------+------+------+------+------+------+------+------|
59 * | | | | | | | | | | | | |
60 * `-----------------------------------------------------------------------------------'
63 {KC_ESC
, XXXXXXX
, CMDLEFT
, KC_UP
, CMDRGHT
, XXXXXXX
, XXXXXXX
, CMDLEFT
, KC_UP
, CMDRGHT
, XXXXXXX
, KC_ESC
},
64 {KC_DEL
, KC_CAPS
, KC_LEFT
, KC_DOWN
, KC_RGHT
, XXXXXXX
, XXXXXXX
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_CAPS
, KC_DEL
},
65 {_______
, XXXXXXX
, XXXXXXX
, KC_PGUP
, KC_PGDN
, XXXXXXX
, XXXXXXX
, KC_PGDN
, KC_PGUP
, XXXXXXX
, XXXXXXX
, _______
},
66 {_______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
}
70 * ,-----------------------------------------------------------------------------------.
71 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
72 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
74 * |------+------+------+------+------+------+------+------+------+------+------+------|
75 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
76 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | | | | | | | | | | | | |
78 * `-----------------------------------------------------------------------------------'
81 {KC_ESC
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, ENDASH
},
82 {KC_DEL
, KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, KC_CIRC
, KC_AMPR
, KC_ASTR
, KC_LPRN
, KC_RPRN
, POUND
},
83 {_______
, KC_TILD
, KC_GRV
, KC_PLUS
, KC_EQL
, KC_PIPE
, KC_BSLS
, KC_LBRC
, KC_RBRC
, KC_LCBR
, KC_RCBR
, _______
},
84 {_______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
}
88 * ,-----------------------------------------------------------------------------------.
89 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
90 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
92 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | | | | | | | | SW-D | SW-U | | | |
94 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | | | | | | | | | | | | |
96 * `-----------------------------------------------------------------------------------'
99 {XXXXXXX
, XXXXXXX
, KC_ACL2
, KC_ACL1
, KC_ACL0
, XXXXXXX
, XXXXXXX
, KC_WH_L
, KC_MS_U
, KC_WH_R
, XXXXXXX
, XXXXXXX
},
100 {XXXXXXX
, XXXXXXX
, KC_BTN3
, KC_BTN2
, KC_BTN1
, XXXXXXX
, XXXXXXX
, KC_MS_L
, KC_MS_D
, KC_MS_R
, XXXXXXX
, XXXXXXX
},
101 {_______
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, KC_WH_D
, KC_WH_U
, XXXXXXX
, XXXXXXX
, _______
},
102 {_______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
}
106 * ,-----------------------------------------------------------------------------------.
107 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
108 * |------+------+------+------+------+------+------+------+------+------+------+------|
109 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
110 * |------+------+------+------+------+------+------+------+------+------+------+------|
111 * | | F21 | F22 | F23 | F24 | | | Power| | | | |
112 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | | | | | Prev | Mute | Play | Next | | | | |
114 * `-----------------------------------------------------------------------------------'
117 {RESET
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_VOLU
},
118 {XXXXXXX
, KC_F11
, KC_F12
, KC_F13
, KC_F14
, KC_F15
, KC_F16
, KC_F17
, KC_F18
, KC_F19
, KC_F20
, KC_VOLD
},
119 {_______
, KC_F21
, KC_F22
, KC_F23
, KC_F24
, XXXXXXX
, XXXXXXX
, KC_POWER
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
},
120 {_______
, _______
, _______
, _______
, KC_MPRV
, KC_MUTE
, KC_MPLY
, KC_MNXT
, _______
, _______
, _______
, _______
}
125 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
128 if (record
->event
.pressed
) {
130 update_tri_layer(_MOVE
, _SYMB
, _MOUSE
);
133 update_tri_layer(_MOVE
, _SYMB
, _MOUSE
);
138 if (record
->event
.pressed
) {
140 update_tri_layer(_MOVE
, _SYMB
, _MOUSE
);
143 update_tri_layer(_MOVE
, _SYMB
, _MOUSE
);
148 if (record
->event
.pressed
) {