aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-04-16 01:19:37 -0400
committerJack Humbert <jack.humb@gmail.com>2016-04-16 01:19:37 -0400
commitd81ef5b7eb888ae2878e60d548854413ee3023c6 (patch)
tree908e4960aa64e6737d477d327878ceadc0861115
parent0b0ec82427aff54481103559066213056b6d7598 (diff)
downloadqmk_firmware-d81ef5b7eb888ae2878e60d548854413ee3023c6.tar.gz
qmk_firmware-d81ef5b7eb888ae2878e60d548854413ee3023c6.zip
new defaults for planck and preonic
-rw-r--r--keyboard/planck/keymaps/default/keymap.c74
-rw-r--r--keyboard/preonic/Makefile55
-rw-r--r--keyboard/preonic/keymaps/default/README.md35
-rw-r--r--keyboard/preonic/keymaps/default/keymap.c260
-rw-r--r--keyboard/preonic/keymaps/default/makefile.mk1
5 files changed, 308 insertions, 117 deletions
diff --git a/keyboard/planck/keymaps/default/keymap.c b/keyboard/planck/keymaps/default/keymap.c
index 3f34ba412..ede08ad7f 100644
--- a/keyboard/planck/keymaps/default/keymap.c
+++ b/keyboard/planck/keymaps/default/keymap.c
@@ -19,12 +19,16 @@
19#define _AD 5 19#define _AD 5
20 20
21// Macro name shortcuts 21// Macro name shortcuts
22#define M_QW 0 22#define QWERTY M(_QW)
23#define M_CM 1 23#define COLEMAK M(_CM)
24#define M_DV 2 24#define DVORAK M(_DV)
25#define M_LW 3 25#define LOWER M(_LW)
26#define M_RS 4 26#define RAISE M(_RS)
27#define M_BL 5 27#define M_BL 5
28#ifdef AUDIO_ENABLE
29 #define AUD_OFF M(6)
30 #define AUD_ON M(7)
31#endif
28 32
29// Fillers to make layering more clear 33// Fillers to make layering more clear
30#define _______ KC_TRNS 34#define _______ KC_TRNS
@@ -47,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 51 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
48 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, 52 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
49 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 53 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
50 {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} 54 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
51}, 55},
52 56
53/* Colemak 57/* Colemak
@@ -65,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, 69 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
66 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 70 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
67 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 71 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
68 {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} 72 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
69}, 73},
70 74
71/* Dvorak 75/* Dvorak
@@ -83,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
83 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, 87 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
84 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, 88 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
85 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, 89 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
86 {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} 90 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
87}, 91},
88 92
89/* Lower 93/* Lower
@@ -126,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
126 * ,-----------------------------------------------------------------------------------. 130 * ,-----------------------------------------------------------------------------------.
127 * | | Reset| | | | | | | | | | Del | 131 * | | Reset| | | | | | | | | | Del |
128 * |------+------+------+------+------+-------------+------+------+------+------+------| 132 * |------+------+------+------+------+-------------+------+------+------+------+------|
129 * | | | | | | | |Qwerty|Colemk|Dvorak| | | 133 * | | | |Aud on|Audoff| | |Qwerty|Colemk|Dvorak| | |
130 * |------+------+------+------+------+------|------+------+------+------+------+------| 134 * |------+------+------+------+------+------|------+------+------+------+------+------|
131 * | | | | | | | | | | | | | 135 * | | | | | | | | | | | | |
132 * |------+------+------+------+------+------+------+------+------+------+------+------| 136 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -135,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
135 */ 139 */
136[_AD] = { 140[_AD] = {
137 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, 141 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
138 {_______, _______, _______, _______, M(6), _______, _______, M(M_QW), M(M_CM), M(M_DV), _______, _______}, 142 {_______, _______, _______, AUD_ON, AUD_OFF, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______},
139 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, 143 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
140 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 144 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
141} 145}
@@ -146,6 +150,14 @@ const uint16_t PROGMEM fn_actions[] = {
146}; 150};
147 151
148#ifdef AUDIO_ENABLE 152#ifdef AUDIO_ENABLE
153float start_up[][2] = {
154 {440.0*pow(2.0,(67)/12.0), 12},
155 {440.0*pow(2.0,(64)/12.0), 8},
156 {440.0*pow(2.0,(55)/12.0), 8},
157 {440.0*pow(2.0,(60)/12.0), 8},
158 {440.0*pow(2.0,(64)/12.0), 20}
159};
160
149float tone_qw[][2] = { 161float tone_qw[][2] = {
150 {440.0*pow(2.0,(59)/12.0), 8}, 162 {440.0*pow(2.0,(59)/12.0), 8},
151 {440.0*pow(2.0,(60)/12.0), 8}, 163 {440.0*pow(2.0,(60)/12.0), 8},
@@ -157,20 +169,20 @@ float tone_cm[][2] = {
157 {440.0*pow(2.0,(59)/12.0), 8}, 169 {440.0*pow(2.0,(59)/12.0), 8},
158 {440.0*pow(2.0,(60)/12.0), 8}, 170 {440.0*pow(2.0,(60)/12.0), 8},
159 {0, 4}, 171 {0, 4},
160 {440.0*pow(2.0,(67)/12.0), 16}, 172 {440.0*pow(2.0,(67)/12.0), 12},
161 {0, 4}, 173 {0, 4},
162 {440.0*pow(2.0,(71)/12.0), 16} 174 {440.0*pow(2.0,(71)/12.0), 12}
163}; 175};
164 176
165float tone_dv[][2] = { 177float tone_dv[][2] = {
166 {440.0*pow(2.0,(59)/12.0), 8}, 178 {440.0*pow(2.0,(59)/12.0), 8},
167 {440.0*pow(2.0,(60)/12.0), 8}, 179 {440.0*pow(2.0,(60)/12.0), 8},
168 {0, 4}, 180 {0, 4},
169 {440.0*pow(2.0,(67)/12.0), 16}, 181 {440.0*pow(2.0,(67)/12.0), 8},
170 {0, 4}, 182 {0, 4},
171 {440.0*pow(2.0,(69)/12.0), 16}, 183 {440.0*pow(2.0,(69)/12.0), 8},
172 {0, 4}, 184 {0, 4},
173 {440.0*pow(2.0,(67)/12.0), 16} 185 {440.0*pow(2.0,(67)/12.0), 8}
174}; 186};
175#endif 187#endif
176 188
@@ -179,7 +191,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
179{ 191{
180 // MACRODOWN only works in this function 192 // MACRODOWN only works in this function
181 switch(id) { 193 switch(id) {
182 case M_QW: 194 case _QW:
183 if (record->event.pressed) { 195 if (record->event.pressed) {
184 #ifdef AUDIO_ENABLE 196 #ifdef AUDIO_ENABLE
185 play_notes(&tone_qw, 4, false); 197 play_notes(&tone_qw, 4, false);
@@ -187,7 +199,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
187 default_layer_set(1UL<<_QW); 199 default_layer_set(1UL<<_QW);
188 } 200 }
189 break; 201 break;
190 case M_CM: 202 case _CM:
191 if (record->event.pressed) { 203 if (record->event.pressed) {
192 #ifdef AUDIO_ENABLE 204 #ifdef AUDIO_ENABLE
193 play_notes(&tone_cm, 6, false); 205 play_notes(&tone_cm, 6, false);
@@ -195,7 +207,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
195 default_layer_set(1UL<<_CM); 207 default_layer_set(1UL<<_CM);
196 } 208 }
197 break; 209 break;
198 case M_DV: 210 case _DV:
199 if (record->event.pressed) { 211 if (record->event.pressed) {
200 #ifdef AUDIO_ENABLE 212 #ifdef AUDIO_ENABLE
201 play_notes(&tone_dv, 8, false); 213 play_notes(&tone_dv, 8, false);
@@ -203,7 +215,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
203 default_layer_set(1UL<<_DV); 215 default_layer_set(1UL<<_DV);
204 } 216 }
205 break; 217 break;
206 case M_LW: 218 case _LW:
207 if (record->event.pressed) { 219 if (record->event.pressed) {
208 layer_on(_LW); 220 layer_on(_LW);
209 update_tri_layer(_LW, _RS, _AD); 221 update_tri_layer(_LW, _RS, _AD);
@@ -212,7 +224,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
212 update_tri_layer(_LW, _RS, _AD); 224 update_tri_layer(_LW, _RS, _AD);
213 } 225 }
214 break; 226 break;
215 case M_RS: 227 case _RS:
216 if (record->event.pressed) { 228 if (record->event.pressed) {
217 layer_on(_RS); 229 layer_on(_RS);
218 update_tri_layer(_LW, _RS, _AD); 230 update_tri_layer(_LW, _RS, _AD);
@@ -233,23 +245,23 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
233 break; 245 break;
234 case 6: 246 case 6:
235 if (record->event.pressed) { 247 if (record->event.pressed) {
236 audio_toggle(); 248 #ifdef AUDIO_ENABLE
249 audio_off();
250 #endif
251 }
252 break;
253 case 7:
254 if (record->event.pressed) {
255 #ifdef AUDIO_ENABLE
256 audio_on();
257 play_notes(&start_up, 5, false);
258 #endif
237 } 259 }
238 break; 260 break;
239 } 261 }
240 return MACRO_NONE; 262 return MACRO_NONE;
241}; 263};
242 264
243#ifdef AUDIO_ENABLE
244float start_up[][2] = {
245 {440.0*pow(2.0,(67)/12.0), 12},
246 {440.0*pow(2.0,(64)/12.0), 8},
247 {440.0*pow(2.0,(55)/12.0), 8},
248 {440.0*pow(2.0,(60)/12.0), 8},
249 {440.0*pow(2.0,(64)/12.0), 20}
250};
251#endif
252
253void matrix_init_user(void) { 265void matrix_init_user(void) {
254 #ifdef AUDIO_ENABLE 266 #ifdef AUDIO_ENABLE
255 init_notes(); 267 init_notes();
diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile
index e48052c82..eaf9ef927 100644
--- a/keyboard/preonic/Makefile
+++ b/keyboard/preonic/Makefile
@@ -126,27 +126,44 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
126# USBaspLoader 2048 126# USBaspLoader 2048
127OPT_DEFS += -DBOOTLOADER_SIZE=4096 127OPT_DEFS += -DBOOTLOADER_SIZE=4096
128 128
129
130# Build Options 129# Build Options
131# comment out to disable the options. 130# change to "no" to disable the options, or define them in the makefile.mk in
132# 131# the appropriate keymap folder that will get included automatically
133BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) 132#
134MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 133BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
135EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 134MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
136CONSOLE_ENABLE = yes # Console for debug(+400) 135EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
137COMMAND_ENABLE = yes # Commands for debug and configuration 136CONSOLE_ENABLE = yes # Console for debug(+400)
137COMMAND_ENABLE = yes # Commands for debug and configuration
138NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
139BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
140MIDI_ENABLE = no # MIDI controls
141AUDIO_ENABLE = no # Audio output on port C6
142UNICODE_ENABLE = no # Unicode
143BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
144RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
145
138# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 146# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
139# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend 147SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
140# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 148
141BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 149ifdef KEYMAP
142MIDI_ENABLE = yes # MIDI controls 150
143AUDIO_ENABLE = yes # Audio output on port C6 151ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
144# UNICODE_ENABLE = YES # Unicode 152ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
145# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID 153 include keymaps/$(KEYMAP)/makefile.mk
146# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time. 154endif
147 155endif
148ifdef BACKLIGHT_ENABLE 156
149 SRC += backlight.c 157else
158
159ifneq ("$(wildcard keymaps/default/makefile.mk)","")
160 include keymaps/default/makefile.mk
161endif
162
163endif
164
165ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
166 SRC := backlight.c $(SRC)
150endif 167endif
151 168
152 169
diff --git a/keyboard/preonic/keymaps/default/README.md b/keyboard/preonic/keymaps/default/README.md
index d2f43bbdb..e911968dd 100644
--- a/keyboard/preonic/keymaps/default/README.md
+++ b/keyboard/preonic/keymaps/default/README.md
@@ -1,34 +1 @@
1# The Default Planck Layout # The default Preonic layout - largely based on the Planck's \ No newline at end of file
2
3 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [_QW] = { /* Qwerty */
5 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
6 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
7 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
8 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
9 },
10 [_CM] = { /* Colemak */
11 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
12 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
13 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
14 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
15 },
16 [_DV] = { /* Dvorak */
17 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
18 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
19 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
20 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
21 },
22 [_RS] = { /* RAISE */
23 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
24 {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
25 {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
26 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
27 },
28 [_LW] = { /* LOWER */
29 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
30 {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
31 {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
32 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
33 }
34 }; \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c
index 3da69c215..c52d8472f 100644
--- a/keyboard/preonic/keymaps/default/keymap.c
+++ b/keyboard/preonic/keymaps/default/keymap.c
@@ -1,9 +1,7 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3
4#include "preonic.h" 1#include "preonic.h"
5#ifdef BACKLIGHT_ENABLE 2#include "action_layer.h"
6 #include "backlight.h" 3#ifdef AUDIO_ENABLE
4 #include "audio.h"
7#endif 5#endif
8 6
9// Each layer gets a name for readability, which is then used in the keymap matrix below. 7// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -15,42 +13,150 @@
15#define _DV 2 13#define _DV 2
16#define _LW 3 14#define _LW 3
17#define _RS 4 15#define _RS 4
16#define _AD 5
17
18// Macro name shortcuts
19#define QWERTY M(_QW)
20#define COLEMAK M(_CM)
21#define DVORAK M(_DV)
22#define LOWER M(_LW)
23#define RAISE M(_RS)
24#define M_BL 5
25#ifdef AUDIO_ENABLE
26 #define AUD_OFF M(6)
27 #define AUD_ON M(7)
28#endif
29
30// Fillers to make layering more clear
31#define _______ KC_TRNS
32#define XXXXXXX KC_NO
18 33
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20[_QW] = { /* Qwerty */ 35
36/* Qwerty
37 * ,-----------------------------------------------------------------------------------.
38 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
39 * |------+------+------+------+------+------+------+------+------+------+------+------|
40 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
41 * |------+------+------+------+------+-------------+------+------+------+------+------|
42 * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
43 * |------+------+------+------+------+------|------+------+------+------+------+------|
44 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
45 * |------+------+------+------+------+------+------+------+------+------+------+------|
46 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
47 * `-----------------------------------------------------------------------------------'
48 */
49[_QW] = {
21 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 50 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
22 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 51 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL},
23 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, 52 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
24 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 53 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
25 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 54 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
26}, 55},
27[_CM] = { /* Colemak */ 56
57/* Colemak
58 * ,-----------------------------------------------------------------------------------.
59 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
60 * |------+------+------+------+------+------+------+------+------+------+------+------|
61 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
62 * |------+------+------+------+------+-------------+------+------+------+------+------|
63 * | Esc | A | R | S | T | D | H | N | E | I | O | " |
64 * |------+------+------+------+------+------|------+------+------+------+------+------|
65 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
66 * |------+------+------+------+------+------+------+------+------+------+------+------|
67 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
68 * `-----------------------------------------------------------------------------------'
69 */
70[_CM] = {
28 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 71 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
29 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, 72 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL},
30 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 73 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
31 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 74 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
32 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 75 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
33}, 76},
34[_DV] = { /* Dvorak */ 77
78/* Dvorak
79 * ,-----------------------------------------------------------------------------------.
80 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
81 * |------+------+------+------+------+------+------+------+------+------+------+------|
82 * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
83 * |------+------+------+------+------+-------------+------+------+------+------+------|
84 * | Esc | A | O | E | U | I | D | H | T | N | S | / |
85 * |------+------+------+------+------+------|------+------+------+------+------+------|
86 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
87 * |------+------+------+------+------+------+------+------+------+------+------+------|
88 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
89 * `-----------------------------------------------------------------------------------'
90 */
91[_DV] = {
35 {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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
36 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, 93 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL},
37 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, 94 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
38 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, 95 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
39 {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 96 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
40}, 97},
41[_RS] = { /* RAISE */ 98
42 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 99/* Lower
43 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 100 * ,-----------------------------------------------------------------------------------.
44 {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 101 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
45 {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, 102 * |------+------+------+------+------+-------------+------+------+------+------+------|
46 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 103 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
104 * |------+------+------+------+------+-------------+------+------+------+------+------|
105 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
106 * |------+------+------+------+------+------|------+------+------+------+------+------|
107 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
108 * |------+------+------+------+------+------+------+------+------+------+------+------|
109 * | | | | | | | | Next | Vol- | Vol+ | Play |
110 * `-----------------------------------------------------------------------------------'
111 */
112[_LW] = {
113 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
114 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL},
115 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
116 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______},
117 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
47}, 118},
48[_LW] = { /* LOWER */ 119
120/* Raise
121 * ,-----------------------------------------------------------------------------------.
122 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
123 * |------+------+------+------+------+------+------+------+------+------+------+------|
124 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
125 * |------+------+------+------+------+-------------+------+------+------+------+------|
126 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
127 * |------+------+------+------+------+------|------+------+------+------+------+------|
128 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | |Enter |
129 * |------+------+------+------+------+------+------+------+------+------+------+------|
130 * | | | | | | | | Next | Vol- | Vol+ | Play |
131 * `-----------------------------------------------------------------------------------'
132 */
133[_RS] = {
49 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 134 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
50 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 135 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL},
51 {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 136 {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
52 {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, 137 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______},
53 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 138 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
139},
140
141/* Adjust (Lower + Raise)
142 * ,-----------------------------------------------------------------------------------.
143 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
144 * |------+------+------+------+------+------+------+------+------+------+------+------|
145 * | | Reset| | | | | | | | | | Del |
146 * |------+------+------+------+------+-------------+------+------+------+------+------|
147 * | | | |Audoff|Aud on| | |Qwerty|Colemk|Dvorak| | |
148 * |------+------+------+------+------+------|------+------+------+------+------+------|
149 * | | | | | | | | | | | | |
150 * |------+------+------+------+------+------+------+------+------+------+------+------|
151 * | | | | | | | | | | | |
152 * `-----------------------------------------------------------------------------------'
153 */
154[_AD] = {
155 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
156 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
157 {_______, _______, _______, AUD_ON, AUD_OFF, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______},
158 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
159 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
54} 160}
55}; 161};
56 162
@@ -58,28 +164,116 @@ const uint16_t PROGMEM fn_actions[] = {
58 164
59}; 165};
60 166
167#ifdef AUDIO_ENABLE
61float start_up[][2] = { 168float start_up[][2] = {
62 {440.0*pow(2.0,(67)/12.0), 4}, 169 {440.0*pow(2.0,(55)/12.0), 12},
170 {0, 2},
171 {440.0*pow(2.0,(67)/12.0), 8},
63 {440.0*pow(2.0,(64)/12.0), 8}, 172 {440.0*pow(2.0,(64)/12.0), 8},
64 {440.0*pow(2.0,(55)/12.0), 8}, 173 {440.0*pow(2.0,(55)/12.0), 8},
174 {440.0*pow(2.0,(67)/12.0), 12},
175 {0, 2},
176 {440.0*pow(2.0,(67)/12.0), 12}
177};
178
179float tone_qw[][2] = {
180 {440.0*pow(2.0,(59)/12.0), 8},
65 {440.0*pow(2.0,(60)/12.0), 8}, 181 {440.0*pow(2.0,(60)/12.0), 8},
66 {440.0*pow(2.0,(64)/12.0), 10}, 182 {0, 4},
183 {440.0*pow(2.0,(67)/12.0), 16}
67}; 184};
68 185
186float tone_cm[][2] = {
187 {440.0*pow(2.0,(59)/12.0), 8},
188 {440.0*pow(2.0,(60)/12.0), 8},
189 {0, 4},
190 {440.0*pow(2.0,(67)/12.0), 12},
191 {0, 4},
192 {440.0*pow(2.0,(71)/12.0), 12}
193};
194
195float tone_dv[][2] = {
196 {440.0*pow(2.0,(59)/12.0), 8},
197 {440.0*pow(2.0,(60)/12.0), 8},
198 {0, 4},
199 {440.0*pow(2.0,(67)/12.0), 8},
200 {0, 4},
201 {440.0*pow(2.0,(69)/12.0), 8},
202 {0, 4},
203 {440.0*pow(2.0,(67)/12.0), 8}
204};
205#endif
206
207
69const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 208const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
70{ 209{
71 // MACRODOWN only works in this function 210 // MACRODOWN only works in this function
72 switch(id) { 211 switch(id) {
73 case 0: 212 case _QW:
213 if (record->event.pressed) {
214 #ifdef AUDIO_ENABLE
215 play_notes(&tone_qw, 4, false);
216 #endif
217 default_layer_set(1UL<<_QW);
218 }
219 break;
220 case _CM:
221 if (record->event.pressed) {
222 #ifdef AUDIO_ENABLE
223 play_notes(&tone_cm, 6, false);
224 #endif
225 default_layer_set(1UL<<_CM);
226 }
227 break;
228 case _DV:
229 if (record->event.pressed) {
230 #ifdef AUDIO_ENABLE
231 play_notes(&tone_dv, 8, false);
232 #endif
233 default_layer_set(1UL<<_DV);
234 }
235 break;
236 case _LW:
237 if (record->event.pressed) {
238 layer_on(_LW);
239 update_tri_layer(_LW, _RS, _AD);
240 } else {
241 layer_off(_LW);
242 update_tri_layer(_LW, _RS, _AD);
243 }
244 break;
245 case _RS:
246 if (record->event.pressed) {
247 layer_on(_RS);
248 update_tri_layer(_LW, _RS, _AD);
249 } else {
250 layer_off(_RS);
251 update_tri_layer(_LW, _RS, _AD);
252 }
253 break;
254 case M_BL:
74 if (record->event.pressed) { 255 if (record->event.pressed) {
75 register_code(KC_RSFT); 256 register_code(KC_RSFT);
76 #ifdef BACKLIGHT_ENABLE 257 #ifdef BACKLIGHT_ENABLE
77 backlight_step(); 258 backlight_step();
78 #endif 259 #endif
79 audio_toggle();
80 } else { 260 } else {
81 unregister_code(KC_RSFT); 261 unregister_code(KC_RSFT);
82 play_notes(&start_up, 5, false); 262 }
263 break;
264 case 6:
265 if (record->event.pressed) {
266 #ifdef AUDIO_ENABLE
267 audio_off();
268 #endif
269 }
270 break;
271 case 7:
272 if (record->event.pressed) {
273 #ifdef AUDIO_ENABLE
274 audio_on();
275 play_notes(&start_up, 7, false);
276 #endif
83 } 277 }
84 break; 278 break;
85 } 279 }
@@ -87,8 +281,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
87}; 281};
88 282
89void matrix_init_user(void) { 283void matrix_init_user(void) {
90#ifdef AUDIO_ENABLE 284 #ifdef AUDIO_ENABLE
91 init_notes(); 285 init_notes();
92 play_notes(&start_up, 5, false); 286 play_notes(&start_up, 7, false);
93#endif 287 #endif
94} 288}
diff --git a/keyboard/preonic/keymaps/default/makefile.mk b/keyboard/preonic/keymaps/default/makefile.mk
new file mode 100644
index 000000000..628167ff6
--- /dev/null
+++ b/keyboard/preonic/keymaps/default/makefile.mk
@@ -0,0 +1 @@
AUDIO_ENABLE = yes \ No newline at end of file