aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodox/keymaps/ordinary/keymap.c347
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-base.pngbin99605 -> 98200 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-base.txt16
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-media.pngbin124144 -> 123435 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-media.txt36
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-special.pngbin63065 -> 68292 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-special.txt22
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-symbol.pngbin103735 -> 101255 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt20
-rw-r--r--keyboards/ergodox/keymaps/ordinary/readme.md71
-rw-r--r--keyboards/ergodox/keymaps/xyverz/keymap.c404
-rw-r--r--keyboards/ergodox/keymaps/xyverz/readme.md16
-rw-r--r--keyboards/kc60/keymaps/workman-dead/README.md17
-rw-r--r--keyboards/kc60/keymaps/workman-dead/kc60-wm-dead.pngbin0 -> 117155 bytes
-rw-r--r--keyboards/kc60/keymaps/workman-dead/keymap.c183
-rw-r--r--keyboards/satan/keymaps/default/keymap.c4
-rw-r--r--keyboards/satan/keymaps/denolfe/keymap.c36
-rw-r--r--keyboards/satan/keymaps/iso_split_rshift/keymap.c16
-rw-r--r--keyboards/satan/keymaps/poker/keymap.c46
-rw-r--r--keyboards/satan/keymaps/stanleylai/keymap.c22
-rw-r--r--keyboards/satan/satan.h78
21 files changed, 765 insertions, 569 deletions
diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c
index bf0574ea2..302c41cc8 100644
--- a/keyboards/ergodox/keymaps/ordinary/keymap.c
+++ b/keyboards/ergodox/keymaps/ordinary/keymap.c
@@ -3,21 +3,18 @@
3#include "debug.h" 3#include "debug.h"
4#include "action_layer.h" 4#include "action_layer.h"
5#include "action_util.h" 5#include "action_util.h"
6#include "mousekey.h"
7 6
8#define BASE 0 // default layer 7#define BASE 0 // default layer
9#define SYMB 1 // symbols layer 8#define SYMB 1 // symbols layer
10#define MDIA 2 // media layer 9#define MDIA 2 // media layer
11#define SPEC 3 // special layer 10#define SPEC 3 // special layer
12 11
13#define LCaps 10 // left caps-shift key 12#define LSymb 10 // left symbol-shift key
14#define LSymb 11 // left symbol-shift key 13#define LMdia 11 // left media-shift key
15#define LMdia 12 // left media-shift key 14#define LSpec 12 // left special-shift key
16#define LSpec 13 // left special-shift key 15#define RSymb 13 // right symbol-shift key
17#define RCaps 14 // right caps-shift key 16#define RMdia 14 // right media-shift key
18#define RSymb 15 // right symbol-shift key 17#define RSpec 15 // right special-shift key
19#define RMdia 16 // right media-shift key
20#define RSpec 17 // right special-shift key
21 18
22#define MUL 20 // mouse up left 19#define MUL 20 // mouse up left
23#define MUR 21 // mouse up right 20#define MUR 21 // mouse up right
@@ -25,123 +22,124 @@
25#define MDR 23 // mouse down right 22#define MDR 23 // mouse down right
26 23
27/* 24/*
28 * The Ordinary Layout for the Ergodox EZ keyboard, v4 25 * The Ordinary Layout for the Ergodox EZ keyboard, v4.20
29 * 26 *
30 * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com 27 * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
31 * 28 *
32 * No rights reserved. This software is in the public domain. 29 * No rights reserved. This software is in the public domain.
33 * Credit me if you are friendly but if you're a jerk don't bother. 30 * Credit me if you are friendly but if you're a jerk don't bother.
34 * 31 * If you use or modify this layout I would love to hear from you.
32 *
35 * Details: readme.md 33 * Details: readme.md
36 * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary 34 * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary
37 */ 35 */
38 36
39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 38
41/******* Base Layer ******************************************************************************************************** 39/******* Base Layer ****************************************************************************************************
42 * 40 *
43 * ,------------------------------------------------------. ,------------------------------------------------------. 41 * ,------------------------------------------------------. ,------------------------------------------------------.
44 * | Special `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Special | 42 * | Special `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Special |
45 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| 43 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
46 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | 44 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media |
47 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| 45 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
48 * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol | 46 * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol |
49 * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------| 47 * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------|
50 * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals | 48 * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals |
51 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' 49 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
52 * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl | 50 * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl |
53 * `-----------------------------------' `-----------------------------------' 51 * `-----------------------------------' `-----------------------------------'
54 * ,-------------. ,-------------. 52 * ,-------------. ,-------------.
55 * | Home | End | | Left | Right| 53 * | Home | End | | Left | Right|
56 * ,------|------|------| |------+------+------. 54 * ,------|------|------| |------+------+------.
57 * | | | PgUp | | Up | | | 55 * | | | PgUp | | Up | | |
58 * |Backsp| Del |------| |------| Enter| Space| 56 * |Backsp| Del |------| |------| Enter| Space|
59 * | | | PgDn | | Down | | | 57 * | | | PgDn | | Down | | |
60 * `--------------------' `--------------------' 58 * `--------------------' `--------------------'
61 */ 59 */
62[BASE] = KEYMAP( 60[BASE] = KEYMAP(
63// left hand 61// left hand
64 F(LSpec),KC_1,KC_2,KC_3 ,KC_4 ,KC_5 ,KC_ESC 62 F(LSpec) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
65,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC 63,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
66,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G 64,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
67,M(LCaps) ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) 65,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
68,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI 66,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
69 ,KC_HOME,KC_END 67 ,KC_HOME,KC_END
70 ,KC_PGUP 68 ,KC_PGUP
71 ,KC_BSPC,KC_DEL ,KC_PGDN 69 ,KC_BSPC,KC_DEL ,KC_PGDN
72 // right hand 70 // right hand
73 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec) 71 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec)
74 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) 72 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia)
75 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) 73 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb)
76 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,M(RCaps) 74 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT
77 ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL 75 ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL
78 ,KC_LEFT ,KC_RGHT 76 ,KC_LEFT ,KC_RGHT
79 ,KC_UP 77 ,KC_UP
80 ,KC_DOWN ,KC_ENT ,KC_SPC 78 ,KC_DOWN ,KC_ENT ,KC_SPC
81 ), 79 ),
82 80
83/******* Symbols Layer ***************************************************************************************************** 81/******* Symbols Layer *************************************************************************************************
84 * 82 *
85 * ,-----------------------------------------------------. ,-----------------------------------------------------. 83 * ,-----------------------------------------------------. ,-----------------------------------------------------.
86 * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | | 84 * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | |
87 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 85 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
88 * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | | 86 * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | |
89 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 87 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
90 * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | 88 * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
91 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| 89 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
92 * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | 90 * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | |
93 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' 91 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
94 * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| 92 * | LCtrl | Meh |Hyper | LAlt | LGui | | 0 | . | = | + | Ent |
95 * `-----------------------------------' `-------------------------------------' 93 * `-----------------------------------' `-----------------------------------'
96 * ,-------------. ,-------------. 94 * ,-------------. ,-------------.
97 * | Left | Right| | Home | End | 95 * | Left | Right| | Home | End |
98 * ,------|------|------| |------+------+------. 96 * ,------|------|------| |------+------+------.
99 * | | | Up | | PgUp | | | 97 * | | | Up | | PgUp | | |
100 * |Space |Enter |------| |------|BackSp| Del | 98 * |Space |Enter |------| |------|BackSp| Del |
101 * | | | Down | | PgDn | | | 99 * | | | Down | | PgDn | | |
102 * `--------------------' `--------------------' 100 * `--------------------' `--------------------'
103 */ 101 */
104[SYMB] = KEYMAP( 102[SYMB] = KEYMAP(
105// left hand 103// left hand
106 KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC 104 KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC
107,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) 105,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
108,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV 106,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
109,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB 107,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
110,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI 108,KC_LCTL ,KC_MEH ,KC_HYPR ,KC_LALT ,KC_LGUI
111 ,KC_LEFT ,KC_RGHT 109 ,KC_LEFT ,KC_RGHT
112 ,KC_UP 110 ,KC_UP
113 ,KC_SPC ,KC_ENT ,KC_DOWN 111 ,KC_SPC ,KC_ENT ,KC_DOWN
114 // right hand 112 // right hand
115 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS 113 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
116 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS 114 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS
117 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS 115 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS
118 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS 116 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS
119 ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) 117 ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
120 ,KC_HOME ,KC_END 118 ,KC_HOME ,KC_END
121 ,KC_PGUP 119 ,KC_PGUP
122 ,KC_PGDN ,KC_BSPC ,KC_DEL 120 ,KC_PGDN ,KC_BSPC ,KC_DEL
123), 121),
124 122
125/******* Media Layer ******************************************************************************************************* 123/******* Media Layer *******************************************************************************************************
126 * 124 *
127 * ,---------------------------------------------------------------. ,---------------------------------------------------------------. 125 * ,---------------------------------------------------------------. ,---------------------------------------------------------------.
128 * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | 126 * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | |
129 * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| 127 * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------|
130 * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | 128 * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | |
131 * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| 129 * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
132 * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | 130 * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | |
133 * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| 131 * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
134 * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | 132 * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | |
135 * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' 133 * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
136 * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| 134 * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl|
137 * `---------------------------------------------' `---------------------------------------------' 135 * `---------------------------------------------' `---------------------------------------------'
138 * ,-------------. ,-------------. 136 * ,-------------. ,-------------.
139 * | Stop |Refrsh| | Prev | Next | 137 * | Stop |Refrsh| | Prev | Next |
140 * ,------|------|------| |------+------+------. 138 * ,------|------|------| |------+------+------.
141 * |Brwser|Brwser|Search| |VolUp | | | 139 * |Brwser|Brwser|Search| |VolUp | | |
142 * |Back | Fwd |------| |------| Stop | Play-| 140 * |Back | Fwd |------| |------| Stop | Play-|
143 * | | | Home | |VolDn | | Pause| 141 * | | | Home | |VolDn | | Pause|
144 * `--------------------' `--------------------' 142 * `--------------------' `--------------------'
145 */ 143 */
146[MDIA] = KEYMAP( 144[MDIA] = KEYMAP(
147// left hand 145// left hand
@@ -166,67 +164,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
166 164
167/******* Special Layer ***************************************************************************************************** 165/******* Special Layer *****************************************************************************************************
168 * 166 *
169 * ,-----------------------------------------------------. ,-----------------------------------------------------. 167 * ,-------------------------------------------------------. ,-------------------------------------------------------.
170 * | | Esc | | | | | | | | | | | | Bspc | | 168 * | | Esc | | | | | | | | | | | - | Bspc | |
171 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 169 * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------|
172 * | | | | | | | | | | | | | | | | 170 * | Media Lock | | | | | | | | | | | | [ | ] | Media Lock |
173 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 171 * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
174 * | | | | | | |------| |------| | | | | | | 172 * | Symbol Lock | | | | | |------| |------| | | | | | Symbol Lock |
175 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 173 * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
176 * | | | | | | | | | | | | | | | RShift | 174 * | Caps Lock | | | | | | | | | | | | | | Caps Lock |
177 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' 175 * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------'
178 * | | | | | | | | | | | | 176 * | | | | | | | | | | | |
179 * `----------------------------------' `----------------------------------' 177 * `------------------------------------' `------------------------------------'
180 * ,-------------. ,-------------. 178 * ,-------------. ,-------------.
181 * | | | | | | 179 * | | | | | |
182 * ,------|------|------| |------+------+------. 180 * ,------|------|------| |------+------+------.
183 * | | | | | | | | 181 * | | | | | | | |
184 * | | |------| |------| | | 182 * | | |------| |------| | |
185 * | | | | | | | | 183 * | | | | | | | |
186 * `--------------------' `--------------------' 184 * `--------------------' `--------------------'
187 */ 185 */
188[SPEC] = KEYMAP( 186[SPEC] = KEYMAP(
189// left hand 187// left hand
190 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 188 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
191,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 189,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
192,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 190,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
193,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 191,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
194,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 192,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
195
196 ,KC_TRNS ,KC_TRNS 193 ,KC_TRNS ,KC_TRNS
197 ,KC_TRNS 194 ,KC_TRNS
198 ,KC_TRNS,KC_TRNS ,KC_TRNS 195 ,KC_TRNS,KC_TRNS ,KC_TRNS
199 // right hand 196 // right hand
200 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS 197 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MINS ,KC_BSPC ,KC_TRNS
201 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 198 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LBRC ,KC_RBRC ,KC_TRNS
202 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 199 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
203 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT 200 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
204 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 201 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
205 202 ,KC_TRNS ,KC_TRNS
206 ,KC_TRNS ,KC_TRNS 203 ,KC_TRNS
207 ,KC_TRNS 204 ,KC_TRNS ,KC_TRNS ,KC_TRNS
208 ,KC_TRNS ,KC_TRNS ,KC_TRNS
209 ) 205 )
210}; 206};
211 207
212const uint16_t PROGMEM fn_actions[] = { 208const uint16_t PROGMEM fn_actions[] = {
213 // the faux shift keys are implemented as macro taps 209 // the faux shift keys are implemented as macro taps
214 [LCaps] = ACTION_MACRO_TAP(LCaps) 210 [LSymb] = ACTION_MACRO_TAP(LSymb)
215 ,[LSymb] = ACTION_MACRO_TAP(LSymb)
216 ,[LMdia] = ACTION_MACRO_TAP(LMdia) 211 ,[LMdia] = ACTION_MACRO_TAP(LMdia)
217 ,[LSpec] = ACTION_MACRO_TAP(LSpec) 212 ,[LSpec] = ACTION_MACRO_TAP(LSpec)
218 ,[RCaps] = ACTION_MACRO_TAP(RCaps)
219 ,[RSymb] = ACTION_MACRO_TAP(RSymb) 213 ,[RSymb] = ACTION_MACRO_TAP(RSymb)
220 ,[RMdia] = ACTION_MACRO_TAP(RMdia) 214 ,[RMdia] = ACTION_MACRO_TAP(RMdia)
221 ,[RSpec] = ACTION_MACRO_TAP(RSpec) 215 ,[RSpec] = ACTION_MACRO_TAP(RSpec)
222}; 216};
223 217
224uint16_t caps_shift = 0;
225uint16_t symb_shift = 0; 218uint16_t symb_shift = 0;
226uint16_t mdia_shift = 0; 219uint16_t mdia_shift = 0;
220uint16_t spec_shift = 0;
227 221
228bool symb_lock = false;
229bool mdia_lock = false; 222bool mdia_lock = false;
223bool symb_lock = false;
230 224
231const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 225const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
232{ 226{
@@ -237,50 +231,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
237 // only because sometimes rapid pressing led to irregular events; this way the states 231 // only because sometimes rapid pressing led to irregular events; this way the states
238 // are self healing during use. 232 // are self healing during use.
239 233
240 case LCaps: // both caps-shift keys trigger Left Shift 234 case LSymb: //
241 case RCaps: // so they don't interfere with the magic combo 235 if (record->event.pressed) { // when the LSymb button is pressed
242 if (record->event.pressed && !record->tap.count) { 236 if(++symb_shift > 2) mdia_shift = 2; // increment the symb shift count, max two
243 if(++caps_shift > 2) caps_shift = 2; 237 if(spec_shift) symb_lock = !symb_lock; // if the Special layer is on, toggle the shift lock
244 if(caps_shift == 2) { 238 layer_on(SYMB); // in any case, turn on the Symbols layer
245 register_code(KC_CAPS); 239 } else { // when the LSymb button is released
246 unregister_code(KC_CAPS); 240 if(--symb_shift < 0) symb_shift = 0; // decrement the shift count, minimum zero
247 } else if(caps_shift == 1) { 241 if((!symb_shift) && (!symb_lock)) layer_off(SYMB); // if both shifts are released and the lock is off, turn off the Symbols layer
248 register_code(KC_LSFT);
249 }
250 } else {
251 if(--caps_shift < 0) caps_shift = 0;
252 if(caps_shift == 0) unregister_code(KC_LSFT);
253 }
254 break;
255
256 case LSymb:
257 if (record->event.pressed) {
258 if(++symb_shift > 2) symb_shift = 2;
259 if(symb_shift == 2) {
260 symb_lock = !symb_lock;
261 } else if(symb_shift == 1) {
262 layer_on(SYMB);
263 }
264 } else {
265 if(--symb_shift < 0) symb_shift = 0;
266 if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
267 } 242 }
268 break; 243 break;
269 244
270 case LMdia: 245 case LMdia:
271 if (record->event.pressed) { 246 if (record->event.pressed) {
272 if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { 247 if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
273 register_code(KC_TAB); 248 register_code(KC_TAB);
274 } else { 249 } else {
250 if(spec_shift) mdia_lock = !mdia_lock;
275 if(++mdia_shift > 2) mdia_shift = 2; 251 if(++mdia_shift > 2) mdia_shift = 2;
276 if(mdia_shift == 2) { 252 layer_on(MDIA);
277 mdia_lock = !mdia_lock;
278 } else if(mdia_shift == 1) {
279 layer_on(MDIA);
280 }
281 } 253 }
282 } else { 254 } else {
283 if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { 255 if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
284 unregister_code(KC_TAB); 256 unregister_code(KC_TAB);
285 } else { 257 } else {
286 if(--mdia_shift < 0) mdia_shift = 0; 258 if(--mdia_shift < 0) mdia_shift = 0;
@@ -290,35 +262,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
290 break; 262 break;
291 263
292 case LSpec: 264 case LSpec:
293 if (record->event.pressed) { 265 if (record->event.pressed) { // when the LSpec button is pressed
294 if (record->tap.count && !record->tap.interrupted) { 266 if(symb_shift) symb_lock == !symb_lock; // if another layer button is engaged, then
295 register_code(KC_GRV); 267 else if(mdia_shift) mdia_lock = !mdia_lock; // lock that layer, be it caps or symb or mdia
268 else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
269 register_code(KC_GRV); // otherwise, if it's an uninterrupted tap, emit a char
296 } else { 270 } else {
297 layer_on(SPEC); 271 if(++spec_shift > 2) spec_shift = 2;
272 layer_on(SPEC); // otherwise, turn on the Special layer
298 } 273 }
299 } else { 274 } else {
300 if(record->tap.count && !record->tap.interrupted) { 275 if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
301 unregister_code(KC_GRV); 276 unregister_code(KC_GRV);
302 } else { 277 } else {
303 layer_off(SPEC); 278 if(--spec_shift < 0) spec_shift = 0;
279 if(!spec_shift) layer_off(SPEC);
304 } 280 }
305 } 281 }
306 break; 282 break;
307 283
308 case RSymb: 284 case RSymb:
309 if (record->event.pressed) { 285 if (record->event.pressed) {
310 if (record->tap.count && (!symb_shift) && (!symb_lock)) { 286 if (record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
311 register_code(KC_QUOT); 287 register_code(KC_QUOT);
312 } else { 288 } else {
313 if(++symb_shift > 2) symb_shift = 2; 289 if(++symb_shift > 2) symb_shift = 2;
314 if(symb_shift == 2) { 290 if(spec_shift) symb_lock = !symb_lock;
315 symb_lock = !symb_lock; 291 layer_on(SYMB);
316 } else if(symb_shift == 1) {
317 layer_on(SYMB);
318 }
319 } 292 }
320 } else { 293 } else {
321 if(record->tap.count && symb_shift == 0) { 294 if(record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
322 unregister_code(KC_QUOT); 295 unregister_code(KC_QUOT);
323 } else { 296 } else {
324 if(--symb_shift < 0) symb_shift = 0; 297 if(--symb_shift < 0) symb_shift = 0;
@@ -329,18 +302,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
329 302
330 case RMdia: 303 case RMdia:
331 if (record->event.pressed) { 304 if (record->event.pressed) {
332 if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { 305 if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
333 register_code(KC_BSLS); 306 register_code(KC_BSLS);
334 } else { 307 } else {
335 if(++mdia_shift > 2) mdia_shift = 2; 308 if(++mdia_shift > 2) mdia_shift = 2;
336 if(mdia_shift == 2) { 309 if(spec_shift) mdia_lock = !mdia_lock;
337 mdia_lock = !mdia_lock; 310 layer_on(MDIA);
338 } else if(mdia_shift == 1) {
339 layer_on(MDIA);
340 }
341 } 311 }
342 } else { 312 } else {
343 if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { 313 if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
344 unregister_code(KC_BSLS); 314 unregister_code(KC_BSLS);
345 } else { 315 } else {
346 if(--mdia_shift < 0) mdia_shift = 0; 316 if(--mdia_shift < 0) mdia_shift = 0;
@@ -351,16 +321,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
351 321
352 case RSpec: 322 case RSpec:
353 if (record->event.pressed) { 323 if (record->event.pressed) {
354 if (record->tap.count && !record->tap.interrupted) { 324 if(symb_shift) symb_lock = !symb_lock;
325 else if(mdia_shift) mdia_lock = !mdia_lock;
326 else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
355 register_code(KC_EQL); 327 register_code(KC_EQL);
356 } else { 328 } else {
329 if(++spec_shift > 2) spec_shift = 2;
357 layer_on(SPEC); 330 layer_on(SPEC);
358 } 331 }
359 } else { 332 } else {
360 if(record->tap.count && !record->tap.interrupted) { 333 if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
361 unregister_code(KC_EQL); 334 unregister_code(KC_EQL);
362 } else { 335 } else {
363 layer_off(SPEC); 336 if(--spec_shift < 0) spec_shift = 0;
337 if(!spec_shift) layer_off(SPEC);
364 } 338 }
365 } 339 }
366 break; 340 break;
@@ -419,7 +393,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
419 // none 393 // none
420 break; 394 break;
421 } 395 }
422 396
423 return MACRO_NONE; 397 return MACRO_NONE;
424}; 398};
425 399
@@ -431,7 +405,9 @@ void matrix_init_user(void) {
431// Runs constantly in the background, in a loop. 405// Runs constantly in the background, in a loop.
432void matrix_scan_user(void) { 406void matrix_scan_user(void) {
433 // shift or caps lock turns on red light 407 // shift or caps lock turns on red light
434 if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) { 408 if((keyboard_report->mods & MOD_BIT(KC_LSFT))
409 || (keyboard_report->mods & MOD_BIT(KC_RSFT))
410 || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
435 ergodox_right_led_1_on(); 411 ergodox_right_led_1_on();
436 } else { 412 } else {
437 ergodox_right_led_1_off(); 413 ergodox_right_led_1_off();
@@ -451,4 +427,3 @@ void matrix_scan_user(void) {
451 ergodox_right_led_3_off(); 427 ergodox_right_led_3_off();
452 } 428 }
453}; 429};
454
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
index 9c561a10a..831db4f5d 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
index 25731ea2e..7763c3d37 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
@@ -1,24 +1,24 @@
1[{x:3.5},"#\n3",{x:10.5},"*\n8"], 1[{x:3.5},"#\n3",{x:10.5},"*\n8"],
2[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"], 2[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
3[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"], 3[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
4[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"], 4[{y:-0.875,c:"#c6c600",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#c6c600",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
5[{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"], 5[{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
6[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"], 6[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
7[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"], 7[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
8[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"], 8[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Q",{x:14.5},"P",{c:"#c6c600",t:"#002299",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
9[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"], 9[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"],
10[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"], 10[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
11[{y:-0.875,x:5.5},"G",{x:6.5},"H"], 11[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
12[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"], 12[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A",{x:14.5},":\n;",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
13[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"], 13[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
14[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"], 14[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
15[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."], 15[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
16[{y:-0.875,x:5.5},"B",{x:6.5},"N"], 16[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
17[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], 17[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Z",{x:14.5},"?\n/",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
18[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], 18[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
19[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"], 19[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
20[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"], 20[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Home","End"],
22[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"], 22[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
23[{x:2},"Page\n\n\n\n\n\nDown"], 23[{x:2},"Page\n\n\n\n\n\nDown"],
24[{r:-30,rx:13,y:-1,x:-3},"Left","Right"], 24[{r:-30,rx:13,y:-1,x:-3},"Left","Right"],
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
index 99e5ed80b..5ff3f5338 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
index 4eccc9f35..e1467b22e 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
@@ -1,27 +1,27 @@
1[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"], 1[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
2[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"], 2[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
3[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"], 3[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"],
4[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], 4[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"],
5[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"], 5[{y:-0.375,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
6[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"], 6[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#1e8fff"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
7[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"], 7[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#1e8fff",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#9977ee"},"Print\n\n\n\n\n\nScreen"],
8[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"], 8[{y:-0.875,c:"#000000",t:"#3f68ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#3f68ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
9[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], 9[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
10[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"], 10[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
11[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"], 11[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
12[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], 12[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#c6c600",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
13[{y:-0.625,x:6.5,c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"], 13[{y:-0.625,x:6.5,c:"#1e8fff",t:"#000000",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
14[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], 14[{y:-0.75,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
15[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"], 15[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#1e8fff"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
16[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""], 16[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""],
17[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"], 17[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
18[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"], 18[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#1e8fff",fa:[0,0,0,1]},"Delete\n\n\nOption"],
19[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"], 19[{y:-0.875,x:2.5,c:"#0066cc"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#1e8fff"},"Insert\n\n\nCmd",{x:1,c:"#dddd77"},"Hyper"],
20[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"], 20[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
22[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"], 22[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
23[{x:2},"Home\n\n\nBrowser"], 23[{x:2},"Home\n\n\nBrowser"],
24[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"], 24[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
25[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ccbb00",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"], 25[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#6633ee",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
26[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"] 26[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nDown"]
27 27
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png
index 6eecf447e..4fb9d1d16 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt
index a08827c6d..97f40f9db 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt
@@ -1,21 +1,21 @@
1[{x:3.5,a:7},"",{x:10.5},""], 1[{x:3.5,a:7},"",{x:10.5},""],
2[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], 2[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"_\n\n\n\n\n\n-"],
3[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""], 3[{y:-0.875,x:5.5,a:7},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
4[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], 4[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#ff8500"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
5[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
6[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"{\n["],
7[{y:-0.875,x:5.5,a:7},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
8[{y:-0.875,c:"#c6c600",t:"#002299",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nLock"],
5[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""], 9[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
6[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
7[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
8[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
9[{y:-0.375,x:3.5},"",{x:10.5},""],
10[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], 10[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
11[{y:-0.875,x:5.5},"",{x:6.5},""], 11[{y:-0.875,x:5.5},"",{x:6.5},""],
12[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""], 12[{y:-0.875,c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"],
13[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""], 13[{y:-0.625,x:6.5,c:"#cccccc",t:"#000000",a:7,h:1.5},"",{x:4.5,h:1.5},""],
14[{y:-0.75,x:3.5},"",{x:10.5},""], 14[{y:-0.75,x:3.5},"",{x:10.5},""],
15[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], 15[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
16[{y:-0.875,x:5.5},"",{x:6.5},""], 16[{y:-0.875,x:5.5},"",{x:6.5},""],
17[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"], 17[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"],
18[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""], 18[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
19[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], 19[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
20[{y:-0.75,x:0.5},"","",{x:14.5},"",""], 20[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
index e4de64a96..dd9086329 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
index e199f5c59..001bf370d 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
@@ -1,24 +1,24 @@
1[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"], 1[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
2[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"], 2[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
3[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"], 3[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
4[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], 4[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"],
5[{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"], 5[{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
6[{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"], 6[{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
7[{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"], 7[{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
8[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"], 8[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#c6c600",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
9[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"], 9[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"(",{x:10.5,c:"#89b087"},"5"],
10[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"], 10[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
11[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"], 11[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"],
12[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], 12[{y:-0.875,c:"#000000",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
13[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"], 13[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
14[{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"], 14[{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
15[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"], 15[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
16[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"], 16[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
17[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], 17[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
18[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"], 18[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."],
19[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"], 19[{y:-0.875,x:2.5,c:"#dddd77"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="],
20[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"], 20[{y:-0.75,x:0.5,c:"#dddd77"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"],
22[{h:2},"Space",{h:2},"Enter","Up"], 22[{h:2},"Space",{h:2},"Enter","Up"],
23[{x:2},"Down"], 23[{x:2},"Down"],
24[{r:-30,rx:13,y:-1,x:-3},"Home","End"], 24[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md
index 6465cd79e..820b80b45 100644
--- a/keyboards/ergodox/keymaps/ordinary/readme.md
+++ b/keyboards/ergodox/keymaps/ordinary/readme.md
@@ -10,66 +10,51 @@ no rights reserved, use for any purposes, credit me if you are a nice person
10 10
11## The Base Layout ## 11## The Base Layout ##
12 12
13* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh 13* *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets).
14* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key 14* *Modifier Keys* are light yellow and in the traditional location: Control, Option, Command, plus Hyper and Meh.
15* Several dark blue keys double for entry of characters which would typically be in those locations 15* *Shift Keys* are dark yellow, found on the outsides of the keyboard. Capitals Shift (traditional shift) is found in the usual place and above that is found Symbol Shift, Media Shift, and Special Shift (Shift Lock).
16* The turquoise keys are text navigation and manipulation 16* Several of the shift keys double for entry of characters which would typically be in those locations.
17* The red keys is Escape and it is always found in that location no matter what 17* *Thumb Keys* shown in orange are for text navigation and manipulation.
18* *Escape* is red and it is always found in that location no matter what.
18 19
19![Ordinary base layout](ordinary-base.png) 20![Ordinary base layout](ordinary-base.png)
20 21
21This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. The modifier keys are all in the same place on all layers, although some layers also assign symbols on those buttons. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer. 22The four big orange keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
22
23Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence.
24
25The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
26 23
27The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code. 24The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
28 25
29## The Symbols Layer ## 26## The Symbols Layer ##
30 27
31* The light green keys are the eponymous symbols 28* *Symbols* shown in light green. All kinds of brackets are available on this layer. Ampersand and Pipe justapose each other. Pipe, slash, and backslash are arranged in a column.
32* The bright green keys are F-Keys 29* *F-Keys* are bright green and overlay the row of numerals.
33* The dark green keys constitute a number pad 30* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed.
34* The turquoise keys are the *reverse* of the turquoise keys on the base layer 31* *Thumb keys* on this layer are the *reverse* of the orange keys on the base layer, with the keys either mirrored or shifted. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the turquoise keys, and Enter is right where it should be.
35 32
36![Ordinary symbol layout](ordinary-symbol.png) 33![Ordinary symbol layout](ordinary-symbol.png)
37 34
38The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout. 35The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys.
39
40The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements:
41
42* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers.
43* The slash, backslash, and pipe characters are grouped together as a memory aid.
44* The & and | symbols are juxtaposed as a memory aid
45
46The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons.
47
48Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with the keys either mirrored or shifted. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the turquoise keys, and Enter is right where it should be.
49 36
50## The Media Layer ## 37## The Media Layer ##
51 38
52* The dark orange keys on the left move the mouse cursor 39* *Mouse Cursor Keys* are under the left hand, shown in dark blue. Diagonal keys won't automatically repeat unless combined with other keys. Buttons to left- middle- and right-click the mouse are also featured.
53* The dark orange keys on the right move the text cursor 40* *Text Cursor Keys* are under the right hand, shown in dark blue. They overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand.
54* The light orange keys are for scrolling and paging 41* *Scrolling and Paging* keys are shown in light blue and have some useful redundancy across the layout.
55* The bright green keys are more F-keys 42* Higher-order *F-Keys* are shown in bright green overylaying the numerals.
56* The dark yellow keys signal Web and Audio applications 43* *Application Keys* to control web browsers and audio players are dark purple but don't get too excited because these have weak support on operating systems I've looked at. Good luck.
57* The light yellow keys signal the operating system 44* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir).
58* The dark gray keys do nothing in case you bump them by accident 45* The dark gray keys do nothing in case you bump them by accident
59 46
60![Ordinary media layout](ordinary-media.png) 47![Ordinary media layout](ordinary-media.png)
61 48
62This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents. 49This layer is a substantial extension of the Media layer on the Ergodox EZ default layout. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
63 50
64Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand. 51Keys to directly interact with the operating system are also found on this layer, such as volume and shutdown.
65
66Alas, the yellow keys have at best spotty success with common software. Good luck with those but don't expect too much.
67 52
68## Switching Between Layers ## 53## Switching Between Layers ##
69 54
70In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. 55In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active.
71 56
72Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. If you press both of a pair of shift keys, the layer will lock on until you press both shift keys again. For instance, the widely and rightly loathed Caps Lock is engaged by pressing both Capitals Shift buttons. All the Shift keys work this way. 57Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. Lock the shift keys using the Shift Lock button, which is the same as the Special Shift button.
73 58
74Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols. 59Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols.
75 60
@@ -77,27 +62,29 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact
77 62
78![Ordinary special layout](ordinary-special.png) 63![Ordinary special layout](ordinary-special.png)
79 64
65The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations.
66
80### Escape ### 67### Escape ###
81 68
82The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, whnich is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape. 69The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, which is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape.
83 70
84The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers. 71The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers.
85 72
86### Backspace ### 73### Backspace ###
87 74
88At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence, using the 0 key, to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. 75At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence using the 0 key to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times.
89 76
90### RShift ### 77### Other Characters ###
91 78
92The Ordinary Layout locks layers by pressing both of a pair of shift keys. This interferes with the QMK firmware magic sequence, which is LShift+RShift. To work around this, both of the Capitals Shift keys produce a *Left Shift* keystroke. If for some reason a person needs *Right Shift* they can find it by pressing a Special Shift key, then the Capitals Shift key on the right side of the keyboard. 79The Escape and Backspace special sequences are so useful why not have a few more? You can find dash under 9, left bracket under o, and right bracket under p. That's pretty much all the characters from the top right corner of the keyboard which moved to make room for the columnar layout.
93 80
94**** 81****
95 82
96The Ordinary Layout for the Ergodox EZ keyboard, v4 83The Ordinary Layout for the Ergodox EZ keyboard, v4.20
97 84
98Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com 85Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
99 86
100No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother. 87No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother.
101 88
102Details: readme.md 89Details: readme.md
103 https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary 90 https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary
diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c
index 7a16367bf..08ee5aeda 100644
--- a/keyboards/ergodox/keymaps/xyverz/keymap.c
+++ b/keyboards/ergodox/keymaps/xyverz/keymap.c
@@ -1,8 +1,4 @@
1/* 1/*
2 * PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are
3 * based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to
4 * figure out where the keys are in the matrix and redo the layout arrays below.
5 *
6 * About this keymap: 2 * About this keymap:
7 * 3 *
8 * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak 4 * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak
@@ -14,9 +10,6 @@
14 * 10 *
15 * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck 11 * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck
16 * layouts. 12 * layouts.
17 *
18 * For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the
19 * keymap is defined, beginning on line 81.
20 * 13 *
21 */ 14 */
22 15
@@ -38,213 +31,222 @@ extern keymap_config_t keymap_config;
38#define QWERTY M(_QW) 31#define QWERTY M(_QW)
39#define COLEMAK M(_CM) 32#define COLEMAK M(_CM)
40 33
34// Fillers to make layering more clear
35#define _______ KC_TRNS
36#define XXXXXXX KC_NO
37
38
41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42 40
43[_DV] = { // layer 0 : Dvorak 41/* Layer 0 : Dvorak
44/* 42 * ,--------------------------------------------------. ,--------------------------------------------------.
45 * ,--------------------------------------------------. ,--------------------------------------------------. 43 * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ |
46 * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | 44 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
47 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 45 * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ |
48 * | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | 46 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
49 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 47 * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - |
50 * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | 48 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
51 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 49 * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
52 * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | 50 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
53 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 51 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI |
54 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | 52 * `----------------------------------' `----------------------------------'
55 * `----------------------------------' `----------------------------------' 53 * ,-------------. ,-------------.
56 * ,-------------. ,-------------. 54 * | LCTL | LALT | | RALT | RCTL |
57 * | LCtr | LAlt | | Ralt | RCtr | 55 * ,------|------|------| |------+------+------.
58 * ,------|------|------| |------+------+------. 56 * | | | Home | | PgUp | | |
59 * | | | Home | | PgUp | | | 57 * | BkSp | Del |------| |------| Enter| Space|
60 * | BkSp | Del |------| |------| Enter| Space| 58 * | | | End | | PgDn | | |
61 * | | | End | | PgDn | | | 59 * `--------------------' `--------------------'
62 * `--------------------' `--------------------'
63 * 60 *
64 */ 61 */
62[_DV] = KEYMAP(
65 // left hand 63 // left hand
66 {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, 64 KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
67 {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, 65 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX,
68 {KC_2, KC_COMM, KC_O, KC_Q, KC_INS, KC_DEL }, 66 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I,
69 {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT, KC_BSPC}, 67 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_MD),
70 {KC_4, KC_P, KC_U, KC_K, KC_RGHT, KC_HOME}, 68 KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
71 {KC_5, KC_Y, KC_I, KC_X, KC_NO, KC_LCTL}, 69 KC_LCTL, KC_LALT,
72 {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, 70 KC_HOME,
73 71 KC_BSPC, KC_DEL, KC_END,
74 // right hand 72 // right hand
75 {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, 73 KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,
76 {KC_6, KC_F, KC_D, KC_B, KC_NO, KC_RCTL}, 74 XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
77 {KC_7, KC_G, KC_H, KC_M, KC_UP, KC_PGUP}, 75 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
78 {KC_8, KC_C, KC_T, KC_W, KC_DOWN, KC_SPC }, 76 MO(_KP), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
79 {KC_9, KC_R, KC_N, KC_V, KC_SLSH, KC_ENT }, 77 KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI,
80 {KC_0, KC_L, KC_S, KC_Z, KC_EQL, KC_PGDN}, 78 KC_RALT, KC_RCTL,
81 {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO } 79 KC_PGUP,
82}, 80 KC_PGDN, KC_ENT, KC_SPC
83 81 ),
84 82
85[_QW] = { // layer 1 : QWERTY 83
86/* 84/* Layer 1: QWERTY
87 * ,--------------------------------------------------. ,--------------------------------------------------. 85 * ,--------------------------------------------------. ,--------------------------------------------------.
88 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | 86 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - |
89 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 87 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
90 * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | 88 * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
91 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 89 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
92 * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | 90 * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
93 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 91 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
94 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | 92 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
95 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 93 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
96 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | 94 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI |
97 * `----------------------------------' `----------------------------------' 95 * `----------------------------------' `----------------------------------'
98 * ,-------------. ,-------------. 96 * ,-------------. ,-------------.
99 * | LCtr | LAlt | | Ralt | RCtr | 97 * | LCTL | LALT | | RALT | RCTL |
100 * ,------|------|------| |------+------+------. 98 * ,------|------|------| |------+------+------.
101 * | | | Home | | PgUp | | | 99 * | | | Home | | PgUp | | |
102 * | BkSp | Del |------| |------| Enter| Space| 100 * | BkSp | Del |------| |------| Enter| Space|
103 * | | | End | | PgDn | | | 101 * | | | End | | PgDn | | |
104 * `--------------------' `--------------------' 102 * `--------------------' `--------------------'
105 */ 103 */
104[_QW] = KEYMAP(
106 // left hand 105 // left hand
107 {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, 106 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
108 {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, 107 KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX,
109 {KC_2, KC_W, KC_S, KC_X, KC_INS, KC_DEL }, 108 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
110 {KC_3, KC_E, KC_D, KC_C, KC_LEFT, KC_BSPC}, 109 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD),
111 {KC_4, KC_R, KC_F, KC_V, KC_RGHT, KC_HOME}, 110 KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
112 {KC_5, KC_T, KC_G, KC_B, KC_NO, KC_LCTL}, 111 KC_LCTL, KC_LALT,
113 {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, 112 KC_HOME,
114 113 KC_BSPC, KC_DEL, KC_END,
115 // right hand 114 // right hand
116 {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, 115 KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
117 {KC_6, KC_Y, KC_H, KC_N, KC_NO, KC_RCTL}, 116 XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
118 {KC_7, KC_U, KC_J, KC_M, KC_UP, KC_PGUP}, 117 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
119 {KC_8, KC_I, KC_K, KC_COMM, KC_DOWN, KC_SPC }, 118 MO(_KP), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
120 {KC_9, KC_O, KC_L, KC_DOT, KC_LBRC, KC_ENT }, 119 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_RGUI,
121 {KC_0, KC_P, KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN}, 120 KC_LALT, KC_LCTL,
122 {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } 121 KC_PGUP,
123 }, 122 KC_PGDN, KC_ENT, KC_SPC
124 123 ),
125 124
126[_CM] = { // layer 2 : Colemak 125
127/* 126/* Layer 2 : Colemak
128 * ,--------------------------------------------------. ,--------------------------------------------------. 127 * ,--------------------------------------------------. ,--------------------------------------------------.
129 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | 128 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - |
130 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 129 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
131 * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | 130 * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ |
132 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 131 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
133 * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | 132 * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' |
134 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 133 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
135 * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | 134 * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift |
136 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 135 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
137 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | 136 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI |
138 * `----------------------------------' `----------------------------------' 137 * `----------------------------------' `----------------------------------'
139 * ,-------------. ,-------------. 138 * ,-------------. ,-------------.
140 * | LCtr | LAlt | | Ralt | RCtr | 139 * | LCTL | LALT | | RALT | RCTL |
141 * ,------|------|------| |------+------+------. 140 * ,------|------|------| |------+------+------.
142 * | | | Home | | PgUp | | | 141 * | | | Home | | PgUp | | |
143 * | BkSp | Del |------| |------| Enter| Space| 142 * | BkSp | Del |------| |------| Enter| Space|
144 * | | | End | | PgDn | | | 143 * | | | End | | PgDn | | |
145 * `--------------------' `--------------------' 144 * `--------------------' `--------------------'
146 */ 145 */
146[_CM] = KEYMAP(
147 // left hand 147 // left hand
148 {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO }, 148 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
149 {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, 149 KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX,
150 {KC_2, KC_W, KC_R, KC_X, KC_INS, KC_DEL }, 150 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
151 {KC_3, KC_F, KC_S, KC_C, KC_LEFT, KC_BSPC}, 151 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD),
152 {KC_4, KC_P, KC_T, KC_V, KC_RGHT, KC_HOME}, 152 KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
153 {KC_5, KC_G, KC_D, KC_B, KC_NO, KC_LCTL}, 153 KC_LCTL, KC_LALT,
154 {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, 154 KC_HOME,
155 155 KC_BSPC, KC_DEL, KC_END,
156 // right hand 156 // right hand
157 {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, 157 KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
158 {KC_6, KC_J, KC_H, KC_K, KC_NO, KC_RCTL}, 158 XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
159 {KC_7, KC_L, KC_N, KC_M, KC_UP, KC_PGUP}, 159 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
160 {KC_8, KC_U, KC_E, KC_COMM, KC_DOWN, KC_SPC }, 160 MO(_KP), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
161 {KC_9, KC_Y, KC_I, KC_DOT, KC_LBRC, KC_ENT }, 161 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_RGUI,
162 {KC_0, KC_SCLN, KC_O, KC_SLSH, KC_RBRC, KC_PGDN}, 162 KC_LALT, KC_LCTL,
163 {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } 163 KC_PGUP,
164 }, 164 KC_PGDN, KC_ENT, KC_SPC
165 165 ),
166 166
167[_MD] = { // layer 3 : Media layer 167
168/* 168/* Layer 3 : Media layer
169 * ,--------------------------------------------------. ,--------------------------------------------------. 169 * ,--------------------------------------------------. ,--------------------------------------------------.
170 * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | 170 * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | |
171 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 171 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
172 * | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | 172 * | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | |
173 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 173 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
174 * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | 174 * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | |
175 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 175 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
176 * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | 176 * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | |
177 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 177 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
178 * | | | | | | | | | | | | 178 * | | | | | | | | | | | |
179 * `----------------------------------' `----------------------------------' 179 * `----------------------------------' `----------------------------------'
180 * ,-------------. ,-------------. 180 * ,-------------. ,-------------.
181 * | | | | | | 181 * | | | | | |
182 * ,------|------|------| |------+------+------. 182 * ,------|------|------| |------+------+------.
183 * | | | | | | | | 183 * | | | | | | | |
184 * | | |------| |------| | | 184 * | | |------| |------| | |
185 * | | | | | | | | 185 * | | | | | | | |
186 * `--------------------' `--------------------' 186 * `--------------------' `--------------------'
187 */ 187 */
188[_MD] = KEYMAP(
188 // left hand 189 // left hand
189 {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO }, 190 RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
190 {KC_F1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, 191 _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
191 {KC_F2, KC_PSCR, KC_TRNS, DVORAK, KC_TRNS, KC_TRNS}, 192 _______, _______, _______, _______, _______, _______,
192 {KC_F3, KC_SLCK, KC_TRNS, QWERTY, KC_TRNS, KC_TRNS}, 193 _______, _______, DVORAK, QWERTY, COLEMAK, _______, _______,
193 {KC_F4, KC_PAUS, KC_TRNS, COLEMAK, KC_TRNS, KC_TRNS}, 194 _______, _______, _______, _______, _______,
194 {KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, 195 _______, _______,
195 {KC_F11, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, 196 _______,
196 197 _______, _______, _______,
197 // right hand 198 // right hand
198 {KC_F12, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, 199 KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
199 {KC_F6, KC_TRNS, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS}, 200 _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
200 {KC_F7, KC_MUTE, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS}, 201 KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL, _______,
201 {KC_F8, KC_VOLD, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS}, 202 _______, _______, _______, _______, _______, _______, _______,
202 {KC_F9, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS}, 203 _______, _______, _______, _______, _______,
203 {KC_F10, KC_TRNS, KC_MSEL, KC_TRNS, KC_TRNS, KC_TRNS}, 204 _______, _______,
204 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO } 205 _______,
205 }, 206 _______, _______, _______
206 207 ),
207 208
208[_KP] = { // layer 4 : Keypad layer 209
209/* 210/* Layer 4 : Keypad layer
210 * ,--------------------------------------------------. ,--------------------------------------------------. 211 * ,--------------------------------------------------. ,--------------------------------------------------.
211 * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | | 212 * | Power | | | | | | | | | | NmLk | KP = | KP / | KP * | |
212 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 213 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
213 * | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | 214 * | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP - | |
214 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 215 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
215 * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | 216 * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | |
216 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 217 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
217 * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | 218 * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| |
218 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 219 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
219 * | | | | | | | KP 0 | | KP . |KP Ent| | 220 * | | | | | | | KP 0 | | KP . |KP Ent| |
220 * `----------------------------------' `----------------------------------' 221 * `----------------------------------' `----------------------------------'
221 * ,-------------. ,-------------. 222 * ,-------------. ,-------------.
222 * | | | | | | 223 * | | | | | |
223 * ,------|------|------| |------+------+------. 224 * ,------|------|------| |------+------+------.
224 * | | | | | | | | 225 * | | | | | | | |
225 * | | |------| |------| | | 226 * | | |------| |------| | |
226 * | | | | | | | | 227 * | | | | | | | |
227 * `--------------------' `--------------------' 228 * `--------------------' `--------------------'
228 */ 229 */
230[_KP] = KEYMAP(
229 // left hand 231 // left hand
230 {KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO }, 232 KC_PWR, _______, _______, _______, _______, _______, _______,
231 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, 233 KC_SLEP, _______, _______, _______, _______, _______, _______,
232 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, 234 KC_WAKE, _______, _______, _______, _______, _______,
233 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, 235 _______, _______, _______, _______, _______, _______, _______,
234 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, 236 _______, _______, _______, _______, _______,
235 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, 237 _______, _______,
236 {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, 238 _______,
237 239 _______, _______, _______,
238 // right hand 240 // right hand
239 {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, 241 _______, _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
240 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, 242 _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
241 {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, KC_TRNS}, 243 _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
242 {KC_PSLS, KC_P8, KC_P5, KC_P2, KC_NO, KC_TRNS}, 244 _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
243 {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, KC_TRNS}, 245 KC_P0, _______, KC_PDOT, KC_PENT, _______,
244 {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, KC_TRNS}, 246 _______, _______,
245 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO } 247 _______,
246 }, 248 _______, _______, _______
247 249 ),
248 250
249}; 251};
250 252
diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md
index 255749323..6ecdabc9e 100644
--- a/keyboards/ergodox/keymaps/xyverz/readme.md
+++ b/keyboards/ergodox/keymaps/xyverz/readme.md
@@ -1,9 +1,5 @@
1# Xyverz's ErgoDox EZ Keymap 1# Xyverz's ErgoDox EZ Keymap
2 2
3## Please Note:
4
5This keymap will probably **not** work with the Infinity ErgoDox. It will need **substantial** modification in order to work on the Infinity. This is due to the fact that the mappings are based on the matrix positions in the keymap definition in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below.
6
7## About this keymap: 3## About this keymap:
8 4
9The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox. 5The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox.
@@ -12,7 +8,11 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout,
12 8
13I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. 9I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
14 10
15For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the keymap is defined, beginning on line 81. 11## Still to do:
12
13 * Need to figure out a better position for the ESC key.
14 * Come up with a function for the empty keys shown in the alpha layers below.
15 * Fix the CapsLock, NumLock, and ScrLck LEDs.
16 16
17### Layer 0: Dvorak layer 17### Layer 0: Dvorak layer
18 18
@@ -103,9 +103,9 @@ For a better explanation of the layout matrices shown below, take a look at ../.
103### Keymap 4: Keypad layer 103### Keymap 4: Keypad layer
104 104
105 ,--------------------------------------------------.,--------------------------------------------------. 105 ,--------------------------------------------------.,--------------------------------------------------.
106 | Power | | | | | | || | | NmLk | KP / | KP * | KP - | | 106 | Power | | | | | | || | | NmLk | KP = | KP / | KP * | |
107 |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| 107 |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------|
108 | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP + | | 108 | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP - | |
109 |--------+------+------+------+------+------| || |------+------+------+------+------+--------| 109 |--------+------+------+------+------+------| || |------+------+------+------+------+--------|
110 | Wake | | | | | |------||------| | KP 4 | KP 5 | KP 6 | KP + | | 110 | Wake | | | | | |------||------| | KP 4 | KP 5 | KP 6 | KP + | |
111 |--------+------+------+------+------+------| || |------+------+------+------+------+--------| 111 |--------+------+------+------+------+------| || |------+------+------+------+------+--------|
@@ -119,4 +119,4 @@ For a better explanation of the layout matrices shown below, take a look at ../.
119 | | | || | | | 119 | | | || | | |
120 | | |------||------| | | 120 | | |------||------| | |
121 | | | || | | | 121 | | | || | | |
122 `--------------------'`--------------------' \ No newline at end of file 122 `--------------------'`--------------------'
diff --git a/keyboards/kc60/keymaps/workman-dead/README.md b/keyboards/kc60/keymaps/workman-dead/README.md
new file mode 100644
index 000000000..f1fcdc960
--- /dev/null
+++ b/keyboards/kc60/keymaps/workman-dead/README.md
@@ -0,0 +1,17 @@
1# Workman dead with spacefn (kc60 @ QMK)
2
3## Layout reference
4![workman dead with spacefn](./kc60-wm-dead.png)
5
6## Build
7
8To build this keymap, simply run `make KEYMAP=workman-dead`.
9
10## Notes
11
12* the default layout is `workman` (try it out, it's awesome!), but it can be changed to `qwerty` with the `rebel` key (the function layer won't change though)
13* `comma` acts as a dead key, that means tapping/holding it will activate the **oneshot** `dead key` layer (marked red in the reference)
14* hold `space` to access the `function` layer (marked blue in the reference)
15* hold `tab` to activate the mouse layer
16* the `function` layer contains mostly osx specific shortcuts
17* on the right side of the bottom row `alt` and `super` are switched compared to a standard layout
diff --git a/keyboards/kc60/keymaps/workman-dead/kc60-wm-dead.png b/keyboards/kc60/keymaps/workman-dead/kc60-wm-dead.png
new file mode 100644
index 000000000..cc6a630a5
--- /dev/null
+++ b/keyboards/kc60/keymaps/workman-dead/kc60-wm-dead.png
Binary files differ
diff --git a/keyboards/kc60/keymaps/workman-dead/keymap.c b/keyboards/kc60/keymaps/workman-dead/keymap.c
new file mode 100644
index 000000000..103adeef6
--- /dev/null
+++ b/keyboards/kc60/keymaps/workman-dead/keymap.c
@@ -0,0 +1,183 @@
1#include "kc60.h"
2
3#define _WM 0
4#define _QW 1
5#define _DK 2
6#define _FUN 3
7#define _MS 4
8
9#define _______ KC_NO
10#define XXXXXXX KC_TRNS
11
12#define _DK_ACT 0
13#define _DK_REL 1
14#define _KC_COMS 2
15#define _KC_CENT 3
16
17#define DK_ACT M(_DK_ACT) // activate dead key layer
18#define DK_REL M(_DK_REL) // release dead key layer
19#define KC_COMS M(_KC_COMS) // comma + space
20#define KC_CENT M(_KC_CENT) // comma + enter
21#define KC_TABM LT(_MS, KC_TAB) // press for tab, hold for mouse layer
22#define KC_SPFN LT(_FUN, KC_SPC) // press for space, hold for function layer (aka spacefn)
23#define KC_DFQW DF(_QW) // set default layer to qwerty
24#define KC_DFWM DF(_WM) // set default layer to workman
25#define KC_CMDQ LGUI(KC_Q) // command + q
26#define KC_CMDD LGUI(KC_D) // command + d
27#define KC_CMDA LGUI(KC_A) // command + a
28#define KC_CMDS LGUI(KC_S) // command + s
29#define KC_CMDZ LGUI(KC_Z) // command + z
30#define KC_CMDX LGUI(KC_X) // command + x
31#define KC_CMDC LGUI(KC_C) // command + c
32#define KC_CMDV LGUI(KC_V) // command + v
33#define KC_CSTB S(RCTL(KC_TAB)) // shift + control + tab
34#define KC_C_TB RCTL(KC_TAB) // control + tab
35#define KC_C_LF RCTL(KC_LEFT) // control + left
36#define KC_C_RT RCTL(KC_RGHT) // control + right
37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39
40// Workman
41/*
42* ,-----------------------------------------------------------.
43* |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp |
44* |-----------------------------------------------------------|
45* |Tab/M| Q| D| R| W| B| J| F| U| P| ;| [| ]| \ |
46* |-----------------------------------------------------------|
47* |Ctrl | A| S| H| T| G| Y| N| E| O| I| '| Return |
48* |-----------------------------------------------------------|
49* |Shift | Z| X| M| C| V| K| L| ,| .| /| Shift |
50* |-----------------------------------------------------------|
51* |Ctrl | Alt | GUI | Space/FN | Alt | GUI | Ctrl | qwerty |
52* `-----------------------------------------------------------'
53*/
54[_WM] = KEYMAP( /* Workman */
55 KC_ESC, 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_BSPC, \
56 KC_TABM, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \
57 KC_LCTL, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, _______, KC_ENT, \
58 KC_LSFT, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \
59 KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DFQW),
60
61// QWERTY
62/*
63* ,-----------------------------------------------------------.
64* |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp |
65* |-----------------------------------------------------------|
66* |Tab/M| Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
67* |-----------------------------------------------------------|
68* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return |
69* |-----------------------------------------------------------|
70* |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
71* |-----------------------------------------------------------|
72* |Ctrl | Alt | GUI | Space/FN | Alt | GUI | Ctrl | workman |
73* `-----------------------------------------------------------'
74*/
75[_QW] = KEYMAP( /* QWERTY */
76 KC_ESC, 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_BSPC, \
77 KC_TABM, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
78 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, \
79 KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \
80 KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DOWN),
81
82// dead key layer
83/*
84* ,-----------------------------------------------------------.
85* | | | | | | | | | | | | | | Bsp |
86* |-----------------------------------------------------------|
87* | | %| &| ?| +| @| $| _| [| ]| !| ~| ^| |
88* |-----------------------------------------------------------|
89* | | #| (| =| 0| {| }| 1| *| )| -| `| Return |
90* |-----------------------------------------------------------|
91* | | 6| 7| 8| 9| || \| 2| 3| 4| 5| |
92* |-----------------------------------------------------------|
93* |Ctrl | Alt | GUI | , | Alt | GUI | Ctrl | |
94* `-----------------------------------------------------------'
95*/
96[_DK] = KEYMAP( /* dead key layer */
97 XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, \
98 XXXXXXX, KC_PERC, KC_AMPR, KC_QUES, KC_PLUS, KC_AT, KC_DLR, KC_UNDS, KC_LBRC, KC_RBRC, KC_EXLM, KC_TILD, KC_CIRC, _______, \
99 _______, KC_HASH, KC_LPRN, KC_EQL, KC_0, KC_LCBR, KC_RCBR, KC_1, KC_ASTR, KC_RPRN, KC_MINS, KC_GRV, _______, KC_CENT, \
100 _______, _______, KC_6, KC_7, KC_8, KC_9, KC_PIPE, KC_BSLS, KC_2, DK_REL, KC_4, KC_5, _______, _______, \
101 KC_LCTL, KC_LALT, KC_LGUI, KC_COMS, KC_RALT, KC_RGUI, KC_RCTL, _______),
102
103// function layer
104/*
105* ,-----------------------------------------------------------.
106* | | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|Del |
107* |-----------------------------------------------------------|
108* |Esc | Cq| Cd|cstb|ctb| | |pgd| up|pgu| | | |ins |
109* |-----------------------------------------------------------|
110* |Shift | Ca| Cs|clt|crt| | | lt| dw| rt|home|end| Bsp |
111* |-----------------------------------------------------------|
112* |Shift | Cz| Cx| | Cc| Cv| V-| V+|mute| | | |
113* |-----------------------------------------------------------|
114* |Ctrl | Alt | GUI | | Alt | GUI | Ctrl | Reset |
115* `-----------------------------------------------------------'
116*/
117[_FUN] = KEYMAP( /* function layer */
118 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_F12, KC_DEL, \
119 KC_ESC, KC_CMDQ, KC_CMDD, KC_CSTB, KC_C_TB, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_INS, \
120 KC_LSFT, KC_CMDA, KC_CMDS, KC_C_LF, KC_C_RT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, _______, KC_BSPC, \
121 KC_LSFT, _______, KC_CMDZ, KC_CMDX, _______, KC_CMDC, KC_CMDV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, \
122 KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_RALT, KC_RGUI, KC_RCTL, RESET),
123
124// mouse layer
125/*
126* ,-----------------------------------------------------------.
127* | | | | | | | | | | | | | | |
128* |-----------------------------------------------------------|
129* | |fast|med|slow| | | | | up| | | | | |
130* |-----------------------------------------------------------|
131* | | | | | | | | lt| dw| rt| rc| | |
132* |-----------------------------------------------------------|
133* | | | | | | | | | | | | |
134* |-----------------------------------------------------------|
135* | | | | lc | | | | |
136* `-----------------------------------------------------------'
137*/
138[_MS] = KEYMAP( /* mouse layer */
139 XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
140 XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, \
141 _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, _______, \
142 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
143 _______, _______, _______, KC_BTN1, _______, _______, _______, _______),
144};
145
146const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
147{
148 switch(id) {
149 case _KC_COMS:
150 if (record->event.pressed) {
151 return MACRO(T(COMM), T(SPC), END); // comma + space
152 }
153 break;
154 case _KC_CENT:
155 if (record->event.pressed) {
156 return MACRO(T(COMM), T(ENT), END); // comma + enter
157 }
158 break;
159 case _DK_ACT:
160 if (record->event.pressed) {
161 if (keyboard_report->mods & MOD_BIT(KC_LSFT) || keyboard_report->mods & MOD_BIT(KC_RSFT)) { // act as comma when shift is pressed (eg <)
162 register_code(KC_COMM);
163 } else { // activate oneshot dead key layer otherwise
164 layer_on(_DK);
165 set_oneshot_layer(_DK, ONESHOT_START);
166 }
167 } else { // make sure to deactive dead key layer on key release
168 clear_oneshot_layer_state(ONESHOT_PRESSED);
169 unregister_code(KC_COMM);
170 }
171 break;
172 case _DK_REL:
173 if (record->event.pressed) { // act as 3 on keypress
174 register_code(KC_3);
175 } else { // make sure to deactive dead key layer on key release
176 clear_oneshot_layer_state(ONESHOT_PRESSED);
177 unregister_code(KC_3);
178 }
179 break;
180 }
181
182 return MACRO_NONE;
183};
diff --git a/keyboards/satan/keymaps/default/keymap.c b/keyboards/satan/keymaps/default/keymap.c
index 3806137e7..2bf49d2e6 100644
--- a/keyboards/satan/keymaps/default/keymap.c
+++ b/keyboards/satan/keymaps/default/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl | 27 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
28 * `-----------------------------------------------------------' 28 * `-----------------------------------------------------------'
29 */ 29 */
30[_BL] = KEYMAP( 30[_BL] = KEYMAP_ANSI(
31 F(0), 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_BSPC, \ 31 F(0), 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_BSPC, \
32 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_RBRC,KC_BSLS, \ 32 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_RBRC,KC_BSLS, \
33 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \ 33 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 * | | | | | | | | | 47 * | | | | | | | | |
48 * `-----------------------------------------------------------' 48 * `-----------------------------------------------------------'
49 */ 49 */
50[_FL] = KEYMAP( 50[_FL] = KEYMAP_ANSI(
51 #ifdef RGBLIGHT_ENABLE 51 #ifdef RGBLIGHT_ENABLE
52 KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET, \ 52 KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET, \
53 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC,BL_INC, BL_TOGG, \ 53 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC,BL_INC, BL_TOGG, \
diff --git a/keyboards/satan/keymaps/denolfe/keymap.c b/keyboards/satan/keymaps/denolfe/keymap.c
index 2f6c8d8f4..5f189d78a 100644
--- a/keyboards/satan/keymaps/denolfe/keymap.c
+++ b/keyboards/satan/keymaps/denolfe/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl | 29 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
30 * `-----------------------------------------------------------' 30 * `-----------------------------------------------------------'
31 */ 31 */
32[_BL] = KEYMAP( 32[_BL] = KEYMAP_ANSI(
33 F(0), 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_BSPC, \ 33 F(0), 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_BSPC, \
34 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_RBRC, KC_BSLS, \ 34 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_RBRC, KC_BSLS, \
35 MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ 35 MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
@@ -49,27 +49,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 * | | | | | | | | | 49 * | | | | | | | | |
50 * `-----------------------------------------------------------' 50 * `-----------------------------------------------------------'
51 */ 51 */
52[_FL] = KEYMAP( 52[_FL] = KEYMAP_ANSI(
53 #ifdef RGBLIGHT_ENABLE 53 #ifdef RGBLIGHT_ENABLE
54 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ 54 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \
55 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ 55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
56 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
57 KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, \ 57 KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, \
58 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
59 #else 59 #else
60 KC_GRV, 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_DEL, \ 60 KC_GRV, 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_DEL, \
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY, \ 61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY, \
62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \ 62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \
63 KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, RESET, \ 63 KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, RESET, \
64 KC_TRNS, KC_TRNS, F(9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 64 KC_TRNS, KC_TRNS, F(9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
65 #endif 65 #endif
66 66
67[_SL] = KEYMAP( 67[_SL] = KEYMAP_ANSI(
68 KC_GRV, 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_DEL, \ 68 KC_GRV, 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_DEL, \
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY, \ 69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY, \
70 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS, \ 70 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS, \
71 KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, RESET, \ 71 KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, RESET, \
72 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 72 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
73}; 73};
74 74
75enum function_id { 75enum function_id {
diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c
index bc5bfe2e6..cf938e07d 100644
--- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c
+++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c
@@ -52,11 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
52 * `-----------------------------------------------------------' LEFT DWN RIGHT 52 * `-----------------------------------------------------------' LEFT DWN RIGHT
53 */ 53 */
54 [_DEF] = KEYMAP_ISO_SPLITRSHIFT( 54 [_DEF] = KEYMAP_ISO_SPLITRSHIFT(
55 KC_GRV, 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_BSPC, \ 55 KC_GRV, 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_BSPC, \
56 TABDUAL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ 56 TABDUAL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
57 CAPSDUAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, ENTERDUAL, \ 57 CAPSDUAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, ENTERDUAL, \
58 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX), ARRUP, \ 58 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, ARRUP, TG(_SFX), \
59 KC_LCTL, KC_LGUI, KC_LALT, SPACEDUAL, KC_RALT, ARRLEFT, ARRDOWN, ARRRIGHT), 59 KC_LCTL, KC_LGUI, KC_LALT, SPACEDUAL, KC_RALT, ARRLEFT, ARRDOWN, ARRRIGHT),
60 60
61 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) 61 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space)
62 * ,-----------------------------------------------------------. 62 * ,-----------------------------------------------------------.
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
75 KC_PSCR, 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_DEL, \ 75 KC_PSCR, 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_DEL, \
76 _______, KC_PAUS, KC_UP, GER_BRC_L, GER_BRC_R, _______, _______, GER_PAR_L, GER_PAR_R, _______, _______, _______, _______, _______, \ 76 _______, KC_PAUS, KC_UP, GER_BRC_L, GER_BRC_R, _______, _______, GER_PAR_L, GER_PAR_R, _______, _______, _______, _______, _______, \
77 _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY, \ 77 _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY, \
78 _______, _______, _______, _______, GER_ANG_L, GER_ANG_R, KC_SPACE, M(0), _______, _______, _______, _______, _______, KC_VOLU, \ 78 _______, _______, _______, _______, GER_ANG_L, GER_ANG_R, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \
79 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), 79 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT),
80 80
81 /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab) 81 /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab)
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
95 KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \ 95 KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
96 _______, _______, _______, _______, _______, _______, _______, GER_CUR_L, GER_CUR_R, _______, _______, _______, _______, _______, \ 96 _______, _______, _______, _______, _______, _______, _______, GER_CUR_L, GER_CUR_R, _______, _______, _______, _______, _______, \
97 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_ENT, \ 97 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_ENT, \
98 _______, _______, _______, _______, _______, _______, _______, M(1), _______, _______, _______, _______, _______, KC_PGUP, \ 98 _______, _______, _______, _______, _______, _______, _______, M(1), _______, _______, _______, _______, KC_PGUP, _______, \
99 _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), 99 _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
100 100
101 /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key) 101 /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key)
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
115 RESET, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \ 115 RESET, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \
116 _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_BSLS, \ 116 _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_BSLS, \
117 _______, F(2), F(3), _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, XXXXXXX, KC_ENT, \ 117 _______, F(2), F(3), _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, XXXXXXX, KC_ENT, \
118 _______, F(4), F(5), F(6), F(7), F(8), F(9), _______, _______, KC_0, _______, KC_SLSH, _______, KC_UP, \ 118 _______, F(4), F(5), F(6), F(7), F(8), F(9), _______, _______, KC_0, _______, KC_SLSH, KC_UP, _______, \
119 _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT), 119 _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT),
120}; 120};
121 121
diff --git a/keyboards/satan/keymaps/poker/keymap.c b/keyboards/satan/keymaps/poker/keymap.c
index 8181955cf..9da7d29b7 100644
--- a/keyboards/satan/keymaps/poker/keymap.c
+++ b/keyboards/satan/keymaps/poker/keymap.c
@@ -25,12 +25,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl | 25 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
26 * `-----------------------------------------------------------' 26 * `-----------------------------------------------------------'
27 */ 27 */
28[_BL] = KEYMAP( 28[_BL] = KEYMAP_ANSI(
29 F(0), 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_BSPC, \ 29 F(0), 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_BSPC, \
30 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_RBRC, KC_BSLS, \ 30 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_RBRC, KC_BSLS, \
31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \ 31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, \ 32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
33 KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(_RL), MO(_FL), KC_RCTL), 33 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_RL), MO(_FL), KC_RCTL),
34 34
35/* Keymap _FL: Function Layer 35/* Keymap _FL: Function Layer
36 * ,-----------------------------------------------------------. 36 * ,-----------------------------------------------------------.
@@ -45,12 +45,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 * | | | | | | | | | 45 * | | | | | | | | |
46 * `-----------------------------------------------------------' 46 * `-----------------------------------------------------------'
47 */ 47 */
48[_FL] = KEYMAP( 48[_FL] = KEYMAP_ANSI(
49 KC_GRV, 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_DEL, \ 49 KC_GRV, 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_DEL, \
50 KC_TRNS,KC_TRNS, KC_UP, KC_TRNS,KC_TRNS,KC_TRNS, KC_CALC,KC_TRNS,KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \ 50 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \
51 KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, \ 51 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, \
52 KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, \ 52 KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, \
53 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
54 54
55 /* Keymap _RL: Function Layer 55 /* Keymap _RL: Function Layer
56 * ,-----------------------------------------------------------. 56 * ,-----------------------------------------------------------.
@@ -65,19 +65,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65 * | | | | | | | | | 65 * | | | | | | | | |
66 * `-----------------------------------------------------------' 66 * `-----------------------------------------------------------'
67 */ 67 */
68[_RL] = KEYMAP( 68[_RL] = KEYMAP_ANSI(
69 #ifdef RGBLIGHT_ENABLE 69 #ifdef RGBLIGHT_ENABLE
70 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ 70 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \
71 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ 71 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
72 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 72 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
73 KC_TRNS, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \ 73 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \
74 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 74 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
75 #else 75 #else
76 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ 76 KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \
77 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ 77 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
78 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
80 KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 80 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
81 #endif 81 #endif
82}; 82};
83 83
diff --git a/keyboards/satan/keymaps/stanleylai/keymap.c b/keyboards/satan/keymaps/stanleylai/keymap.c
index 623427e97..979c122e5 100644
--- a/keyboards/satan/keymaps/stanleylai/keymap.c
+++ b/keyboards/satan/keymaps/stanleylai/keymap.c
@@ -26,25 +26,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 26
27// Function layer 27// Function layer
28[_FL] = KEYMAP_HHKB( 28[_FL] = KEYMAP_HHKB(
29 KC_GRV, 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_DEL, KC_NO, \ 29 KC_GRV, 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_DEL, KC_NO, \
30 KC_NO, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, \ 30 KC_NO, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, \
31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 31 KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
32 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LT(_RGBL, KC_PGUP), KC_TRNS, \ 32 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LT(_RGBL, KC_PGUP), KC_TRNS, \
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_HOME, KC_PGDN, KC_END), 33 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
34 34
35// RGB Layer 35// RGB Layer
36[_RGBL] = KEYMAP_HHKB( 36[_RGBL] = KEYMAP_HHKB(
37 #ifdef RGBLIGHT_ENABLE 37 #ifdef RGBLIGHT_ENABLE
38 RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 38 RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
39 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 39 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
40 KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 40 KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
41 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_TRNS, KC_TRNS,\ 41 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_TRNS, KC_TRNS, \
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
43 #else 43 #else
44 RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 44 RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
45 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 45 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
46 KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ 46 KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
47 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS,\ 47 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, \
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
49 #endif 49 #endif
50}; 50};
diff --git a/keyboards/satan/satan.h b/keyboards/satan/satan.h
index cbc8c91bd..f3cbd5305 100644
--- a/keyboards/satan/satan.h
+++ b/keyboards/satan/satan.h
@@ -3,15 +3,18 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6/* Satan GH60 matrix layout 6// readability
7#define XXX KC_NO
8
9/* Satan GH60 matrix layout (3c is right of 3d, 3d is shift)
7 * ,-----------------------------------------------------------. 10 * ,-----------------------------------------------------------.
8 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d | 11 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49|
9 * |-----------------------------------------------------------| 12 * |-----------------------------------------------------------|
10 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | 13 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
11 * |-----------------------------------------------------------| 14 * |-----------------------------------------------------------|
12 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d | 15 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d |
13 * |-----------------------------------------------------------| 16 * |-----------------------------------------------------------|
14 * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 17 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c |
15 * |-----------------------------------------------------------| 18 * |-----------------------------------------------------------|
16 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | 19 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
17 * `-----------------------------------------------------------' 20 * `-----------------------------------------------------------'
@@ -19,18 +22,45 @@
19// The first section contains all of the arguments 22// The first section contains all of the arguments
20// The second converts the arguments into a two-dimensional array 23// The second converts the arguments into a two-dimensional array
21#define KEYMAP( \ 24#define KEYMAP( \
25 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
26 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
27 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
28 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
29 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
30) \
31{ \
32 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
33 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
34 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
35 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
36 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
37}
38/* Satan GH60 ANSI layout
39 * ,-----------------------------------------------------------.
40 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d |
41 * |-----------------------------------------------------------|
42 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
43 * |-----------------------------------------------------------|
44 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d |
45 * |-----------------------------------------------------------|
46 * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d |
47 * |-----------------------------------------------------------|
48 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
49 * `-----------------------------------------------------------'
50 */
51#define KEYMAP_ANSI( \
22 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ 52 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
23 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 53 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
24 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 54 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
25 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ 55 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
26 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 56 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
27) \ 57) \
28{ \ 58{ \
29 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 59 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
30 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 60 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
31 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d}, \ 61 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
32 {k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d}, \ 62 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
33 {k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d} \ 63 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
34} 64}
35 65
36/* Satan HHKB matrix layout 66/* Satan HHKB matrix layout
@@ -51,15 +81,15 @@
51 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \ 81 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \
52 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 82 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
53 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 83 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
54 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ 84 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
55 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 85 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
56) \ 86) \
57{ \ 87{ \
58 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 88 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
59 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 89 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
60 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d}, \ 90 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
61 {k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ 91 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
62 {k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, k49, k4a, k4b, k4c, k4d} \ 92 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
63} 93}
64 94
65/* ISO w/ split right shift key matrix layout 95/* ISO w/ split right shift key matrix layout
@@ -70,24 +100,26 @@
70 * |-----------------------------------------------------------| 100 * |-----------------------------------------------------------|
71 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d | 101 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d |
72 * |-----------------------------------------------------------| 102 * |-----------------------------------------------------------|
73 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3c| 3d | 103 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c|
74 * |-----------------------------------------------------------| 104 * |-----------------------------------------------------------|
75 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | 105 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
76 * `-----------------------------------------------------------' 106 * `-----------------------------------------------------------'
107
108 swap 3c and 3d. 3c is right of 3d in reality
77 */ 109 */
78#define KEYMAP_ISO_SPLITRSHIFT( \ 110#define KEYMAP_ISO_SPLITRSHIFT( \
79 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ 111 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
80 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 112 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
81 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ 113 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
82 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ 114 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
83 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 115 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
84) \ 116) \
85{ \ 117{ \
86 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 118 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
87 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 119 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
88 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ 120 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
89 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ 121 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
90 {k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d} \ 122 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
91} 123}
92 124
93void matrix_init_user(void); 125void matrix_init_user(void);