aboutsummaryrefslogtreecommitdiff
path: root/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
diff options
context:
space:
mode:
authorErez Zukerman <bulk@ezuk.org>2016-05-04 22:31:00 -0400
committerErez Zukerman <bulk@ezuk.org>2016-05-04 22:31:00 -0400
commitdbb1c2f28142a7cd557945cb6bc3cf872f8b137d (patch)
treecf7c1de746261dc95e4bd7a988d9698acfac0d9e /keyboard/ergodox_ez/keymaps/ordinary/keymap.c
parent31a697bc054c97c5ef168c5fd4633bb247cc5d7b (diff)
parent4b74eca2a5cee027965745ccf5f18c2b9f18115b (diff)
downloadqmk_firmware-dbb1c2f28142a7cd557945cb6bc3cf872f8b137d.tar.gz
qmk_firmware-dbb1c2f28142a7cd557945cb6bc3cf872f8b137d.zip
Merge pull request #305 from nrrkeene/master
Custom handling for shift keys, improved media layer
Diffstat (limited to 'keyboard/ergodox_ez/keymaps/ordinary/keymap.c')
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/keymap.c641
1 files changed, 294 insertions, 347 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
index efd67addd..871bda672 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
@@ -4,33 +4,42 @@
4#include "action_layer.h" 4#include "action_layer.h"
5#include "action_util.h" 5#include "action_util.h"
6 6
7#define BASE 0 // default layer 7#define BASE 0 // default layer
8#define LOCK 1 // shift-lock layer 8#define SYMB 1 // symbols layer
9#define SYMB_SH 2 // symbols shift layer 9#define MDIA 2 // media layer
10#define SYMB_LK 3 // symbols lock layer 10#define LOCK 3 // shift-lock layer
11#define SYMB_UN 4 // symbols unlock layer 11
12#define MDIA_SH 5 // media shift layer 12#define LSymb 0 // left symbol-shift key
13#define MDIA_LK 6 // media lock layer 13#define LMdia 1 // left media-shift key
14#define MDIA_UN 7 // media unlock layer 14#define LLock 2 // left shift-lock key
15#define UNLOCK 8 // clear to base layer 15#define RSymb 3 // right symbol-shift key
16#define RMdia 4 // right media-shift key
17#define RLock 5 // right shift-lock key
18
19#define MUL 6 // mouse up left
20#define MUR 7 // mouse up right
21#define MDL 8 // mouse down left
22#define MDR 9 // mouse down right
16 23
17/* 24/*
18 * The Ordinary Layout for the Ergodox EZ keyboard, v3.1 25 * The Ordinary Layout for the Ergodox EZ keyboard, v3.14
19 * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com 26 *
27 * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
28 *
20 * Details: readme.md 29 * Details: readme.md
21 * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary 30 * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
22 */ 31 */
23 32
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25 34
26/* Keymap 0: Base Layer 35/******* Base Layer ********************************************************************************************************
27 * 36 *
28 * ,-----------------------------------------------------. ,-----------------------------------------------------. 37 * ,-----------------------------------------------------. ,-----------------------------------------------------.
29 * | LOCK `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK | 38 * | Lock `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Lock |
30 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 39 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
31 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media | 40 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media |
32 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 41 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
33 * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol | 42 * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol |
34 * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------| 43 * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------|
35 * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | 44 * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift |
36 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' 45 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
@@ -46,128 +55,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 */ 55 */
47[BASE] = KEYMAP( 56[BASE] = KEYMAP(
48// left hand 57// left hand
49 LT(LOCK, KC_GRV) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC 58 F(LLock) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
50,LT(MDIA_SH, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC 59,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
51,MO(SYMB_SH) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G 60,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
52,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) 61,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
53,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI 62,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
54 63 ,KC_HOME,KC_END
55 ,KC_HOME,KC_END 64 ,KC_PGUP
56 ,KC_PGUP 65 ,KC_BSPC,KC_DEL ,KC_PGDN
57 ,KC_BSPC,KC_DEL ,KC_PGDN 66 // right hand
58 67 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RLock)
59 // right hand 68 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia)
60 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL) 69 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb)
61 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_SH, KC_BSLS) 70 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT
62 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_SH, KC_QUOT) 71 ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL
63 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT 72 ,KC_LEFT ,KC_RGHT
64 ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL 73 ,KC_UP
65 74 ,KC_DOWN ,KC_ENT ,KC_SPC
66 ,KC_LEFT ,KC_RGHT
67 ,KC_UP
68 ,KC_DOWN ,KC_ENT ,KC_SPC
69 ), 75 ),
70 76
71/* Keymap 1: Layer Lock Keys 77/******* Symbols Layer *****************************************************************************************************
72 *
73 * ,-------------------------------------------------------. ,-------------------------------------------------------.
74 * | | Esc | | | | | | | | | | | | Bspc | |
75 * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------|
76 * | Media LOCK | | | | | | | | | | | | | | Media LOCK |
77 * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
78 * | Symbol LOCK | | | | | |------| |------| | | | | | Symbol LOCK |
79 * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------|
80 * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
81 * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------'
82 * | | | | | | | | | | | |
83 * `------------------------------------' `------------------------------------'
84 * ,-------------. ,-------------.
85 * | | | | | |
86 * ,------|------|------| |------+------+------.
87 * | | | | | | | |
88 * | | |------| |------| | |
89 * | | | | | | | |
90 * `--------------------' `--------------------'
91 */
92[LOCK] = KEYMAP(
93// left hand
94 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
95,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
96,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
97,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
98,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
99
100 ,KC_TRNS ,KC_TRNS
101 ,KC_TRNS
102 ,KC_TRNS,KC_TRNS ,KC_TRNS
103
104 // right hand
105 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
106 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
107 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
108 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
109 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
110
111 ,KC_TRNS ,KC_TRNS
112 ,KC_TRNS
113 ,KC_TRNS ,KC_TRNS ,KC_TRNS
114 ),
115
116/* Keymap 2: Symbol Shift Layer
117 * 78 *
118 * ,-----------------------------------------------------. ,-----------------------------------------------------. 79 * ,-----------------------------------------------------. ,-----------------------------------------------------.
119 * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | 80 * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | |
120 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 81 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
121 * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | 82 * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | |
122 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 83 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
123 * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | 84 * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
124 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| 85 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
125 * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | 86 * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | |
126 * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' 87 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
127 * | | | | | | | 0 | . | = | + | Entr | 88 * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
128 * `----------------------------------' `----------------------------------' 89 * `-----------------------------------' `-------------------------------------'
129 * ,-------------. ,-------------.
130 * | Left | Right| | Home | End |
131 * ,------|------|------| |------+------+------.
132 * | | | Up | | PgUp | | |
133 * |Space |Enter |------| |------|BackSp| Del |
134 * | | | Down | | PgDn | | |
135 * `--------------------' `--------------------'
136 */
137[SYMB_SH] = KEYMAP(
138// left hand
139 KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
140,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
141,MO(SYMB_SH) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
142,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
143,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
144 ,KC_LEFT ,KC_RGHT
145 ,KC_UP
146 ,KC_SPC ,KC_ENT ,KC_DOWN
147 // right hand
148 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2
149 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH)
150 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_SH)
151 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
152 ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
153 ,KC_HOME ,KC_END
154 ,KC_PGUP
155 ,KC_PGDN ,KC_BSPC ,KC_DEL
156),
157
158/* Keymap 3: Symbol Lock Layer
159 *
160 * ,-----------------------------------------------------. ,-----------------------------------------------------.
161 * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK |
162 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
163 * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
164 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
165 * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol |
166 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
167 * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift |
168 * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
169 * | | | | | | | 0 | . | = | + | Entr |
170 * `----------------------------------' `----------------------------------'
171 * ,-------------. ,-------------. 90 * ,-------------. ,-------------.
172 * | Left | Right| | Home | End | 91 * | Left | Right| | Home | End |
173 * ,------|------|------| |------+------+------. 92 * ,------|------|------| |------+------+------.
@@ -176,159 +95,75 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
176 * | | | Down | | PgDn | | | 95 * | | | Down | | PgDn | | |
177 * `--------------------' `--------------------' 96 * `--------------------' `--------------------'
178 */ 97 */
179[SYMB_LK] = KEYMAP( 98[SYMB] = KEYMAP(
180// left hand
181 MO(SYMB_UN) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
182,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
183,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
184,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
185,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
186 ,KC_LEFT ,KC_RGHT
187 ,KC_UP
188 ,KC_SPC ,KC_ENT ,KC_DOWN
189 // right hand
190 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_UN)
191 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH)
192 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK)
193 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
194 ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
195 ,KC_HOME ,KC_END
196 ,KC_PGUP
197 ,KC_PGDN ,KC_BSPC ,KC_DEL
198 ),
199
200/* Keymap 4: Symbol Unlock Layer
201 *
202 * ,------------------------------------------------------. ,------------------------------------------------------.
203 * | | Esc | | | | | | | | | | | | Bspc | |
204 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
205 * | Media LOCK | | | | | | | | | | | | | | Media LOCK |
206 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
207 * | UNLOCK | | | | | |------| |------| | | | | | UNLOCK |
208 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
209 * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
210 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
211 * | | | | | | | | | | | |
212 * `----------------------------------' `----------------------------------'
213 * ,-------------. ,-------------.
214 * | | | | | |
215 * ,------|------|------| |------+------+------.
216 * | | | | | | | |
217 * | | |------| |------| | |
218 * | | | | | | | |
219 * `--------------------' `--------------------'
220 */
221[SYMB_UN] = KEYMAP(
222// left hand 99// left hand
223 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 100 KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC
224,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 101,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
225,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 102,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
226,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 103,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
227,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 104,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI
228 ,KC_TRNS ,KC_TRNS 105 ,KC_LEFT ,KC_RGHT
229 ,KC_TRNS 106 ,KC_UP
230 ,KC_TRNS,KC_TRNS ,KC_TRNS 107 ,KC_SPC ,KC_ENT ,KC_DOWN
231 // right hand 108 // right hand
232 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS 109 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
233 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK) 110 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS
234 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 111 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS
235 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS 112 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS
236 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 113 ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
237 ,KC_TRNS ,KC_TRNS 114 ,KC_HOME ,KC_END
238 ,KC_TRNS 115 ,KC_PGUP
239 ,KC_TRNS ,KC_TRNS ,KC_TRNS 116 ,KC_PGDN ,KC_BSPC ,KC_DEL
240), 117),
241 118
242/* Keymap 5: Media Shift Layer 119/******* Media Layer *******************************************************************************************************
243 * 120 *
244 * ,-----------------------------------------------------. ,-----------------------------------------------------. 121 * ,---------------------------------------------------------------. ,---------------------------------------------------------------.
245 * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | 122 * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | |
246 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 123 * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------|
247 * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | 124 * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | |
248 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 125 * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
249 * | Symbol | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| Symbol | 126 * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | |
250 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 127 * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
251 * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | 128 * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | |
252 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' 129 * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
253 * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | 130 * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl|
254 * `----------------------------------' `----------------------------------' 131 * `---------------------------------------------' `---------------------------------------------'
255 * ,-------------. ,-------------. 132 * ,-------------. ,-------------.
256 * | Stop |Refrsh| | Prev | Next | 133 * | Stop |Refrsh| | Prev | Next |
257 * ,------|------|------| |------+------+------. 134 * ,------|------|------| |------+------+------.
258 * |Brwser|Brwser|Search| |VolUp | | | 135 * |Brwser|Brwser|Search| |VolUp | | |
259 * |Back | Fwd |------| |------| Stop | Play-| 136 * |Back | Fwd |------| |------| Stop | Play-|
260 * | | | Home | |VolDn | | Pause| 137 * | | | Home | |VolDn | | Pause|
261 * `--------------------' `--------------------' 138 * `--------------------' `--------------------'
262 */ 139 */
263[MDIA_SH] = KEYMAP( 140[MDIA] = KEYMAP(
264// left hand 141// left hand
265 KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO 142 KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC
266,MO(MDIA_SH) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U 143,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U
267,MO(SYMB_SH) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD 144,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
268,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D 145,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D
269,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI 146,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2
270 ,KC_WSTP ,KC_WREF 147 ,KC_WSTP ,KC_WREF
271 ,KC_WSCH 148 ,KC_WSCH
272 ,KC_WBAK ,KC_NO ,KC_WHOM 149 ,KC_WBAK ,KC_NO ,KC_WHOM
273 // right hand 150 // right hand
274 ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3 151 ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS
275 ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH) 152 ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS
276 ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH) 153 ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS
277 ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT 154 ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS
278 ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL 155 ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL
279 ,KC_MPRV ,KC_MNXT 156 ,KC_MPRV ,KC_MNXT
280 ,KC_VOLU 157 ,KC_VOLU
281 ,KC_VOLD ,KC_MSTP ,KC_MPLY 158 ,KC_VOLD ,KC_MSTP ,KC_MPLY
282), 159),
283 160
284/* Keymap 6: Media Lock Layer 161/******* Lock Layer ********************************************************************************************************
285 * 162 *
286 * ,-----------------------------------------------------. ,-----------------------------------------------------. 163 * ,-----------------------------------------------------. ,-----------------------------------------------------.
287 * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | 164 * | | Esc | | | | | | | | | | | | Bspc | |
288 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| 165 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
289 * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | 166 * | | | | | | | | | | | | | | | |
290 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
291 * | | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| |
292 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
293 * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift |
294 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
295 * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui |
296 * `----------------------------------' `----------------------------------'
297 * ,-------------. ,-------------.
298 * | Stop |Refrsh| | Prev | Next |
299 * ,------|------|------| |------+------+------.
300 * |Brwser|Brwser|Search| |VolUp | | |
301 * |Back | Fwd |------| |------| Stop | Play-|
302 * | | | Home | |VolDn | | Pause|
303 * `--------------------' `--------------------'
304 */
305[MDIA_LK] = KEYMAP(
306// left hand
307 MO(MDIA_UN),KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO
308,MO(UNLOCK) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
309,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
310,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D
311,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
312 ,KC_WSTP ,KC_WREF
313 ,KC_WSCH
314 ,KC_WBAK ,KC_NO ,KC_WHOM
315 // right hand
316 ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_UN)
317 ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK)
318 ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
319 ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT
320 ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
321 ,KC_MPRV ,KC_MNXT
322 ,KC_VOLU
323 ,KC_VOLD ,KC_MSTP ,KC_MPLY
324 ),
325
326/* Keymap 7: Media Unlock Layer
327 *
328 * ,-----------------------------------------------------. ,-----------------------------------------------------.
329 * | | Esc | | | | | | | | | | | | Bspc | |
330 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
331 * | UNLOCK | | | | | | | | | | | | | | UNLOCK |
332 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 167 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
333 * | | | | | | |------| |------| | | | | | | 168 * | | | | | | |------| |------| | | | | | |
334 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 169 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
@@ -344,94 +179,215 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
344 * | | | | | | | | 179 * | | | | | | | |
345 * `--------------------' `--------------------' 180 * `--------------------' `--------------------'
346 */ 181 */
347[MDIA_UN] = KEYMAP( 182[LOCK] = KEYMAP(
348// left hand 183// left hand
349 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 184 KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
350,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 185,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
351,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 186,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
352,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 187,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
353,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 188,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
354 189
355 ,KC_TRNS ,KC_TRNS 190 ,KC_TRNS ,KC_TRNS
356 ,KC_TRNS 191 ,KC_TRNS
357 ,KC_TRNS ,KC_TRNS ,KC_TRNS 192 ,KC_TRNS,KC_TRNS ,KC_TRNS
358 193 // right hand
359 // right hand 194 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
360 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS 195 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
361 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 196 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
362 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS 197 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
363 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS 198 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
364 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
365
366 ,KC_TRNS ,KC_TRNS
367 ,KC_TRNS
368 ,KC_TRNS ,KC_TRNS ,KC_TRNS
369 ),
370
371/* Keymap 8: Unlock Layer
372 *
373 * ,-----------------------------------------------------. ,-----------------------------------------------------.
374 * | UNLOCK | | | | | | | | | | | | | | UNLOCK |
375 * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
376 * | | | | | | | | | | | | | | | |
377 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
378 * | | | | | | |------| |------| | | | | | |
379 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
380 * | | | | | | | | | | | | | | | |
381 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
382 * | | | | | | | | | | | |
383 * `----------------------------------' `----------------------------------'
384 * ,-------------. ,-------------.
385 * | | | | | |
386 * ,------|------|------| |------+------+------.
387 * | | | | | | | |
388 * | | |------| |------| | |
389 * | | | | | | | |
390 * `--------------------' `--------------------'
391 */
392[UNLOCK] = KEYMAP(
393// left hand
394 KC_FN1 ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
395,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
396,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
397,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
398,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
399 199
400 ,KC_TRNS ,KC_TRNS 200 ,KC_TRNS ,KC_TRNS
401 ,KC_TRNS 201 ,KC_TRNS
402 ,KC_TRNS ,KC_TRNS ,KC_TRNS 202 ,KC_TRNS ,KC_TRNS ,KC_TRNS
403
404 // right hand
405 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
406 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
407 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
408 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
409 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
410
411 ,KC_TRNS ,KC_TRNS
412 ,KC_TRNS
413 ,KC_TRNS ,KC_TRNS ,KC_TRNS
414 ) 203 )
415}; 204};
416 205
417const uint16_t PROGMEM fn_actions[] = { 206const uint16_t PROGMEM fn_actions[] = {
418 [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer 207 // the six faux shift keys are implemented as macro taps
419 ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press 208 [LSymb] = ACTION_MACRO_TAP(LSymb)
420 ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press 209 ,[LMdia] = ACTION_MACRO_TAP(LMdia)
210 ,[LLock] = ACTION_MACRO_TAP(LLock)
211 ,[RSymb] = ACTION_MACRO_TAP(RSymb)
212 ,[RMdia] = ACTION_MACRO_TAP(RMdia)
213 ,[RLock] = ACTION_MACRO_TAP(RLock)
421}; 214};
422 215
216uint16_t symb_shift = 0; // there are two shift keys for each layer, and two lock
217uint16_t mdia_shift = 0; // keys; we increment a counter for each key pressed and
218uint16_t shift_lock = 0; // decrement when released.
219
220bool symb_lock = false; // when shift-lock is used in conjunction with a shift
221bool mdia_lock = false; // key the lock flag is toggled
222
423const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 223const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
424{ 224{
425 // MACRODOWN only works in this function 225 switch(id) {
426 switch(id) { 226 // shift and lock between layers
427 case 0: 227
228 case LSymb:
229 if (record->event.pressed) {
230 symb_shift++;
231 if(shift_lock) symb_lock = !symb_lock;
232 layer_on(SYMB);
233 } else {
234 symb_shift--;
235 if((!symb_shift) && (!symb_lock)) layer_off(SYMB);
236 }
237 break;
238
239 case LMdia:
428 if (record->event.pressed) { 240 if (record->event.pressed) {
429 register_code(KC_RSFT); 241 if (record->tap.count && !shift_lock) {
242 register_code(KC_TAB);
243 } else {
244 mdia_shift++;
245 if(shift_lock) mdia_lock = !mdia_lock;
246 layer_on(MDIA);
247 }
430 } else { 248 } else {
431 unregister_code(KC_RSFT); 249 if(record->tap.count && !shift_lock) {
250 unregister_code(KC_TAB);
251 } else {
252 mdia_shift--;
253 if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
254 }
255 }
256 break;
257
258 case LLock:
259 if (record->event.pressed) {
260 shift_lock++;
261 if(symb_shift) symb_lock = !symb_lock;
262 if(mdia_shift) mdia_lock = !mdia_lock;
263 if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) {
264 register_code(KC_CAPS);
265 unregister_code(KC_CAPS);
266 }
267 layer_on(LOCK);
268 } else {
269 if(record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) {
270 register_code(KC_GRV);
271 unregister_code(KC_GRV);
272 }
273 shift_lock--;
274 if(!shift_lock) layer_off(LOCK);
432 } 275 }
433 break; 276 break;
434 } 277
278 case RSymb:
279 if (record->event.pressed) {
280 if (record->tap.count && !shift_lock) {
281 register_code(KC_QUOT);
282 } else {
283 symb_shift++;
284 if(shift_lock) symb_lock = !symb_lock;
285 layer_on(SYMB);
286 }
287 } else {
288 if(record->tap.count && !shift_lock) {
289 unregister_code(KC_QUOT);
290 } else {
291 symb_shift--;
292 if((!symb_shift) && (!symb_lock)) layer_off(SYMB);
293 }
294 }
295 break;
296
297 case RMdia:
298 if (record->event.pressed) {
299 if (record->tap.count && !shift_lock) {
300 register_code(KC_BSLS);
301 } else {
302 mdia_shift++;
303 if(shift_lock) mdia_lock = !mdia_lock;
304 layer_on(MDIA);
305 }
306 } else {
307 if(record->tap.count && !shift_lock) {
308 unregister_code(KC_BSLS);
309 } else {
310 mdia_shift--;
311 if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
312 }
313 }
314 break;
315
316 case RLock:
317 if (record->event.pressed) {
318 shift_lock++;
319 if(symb_shift) symb_lock = !symb_lock;
320 if(mdia_shift) mdia_lock = !mdia_lock;
321 if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) {
322 register_code(KC_CAPS);
323 unregister_code(KC_CAPS);
324 }
325 layer_on(LOCK);
326 } else {
327 if (record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) {
328 register_code(KC_EQL);
329 unregister_code(KC_EQL);
330 }
331 shift_lock--;
332 if(!shift_lock) layer_off(LOCK);
333 }
334 break;
335
336 // mouse diagonals
337
338 case MUL: // mouse up left
339 if (record->event.pressed) {
340 mousekey_on(KC_MS_UP);
341 mousekey_on(KC_MS_LEFT);
342 mousekey_send();
343 } else {
344 mousekey_off(KC_MS_UP);
345 mousekey_off(KC_MS_LEFT);
346 mousekey_send();
347 }
348 break;
349
350 case MUR: // mouse up right
351 if (record->event.pressed) {
352 mousekey_on(KC_MS_UP);
353 mousekey_on(KC_MS_RIGHT);
354 mousekey_send();
355 } else {
356 mousekey_off(KC_MS_UP);
357 mousekey_off(KC_MS_RIGHT);
358 mousekey_send();
359 }
360 break;
361
362 case MDL: // mouse down left
363 if (record->event.pressed) {
364 mousekey_on(KC_MS_DOWN);
365 mousekey_on(KC_MS_LEFT);
366 mousekey_send();
367 } else {
368 mousekey_off(KC_MS_DOWN);
369 mousekey_off(KC_MS_LEFT);
370 mousekey_send();
371 }
372 break;
373
374 case MDR: // mouse down right
375 if (record->event.pressed) {
376 mousekey_on(KC_MS_DOWN);
377 mousekey_on(KC_MS_RIGHT);
378 mousekey_send();
379 } else {
380 mousekey_off(KC_MS_DOWN);
381 mousekey_off(KC_MS_RIGHT);
382 mousekey_send();
383 }
384 break;
385
386 default:
387 // none
388 break;
389 }
390
435 return MACRO_NONE; 391 return MACRO_NONE;
436}; 392};
437 393
@@ -442,8 +398,6 @@ void matrix_init_user(void) {
442 398
443// Runs constantly in the background, in a loop. 399// Runs constantly in the background, in a loop.
444void matrix_scan_user(void) { 400void matrix_scan_user(void) {
445 uint8_t layer = biton32(layer_state);
446
447 // shift or caps lock turns on red light 401 // shift or caps lock turns on red light
448 if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) { 402 if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
449 ergodox_right_led_1_on(); 403 ergodox_right_led_1_on();
@@ -451,22 +405,15 @@ void matrix_scan_user(void) {
451 ergodox_right_led_1_off(); 405 ergodox_right_led_1_off();
452 } 406 }
453 407
454 // do not change lights while locking and unlocking 408 // Symbol layer turns on green light
455 if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) { 409 if(layer_state & (1UL<<SYMB)) {
456 return;
457 }
458
459 //ergodox_board_led_off();
460
461 // symbol turns on green light
462 if(layer == SYMB_SH || layer == SYMB_LK) {
463 ergodox_right_led_2_on(); 410 ergodox_right_led_2_on();
464 } else { 411 } else {
465 ergodox_right_led_2_off(); 412 ergodox_right_led_2_off();
466 } 413 }
467 414
468 // media turns on blue light 415 // Media layer turns on blue light
469 if(layer == MDIA_SH || layer == MDIA_LK) { 416 if(layer_state & (1UL<<MDIA)) {
470 ergodox_right_led_3_on(); 417 ergodox_right_led_3_on();
471 } else { 418 } else {
472 ergodox_right_led_3_off(); 419 ergodox_right_led_3_off();