aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/config.h72
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/keymap.c648
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/readme.md224
-rw-r--r--keyboards/vision_division/config.h2
-rw-r--r--keyboards/vision_division/keymaps/default/Makefile4
-rw-r--r--keyboards/vision_division/keymaps/default/keymap.c222
-rw-r--r--quantum/matrix.c37
-rw-r--r--readme.md1
-rw-r--r--tmk_core/common/command.c6
9 files changed, 638 insertions, 578 deletions
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/config.h b/keyboards/ergodox/keymaps/win10_writers-block/config.h
index 568a711a8..43259db08 100644
--- a/keyboards/ergodox/keymaps/win10_writers-block/config.h
+++ b/keyboards/ergodox/keymaps/win10_writers-block/config.h
@@ -1,36 +1,36 @@
1#ifndef KEYBOARDS_ERGODOX_CONFIG_H_ 1#ifndef KEYBOARDS_ERGODOX_CONFIG_H_
2#define KEYBOARDS_ERGODOX_CONFIG_H_ 2#define KEYBOARDS_ERGODOX_CONFIG_H_
3 3
4#define MOUSEKEY_DELAY 100 4#define MOUSEKEY_DELAY 100
5#define MOUSEKEY_INTERVAL 20 5#define MOUSEKEY_INTERVAL 20
6#define MOUSEKEY_MAX_SPEED 3 6#define MOUSEKEY_MAX_SPEED 3
7#define MOUSEKEY_TIME_TO_MAX 10 7#define MOUSEKEY_TIME_TO_MAX 10
8 8
9#define TAPPING_TOGGLE 1 9#define TAPPING_TOGGLE 1
10 10
11/* define if matrix has ghost */ 11/* define if matrix has ghost */
12//#define MATRIX_HAS_GHOST 12//#define MATRIX_HAS_GHOST
13 13
14#define TAPPING_TERM 300 14#define TAPPING_TERM 300
15#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.) 15#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
16 16
17/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 17/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
18#define LOCKING_SUPPORT_ENABLE 18#define LOCKING_SUPPORT_ENABLE
19/* Locking resynchronize hack */ 19/* Locking resynchronize hack */
20#define LOCKING_RESYNC_ENABLE 20#define LOCKING_RESYNC_ENABLE
21 21
22/* key combination for command */ 22/* key combination for command */
23#define IS_COMMAND() ( \ 23#define IS_COMMAND() ( \
24 keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ 24 keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
25 keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \ 25 keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
26) 26)
27 27
28#ifdef SUBPROJECT_ez 28#ifdef SUBPROJECT_ez
29 #include "ez/config.h" 29 #include "ez/config.h"
30#endif 30#endif
31#ifdef SUBPROJECT_infinity 31#ifdef SUBPROJECT_infinity
32 #include "infinity/config.h" 32 #include "infinity/config.h"
33#endif 33#endif
34 34
35 35
36#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */ 36#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/keymap.c b/keyboards/ergodox/keymaps/win10_writers-block/keymap.c
index ea640ee96..3106b3374 100644
--- a/keyboards/ergodox/keymaps/win10_writers-block/keymap.c
+++ b/keyboards/ergodox/keymaps/win10_writers-block/keymap.c
@@ -1,324 +1,324 @@
1#include "ergodox.h" 1#include "ergodox.h"
2#include "debug.h" 2#include "debug.h"
3#include "action_layer.h" 3#include "action_layer.h"
4#include "version.h" 4#include "version.h"
5#include "wait.h" 5#include "wait.h"
6 6
7#define BASE 0 // default layer - helpful for writing in Office-style word processors. 7#define BASE 0 // default layer - helpful for writing in Office-style word processors.
8#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key 8#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key
9#define RIMW 2 // rimworld layer - made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game! 9#define RIMW 2 // rimworld layer - made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game!
10#define MDIA 3 // media layer - mouse and music - close to Ergodox EZ default media layer 10#define MDIA 3 // media layer - mouse and music - close to Ergodox EZ default media layer
11 11
12#define CO_PA M(0) // hold copy, tap paste 12#define CO_PA M(0) // hold copy, tap paste
13 13
14#define W_CUT LCTL(KC_X) // C-x Cut 14#define W_CUT LCTL(KC_X) // C-x Cut
15#define W_COPY LCTL(KC_C) // C-c Copy 15#define W_COPY LCTL(KC_C) // C-c Copy
16#define W_PASTE LCTL(KC_V) // C-v Paste 16#define W_PASTE LCTL(KC_V) // C-v Paste
17#define W_UNDO LCTL(KC_Z) // C-z Undo 17#define W_UNDO LCTL(KC_Z) // C-z Undo
18#define W_FIND LCTL(KC_F) // C-v Find 18#define W_FIND LCTL(KC_F) // C-v Find
19#define W_CAD LCTL(LALT(KC_DEL)) // one-tap ctrl-alt-del 19#define W_CAD LCTL(LALT(KC_DEL)) // one-tap ctrl-alt-del
20 20
21 21
22 22
23//Tap Dance Declarations 23//Tap Dance Declarations
24enum { 24enum {
25 CAKEWARP, 25 CAKEWARP,
26 CTRLALTMDIA, 26 CTRLALTMDIA,
27}; 27};
28 28
29void cake_count (qk_tap_dance_state_t *state, void *user_data) { 29void cake_count (qk_tap_dance_state_t *state, void *user_data) {
30 if (state->count == 2) { 30 if (state->count == 2) {
31 layer_on (SYMB); //define double tap here 31 layer_on (SYMB); //define double tap here
32 layer_off (MDIA); 32 layer_off (MDIA);
33 } 33 }
34 else { 34 else {
35 layer_off (SYMB); //define single tap or hold here 35 layer_off (SYMB); //define single tap or hold here
36 layer_off (MDIA); 36 layer_off (MDIA);
37 } 37 }
38 if (state->count == 3) { 38 if (state->count == 3) {
39 layer_on (RIMW); //define triple tap here 39 layer_on (RIMW); //define triple tap here
40 layer_off (MDIA); 40 layer_off (MDIA);
41 } 41 }
42 else { 42 else {
43 layer_off (RIMW); //define single tap or hold here 43 layer_off (RIMW); //define single tap or hold here
44 layer_off (MDIA); 44 layer_off (MDIA);
45 reset_tap_dance (state); 45 reset_tap_dance (state);
46 } 46 }
47} 47}
48 48
49void dance_cad_mdia_fin (qk_tap_dance_state_t *state, void *user_data) { 49void dance_cad_mdia_fin (qk_tap_dance_state_t *state, void *user_data) {
50 if (state->count == 1) { 50 if (state->count == 1) {
51 register_code (KC_LCTL); 51 register_code (KC_LCTL);
52 register_code (KC_LALT); 52 register_code (KC_LALT);
53 register_code (KC_DEL); 53 register_code (KC_DEL);
54 } else { 54 } else {
55 layer_on (MDIA); 55 layer_on (MDIA);
56 } 56 }
57} 57}
58 58
59void dance_cad_mdia_reset (qk_tap_dance_state_t *state, void *user_data) { 59void dance_cad_mdia_reset (qk_tap_dance_state_t *state, void *user_data) {
60 if (state->count == 1) { 60 if (state->count == 1) {
61 unregister_code (KC_DEL); 61 unregister_code (KC_DEL);
62 unregister_code (KC_LALT); 62 unregister_code (KC_LALT);
63 unregister_code (KC_LCTL); 63 unregister_code (KC_LCTL);
64 } else { 64 } else {
65 ; 65 ;
66 } 66 }
67} 67}
68 68
69//Tap Dance Definitions 69//Tap Dance Definitions
70qk_tap_dance_action_t tap_dance_actions[] = { 70qk_tap_dance_action_t tap_dance_actions[] = {
71 // tap for Layer 0, tap twice to switch to symbol layer, and tap three times to switch to rimworld layer. 71 // tap for Layer 0, tap twice to switch to symbol layer, and tap three times to switch to rimworld layer.
72 [CAKEWARP] = ACTION_TAP_DANCE_FN(cake_count) 72 [CAKEWARP] = ACTION_TAP_DANCE_FN(cake_count)
73 // tap for ctrl-alt-del, tap twice for media layer 73 // tap for ctrl-alt-del, tap twice for media layer
74 ,[CTRLALTMDIA] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cad_mdia_fin, dance_cad_mdia_reset) 74 ,[CTRLALTMDIA] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cad_mdia_fin, dance_cad_mdia_reset)
75 // Other declarations would go here, separated by commas, if you have them 75 // Other declarations would go here, separated by commas, if you have them
76}; 76};
77 77
78//In Layer declaration, add tap dance item in place of a key code 78//In Layer declaration, add tap dance item in place of a key code
79 79
80const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 80const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81/* Keymap 0: Basic layer - TD(one_tap, two_taps, three_taps...) 81/* Keymap 0: Basic layer - TD(one_tap, two_taps, three_taps...)
82 * 82 *
83 * ,--------------------------------------------------. ,--------------------------------------------------. 83 * ,--------------------------------------------------. ,--------------------------------------------------.
84 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = | 84 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
85 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 85 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
86 * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ | 86 * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ |
87 * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------| 87 * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
88 * |Caps/Win| A | S | D | F | G |------| |------| H | J | K | L | ; | ' | 88 * |Caps/Win| A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
89 * |--------+------+------+------+------+------| }/] | TD(ctrl|------+------+------+------+------+--------| 89 * |--------+------+------+------+------+------| }/] | TD(ctrl|------+------+------+------+------+--------|
90 * |LShift/(|Z/Ctrl| X | C | V | B | | |altdel| N | M | , | . | / |RShift/)| 90 * |LShift/(|Z/Ctrl| X | C | V | B | | |altdel| N | M | , | . | / |RShift/)|
91 * `--------+------+------+------+------+-------------' |L3) |------+------+------+------+------+--------' 91 * `--------+------+------+------+------+-------------' |L3) |------+------+------+------+------+--------'
92 * | Undo | Cut |CopyPa| Meh | LGui | '------| | Enter| Left | Up | Down | Right | 92 * | Undo | Cut |CopyPa| Meh | LGui | '------| | Enter| Left | Up | Down | Right |
93 * `----------------------------------' `----------------------------------' 93 * `----------------------------------' `----------------------------------'
94 * ,-------------. ,-------------. 94 * ,-------------. ,-------------.
95 * | Esc | VolUp| | F4 | Mute | 95 * | Esc | VolUp| | F4 | Mute |
96 * ,------|------|------| |------+--------+------. 96 * ,------|------|------| |------+--------+------.
97 * | | | VolDn| | F5 | | | 97 * | | | VolDn| | F5 | | |
98 * |Backsp|Delete|------| |------| Tab / |Space | 98 * |Backsp|Delete|------| |------| Tab / |Space |
99 * |ace | | Find | | Alt | CTRL | | 99 * |ace | | Find | | Alt | CTRL | |
100 * `--------------------' `----------------------' 100 * `--------------------' `----------------------'
101 */ 101 */
102// If it accepts an argument (i.e, is a function), it doesn't need KC_. 102// If it accepts an argument (i.e, is a function), it doesn't need KC_.
103// Otherwise, it needs KC_* 103// Otherwise, it needs KC_*
104[BASE] = KEYMAP( // layer 0 : default 104[BASE] = KEYMAP( // layer 0 : default
105 // left hand 105 // left hand
106 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, 106 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
107LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, 107LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
108 GUI_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, 108 GUI_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G,
109 KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_RBRC, 109 KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_RBRC,
110 W_UNDO, W_CUT, CO_PA, MEH_T(KC_NO), KC_LGUI, 110 W_UNDO, W_CUT, CO_PA, MEH_T(KC_NO), KC_LGUI,
111 KC_ESC, KC_VOLU, 111 KC_ESC, KC_VOLU,
112 KC_VOLD, 112 KC_VOLD,
113 KC_BSPC, KC_DELETE, W_FIND, 113 KC_BSPC, KC_DELETE, W_FIND,
114 // right hand 114 // right hand
115 KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 115 KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
116 TD(CAKEWARP), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, 116 TD(CAKEWARP), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
117 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 117 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
118 TD(CTRLALTMDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, 118 TD(CTRLALTMDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
119 KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, 119 KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT,
120 KC_F4, KC_MUTE, 120 KC_F4, KC_MUTE,
121 KC_F5, 121 KC_F5,
122 KC_RALT, CTL_T(KC_TAB), KC_SPC 122 KC_RALT, CTL_T(KC_TAB), KC_SPC
123 ), 123 ),
124 124
125/* Keymap 1: Symbol Layer | No EEPROM Or Version keys 125/* Keymap 1: Symbol Layer | No EEPROM Or Version keys
126 * 126 *
127 * ,--------------------------------------------------. ,--------------------------------------------------. 127 * ,--------------------------------------------------. ,--------------------------------------------------.
128 * | | F1 | F2 | F3 | F4 | F5 | xx | | xx | F6 | F7 | F8 | F9 | F10 | F11 | 128 * | | F1 | F2 | F3 | F4 | F5 | xx | | xx | F6 | F7 | F8 | F9 | F10 | F11 |
129 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 129 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
130 * | | ! | @ | { | } | | | | |TD(L0 | Up | 7 | 8 | 9 | * | F12 | 130 * | | ! | @ | { | } | | | | |TD(L0 | Up | 7 | 8 | 9 | * | F12 |
131 * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------| 131 * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
132 * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | - | 132 * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | - |
133 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 133 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
134 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | 134 * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
135 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 135 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
136 * | | | | | | | | . | 0 | = | | 136 * | | | | | | | | . | 0 | = | |
137 * `----------------------------------' `----------------------------------' 137 * `----------------------------------' `----------------------------------'
138 * ,-------------. ,-------------. 138 * ,-------------. ,-------------.
139 * | | | | | | 139 * | | | | | |
140 * ,------|------|------| |------+------+------. 140 * ,------|------|------| |------+------+------.
141 * | | | | | | | | 141 * | | | | | | | |
142 * | | |------| |------| | | 142 * | | |------| |------| | |
143 * | | | | | | | | 143 * | | | | | | | |
144 * `--------------------' `--------------------' 144 * `--------------------' `--------------------'
145 */ 145 */
146// SYMBOLS 146// SYMBOLS
147[SYMB] = KEYMAP( 147[SYMB] = KEYMAP(
148 // left hand 148 // left hand
149 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, 149 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
150 KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, 150 KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
151 KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, 151 KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
152 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, 152 KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
153 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 153 KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
154 KC_TRNS,KC_TRNS, 154 KC_TRNS,KC_TRNS,
155 KC_TRNS, 155 KC_TRNS,
156 KC_TRNS,KC_TRNS,KC_TRNS, 156 KC_TRNS,KC_TRNS,KC_TRNS,
157 // right hand 157 // right hand
158 KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 158 KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
159 KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, 159 KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
160 KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS, 160 KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS,
161 KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, 161 KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
162 KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_NO, 162 KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_NO,
163 KC_TRNS, KC_TRNS, 163 KC_TRNS, KC_TRNS,
164 KC_TRNS, 164 KC_TRNS,
165 KC_TRNS, KC_TRNS, KC_TRNS 165 KC_TRNS, KC_TRNS, KC_TRNS
166), 166),
167 167
168/* Keymap 2: RimWorld Layer 168/* Keymap 2: RimWorld Layer
169 * 169 *
170 * ,--------------------------------------------------. ,--------------------------------------------------. 170 * ,--------------------------------------------------. ,--------------------------------------------------.
171 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = | 171 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
172 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 172 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
173 * | TAB | C | ,< | W | >. | R | | |TD(L0 | U | B | N | J | M | PGUP | 173 * | TAB | C | ,< | W | >. | R | | |TD(L0 | U | B | N | J | M | PGUP |
174 * |--------+------+------+------+------+------| F10 | |L1 L2)|------+------+------+------+------+--------| 174 * |--------+------+------+------+------+------| F10 | |L1 L2)|------+------+------+------+------+--------|
175 * | I | F | A | S | D | 8 |------| |------| X | L | P | Y | H | ENTER | 175 * | I | F | A | S | D | 8 |------| |------| X | L | P | Y | H | ENTER |
176 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 176 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
177 * | K | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | PGDN | 177 * | K | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | PGDN |
178 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 178 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
179 * | | | | | | | F | | | | | 179 * | | | | | | | F | | | | |
180 * `----------------------------------' `----------------------------------' 180 * `----------------------------------' `----------------------------------'
181 * ,-------------. ,-------------. 181 * ,-------------. ,-------------.
182 * | | | | | | 182 * | | | | | |
183 * ,------|------|------| |------+------+------. 183 * ,------|------|------| |------+------+------.
184 * | | | | | | | | 184 * | | | | | | | |
185 * |SPACE | C |------| |------| E |SPACE | 185 * |SPACE | C |------| |------| E |SPACE |
186 * | | | Q | | | | | 186 * | | | Q | | | | |
187 * `--------------------' `--------------------' 187 * `--------------------' `--------------------'
188 */ 188 */
189// RIMWORLD 189// RIMWORLD
190[RIMW] = KEYMAP( 190[RIMW] = KEYMAP(
191 // left hand 191 // left hand
192 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, 192 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
193 KC_TAB, KC_C, KC_COMM, KC_W, KC_DOT, KC_R, KC_F10, 193 KC_TAB, KC_C, KC_COMM, KC_W, KC_DOT, KC_R, KC_F10,
194 KC_I, KC_F, KC_A, KC_S, KC_D, KC_8, 194 KC_I, KC_F, KC_A, KC_S, KC_D, KC_8,
195 KC_K, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, 195 KC_K, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
196 KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 196 KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
197 KC_TRNS,KC_TRNS, 197 KC_TRNS,KC_TRNS,
198 KC_TRNS, 198 KC_TRNS,
199 KC_C,KC_Q,KC_TRNS, 199 KC_C,KC_Q,KC_TRNS,
200 // right hand 200 // right hand
201 KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 201 KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
202 KC_TRNS, KC_U, KC_B, KC_N, KC_J, KC_M, KC_PGUP, 202 KC_TRNS, KC_U, KC_B, KC_N, KC_J, KC_M, KC_PGUP,
203 KC_X, KC_L, SFT_T(KC_P), KC_Y, KC_H, KC_ENT, 203 KC_X, KC_L, SFT_T(KC_P), KC_Y, KC_H, KC_ENT,
204 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN, 204 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN,
205 KC_F, KC_LEFT, KC_UP, KC_DOWN,KC_RIGHT, 205 KC_F, KC_LEFT, KC_UP, KC_DOWN,KC_RIGHT,
206 KC_TRNS, KC_TRNS, 206 KC_TRNS, KC_TRNS,
207 KC_TRNS, 207 KC_TRNS,
208 KC_TRNS, KC_E, KC_TRNS 208 KC_TRNS, KC_E, KC_TRNS
209), 209),
210/* Keymap 3: Media and mouse keys 210/* Keymap 3: Media and mouse keys
211 * 211 *
212 * ,--------------------------------------------------. ,--------------------------------------------------. 212 * ,--------------------------------------------------. ,--------------------------------------------------.
213 * | | | | | | | | | | | | | | | | 213 * | | | | | | | | | | | | | | | |
214 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 214 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
215 * | | | | MsUp | | | | | | | | | | | | 215 * | | | | MsUp | | | | | | | | | | | |
216 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 216 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
217 * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | 217 * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
218 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 218 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
219 * | | | | | | | | | | | | Prev | Next | | | 219 * | | | | | | | | | | | | Prev | Next | | |
220 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 220 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
221 * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | 221 * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
222 * `----------------------------------' `----------------------------------' 222 * `----------------------------------' `----------------------------------'
223 * ,-------------. ,-------------. 223 * ,-------------. ,-------------.
224 * | | | | | | 224 * | | | | | |
225 * ,------|------|------| |------+------+------. 225 * ,------|------|------| |------+------+------.
226 * | | | | | | |Brwser| 226 * | | | | | | |Brwser|
227 * | Lclk | Rclk |------| |------| |Back | 227 * | Lclk | Rclk |------| |------| |Back |
228 * | | | | | | | | 228 * | | | | | | | |
229 * `--------------------' `--------------------' 229 * `--------------------' `--------------------'
230 */ 230 */
231// MEDIA AND MOUSE 231// MEDIA AND MOUSE
232[MDIA] = KEYMAP( 232[MDIA] = KEYMAP(
233 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 233 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
234 KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, 234 KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
235 KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, 235 KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
236 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 236 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
237 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, 237 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
238 KC_TRNS, KC_TRNS, 238 KC_TRNS, KC_TRNS,
239 KC_TRNS, 239 KC_TRNS,
240 KC_BTN1, KC_BTN2, KC_TRNS, 240 KC_BTN1, KC_BTN2, KC_TRNS,
241 // right hand 241 // right hand
242 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 242 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
243 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 243 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
244 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 244 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
245 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, 245 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
246 KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, 246 KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
247 KC_TRNS, KC_TRNS, 247 KC_TRNS, KC_TRNS,
248 KC_TRNS, 248 KC_TRNS,
249 KC_TRNS, KC_TRNS, KC_WBAK 249 KC_TRNS, KC_TRNS, KC_WBAK
250), 250),
251}; 251};
252 252
253static uint16_t key_timer; 253static uint16_t key_timer;
254 254
255const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 255const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
256{ 256{
257 switch(id) { 257 switch(id) {
258 case 0: { 258 case 0: {
259 if (record->event.pressed) { 259 if (record->event.pressed) {
260 key_timer = timer_read(); // if the key is being pressed, we start the timer. 260 key_timer = timer_read(); // if the key is being pressed, we start the timer.
261 } 261 }
262 else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). 262 else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
263 if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap. 263 if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap.
264 return MACRO( D(LCTL), T(C), U(LCTL), END ); 264 return MACRO( D(LCTL), T(C), U(LCTL), END );
265 } 265 }
266 else { 266 else {
267 return MACRO( D(LCTL), T(V), U(LCTL), END ); 267 return MACRO( D(LCTL), T(V), U(LCTL), END );
268 } 268 }
269 } 269 }
270 break; 270 break;
271 } 271 }
272 } 272 }
273 return MACRO_NONE; 273 return MACRO_NONE;
274}; 274};
275 275
276// Anything you want to do once when the keyboard initializes. 276// Anything you want to do once when the keyboard initializes.
277// Tests LED function when the keyboard initializes. 277// Tests LED function when the keyboard initializes.
278void matrix_init_user(void) { 278void matrix_init_user(void) {
279 279
280 wait_ms(500); 280 wait_ms(500);
281 ergodox_board_led_on(); 281 ergodox_board_led_on();
282 wait_ms(200); 282 wait_ms(200);
283 ergodox_right_led_1_on(); 283 ergodox_right_led_1_on();
284 wait_ms(200); 284 wait_ms(200);
285 ergodox_right_led_2_on(); 285 ergodox_right_led_2_on();
286 wait_ms(200); 286 wait_ms(200);
287 ergodox_right_led_3_on(); 287 ergodox_right_led_3_on();
288 wait_ms(200); 288 wait_ms(200);
289 ergodox_board_led_off(); 289 ergodox_board_led_off();
290 wait_ms(200); 290 wait_ms(200);
291 ergodox_right_led_1_off(); 291 ergodox_right_led_1_off();
292 wait_ms(200); 292 wait_ms(200);
293 ergodox_right_led_2_off(); 293 ergodox_right_led_2_off();
294 wait_ms(200); 294 wait_ms(200);
295 ergodox_right_led_3_off(); 295 ergodox_right_led_3_off();
296 296
297}; 297};
298 298
299 299
300// Runs constantly in the background, in a loop. 300// Runs constantly in the background, in a loop.
301void matrix_scan_user(void) { 301void matrix_scan_user(void) {
302 302
303 uint8_t layer = biton32(layer_state); 303 uint8_t layer = biton32(layer_state);
304 304
305 ergodox_board_led_off(); 305 ergodox_board_led_off();
306 ergodox_right_led_1_off(); 306 ergodox_right_led_1_off();
307 ergodox_right_led_2_off(); 307 ergodox_right_led_2_off();
308 ergodox_right_led_3_off(); 308 ergodox_right_led_3_off();
309 switch (layer) { 309 switch (layer) {
310 case 1: 310 case 1:
311 ergodox_right_led_1_on(); 311 ergodox_right_led_1_on();
312 break; 312 break;
313 case 2: 313 case 2:
314 ergodox_right_led_2_on(); 314 ergodox_right_led_2_on();
315 break; 315 break;
316 case 3: 316 case 3:
317 ergodox_right_led_3_on(); 317 ergodox_right_led_3_on();
318 break; 318 break;
319 default: 319 default:
320 // none 320 // none
321 break; 321 break;
322 } 322 }
323 323
324}; 324};
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/readme.md b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
index 66b1aaf40..e51e3c48f 100644
--- a/keyboards/ergodox/keymaps/win10_writers-block/readme.md
+++ b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
@@ -1,113 +1,113 @@
1<!-- -*- mode: markdown; fill-column: 8192 -*- --> 1<!-- -*- mode: markdown; fill-column: 8192 -*- -->
2 2
3Win10 Writer's Block ErgoDox - v1.0 3Win10 Writer's Block ErgoDox - v1.0
4 4
5======================= 5=======================
6 6
7This is a QWERTY layout for QMK. It's designed to work well in MS Office-like environments. It's tested on Windows 7 and 10. 7This is a QWERTY layout for QMK. It's designed to work well in MS Office-like environments. It's tested on Windows 7 and 10.
8 8
9Professional writers may find this layout useful -- copywriters, technical writers, novelists, etc. 9Professional writers may find this layout useful -- copywriters, technical writers, novelists, etc.
10 10
11I use my ErgoDox with this keymap as a daily driver at my office. 11I use my ErgoDox with this keymap as a daily driver at my office.
12 12
13A gaming layer is unobtrusively built into this layout. I use that layer to play RimWorld. 13A gaming layer is unobtrusively built into this layout. I use that layer to play RimWorld.
14 14
15Feel free to modify the gaming layer to your personal taste. 15Feel free to modify the gaming layer to your personal taste.
16 16
17## Table of Contents 17## Table of Contents
18 18
19* [Layouts](#layouts) 19* [Layouts](#layouts)
20 - [Base layer](#base-layer) 20 - [Base layer](#base-layer)
21 - [Symbol layer](#symbol-layer) 21 - [Symbol layer](#symbol-layer)
22 - [Gaming layer](#rimworld-layer) 22 - [Gaming layer](#rimworld-layer)
23 - [Media layer](#media-layer) 23 - [Media layer](#media-layer)
24* [Tools](#tools) 24* [Tools](#tools)
25 - [Layer notification](#layer-notification) 25 - [Layer notification](#layer-notification)
26* [Building](#building) 26* [Building](#building)
27 - [Using on Windows](#using-on-windows) 27 - [Using on Windows](#using-on-windows)
28* [License](#license) 28* [License](#license)
29* [Special Thanks](#special-thanks) 29* [Special Thanks](#special-thanks)
30 30
31# Layouts 31# Layouts
32 32
33* TapDance will teleport you to the layer you want: 33* TapDance will teleport you to the layer you want:
34* One Tap for the Base layer 34* One Tap for the Base layer
35* Two Taps for the Symbol layer 35* Two Taps for the Symbol layer
36* Three Taps for the Rimworld/Gaming layer 36* Three Taps for the Rimworld/Gaming layer
37 37
38* Where the "Meh" key is located on the Ergodox EZ default layout, I've changed it to another tap dance key: 38* Where the "Meh" key is located on the Ergodox EZ default layout, I've changed it to another tap dance key:
39* One Tap for CTRL-ALT-DEL 39* One Tap for CTRL-ALT-DEL
40* Two Taps for the Media/Mouse layer 40* Two Taps for the Media/Mouse layer
41 41
42## Base layer 42## Base layer
43 43
44[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1) 44[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1)
45 45
46This is a QWERTY layout with some quirks. 46This is a QWERTY layout with some quirks.
47 47
48* Enter is located on a key that won't cause as much thumb fatigue. 48* Enter is located on a key that won't cause as much thumb fatigue.
49* Copy and Paste work from the same key. Just hold the key to copy and tap the key to paste! 49* Copy and Paste work from the same key. Just hold the key to copy and tap the key to paste!
50* Undo, Find and Cut are also one-touch keys. 50* Undo, Find and Cut are also one-touch keys.
51* F12 is where you would normally find TAB on standard layouts. Quickly save in Word, safely. 51* F12 is where you would normally find TAB on standard layouts. Quickly save in Word, safely.
52* You'll find bracket keys below the "6" key. 52* You'll find bracket keys below the "6" key.
53 53
54* The Meh Key is a single-button CTRL+ALT+SHIFT modifier. 54* The Meh Key is a single-button CTRL+ALT+SHIFT modifier.
55 55
56* Space Cadet Shift: Tap L Shift for "(" and R Shift for ")" -- holding either shift works like a normal shift. 56* Space Cadet Shift: Tap L Shift for "(" and R Shift for ")" -- holding either shift works like a normal shift.
57* Tap "Z" or Tab to use either normally. Hold them for CTRL. 57* Tap "Z" or Tab to use either normally. Hold them for CTRL.
58* Tap Caps Lock to use it normally. Hold it for Win key combinations (Win+D to minimize all programs, etc). 58* Tap Caps Lock to use it normally. Hold it for Win key combinations (Win+D to minimize all programs, etc).
59 59
60## Symbol layer 60## Symbol layer
61 61
62[![Symbol layer](images/symbol-layer.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4) 62[![Symbol layer](images/symbol-layer.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4)
63 63
64Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM keys. 64Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM keys.
65 65
66* From the base layer, hold the F12 Key to temporarily access this layer (use for quick access to numpad) 66* From the base layer, hold the F12 Key to temporarily access this layer (use for quick access to numpad)
67* Release F12 to return to the base layer. 67* Release F12 to return to the base layer.
68 68
69## Rimworld layer 69## Rimworld layer
70 70
71[![Rimworld / Gaming Layer](images/rimworld-layer.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace) 71[![Rimworld / Gaming Layer](images/rimworld-layer.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace)
72 72
73This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Sylvester and Ludeon Studios, available on Steam. 73This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Sylvester and Ludeon Studios, available on Steam.
74 74
75* Have fun! 75* Have fun!
76 76
77## Media layer 77## Media layer
78 78
79[![Media layer](images/media-layer.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3) 79[![Media layer](images/media-layer.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3)
80 80
81This is the standard Ergodox EZ media layout with more options for mouseclick buttons. 81This is the standard Ergodox EZ media layout with more options for mouseclick buttons.
82 82
83* In this layer, your "space" key changes into a back button for your browser. 83* In this layer, your "space" key changes into a back button for your browser.
84 84
85## LED states 85## LED states
86 86
87Your LEDs will change to indicate your layer. You'll know you are in the base layer if all LEDs are off. 87Your LEDs will change to indicate your layer. You'll know you are in the base layer if all LEDs are off.
88 88
89# Building 89# Building
90 90
91To build, you will need the [QMK][qmk] firmware checked out. from there, dive into `keyboards/ergodox/keymaps/win10_writers-block/` 91To build, you will need the [QMK][qmk] firmware checked out. from there, dive into `keyboards/ergodox/keymaps/win10_writers-block/`
92 92
93[qmk]: https://github.com/jackhumbert/qmk_firmware 93[qmk]: https://github.com/jackhumbert/qmk_firmware
94 94
95``` 95```
96$ make keyboard=ergodox keymap=win10_writers-block 96$ make keyboard=ergodox keymap=win10_writers-block
97``` 97```
98 98
99## Using on Windows 99## Using on Windows
100 100
101This layout is tested in Windows 7 Pro and Windows 10 Home environments. 101This layout is tested in Windows 7 Pro and Windows 10 Home environments.
102 102
103# License 103# License
104 104
105GPL 3+ 105GPL 3+
106 106
107# Special Thanks 107# Special Thanks
108 108
109* To algernon for his coding help. I'm a novice but I still made this work (and figured out tap dance) with his help. 109* To algernon for his coding help. I'm a novice but I still made this work (and figured out tap dance) with his help.
110 110
111* To /r/MechanicalKeyboards for being an all-around great community. 111* To /r/MechanicalKeyboards for being an all-around great community.
112 112
113* To /u/profet23 for his amazing custom Ergodox boards. \ No newline at end of file 113* To /u/profet23 for his amazing custom Ergodox boards. \ No newline at end of file
diff --git a/keyboards/vision_division/config.h b/keyboards/vision_division/config.h
index 1f8466a54..93c960671 100644
--- a/keyboards/vision_division/config.h
+++ b/keyboards/vision_division/config.h
@@ -33,6 +33,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
33/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 33/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
34#define DEBOUNCING_DELAY 5 34#define DEBOUNCING_DELAY 5
35 35
36#define MATRIX_MASKED
37
36/* define if matrix has ghost (lacks anti-ghosting diodes) */ 38/* define if matrix has ghost (lacks anti-ghosting diodes) */
37//#define MATRIX_HAS_GHOST 39//#define MATRIX_HAS_GHOST
38 40
diff --git a/keyboards/vision_division/keymaps/default/Makefile b/keyboards/vision_division/keymaps/default/Makefile
index 5a930e85e..28060947a 100644
--- a/keyboards/vision_division/keymaps/default/Makefile
+++ b/keyboards/vision_division/keymaps/default/Makefile
@@ -2,7 +2,7 @@
2# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) 5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = yes # Console for debug(+400) 8CONSOLE_ENABLE = yes # Console for debug(+400)
@@ -18,4 +18,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18 18
19ifndef QUANTUM_DIR 19ifndef QUANTUM_DIR
20 include ../../../../Makefile 20 include ../../../../Makefile
21endif \ No newline at end of file 21endif
diff --git a/keyboards/vision_division/keymaps/default/keymap.c b/keyboards/vision_division/keymaps/default/keymap.c
index 64118abdc..3282761c0 100644
--- a/keyboards/vision_division/keymaps/default/keymap.c
+++ b/keyboards/vision_division/keymaps/default/keymap.c
@@ -121,6 +121,7 @@ enum keyboard_macros {
121 121
122#define M_CP_CT M(MACRO_COPY_CUT) 122#define M_CP_CT M(MACRO_COPY_CUT)
123 123
124#define M_COPY KC_FN1
124 125
125#define SC_UNDO LCTL(KC_Z) 126#define SC_UNDO LCTL(KC_Z)
126#define SC_REDO LCTL(KC_Y) 127#define SC_REDO LCTL(KC_Y)
@@ -141,35 +142,46 @@ enum keyboard_macros {
141#define ________________ _______, _______ 142#define ________________ _______, _______
142#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX 143#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
143 144
145const matrix_row_t matrix_mask[MATRIX_ROWS] =
146{
147// 1098765432109876543210987654321
148 0b0000000001111111101111011111111,
149 0b0000000001111111111111111111111,
150 0b0000000001111111111111111111111,
151 0b0000000001111111111111111111111,
152 0b0000000001010111111111111111111,
153 0b0000000001111101111111101011111,
154};
155
144const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = 156const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
145{ 157{
146/* LAYER = LAYER_QWERTY 158/* LAYER = LAYER_QWERTY
147 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 159 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
148 | FN | PRINT | SCR LK | PAUSE | | F1 | F2 | F3 | F4 | XXXXXX | F5 | F6 | F7 | F8 | XXXXXX | F9 | F10 | F11 | F12 | | VOL DN | MUTE | VOL UP | BACKLT | 160 | VOL DN | MUTE | VOL UP | BACKLT | | F1 | F2 | F3 | F4 | XXXXXX | F5 | F6 | F7 | F8 | XXXXXX | F9 | F10 | F11 | F12 | | PRINT | SCR LK | PAUSE | FN |
149 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 161 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
150 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 162 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
151 | M1 | INS | HOME | PG UP | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | NUM LK | KP / | KP * | KP - | 163 | NUM LK | KP / | KP * | KP - | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | INS | HOME | PG UP | M1 |
152 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 164 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
153 | M2 | DEL | END | PG DN | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | - | \ | | KP 7 | KP 8 | KP 9 | KP + | 165 | KP 7 | KP 8 | KP 9 | KP + | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | - | \ | | DEL | END | PG DN | M2 |
154 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 166 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
155 | M3 | UL | UP | UR | | CAP LK | BACKSP | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | o | KP 4 | KP 5 | KP 6 | KP + | 167 | KP 4 | KP 5 | KP 6 | KP + | | CAP LK | BACKSP | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | o | CP/CT | UNDO | PASTE | M3 |
156 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 168 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
157 | M4 | LEFT | CP/CT | RIGHT | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | RSHIFT | | KP 1 | KP 2 | KP 3 | KP Ent | 169 | KP 1 | KP 2 | KP 3 | KP Ent | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | RSHIFT | | XXXXXX | UP | XXXXXX | M4 |
158 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 170 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
159 | M5 | DL | DOWN | DR | | LCTRL | XXXXXX | XXXXXX | LWIN | LALT | LOWER | SPACE . SPACE | UPPER | OSHIFT | RALT | APP | XXXXXX | RCTRL | | KP 0 | KP , | KP . | KP Ent | 171 | KP 0 | KP , | KP . | KP Ent | | LCTRL | XXXXXX | LWIN | XXXXXX | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | XXXXXX | RCTRL | | LEFT | DOWN | RIGHT | M5 |
160 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 172 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
161*/ 173*/
162KEYMAP(LAYER_QWERTY, \ 174KEYMAP(LAYER_QWERTY, \
163 M_HELP , KC_PSCR, KC_SLCK, KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_MUTE, KC_VOLU, M_BACKL, \ 175 KC_VOLD, KC_MUTE, KC_VOLU, M_BACKL, KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, KC_PAUS, M_HELP , \
164 M_M1 , KC_INS , KC_HOME, KC_PGUP, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ 176 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP, M_M1 , \
165 M_M2 , KC_DEL , KC_END , KC_PGDN, KC_TAB , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, KC_BSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, \ 177 KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TAB , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, KC_BSLS, KC_DEL , KC_END , KC_PGDN, M_M2 , \
166 M_M3 , M_UL , KC_UP , M_UR , KC_CAPS, KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, \ 178 KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_CAPS, KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , M_CP_CT, SC_UNDO, SC_PSTE, M_M3 , \
167 M_M4 , KC_LEFT, M_CP_CT, KC_RGHT, KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, \ 179 KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, XXXXXXX, KC_UP , XXXXXXX, M_M4 , \
168 M_M5 , M_DL , KC_DOWN, M_DR , KC_LCTL, XXXXXXX, XXXXXXX, KC_LGUI, KC_LALT, M_LOWER, KC_SPC , KC_SPC , M_UPPER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL, KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT \ 180 KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT, KC_LCTL, XXXXXXX, KC_LGUI, XXXXXXX, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, M_M5 \
169), 181),
170/* LAYER = LAYER_LOWER 182/* LAYER = LAYER_LOWER
171 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 183 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
172 | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ | 184 | ______ | MUTE A | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
173 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 185 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
174 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 186 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
175 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 187 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
@@ -180,20 +192,20 @@ KEYMAP(LAYER_QWERTY, \
180 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 192 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
181 | ______ | ______ | ______ | ______ | | ______ | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ | ______ | | ______ | ______ | ______ | ______ | 193 | ______ | ______ | ______ | ______ | | ______ | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ | ______ | | ______ | ______ | ______ | ______ |
182 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 194 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
183 | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ | 195 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
184 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 196 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
185*/ 197*/
186KEYMAP(LAYER_LOWER, \ 198KEYMAP(LAYER_LOWER, \
187 _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, M_MUTEA, _______, _______, \ 199 _______, M_MUTEA, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
188 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 200 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
189 _______, _______, _______, _______, _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, _______, _______, _______, \ 201 _______, _______, _______, _______, _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, _______, _______, _______, \
190 _______, _______, _______, _______, _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, _______, _______, _______, \ 202 _______, _______, _______, _______, _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, _______, _______, _______, \
191 _______, _______, _______, _______, _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, _______, _______, _______, \ 203 _______, _______, _______, _______, _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, _______, _______, _______, \
192 _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \ 204 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \
193), 205),
194/* LAYER = LAYER_UPPER 206/* LAYER = LAYER_UPPER
195 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 207 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
196 | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ | 208 | ______ | MUTE A | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
197 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 209 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
198 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 210 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
199 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 211 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
@@ -204,44 +216,44 @@ KEYMAP(LAYER_LOWER, \
204 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 216 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
205 | ______ | ______ | ______ | ______ | | ______ | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP Ent | ______ | ______ | | ______ | ______ | ______ | ______ | 217 | ______ | ______ | ______ | ______ | | ______ | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP Ent | ______ | ______ | | ______ | ______ | ______ | ______ |
206 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 218 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
207 | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ | 219 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
208 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 220 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
209*/ 221*/
210KEYMAP(LAYER_UPPER, \ 222KEYMAP(LAYER_UPPER, \
211 _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, M_MUTEA, _______, _______, \ 223 _______, M_MUTEA, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 224 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
213 _______, _______, _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, _______, _______, _______, \ 225 _______, _______, _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, _______, _______, _______, \
214 _______, _______, _______, _______, _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, _______, _______, _______, \ 226 _______, _______, _______, _______, _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, _______, _______, _______, \
215 _______, _______, _______, _______, _______, _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, _______, _______, _______, \ 227 _______, _______, _______, _______, _______, _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, _______, _______, _______, \
216 _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \ 228 _______, _______, _______, _______, _______, _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \
217), 229),
218/* LAYER = LAYER_MOUSE 230/* LAYER = LAYER_MOUSE
219 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 231 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
220 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 232 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
221 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 233 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
222 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 234 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
223 | MS BT1 | MS AC0 | MS WHU | MS AC2 | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 235 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS AC0 | MS WHU | MS AC2 | MS BT1 |
224 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 236 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
225 | MS BT2 | MS WHL | MS WHD | MS WHU | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 237 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS WHL | MS WHD | MS WHU | MS BT2 |
226 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 238 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
227 | MS BT3 | MS UL | MS U | MS UR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | ______ | ______ | ______ | ______ | 239 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | MS BT1 | MS BT2 | MS BT3 | MS BT3 |
228 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------| 240 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
229 | MS BT4 | MS L | MS BT1 | MS R | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 241 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | XXXXXX | MS U | XXXXXX | MS BT4 |
230 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------| 242 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
231 | MS BT5 | MS DL | MS D | MS DR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | 243 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS L | MS D | MS R | MS BT5 |
232 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 244 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
233*/ 245*/
234KEYMAP(LAYER_MOUSE, \ 246KEYMAP(LAYER_MOUSE, \
235 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 247 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
236 KC_BTN1, KC_ACL0, KC_WH_U, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 248 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_WH_U, KC_ACL2, KC_BTN1, \
237 KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 249 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_BTN2, \
238 KC_BTN3, M_MS_UL, KC_MS_U, M_MS_UR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 250 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN3, \
239 KC_BTN4, KC_MS_L, KC_BTN1, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 251 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_MS_U, XXXXXXX, KC_BTN4, \
240 KC_BTN5, M_MS_DL, KC_MS_D, M_MS_DR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 252 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5 \
241), 253),
242/* LAYER = LAYER_ADJUST 254/* LAYER = LAYER_ADJUST
243 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 255 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
244 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | HELP 1 | HELP 2 | HELP 3 | HELP 4 | XXXXXX | HELP 5 | HELP 6 | HELP 7 | HELP 8 | XXXXXX | HELP 9 | HELP 0 | XXXXXX | XXXXXX | | VOICE- | AUDIO | VOICE+ | MUSIC | 256 | VOICE- | AUDIO | VOICE+ | MUSIC | | HELP 1 | HELP 2 | HELP 3 | HELP 4 | XXXXXX | HELP 5 | HELP 6 | HELP 7 | HELP 8 | XXXXXX | HELP 9 | HELP 0 | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
245 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 257 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
246 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------. 258 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
247 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | 259 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
@@ -256,14 +268,13 @@ KEYMAP(LAYER_MOUSE, \
256 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------' 268 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
257*/ 269*/
258KEYMAP(LAYER_ADJUST, \ 270KEYMAP(LAYER_ADJUST, \
259 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, XXXXXXX, M_HELP5, M_HELP6, M_HELP7, M_HELP8, XXXXXXX, M_HELP9, M_HELP0, XXXXXXX, XXXXXXX, MUV_DE , AU_TOG , MUV_IN , MU_TOG , \ 271 MUV_DE , AU_TOG , MUV_IN , MU_TOG , M_HELP1, M_HELP2, M_HELP3, M_HELP4, XXXXXXX, M_HELP5, M_HELP6, M_HELP7, M_HELP8, XXXXXXX, M_HELP9, M_HELP0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
260 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 272 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
261 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 273 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
262 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 274 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
263 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 275 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
264 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ 276 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
265), 277),
266
267}; 278};
268 279
269#ifdef AUDIO_ENABLE 280#ifdef AUDIO_ENABLE
@@ -296,6 +307,7 @@ void persistant_default_layer_set(uint16_t default_layer)
296 307
297const uint16_t PROGMEM fn_actions[] = { 308const uint16_t PROGMEM fn_actions[] = {
298 [0] = ACTION_MODS_ONESHOT(MOD_LSFT), 309 [0] = ACTION_MODS_ONESHOT(MOD_LSFT),
310 [1] = ACTION_MACRO_TAP(MACRO_COPY_CUT),
299}; 311};
300 312
301const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 313const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -305,68 +317,84 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
305 switch(id) 317 switch(id)
306 { 318 {
307 319
308 case MACRO_HELP_1: 320 case MACRO_COPY_CUT:
309 if (record->event.pressed) 321 if (record->event.pressed) {
310 { 322 register_code(KC_LCTL);
311 uprint("H1"); 323 if (record->tap.count == 1) {
312 } 324 register_code(KC_C);
313 break; 325 unregister_code(KC_C);
314 326 }
315 case MACRO_HELP_2: 327 else if (record->tap.count == 2) {
316 if (record->event.pressed) 328 register_code(KC_X);
317 { 329 unregister_code(KC_X);
318 uprint("H2"); 330 }
319 } 331 unregister_code(KC_LCTL);
320 break; 332 }
321 333 break;
322 case MACRO_HELP_3: 334
323 if (record->event.pressed) 335
324 { 336 // case MACRO_HELP_1:
325 uprint("H3"); 337 // if (record->event.pressed)
326 } 338 // {
327 break; 339 // uprint("H1");
328 340 // }
329 case MACRO_HELP_4: 341 // break;
330 if (record->event.pressed) 342
331 { 343 // case MACRO_HELP_2:
332 uprint("H4"); 344 // if (record->event.pressed)
333 } 345 // {
334 break; 346 // uprint("H2");
335 347 // }
336 case MACRO_HELP_5: 348 // break;
337 if (record->event.pressed) 349
338 { 350 // case MACRO_HELP_3:
339 uprint("H5"); 351 // if (record->event.pressed)
340 } 352 // {
341 break; 353 // uprint("H3");
342 354 // }
343 case MACRO_HELP_6: 355 // break;
344 if (record->event.pressed) 356
345 { 357 // case MACRO_HELP_4:
346 uprint("H6"); 358 // if (record->event.pressed)
347 } 359 // {
348 break; 360 // uprint("H4");
349 361 // }
350 case MACRO_HELP_7: 362 // break;
351 if (record->event.pressed) 363
352 { 364 // case MACRO_HELP_5:
353 uprint("H7"); 365 // if (record->event.pressed)
354 } 366 // {
355 break; 367 // uprint("H5");
356 368 // }
357 case MACRO_HELP_8: 369 // break;
358 if (record->event.pressed) 370
359 { 371 // case MACRO_HELP_6:
360 uprint("H8"); 372 // if (record->event.pressed)
361 } 373 // {
362 break; 374 // uprint("H6");
363 375 // }
364 case MACRO_HELP_9: 376 // break;
365 if (record->event.pressed) 377
366 { 378 // case MACRO_HELP_7:
367 uprint("H9"); 379 // if (record->event.pressed)
368 } 380 // {
369 break; 381 // uprint("H7");
382 // }
383 // break;
384
385 // case MACRO_HELP_8:
386 // if (record->event.pressed)
387 // {
388 // uprint("H8");
389 // }
390 // break;
391
392 // case MACRO_HELP_9:
393 // if (record->event.pressed)
394 // {
395 // uprint("H9");
396 // }
397 // break;
370 398
371 case MACRO_BREATH_TOGGLE: 399 case MACRO_BREATH_TOGGLE:
372 if (record->event.pressed) 400 if (record->event.pressed)
@@ -566,12 +594,12 @@ void led_set_user(uint8_t usb_led)
566void startup_user() 594void startup_user()
567{ 595{
568 _delay_ms(10); // gets rid of tick 596 _delay_ms(10); // gets rid of tick
569 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO); 597 // PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
570} 598}
571 599
572void shutdown_user() 600void shutdown_user()
573{ 601{
574 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO); 602 // PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
575 _delay_ms(2000); 603 _delay_ms(2000);
576 stop_all_notes(); 604 stop_all_notes();
577} 605}
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 3174e0739..ac81794e5 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -26,6 +26,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26#include "util.h" 26#include "util.h"
27#include "matrix.h" 27#include "matrix.h"
28 28
29#ifdef MATRIX_MASKED
30extern const matrix_row_t matrix_mask[];
31#endif
32
29/* Set 0 if debouncing isn't needed */ 33/* Set 0 if debouncing isn't needed */
30 34
31#ifndef DEBOUNCING_DELAY 35#ifndef DEBOUNCING_DELAY
@@ -218,15 +222,34 @@ bool matrix_is_on(uint8_t row, uint8_t col)
218inline 222inline
219matrix_row_t matrix_get_row(uint8_t row) 223matrix_row_t matrix_get_row(uint8_t row)
220{ 224{
225 // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a
226 // switch blocker installed and the switch is always pressed.
227#ifdef MATRIX_MASKED
228 return matrix[row] & matrix_mask[row];
229#else
221 return matrix[row]; 230 return matrix[row];
231#endif
222} 232}
223 233
224void matrix_print(void) 234void matrix_print(void)
225{ 235{
236#if (MATRIX_COLS <= 8)
237 print("\nr/c 01234567\n");
238#elif (MATRIX_COLS <= 16)
226 print("\nr/c 0123456789ABCDEF\n"); 239 print("\nr/c 0123456789ABCDEF\n");
240#elif (MATRIX_COLS <= 32)
241 print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n");
242#endif
243
227 for (uint8_t row = 0; row < MATRIX_ROWS; row++) { 244 for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
228 phex(row); print(": "); 245 phex(row); print(": ");
229 pbin_reverse16(matrix_get_row(row)); 246#if (MATRIX_COLS <= 8)
247 print_bin_reverse8(matrix_get_row(row));
248#elif (MATRIX_COLS <= 16)
249 print_bin_reverse16(matrix_get_row(row));
250#elif (MATRIX_COLS <= 32)
251 print_bin_reverse32(matrix_get_row(row));
252#endif
230 print("\n"); 253 print("\n");
231 } 254 }
232} 255}
@@ -235,7 +258,13 @@ uint8_t matrix_key_count(void)
235{ 258{
236 uint8_t count = 0; 259 uint8_t count = 0;
237 for (uint8_t i = 0; i < MATRIX_ROWS; i++) { 260 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
261#if (MATRIX_COLS <= 8)
262 count += bitpop(matrix[i]);
263#elif (MATRIX_COLS <= 16)
238 count += bitpop16(matrix[i]); 264 count += bitpop16(matrix[i]);
265#elif (MATRIX_COLS <= 32)
266 count += bitpop32(matrix[i]);
267#endif
239 } 268 }
240 return count; 269 return count;
241} 270}
@@ -259,7 +288,7 @@ static matrix_row_t read_cols(void)
259 matrix_row_t result = 0; 288 matrix_row_t result = 0;
260 289
261#if DIODE_DIRECTION == COL2ROW 290#if DIODE_DIRECTION == COL2ROW
262 for(int x = 0; x < MATRIX_COLS; x++) { 291 for(int x = 0; x < MATRIX_COLS; x++) {
263 int pin = col_pins[x]; 292 int pin = col_pins[x];
264#else 293#else
265 for(int x = 0; x < MATRIX_ROWS; x++) { 294 for(int x = 0; x < MATRIX_ROWS; x++) {
@@ -273,10 +302,10 @@ static matrix_row_t read_cols(void)
273static void unselect_rows(void) 302static void unselect_rows(void)
274{ 303{
275#if DIODE_DIRECTION == COL2ROW 304#if DIODE_DIRECTION == COL2ROW
276 for(int x = 0; x < MATRIX_ROWS; x++) { 305 for(int x = 0; x < MATRIX_ROWS; x++) {
277 int pin = row_pins[x]; 306 int pin = row_pins[x];
278#else 307#else
279 for(int x = 0; x < MATRIX_COLS; x++) { 308 for(int x = 0; x < MATRIX_COLS; x++) {
280 int pin = col_pins[x]; 309 int pin = col_pins[x];
281#endif 310#endif
282 _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); 311 _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF);
diff --git a/readme.md b/readme.md
index 9264f9376..417484778 100644
--- a/readme.md
+++ b/readme.md
@@ -241,6 +241,7 @@ You can also add extra options at the end of the make command line, after the ta
241* `make COLOR=false` - turns off color output 241* `make COLOR=false` - turns off color output
242* `make SILENT=true` - turns off output besides errors/warnings 242* `make SILENT=true` - turns off output besides errors/warnings
243* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug) 243* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug)
244* `make EXTRAFLAGS=-E` - Preprocess the code without doing any compiling (useful if you are trying to debug #define commands)
244 245
245The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option. 246The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option.
246 247
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index f3e1bf623..5f29bc0b4 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -379,11 +379,11 @@ static bool command_common(uint8_t code)
379 debug_enable = !debug_enable; 379 debug_enable = !debug_enable;
380 if (debug_enable) { 380 if (debug_enable) {
381 print("\ndebug: on\n"); 381 print("\ndebug: on\n");
382 debug_matrix = true;
383 debug_keyboard = true;
384 debug_mouse = true;
385 } else { 382 } else {
386 print("\ndebug: off\n"); 383 print("\ndebug: off\n");
384 debug_matrix = false;
385 debug_keyboard = false;
386 debug_mouse = false;
387 } 387 }
388 break; 388 break;
389 389