diff options
| author | Kosuke Adachi <ks@fstn.jp> | 2019-07-25 09:57:22 +0900 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-07-24 17:57:22 -0700 |
| commit | 0a7222b703c9d2ec166f3a9877171678059afbf8 (patch) | |
| tree | dc83806ac96c0d47e746daa2ca42144d891ae299 | |
| parent | 4381dea621659cb2ddd0ba06f18a8f0722638476 (diff) | |
| download | qmk_firmware-0a7222b703c9d2ec166f3a9877171678059afbf8.tar.gz qmk_firmware-0a7222b703c9d2ec166f3a9877171678059afbf8.zip | |
[Keymap] Refactor the default keymap for crkbd and add a new keymap for me (#6404)
* Remap default keys
* Remove self defined keys
* Remove unnedessary breaks
* Unable read_keylogs
* Add a keymap for foostan
* Remove unnecessary spaces
* Remove "include" that it automatically including
| -rw-r--r-- | keyboards/crkbd/keymaps/default/keymap.c | 66 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/foostan/config.h | 44 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/foostan/keymap.c | 241 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/foostan/rules.mk | 10 |
4 files changed, 316 insertions, 45 deletions
diff --git a/keyboards/crkbd/keymaps/default/keymap.c b/keyboards/crkbd/keymaps/default/keymap.c index 5bb89d259..348da2c76 100644 --- a/keyboards/crkbd/keymaps/default/keymap.c +++ b/keyboards/crkbd/keymaps/default/keymap.c | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | #include QMK_KEYBOARD_H | 1 | #include QMK_KEYBOARD_H |
| 2 | #include "bootloader.h" | ||
| 3 | #ifdef PROTOCOL_LUFA | 2 | #ifdef PROTOCOL_LUFA |
| 4 | #include "lufa.h" | 3 | #include "lufa.h" |
| 5 | #include "split_util.h" | 4 | #include "split_util.h" |
| @@ -39,70 +38,52 @@ enum macro_keycodes { | |||
| 39 | KC_SAMPLEMACRO, | 38 | KC_SAMPLEMACRO, |
| 40 | }; | 39 | }; |
| 41 | 40 | ||
| 42 | #define KC______ KC_TRNS | ||
| 43 | #define KC_XXXXX KC_NO | ||
| 44 | #define KC_LOWER LOWER | ||
| 45 | #define KC_RAISE RAISE | ||
| 46 | #define KC_RST RESET | ||
| 47 | #define KC_LRST RGBRST | ||
| 48 | #define KC_LTOG RGB_TOG | ||
| 49 | #define KC_LHUI RGB_HUI | ||
| 50 | #define KC_LHUD RGB_HUD | ||
| 51 | #define KC_LSAI RGB_SAI | ||
| 52 | #define KC_LSAD RGB_SAD | ||
| 53 | #define KC_LVAI RGB_VAI | ||
| 54 | #define KC_LVAD RGB_VAD | ||
| 55 | #define KC_LMOD RGB_MOD | ||
| 56 | #define KC_CTLTB CTL_T(KC_TAB) | ||
| 57 | #define KC_GUIEI GUI_T(KC_LANG2) | ||
| 58 | #define KC_ALTKN ALT_T(KC_LANG1) | ||
| 59 | |||
| 60 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 41 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 61 | [_QWERTY] = LAYOUT_kc( \ | 42 | [_QWERTY] = LAYOUT( \ |
| 62 | //,-----------------------------------------. ,-----------------------------------------. | 43 | //,-----------------------------------------. ,-----------------------------------------. |
| 63 | ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,\ | 44 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC,\ |
| 64 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 45 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 65 | CTLTB, A, S, D, F, G, H, J, K, L, SCLN, QUOT,\ | 46 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT,\ |
| 66 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 47 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 67 | LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,\ | 48 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,\ |
| 68 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 49 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 69 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | 50 | KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT \ |
| 70 | //`--------------------' `--------------------' | 51 | //`--------------------' `--------------------' |
| 71 | ), | 52 | ), |
| 72 | 53 | ||
| 73 | [_LOWER] = LAYOUT_kc( \ | 54 | [_LOWER] = LAYOUT( \ |
| 74 | //,-----------------------------------------. ,-----------------------------------------. | 55 | //,-----------------------------------------. ,-----------------------------------------. |
| 75 | ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,\ | 56 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_BSPC,\ |
| 76 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 57 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 77 | CTLTB, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, XXXXX,\ | 58 | KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT,KC_NO,KC_NO,\ |
| 78 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 59 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 79 | LSFT, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, XXXXX,\ | 60 | KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ |
| 80 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 61 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 81 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | 62 | KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT \ |
| 82 | //`--------------------' `--------------------' | 63 | //`--------------------' `--------------------' |
| 83 | ), | 64 | ), |
| 84 | 65 | ||
| 85 | [_RAISE] = LAYOUT_kc( \ | 66 | [_RAISE] = LAYOUT( \ |
| 86 | //,-----------------------------------------. ,-----------------------------------------. | 67 | //,-----------------------------------------. ,-----------------------------------------. |
| 87 | ESC, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, BSPC,\ | 68 | KC_ESC,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC,\ |
| 88 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 69 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 89 | CTLTB, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, GRV,\ | 70 | KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS,KC_EQL,KC_LCBR,KC_RCBR,KC_PIPE,KC_GRV,\ |
| 90 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 71 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 91 | LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, PLUS, LBRC, RBRC, BSLS, TILD,\ | 72 | KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,KC_TILD,\ |
| 92 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 73 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 93 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | 74 | KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT \ |
| 94 | //`--------------------' `--------------------' | 75 | //`--------------------' `--------------------' |
| 95 | ), | 76 | ), |
| 96 | 77 | ||
| 97 | [_ADJUST] = LAYOUT_kc( \ | 78 | [_ADJUST] = LAYOUT( \ |
| 98 | //,-----------------------------------------. ,-----------------------------------------. | 79 | //,-----------------------------------------. ,-----------------------------------------. |
| 99 | RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | 80 | RESET,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ |
| 100 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 81 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 101 | LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | 82 | RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ |
| 102 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 83 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 103 | LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | 84 | RGB_MOD,RGB_HUD,RGB_SAD,RGB_VAD,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ |
| 104 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 85 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 105 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | 86 | KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT \ |
| 106 | //`--------------------' `--------------------' | 87 | //`--------------------' `--------------------' |
| 107 | ) | 88 | ) |
| 108 | }; | 89 | }; |
| @@ -157,7 +138,7 @@ void matrix_render_user(struct CharacterMatrix *matrix) { | |||
| 157 | // If you want to change the display of OLED, you need to change here | 138 | // If you want to change the display of OLED, you need to change here |
| 158 | matrix_write_ln(matrix, read_layer_state()); | 139 | matrix_write_ln(matrix, read_layer_state()); |
| 159 | matrix_write_ln(matrix, read_keylog()); | 140 | matrix_write_ln(matrix, read_keylog()); |
| 160 | matrix_write_ln(matrix, read_keylogs()); | 141 | //matrix_write_ln(matrix, read_keylogs()); |
| 161 | //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); | 142 | //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); |
| 162 | //matrix_write_ln(matrix, read_host_led_state()); | 143 | //matrix_write_ln(matrix, read_host_led_state()); |
| 163 | //matrix_write_ln(matrix, read_timelog()); | 144 | //matrix_write_ln(matrix, read_timelog()); |
| @@ -195,7 +176,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 195 | persistent_default_layer_set(1UL<<_QWERTY); | 176 | persistent_default_layer_set(1UL<<_QWERTY); |
| 196 | } | 177 | } |
| 197 | return false; | 178 | return false; |
| 198 | break; | ||
| 199 | case LOWER: | 179 | case LOWER: |
| 200 | if (record->event.pressed) { | 180 | if (record->event.pressed) { |
| 201 | layer_on(_LOWER); | 181 | layer_on(_LOWER); |
| @@ -205,7 +185,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 205 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | 185 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |
| 206 | } | 186 | } |
| 207 | return false; | 187 | return false; |
| 208 | break; | ||
| 209 | case RAISE: | 188 | case RAISE: |
| 210 | if (record->event.pressed) { | 189 | if (record->event.pressed) { |
| 211 | layer_on(_RAISE); | 190 | layer_on(_RAISE); |
| @@ -215,7 +194,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 215 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | 194 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |
| 216 | } | 195 | } |
| 217 | return false; | 196 | return false; |
| 218 | break; | ||
| 219 | case ADJUST: | 197 | case ADJUST: |
| 220 | if (record->event.pressed) { | 198 | if (record->event.pressed) { |
| 221 | layer_on(_ADJUST); | 199 | layer_on(_ADJUST); |
| @@ -223,7 +201,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 223 | layer_off(_ADJUST); | 201 | layer_off(_ADJUST); |
| 224 | } | 202 | } |
| 225 | return false; | 203 | return false; |
| 226 | break; | ||
| 227 | case RGB_MOD: | 204 | case RGB_MOD: |
| 228 | #ifdef RGBLIGHT_ENABLE | 205 | #ifdef RGBLIGHT_ENABLE |
| 229 | if (record->event.pressed) { | 206 | if (record->event.pressed) { |
| @@ -233,7 +210,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 233 | } | 210 | } |
| 234 | #endif | 211 | #endif |
| 235 | return false; | 212 | return false; |
| 236 | break; | ||
| 237 | case RGBRST: | 213 | case RGBRST: |
| 238 | #ifdef RGBLIGHT_ENABLE | 214 | #ifdef RGBLIGHT_ENABLE |
| 239 | if (record->event.pressed) { | 215 | if (record->event.pressed) { |
diff --git a/keyboards/crkbd/keymaps/foostan/config.h b/keyboards/crkbd/keymaps/foostan/config.h new file mode 100644 index 000000000..644e81365 --- /dev/null +++ b/keyboards/crkbd/keymaps/foostan/config.h | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | /* | ||
| 2 | This is the c configuration file for the keymap | ||
| 3 | |||
| 4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 5 | Copyright 2015 Jack Humbert | ||
| 6 | |||
| 7 | This program is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 2 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | This program is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #pragma once | ||
| 22 | |||
| 23 | //#define USE_MATRIX_I2C | ||
| 24 | |||
| 25 | /* Select hand configuration */ | ||
| 26 | |||
| 27 | #define MASTER_LEFT | ||
| 28 | // #define MASTER_RIGHT | ||
| 29 | // #define EE_HANDS | ||
| 30 | |||
| 31 | #define SSD1306OLED | ||
| 32 | |||
| 33 | #define USE_SERIAL_PD2 | ||
| 34 | |||
| 35 | #define TAPPING_FORCE_HOLD | ||
| 36 | #define TAPPING_TERM 100 | ||
| 37 | |||
| 38 | #undef RGBLED_NUM | ||
| 39 | #define RGBLIGHT_ANIMATIONS | ||
| 40 | #define RGBLED_NUM 27 | ||
| 41 | #define RGBLIGHT_LIMIT_VAL 120 | ||
| 42 | #define RGBLIGHT_HUE_STEP 10 | ||
| 43 | #define RGBLIGHT_SAT_STEP 17 | ||
| 44 | #define RGBLIGHT_VAL_STEP 17 | ||
diff --git a/keyboards/crkbd/keymaps/foostan/keymap.c b/keyboards/crkbd/keymaps/foostan/keymap.c new file mode 100644 index 000000000..5235b7836 --- /dev/null +++ b/keyboards/crkbd/keymaps/foostan/keymap.c | |||
| @@ -0,0 +1,241 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #ifdef PROTOCOL_LUFA | ||
| 3 | #include "lufa.h" | ||
| 4 | #include "split_util.h" | ||
| 5 | #endif | ||
| 6 | #ifdef SSD1306OLED | ||
| 7 | #include "ssd1306.h" | ||
| 8 | #endif | ||
| 9 | |||
| 10 | extern keymap_config_t keymap_config; | ||
| 11 | |||
| 12 | #ifdef RGBLIGHT_ENABLE | ||
| 13 | //Following line allows macro to read current RGB settings | ||
| 14 | extern rgblight_config_t rgblight_config; | ||
| 15 | #endif | ||
| 16 | |||
| 17 | extern uint8_t is_master; | ||
| 18 | |||
| 19 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 20 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 21 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 22 | // entirely and just use numbers. | ||
| 23 | #define _QWERTY 0 | ||
| 24 | #define _LOWER 1 | ||
| 25 | #define _RAISE 2 | ||
| 26 | #define _ADJUST 3 | ||
| 27 | |||
| 28 | enum custom_keycodes { | ||
| 29 | QWERTY = SAFE_RANGE, | ||
| 30 | LOWER, | ||
| 31 | RAISE, | ||
| 32 | ADJUST, | ||
| 33 | BACKLIT, | ||
| 34 | RGBRST | ||
| 35 | }; | ||
| 36 | |||
| 37 | enum macro_keycodes { | ||
| 38 | KC_SAMPLEMACRO, | ||
| 39 | }; | ||
| 40 | |||
| 41 | #define KC______ KC_TRNS | ||
| 42 | #define KC_XXXXX KC_NO | ||
| 43 | #define KC_LOWER LOWER | ||
| 44 | #define KC_RAISE RAISE | ||
| 45 | #define KC_RST RESET | ||
| 46 | #define KC_LRST RGBRST | ||
| 47 | #define KC_LTOG RGB_TOG | ||
| 48 | #define KC_LHUI RGB_HUI | ||
| 49 | #define KC_LHUD RGB_HUD | ||
| 50 | #define KC_LSAI RGB_SAI | ||
| 51 | #define KC_LSAD RGB_SAD | ||
| 52 | #define KC_LVAI RGB_VAI | ||
| 53 | #define KC_LVAD RGB_VAD | ||
| 54 | #define KC_LMOD RGB_MOD | ||
| 55 | #define KC_GUIEI GUI_T(KC_LANG2) | ||
| 56 | #define KC_ALTKN ALT_T(KC_LANG1) | ||
| 57 | |||
| 58 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 59 | [_QWERTY] = LAYOUT_kc( \ | ||
| 60 | //,-----------------------------------------. ,-----------------------------------------. | ||
| 61 | TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC,\ | ||
| 62 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 63 | LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT,\ | ||
| 64 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 65 | LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ESC,\ | ||
| 66 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | ||
| 67 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | ||
| 68 | //`--------------------' `--------------------' | ||
| 69 | ), | ||
| 70 | |||
| 71 | [_LOWER] = LAYOUT_kc( \ | ||
| 72 | //,-----------------------------------------. ,-----------------------------------------. | ||
| 73 | TAB, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,\ | ||
| 74 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 75 | LCTL, F1, F2, F3, F4, F5, LEFT, DOWN, UP, RIGHT, XXXXX, XXXXX,\ | ||
| 76 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 77 | LSFT, F6, F7, F8, F9, F10, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | ||
| 78 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | ||
| 79 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | ||
| 80 | //`--------------------' `--------------------' | ||
| 81 | ), | ||
| 82 | |||
| 83 | [_RAISE] = LAYOUT_kc( \ | ||
| 84 | //,-----------------------------------------. ,-----------------------------------------. | ||
| 85 | TAB, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, BSPC,\ | ||
| 86 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 87 | LCTL, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, GRV,\ | ||
| 88 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 89 | LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, PLUS, LBRC, RBRC, BSLS, TILD,\ | ||
| 90 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | ||
| 91 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | ||
| 92 | //`--------------------' `--------------------' | ||
| 93 | ), | ||
| 94 | |||
| 95 | [_ADJUST] = LAYOUT_kc( \ | ||
| 96 | //,-----------------------------------------. ,-----------------------------------------. | ||
| 97 | RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | ||
| 98 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 99 | LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | ||
| 100 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | ||
| 101 | LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ | ||
| 102 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | ||
| 103 | GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ | ||
| 104 | //`--------------------' `--------------------' | ||
| 105 | ) | ||
| 106 | }; | ||
| 107 | |||
| 108 | int RGB_current_mode; | ||
| 109 | |||
| 110 | void persistent_default_layer_set(uint16_t default_layer) { | ||
| 111 | eeconfig_update_default_layer(default_layer); | ||
| 112 | default_layer_set(default_layer); | ||
| 113 | } | ||
| 114 | |||
| 115 | // Setting ADJUST layer RGB back to default | ||
| 116 | void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | ||
| 117 | if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { | ||
| 118 | layer_on(layer3); | ||
| 119 | } else { | ||
| 120 | layer_off(layer3); | ||
| 121 | } | ||
| 122 | } | ||
| 123 | |||
| 124 | void matrix_init_user(void) { | ||
| 125 | #ifdef RGBLIGHT_ENABLE | ||
| 126 | RGB_current_mode = rgblight_config.mode; | ||
| 127 | #endif | ||
| 128 | //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h | ||
| 129 | #ifdef SSD1306OLED | ||
| 130 | iota_gfx_init(!has_usb()); // turns on the display | ||
| 131 | #endif | ||
| 132 | } | ||
| 133 | |||
| 134 | //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h | ||
| 135 | #ifdef SSD1306OLED | ||
| 136 | |||
| 137 | // When add source files to SRC in rules.mk, you can use functions. | ||
| 138 | const char *read_layer_state(void); | ||
| 139 | const char *read_logo(void); | ||
| 140 | void set_keylog(uint16_t keycode, keyrecord_t *record); | ||
| 141 | const char *read_keylog(void); | ||
| 142 | const char *read_keylogs(void); | ||
| 143 | |||
| 144 | // const char *read_mode_icon(bool swap); | ||
| 145 | // const char *read_host_led_state(void); | ||
| 146 | // void set_timelog(void); | ||
| 147 | // const char *read_timelog(void); | ||
| 148 | |||
| 149 | void matrix_scan_user(void) { | ||
| 150 | iota_gfx_task(); | ||
| 151 | } | ||
| 152 | |||
| 153 | void matrix_render_user(struct CharacterMatrix *matrix) { | ||
| 154 | if (is_master) { | ||
| 155 | // If you want to change the display of OLED, you need to change here | ||
| 156 | matrix_write_ln(matrix, read_layer_state()); | ||
| 157 | matrix_write_ln(matrix, read_keylog()); | ||
| 158 | matrix_write_ln(matrix, read_keylogs()); | ||
| 159 | //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); | ||
| 160 | //matrix_write_ln(matrix, read_host_led_state()); | ||
| 161 | //matrix_write_ln(matrix, read_timelog()); | ||
| 162 | } else { | ||
| 163 | matrix_write(matrix, read_logo()); | ||
| 164 | } | ||
| 165 | } | ||
| 166 | |||
| 167 | void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { | ||
| 168 | if (memcmp(dest->display, source->display, sizeof(dest->display))) { | ||
| 169 | memcpy(dest->display, source->display, sizeof(dest->display)); | ||
| 170 | dest->dirty = true; | ||
| 171 | } | ||
| 172 | } | ||
| 173 | |||
| 174 | void iota_gfx_task_user(void) { | ||
| 175 | struct CharacterMatrix matrix; | ||
| 176 | matrix_clear(&matrix); | ||
| 177 | matrix_render_user(&matrix); | ||
| 178 | matrix_update(&display, &matrix); | ||
| 179 | } | ||
| 180 | #endif//SSD1306OLED | ||
| 181 | |||
| 182 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 183 | if (record->event.pressed) { | ||
| 184 | #ifdef SSD1306OLED | ||
| 185 | set_keylog(keycode, record); | ||
| 186 | #endif | ||
| 187 | // set_timelog(); | ||
| 188 | } | ||
| 189 | |||
| 190 | switch (keycode) { | ||
| 191 | case QWERTY: | ||
| 192 | if (record->event.pressed) { | ||
| 193 | persistent_default_layer_set(1UL<<_QWERTY); | ||
| 194 | } | ||
| 195 | return false; | ||
| 196 | case LOWER: | ||
| 197 | if (record->event.pressed) { | ||
| 198 | layer_on(_LOWER); | ||
| 199 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 200 | } else { | ||
| 201 | layer_off(_LOWER); | ||
| 202 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 203 | } | ||
| 204 | return false; | ||
| 205 | case RAISE: | ||
| 206 | if (record->event.pressed) { | ||
| 207 | layer_on(_RAISE); | ||
| 208 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 209 | } else { | ||
| 210 | layer_off(_RAISE); | ||
| 211 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 212 | } | ||
| 213 | return false; | ||
| 214 | case ADJUST: | ||
| 215 | if (record->event.pressed) { | ||
| 216 | layer_on(_ADJUST); | ||
| 217 | } else { | ||
| 218 | layer_off(_ADJUST); | ||
| 219 | } | ||
| 220 | return false; | ||
| 221 | case RGB_MOD: | ||
| 222 | #ifdef RGBLIGHT_ENABLE | ||
| 223 | if (record->event.pressed) { | ||
| 224 | rgblight_mode(RGB_current_mode); | ||
| 225 | rgblight_step(); | ||
| 226 | RGB_current_mode = rgblight_config.mode; | ||
| 227 | } | ||
| 228 | #endif | ||
| 229 | return false; | ||
| 230 | case RGBRST: | ||
| 231 | #ifdef RGBLIGHT_ENABLE | ||
| 232 | if (record->event.pressed) { | ||
| 233 | eeconfig_update_rgblight_default(); | ||
| 234 | rgblight_enable(); | ||
| 235 | RGB_current_mode = rgblight_config.mode; | ||
| 236 | } | ||
| 237 | #endif | ||
| 238 | break; | ||
| 239 | } | ||
| 240 | return true; | ||
| 241 | } | ||
diff --git a/keyboards/crkbd/keymaps/foostan/rules.mk b/keyboards/crkbd/keymaps/foostan/rules.mk new file mode 100644 index 000000000..f84e5b2af --- /dev/null +++ b/keyboards/crkbd/keymaps/foostan/rules.mk | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | |||
| 2 | # If you want to change the display of OLED, you need to change here | ||
| 3 | SRC += ./lib/glcdfont.c \ | ||
| 4 | ./lib/rgb_state_reader.c \ | ||
| 5 | ./lib/layer_state_reader.c \ | ||
| 6 | ./lib/logo_reader.c \ | ||
| 7 | ./lib/keylogger.c \ | ||
| 8 | # ./lib/mode_icon_reader.c \ | ||
| 9 | # ./lib/host_led_state_reader.c \ | ||
| 10 | # ./lib/timelogger.c \ | ||
