]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/keebio/nyquist/keymaps/shovelpaw/keymap.c
[Keyboard] Move Keebio boards to own folder (#5109)
[qmk_firmware.git] / keyboards / keebio / nyquist / keymaps / shovelpaw / keymap.c
1 #include QMK_KEYBOARD_H
2
3 extern keymap_config_t keymap_config;
4
5 // Each layer gets a name for readability, which is then used in the keymap matrix below.
6 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
7 // Layer names don't all need to be of the same length, obviously, and you can also skip them
8 // entirely and just use numbers.
9 #define _QWERTY 0
10 #define _LOWER 1
11 #define _RAISE 2
12 #define _MIDI 3
13 #define _ADJUST 16
14
15 enum custom_keycodes {
16   QWERTY = SAFE_RANGE,
17   LOWER,
18   RAISE,
19   MIDI,
20   ADJUST
21 };
22
23 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 /* Qwerty
26  * ,-----------------------------------------| |-------------------------------------------.
27  * | GEsc |   1  |   2  |   3  |   4  |   5  | |   6  |   7   |   8  |   9  |   0  |  Bksp |
28  * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
29  * | Tab  |   Q  |   W  |   E  |   R  |   T  | |   Y  |   U   |   I  |   O  |   P  |  Del  |
30  * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
31  * | Ctrl |   A  |   S  |   D  |   F  |   G  | |   H  |   J   |   K  |   L  |   ;  |   "   |
32  * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
33  * | Shift|   Z  |   X  |   C  |   V  |   B  | |   N  |   M   |   ,  |   .  |   /  | Enter |
34  * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
35  * | Ctrl |Adjust| GUI  | Alt  |Lower |Space | | Space |Raise | Left |  Up  | Down | Right |
36  * `-----------------------------------------| |-------------------------------------------|
37  */
38
39 [_QWERTY] = LAYOUT( \
40   KC_GESC,  KC_1,        KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
41   KC_TAB,   KC_Q,        KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL, \
42   KC_RCTL,  KC_A,        KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
43   KC_LSFT,  KC_Z,        KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT , \
44   KC_LCTL,  MO(_ADJUST), KC_LGUI, KC_LALT, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_UP,   KC_DOWN, KC_RGHT \
45 ),
46
47 /* Lower
48  * ,-----------------------------------------| |------------------------------------------.
49  * |  `   |  F1  |  F2  |  F3  |      |      | |   -  |   =  |   (  |   )  |      |  Bksp |
50  * |------+------+------+------+------+------| |------+------+------+------+------+-------|
51  * |   ~  |  F4  |  F5  |  F6  |      |      | |   &  |   *  |   {  |   }  |      |  Del  |
52  * |------+------+------+------+------+------| |------+------+------+------+------+-------|
53  * | Del  |  F7  |  F8  |  F9  |      |      | |   _  |   +  |   [  |   ]  |      |   \   |
54  * |------+------+------+------+------+------| |------+------+------+------+------+-------|
55  * |      |  F10 |  F11 |  F12 |      |      | |      |      |      |  F5  |  Up  | Enter |
56  * |------+------+------+------+------+------| |------+------+------+------+------+-------|
57  * |      |      |      |      |      | Home | | End  |      |      | Left | Down | Right |
58  * `-----------------------------------------| |------------------------------------------'
59  */
60 [_LOWER] = LAYOUT( \
61   KC_GRV,  KC_F1,    KC_F2,    KC_F3,    _______, _______, KC_MINS, KC_EQL,  _______, KC_LPRN, KC_RPRN, KC_BSPC, \
62   KC_TILD, KC_F4,    KC_F5,    KC_F6,    _______, _______, KC_AMPR, KC_ASTR, _______, KC_LCBR, KC_RCBR, KC_DEL, \
63   KC_DEL,  KC_F7,    KC_F8,    KC_F9,    _______, _______, KC_UNDS, KC_PLUS, _______, KC_LBRC, KC_RBRC, KC_BSLS, \
64   _______, KC_F10,   KC_F11,   KC_F12,   _______, _______, _______, _______, _______, KC_F5,   KC_UP,   _______, \
65   _______, _______,  _______,  _______,  _______, KC_HOME, KC_END,  _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT \
66 ),
67
68 /* Raise
69  * ,-----------------------------------------| |-----------------------------------------.
70  * | Back |  m0  |  m1  |  m2  |      |      | |      |   7  |   8  |   9  |  -   | Bksp |
71  * |------+------+------+------+------+------| |------+------+------+------+------+------|
72  * | For  |  sD  |  mU  |  sU  |      |      | |      |   4  |   5  |   6  |   +  |  Del |
73  * |------+------+------+------+------+------| |------+------+------+------+------+------|
74  * | Del  |  mL  |  mD  |  mR  |      |      | |      |   1  |   2  |   3  |   *  |  \   |
75  * |------+------+------+------+------+------| |------+------+------+------+------+------|
76  * |      |   0  |  mB1 |  mB1 |  mB2 |      | |      |   0  |   .  |   =  |   /  |Enter |
77  * |------+------+------+------+------+------| |------+------+------+------+------+------|
78  * | MIDI |      |      |      |      |      | |      |      | Mute | Vol- | Vol+ | Play |
79  * `-----------------------------------------| |-----------------------------------------'
80  */
81 [_RAISE] = LAYOUT( \
82   LALT(KC_LEFT),  KC_MS_ACCEL0,  KC_MS_ACCEL1, KC_MS_ACCEL2, _______,    _______, _______, KC_7,    KC_8,    KC_9,    KC_MINS, KC_BSPC, \
83   LALT(KC_RIGHT), KC_MS_WH_DOWN, KC_MS_UP,     KC_MS_WH_UP,  _______,    _______, _______, KC_4,    KC_5,    KC_6,    KC_PLUS, KC_DEL, \
84   KC_DEL,         KC_MS_LEFT,    KC_MS_DOWN,   KC_MS_RIGHT,  _______,    _______, _______, KC_1,    KC_2,    KC_3,    KC_ASTR, KC_BSLS, \
85   _______,        KC_P0,         KC_MS_BTN1,   KC_MS_BTN1,   KC_MS_BTN2, _______, _______, KC_0,    KC_DOT,  KC_EQL,  KC_SLSH, _______, \
86   MO(_MIDI),      _______,       _______,      _______,      _______,    _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY \
87 ),
88
89 /*
90  * MIDI
91  */
92
93 [_MIDI] = LAYOUT( \
94   QWERTY,   MI_C,    MI_D,    MI_E,    MI_F,    MI_G,    MI_A,    MI_B,    MI_C_1,  MI_C_2,  MI_C_3,  QWERTY, \
95   MI_A_3,   MI_As_3, MI_B_3,  MI_C_3,  MI_Cs_3, MI_D_3,  MI_Ds_3, MI_E_3,  MI_F_3,  MI_Fs_3, MI_G_3,  MI_Gs_3, \
96   MI_A_2,   MI_As_2, MI_B_2,  MI_C_2,  MI_Cs_2, MI_D_2,  MI_Ds_2, MI_E_2,  MI_F_2,  MI_Fs_2, MI_G_2,  MI_Gs_2, \
97   MI_A_1,   MI_As_1, MI_B_1,  MI_C_1,  MI_Cs_1, MI_D_1,  MI_Ds_1, MI_E_1,  MI_F_1,  MI_Fs_1, MI_G_1,  MI_Gs_1, \
98   MI_A,     MI_As,   MI_B,    MI_C,    MI_Cs,   MI_D,    MI_Ds,   MI_E,    MI_F,    MI_Fs,   MI_G,    MI_Gs \
99 ),
100
101
102 /* Adjust (Lower + Raise)
103  * ,-----------------------------------------| |-----------------------------------------.
104  * |QWERTY|  F2  |  F3  |  F4  |  F5  |  F6  | |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |
105  * |------+------+------+------+------+------| |------+------+------+------+------+------|
106  * |      | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn| |Sat Up|  7   |  8   |  9   |      |  Del |
107  * |------+------+------+------+------+------| |------+------+------+------+------+------|
108  * |      |      |      |Aud on|Audoff|AGnorm| |AGswap|  6   |  5   |  4   |      |      |
109  * |------+------+------+------+------+------| |------+------+------+------+------+------|
110  * |      |      |      |      |      |   [  | |   ]  |  1   |  2   |  3   |      |      |
111  * |------+------+------+------+------+------+ |------+------+------+------+------+------|
112  * |      |      |      |      |      |   {  | |   }  |  0   |  .   |      |      |      |
113  * `-----------------------------------------| |-----------------------------------------'
114  */
115 [_ADJUST] =  LAYOUT( \
116   QWERTY,  KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, \
117   _______, RESET  , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, KC_7,    KC_8,    KC_9,    _______, KC_DEL, \
118   _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, KC_6,    KC_5,    KC_4,    _______, _______, \
119   _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1,    KC_2,    KC_3,    _______, _______, \
120   _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_0,    KC_DOT,  _______, _______, _______ \
121 )
122
123
124 };
125
126 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
127   switch (keycode) {
128     case QWERTY:
129       if (record->event.pressed) {
130         set_single_persistent_default_layer(1UL<<_QWERTY);
131       }
132       return false;
133       break;
134     case LOWER:
135       if (record->event.pressed) {
136         layer_on(_LOWER);
137         update_tri_layer(_LOWER, _RAISE, _ADJUST);
138       } else {
139         layer_off(_LOWER);
140         update_tri_layer(_LOWER, _RAISE, _ADJUST);
141       }
142       return false;
143       break;
144     case RAISE:
145       if (record->event.pressed) {
146         layer_on(_RAISE);
147         update_tri_layer(_LOWER, _RAISE, _ADJUST);
148       } else {
149         layer_off(_RAISE);
150         update_tri_layer(_LOWER, _RAISE, _ADJUST);
151       }
152       return false;
153       break;
154   }
155   return true;
156 }