aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsenseored <39708654+senseored@users.noreply.github.com>2019-09-25 22:20:33 +0200
committerDrashna Jaelre <drashna@live.com>2019-09-25 13:20:33 -0700
commit983c93fe81d6379b10867648617e1213a33d05fe (patch)
tree6e37c7ad316779f2d9d95eea7140b8fbe90625ba
parentdccafb64e65bfe2516eba422609750e9c27775e7 (diff)
downloadqmk_firmware-983c93fe81d6379b10867648617e1213a33d05fe.tar.gz
qmk_firmware-983c93fe81d6379b10867648617e1213a33d05fe.zip
[Keymap] Added two different Swedish layouts for the Niu Mini 40% and Preonic 50%. (#6793)
* added preonic keymap senseored * added niu_mini/tobias * Changed readme's to explain that these are swedish layouts * Apply suggestions from code review Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/niu_mini/keymaps/tobias/keymap.c Co-Authored-By: Drashna Jaelre <drashna@live.com> * Made changes according to drashna's suggestions * Changed to tap_code(KC_NLCK) * Added #define RGBLIGHT_SLEEP * Added #define RGBLIGHT_SLEEP * Removed include config.h
-rw-r--r--keyboards/niu_mini/keymaps/tobias/config.h40
-rw-r--r--keyboards/niu_mini/keymaps/tobias/keymap.c413
-rw-r--r--keyboards/niu_mini/keymaps/tobias/readme.md2
-rw-r--r--keyboards/niu_mini/keymaps/tobias/rules.mk2
-rw-r--r--keyboards/preonic/keymaps/senseored/config.h45
-rw-r--r--keyboards/preonic/keymaps/senseored/keymap.c437
-rw-r--r--keyboards/preonic/keymaps/senseored/readme.md1
-rw-r--r--keyboards/preonic/keymaps/senseored/rules.mk1
8 files changed, 941 insertions, 0 deletions
diff --git a/keyboards/niu_mini/keymaps/tobias/config.h b/keyboards/niu_mini/keymaps/tobias/config.h
new file mode 100644
index 000000000..f88b52d1f
--- /dev/null
+++ b/keyboards/niu_mini/keymaps/tobias/config.h
@@ -0,0 +1,40 @@
1#pragma once
2
3//#include "../../config.h"
4
5//#define MUSIC_MASK (keycode != KC_NO)
6
7/*
8 * MIDI options
9 */
10
11/* Prevent use of disabled MIDI features in the keymap */
12//#define MIDI_ENABLE_STRICT 1
13
14/* enable basic MIDI features:
15 - MIDI notes can be sent when in Music mode is on
16*/
17
18//#define MIDI_BASIC
19
20/* enable advanced MIDI features:
21 - MIDI notes can be added to the keymap
22 - Octave shift and transpose
23 - Virtual sustain, portamento, and modulation wheel
24 - etc.
25*/
26//#define MIDI_ADVANCED
27
28/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
29//#define MIDI_TONE_KEYCODE_OCTAVES 2
30
31#define RGBLIGHT_SLEEP
32#define TAPPING_TOGGLE 2
33#define ALT_F4 LALT(KC_F4)
34#define CTALDEL LSFT(LCTL(KC_ESC))
35#define NO_DEBUG
36#define CTLZ LCTL(KC_Z)
37#define CTLX LCTL(KC_X)
38#define CTLC LCTL(KC_C)
39#define CTLV LCTL(KC_V)
40
diff --git a/keyboards/niu_mini/keymaps/tobias/keymap.c b/keyboards/niu_mini/keymaps/tobias/keymap.c
new file mode 100644
index 000000000..935dd5c50
--- /dev/null
+++ b/keyboards/niu_mini/keymaps/tobias/keymap.c
@@ -0,0 +1,413 @@
1 /* Copyright 2015-2017 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// extern keymap_config_t keymap_config;
20
21enum layers {
22 _QWERTY,
23 _FNL1,
24 _MOUSE,
25 _LOWER,
26 _RAISE,
27 _FNL2,
28 _ADJUST,
29 _GAMEMODE,
30 _FNL3, _LOWER2,
31 _RAISE2
32};
33
34enum custom_keycodes {
35 TBMACRO = SAFE_RANGE,
36 DGRMCRO,
37 WRKMOD
38};
39
40bool bnumlock = false;
41bool numlock_changed = false;
42bool workmode = true;
43
44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45
46/* Qwerty
47 * ,-----------------------------------------------------------------------------------.
48 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
49 * |------+------+------+------+------+-------------+------+------+------+------+------|
50 * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
51 * |------+------+------+------+------+------|------+------+------+------+------+------|
52 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
53 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | Ctrl | GUI | Alt | Bksp |Lower | Space |Raise | Bksp | AltGr| * | Esc |
55 * `-----------------------------------------------------------------------------------'
56 */
57[_QWERTY] = LAYOUT_ortho_4x12(
58 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
59 TT(_FNL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
60 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
61 KC_LCTL, KC_LGUI, KC_LALT, KC_DEL, TT(_LOWER), KC_SPC, KC_SPC, TT(_RAISE), KC_BSPC, KC_RALT, KC_NUHS, KC_ESC
62),
63
64
65/* FNL1
66 * ,-----------------------------------------------------------------------------------.
67 * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
68 * |------+------+------+------+------+-------------+------+------+------+------+------|
69 * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
70 * |------+------+------+------+------+------|------+------+------+------+------+------|
71 * | | | | | | | End | | | | ? | |
72 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * | | | | | | | | | | ! | |
74 * `-----------------------------------------------------------------------------------'
75 */
76[_FNL1] = LAYOUT_ortho_4x12(
77 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
78 TT(_FNL1), _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
79 KC_LSFT, CTLZ, CTLX, CTLC, CTLV, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
80 _______, _______, CTALDEL, _______, _______, _______, _______, TO(_MOUSE), _______, _______, LSFT(KC_1), _______
81),
82
83[_MOUSE] = {
84 { KC_TAB, XXXXXXX, XXXXXXX, KC_MS_UP, XXXXXXX, KC_T, XXXXXXX, KC_MS_BTN3, KC_MS_WH_UP, KC_MS_BTN2, XXXXXXX, KC_MS_ACCEL0 },
85 {TO(_QWERTY), XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, XXXXXXX, XXXXXXX, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, XXXXXXX, KC_MS_ACCEL1},
86 {_______, KC_Z, KC_X, KC_C, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_ACCEL2},
87 {KC_LCTL, TO(_QWERTY), KC_LALT, _______, TO(_QWERTY), KC_MS_BTN1, XXXXXXX, TO(_QWERTY), _______, _______, TO(_QWERTY), TO(_QWERTY)}
88},
89
90/* Raise
91 * ,-----------------------------------------------------------------------------------.
92 * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
93 * |------+------+------+------+------+-------------+------+------+------+------+------|
94 * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
95 * |------+------+------+------+------+------|------+------+------+------+------+------|
96 * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | AltGr| | | | | | | | BAIL |
99 * `-----------------------------------------------------------------------------------'
100 */
101[_RAISE] = LAYOUT_ortho_4x12(
102 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
103 KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
104 KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
105 _______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY)
106),
107
108
109/* Lower
110 * ,-----------------------------------------------------------------------------------.
111 * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
112 * |------+------+------+------+------+-------------+------+------+------+------+------|
113 * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
114 * |------+------+------+------+------+------|------+------+------+------+------+------|
115 * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
116 * |------+------+------+------+------+------+------+------+------+------+------+------|
117 * | | | Alt | | | | * | 0 | , | . | BAIL |
118 * `-----------------------------------------------------------------------------------'
119 */
120[_LOWER] = LAYOUT_ortho_4x12(
121 KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
122 TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
123 KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
124 _______, _______, KC_LALT, _______, TO(_QWERTY), _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_QWERTY)
125),
126
127/* FNL2
128 * ,-----------------------------------------------------------------------------------.
129 * |TbMacr| Prev | Play | Next | AltF4| CapsL| |PrScrn|Insert| Home | PgUp |ScrLck|
130 * |------+------+------+------+------+-------------+------+------+------+------+------|
131 * | | | Vol- | Vol+ | Mute | NumL | | | Del | End | PgDn | Pause|
132 * |------+------+------+------+------+------|------+------+------+------+------+------|
133 * | | | | | | | | | | Up | | Enter|
134 * |------+------+------+------+------+------+------+------+------+------+------+------|
135 * | | | | | | | | Left | Down | Right| BAIL |
136 * `-----------------------------------------------------------------------------------'
137 */
138[_FNL2] = LAYOUT_ortho_4x12(
139 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, _______, KC_PSCR, KC_INS, KC_HOME, KC_PGUP, KC_SLCK,
140 _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, _______, _______, KC_DEL, KC_END, KC_PGDN, KC_PAUS,
141 _______, CTLZ, CTLX, CTLC, CTLV, _______, _______, _______, _______, KC_UP, _______, KC_ENT,
142 _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, TO(_QWERTY)
143),
144
145/* Adjust (Lower + Raise)
146 * ,-----------------------------------------------------------------------------------.
147 * | GAME | Reset| | | | | | | | | |LIGHTS|
148 * |------+------+------+------+------+-------------+------+------+------+------+------|
149 * | |BLtogg|BLstep| | | | | | | | | |
150 * |------+------+------+------+------+------|------+------+------+------+------+------|
151 * | |RGBtog|RGBhui|RGBhud|RGBmod|RGBsai|RGBsad| | | | | |
152 * |------+------+------+------+------+------+------+------+------+------+------+------|
153 * | RGB4 | | | | | | | | | NKO | BAIL |
154 * `-----------------------------------------------------------------------------------'
155 */
156[_ADJUST] = LAYOUT_ortho_4x12(
157 TO(_GAMEMODE), RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, WRKMOD,
158 _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
159 _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_MOD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_MODE_FORWARD,
160 _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_R, TO(_QWERTY)
161),
162
163/* Game mode
164 * ,-----------------------------------------------------------------------------------.
165 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
166 * |------+------+------+------+------+-------------+------+------+------+------+------|
167 * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
168 * |------+------+------+------+------+------|------+------+------+------+------+------|
169 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
170 * |------+------+------+------+------+------+------+------+------+------+------+------|
171 * | Ctrl | 1 | Lower| Bksp | Alt | Space | Raise| Bksp | BAIL | * | Esc |
172 * `-----------------------------------------------------------------------------------'
173 */
174[_GAMEMODE] = LAYOUT_ortho_4x12(
175 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
176 TT(_FNL3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
177 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
178 KC_LCTL, KC_1, MO(_LOWER2), KC_DEL, KC_LALT, KC_SPC, KC_SPC, MO(_RAISE2), KC_BSPC, TO(_QWERTY), KC_NUHS, KC_ESC
179),
180
181/* FNL3
182 * ,-----------------------------------------------------------------------------------.
183 * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
184 * |------+------+------+------+------+-------------+------+------+------+------+------|
185 * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
186 * |------+------+------+------+------+------|------+------+------+------+------+------|
187 * | | | | | | | End | | | | | |
188 * |------+------+------+------+------+------+------+------+------+------+------+------|
189 * | | | | | | | | | | | BAIL |
190 * `-----------------------------------------------------------------------------------'
191 */
192[_FNL3] = LAYOUT_ortho_4x12(
193 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
194 _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
195 KC_LSFT, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
196 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LSFT(KC_1), _______
197),
198
199/* Lower
200 * ,-----------------------------------------------------------------------------------.
201 * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
202 * |------+------+------+------+------+-------------+------+------+------+------+------|
203 * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
204 * |------+------+------+------+------+------|------+------+------+------+------+------|
205 * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
206 * |------+------+------+------+------+------+------+------+------+------+------+------|
207 * | | | Alt | | | | * | 0 | , | . | BAIL |
208 * `-----------------------------------------------------------------------------------'
209 */
210[_LOWER2] = LAYOUT_ortho_4x12(
211 KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
212 TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
213 KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
214 _______, _______, _______, _______, _______, _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_GAMEMODE)
215),
216
217/* Raise
218 * ,-----------------------------------------------------------------------------------.
219 * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
220 * |------+------+------+------+------+-------------+------+------+------+------+------|
221 * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
222 * |------+------+------+------+------+------|------+------+------+------+------+------|
223 * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
224 * |------+------+------+------+------+------+------+------+------+------+------+------|
225 * | | | AltGr| | | | | | | | BAIL |
226 * `-----------------------------------------------------------------------------------'
227 */
228[_RAISE2] = LAYOUT_ortho_4x12(
229 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
230 KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
231 KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
232 _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMEMODE)
233)
234
235};
236
237bool process_record_user(uint16_t keycode, keyrecord_t *record) {
238 if (record->event.pressed) {
239 switch(keycode) {
240 case TBMACRO:
241 SEND_STRING(SS_TAP(X_TAB) SS_DOWN(X_LSHIFT) SS_TAP(X_HOME) SS_UP(X_LSHIFT) SS_TAP(X_DELETE));
242 return false;
243 case DGRMCRO:
244 if(!bnumlock) {
245 //register_code(KC_NLCK);
246 //unregister_code(KC_NLCK);
247 tap_code(KC_NLCK);
248 bnumlock = true;
249 }
250 //SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P6) SS_UP(X_LALT));
251 SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_KP_0) SS_TAP(X_KP_1) SS_TAP(X_KP_7) SS_TAP(X_KP_6) SS_UP(X_LALT) );
252 return false;
253 case WRKMOD:
254 if(!workmode) {
255 workmode = true;
256 return false;
257 }
258 else {
259 workmode = false;
260 return false;
261 }
262 }
263
264 }
265 return true;
266}
267
268void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
269 for(int i = 0; i < RGBLED_NUM; i++){
270 switch(i) {
271 case 0 ... 13:
272 // rgblight_setrgb_at(r,g,b,i);
273 led[i].r = r;
274 led[i].g = g;
275 led[i].b = b;
276 break;
277 /* case 9 ... 11:
278 // rgblight_setrgb_at(r,g,b,i);
279 led[i].r = r;
280 led[i].g = g;
281 led[i].b = b;
282 break; */
283 default:
284 // rgblight_setrgb_at(0,0,0,i);
285 led[i].r = 0;
286 led[i].g = 0;
287 led[i].b = 0;
288 break;
289 }
290 }
291 rgblight_set();
292}
293
294layer_state_t layer_state_set_user(layer_state_t state) {
295// if(rgblight_get_mode() == 1) {
296 switch (biton32(state)) {
297 case _QWERTY:
298 if(!workmode){
299 rgblight_mode(9);
300 }
301 else if(workmode){
302 rgblight_mode(1);
303 rgbflag(0x00, 0x00, 0x00);
304 }
305 if(bnumlock) {
306 tap_code(KC_NLCK);
307 }
308 break;
309 case _LOWER:
310 rgblight_mode(1);
311 if(!bnumlock) {
312 tap_code(KC_NLCK);
313 }
314 rgbflag(0xFF, 0x00, 0x00);
315
316 break;
317 case _ADJUST:
318 rgblight_mode(1);
319 rgbflag(0xFF, 0xFF, 0xFF);
320 if(bnumlock) {
321 tap_code(KC_NLCK);
322 }
323 break;
324 case _RAISE:
325 rgblight_mode(1);
326 rgbflag(0x00, 0xFF, 0x00);
327 if(bnumlock) {
328 tap_code(KC_NLCK);
329 }
330 break;
331 case _FNL1:
332 rgblight_mode(1);
333 rgbflag(0x00, 0x00, 0xFF);
334 if(bnumlock) {
335 tap_code(KC_NLCK);
336 }
337 break;
338 case _GAMEMODE:
339 rgblight_mode(1);
340 rgbflag(0xFF, 0x00, 0xFF);
341 break;
342 case _MOUSE:
343 rgblight_mode(1);
344 rgbflag(0x00, 0xFF, 0xFF);
345 if(bnumlock) {
346 tap_code(KC_NLCK);
347 }
348 break;
349 default: // for any other layers, or the default layer
350 rgblight_mode(1);
351 if(bnumlock) {
352 tap_code(KC_NLCK);
353 }
354 rgbflag(0xFF, 0xFF, 0xFF);
355 break;
356 }
357 // }
358 return state;
359}
360
361/* void matrix_scan_user(void) {
362
363 //Layer LED indicators
364
365 uint32_t layer = layer_state;
366
367
368 if (layer & (1<<2)) {
369 if(!bnumlock) {
370 numlock_changed = true;
371 register_code(KC_NLCK);
372 unregister_code(KC_NLCK);
373 bnumlock = true;
374 }
375 }
376}
377 */
378
379
380void led_set_user(uint8_t usb_led) {
381
382 if (usb_led & (1 << USB_LED_NUM_LOCK)) {
383 bnumlock = true;
384
385 } else {
386 bnumlock = false;
387 }
388
389 if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
390
391 } else {
392
393 }
394
395 if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
396
397 } else {
398
399 }
400
401 if (usb_led & (1 << USB_LED_COMPOSE)) {
402
403 } else {
404
405 }
406
407 if (usb_led & (1 << USB_LED_KANA)) {
408
409 } else {
410
411 }
412
413} \ No newline at end of file
diff --git a/keyboards/niu_mini/keymaps/tobias/readme.md b/keyboards/niu_mini/keymaps/tobias/readme.md
new file mode 100644
index 000000000..0a8077884
--- /dev/null
+++ b/keyboards/niu_mini/keymaps/tobias/readme.md
@@ -0,0 +1,2 @@
1# Swedish 40% Layout
2
diff --git a/keyboards/niu_mini/keymaps/tobias/rules.mk b/keyboards/niu_mini/keymaps/tobias/rules.mk
new file mode 100644
index 000000000..d75595602
--- /dev/null
+++ b/keyboards/niu_mini/keymaps/tobias/rules.mk
@@ -0,0 +1,2 @@
1NKRO_ENABLE = YES
2MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/senseored/config.h b/keyboards/preonic/keymaps/senseored/config.h
new file mode 100644
index 000000000..61f3488c6
--- /dev/null
+++ b/keyboards/preonic/keymaps/senseored/config.h
@@ -0,0 +1,45 @@
1#pragma once
2
3#ifdef AUDIO_ENABLE
4 #define STARTUP_SONG SONG(PREONIC_SOUND)
5 // #define STARTUP_SONG SONG(NO_SOUND)
6
7 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
8 SONG(COLEMAK_SOUND), \
9 SONG(DVORAK_SOUND) \
10 }
11#endif
12
13#define MUSIC_MASK (keycode != KC_NO)
14
15/*
16 * MIDI options
17 */
18
19/* Prevent use of disabled MIDI features in the keymap */
20//#define MIDI_ENABLE_STRICT 1
21
22/* enable basic MIDI features:
23 - MIDI notes can be sent when in Music mode is on
24*/
25
26#define MIDI_BASIC
27#define RGBLIGHT_SLEEP
28#define TAPPING_TOGGLE 2
29#define ALT_F4 LALT(KC_F4)
30#define CTALDEL LSFT(LCTL(KC_ESC))
31#define NO_DEBUG
32#define CTLZ LCTL(KC_Z)
33#define CTLX LCTL(KC_X)
34#define CTLC LCTL(KC_C)
35#define CTLV LCTL(KC_V)
36/* enable advanced MIDI features:
37 - MIDI notes can be added to the keymap
38 - Octave shift and transpose
39 - Virtual sustain, portamento, and modulation wheel
40 - etc.
41*/
42//#define MIDI_ADVANCED
43
44/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
45//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c
new file mode 100644
index 000000000..6ddf28942
--- /dev/null
+++ b/keyboards/preonic/keymaps/senseored/keymap.c
@@ -0,0 +1,437 @@
1/* Copyright 2015-2017 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18#include "muse.h"
19
20enum preonic_layers {
21 _QWERTY,
22 _FNL1,
23 _LOWER,
24 _RAISE,
25 _FNL2,
26 _ADJUST,
27 _GAMEMODE,
28 _FNL3,
29 _LOWER2,
30 _RAISE2
31};
32
33enum preonic_keycodes {
34 TBMACRO = SAFE_RANGE,
35 DGRMCRO,
36 WRKMOD,
37 BACKLIT,
38 RAISE,
39 LOWER
40};
41
42bool bnumlock = false;
43bool numlock_changed = false;
44bool workmode = true;
45
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47
48/* Qwerty
49 * ,-----------------------------------------------------------------------------------.
50 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
51 * |------+------+------+------+------+------+------+------+------+------+------+------|
52 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
53 * |------+------+------+------+------+-------------+------+------+------+------+------|
54 * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
55 * |------+------+------+------+------+------|------+------+------+------+------+------|
56 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
57 * |------+------+------+------+------+------+------+------+------+------+------+------|
58 * | Ctrl | GUI | Alt | Bksp |Lower | Space |Raise | Bksp | AltGr| * | Esc |
59 * `-----------------------------------------------------------------------------------'
60 */
61[_QWERTY] = LAYOUT_preonic_grid( \
62 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
63 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \
64 TT(_FNL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
65 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
66 KC_LCTL, KC_LGUI, KC_LALT, KC_DEL, TT(_LOWER), KC_SPC, KC_SPC, TT(_RAISE), KC_BSPC, KC_RALT, KC_NUHS, KC_ESC \
67),
68
69/* FNL1
70 * ,-----------------------------------------------------------------------------------.
71 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
72 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
74 * |------+------+------+------+------+-------------+------+------+------+------+------|
75 * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
76 * |------+------+------+------+------+------|------+------+------+------+------+------|
77 * | | | | | | | End | | | | ? | |
78 * |------+------+------+------+------+------+------+------+------+------+------+------|
79 * | | | | | | | | | | ! | |
80 * `-----------------------------------------------------------------------------------'
81 */
82[_FNL1] = LAYOUT_preonic_grid( \
83 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
84 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
85 TT(_FNL1), _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
86 KC_LSFT, CTLZ, CTLX, CTLC, CTLV, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
87 _______, _______, CTALDEL, _______, _______, _______, _______, _______, _______, _______, LSFT(KC_1), _______
88),
89
90
91/* Raise
92 * ,-----------------------------------------------------------------------------------.
93 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
94 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
96 * |------+------+------+------+------+-------------+------+------+------+------+------|
97 * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
98 * |------+------+------+------+------+------|------+------+------+------+------+------|
99 * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
100 * |------+------+------+------+------+------+------+------+------+------+------+------|
101 * | | | AltGr| | | | | | | | BAIL |
102 * `-----------------------------------------------------------------------------------'
103 */
104[_RAISE] = LAYOUT_preonic_grid( \
105 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
106 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
107 KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
108 KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
109 _______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY)
110),
111
112/* Lower
113 * ,-----------------------------------------------------------------------------------.
114 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
115 * |------+------+------+------+------+-------------+------+------+------+------+------|
116 * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
117 * |------+------+------+------+------+-------------+------+------+------+------+------|
118 * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
119 * |------+------+------+------+------+------|------+------+------+------+------+------|
120 * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
121 * |------+------+------+------+------+------+------+------+------+------+------+------|
122 * | | | Alt | | | | * | 0 | , | . | BAIL |
123 * `-----------------------------------------------------------------------------------'
124 */
125[_LOWER] = LAYOUT_preonic_grid( \
126 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
127 KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
128 TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
129 KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
130 _______, _______, KC_LALT, _______, TO(_QWERTY), _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_QWERTY)
131),
132
133/* FNL2
134 * ,-----------------------------------------------------------------------------------.
135 * |TbMacr| Prev | Play | Next | AltF4| CapsL| |PrScrn|Insert| Home | PgUp |ScrLck|
136 * |------+------+------+------+------+-------------+------+------+------+------+------|
137 * | | | Vol- | Vol+ | Mute | NumL | | | Del | End | PgDn | Pause|
138 * |------+------+------+------+------+------|------+------+------+------+------+------|
139 * | | | | | | | | | | Up | | Enter|
140 * |------+------+------+------+------+------+------+------+------+------+------+------|
141 * | | | | | | | | Left | Down | Right| BAIL |
142 * `-----------------------------------------------------------------------------------'
143 */
144[_FNL2] = LAYOUT_preonic_grid( \
145 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
146 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, _______, KC_PSCR, KC_INS, KC_HOME, KC_PGUP, KC_SLCK,
147 _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, _______, _______, KC_DEL, KC_END, KC_PGDN, KC_PAUS,
148 _______, CTLZ, CTLX, CTLC, CTLV, _______, _______, _______, _______, KC_UP, _______, KC_ENT,
149 _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, TO(_QWERTY)
150),
151
152/* Adjust (Lower + Raise)
153 * ,-----------------------------------------------------------------------------------.
154 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
155 * |------+------+------+------+------+------+------+------+------+------+------+------|
156 * | GAME | Reset| | | | | | | | | | Del |
157 * |------+------+------+------+------+-------------+------+------+------+------+------|
158 * | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
159 * |------+------+------+------+------+------|------+------+------+------+------+------|
160 * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
161 * |------+------+------+------+------+------+------+------+------+------+------+------|
162 * | | | | | | | | | | | BAIL |
163 * `-----------------------------------------------------------------------------------'
164 */
165[_ADJUST] = LAYOUT_preonic_grid( \
166 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
167 TO(_GAMEMODE), RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
168 _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
169 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
170 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY) \
171),
172
173
174/* Game mode
175 * ,-----------------------------------------------------------------------------------.
176 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
177 * |------+------+------+------+------+------+------+------+------+------+------+------|
178 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ |
179 * |------+------+------+------+------+-------------+------+------+------+------+------|
180 * | FNL1 | A | S | D | F | G | H | J | K | L | ; | " |
181 * |------+------+------+------+------+------|------+------+------+------+------+------|
182 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
183 * |------+------+------+------+------+------+------+------+------+------+------+------|
184 * | Ctrl | 1 | Lower| Bksp | Alt | Space | Raise| Bksp | BAIL | * | Esc |
185 * `-----------------------------------------------------------------------------------'
186 */
187[_GAMEMODE] = LAYOUT_preonic_grid( \
188 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
189 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
190 TT(_FNL3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
191 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
192 KC_LCTL, KC_1, MO(_LOWER2), KC_DEL, KC_LALT, KC_SPC, KC_SPC, MO(_RAISE2), KC_BSPC, TO(_QWERTY), KC_NUHS, KC_ESC
193),
194/* FNL3
195 * ,-----------------------------------------------------------------------------------.
196 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
197 * |------+------+------+------+------+------+------+------+------+------+------+------|
198 * |TbMacr| Prev | Play | Next | AltF4| CapsL| Esc | PgUp | Up | PgDn |PrScrn| Bksp |
199 * |------+------+------+------+------+-------------+------+------+------+------+------|
200 * | | | Vol- | Vol+ | Mute | NumL | Home | Left | Down | Right| | Del |
201 * |------+------+------+------+------+------|------+------+------+------+------+------|
202 * | | | | | | | End | | | | | |
203 * |------+------+------+------+------+------+------+------+------+------+------+------|
204 * | | | | | | | | | | | BAIL |
205 * `-----------------------------------------------------------------------------------'
206 */
207[_FNL3] = LAYOUT_preonic_grid( \
208 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
209 TBMACRO, KC_MPRV, KC_MPLY, KC_MNXT, ALT_F4, KC_CAPS, KC_ESC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_BSPC,
210 _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_NLCK, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL,
211 KC_LSFT, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, LSFT(KC_MINS), _______,
212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LSFT(KC_1), _______
213),
214
215/* Lower
216 * ,-----------------------------------------------------------------------------------.
217 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
218 * |------+------+------+------+------+------+------+------+------+------+------+------|
219 * | Tab | F1 | F2 | F3 | F4 | Esc | Bksp | / | 7 | 8 | 9 | - |
220 * |------+------+------+------+------+-------------+------+------+------+------+------|
221 * | FNL2 | F5 | F6 | F7 | F8 |Insert| Home | PgUp | 4 | 5 | 6 | + |
222 * |------+------+------+------+------+------|------+------+------+------+------+------|
223 * | | F9 | F10 | F11 | F12 | Del | End | PgDn | 1 | 2 | 3 | Enter|
224 * |------+------+------+------+------+------+------+------+------+------+------+------|
225 * | | | Alt | | | | * | 0 | , | . | BAIL |
226 * `-----------------------------------------------------------------------------------'
227 */
228[_LOWER2] = LAYOUT_preonic_grid( \
229 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
230 KC_TAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_ESC, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
231 TT(_FNL2), KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, KC_HOME, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS,
232 KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PENT,
233 _______, _______, _______, _______, _______, _______, _______, KC_PAST, KC_P0, KC_PDOT, KC_DOT, TO(_GAMEMODE)
234),
235
236/* Raise
237 * ,-----------------------------------------------------------------------------------.
238 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
239 * |------+------+------+------+------+------+------+------+------+------+------+------|
240 * | § | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + |
241 * |------+------+------+------+------+-------------+------+------+------+------+------|
242 * | ´ | ` | @ | £ | $ | € | ¨ | { | [ | ] | } | \ |
243 * |------+------+------+------+------+------|------+------+------+------+------+------|
244 * | | < | | | > | ° | | | µ | ¨ | ^ | ~ | |
245 * |------+------+------+------+------+------+------+------+------+------+------+------|
246 * | | | AltGr| | | | | | | | BAIL |
247 * `-----------------------------------------------------------------------------------'
248 */
249[_RAISE2] = LAYOUT_preonic_grid( \
250 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
251 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
252 KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
253 KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
254 _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______, TO(_GAMEMODE)
255)
256
257
258};
259
260bool process_record_user(uint16_t keycode, keyrecord_t *record) {
261 if (record->event.pressed) {
262 switch(keycode) {
263 case TBMACRO:
264 SEND_STRING(SS_TAP(X_TAB) SS_DOWN(X_LSHIFT) SS_TAP(X_HOME) SS_UP(X_LSHIFT) SS_TAP(X_DELETE));
265 return false;
266 case DGRMCRO:
267 if(!bnumlock) {
268 tap_code(KC_NLCK);
269 bnumlock = true;
270 }
271 //SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P6) SS_UP(X_LALT));
272 SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_KP_0) SS_TAP(X_KP_1) SS_TAP(X_KP_7) SS_TAP(X_KP_6) SS_UP(X_LALT) );
273 return false;
274
275 if(bnumlock) {
276 tap_code(KC_NLCK);
277 bnumlock = false;
278 }
279 case WRKMOD:
280 if(!workmode) {
281 workmode = true;
282 return false;
283 }
284 else {
285 workmode = false;
286 return false;
287 }
288 }
289
290 }
291 return true;
292 switch (keycode) {
293
294 case BACKLIT:
295 if (record->event.pressed) {
296 register_code(KC_RSFT);
297 #ifdef BACKLIGHT_ENABLE
298 backlight_step();
299 #endif
300 #ifdef __AVR__
301 PORTE &= ~(1<<6);
302 #endif
303 } else {
304 unregister_code(KC_RSFT);
305 #ifdef __AVR__
306 PORTE |= (1<<6);
307 #endif
308 }
309 return false;
310 break;
311 }
312 return true;
313};
314
315bool muse_mode = false;
316uint8_t last_muse_note = 0;
317uint16_t muse_counter = 0;
318uint8_t muse_offset = 70;
319uint16_t muse_tempo = 50;
320
321void encoder_update_user(uint8_t index, bool clockwise) {
322 if (muse_mode) {
323 if (IS_LAYER_ON(_RAISE)) {
324 if (clockwise) {
325 muse_offset++;
326 } else {
327 muse_offset--;
328 }
329 } else {
330 if (clockwise) {
331 muse_tempo+=1;
332 } else {
333 muse_tempo-=1;
334 }
335 }
336 } else {
337 if (clockwise) {
338 register_code(KC_PGDN);
339 unregister_code(KC_PGDN);
340 } else {
341 register_code(KC_PGUP);
342 unregister_code(KC_PGUP);
343 }
344 }
345}
346
347void dip_switch_update_user(uint8_t index, bool active) {
348 switch (index) {
349 case 0:
350 if (active) {
351 layer_on(_ADJUST);
352 } else {
353 layer_off(_ADJUST);
354 }
355 break;
356 case 1:
357 if (active) {
358 muse_mode = true;
359 } else {
360 muse_mode = false;
361 }
362 }
363}
364
365
366uint32_t layer_state_set_user(uint32_t state) {
367// if(rgblight_get_mode() == 1) {
368 switch (biton32(state)) {
369 case _QWERTY:
370 if(bnumlock) {
371 tap_code(KC_NLCK);
372 }
373 break;
374 case _LOWER:
375 if(!bnumlock) {
376 tap_code(KC_NLCK);
377 }
378
379 break;
380 case _ADJUST:
381 if(bnumlock) {
382 tap_code(KC_NLCK);
383 }
384 break;
385 case _RAISE:
386 if(bnumlock) {
387 tap_code(KC_NLCK);
388 }
389 break;
390 case _FNL1:
391 if(bnumlock) {
392 tap_code(KC_NLCK);
393 }
394 break;
395 case _GAMEMODE:
396 break;
397 default: // for any other layers, or the default layer
398 if(bnumlock) {
399 tap_code(KC_NLCK);
400 }
401
402 break;
403 }
404 // }
405 return state;
406}
407
408void matrix_scan_user(void) {
409#ifdef AUDIO_ENABLE
410 if (muse_mode) {
411 if (muse_counter == 0) {
412 uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
413 if (muse_note != last_muse_note) {
414 stop_note(compute_freq_for_midi_note(last_muse_note));
415 play_note(compute_freq_for_midi_note(muse_note), 0xF);
416 last_muse_note = muse_note;
417 }
418 }
419 muse_counter = (muse_counter + 1) % muse_tempo;
420 } else {
421 if (muse_counter) {
422 stop_all_notes();
423 muse_counter = 0;
424 }
425 }
426#endif
427}
428
429bool music_mask_user(uint16_t keycode) {
430 switch (keycode) {
431 case RAISE:
432 case LOWER:
433 return false;
434 default:
435 return true;
436 }
437}
diff --git a/keyboards/preonic/keymaps/senseored/readme.md b/keyboards/preonic/keymaps/senseored/readme.md
new file mode 100644
index 000000000..1b286acc8
--- /dev/null
+++ b/keyboards/preonic/keymaps/senseored/readme.md
@@ -0,0 +1 @@
# Swedish Preonic layout. Still figuring out what to do with numbers/symbols compared to a Planck-layout. \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/senseored/rules.mk b/keyboards/preonic/keymaps/senseored/rules.mk
new file mode 100644
index 000000000..dcf16bef3
--- /dev/null
+++ b/keyboards/preonic/keymaps/senseored/rules.mk
@@ -0,0 +1 @@
SRC += muse.c