aboutsummaryrefslogtreecommitdiff
path: root/keyboard/planck/keymaps/default/keymap.c
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-04-14 19:13:24 -0400
committerJack Humbert <jack.humb@gmail.com>2016-04-14 19:13:24 -0400
commitddbe4307789b6087c3e6f146a5e02f1084f3cecc (patch)
treed75c0ced15406d0d9d1cba0750f9296a0dbaf8e1 /keyboard/planck/keymaps/default/keymap.c
parentbdb6dceaebc358dd4aae593d51d3ba0dd61858a9 (diff)
downloadqmk_firmware-ddbe4307789b6087c3e6f146a5e02f1084f3cecc.tar.gz
qmk_firmware-ddbe4307789b6087c3e6f146a5e02f1084f3cecc.zip
new defaults
Diffstat (limited to 'keyboard/planck/keymaps/default/keymap.c')
-rw-r--r--keyboard/planck/keymaps/default/keymap.c146
1 files changed, 132 insertions, 14 deletions
diff --git a/keyboard/planck/keymaps/default/keymap.c b/keyboard/planck/keymaps/default/keymap.c
index 30ad87760..e06567339 100644
--- a/keyboard/planck/keymaps/default/keymap.c
+++ b/keyboard/planck/keymaps/default/keymap.c
@@ -5,6 +5,10 @@
5#ifdef BACKLIGHT_ENABLE 5#ifdef BACKLIGHT_ENABLE
6 #include "backlight.h" 6 #include "backlight.h"
7#endif 7#endif
8#include "action_layer.h"
9#ifdef AUDIO_ENABLE
10 #include "audio.h"
11#endif
8 12
9// Each layer gets a name for readability, which is then used in the keymap matrix below. 13// Each layer gets a name for readability, which is then used in the keymap matrix below.
10// The underscores don't mean anything - you can have a layer called STUFF or any other name. 14// The underscores don't mean anything - you can have a layer called STUFF or any other name.
@@ -15,6 +19,15 @@
15#define _DV 2 19#define _DV 2
16#define _LW 3 20#define _LW 3
17#define _RS 4 21#define _RS 4
22#define _AD 5
23
24// Macro name shortcuts
25#define M_QW 0
26#define M_CM 1
27#define M_DV 2
28#define M_LW 3
29#define M_RS 4
30#define M_BL 5
18 31
19// Fillers to make layering more clear 32// Fillers to make layering more clear
20#define _______ KC_TRNS 33#define _______ KC_TRNS
@@ -37,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 50 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
38 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, 51 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
39 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 52 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
40 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 53 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, M(M_LW), KC_SPC, KC_SPC, M(M_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
41}, 54},
42 55
43/* Colemak 56/* Colemak
@@ -55,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, 68 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
56 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 69 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
57 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 70 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
58 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 71 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, M(M_LW), KC_SPC, KC_SPC, M(M_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
59}, 72},
60 73
61/* Dvorak 74/* Dvorak
@@ -73,24 +86,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
73 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, 86 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
74 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, 87 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
75 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, 88 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
76 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 89 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, M(M_LW), KC_SPC, KC_SPC, M(M_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
77}, 90},
78 91
79/* Raise 92/* Raise
80 * ,-----------------------------------------------------------------------------------. 93 * ,-----------------------------------------------------------------------------------.
81 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 94 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
82 * |------+------+------+------+------+-------------+------+------+------+------+------| 95 * |------+------+------+------+------+-------------+------+------+------+------+------|
83 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | 96 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
84 * |------+------+------+------+------+------|------+------+------+------+------+------| 97 * |------+------+------+------+------+------|------+------+------+------+------+------|
85 * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Dvorak| Reset|Enter | 98 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
86 * |------+------+------+------+------+------+------+------+------+------+------+------| 99 * |------+------+------+------+------+------+------+------+------+------+------+------|
87 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Next | Vol- | Vol+ | Play | 100 * | | | | | | | | Next | Vol- | Vol+ | Play |
88 * `-----------------------------------------------------------------------------------' 101 * `-----------------------------------------------------------------------------------'
89 */ 102 */
90[_RS] = { 103[_RS] = {
91 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 104 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
92 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 105 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
93 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, _______}, 106 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______},
94 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 107 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
95}, 108},
96 109
@@ -98,18 +111,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
98 * ,-----------------------------------------------------------------------------------. 111 * ,-----------------------------------------------------------------------------------.
99 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | 112 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
100 * |------+------+------+------+------+-------------+------+------+------+------+------| 113 * |------+------+------+------+------+-------------+------+------+------+------+------|
101 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | 114 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
102 * |------+------+------+------+------+------|------+------+------+------+------+------| 115 * |------+------+------+------+------+------|------+------+------+------+------+------|
103 * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Dvorak| Reset|Enter | 116 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
104 * |------+------+------+------+------+------+------+------+------+------+------+------| 117 * |------+------+------+------+------+------+------+------+------+------+------+------|
105 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Next | Vol- | Vol+ | Play | 118 * | | | | | | | | Next | Vol- | Vol+ | Play |
106 * `-----------------------------------------------------------------------------------' 119 * `-----------------------------------------------------------------------------------'
107 */ 120 */
108[_LW] = { 121[_LW] = {
109 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 122 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
110 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 123 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
111 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, _______}, 124 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______},
112 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 125 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
126},
127
128/* Adjust (Lower + Raise)
129 * ,-----------------------------------------------------------------------------------.
130 * | | Reset| | | | | | | | | | Del |
131 * |------+------+------+------+------+-------------+------+------+------+------+------|
132 * | | | | | | | |Qwerty|Colemk|Dvorak| | |
133 * |------+------+------+------+------+------|------+------+------+------+------+------|
134 * | | | | | | | | | | | | |
135 * |------+------+------+------+------+------+------+------+------+------+------+------|
136 * | | | | | | | | | | | |
137 * `-----------------------------------------------------------------------------------'
138 */
139[_AD] = {
140 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
141 {_______, _______, _______, _______, _______, _______, _______, M(M_QW), M(M_CM), M(M_DV), _______, _______},
142 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
143 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
113} 144}
114}; 145};
115 146
@@ -117,11 +148,85 @@ const uint16_t PROGMEM fn_actions[] = {
117 148
118}; 149};
119 150
151float tone_qw[][2] = {
152 {440.0*pow(2.0,(67)/12.0), 400},
153 {440.0*pow(2.0,(60)/12.0), 400},
154 {0, 400},
155 {440.0*pow(2.0,(67)/12.0), 1600}
156};
157
158float tone_cm[][2] = {
159 {440.0*pow(2.0,(67)/12.0), 400},
160 {440.0*pow(2.0,(60)/12.0), 400},
161 {0, 400},
162 {440.0*pow(2.0,(67)/12.0), 1000},
163 {0, 200},
164 {440.0*pow(2.0,(67)/12.0), 1000}
165};
166
167float tone_dv[][2] = {
168 {440.0*pow(2.0,(67)/12.0), 400},
169 {440.0*pow(2.0,(60)/12.0), 400},
170 {0, 400},
171 {440.0*pow(2.0,(67)/12.0), 800},
172 {0, 200},
173 {440.0*pow(2.0,(67)/12.0), 800},
174 {0, 200},
175 {440.0*pow(2.0,(67)/12.0), 800}
176};
177
178
179#define IS_LAYER_ON(layer) ((layer_state) & (1<<(layer)))
180#define IS_LAYER_OFF(layer) ((!layer_state) & (1<<(layer)))
181
182void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
183 if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
184 layer_on(layer3);
185 } else {
186 layer_off(layer3);
187 }
188}
120const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 189const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
121{ 190{
122 // MACRODOWN only works in this function 191 // MACRODOWN only works in this function
123 switch(id) { 192 switch(id) {
124 case 0: 193 case M_QW:
194 if (record->event.pressed) {
195 play_notes(&tone_qw, 4, false);
196 default_layer_set(1UL<<_QW);
197 }
198 break;
199 case M_CM:
200 if (record->event.pressed) {
201 play_notes(&tone_cm, 6, false);
202 default_layer_set(1UL<<_CM);
203 }
204 break;
205 case M_DV:
206 if (record->event.pressed) {
207 play_notes(&tone_dv, 8, false);
208 default_layer_set(1UL<<_DV);
209 }
210 break;
211 case M_LW:
212 if (record->event.pressed) {
213 layer_on(_LW);
214 update_tri_layer(_LW, _RS, _AD);
215 } else {
216 layer_off(_LW);
217 update_tri_layer(_LW, _RS, _AD);
218 }
219 break;
220 case M_RS:
221 if (record->event.pressed) {
222 layer_on(_RS);
223 update_tri_layer(_LW, _RS, _AD);
224 } else {
225 layer_off(_RS);
226 update_tri_layer(_LW, _RS, _AD);
227 }
228 break;
229 case M_BL:
125 if (record->event.pressed) { 230 if (record->event.pressed) {
126 register_code(KC_RSFT); 231 register_code(KC_RSFT);
127 #ifdef BACKLIGHT_ENABLE 232 #ifdef BACKLIGHT_ENABLE
@@ -134,3 +239,16 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
134 } 239 }
135 return MACRO_NONE; 240 return MACRO_NONE;
136}; 241};
242
243float start_up[][2] = {
244 {440.0*pow(2.0,(67)/12.0), 650},
245 {440.0*pow(2.0,(64)/12.0), 450},
246 {440.0*pow(2.0,(55)/12.0), 450},
247 {440.0*pow(2.0,(60)/12.0), 450},
248 {440.0*pow(2.0,(64)/12.0), 1000}
249};
250
251void matrix_init_user(void) {
252 init_notes();
253 play_notes(&start_up, 5, false);
254}