diff options
Diffstat (limited to 'keyboards/crkbd/keymaps/snowe/keymap.c')
-rw-r--r-- | keyboards/crkbd/keymaps/snowe/keymap.c | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c new file mode 100644 index 0000000000..4dfd6ecbeb --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/keymap.c @@ -0,0 +1,190 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include QMK_KEYBOARD_H +#include "snowe.h" + +// Symbols chart +// ↯ hyper key (ctrl, alt, shift, super) +// ⌘ command +// ⌥ option +// ⌃ control +// ⇧ shift +// ⌫ backspace +// ⌦ delete +// ⎋ escape +// ↩ enter + +/* Wrapper + * ,-----------------------------------------------. .-----------------------------------------------. + * | Tab | K01 | K02 | K03 | K04 | K05 | | K06 | K07 | K08 | K09 | K0A | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | ⌘/⎋ | ⌃/K11 | K12 | K13 | K14 | K15 | | K16 | K17 | K18 | K19 | ⌥/K1A | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | ↯/⌦ | ⌥/K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | ⌃/K2A | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | ⌃ | ⇧/↩ | ⌫/LWR | | ␣/RAY | ␣ | R ⌥ | + * `-----------------------' '-----------------------' + */ +// clang-format off +#define LAYOUT_crkbd_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_wrapper( \ + KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ + GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \ + HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \ + KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \ + ) +// clang-format on +#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + /* QWERTY + * ,-----------------------------------------------. .-----------------------------------------------. + * | | Q | W | E | R | T | | Y | U | I | O | P | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | A | S | D | F | G | | H | J | K | L | ; | ' | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | Z | X | C | V | B | | N | M | , | . | / | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_MAIN] = LAYOUT_crkbd_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + /* Lower + * ,-----------------------------------------------. .-----------------------------------------------. + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | _ | + | [ | ] | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | ← | ↑ | ↓ | → | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_LOWER] = LAYOUT_wrapper( + KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, + KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, _______, _______ + ), + + + /* + * ,-----------------------------------------------. .-----------------------------------------------. + * | | | | | | | | | | | | | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | | | | | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | | | | | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + /* Raise + * ,-----------------------------------------------. .-----------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | ← | ↑ | ↓ | → | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | home |pg down| pg up | end | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_UPPER] = LAYOUT_wrapper( \ + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_wrapper( \ + _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, + _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, + _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + _______, _______, _______, _______, _______, _______ + ) + // clang-format on +}; + +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); } + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LCTL: + case KC_RCTL: +#ifdef OCEAN_DREAM_ENABLE + is_calm = (record->event.pressed) ? true : false; +#endif +#ifdef LUNA_ENABLE + if (record->event.pressed) { + isSneaking = true; + } else { + isSneaking = false; + } +#endif + break; + case KC_SPC: +#ifdef LUNA_ENABLE + if (record->event.pressed) { + isJumping = true; + showedJump = false; + } else { + isJumping = false; + } +#endif + break; + } + return true; +} + +// uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { +// switch (keycode) { +// case ALT_T(KC_A): +// case SH_BKSP: +// return TAPPING_TERM + 500; +// default: +// return TAPPING_TERM; +// } +//} +// +// bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { +// switch (keycode) { +// case ALT_T(KC_A): +// case SH_BKSP: +// return true; +// default: +// return false; +// } +//}
\ No newline at end of file |