summaryrefslogtreecommitdiff
path: root/keyboards/planck/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck/keymaps')
-rw-r--r--keyboards/planck/keymaps/badger/keymap.c60
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c260
-rw-r--r--keyboards/planck/keymaps/callum/readme.md30
-rw-r--r--keyboards/planck/keymaps/callum/rules.mk7
-rw-r--r--keyboards/planck/keymaps/dcompact/keymap.c26
-rw-r--r--keyboards/planck/keymaps/gitdrik/config.h56
-rw-r--r--keyboards/planck/keymaps/gitdrik/keymap.c231
-rw-r--r--keyboards/planck/keymaps/gitdrik/readme.md1
-rw-r--r--keyboards/planck/keymaps/gitdrik/rules.mk3
-rw-r--r--keyboards/planck/keymaps/narze/keymap.c6
-rw-r--r--keyboards/planck/keymaps/oryx/rules.mk2
-rw-r--r--keyboards/planck/keymaps/pevecyan/keymap.c76
-rw-r--r--keyboards/planck/keymaps/sascha/rules.mk2
-rw-r--r--keyboards/planck/keymaps/tylerwince/rules.mk2
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/config.h61
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/keymap.c162
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/readme.md1
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/rules.mk1
18 files changed, 646 insertions, 341 deletions
diff --git a/keyboards/planck/keymaps/badger/keymap.c b/keyboards/planck/keymaps/badger/keymap.c
new file mode 100644
index 0000000000..3321425190
--- /dev/null
+++ b/keyboards/planck/keymaps/badger/keymap.c
@@ -0,0 +1,60 @@
+/*
+Copyright 2020 Dan White <opensource@bluetufa.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "ortho.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY_MAC_ORTHO] = LAYOUT_ortho_4x12(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
+ MOMAC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
+ KC_LCTL, KC_LALT, KC_LGUI, RAISE, P_ADJ, KC_SPC, LOWER, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC),
+
+ [_MOVE_MAC_ORTHO] = LAYOUT_ortho_4x12(
+ KC_BACK, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, _______, WD_BACK, KC_HOME, KC_END, WD_FRWD, KC_NEXT, \
+ _______, MM_LH, MM_MAX, MM_RH, IJ_FIND, IJ_IMPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CM_RIGHT, CM_DOWN, \
+ _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, IJ_IMPH, _______, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [_QWERTY_LINUX_ORTHO] = LAYOUT_ortho_4x12(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
+ MOLNX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
+ KC_LCTL, KC_LALT, KC_LGUI, RAISE, P_ADJ, KC_SPC, LOWER, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC),
+
+ [_MOVE_LINUX_ORTHO] = LAYOUT_ortho_4x12(
+ _______, WM_VD1, WM_UH, WM_VD2, KC_MAC1, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, KC_INS, \
+ _______, WM_LH, WM_MAX, WM_RH, KC_MAC2, KC_PSCR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, \
+ _______, WM_VD3, WM_BH, OS_COPY, OS_PAST, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, KC_WSCH, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [_RAISE] = LAYOUT_ortho_4x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DQUO, \
+ _______, KC_UNDO, KC_CUT, OS_COPY, OS_PAST, KC_MPRV, KC_MNXT, KC_MUTE, KC_LT, KC_GT, KC_QUES, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [_LOWER] = LAYOUT_ortho_4x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
+ _______, KC_4, KC_5, KC_6, KC_PMNS, KC_PSCR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT, \
+ _______, KC_1, KC_2, KC_3, KC_PPLS, KC_NO, KC_NO, KC_WHOM, KC_WBAK, KC_WFWD, KC_WSCH, _______, \
+ _______, KC_0, KC_DOT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [_ADJUST] = LAYOUT_ortho_4x12(
+ _______, NK_ON, NK_OFF, EEP_RST, RESET, KC_MSTP, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN2, KC_INS, \
+ _______, GE_SWAP, GE_NORM, DEBUG, AG_SWAP, AG_NORM, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, _______, \
+ _______, KC_LYRC, KC_FIRST, KC_CAPS, KC_NO, KC_MPRV, KC_MNXT, KC_MUTE, KC_ACL0, KC_ACL1, KC_ACL2, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
deleted file mode 100644
index 50c0122a90..0000000000
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ /dev/null
@@ -1,260 +0,0 @@
-#include "planck.h"
-#include "action_layer.h"
-
-#define a KC_A
-#define b KC_B
-#define c KC_C
-#define d KC_D
-#define e KC_E
-#define f KC_F
-#define g KC_G
-#define h KC_H
-#define i KC_I
-#define j KC_J
-#define k KC_K
-#define l KC_L
-#define m KC_M
-#define n KC_N
-#define o KC_O
-#define p KC_P
-#define q KC_Q
-#define r KC_R
-#define s KC_S
-#define t KC_T
-#define u KC_U
-#define v KC_V
-#define w KC_W
-#define x KC_X
-#define y KC_Y
-#define z KC_Z
-
-#define lalt KC_LALT
-#define lctl KC_LCTL
-#define lsft KC_LSFT
-#define ralt KC_RALT
-#define rctl KC_RCTL
-#define rsft KC_RSFT
-
-#define n0 KC_0
-#define n1 KC_1
-#define n2 KC_2
-#define n3 KC_3
-#define n4 KC_4
-#define n5 KC_5
-#define n6 KC_6
-#define n7 KC_7
-#define n8 KC_8
-#define n9 KC_9
-
-#define ampr KC_AMPR
-#define astr KC_ASTR
-#define at KC_AT
-#define bsls KC_BSLS
-#define bspc KC_BSPC
-#define caps KC_CAPS
-#define circ KC_CIRC
-#define comm KC_COMM
-#define dash A(KC_MINS) // en-dash (–); or with shift: em-dash (—)
-#define del KC_DEL
-#define dlr KC_DLR
-#define dot KC_DOT
-#define ent KC_ENT
-#define eql KC_EQL
-#define esc KC_ESC
-#define exlm KC_EXLM
-#define grv KC_GRV
-#define hash KC_HASH
-#define lbrc KC_LBRC
-#define lcbr KC_LCBR
-#define lprn KC_LPRN
-#define mins KC_MINS
-#define perc KC_PERC
-#define pipe KC_PIPE
-#define plus KC_PLUS
-#define quot KC_QUOT
-#define rbrc KC_RBRC
-#define rcbr KC_RCBR
-#define rprn KC_RPRN
-#define scln KC_SCLN
-#define slsh KC_SLSH
-#define spc KC_SPC
-#define tab KC_TAB
-#define tild KC_TILD
-
-#define down KC_DOWN
-#define home G(KC_LEFT)
-#define end G(KC_RGHT)
-#define up KC_UP
-#define pgdn KC_PGDN
-#define pgup KC_PGUP
-#define left KC_LEFT
-#define rght KC_RGHT
-
-#define tabl G(S(KC_LBRC))
-#define tabr G(S(KC_RBRC))
-#define fwd G(KC_RBRC)
-#define back G(KC_LBRC)
-#define slup S(A(KC_UP)) // Previous unread in Slack
-#define sldn S(A(KC_DOWN)) // Next unread in Slack
-
-#define ctl1 C(KC_1) // Desktop 1 (6 with shift)
-#define ctl2 C(KC_2) // Desktop 2 (7 with shift)
-#define ctl3 C(KC_3) // Desktop 3 (8 with shift)
-#define ctl4 C(KC_4) // Desktop 4 (9 with shift)
-#define ctl5 C(KC_5) // Desktop 5 (10 with shift)
-#define ctl6 C(KC_6) // Screenshot
-#define ctl7 C(KC_7) // Brightness up
-#define ctl8 C(KC_8) // Brightness down
-
-#define f1 KC_F1
-#define f2 KC_F2
-#define f3 KC_F3
-#define f4 KC_F4
-#define f5 KC_F5
-#define f6 KC_F6
-#define f7 KC_F7
-#define f8 KC_F8
-#define f9 KC_F9
-#define f10 KC_F10
-#define f11 KC_F11
-#define f12 KC_F12
-#define f13 KC_F13
-#define f14 KC_F14
-#define f15 KC_F15
-#define f16 KC_F16
-#define f17 KC_F17
-#define f18 KC_F18
-#define f19 KC_F19
-#define f20 KC_F20
-
-#define mute KC_MUTE
-#define next KC_MNXT
-#define play KC_MPLY
-#define prev KC_MPRV
-#define vold KC_VOLD
-#define volu KC_VOLU
-
-#define symb MO(SYMB)
-#define move MO(MOVE)
-#define func MO(FUNC)
-
-#define rset RESET
-#define powr KC_POWER
-
-#define ____ KC_TRNS
-#define xxxx KC_NO
-
-extern keymap_config_t keymap_config;
-
-enum planck_layers {
- BASE,
- SYMB,
- MOVE,
- FUNC,
-};
-
-enum planck_keycodes {
- // Curly quotes
- lcqt = SAFE_RANGE,
- rcqt,
-
- // "Smart" mods
- cmd,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT_planck_grid(
- tab, q, w, f, p, g, j, l, u, y, scln, mins,
- bspc, a, r, s, t, d, h, n, e, i, o, quot,
- lsft, z, x, c, v, b, k, m, comm, dot, slsh, rsft,
- func, lctl, lalt, cmd, move, ent, spc, symb, cmd, ralt, rctl, func
- ),
-
- [SYMB] = LAYOUT_planck_grid(
- esc, n7, n5, n3, n1, n9, n8, n0, n2, n4, n6, dash,
- lcqt, at, dlr, eql, lprn, lbrc, rbrc, rprn, astr, hash, plus, rcqt,
- ____, grv, pipe, bsls, lcbr, tild, circ, rcbr, ampr, exlm, perc, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
- ),
-
- [MOVE] = LAYOUT_planck_grid(
- esc, ctl1, ctl2, ctl3, ctl4, ctl5, ctl6, home, up, end, xxxx, xxxx,
- del, play, volu, tabl, tabr, slup, ctl7, left, down, rght, caps, xxxx,
- ____, mute, vold, back, fwd, sldn, ctl8, pgdn, pgup, xxxx, xxxx, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
- ),
-
- [FUNC] = LAYOUT_planck_grid(
- rset, f7, f5, f3, f1, f9, f8, f10, f2, f4, f6, xxxx,
- xxxx, f17, f15, f13, f11, f19, f18, f20, f12, f14, f16, xxxx,
- ____, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, ____,
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
- ),
-};
-
-bool send_string_if_keydown(
- keyrecord_t *record,
- const char *unshifted,
- const char *shifted) {
- if (record->event.pressed) {
- if (shifted) {
- uint8_t shifts = get_mods() & MOD_MASK_SHIFT;
- if (shifts) {
- del_mods(shifts);
- send_string(shifted);
- add_mods(shifts);
- } else {
- send_string(unshifted);
- }
- } else {
- send_string(unshifted);
- }
- }
- return true;
-}
-
-// Holding both cmd keys will instead register as cmd + ctl
-bool smart_cmd(keyrecord_t *record) {
- static int cmd_keys_down = 0;
-
- if (record->event.pressed) {
- if (cmd_keys_down == 0) {
- register_code(KC_LCMD);
- } else {
- register_code(KC_LCTL);
- }
- cmd_keys_down++;
- } else {
- if (cmd_keys_down == 1) {
- unregister_code(KC_LCMD);
- } else {
- unregister_code(KC_LCTL);
- }
- cmd_keys_down--;
- }
- return true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // The macOS shortcuts for curly quotes are horrible, so this rebinds
- // them so that shift toggles single–double instead of left–right, and
- // then both varieties of left quote can share one key, and both
- // varieties of right quote share another.
- case lcqt:
- return send_string_if_keydown(
- record,
- SS_LALT("]"), // left single quote (‘)
- SS_LALT("[")); // left double quote (“)
- case rcqt:
- return send_string_if_keydown(
- record,
- SS_LALT(SS_LSFT("]")), // right single quote (’)
- SS_LALT(SS_LSFT("["))); // right double quote (”)
-
- // cmd + cmd -> cmd + ctl
- case cmd:
- return smart_cmd(record);
- }
- return true;
-}
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
deleted file mode 100644
index 471de2b741..0000000000
--- a/keyboards/planck/keymaps/callum/readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# callum’s planck layout
-
-This is a layout for the grid planck, built with a few ideals in mind:
-
-- Consistent and minimal response times should be maintained. Keys that react
- differently depending on whether they are tapped or held, keys that react
- differently if they are double tapped, etc. should be avoided – they
- inevitably send their keycode later than a normal key – interrupting the
- immediate feedback from the screen. Therefore we restrict ourselves to
- chording as our only means of getting more than one symbol out of a single
- physical key.
-
-- The hands should never need to leave the home position. The usual culprit for
- this is the arrow cluster, so the arrow cluster should be as close to home as
- possible.
-
-- There should be two of every modifier (one on each side), otherwise certain
- long key combinations become hard to make.
-
-- It should be possible to do things you might want to do while using the mouse
- with only the left hand (e.g. change tabs, navigate back or forwards in
- browser history).
-
-- Symbols should be arranged so that the most frequently used are easiest to
- reach. This includes numbers, and lower numbers are more commonly used than
- higher ones. (number arrangement borrowed from [dustypomeleau’s minidox
- layout][]).
-
-[dustypomeleau’s minidox layout]: https://github.com/qmk/qmk_firmware/tree/master/keyboards/minidox/keymaps/dustypomerleau
-[keymap.c]: keymap.c
diff --git a/keyboards/planck/keymaps/callum/rules.mk b/keyboards/planck/keymaps/callum/rules.mk
deleted file mode 100644
index 9615222d1b..0000000000
--- a/keyboards/planck/keymaps/callum/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-BOOTMAGIC_ENABLE = no
-MOUSEKEY_ENABLE = no
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-MIDI_ENABLE = no
-AUDIO_ENABLE = yes
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/planck/keymaps/dcompact/keymap.c b/keyboards/planck/keymaps/dcompact/keymap.c
index cb4cd3f5b9..0b48f30ac4 100644
--- a/keyboards/planck/keymaps/dcompact/keymap.c
+++ b/keyboards/planck/keymaps/dcompact/keymap.c
@@ -26,6 +26,20 @@
#define WKSP_U LALT(LCTL(KC_UP))
#define WKSP_R LALT(LCTL(KC_RGHT))
+#define AM_CYC A(S(KC_SPC))
+#define AM_SHR A(S(KC_COMM))
+#define AM_GRW A(S(KC_DOT))
+#define AM_REL A(S(KC_Z))
+#define AM_LFT A(S(KC_H))
+#define AM_RGH A(S(KC_L))
+#define AM_CW A(S(KC_K))
+#define AM_CCW A(S(KC_J))
+#define AM_TLL A(S(KC_1))
+#define AM_TLW A(S(KC_2))
+#define AM_BSP A(S(KC_3))
+#define AM_FUL A(S(KC_4))
+
+
extern keymap_config_t keymap_config;
enum planck_layers {
@@ -78,19 +92,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Lower
* ,-----------------------------------------------------------------------------------.
- * | | | | | | | | Home |PgDwn | PgUp | End | |
+ * | |AmCycl|AmShrk|AmGrow|AmReld| | | Home |PgDwn | PgUp | End | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |PrScr | Menu | | | | | Left | Down | Up |Right | |
+ * | |AmLeft|AmCcw |AmCw |AmRght| | | Left | Down | Up |Right | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |CapsLk|NumLck| Ins | | | |WkLeft|WkDown| WkUp |WkRigh| |
+ * | |AmTall|AmTllW|AmBsp |AmFull| | |WkLeft|WkDown| WkUp |WkRigh| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | |Raise | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX,
- XXXXXXX, KC_PSCR, KC_MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- XXXXXXX, KC_CAPS, KC_LNUM, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, WKSP_L, WKSP_D, WKSP_U, WKSP_R, XXXXXXX,
+ XXXXXXX, AM_CYC, AM_SHR, AM_GRW, AM_REL, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX,
+ XXXXXXX, AM_LFT, AM_CCW, AM_CW, AM_RGH, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
+ XXXXXXX, AM_TLL, AM_TLW, AM_BSP, AM_FUL, XXXXXXX, XXXXXXX, WKSP_L, WKSP_D, WKSP_U, WKSP_R, XXXXXXX,
_______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
diff --git a/keyboards/planck/keymaps/gitdrik/config.h b/keyboards/planck/keymaps/gitdrik/config.h
new file mode 100644
index 0000000000..0acf06dc54
--- /dev/null
+++ b/keyboards/planck/keymaps/gitdrik/config.h
@@ -0,0 +1,56 @@
+/* Original code probably copyright 2015-2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* Passed along from planck default to Finnish SFS 5966 by gitdrik, 2020. */
+
+#pragma once
+
+#ifdef AUDIO_ENABLE
+ #define STARTUP_SONG SONG(PLANCK_SOUND)
+ // #define STARTUP_SONG SONG(NO_SOUND)
+
+ #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+ SONG(COLEMAK_SOUND), \
+ SONG(DVORAK_SOUND) \
+ }
+#endif
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+#define ENCODER_RESOLUTION 4
diff --git a/keyboards/planck/keymaps/gitdrik/keymap.c b/keyboards/planck/keymaps/gitdrik/keymap.c
new file mode 100644
index 0000000000..bdaef20763
--- /dev/null
+++ b/keyboards/planck/keymaps/gitdrik/keymap.c
@@ -0,0 +1,231 @@
+/* Copyright 2015-2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* Modified from planck default to Finnish SFS 5966 by gitdrik, 2020. */
+
+#include QMK_KEYBOARD_H
+#include "muse.h"
+
+enum planck_layers {
+ _BASE,
+ _LEFT,
+ _RIGHT,
+ _LEFTER,
+ _RIGHTER
+};
+
+#define LEFT TT(_LEFT)
+#define RIGHT MO(_RIGHT)
+#define LEFTER MO(_LEFTER)
+#define RIGHTER MO(_RIGHTER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Base
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Å |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | Ö | Ä |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Shift| X | C | V | B | N | M | , | . | Shift| Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Z | GUI | Alt |Left2 | Left |BkSpc | Spc |Right |Rghter| < | - | / |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_BASE] = LAYOUT_planck_grid(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LCTL, KC_LSFT, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_ENT ,
+ KC_Z, KC_LGUI, KC_LALT, LEFTER, LEFT, KC_BSPC, KC_SPC, RIGHT, RIGHTER, KC_NUBS, KC_SLSH, LSFT(KC_7)
+),
+
+/* Left
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | F10 | F9 | F8 | F7 | { | } | 7 | 8 | 9 | ^ | = |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | F11 | F6 | F5 | F4 | ( | ) | 4 | 5 | 6 | + | * |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | RCtrl| Shift| F3 | F2 | F1 | [ | ] | 1 | 2 | 3 | Shift| Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | F12 | GUI | Alt |Lefter| Left |BkSpc | Spc |Right | 0 | , | - | / |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LEFT] = LAYOUT_planck_grid(
+ KC_TRNS, KC_F10, KC_F9, KC_F8, KC_F7, RALT(KC_7), RALT(KC_0), KC_7, KC_8, KC_9, LSFT(KC_RBRC), LSFT(KC_0),
+ KC_TRNS, KC_F11, KC_F6, KC_F5, KC_F4, LSFT(KC_8), LSFT(KC_9), KC_4, KC_5, KC_6, KC_PPLS, KC_PAST,
+ KC_RCTL, KC_TRNS, KC_F3, KC_F2, KC_F1, RALT(KC_8), RALT(KC_9), KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
+ KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_COMM, KC_PMNS, KC_PSLS
+),
+
+/* Right
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | ◌̄ | ◌̈ | ◌́ | ◌̀ | ◌̃ | ◌̆ | Home | Up | End | Ins | PgUp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | @ | $ | ° | & | # | % | Left | Down | Right| Del | PgDn |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | RCtrl| Shift| ” | « | » | ‚ „ | ‰ |PlayPs| << | >> | Shift| Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | “ | GUI | Alt |Lefter| |BkSpc | Spc |Right |Rghter| Vol- | Vol+ | Mute |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_RIGHT] = LAYOUT_planck_grid(
+ KC_TRNS, RALT(LSFT(KC_RBRC)), KC_RBRC, KC_EQL , LSFT(KC_EQL), RALT(KC_RBRC), RALT(KC_NUHS), KC_HOME, KC_UP, KC_END , KC_INS , KC_PGUP,
+ KC_TRNS, RALT(KC_2), RALT(KC_4), RALT(LSFT(KC_0)), LSFT(KC_6), LSFT(KC_3), LSFT(KC_5), KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN,
+ KC_RCTRL, KC_TRNS, RALT(LSFT(KC_2)), RALT(LSFT(KC_4)), RALT(LSFT(KC_3)), RALT(KC_6), RALT(KC_5), KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ RALT(LSFT(KC_5)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE
+),
+
+/* Lefter
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | § ½ | " | € | | þ Þ | ¡ | ! | ı | œ Œ | ◌̛ ◌̉ | ◌̋ ◌̊ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | ə Ə | ß ẞ | ð Ð | ' | | | | ĸ | ◌̵ | ø Ø | æ Æ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Shift| × · | ◌̧ ◌̨ | | \ | ŋ Ŋ | µ — | ’ ‘ | ◌̣ ◌̇ | Shift| Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ʒ Ʒ | GUI | Alt |Lefter| | BkSpc| NbSp | |Rghter| | | – ◌̦ | ? |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_LEFTER] = LAYOUT_planck_grid(
+ KC_TRNS, KC_GRV, LSFT(KC_2), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(LSFT(KC_1)), LSFT(KC_1), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC),
+ KC_TRNS, RALT(KC_A),RALT(KC_S), RALT(KC_D), KC_NUHS, RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), RALT(KC_L), RALT(KC_SCLN), RALT(KC_QUOT),
+ KC_TRNS, KC_TRNS, RALT(KC_X), RALT(KC_EQL), RALT(KC_V), RALT(KC_MINS), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), KC_TRNS, KC_TRNS,
+ RALT(KC_Z),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_BSPC), RALT(KC_SPC), KC_TRNS, KC_TRNS, RALT(KC_NUBS), RALT(KC_SLSH), LSFT(KC_MINS)
+),
+
+/* Righter
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| Debug| | | | |WheLft| MUp |WheRgt| MBt2 | WheUp|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | MBt4 | MBt3 | MBt2 | MBt1 | | | MLeft| MDown|MRight| MBt1 | WheDn|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | |MUSmod|Mus on|Musoff| | | MBt1 | MBt2 | MBt3 | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | |Rghter|Light-|Light+| |
+ * `-----------------------------------------------------------------------------------'
+ */
+ [_RIGHTER] = LAYOUT_planck_grid(
+ KC_TRNS, RESET, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, KC_WH_U,
+ KC_TRNS, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_WH_D,
+ KC_TRNS, KC_TRNS, MU_MOD, MU_ON, MU_OFF, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_TRNS, KC_TRNS,
+ KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO
+),
+
+};
+
+#ifdef AUDIO_ENABLE
+ float plover_song[][2] = SONG(PLOVER_SOUND);
+ float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
+#endif
+
+bool muse_mode = false;
+uint8_t last_muse_note = 0;
+uint16_t muse_counter = 0;
+uint8_t muse_offset = 70;
+uint16_t muse_tempo = 50;
+
+void encoder_update(bool clockwise) {
+ if (muse_mode) {
+ if (IS_LAYER_ON(_RIGHT)) {
+ if (clockwise) {
+ muse_offset++;
+ } else {
+ muse_offset--;
+ }
+ } else {
+ if (clockwise) {
+ muse_tempo+=1;
+ } else {
+ muse_tempo-=1;
+ }
+ }
+ } else {
+ if (clockwise) {
+ #ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_DOWN);
+ #else
+ tap_code(KC_PGDN);
+ #endif
+ } else {
+ #ifdef MOUSEKEY_ENABLE
+ tap_code(KC_MS_WH_UP);
+ #else
+ tap_code(KC_PGUP);
+ #endif
+ }
+ }
+}
+
+void dip_switch_update_user(uint8_t index, bool active) {
+ switch (index) {
+ case 0: {
+#ifdef AUDIO_ENABLE
+ static bool play_sound = false;
+#endif
+ if (active) {
+#ifdef AUDIO_ENABLE
+ if (play_sound) { PLAY_SONG(plover_song); }
+#endif
+ layer_on(_LEFTER);
+ } else {
+#ifdef AUDIO_ENABLE
+ if (play_sound) { PLAY_SONG(plover_gb_song); }
+#endif
+ layer_off(_LEFTER);
+ }
+#ifdef AUDIO_ENABLE
+ play_sound = true;
+#endif
+ break;
+ }
+ case 1:
+ if (active) {
+ muse_mode = true;
+ } else {
+ muse_mode = false;
+ }
+ }
+}
+
+void matrix_scan_user(void) {
+#ifdef AUDIO_ENABLE
+ if (muse_mode) {
+ if (muse_counter == 0) {
+ uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
+ if (muse_note != last_muse_note) {
+ stop_note(compute_freq_for_midi_note(last_muse_note));
+ play_note(compute_freq_for_midi_note(muse_note), 0xF);
+ last_muse_note = muse_note;
+ }
+ }
+ muse_counter = (muse_counter + 1) % muse_tempo;
+ } else {
+ if (muse_counter) {
+ stop_all_notes();
+ muse_counter = 0;
+ }
+ }
+#endif
+}
+
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case _LEFTER:
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/planck/keymaps/gitdrik/readme.md b/keyboards/planck/keymaps/gitdrik/readme.md
new file mode 100644
index 0000000000..f064565182
--- /dev/null
+++ b/keyboards/planck/keymaps/gitdrik/readme.md
@@ -0,0 +1 @@
+# Finnish SFS 5966 layout by gitdrik 2020.
diff --git a/keyboards/planck/keymaps/gitdrik/rules.mk b/keyboards/planck/keymaps/gitdrik/rules.mk
new file mode 100644
index 0000000000..67528de9c8
--- /dev/null
+++ b/keyboards/planck/keymaps/gitdrik/rules.mk
@@ -0,0 +1,3 @@
+SRC += muse.c
+MOUSEKEY_ENABLE = yes
+AUDIO_ENABLE = yes
diff --git a/keyboards/planck/keymaps/narze/keymap.c b/keyboards/planck/keymaps/narze/keymap.c
index c878cf9e44..81cb68ecc9 100644
--- a/keyboards/planck/keymaps/narze/keymap.c
+++ b/keyboards/planck/keymaps/narze/keymap.c
@@ -330,12 +330,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// 1. Hold for LGUI, tap for Underscore
case GUI_UNDS:
- perform_space_cadet(record, KC_LGUI, KC_LSFT, KC_MINS);
+ perform_space_cadet(record, keycode, KC_LGUI, KC_LSFT, KC_MINS);
return false;
// 2. Hold for LSHIFT, tap for Parens open
case LSFT_LPRN:
- perform_space_cadet(record, KC_LSFT, KC_LSFT, KC_9);
+ perform_space_cadet(record, keycode, KC_LSFT, KC_LSFT, KC_9);
return false;
default:
@@ -357,7 +357,7 @@ void matrix_setup(void) {
void matrix_scan_user(void) {
}
-void process_combo_event(uint8_t combo_index, bool pressed) {
+void process_combo_event(uint16_t combo_index, bool pressed) {
if (pressed) {
switch(combo_index) {
case CB_SUPERDUPER:
diff --git a/keyboards/planck/keymaps/oryx/rules.mk b/keyboards/planck/keymaps/oryx/rules.mk
index fb44d6b95e..7657a30434 100644
--- a/keyboards/planck/keymaps/oryx/rules.mk
+++ b/keyboards/planck/keymaps/oryx/rules.mk
@@ -1,6 +1,6 @@
SRC += muse.c
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
diff --git a/keyboards/planck/keymaps/pevecyan/keymap.c b/keyboards/planck/keymaps/pevecyan/keymap.c
index 57f9f0e7f9..d2a0c85159 100644
--- a/keyboards/planck/keymaps/pevecyan/keymap.c
+++ b/keyboards/planck/keymaps/pevecyan/keymap.c
@@ -44,7 +44,7 @@ enum planck_keycodes {
#define CAPS MO(_CAPS)
#define ALTGR MO(_ALTGR)
#define MEMA MO(_MEMA)
-#define CARON LT(_CARON, SI_QOT)
+#define CARON LT(_CARON, SI_QUOT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -52,56 +52,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Z | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | CAPS | A | S | D | F | G | H | J | K | L | ; | " |
+ * | CAPS | A | S | D | F | G | H | J | K | L |CARON |Enter |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Y | X | C | V | B | N | M | , | . | / |Enter |
+ * | Shift| Y | X | C | V | B | N | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * | Ctrl | GUI | Alt | GUI |LOWER | Space |RAISE | ALTGR| MEMA | F12 | F5 |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
KC_TAB, SI_Q, SI_W, SI_E, SI_R, SI_T, SI_Z, SI_U, SI_I, SI_O, SI_P, KC_BSPC,
CAPS, SI_A, SI_S, SI_D, SI_F, SI_G, SI_H, SI_J, SI_K, SI_L, CARON, KC_ENT,
- KC_LSFT, SI_Y, SI_X, SI_C, SI_V, SI_B, SI_N, SI_M, SI_COMM, SI_DOT, SI_MINS, KC_RSFT ,
- KC_LCTL, KC_LALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, ALTGR, MEMA, KC_F12, KC_F5
+ KC_LSFT, SI_Y, SI_X, SI_C, SI_V, SI_B, SI_N, SI_M, SI_COMM, SI_DOT, SI_MINS, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, ALTGR, MEMA, KC_F12, KC_F5
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | " | # | $ | % | & | / | ( | ) | = | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | ? | * | ` | + | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | < | > | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
- SI_TILD, SI_EXLM, SI_DQOT, KC_HASH, SI_DLR, SI_PERC, SI_AMPR, SI_SLSH, SI_LPRN, SI_RPRN, SI_EQL, _______,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_MINS, KC_PPLS, KC_ENT,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
+ SI_TILD, SI_EXLM, SI_DQUO, KC_HASH, SI_DLR, SI_PERC, SI_AMPR, SI_SLSH, SI_LPRN, SI_RPRN, SI_EQL, _______,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, SI_QUES, SI_ASTR, SI_GRV, SI_PLUS, _______,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, SI_LABK, SI_RABK, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * | Del | | | | | | | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ * | | | | | | | |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_grid(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
+
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del |
@@ -120,18 +121,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
-[_ALTGR] = LAYOUT_planck_grid(
- _______, ALTG(KC_Q), ALTG(KC_W), ALTG(KC_E), _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, ALTG(KC_F), ALTG(KC_G), _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, ALTG(KC_V), ALTG(KC_B), ALTG(KC_N), _______, ALTG(KC_COMM), ALTG(KC_DOT), _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+/* Altgr <>
+ * ,-----------------------------------------------------------------------------------.
+ * | | \ | | | € | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | [ | ] | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | @ | { | } | | < | > | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ALTGR] = LAYOUT_planck_grid(k
+ _______, SI_BSLS, SI_PIPE, SI_EURO, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, SI_LBRC, SI_RBRC, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, SI_AT, SI_LCBR, SI_RCBR, _______, SI_LABK, SI_RABK, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_CAPS] = LAYOUT_planck_grid(
- KC_ESC , KC_BSPC, KC_UP , KC_DEL , _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ KC_ESC , KC_BSPC, KC_UP , KC_DEL , _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_DEL ,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, LCTL(KC_LEFT), LCTL(KC_RIGHT), _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MEMA] = LAYOUT_planck_grid(
@@ -142,9 +154,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_CARON] = LAYOUT_planck_grid(
- _______, _______, _______, _______, _______, _______, SI_ZV , _______, _______, _______, _______, _______,
- _______, _______, SI_SV, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, SI_CV, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, SI_ZCAR , _______, _______, _______, _______, _______,
+ _______, _______, SI_SCAR, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, SI_CCAR, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/planck/keymaps/sascha/rules.mk b/keyboards/planck/keymaps/sascha/rules.mk
index 57e5e2643e..ac69f9dbcb 100644
--- a/keyboards/planck/keymaps/sascha/rules.mk
+++ b/keyboards/planck/keymaps/sascha/rules.mk
@@ -1,7 +1,7 @@
AUTO_SHIFT_ENABLE = yes
AUTO_SHIFT_MODIFIERS = yes
UNICODE_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
ifeq ($(strip $(KEYBOARD)), planck/rev5)
BACKLIGHT_ENABLE = yes
diff --git a/keyboards/planck/keymaps/tylerwince/rules.mk b/keyboards/planck/keymaps/tylerwince/rules.mk
index a4f1a0b84f..2c1585883f 100644
--- a/keyboards/planck/keymaps/tylerwince/rules.mk
+++ b/keyboards/planck/keymaps/tylerwince/rules.mk
@@ -1,7 +1,7 @@
SRC += muse.c
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
TAP_DANCE_ENABLE=yes
diff --git a/keyboards/planck/keymaps/winternebs/config.h b/keyboards/planck/keymaps/winternebs/config.h
new file mode 100755
index 0000000000..eec8a93762
--- /dev/null
+++ b/keyboards/planck/keymaps/winternebs/config.h
@@ -0,0 +1,61 @@
+/* Copyright 2020 winterNebs <winternebs@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+/*
+#ifdef AUDIO_ENABLE
+ #define STARTUP_SONG SONG(PLANCK_SOUND)
+ // #define STARTUP_SONG SONG(NO_SOUND)
+
+ #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+ SONG(COLEMAK_SOUND), \
+ SONG(DVORAK_SOUND) \
+ }
+#endif
+*/
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+// Most tactile encoders have detents every 4 stages
+//#define ENCODER_RESOLUTION 4
+
+//Mouse stuff
+#define MOUSEKEY_DELAY 60
+#define MOUSEKEY_INTERVAL 8
+#define MOUSEKEY_MAX_SPEED 3
+#define MOUSEKEY_TIME_TO_MAX 0
+#define FORCE_NKRO
diff --git a/keyboards/planck/keymaps/winternebs/keymap.c b/keyboards/planck/keymaps/winternebs/keymap.c
new file mode 100755
index 0000000000..259603faf5
--- /dev/null
+++ b/keyboards/planck/keymaps/winternebs/keymap.c
@@ -0,0 +1,162 @@
+/* Copyright 2015-2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+
+enum planck_layers {
+ _QWERTY,
+ _WORKMAN,
+ _LOWER,
+ _ADJUST,
+};
+
+enum planck_keycodes {
+ QWERTY = SAFE_RANGE,
+ WORKMAN,
+ LOWER,
+};
+
+#define ADJUST MO(_ADJUST)
+//#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | | Alt |Lower |Space |Space |Adjust| | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_grid(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_LCTL, KC_LGUI, _______, KC_LALT, LOWER, KC_SPC, KC_SPC, ADJUST, _______, KC_LEFT, KC_DOWN, KC_RGHT
+),
+/* Workman
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc | Q | D | R | W | B | J | F | U | P | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | H | T | G | Y | N | E | O | I | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | M | C | V | K | L | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | | Alt |Lower |Space | Bksp |Adjust| | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_WORKMAN] = LAYOUT_planck_grid(
+ KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_LCTL, KC_LGUI, _______, KC_LALT, LOWER, KC_SPC, KC_BSPC, ADJUST, _______, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up | UP |Pg Dn |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | |PrScr | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_planck_grid(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ ,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_UP, KC_PGDN,
+ _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------
+ * |RESET |DEBUG| |Aud on|Audoff| | | | | | |Reset |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | |QWERTY|WORKMAN| | | Help | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | Home | End | VOL+ | Play |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | NKRO | | | | | | | | Prev | VOL- | Next |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_planck_grid(
+ RESET, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______ ,
+ _______, _______, _______, QWERTY, WORKMAN , _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_VOLU, KC_MPLY,
+ MAGIC_TOGGLE_NKRO, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
+)
+};
+
+
+
+
+bool held[7][6] = {{false}};
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if(record->event.key.row != 3 && record->event.key.row != 7 ){
+ held[record->event.key.row][record->event.key.col] = record->event.pressed;
+ }
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ case WORKMAN:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_WORKMAN);
+ }
+ return false;
+ break;
+ case LOWER:
+ if(record->event.pressed){
+ print("registered\n");
+ for(int i = 0; i < 7; i++){
+ for(int j = 0; j < 6; j++){
+ if(held[i][j]){
+ tap_code(pgm_read_word(&keymaps[_LOWER][i][j]));
+ }
+ }
+ }
+ layer_on(_LOWER);
+ return false;
+ }
+
+ layer_off(_LOWER);
+ return false;
+ break;
+ }
+ return true;
+}
+
+void dip_update(uint8_t index, bool active) {
+ switch (index) {
+ case 0:
+ if (active) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+ }
+}
diff --git a/keyboards/planck/keymaps/winternebs/readme.md b/keyboards/planck/keymaps/winternebs/readme.md
new file mode 100755
index 0000000000..d2040854ce
--- /dev/null
+++ b/keyboards/planck/keymaps/winternebs/readme.md
@@ -0,0 +1 @@
+# winterNebs' Planck keymap
diff --git a/keyboards/planck/keymaps/winternebs/rules.mk b/keyboards/planck/keymaps/winternebs/rules.mk
new file mode 100755
index 0000000000..dcf16bef39
--- /dev/null
+++ b/keyboards/planck/keymaps/winternebs/rules.mk
@@ -0,0 +1 @@
+SRC += muse.c