diff options
Diffstat (limited to 'keyboards/emi20/keymaps/default/keymap.c')
| -rw-r--r-- | keyboards/emi20/keymaps/default/keymap.c | 82 |
1 files changed, 32 insertions, 50 deletions
diff --git a/keyboards/emi20/keymaps/default/keymap.c b/keyboards/emi20/keymaps/default/keymap.c index 4c33ee85e..b0400108f 100644 --- a/keyboards/emi20/keymaps/default/keymap.c +++ b/keyboards/emi20/keymaps/default/keymap.c | |||
| @@ -1,58 +1,51 @@ | |||
| 1 | /* Copyright 2021 Aquacylinder | 1 | /* Copyright 2021 Aquacylinder |
| 2 | * | 2 | * |
| 3 | * This program is free software: you can redistribute it and/or modify | 3 | * This program is free software: you can redistribute it and/or modify |
| 4 | * it under the terms of the GNU General Public License as published by | 4 | * it under the terms of the GNU General Public License as published by |
| 5 | * the Free Software Foundation, either version 2 of the License, or | 5 | * the Free Software Foundation, either version 2 of the License, or |
| 6 | * (at your option) any later version. | 6 | * (at your option) any later version. |
| 7 | * | 7 | * |
| 8 | * This program is distributed in the hope that it will be useful, | 8 | * This program is distributed in the hope that it will be useful, |
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * GNU General Public License for more details. | 11 | * GNU General Public License for more details. |
| 12 | * | 12 | * |
| 13 | * You should have received a copy of the GNU General Public License | 13 | * You should have received a copy of the GNU General Public License |
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
| 18 | bool is_ERESET_active = false; | 18 | |
| 19 | uint16_t ERESET_timer = 0; | ||
| 20 | 19 | ||
| 21 | enum custom_keycodes { | 20 | enum custom_keycodes { |
| 22 | MACRO1 = SAFE_RANGE, //MACRO1 can be anything you want see the qmk documentation | 21 | MACRO1 = SAFE_RANGE, //MACRO1 can be anything you want see the qmk documentation |
| 23 | MACRO2, //MACRO2 Same thing, you can add as many as you like | 22 | MACRO2, //MACRO2 Same thing, you can add as many as you like |
| 24 | }; | 23 | }; |
| 25 | 24 | ||
| 26 | //Reset combo key naming | ||
| 27 | enum combo_events { | ||
| 28 | ENLCK_reset, | ||
| 29 | }; | ||
| 30 | |||
| 31 | //Reset combo key setting the keys | ||
| 32 | const uint16_t PROGMEM reset_combo[] = {KC_NLCK, KC_MPLY, COMBO_END}; | ||
| 33 | |||
| 34 | 25 | ||
| 35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 26 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 36 | //Macro's are mentioned here allong with the keycodes | 27 | //Macro's are mentioned here allong with the keycodes |
| 37 | LAYOUT_ortho_5x4( //Base layer (0) | 28 | LAYOUT_ortho_5x4( //Base layer (0) |
| 38 | TG(1), KC_VOLD, KC_VOLU, KC_BSPC, | 29 | TG(1), KC_VOLD, KC_VOLU, KC_BSPC, |
| 39 | KC_P7, KC_P8, KC_P9, KC_PSLS, | 30 | KC_P7, KC_P8, KC_P9, KC_PAST, |
| 40 | KC_P4, KC_P5, KC_P6, KC_PAST, | 31 | KC_P4, KC_P5, KC_P6, KC_PSLS, |
| 41 | KC_P1, KC_P2, KC_P3, KC_PMNS, | 32 | KC_P1, KC_P2, KC_P3, KC_PPLS, |
| 42 | KC_P0, KC_PDOT, KC_PENT, KC_PPLS), | 33 | KC_P0, KC_PDOT, KC_PENT, KC_PMNS), |
| 43 | 34 | ||
| 44 | LAYOUT_ortho_5x4( //Layer 1 | 35 | LAYOUT_ortho_5x4( //Layer 1 |
| 45 | KC_TRNS, KC_VOLD, KC_VOLU, KC_CALC, | 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, |
| 46 | KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, | 37 | KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, |
| 47 | KC_NO, KC_NO, KC_NO, KC_NO, | 38 | KC_NO, KC_NO, KC_NO, KC_NO, |
| 48 | KC_NO, KC_NO, KC_UP, KC_NO, | 39 | KC_NO, KC_NO, KC_UP, KC_NO, |
| 49 | KC_NLCK, KC_LEFT, KC_DOWN, KC_RGHT), | 40 | MO(2), KC_LEFT, KC_DOWN, KC_RGHT), |
| 50 | //Copy any layer and edit it for more layers, be sure to add a key to go to that layer | ||
| 51 | }; | ||
| 52 | 41 | ||
| 53 | //Reset combo key setting | 42 | LAYOUT_ortho_5x4( //Layer 2 |
| 54 | combo_t key_combos[COMBO_COUNT] = { | 43 | KC_NO, KC_NO, KC_NO, KC_NO, |
| 55 | [ENLCK_reset] = COMBO_ACTION(reset_combo), | 44 | KC_NO, KC_NO, KC_NO, RESET, |
| 45 | KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 46 | KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 47 | KC_TRNS, KC_NLCK, KC_NO, KC_NO), | ||
| 48 | //Copy any layer and edit it for more layers, be sure to add a key to go to that layer | ||
| 56 | }; | 49 | }; |
| 57 | 50 | ||
| 58 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 51 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| @@ -66,7 +59,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 66 | SEND_STRING("for being you <3"); | 59 | SEND_STRING("for being you <3"); |
| 67 | } | 60 | } |
| 68 | break; | 61 | break; |
| 69 | 62 | ||
| 70 | case MACRO2: | 63 | case MACRO2: |
| 71 | if (record->event.pressed) { | 64 | if (record->event.pressed) { |
| 72 | // when keycode MACRO2 is pressed | 65 | // when keycode MACRO2 is pressed |
| @@ -79,14 +72,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 79 | } | 72 | } |
| 80 | return true; | 73 | return true; |
| 81 | } | 74 | } |
| 82 | |||
| 83 | //Reset key combo and a example to make our own, more complex, macro's | ||
| 84 | void process_combo_event(uint16_t combo_index, bool pressed) { | ||
| 85 | switch(combo_index) { | ||
| 86 | case ENLCK_reset: | ||
| 87 | if (pressed) { | ||
| 88 | reset_keyboard(); | ||
| 89 | } | ||
| 90 | break; | ||
| 91 | } | ||
| 92 | } | ||
