summaryrefslogtreecommitdiffstats
path: root/keyboards/planck
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck')
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c16
-rw-r--r--keyboards/planck/keymaps/callum/readme.md10
-rw-r--r--keyboards/planck/keymaps/cbbrowne/config.h4
-rw-r--r--keyboards/planck/keymaps/default/keymap.c16
-rw-r--r--keyboards/planck/keymaps/espynn/keyboard-layout.jpgbin52908 -> 53129 bytes
-rw-r--r--keyboards/planck/keymaps/espynn/keymap.c22
-rw-r--r--keyboards/planck/keymaps/espynn/layout.json131
-rw-r--r--keyboards/planck/keymaps/espynn/readme.md12
-rw-r--r--keyboards/planck/keymaps/khord/Makefile4
-rw-r--r--keyboards/planck/keymaps/khord/config.h93
-rw-r--r--keyboards/planck/keymaps/khord/keymap.c336
-rw-r--r--keyboards/planck/keymaps/priyadi/config.h39
-rw-r--r--keyboards/planck/keymaps/priyadi/keymap.c681
-rw-r--r--keyboards/planck/keymaps/smt/keymap.c132
-rw-r--r--keyboards/planck/keymaps/smt/readme.md79
-rw-r--r--keyboards/planck/keymaps/unicode/keymap.c45
-rw-r--r--keyboards/planck/rules.mk4
17 files changed, 758 insertions, 866 deletions
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 2acd988ea..aede27df7 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -14,7 +14,7 @@ extern keymap_config_t keymap_config;
#define _FUNC 4
#define ENDASH LALT(KC_MINS)
#define POUND LALT(KC_3)
-
+#define H(X) LALT(LCTL(X))
enum planck_keycodes {
MOVE = SAFE_RANGE,
@@ -48,19 +48,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* MOVE
* ,-----------------------------------------------------------------------------------.
- * | Esc | | Home | Up | End | | | Home | Up | End | | Esc |
+ * | H(3) | H(F1)| H(F2)| H(F3)| H(F4)| H(F5)| H(8) | Home | Up | End | H(7) | Esc |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
+ * | H(4) | H(F6)| H(F7)| H(F8)| H(F9)|H(F10)| H(9) | Left | Down | Right| Caps | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
+ * | |H(F11)|H(F12)| H(0) | H(1) | H(2) | H(A) | Pg Dn| Pg Up| H(5) | H(6) | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_MOVE] = {
- {KC_ESC, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_ESC },
- {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
- {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
+ {H(KC_3), H(KC_F1),H(KC_F2),H(KC_F3),H(KC_F4),H(KC_F5),H(KC_8), KC_HOME, KC_UP, KC_END, H(KC_7), KC_ESC },
+ {H(KC_4), H(KC_F6),H(KC_F7),H(KC_F8),H(KC_F9),H(KC_F10),H(KC_9),KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
+ {_______, H(KC_F11),H(KC_F12),H(KC_0),H(KC_1),H(KC_2), H(KC_A), KC_PGDN, KC_PGUP, H(KC_5), H(KC_6), _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
},
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNC] = {
{RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLU},
{XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_VOLD},
- {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_POWER, XXXXXXX, XXXXXXX, XXXXXXX, _______},
+ {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_POWER,XXXXXXX, XXXXXXX, XXXXXXX, _______},
{_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
}
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index 71e200b9d..4d4e5cdd7 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -6,7 +6,7 @@ This is a layout for the grid planck, built with a few ideals in mind:
- 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.
-We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. The `MOUSE` layer is activated by holding the Move and Symb keys simultaniously.
+We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster, other movement keys, and hotkeys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation. The `MOUSE` layer is activated by holding the Move and Symb keys simultaniously.
```
/* BASE
@@ -23,11 +23,11 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
/* MOVE
* ,-----------------------------------------------------------------------------------.
- * | Esc | | Home | Up | End | | | Home | Up | End | | Esc |
+ * | H(3) | H(F1)| H(F2)| H(F3)| H(F4)| H(F5)| H(8) | Home | Up | End | H(7) | Esc |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | Caps | Left | Down | Right| | | Left | Down | Right| Caps | Del |
+ * | H(4) | H(F6)| H(F7)| H(F8)| H(F9)|H(F10)| H(9) | Left | Down | Right| Caps | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | Pg Up| Pg Dn| | | Pg Dn| Pg Up| | | |
+ * | |H(F11)|H(F12)| H(0) | H(1) | H(2) | H(A) | Pg Dn| Pg Up| H(5) | H(6) | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
@@ -68,4 +68,4 @@ We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c
* | | | | | Prev | Mute | Play | Next | | | | |
* `-----------------------------------------------------------------------------------'
*/
- ```
+```
diff --git a/keyboards/planck/keymaps/cbbrowne/config.h b/keyboards/planck/keymaps/cbbrowne/config.h
index bd15fd5a2..3a4ee907f 100644
--- a/keyboards/planck/keymaps/cbbrowne/config.h
+++ b/keyboards/planck/keymaps/cbbrowne/config.h
@@ -1,8 +1,12 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
+#ifndef NO_DEBUG
#define NO_DEBUG
+#endif
+#ifndef NO_PRINT
#define NO_PRINT
+#endif
#include "../../config.h"
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index 1b1b998b2..d149019fe 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -102,16 +102,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = {
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {_______, 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}
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {_______, 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}
},
/* Raise
@@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
@@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | S | T | P | H | * | * | F | P | L | T | D |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * |TogOut| S | K | W | R | * | * | R | B | G | S | Z |
+ * | | S | K | W | R | * | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | E | U | | | |
* `-----------------------------------------------------------------------------------'
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = {
- {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
+ {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL },
{_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
diff --git a/keyboards/planck/keymaps/espynn/keyboard-layout.jpg b/keyboards/planck/keymaps/espynn/keyboard-layout.jpg
index 55e5396bf..c5e438f6a 100644
--- a/keyboards/planck/keymaps/espynn/keyboard-layout.jpg
+++ b/keyboards/planck/keymaps/espynn/keyboard-layout.jpg
Binary files differ
diff --git a/keyboards/planck/keymaps/espynn/keymap.c b/keyboards/planck/keymaps/espynn/keymap.c
index 4a3fe32b8..a24ad9d48 100644
--- a/keyboards/planck/keymaps/espynn/keymap.c
+++ b/keyboards/planck/keymaps/espynn/keymap.c
@@ -60,7 +60,7 @@ const uint16_t PROGMEM fn_actions[] = {
[7] = ACTION_MODS_KEY(MOD_LCTL, KC_UNDS),
};
-// This config can be found at Keyboard layout editor site: http://goo.gl/zjXL2l
+// This config can be found at Keyboard layout editor site: https://goo.gl/cF7uIO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = { /* QWERTY */
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
@@ -69,22 +69,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
[_LOWER] = { /* LOWER */
- {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_MINS, KC_TRNS, KC_TRNS, KC_TRNS},
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
{KC_TRNS, ZM_NRM, ZM_IN, ZM_OUT, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
},
[_RAISE] = { /* RAISE */
- {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_LCBR, KC_BSLS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_GRV, KC_TILD, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_GRV, KC_TILD, S(KC_COMM), S(KC_DOT), KC_BSLS, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
[_CUSTOM] = { /* CUSTOM */
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS0, CUS3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, CUT, COPY, PASTE, CUS1, CUS5, CUS2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {BL, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS},
+ {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CUS0, CUS3, CUS4, KC_TRNS, KC_F12, KC_TRNS},
+ {KC_TRNS, KC_TRNS, CUT, COPY, PASTE, CUS1, CUS5, CUS2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
+ {BL, RESET, LALT(LCTL(KC_DEL)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
}
};
diff --git a/keyboards/planck/keymaps/espynn/layout.json b/keyboards/planck/keymaps/espynn/layout.json
index 38ccc3452..ccdf2afde 100644
--- a/keyboards/planck/keymaps/espynn/layout.json
+++ b/keyboards/planck/keymaps/espynn/layout.json
@@ -3,6 +3,7 @@
"backcolor": "#858585",
"name": "Planck 40%",
"author": "James Folkert",
+ "notes": "# Espynn's keymap for Planck Ortholinear 40% Mechanical Keyboard\nAdded several custom functions to the keymap from the \"ab\" map. Special thanks to \"mollat\" for demonstration of macros in their keymap.c\n \n\n![Layout](keyboard-layout.png \"Practical Keymap\")\n\n* Online keyboard layout editor: http://goo.gl/mlLAFZ\n\n# Notes\n* Front legend text is the custom layer (both raise and lower)\n* Holding is denoted by down arrow, for example, right shift is an enter button when tapped, shift when held\n* Simultaneous RAISE+LOWER enters CUSTOM layer. Several custom keymaps are here\n* I disregarded the advice of Jack and used macros for passwords. I accept my fate.\n* RAISE and LOWER also acts as PgUp and PgDn when tapped.\n* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users. (not sure if this works)\n* Bracket/ paran/ brace keys are placed in the center of the keyboard for programmer's convenience.",
"background": {
"name": "Aluminium brushed",
"style": "background-image: url('/bg/metal/aluminum_texture1642.jpg');"
@@ -19,41 +20,49 @@
2,
2,
0,
- 2
+ 0
]
},
- "F1\n1\n\n!\n\n\n\n\n\n<i class='kb kb-Tab-2'></i>",
- "F2\n2\n\n@\n\n\n\n\n\nQ",
- "F3\n3\n\n#\n\n\n\n\n\nW",
- "F4\n4\n\n$\n\n\n\n\n\nE",
- "F5\n5\n\n%\n\n\n\n\n\nR",
- "F6\n6\n\n^\n\n\n\n\n\nT",
- "F7\n6\n\n&\n\n\n\n\n\nY",
- "F8\n8\n\n*\nMacro4\n\n\n\n\nU",
- "F9\n9\n\n(\n\n\n\n\n\nI",
+ "!\n1\n\n\nF1\n\n\n\n\n<i class='kb kb-Tab-2'></i>",
+ "@\n2\n\n\nF2\n\n\n\n\nQ",
+ "#\n3\n\n\nF3\n\n\n\n\nW",
+ "$\n4\n\n\nF4\n\n\n\n\nE",
+ "%\n5\n\n\nF5\n\n\n\n\nR",
+ "^\n6\n\n\nF6\n\n\n\n\nT",
+ "&\n7\n\n\nF7\n\n\n\n\nY",
+ "*\n8\n\n\nF8\n\n\n\n\nU",
+ "(\n9\n\n\nF9\n\n\n\n\nI",
{
"fa": [
+ 2,
0,
0,
- 0,
- 2
+ 0
]
},
- "F10\n0\n\n)\n\n\n\n\n\nO",
+ ")\n0\n\n\nF10\n\n\n\n\nO",
{
"fa": [
2,
2,
0,
- 2
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
]
},
- "F11\n-\n\n_\n\n\n\n\n\nP",
- "F12\n=\n\n+\n\n\n\n\n\n<i class='kb kb-Unicode-BackSpace-DeleteLeft-Big'></i>"
+ "_\n-\n\n\nF11\n\n\n\n\nP",
+ {
+ "a": 7,
+ "f": 3
+ },
+ "<i class='kb kb-Unicode-BackSpace-DeleteLeft-Big'></i>"
],
[
{
- "a": 7,
"f": 3
},
"<i class='mss mss-Unicode-DeleteRight-Big-2'></i>",
@@ -66,12 +75,12 @@
},
"S",
{
+ "a": 4,
"f": 3
},
- "D",
+ "=\n_\n\n\n\n\n\n\n\nD",
{
"t": "#ff0000",
- "a": 4,
"f": 3
},
"\n(\n\n\n\n\n\n\n\nF",
@@ -93,24 +102,21 @@
"t": "#000000",
"f": 3
},
- "{\n\n\n\n\n\n\n\n\nK",
+ "+\n-\n\n\nMacro4\n\n\n\n\nK",
{
+ "a": 7,
"f": 3
},
- "{\n\n\n\n\n\n\n\n\nL",
+ "L",
{
+ "a": 6,
"fa": [
2,
2,
- 2,
- 2,
- 0,
- 0,
- 0,
2
]
},
- "\\\n\n|\n\n\n\n\n:\n\n;",
+ "\n\n:\n\nF12\n\n\n\n;",
{
"a": 7,
"fa": [
@@ -141,66 +147,79 @@
"fa": [
2,
2,
- 2,
- 2
+ 0,
+ 0
]
},
- "\\\n[\n|\n{\nPaste\n\n\n\n\nV",
- "|\n]\n\n}\nMacro1\n\n\n\n\nB",
- "`\n'\n~\n\"\nMacro5\n\n\n\n\nN",
+ "\\\n[\n\n\nPaste\n\n\n\n\nV",
+ "|\n]\n\n\nMacro1\n\n\n\n\nB",
+ "`\n'\n\n\nMacro5\n\n\n\n\nN",
"~\n\"\n\n\nMacro2\n\n\n\n\nM",
{
"fa": [
2,
2,
- 2,
- 2,
0,
0,
0,
- 1
+ 0,
+ 0,
+ 2
]
},
- "[\n\n{\n\n\n\n\n<\n\n,",
- "[\n\n{\n\n\n\n\n\n\n.",
+ "<\n\n\n\n\n\n\n<\n\n,",
{
- "a": 6
+ "fa": [
+ 2,
+ 2,
+ 0
+ ]
},
- "\n\n?\n\n\n\n\n\n/",
+ ">\n\n\n\n\n\n\n>\n\n.",
{
- "a": 4,
"fa": [
+ 0,
2,
- 2,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 2
+ ]
+ },
+ "\\\n\n\n\n\n\n\n?\n\n/",
+ {
+ "fa": [
+ 0,
2,
0,
0,
0,
0,
- 1,
- 9,
- 0
+ 0,
+ 2,
+ 9
]
},
"\n\n\n<i class='kb kb-Arrows-Bottom-4'></i>Shift\n\n\n\n\n<i class='mss mss-Unicode-Enter-3'></i>\n\n<i class='kb kb-Arrows-Bottom-4'></i>Shift"
],
[
{
- "a": 7,
- "f": 3
+ "a": 7
},
"Ctrl\n\n\n\nBLight",
{
"a": 4,
"fa": [
- 2,
+ 0,
1,
- 2,
0,
0,
0,
0,
- 1,
+ 0,
+ 2,
9,
9
]
@@ -208,29 +227,29 @@
"\nZNorm\n\n\nRESET\n\n\n\n\n<i class='mss mss-Unicode-Escape-3'></i>",
{
"fa": [
- 2,
+ 0,
1,
- 2,
0,
0,
0,
0,
- 1,
+ 0,
+ 2,
9,
6
]
},
- "\nZIn\n\n\n\n\n\n\n\n<i class='kb kb-logo-windows-8'></i>",
+ "\nZIn\n\n\nc.a.del\n\n\n\n\n<i class='kb kb-logo-windows-8'></i>",
{
"fa": [
- 2,
+ 0,
1,
- 2,
0,
0,
0,
0,
- 1,
+ 0,
+ 2,
9,
9
]
diff --git a/keyboards/planck/keymaps/espynn/readme.md b/keyboards/planck/keymaps/espynn/readme.md
index 8882f4601..ea84cf955 100644
--- a/keyboards/planck/keymaps/espynn/readme.md
+++ b/keyboards/planck/keymaps/espynn/readme.md
@@ -3,7 +3,7 @@ Created by James Folkert: https://twitter.com/trekloFsemaJ
Added several custom functions to the keymap from the "ab" map. Special thanks to "mollat" for demonstration of macros in their keymap.c
-![Layout](keyboard-layout.png "Practical Keymap")
+![Layout](keyboard-layout.jpg "Practical Keymap")
* Online keyboard layout editor: http://www.keyboard-layout-editor.com/
@@ -14,5 +14,11 @@ Added several custom functions to the keymap from the "ab" map. Special thanks t
* I disregarded the advice of Jack and used macros for passwords. I accept my fate. These have been abstracted to macros 2, 3, and 4
* add your mobile and email to the keymap before make
* RAISE and LOWER also acts as PgUp and PgDn when tapped.
-* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users. (not sure if this works)
-* Bracket/ paran/ brace keys are placed in the center of the keyboard for programmer's convenience. \ No newline at end of file
+* Bracket/ paran/ brace keys are placed in the center of the keyboard for programmer's convenience.
+
+## changes
+* Removed some unneeded keys from raise and lower layers
+* moved the + and = signs, backspace is now more intuitive
+* moved all the Function keys to CUSTOM layer
+* added ctrl alt del to CUSTOM layer
+* simplified the layout picture greatly \ No newline at end of file
diff --git a/keyboards/planck/keymaps/khord/Makefile b/keyboards/planck/keymaps/khord/Makefile
new file mode 100644
index 000000000..f0ed9e8dc
--- /dev/null
+++ b/keyboards/planck/keymaps/khord/Makefile
@@ -0,0 +1,4 @@
+TAP_DANCE_ENABLE = yes
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/planck/keymaps/khord/config.h b/keyboards/planck/keymaps/khord/config.h
new file mode 100644
index 000000000..008f3a5c2
--- /dev/null
+++ b/keyboards/planck/keymaps/khord/config.h
@@ -0,0 +1,93 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define MANUFACTURER Ortholinear Keyboards
+#define PRODUCT The Planck Keyboard
+#define DESCRIPTION A compact ortholinear keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+
+/* Planck PCB default pin-out */
+#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
+#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
+#define UNUSED_PINS
+
+#define AUDIO_VOICES
+
+#define BACKLIGHT_PIN B7
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* Tap Dance */
+#define TAPPING_TERM 150
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#ifdef SUBPROJECT_rev3
+ #include "rev3/config.h"
+#endif
+#ifdef SUBPROJECT_rev4
+ #include "rev4/config.h"
+#endif
+
+#endif
diff --git a/keyboards/planck/keymaps/khord/keymap.c b/keyboards/planck/keymaps/khord/keymap.c
new file mode 100644
index 000000000..8001a0986
--- /dev/null
+++ b/keyboards/planck/keymaps/khord/keymap.c
@@ -0,0 +1,336 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#include "action_layer.h"
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+#endif
+#include "eeconfig.h"
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _DVORAK 2
+#define _LOWER 3
+#define _RAISE 4
+#define _PLOVER 5
+#define _ADJUST 16
+
+enum planck_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ PLOVER,
+ LOWER,
+ RAISE,
+ BACKLIT,
+ EXT_PLV
+};
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+// Tap Dance Declarations
+enum {
+ ESC_CAP = 0,
+ LFT_HOM,
+ DWN_PDN,
+ UPP_PUP,
+ RGT_END
+};
+
+// Dylan's additions
+#define C_A_DEL LALT(LCTL(KC_DEL))
+#define C_A_INS LALT(LCTL(KC_INS))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = {
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
+ {TD(ESC_CAP), 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, SFT_T(KC_ENT)},
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT }
+},
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = {
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S | / |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = {
+ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
+ {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
+ {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | END | HOME |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = {
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_END, KC_HOME, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PG DN |PG UP |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = {
+ {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_PGDN, KC_PGUP, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * | # | # | # | # | # | # | # | # | # | # | # | # |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | S | T | P | H | * | * | F | P | L | T | D |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |TogOut| S | K | W | R | * | * | R | B | G | S | Z |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit | | | A | O | | E | U | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_PLOVER] = {
+ {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
+ {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
+ {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
+},
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = {
+ {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
+ {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
+ {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_INS, C_A_DEL}
+}
+
+
+};
+
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [ESC_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
+ [LFT_HOM] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME),
+ [DWN_PDN] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN, KC_PGDN),
+ [UPP_PUP] = ACTION_TAP_DANCE_DOUBLE(KC_UP, KC_PGUP),
+ [RGT_END] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT, KC_END)
+};
+
+#ifdef AUDIO_ENABLE
+
+float tone_startup[][2] = SONG(SONIC_RING); //plug in
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_dvorak[][2] = SONG(DVORAK_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
+float tone_plover[][2] = SONG(PLOVER_SOUND);
+float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
+float music_scale[][2] = SONG(ZELDA_PUZZLE); //music mode
+
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_DVORAK);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ case PLOVER:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ stop_all_notes();
+ PLAY_NOTE_ARRAY(tone_plover, false, 0);
+ #endif
+ layer_off(_RAISE);
+ layer_off(_LOWER);
+ layer_off(_ADJUST);
+ layer_on(_PLOVER);
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+ keymap_config.raw = eeconfig_read_keymap();
+ keymap_config.nkro = 1;
+ eeconfig_update_keymap(keymap_config.raw);
+ }
+ return false;
+ break;
+ case EXT_PLV:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_plover_gb, false, 0);
+ #endif
+ layer_off(_PLOVER);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+}
+
+#ifdef AUDIO_ENABLE
+
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+void music_on_user(void)
+{
+ music_scale_user();
+}
+
+void music_scale_user(void)
+{
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+}
+
+#endif
diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h
new file mode 100644
index 000000000..82e4a25c6
--- /dev/null
+++ b/keyboards/planck/keymaps/priyadi/config.h
@@ -0,0 +1,39 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#define PRIYADI_PLANCK
+
+/* bootmagic salt key */
+#define BOOTMAGIC_KEY_SALT KC_ESC
+
+/* skip bootmagic and eeconfig */
+#define BOOTMAGIC_KEY_SKIP KC_SPACE
+
+#define PREVENT_STUCK_MODIFIERS
+
+#define UNICODE_TYPE_DELAY 0
+
+#define LAYOUT_DVORAK
+#define LAYOUT_COLEMAK
+#define LAYOUT_NORMAN
+#define LAYOUT_WORKMAN
+
+#define DOUBLESPACE_LAYER_ENABLE
+ // #define TOLELOT_ENABLE
+
+#define KEYMAP( \
+ k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
+ k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
+ k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c \
+) \
+{ \
+ {k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c}, \
+ {k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \
+ {k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c}, \
+ {k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c} \
+}
+
+#endif
diff --git a/keyboards/planck/keymaps/priyadi/keymap.c b/keyboards/planck/keymaps/priyadi/keymap.c
index 13668fd10..bb3a2e92c 100644
--- a/keyboards/planck/keymaps/priyadi/keymap.c
+++ b/keyboards/planck/keymaps/priyadi/keymap.c
@@ -1,680 +1 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "planck.h"
-#include "action_layer.h"
-#ifdef AUDIO_ENABLE
- #include "audio.h"
- #include "musical_notes.h"
-#endif
-#include "eeconfig.h"
-#include "process_unicode.h"
-#include "quantum.h"
-
-// #define TOLELOT_ENABLE
-
-extern keymap_config_t keymap_config;
-
-enum layers {
- _QWERTY,
- _COLEMAK,
- _WORKMAN,
- _PUNC,
- _NUM,
- _FUNC,
- _EMOJI,
- _GREEKU,
- _GREEKL,
- _GUI,
-};
-
-enum planck_keycodes {
- // layouts
- QWERTY = SAFE_RANGE,
- COLEMAK,
- WORKMAN,
-
- // layer switchers
- PUNC,
- NUM,
- FUNC,
- EMOJI,
- GUI,
- GREEK,
-
- // os switchers
- LINUX,
- WIN,
- OSX,
-};
-
-// Fillers to make layering clearer
-
-#define _______ KC_TRNS
-#define XXXXXXX KC_NO
-
-// unicode map
-
-enum unicode_name {
- GRIN, // grinning face 😊
- TJOY, // tears of joy 😂
- SMILE, // grining face with smiling eyes 😁
- HEART, // heart ❤
- EYERT, // smiling face with heart shaped eyes 😍
- CRY, // crying face 😭
- SMEYE, // smiling face with smiling eyes 😊
- UNAMU, // unamused 😒
- KISS, // kiss 😘
- HART2, // two hearts 💕
- WEARY, // weary 😩
- OKHND, // ok hand sign 👌
- PENSV, // pensive 😔
- SMIRK, // smirk 😏
- RECYC, // recycle ♻
- WINK, // wink 😉
- THMUP, // thumb up 👍
- THMDN, // thumb down 👎
- PRAY, // pray 🙏
- PHEW, // relieved 😌
- MUSIC, // musical notes
- FLUSH, // flushed 😳
- CELEB, // celebration 🙌
- CRY2, // crying face 😢
- COOL, // smile with sunglasses 😎
- NOEVS, // see no evil
- NOEVH, // hear no evil
- NOEVK, // speak no evil
- POO, // pile of poo
- EYES, // eyes
- VIC, // victory hand
- BHART, // broken heart
- SLEEP, // sleeping face
- SMIL2, // smiling face with open mouth & sweat
- HUNRD, // 100
- CONFU, // confused
- TONGU, // face with tongue & winking eye
- DISAP, // disappointed
- YUMMY, // face savoring delicious food
- CLAP, // hand clapping
- FEAR, // face screaming in fear
- HORNS, // smiling face with horns
- HALO, // smiling face with halo
- BYE, // waving hand
- SUN, // sun
- MOON, // moon
- SKULL, // skull
-
- // greek letters
- UALPH,
- UBETA,
- UGAMM,
- UDELT,
- UEPSI,
- UZETA,
- UETA,
- UTHET,
- UIOTA,
- UKAPP,
- ULAMB,
- UMU,
- UNU,
- UXI,
- UOMIC,
- UPI,
- URHO,
- USIGM,
- UTAU,
- UUPSI,
- UPHI,
- UCHI,
- UPSI,
- UOMEG,
-
- LALPH,
- LBETA,
- LGAMM,
- LDELT,
- LEPSI,
- LZETA,
- LETA,
- LTHET,
- LIOTA,
- LKAPP,
- LLAMB,
- LMU,
- LNU,
- LXI,
- LOMIC,
- LPI,
- LRHO,
- LSIGM,
- LTAU,
- LUPSI,
- LPHI,
- LCHI,
- LPSI,
- LOMEG,
-
- FSIGM,
-};
-
-const uint32_t PROGMEM unicode_map[] = {
- [GRIN] = 0x1F600,
- [TJOY] = 0x1F602,
- [SMILE] = 0x1F601,
- [HEART] = 0x2764,
- [EYERT] = 0x1f60d,
- [CRY] = 0x1f62d,
- [SMEYE] = 0x1F60A,
- [UNAMU] = 0x1F612,
- [KISS] = 0x1F618,
- [HART2] = 0x1F495,
- [WEARY] = 0x1F629,
- [OKHND] = 0x1F44C,
- [PENSV] = 0x1F614,
- [SMIRK] = 0x1F60F,
- [RECYC] = 0x267B,
- [WINK] = 0x1F609,
- [THMUP] = 0x1F44D,
- [THMDN] = 0x1F44E,
- [PRAY] = 0x1F64F,
- [PHEW] = 0x1F60C,
- [MUSIC] = 0x1F3B6,
- [FLUSH] = 0x1F633,
- [CELEB] = 0x1F64C,
- [CRY2] = 0x1F622,
- [COOL] = 0x1F60E,
- [NOEVS] = 0x1F648,
- [NOEVH] = 0x1F649,
- [NOEVK] = 0x1F64A,
- [POO] = 0x1F4A9,
- [EYES] = 0x1F440,
- [VIC] = 0x270C,
- [BHART] = 0x1F494,
- [SLEEP] = 0x1F634,
- [SMIL2] = 0x1F605,
- [HUNRD] = 0x1F4AF,
- [CONFU] = 0x1F615,
- [TONGU] = 0x1F61C,
- [DISAP] = 0x1F61E,
- [YUMMY] = 0x1F60B,
- [CLAP] = 0x1F44F,
- [FEAR] = 0x1F631,
- [HORNS] = 0x1F608,
- [HALO] = 0x1F607,
- [BYE] = 0x1F44B,
- [SUN] = 0x2600,
- [MOON] = 0x1F314,
- [SKULL] = 0x1F480,
-
- // greek letters
- [UALPH] = 0x0391,
- [UBETA] = 0x0392,
- [UGAMM] = 0x0393,
- [UDELT] = 0x0394,
- [UEPSI] = 0x0395,
- [UZETA] = 0x0396,
- [UETA] = 0x0397,
- [UTHET] = 0x0398,
- [UIOTA] = 0x0399,
- [UKAPP] = 0x039A,
- [ULAMB] = 0x039B,
- [UMU] = 0x039C,
- [UNU] = 0x039D,
- [UXI] = 0x039E,
- [UOMIC] = 0x039F,
- [UPI] = 0x03A0,
- [URHO] = 0x03A1,
- [USIGM] = 0x03A3,
- [UTAU] = 0x03A4,
- [UUPSI] = 0x03A5,
- [UPHI] = 0x03A6,
- [UCHI] = 0x03A7,
- [UPSI] = 0x03A8,
- [UOMEG] = 0x03A9,
- [LALPH] = 0x03B1,
- [LBETA] = 0x03B2,
- [LGAMM] = 0x03B3,
- [LDELT] = 0x03B4,
- [LEPSI] = 0x03B5,
- [LZETA] = 0x03B6,
- [LETA] = 0x03B7,
- [LTHET] = 0x03B8,
- [LIOTA] = 0x03B9,
- [LKAPP] = 0x03BA,
- [LLAMB] = 0x03BB,
- [LMU] = 0x03BC,
- [LNU] = 0x03BD,
- [LXI] = 0x03BE,
- [LOMIC] = 0x03BF,
- [LPI] = 0x03C0,
- [LRHO] = 0x03C1,
- [LSIGM] = 0x03C3,
- [LTAU] = 0x03C4,
- [LUPSI] = 0x03C5,
- [LPHI] = 0x03C6,
- [LCHI] = 0x03C7,
- [LPSI] = 0x03C8,
- [LOMEG] = 0x03C9,
- [FSIGM] = 0x03C2,
-};
-
-
-// hybrid shift - =
-// #undef KC_LSFT
-// #define KC_LSFT MT(MOD_LSFT, KC_MINS)
-// #undef KC_RSFT
-// #define KC_RSFT MT(MOD_LSFT, KC_EQL)
-
-
-// hybrid right-gui & scroll lock (mapped to Compose in OS)
-#undef KC_RALT
-#define KC_RALT MT(MOD_RALT, KC_SLCK)
-
-// keymaps
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |Greek |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = {
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT },
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
- {KC_LCTL, KC_LALT, KC_LGUI, PUNC, NUM, KC_SPC, KC_SPC, FUNC, EMOJI, GREEK, KC_RALT, KC_RCTL}
-},
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = {
- {_______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______},
- {_______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______},
- {_______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Workman
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_WORKMAN] = {
- {_______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______},
- {_______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______},
- {_______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Uppercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKU] = {
- {_______, _______, _______,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______},
- {_______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), _______, _______},
- {_______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Lowercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKL] = {
- {_______, _______,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______},
- {_______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), _______, _______},
- {_______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Punc
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ` |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | \ | - | = | < | > | ( | ) | ' | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | _ | + | { | } | [ | ] | " | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_PUNC] = {
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_GRV },
- {XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_QUOT, XXXXXXX, XXXXXXX},
- {XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_DQUO, XXXXXXX, XXXXXXX},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Num
- * ,-----------------------------------------------------------------------------------.
- * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | @ | A | B | C | ( | ) | 4 | 5 | 6 | : |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | & | # | D | E | F | [ | ] | 1 | 2 | 3 | / | * |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | x | | | 0 | , | . | + | - |
- * `-----------------------------------------------------------------------------------'
- */
-[_NUM] = {
- {KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- { KC_ESC, KC_AT, S(KC_A), S(KC_B), S(KC_C), KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_COLN, KC_ENT},
- {KC_AMPR, KC_HASH, S(KC_D), S(KC_E), S(KC_F), KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, KC_SLSH, KC_ASTR},
- {_______, _______, _______, KC_X, _______, KC_SPC, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_PLUS, KC_MINS}
-},
-
-/* Func
- * ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | | | PgUp | Up | PgDn | PgUp | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | Ins |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 | | | | Home | End | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUNC] = {
- {XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL},
- {XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8,KC_PSCREEN,XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_INS},
- {_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Emoji
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_EMOJI] = {
- {X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW)},
- {X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS)},
- {X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH)},
- { X(POO), X(EYES),X(HUNRD), _______,X(SKULL),X(HORNS), X(HALO), X(FEAR), _______,X(YUMMY),X(DISAP),X(NOEVK)}
-},
-
-/* GUI
- * ,-----------------------------------------------------------------------------------.
- * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |Linux | | Vol- | Mute | Vol+ | | | D- | | D+ | |Qwerty|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Win | | Prev | Play | Next | | | | | | |Colmak|
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | OSX | | | | | BL- | BL+ | | | | |Workmn|
- * `-----------------------------------------------------------------------------------'
- */
-[_GUI] = {
- {_______, LGUI(KC_1),LGUI(KC_2),LGUI(KC_3),LGUI(KC_4),LGUI(KC_5),LGUI(KC_6),LGUI(KC_7),LGUI(KC_8),LGUI(KC_9),LGUI(KC_0), _______},
- { LINUX, _______, KC_VOLD, KC_MUTE, KC_VOLU,_______,_______,KC_WWW_BACK,_______,KC_WWW_FORWARD,_______, QWERTY},
- { WIN, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, COLEMAK},
- { OSX, _______, _______, _______, _______, BL_DEC, BL_INC, _______, _______, _______, _______, WORKMAN}
-},
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_startup[][2] = SONG(STARTUP_SOUND);
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_workman[][2] = SONG(DVORAK_SOUND);
-float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-float tone_linux[][2] = SONG(CAPS_LOCK_ON_SOUND);
-float tone_windows[][2] = SONG(SCROLL_LOCK_ON_SOUND);
-float tone_osx[][2] = SONG(NUM_LOCK_ON_SOUND);
-float tone_click[][2] = SONG(MUSICAL_NOTE(_F3, 2));
-float tone_release[][2] = SONG(MUSICAL_NOTE(_A3, 2));
-float tone_tolelot[][2] = SONG(Q__NOTE(_E5), Q__NOTE(_C5), Q__NOTE(_D5));
-#endif
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // faux clicky
- // if (record->event.pressed) PLAY_NOTE_ARRAY(tone_click, false, 0);
- #ifdef AUDIO_ENABLE
- #ifdef TOLELOT_ENABLE
- if (record->event.pressed) {
- PLAY_NOTE_ARRAY(tone_tolelot, false, 0);
- }
- #else
- if (record->event.pressed) {
- PLAY_NOTE_ARRAY(tone_click, false, 0);
- } else {
- PLAY_NOTE_ARRAY(tone_release, false, 0);
- }
- #endif
- #endif
-
- bool lshifted = keyboard_report->mods & MOD_BIT(KC_LSFT);
- bool rshifted = keyboard_report->mods & MOD_BIT(KC_RSFT);
-
- switch (keycode) {
- // Greek layer handling
- case GREEK:
- if (record->event.pressed) {
- if (lshifted || rshifted) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- } else {
- layer_off(_GREEKU);
- layer_off(_GREEKL);
- }
- return false;
- break;
-
- case KC_LSFT:
- case KC_RSFT:
- ;
- uint8_t layer = biton32(layer_state);
- if (layer == _GREEKU || layer == _GREEKL) {
- if (record->event.pressed) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- if (lshifted ^ rshifted) { // if only one shift is pressed
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- }
- }
- return true;
- break;
-
- // QWERTZ style comma and dot: semicolon and colon when shifted
- case KC_COMM:
- if (record->event.pressed) {
- if (lshifted || rshifted) {
- if (lshifted) unregister_code(KC_LSFT);
- if (rshifted) unregister_code(KC_RSFT);
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- if (lshifted) register_code(KC_LSFT);
- if (rshifted) register_code(KC_RSFT);
- } else {
- register_code(KC_COMM);
- unregister_code(KC_COMM);
- }
- }
- return false;
- break;
- case KC_DOT:
- if (record->event.pressed) {
- if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) {
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- } else {
- register_code(KC_DOT);
- unregister_code(KC_DOT);
- }
- }
- return false;
- break;
-
- // layout switcher
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
- #endif
- persistant_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_colemak, false, 0);
- #endif
- persistant_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
- case WORKMAN:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_workman, false, 0);
- #endif
- persistant_default_layer_set(1UL<<_WORKMAN);
- }
- return false;
- break;
-
- // layer switchers
- case PUNC:
- if (record->event.pressed) {
- layer_on(_PUNC);
- update_tri_layer(_PUNC, _EMOJI, _GUI);
- } else {
- layer_off(_PUNC);
- update_tri_layer(_PUNC, _EMOJI, _GUI);
- }
- return false;
- break;
- case EMOJI:
- if (record->event.pressed) {
- layer_on(_EMOJI);
- update_tri_layer(_PUNC, _EMOJI, _GUI);
- } else {
- layer_off(_EMOJI);
- update_tri_layer(_PUNC, _EMOJI, _GUI);
- }
- return false;
- break;
- case NUM:
- if (record->event.pressed) {
- layer_on(_NUM);
- } else {
- layer_off(_NUM);
- }
- return false;
- break;
- case FUNC:
- if (record->event.pressed) {
- layer_on(_FUNC);
- } else {
- layer_off(_FUNC);
- }
- return false;
- break;
-
- // OS switchers
- case LINUX:
- set_unicode_input_mode(UC_LNX);
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_linux, false, 0);
- #endif
- return false;
- break;
- case WIN:
- set_unicode_input_mode(UC_WINC);
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_windows, false, 0);
- #endif
- return false;
- break;
- case OSX:
- set_unicode_input_mode(UC_OSX);
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_osx, false, 0);
- #endif
- return false;
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
- set_unicode_input_mode(UC_LNX);
-}
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
- PLAY_NOTE_ARRAY(tone_startup, false, 0);
-}
-
-void shutdown_user()
-{
- PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
- _delay_ms(150);
- stop_all_notes();
-}
-
-#endif \ No newline at end of file
+#include "../../../handwired/promethium/keymaps/priyadi/keymap.c" \ No newline at end of file
diff --git a/keyboards/planck/keymaps/smt/keymap.c b/keyboards/planck/keymaps/smt/keymap.c
index 51e5a40bf..708f699da 100644
--- a/keyboards/planck/keymaps/smt/keymap.c
+++ b/keyboards/planck/keymaps/smt/keymap.c
@@ -11,15 +11,17 @@ extern keymap_config_t keymap_config;
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
-#define _DVORAK 0
-#define _QWERTY 1
-#define _LOWER 2
-#define _RAISE 3
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _DVORAK 2
+#define _LOWER 3
+#define _RAISE 4
#define _ADJUST 16
enum planck_keycodes {
- DVORAK = SAFE_RANGE,
- QWERTY,
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
LOWER,
RAISE,
BACKLIT
@@ -29,60 +31,84 @@ enum planck_keycodes {
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+// Custom macros
+#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
+#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
+#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
+#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift)
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Dvorak
+/* Qwerty
* ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | - |
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * | ` | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-[_DVORAK] = {
- {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS},
- {SFT_T(KC_ESC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_ENT)},
- {ALL_T(KC_GRV), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+[_QWERTY] = {
+ {HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {CTL_ESC, 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, SFT_ENT},
+ {MEH_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
-/* Qwerty
+/* Colemak
* ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * | ` | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-[_QWERTY] = {
- {_______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {_______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {_______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+[_COLEMAK] = {
+ {HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT},
+ {MEH_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S | - |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | ` | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = {
+ {HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
+ {CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS},
+ {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT},
+ {MEH_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* Lower
* ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | Home |PageUp|
+ * | $ | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | End |PageDn|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = {
- {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_4, KC_5, KC_6, KC_HOME, KC_PGUP},
- {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_END, KC_PGDN},
- {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {ALL_T(KC_0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL},
+ {CTL_T(KC_DLR), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_4, KC_5, KC_6, _______, _______},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
/* Raise
@@ -93,21 +119,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | - | / | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * | | | | | | | | | Home |PageDn|PageUp| End |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = {
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL},
- {_______, _______, _______, _______, _______, _______, KC_UNDS, KC_QUES, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {_______, _______, _______, _______, _______, _______, KC_MINS, KC_SLSH, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {ALL_T(KC_TILD), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL},
+ {_______, _______, _______, _______, _______, _______, KC_UNDS, KC_QUES, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {_______, _______, _______, _______, _______, _______, KC_MINS, KC_SLSH, KC_EQL, KC_LBRC, KC_RBRC, SFT_T(KC_BSLS)},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
},
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
+ * | | Reset| | | | | | | | | | Reset|
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Dvorak|Qwerty| | | |
+ * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -115,8 +141,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = {
- {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
- {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, DVORAK, QWERTY, _______, _______, _______},
+ {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET},
+ {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______},
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
}
@@ -128,6 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float tone_startup[][2] = SONG(STARTUP_SOUND);
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
@@ -142,21 +169,30 @@ void persistant_default_layer_set(uint16_t default_layer) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case DVORAK:
+ case QWERTY:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
#endif
- persistant_default_layer_set(1UL<<_DVORAK);
+ persistant_default_layer_set(1UL<<_QWERTY);
}
return false;
break;
- case QWERTY:
+ case COLEMAK:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
#endif
- persistant_default_layer_set(1UL<<_QWERTY);
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_DVORAK);
}
return false;
break;
diff --git a/keyboards/planck/keymaps/smt/readme.md b/keyboards/planck/keymaps/smt/readme.md
index 0e955a574..dc7c9cf9f 100644
--- a/keyboards/planck/keymaps/smt/readme.md
+++ b/keyboards/planck/keymaps/smt/readme.md
@@ -4,49 +4,70 @@ This keymap is primarily based on the default Planck keymap.
Notable differences from the default are:
-1. **Dvorak by default**
+- **[Mod-Tap](https://github.com/jackhumbert/qmk_firmware/wiki#fun-with-modifier-keys) keys**
- I happen to type in Dvorak, and prefer that layer to be the default on my keyboard. This is easy enough to switch around with Qwerty, Colemak, or whatever.
+ - `Esc/Ctrl`
-2. **Right Shift**
+ I am experimenting with using Left Shift as a mod-tap key for Escape, similar to how I use the Enter key. It's set up like this on my Minivan, so in the interest of consistency...
- I use both the left and right shift keys when I type. When I want to modify a key with shift, I hold shift with the hand opposite the one typing the key. In the default keymap, Enter is where shift would be on a standard keyboard layout. Oh, muscle memory.
+ - `Enter/Shift`
- Thankfully, QMK supports [mod-tap](https://github.com/jackhumbert/qmk_firmware/wiki#fun-with-modifier-keys) keys, and this allows me to set the Enter key to send a modifier (MOD_LSFT) when held, and KC_ENT when tapped. Awesome!
+ I use both the left and right shift keys when I type. When I want to modify a key with shift, I hold shift with the hand opposite the one typing the key. In the default keymap, Enter is where shift would be on a standard keyboard layout. Oh, muscle memory.
-3. Escape
+ - `Tab/Hyper` (Super+Ctrl+Shift+Alt)
- I am experimenting with using Left Shift as a mod-tap key for Escape, similar to how I use the Enter key. It's set up like this on my Minivan, so in the interest of consistency...
+ It's great to be able to use Tab as a custom modifier key. I tend to use [Hyper](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) commands for various OS-specific operations depending on what machine I'm working on.
-4. Backtick
+ - `Backtick/Meh` (Ctrl+Shift+Alt)
- I don't currently have LEDs on any of my keyboards, and even if I did, I don't think I would want their controls on a base layer.
+ Why use backtick in the lower left corner? I use it as my tmux prefix key, so I need to type it more frequently than most people. Putting it on the base layer works well for me. The "Meh" mapping is just a less-cool "Hyper"; the same, just without Super.
- So, why use backtick in the lower left corner? I use it as my tmux prefix key, so I need to type it more frequently than most people. Putting it on the base layer works well for me.
+- **Swapped responsibilities of "lower" and "raise" layers**
-## Dvorak (default)
+ I prefer to use symbols via the "raise" layer, and numbers via the "lower" layer.
+
+- **Removed Plover layer**
+
+ I don't intend to use stenography anytime soon, so Plover just didn't have a place in my keymap.
+
+
+## Qwerty
```
,-----------------------------------------------------------------------------------.
-| Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
-| Esc | A | O | E | U | I | D | H | T | N | S | - |
+| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|------+------+------+------+------+------|------+------+------+------+------+------|
-| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
-| ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+| ` | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
-## Qwerty (same as default)
+## Colemak
```
,-----------------------------------------------------------------------------------.
-| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+| Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
-| Esc | A | S | D | F | G | H | J | K | L | ; | " |
+| Esc | A | R | S | T | D | H | N | E | I | O | " |
|------+------+------+------+------+------|------+------+------+------+------+------|
-| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+| Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+|------+------+------+------+------+------+------+------+------+------+------+------|
+| ` | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
+`-----------------------------------------------------------------------------------'
+```
+
+## Dvorak
+
+```
+,-----------------------------------------------------------------------------------.
+| Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+|------+------+------+------+------+-------------+------+------+------+------+------|
+| Esc | A | O | E | U | I | D | H | T | N | S | - |
+|------+------+------+------+------+------|------+------+------+------+------+------|
+| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
@@ -54,15 +75,15 @@ Notable differences from the default are:
## Lower
-This is where I put the number row, a numpad cluster, function keys, and some light navigation via Home/End/PageUp/PageDn. Like the "Raise" layer, the top row is redundant to help with Planck compatibility.
+This is where I put the number row, a numpad cluster, function keys, and media controls.
```
,-----------------------------------------------------------------------------------.
-| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|------+------+------+------+------+-------------+------+------+------+------+------|
-| | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | Home |PageUp|
+| $ | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | | |
|------+------+------+------+------+------|------+------+------+------+------+------|
-| | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | End |PageDn|
+| | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
@@ -70,7 +91,7 @@ This is where I put the number row, a numpad cluster, function keys, and some li
## Raise
-As a developer, it makes the most sense for me to group all the commonly-used symbols that don't fit on the main layer. In particular, having the dual-column of parens-braces-brackets really helps a lot.
+As a developer, it makes the most sense for me to group all the commonly-used symbols that don't fit on the main layer. In particular, having the dual-column of parens-braces-brackets really helps a lot. I've also added cursorkeys to correspond to the arrows.
I haven't completely filled this layer, which leaves room for future mappings and macros.
@@ -82,21 +103,21 @@ I haven't completely filled this layer, which leaves room for future mappings an
|------+------+------+------+------+------|------+------+------+------+------+------|
| | | | | | | - | / | = | [ | ] | \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
-| | | | | | | | Next | Vol- | Vol+ | Play |
+| | | | | | | | | Home |PageDn|PageUp| End |
`-----------------------------------------------------------------------------------'
```
## Adjust (Lower + Raise)
-Utility layer. This is where I'd switch to Qwerty, or ~~fool around with~~ adjust the audio/music settings.
+Utility layer. This is where I'd switch between Qwerty and Dvorak, ~~fool around with~~ adjust the audio/music settings, or put the Planck into bootloader mode.
```
,-----------------------------------------------------------------------------------.
-| | Reset| | | | | | | | | | Del |
+| | Reset| | | | | | | | | | Reset|
|------+------+------+------+------+-------------+------+------+------+------+------|
-| | | |Aud on|AudOff|AGnorm|AGswap|Dvorak|Qwerty| | | |
+| | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|------+------+------+------+------+------|------+------+------+------+------+------|
-| |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
+| |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | |
`-----------------------------------------------------------------------------------'
diff --git a/keyboards/planck/keymaps/unicode/keymap.c b/keyboards/planck/keymaps/unicode/keymap.c
index d73e7e09d..1b4ca8ed7 100644
--- a/keyboards/planck/keymaps/unicode/keymap.c
+++ b/keyboards/planck/keymaps/unicode/keymap.c
@@ -195,24 +195,20 @@ const uint16_t PROGMEM fn_actions[] = {
};
#ifdef AUDIO_ENABLE
-float tone_startup[][2] = {
- {440.0*pow(2.0,(31)/12.0), 12},
- {440.0*pow(2.0,(28)/12.0), 8},
- {440.0*pow(2.0,(19)/12.0), 8},
- {440.0*pow(2.0,(24)/12.0), 8},
- {440.0*pow(2.0,(28)/12.0), 20}
-};
+float tone_startup[][2] = SONG(STARTUP_SOUND);
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
float tone_plover[][2] = SONG(PLOVER_SOUND);
float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-float goodbye[][2] = SONG(GOODBYE_SOUND);
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
#endif
+
void persistant_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
@@ -309,18 +305,35 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
};
void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- _delay_ms(20); // stops the tick
- PLAY_NOTE_ARRAY(tone_startup, false, 0);
- #endif
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
}
#ifdef AUDIO_ENABLE
-void play_goodbye_tone()
+
+void startup_user()
{
- PLAY_NOTE_ARRAY(goodbye, false, 0);
- _delay_ms(150);
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+void music_on_user(void)
+{
+ music_scale_user();
}
-#endif
+void music_scale_user(void)
+{
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+}
+
+#endif
diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk
index 4423d422f..6776062f6 100644
--- a/keyboards/planck/rules.mk
+++ b/keyboards/planck/rules.mk
@@ -56,13 +56,13 @@ EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
CONSOLE_ENABLE ?= no # Console for debug(+400)
COMMAND_ENABLE ?= no # Commands for debug and configuration
NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
MIDI_ENABLE ?= yes # MIDI controls
AUDIO_ENABLE ?= yes # Audio output on port C6
UNICODE_ENABLE ?= no # Unicode
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = yes
+API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend