diff options
| author | QMK Bot <hello@qmk.fm> | 2021-06-24 02:22:11 +0000 |
|---|---|---|
| committer | QMK Bot <hello@qmk.fm> | 2021-06-24 02:22:11 +0000 |
| commit | b69fa51ec39d2825067b11f065ff8e59e41d8dc9 (patch) | |
| tree | c36f3c63b8472a1f5b951cc9e2e5a03df1532fee /keyboards/crkbd | |
| parent | 1ea01765e19bf84b9a09954443b7d64be2bec0c7 (diff) | |
| parent | 909d9c228fb03750170aa7ca49ea10d08a6e1113 (diff) | |
| download | qmk_firmware-b69fa51ec39d2825067b11f065ff8e59e41d8dc9.tar.gz qmk_firmware-b69fa51ec39d2825067b11f065ff8e59e41d8dc9.zip | |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/crkbd')
| -rw-r--r-- | keyboards/crkbd/keymaps/snowe/config.h | 55 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/snowe/keycode_aliases.h | 81 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/snowe/keymap.c | 190 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/snowe/rules.mk | 25 |
4 files changed, 351 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h new file mode 100644 index 000000000..b624b589b --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/config.h | |||
| @@ -0,0 +1,55 @@ | |||
| 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 USE_SERIAL_PD2 | ||
| 32 | |||
| 33 | #define TAPPING_FORCE_HOLD | ||
| 34 | #define TAPPING_TERM 200 | ||
| 35 | |||
| 36 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 37 | #undef PERMISSIVE_HOLD | ||
| 38 | |||
| 39 | #ifdef RGBLIGHT_ENABLE | ||
| 40 | #undef RGBLED_NUM | ||
| 41 | #define RGBLIGHT_ANIMATIONS | ||
| 42 | #define RGBLED_NUM 27 | ||
| 43 | #define RGBLIGHT_LIMIT_VAL 120 | ||
| 44 | #define RGBLIGHT_HUE_STEP 10 | ||
| 45 | #define RGBLIGHT_SAT_STEP 17 | ||
| 46 | #define RGBLIGHT_VAL_STEP 17 | ||
| 47 | #endif | ||
| 48 | |||
| 49 | #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" | ||
| 50 | |||
| 51 | // fix for me putting alt under A and being a fast typist | ||
| 52 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 53 | //#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY | ||
| 54 | |||
| 55 | #define LAYER_STATE_8BIT \ No newline at end of file | ||
diff --git a/keyboards/crkbd/keymaps/snowe/keycode_aliases.h b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h new file mode 100644 index 000000000..bd70a79aa --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2020 Drashna Jaelre <@drashna> | ||
| 3 | * Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> | ||
| 4 | * | ||
| 5 | * This program is free software: you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation, either version 2 of the License, or | ||
| 8 | * (at your option) any later version. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, | ||
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | * GNU General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #define GUI_ESC GUI_T(KC_ESC) | ||
| 22 | #define CTL_ESC CTL_T(KC_ESC) | ||
| 23 | #define SH_BKSP SFT_T(KC_BSPC) | ||
| 24 | #define SP_RAIS LT(_UPPER, KC_SPC) | ||
| 25 | |||
| 26 | #define LOWER MO(_LOWER) | ||
| 27 | #define RAISE MO(_UPPER) | ||
| 28 | #define ADJUST MO(_ADJUST) | ||
| 29 | #define TG_MODS TG(_MODS) | ||
| 30 | //#define TG_GAME TG(_GAMEPAD) | ||
| 31 | //#define OS_LWR OSL(_LOWER) | ||
| 32 | //#define OS_RSE OSL(_UPPER) | ||
| 33 | |||
| 34 | //#define KC_SEC1 KC_SECRET_1 | ||
| 35 | //#define KC_SEC2 KC_SECRET_2 | ||
| 36 | //#define KC_SEC3 KC_SECRET_3 | ||
| 37 | //#define KC_SEC4 KC_SECRET_4 | ||
| 38 | //#define KC_SEC5 KC_SECRET_5 | ||
| 39 | |||
| 40 | #define QWERTY KC_QWERTY | ||
| 41 | #define DVORAK KC_DVORAK | ||
| 42 | #define COLEMAK KC_COLEMAK | ||
| 43 | #define WORKMAN KC_WORKMAN | ||
| 44 | |||
| 45 | #define KC_RESET RESET | ||
| 46 | #define KC_RST KC_RESET | ||
| 47 | |||
| 48 | #ifdef SWAP_HANDS_ENABLE | ||
| 49 | # define KC_C1R3 SH_TT | ||
| 50 | #else // SWAP_HANDS_ENABLE | ||
| 51 | # define KC_C1R3 KC_BSPC | ||
| 52 | #endif // SWAP_HANDS_ENABLE | ||
| 53 | |||
| 54 | #define BK_LWER LT(_LOWER, KC_BSPC) | ||
| 55 | #define SP_LWER LT(_LOWER, KC_SPC) | ||
| 56 | #define DL_RAIS LT(_UPPER, KC_DEL) | ||
| 57 | #define ET_RAIS LT(_UPPER, KC_ENTER) | ||
| 58 | #define SFT_ENT SFT_T(KC_ENTER) | ||
| 59 | #define SP_RAIS LT(_UPPER, KC_SPC) | ||
| 60 | |||
| 61 | /* OSM keycodes, to keep things clean and easy to change */ | ||
| 62 | #define KC_MLSF OSM(MOD_LSFT) | ||
| 63 | #define KC_MRSF OSM(MOD_RSFT) | ||
| 64 | |||
| 65 | #define OS_LGUI OSM(MOD_LGUI) | ||
| 66 | #define OS_RGUI OSM(MOD_RGUI) | ||
| 67 | #define OS_LSFT OSM(MOD_LSFT) | ||
| 68 | #define OS_RSFT OSM(MOD_RSFT) | ||
| 69 | #define OS_LCTL OSM(MOD_LCTL) | ||
| 70 | #define OS_RCTL OSM(MOD_RCTL) | ||
| 71 | #define OS_LALT OSM(MOD_LALT) | ||
| 72 | #define OS_RALT OSM(MOD_RALT) | ||
| 73 | #define OS_MEH OSM(MOD_MEH) | ||
| 74 | #define OS_HYPR OSM(MOD_HYPR) | ||
| 75 | |||
| 76 | #define ALT_APP ALT_T(KC_APP) | ||
| 77 | |||
| 78 | #define MG_NKRO MAGIC_TOGGLE_NKRO | ||
| 79 | |||
| 80 | #define UC_IRNY UC(0x2E2E) | ||
| 81 | #define UC_CLUE UC(0x203D) | ||
diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c new file mode 100644 index 000000000..4dfd6ecbe --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/keymap.c | |||
| @@ -0,0 +1,190 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2019 @foostan | ||
| 3 | Copyright 2020 Drashna Jaelre <@drashna> | ||
| 4 | Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> | ||
| 5 | |||
| 6 | This program is free software: you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation, either version 2 of the License, or | ||
| 9 | (at your option) any later version. | ||
| 10 | |||
| 11 | This program is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | */ | ||
| 19 | |||
| 20 | #include QMK_KEYBOARD_H | ||
| 21 | #include "snowe.h" | ||
| 22 | |||
| 23 | // Symbols chart | ||
| 24 | // ↯ hyper key (ctrl, alt, shift, super) | ||
| 25 | // ⌘ command | ||
| 26 | // ⌥ option | ||
| 27 | // ⌃ control | ||
| 28 | // ⇧ shift | ||
| 29 | // ⌫ backspace | ||
| 30 | // ⌦ delete | ||
| 31 | // ⎋ escape | ||
| 32 | // ↩ enter | ||
| 33 | |||
| 34 | /* Wrapper | ||
| 35 | * ,-----------------------------------------------. .-----------------------------------------------. | ||
| 36 | * | Tab | K01 | K02 | K03 | K04 | K05 | | K06 | K07 | K08 | K09 | K0A | | | ||
| 37 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 38 | * | ⌘/⎋ | ⌃/K11 | K12 | K13 | K14 | K15 | | K16 | K17 | K18 | K19 | ⌥/K1A | | | ||
| 39 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 40 | * | ↯/⌦ | ⌥/K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | ⌃/K2A | | | ||
| 41 | * `-----------------------. | | .-----------------------' | ||
| 42 | * |-------+-------+-------| |-------+-------+-------| | ||
| 43 | * | ⌃ | ⇧/↩ | ⌫/LWR | | ␣/RAY | ␣ | R ⌥ | | ||
| 44 | * `-----------------------' '-----------------------' | ||
| 45 | */ | ||
| 46 | // clang-format off | ||
| 47 | #define LAYOUT_crkbd_base( \ | ||
| 48 | K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ | ||
| 49 | K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ | ||
| 50 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | ||
| 51 | ) \ | ||
| 52 | LAYOUT_wrapper( \ | ||
| 53 | KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ | ||
| 54 | GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \ | ||
| 55 | HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \ | ||
| 56 | KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \ | ||
| 57 | ) | ||
| 58 | // clang-format on | ||
| 59 | #define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) | ||
| 60 | |||
| 61 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 62 | // clang-format off | ||
| 63 | /* QWERTY | ||
| 64 | * ,-----------------------------------------------. .-----------------------------------------------. | ||
| 65 | * | | Q | W | E | R | T | | Y | U | I | O | P | | | ||
| 66 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 67 | * | | A | S | D | F | G | | H | J | K | L | ; | ' | | ||
| 68 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 69 | * | | Z | X | C | V | B | | N | M | , | . | / | | | ||
| 70 | * `-----------------------. | | .-----------------------' | ||
| 71 | * |-------+-------+-------| |-------+-------+-------| | ||
| 72 | * | | | | | | | | | ||
| 73 | * `-----------------------' '-----------------------' | ||
| 74 | */ | ||
| 75 | [_MAIN] = LAYOUT_crkbd_base_wrapper( | ||
| 76 | _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, | ||
| 77 | _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, | ||
| 78 | _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ | ||
| 79 | ), | ||
| 80 | |||
| 81 | /* Lower | ||
| 82 | * ,-----------------------------------------------. .-----------------------------------------------. | ||
| 83 | * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | | ||
| 84 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 85 | * | | | | | | | | | _ | + | [ | ] | | | ||
| 86 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 87 | * | | | | | | | | | ← | ↑ | ↓ | → | | | ||
| 88 | * `-----------------------. | | .-----------------------' | ||
| 89 | * |-------+-------+-------| |-------+-------+-------| | ||
| 90 | * | | | | | | | | | ||
| 91 | * `-----------------------' '-----------------------' | ||
| 92 | */ | ||
| 93 | [_LOWER] = LAYOUT_wrapper( | ||
| 94 | KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, | ||
| 95 | KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, | ||
| 96 | _______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, | ||
| 97 | _______, _______, _______, _______, _______, _______ | ||
| 98 | ), | ||
| 99 | |||
| 100 | |||
| 101 | /* | ||
| 102 | * ,-----------------------------------------------. .-----------------------------------------------. | ||
| 103 | * | | | | | | | | | | | | | | | ||
| 104 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 105 | * | | | | | | | | | | | | | | | ||
| 106 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 107 | * | | | | | | | | | | | | | | | ||
| 108 | * `-----------------------. | | .-----------------------' | ||
| 109 | * |-------+-------+-------| |-------+-------+-------| | ||
| 110 | * | | | | | | | | | ||
| 111 | * `-----------------------' '-----------------------' | ||
| 112 | */ | ||
| 113 | /* Raise | ||
| 114 | * ,-----------------------------------------------. .-----------------------------------------------. | ||
| 115 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
| 116 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 117 | * | | | | | | | | | ← | ↑ | ↓ | → | | | ||
| 118 | * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| | ||
| 119 | * | | | | | | | | | home |pg down| pg up | end | | | ||
| 120 | * `-----------------------. | | .-----------------------' | ||
| 121 | * |-------+-------+-------| |-------+-------+-------| | ||
| 122 | * | | | | | | | | | ||
| 123 | * `-----------------------' '-----------------------' | ||
| 124 | */ | ||
| 125 | [_UPPER] = LAYOUT_wrapper( \ | ||
| 126 | KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, | ||
| 127 | _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, | ||
| 128 | _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, | ||
| 129 | _______, _______, _______, _______, _______, _______ | ||
| 130 | ), | ||
| 131 | |||
| 132 | [_ADJUST] = LAYOUT_wrapper( \ | ||
| 133 | _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, | ||
| 134 | _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, | ||
| 135 | _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, | ||
| 136 | _______, _______, _______, _______, _______, _______ | ||
| 137 | ) | ||
| 138 | // clang-format on | ||
| 139 | }; | ||
| 140 | |||
| 141 | layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); } | ||
| 142 | |||
| 143 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 144 | switch (keycode) { | ||
| 145 | case KC_LCTL: | ||
| 146 | case KC_RCTL: | ||
| 147 | #ifdef OCEAN_DREAM_ENABLE | ||
| 148 | is_calm = (record->event.pressed) ? true : false; | ||
| 149 | #endif | ||
| 150 | #ifdef LUNA_ENABLE | ||
| 151 | if (record->event.pressed) { | ||
| 152 | isSneaking = true; | ||
| 153 | } else { | ||
| 154 | isSneaking = false; | ||
| 155 | } | ||
| 156 | #endif | ||
| 157 | break; | ||
| 158 | case KC_SPC: | ||
| 159 | #ifdef LUNA_ENABLE | ||
| 160 | if (record->event.pressed) { | ||
| 161 | isJumping = true; | ||
| 162 | showedJump = false; | ||
| 163 | } else { | ||
| 164 | isJumping = false; | ||
| 165 | } | ||
| 166 | #endif | ||
| 167 | break; | ||
| 168 | } | ||
| 169 | return true; | ||
| 170 | } | ||
| 171 | |||
| 172 | // uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { | ||
| 173 | // switch (keycode) { | ||
| 174 | // case ALT_T(KC_A): | ||
| 175 | // case SH_BKSP: | ||
| 176 | // return TAPPING_TERM + 500; | ||
| 177 | // default: | ||
| 178 | // return TAPPING_TERM; | ||
| 179 | // } | ||
| 180 | //} | ||
| 181 | // | ||
| 182 | // bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { | ||
| 183 | // switch (keycode) { | ||
| 184 | // case ALT_T(KC_A): | ||
| 185 | // case SH_BKSP: | ||
| 186 | // return true; | ||
| 187 | // default: | ||
| 188 | // return false; | ||
| 189 | // } | ||
| 190 | //} \ No newline at end of file | ||
diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk new file mode 100644 index 000000000..fac462a68 --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/rules.mk | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 2 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 3 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 4 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 5 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 6 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 7 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 8 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 9 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
| 10 | LEADER_ENABLE = no | ||
| 11 | MIDI_ENABLE = no # MIDI controls | ||
| 12 | UNICODE_ENABLE = no # Unicode | ||
| 13 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 14 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 15 | RGBLIGHT_TWINKLE = no | ||
| 16 | OLED_DRIVER_ENABLE = yes | ||
| 17 | RGB_MATRIX_ENABLE = yes | ||
| 18 | |||
| 19 | OCEAN_DREAM_ENABLE = yes | ||
| 20 | LUNA_ENABLE = no # disabled so travis build succeeds | ||
| 21 | |||
| 22 | # if firmware size over limit, try this option | ||
| 23 | CFLAGS += -flto | ||
| 24 | |||
| 25 | WPM_ENABLE = yes | ||
