summaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd/keymaps/snowe/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd/keymaps/snowe/keymap.c')
-rw-r--r--keyboards/crkbd/keymaps/snowe/keymap.c190
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