]> git.donarmstrong.com Git - qmk_firmware.git/blob - layouts/community/ergodox/reset_eeprom/keymap.c
Remove/migrate action_get_macro()s from default keymaps (#5625)
[qmk_firmware.git] / layouts / community / ergodox / reset_eeprom / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "debug.h"
3 #include "action_layer.h"
4 #include "version.h"
5
6 #define BASE 0 // default layer
7 #define SYMB 1 // symbols
8 #define MDIA 2 // media keys
9
10 enum custom_keycodes {
11   PLACEHOLDER = SAFE_RANGE, // can always be here
12   EPRM,
13   VRSN,
14   RGB_SLD
15 };
16
17 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
18 /* Keymap 0: Basic layer
19  *
20  * ,--------------------------------------------------.           ,--------------------------------------------------.
21  * |   =    |   1  |   2  |   3  |   4  |   5  | LEFT |           | RIGHT|   6  |   7  |   8  |   9  |   0  |   -    |
22  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
23  * | Del    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  |   \    |
24  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
25  * | BkSp   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|' / Cmd |
26  * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
27  * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
28  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
29  *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
30  *   `----------------------------------'                                       `----------------------------------'
31  *                                        ,-------------.       ,-------------.
32  *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
33  *                                 ,------|------|------|       |------+--------+------.
34  *                                 |      |      | Home |       | PgUp |        |      |
35  *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
36  *                                 |      |ace   | End  |       | PgDn |        |      |
37  *                                 `--------------------'       `----------------------'
38  */
39 // If it accepts an argument (i.e, is a function), it doesn't need KC_.
40 // Otherwise, it needs KC_*
41 [BASE] = LAYOUT_ergodox(  // layer 0 : default
42         // left hand
43         EPRM,         EPRM,         EPRM,   EPRM,   EPRM,   EPRM,   EPRM,
44         EPRM,        EPRM,         EPRM,   EPRM,   EPRM,   EPRM,   EPRM,
45         EPRM,        EPRM,         EPRM,   EPRM,   EPRM,   EPRM,
46         EPRM,        EPRM,  EPRM,   EPRM,   EPRM,   EPRM,   EPRM,
47         EPRM,        EPRM,      EPRM,  EPRM,EPRM,
48                                               EPRM,  EPRM,
49                                                               EPRM,
50                                                EPRM,EPRM,EPRM,
51         // right hand
52              EPRM,     EPRM,   EPRM,  EPRM,   EPRM,   EPRM,             EPRM,
53              EPRM,    EPRM,   EPRM,  EPRM,   EPRM,   EPRM,             EPRM,
54                           EPRM,   EPRM,  EPRM,   EPRM,   EPRM,EPRM,
55              EPRM,EPRM,   EPRM,  EPRM,EPRM, EPRM,   EPRM,
56                                   EPRM, EPRM,EPRM,EPRM,          EPRM,
57              EPRM,        EPRM,
58              EPRM,
59              EPRM,EPRM, EPRM
60     )
61 };
62
63 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
64   switch (keycode) {
65     // dynamically generate these.
66     case EPRM:
67       if (record->event.pressed) {
68         eeconfig_init();
69       }
70       return false;
71       break;
72     case VRSN:
73       if (record->event.pressed) {
74         SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
75       }
76       return false;
77       break;
78     case RGB_SLD:
79       if (record->event.pressed) {
80         #ifdef RGBLIGHT_ENABLE
81           rgblight_mode(1);
82         #endif
83       }
84       return false;
85       break;
86   }
87   return true;
88 }
89
90 // Runs just one time when the keyboard initializes.
91 void matrix_init_user(void) {
92   eeconfig_init();
93 };
94
95
96 // Runs constantly in the background, in a loop.
97 void matrix_scan_user(void) {
98
99     uint8_t layer = biton32(layer_state);
100
101     ergodox_board_led_off();
102     ergodox_right_led_1_off();
103     ergodox_right_led_2_off();
104     ergodox_right_led_3_off();
105     switch (layer) {
106       // TODO: Make this relevant to the ErgoDox EZ.
107         case 1:
108             ergodox_right_led_1_on();
109             break;
110         case 2:
111             ergodox_right_led_2_on();
112             break;
113         default:
114             // none
115             break;
116     }
117
118 };