1 //Author: tong92 <tong92power@gmail.com>
3 #include QMK_KEYBOARD_H
15 enum planck_keycodes
{
25 #define WINDOW_SHORTCUT MO(_WINDOW_SHORTCUT)
26 #define MAC_SHORTCUT MO(_MAC_SHORTCUT)
29 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
31 * ,-----------------------------------------------------------------------.
32 * |Tab | q | w | e | r | t | y | u | i | o | p | BS |
33 * |-----------------------------------------------------------------------|
34 * |Ctrl | a | s | d | f | g | h | j | k | l | ; |enter|
35 * |-----------------------------------------------------------------------|
36 * |Shift| z | x | c | v | b | n | m | , | . | / |Shift|
37 * |-----------------------------------------------------------------------|
38 * | Fn |Ctrl | Win | Alt |Lower| Space |Upper| ' | [ | ] | Alt |
39 * `-----------------------------------------------------------------------'
41 [_WINDOW
] = LAYOUT_planck_grid(
42 KC_TAB
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSPC
,
43 KC_LCTL
,KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
,KC_ENT
,
44 KC_LSFT
,KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
,KC_DOT
, KC_SLSH
,KC_RSFT
,
45 WINDOW_SHORTCUT
, KC_RCTL
,KC_LGUI
,KC_LALT
,LOWER
,KC_SPC
,KC_SPC
,RAISE
,KC_QUOT
,KC_LBRC
,KC_RBRC
,KC_RALT
48 * ,-----------------------------------------------------------------------.
49 * |Tab | q | w | e | r | t | y | u | i | o | p | BS |
50 * |-----------------------------------------------------------------------|
51 * |LComd| a | s | d | f | g | h | j | k | l | ; |enter|
52 * |-----------------------------------------------------------------------|
53 * |Shift| z | x | c | v | b | n | m | , | . | / |Shift|
54 * |-----------------------------------------------------------------------|
55 * | Fn |Lang |Ctrl | Alt |Lower| Space |Upper| ' | [ | ] |SPOT |
56 * `-----------------------------------------------------------------------'
58 [_MAC
] = LAYOUT_planck_grid(
59 KC_TAB
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSPC
,
60 KC_LGUI
,KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
,KC_ENT
,
61 KC_LSFT
,KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
,KC_DOT
, KC_SLSH
,KC_RSFT
,
62 MAC_SHORTCUT
, LCTL(KC_SPC
),KC_LCTL
,KC_LALT
,LOWER
,KC_SPC
,KC_SPC
,RAISE
,KC_QUOT
,KC_LBRC
,KC_RBRC
,LGUI(KC_SPC
)
65 * ,-----------------------------------------------------------------------.
66 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS |
67 * |-----------------------------------------------------------------------|
68 * | | F1 | F2 | F3 | F4 | F5 | F6 | - | + | [ | ] | \ |
69 * |-----------------------------------------------------------------------|
70 * | | F7 | F8 | F9 | F10 | F11 | F12 | | HOME| PgUp| UP | PgDo|
71 * |-----------------------------------------------------------------------|
72 * | | | | | | SPACE | | END | LEFT| DOWN|RIGHT|
73 * `-----------------------------------------------------------------------'
75 [_LOWER
] = LAYOUT_planck_grid(
76 KC_GRV
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_BSPC
,
77 _______
,KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_MINS
,KC_PLUS
,KC_LBRC
,KC_RBRC
,KC_BSLS
,
78 _______
,KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
,KC_F12
,_______
,KC_HOME
,KC_PGUP
,KC_UP
,KC_PGDN
,
79 XXXXXXX
,_______
,_______
,_______
,_______
,KC_SPC
,KC_SPC
,_______
,KC_END
, KC_LEFT
,KC_DOWN
,KC_RIGHT
82 * ,-----------------------------------------------------------------------.
83 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS |
84 * |-----------------------------------------------------------------------|
85 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | | |
86 * |-----------------------------------------------------------------------|
87 * | | F7 | F8 | F9 | F10 | F11 | F12 | | HOME| PgUp| UP | PgDo|
88 * |-----------------------------------------------------------------------|
89 * | | | | | | SPACE | | END | LEFT| DOWN|RIGHT|
90 * `-----------------------------------------------------------------------'
92 [_RAISE
] = LAYOUT_planck_grid(
93 KC_TILD
,KC_EXLM
,KC_AT
, KC_HASH
,KC_DLR
, KC_PERC
,KC_CIRC
,KC_AMPR
,KC_ASTR
,KC_LPRN
,KC_RPRN
,KC_BSPC
,
94 _______
,KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_UNDS
,KC_EQL
, KC_LCBR
,KC_RCBR
,KC_PIPE
,
95 _______
,KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, _______
,KC_HOME
,KC_PGUP
,KC_UP
,KC_PGDN
,
96 XXXXXXX
,_______
,_______
,_______
,_______
,KC_SPC
, KC_SPC
, _______
,KC_END
, KC_LEFT
,KC_DOWN
,KC_RIGHT
99 * ,-----------------------------------------------------------------------.
100 * | ESC |WinOf|WinUp| | |Sh+Ca| | PgUp| UP | PgDo|PrtSc| DEL |
101 * |-----------------------------------------------------------------------|
102 * | |WinLe|WinDo|WinRi| |Al+Ca|CapsL| LEFT| DOWN|RIGHT| | |
103 * |-----------------------------------------------------------------------|
104 * | |WinLW|WinRW| | |Ct+Ca|ScroL| HOME| | END | | |
105 * |-----------------------------------------------------------------------|
106 * | |DeskL|DeskR|DeskX|Task | ChangeLang| | | | | LED |
107 * `-----------------------------------------------------------------------'
109 [_WINDOW_SHORTCUT
] = LAYOUT_planck_grid(
110 KC_ESC
,LALT(KC_F4
) ,LGUI(KC_UP
) ,XXXXXXX
,XXXXXXX
,S(KC_CAPS
) ,XXXXXXX
,KC_PGUP
,KC_UP
,KC_PGDN
,KC_PSCR
,KC_DEL
,
111 _______
,LGUI(KC_LEFT
) ,LGUI(KC_DOWN
) ,LGUI(KC_RIGHT
) ,XXXXXXX
,LALT(KC_CAPS
),KC_CAPS
,KC_LEFT
,KC_DOWN
,KC_RIGHT
,XXXXXXX
,XXXXXXX
,
112 _______
,LGUI(LSFT(KC_LEFT
)),LGUI(LSFT(KC_RIGHT
)),XXXXXXX
,XXXXXXX
,LCTL(KC_CAPS
),KC_SLCK
,KC_HOME
,XXXXXXX
,KC_END
,XXXXXXX
,XXXXXXX
,
113 KC_TRNS
,LGUI(LCTL(KC_LEFT
)),LGUI(LCTL(KC_RIGHT
)),LGUI(LCTL(KC_F4
)),LCTL(LALT(KC_DEL
)),LGUI(KC_SPC
),LGUI(KC_SPC
),XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,BACKLIT
116 * ,-----------------------------------------------------------------------.
117 * | ESC |CmdUp|CmdDo| | | | | PgUp| UP | PgDo|PrtSc| DEL |
118 * |-----------------------------------------------------------------------|
119 * | |WBlkL|WBlkR| |ScrF | |CapsL| LEFT| DOWN|RIGHT| | |
120 * |-----------------------------------------------------------------------|
121 * | |BlckL|BlckR| | | | | HOME| | END | | |
122 * |-----------------------------------------------------------------------|
123 * | | | | | | MOUSE | | | | | LED |
124 * `-----------------------------------------------------------------------'
126 [_MAC_SHORTCUT
] = LAYOUT_planck_grid(
127 KC_ESC
,LGUI(KC_UP
) ,LGUI(KC_DOWN
) ,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,KC_PGUP
,KC_UP
,KC_PGDN
,KC_PSCR
,KC_DEL
,
128 _______
,LALT(LSFT(KC_LEFT
)),LALT(LSFT(KC_RIGHT
)),XXXXXXX
,LGUI(LCTL(KC_F
)),XXXXXXX
,KC_CAPS
,KC_LEFT
,KC_DOWN
,KC_RIGHT
,XXXXXXX
,XXXXXXX
,
129 _______
,LGUI(LSFT(KC_LEFT
)),LGUI(LSFT(KC_RIGHT
)),XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,KC_HOME
,XXXXXXX
,KC_END
,XXXXXXX
,XXXXXXX
,
130 KC_TRNS
,_______
,_______
,MOUSE
,MOUSE
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,BACKLIT
133 * ,-----------------------------------------------------------------------.
134 * | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| |RESET|
135 * |-----------------------------------------------------------------------|
136 * | | |Mo_Le|Mo_Do|Mo_Ri| | |M_Bt1|M_WhD|M_Bt2| | |
137 * |-----------------------------------------------------------------------|
138 * | | | | | | | |M_AC0|M_AC1|M_AC2| |WINDO|
139 * |-----------------------------------------------------------------------|
140 * | | | | | | GO_DEFT | | | | | MAC |
141 * `-----------------------------------------------------------------------'
143 [_MOUSE
] = LAYOUT_planck_grid(
144 XXXXXXX
,XXXXXXX
,XXXXXXX
,KC_MS_U
,XXXXXXX
,XXXXXXX
,XXXXXXX
,KC_WH_L
,KC_WH_U
,KC_WH_R
,XXXXXXX
,RESET
,
145 XXXXXXX
,XXXXXXX
,KC_MS_L
,KC_MS_D
,KC_MS_R
,XXXXXXX
,XXXXXXX
,KC_BTN1
,KC_WH_D
,KC_BTN2
,XXXXXXX
,XXXXXXX
,
146 XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,KC_ACL0
,KC_ACL1
,KC_ACL2
,XXXXXXX
,WINDOW
,
147 XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,EXT_MOUSE
,EXT_MOUSE
,XXXXXXX
,XXXXXXX
,XXXXXXX
,XXXXXXX
,MAC
151 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
154 if (record
->event
.pressed
) {
155 set_single_persistent_default_layer(_WINDOW
);
160 if (record
->event
.pressed
) {
161 set_single_persistent_default_layer(_MAC
);
166 if (record
->event
.pressed
) {
167 #ifdef BACKLIGHT_ENABLE
174 if (record
->event
.pressed
) {
180 if (record
->event
.pressed
) {
182 layer_off(_WINDOW_SHORTCUT
);
183 layer_off(_MAC_SHORTCUT
);