]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/pickle_jr/keymap.c
[Keyboard] Add QMK configurator JSON for Alice PCB (#6397)
[qmk_firmware.git] / keyboards / planck / keymaps / pickle_jr / keymap.c
1 #include QMK_KEYBOARD_H 
2
3 #define _QWERTY 0
4 #define _LOWER 1
5 #define _RAISE 2
6 #define _SPECIAL 3
7 #define _CALC 4
8 #define _NAV 5
9 #define _ADJUST 6
10
11 #define LOWER MO(_LOWER)
12 #define RAISE MO(_RAISE)
13
14 #define LPSFT SFT_T(KC_RPRN)
15 #define LCCTL CTL_T(KC_LCBR)
16 #define RCCTL MT(MOD_RCTL,KC_RCBR)
17 #define RPSFT MT(MOD_RSFT,KC_LPRN)
18
19 #define SCOLNAV LT(_NAV,KC_SCLN)
20 #define TABCALC LT(_CALC, KC_TAB)
21 #define QUOCALC LT(_CALC, KC_QUOT)
22 #define LBRACK LT(_SPECIAL,KC_LBRC)
23 #define RBRACK LT(_SPECIAL,KC_RBRC)
24
25 #define LOCK RGUI(KC_L)
26
27 enum custom_keycoedes {
28   CTLALTD = SAFE_RANGE,
29   VIMSAVE,
30   VIMWQ
31 };
32
33
34 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
35   if(record->event.pressed) {
36     switch(keycode) {
37       case CTLALTD:
38         SEND_STRING(SS_DOWN(X_LCTRL)SS_DOWN(X_LALT)SS_DOWN(X_DELETE)SS_UP(X_DELETE)SS_UP(X_LALT)SS_UP(X_LCTRL));
39         return false;
40       case VIMSAVE:
41         SEND_STRING(":w");
42         return false;
43     }
44   }
45   return true;
46 };
47
48 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49
50 /* Qwerty
51  * ,----------------------------------------------------------------------------------------------------.
52  * | Tab/CALC |   Q      |   W   |   E  |   R  |   T  |   Y  |   U  |   I  |   O   |   P      |  "/CALC |
53  * |----------+----------+-------+------+------+-------------+------+------+-------+----------+---------|
54  * | Esc      |   A      |   S   |   D  |   F  |   G  |   H  |   J  |   K  |   L   |   ;/Nav  | Enter   |
55  * |----------+----------+-------+------+------+------|------+------+------+-------+----------+---------|
56  * |   (/SFT  |   Z      |   X   |   C  |   V  |   B  |   N  |   M  |   ,  |   .   |   /      |  )/SFT  |
57  * |----------+----------+-------+------+------+------+------+------+------+-------+----------+---------|
58  * |   [/SPC  |   CTRL   |PrintS | GUI  | Bksp |Lower |Raise |  SPC | ALT  |VIMSAVE|  CTRL    |  ]/SPC  |
59  * `----------------------------------------------------------------------------------------------------'
60  */
61 [_QWERTY] = LAYOUT_planck_grid(
62   TABCALC, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,   KC_Y,   KC_U,    KC_I,     KC_O,    KC_P,    QUOCALC,
63   KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,   KC_H,   KC_J,    KC_K,     KC_L,    SCOLNAV, KC_ENT ,
64   KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,   KC_N,   KC_M,    KC_COMM,  KC_DOT,  KC_SLSH, KC_RSPC,
65   LBRACK , KC_LCTL, KC_PSCR, KC_LGUI, KC_BSPC, LOWER,  RAISE,  KC_SPC,  KC_RALT,  VIMSAVE, KC_RCTL, RBRACK 
66 ),
67
68 /* Lower
69  * ,-----------------------------------------------------------------------------------.
70  * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   F7 |   F8 |   F9 |  F10 |  F11 | F12  |
71  * |------+------+------+------+------+-------------+------+------+------+------+------|
72  * |  1   |  2   |  3   |  4   |  5   |  6   |  7   |  8   |  9   |  0   |      |      |
73  * |------+------+------+------+------+------|------+------+------+------+------+------|
74  * |      |      |      |      |      |      |      |      |      |      |      |      |
75  * |------+------+------+------+------+------+------+------+------+------+------+------|
76  * |      |      |      |      |      |      |      | DEL  |      |      |      |      |
77  * `-----------------------------------------------------------------------------------'
78  */
79 [_LOWER] = LAYOUT_planck_grid(
80   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,    KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12 ,
81   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,     KC_7,    KC_8,    KC_9,    KC_0,    _______, _______,
82   _______, _______, _______, _______, _______,  _______, _______, _______, _______, _______, _______, _______,
83   _______, _______, _______, _______, _______, KC_TRNS,  _______, KC_DEL,  _______, _______, _______, _______
84 ),
85
86 /* Raise
87  * ,-----------------------------------------------------------------------------------.
88  * |      |      |      |      |      |      |      |      |      |      |      |      |
89  * |------+------+------+------+------+-------------+------+------+------+------+------|
90  * |   !  |   @  |   #  |   $  |   %  |   ^  |  &   |  *   |  -   |  =   |  +   |      |
91  * |------+------+------+------+------+------|------+------+------+------+------+------|
92  * |      |      |  ~   |   `  | CTRL |      |  |   |      |  _   |      |      |      |
93  * |------+------+------+------+------+------+------+------+------+------+------+------|
94  * |      |      |      |      |      |             |      |      |      |      |      |
95  * `-----------------------------------------------------------------------------------'
96  */
97 [_RAISE] = LAYOUT_planck_grid(
98   _______, _______, _______, _______, _______,  _______, _______, _______, _______, _______, _______, _______,
99   KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,  KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL,  KC_PLUS, _______,
100   _______, _______, KC_TILD, KC_GRV,  KC_LCTRL, _______, KC_PIPE, _______, KC_UNDS, _______, _______, _______,
101   _______, _______, _______, _______, _______,  _______, KC_TRNS, _______, _______, _______, _______, _______
102 ),
103
104 /* Special
105  * ,------------------------------------------------------------------------------------.
106  * |      |  M2  | MUP  |  M1  | WUP  |      | CAPS  |      |      |      |      |      |
107  * |------+------+------+------+------+--------------+------+------+------+------+------|
108  * |      |MLEFT |MDOWN |MRIGHT|WDOWN |      |PRTSCRE|      |      |      |      |      |
109  * |------+------+------+------+------+------|-------+------+------+------+------+------|
110  * |      |WLEFT |  M3  |WRIGHT|      |      |CTLALTD|      |      |      |      |      |
111  * |------+------+------+------+------+------+-------+------+------+------+------+------|
112  * |      | PREV | PLAY | NEXT |      |      | LOCK  |      | MUTE | VOL- | VOL+ |      |
113  * `------------------------------------------------------------------------------------'
114  */
115 [_SPECIAL] = LAYOUT_planck_grid(
116   _______,  KC_BTN2,  KC_MS_U, KC_BTN1, KC_WH_U, _______, KC_CAPS, _______,  _______, _______, _______, _______,
117   _______,  KC_MS_L,  KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______,  _______, _______, _______, _______,
118   _______,  KC_WH_L,  KC_BTN3, KC_WH_R, _______, _______, CTLALTD, _______,  _______, _______, _______, _______,
119   KC_TRNS,  KC_MPRV,  KC_MPLY, KC_MNXT, _______, _______, LOCK,    _______,  KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS
120 ),
121
122 /* Calc
123  * ,-----------------------------------------------------------------------------------.
124  * |      |   F7 |  F8  |  F9  |      |      |  *   |   7  |  8   |  9   |  /   |      |
125  * |------+------+------+------+------+-------------+------+------+------+------+------|
126  * |      |   F4 |  F5  |  F6  |      |      |  +   |   4  |  5   |  6   |  -   |  \   |
127  * |------+------+------+------+------+------|------+------+------+------+------+------|
128  * |      |   F1 |  F2  |  F3  |      |      |      |   1  |  2   |  3   |  =   |      |
129  * |------+------+------+------+------+------+------+------+------+------+------+------|
130  * |      |      |  F11 |  F12 |      | DEL  | Bksp |  0   |      |      |      | RET  |
131  * `-----------------------------------------------------------------------------------'
132  */
133 [_CALC] = LAYOUT_planck_grid(
134   KC_TRNS,  KC_F7,   KC_F8,   KC_F9,   _______, _______, KC_ASTR, KC_7, KC_8,    KC_9,    KC_BSLS, KC_TRNS,
135   _______,  KC_F4,   KC_F5,   KC_F6,   _______, _______, KC_PLUS, KC_4, KC_5,    KC_6,    KC_MINS, KC_BSLS,
136   _______,  KC_F1,   KC_F2,   KC_F3,   _______, _______, _______, KC_1, KC_2,    KC_3,    KC_EQL,  _______,
137   _______,  _______, KC_F11,  KC_F12,  _______, KC_DEL,  KC_BSPC, KC_0, _______, _______, KC_ENT,  _______
138 ),
139
140 /* Nav
141  * ,-----------------------------------------------------------------------------------.
142  * |      |      |      |      |      |      |      |      |      |      |      |      |
143  * |------+------+------+------+------+------+------+------+------+------+------+------|
144  * |      |      | HOME | PGUP | PGDN | END  | LEFT | DOWN |  UP  |RIGHT |      |      |
145  * |------+------+------+------+------+------+------+------+------+------+------+------|
146  * |      |      |      |      |      |      |      |      |      |      |      |      |
147  * |------+------+------+------+------+------+------+------+------+------+------+------|
148  * |      |      |      |      |      |      |      |      |      |      |      |      |
149  * `-----------------------------------------------------------------------------------'
150  */
151 [_NAV] = LAYOUT_planck_grid(
152   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______,
153   _______, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_TRNS,  _______,
154   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______,
155   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______
156 ),
157
158 /* Adjust (Lower + Raise)
159  * ,-------------------------------------------------------------------------------------------.
160  * |      | Reset|      |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD|RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD|  Del |
161  * |------+------+------+-------+-------+-------+-------+-------+-------+-------+-------+------|
162  * |      |      |MU_MOD|Aud on |Audoff |AGnorm |AGswap |       |       |       |       |      |
163  * |------+------+------+-------+-------+-------+-------+-------+-------+-------+-------+------|
164  * |      |Voice-|Voice+|Mus on |Musoff |MIDIon |MIDIof |TERMon |TERMof |       |       |      |
165  * |------+------+------+-------+-------+-------+-------+-------+-------+-------+-------+------|
166  * |      |      |      |       |       |               |       |       |       |       |      |
167  * `-------------------------------------------------------------------------------------------'
168  */
169 [_ADJUST] = LAYOUT_planck_grid(
170   _______, RESET,   _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,  RGB_VAI, RGB_VAD, KC_DEL ,
171   _______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, _______, _______,  _______, _______, _______,
172   _______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  TERM_ON, TERM_OFF, _______, _______, _______,
173   _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, _______,  _______, _______, _______
174 )
175
176
177 };
178
179 #ifdef AUDIO_ENABLE
180   float plover_song[][2]     = SONG(PLOVER_SOUND);
181   float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND);
182 #endif
183
184 uint32_t layer_state_set_user(uint32_t state) {
185   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
186 };
187
188 bool music_mask_user(uint16_t keycode) {
189   switch (keycode) {
190     case RAISE:
191     case LOWER:
192       return false;
193     default:
194       return true;
195   }
196 };