aboutsummaryrefslogtreecommitdiff
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 000000000..4dfd6ecbe
--- /dev/null
+++ b/keyboards/crkbd/keymaps/snowe/keymap.c
@@ -0,0 +1,190 @@
1/*
2Copyright 2019 @foostan
3Copyright 2020 Drashna Jaelre <@drashna>
4Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010>
5
6This program is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along 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
61const 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
141layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); }
142
143bool 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