aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien <Dbroqua@users.noreply.github.com>2016-09-29 22:59:31 +0200
committerGitHub <noreply@github.com>2016-09-29 22:59:31 +0200
commiteb0f21a984eff2a8c4ad15f91fb18b456373e921 (patch)
tree054ee42af8683f22b3f0ddf36a43d8c33d713454
parentf0441f08b87986f49479f1503b11a3d3f899d58e (diff)
parentf0db230c461b77d0d24984d4f0dcd26f12e67076 (diff)
downloadqmk_firmware-eb0f21a984eff2a8c4ad15f91fb18b456373e921.tar.gz
qmk_firmware-eb0f21a984eff2a8c4ad15f91fb18b456373e921.zip
Merge pull request #6 from jackhumbert/master
Merge from jackhumbert
-rw-r--r--keyboards/atreus/keymaps/jeremy/keymap.c66
-rw-r--r--keyboards/atreus/keymaps/jeremy/readme.md45
-rw-r--r--keyboards/lets_split/lets_split.c8
-rw-r--r--keyboards/planck/keymaps/cbbrowne/config.h5
-rw-r--r--keyboards/planck/keymaps/cbbrowne/keymap.c97
-rw-r--r--keyboards/planck/keymaps/cbbrowne/readme.md43
-rw-r--r--keyboards/vision_division/config.h19
-rw-r--r--keyboards/vision_division/keymaps/default/Makefile26
-rw-r--r--keyboards/vision_division/keymaps/default/config.h46
-rw-r--r--keyboards/vision_division/keymaps/default/keymap.c940
-rw-r--r--keyboards/vision_division/matrix_types.h33
-rw-r--r--keyboards/vision_division/rules.mk2
-rw-r--r--keyboards/vision_division/vision_division.c40
-rw-r--r--tmk_core/common/avr/bootloader.c8
-rw-r--r--tmk_core/common/command.c3
15 files changed, 808 insertions, 573 deletions
diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c
new file mode 100644
index 000000000..90ec6f904
--- /dev/null
+++ b/keyboards/atreus/keymaps/jeremy/keymap.c
@@ -0,0 +1,66 @@
1// This is the personal keymap of Jeremy Cowgar (@jcowgar). It is written for the programmer.
2
3#include "atreus.h"
4#include "action_layer.h"
5#include "keymap_colemak.h"
6
7#define PREVENT_STUCK_MODIFIERS
8
9// Each layer gets a name for readability, which is then used in the keymap matrix below.
10#define ALPH 0
11#define NUMS 1
12#define CURS 2
13#define SYMB 3
14#define FKEY 4
15
16// Some handy macros to keep the keymaps clean and easier to maintain
17#define KM_SAVE LGUI(CM_S)
18#define KM_CLSE LGUI(CM_W)
19#define KM_OPEN LGUI(CM_O)
20
21#define KM_COPY LGUI(KC_C)
22#define KM_CUT LGUI(KC_X)
23#define KM_PAST LGUI(KC_V)
24#define KM_UNDO LGUI(KC_Z)
25#define KM_REDO LGUI(LSFT(KC_Z))
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28[ALPH] = {
29 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P},
30 {KC_A, LT(NUMS, KC_S), LT(FKEY, KC_D), KC_F, KC_G, KC_TRNS, KC_H, KC_J, LT(CURS, KC_K), LT(SYMB, KC_L), KC_SCLN},
31 {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH},
32 {KC_LCTL, KC_ESC, KC_NO, KC_LSFT, KC_SPC, KC_LGUI, KC_ENT, KC_RSFT, KC_NO, KC_ESC, KC_RCTL}
33},
34[NUMS] = {
35 {KC_TRNS, KC_TRNS, KC_TRNS, KC_ASTR, KC_SLSH, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_SLSH},
36 {KC_TRNS, KC_TRNS, KC_EQL, KC_PLUS, KC_MINS, KC_TRNS, KC_LPRN, KC_4, KC_5, KC_6, KC_ASTR},
37 {KC_TRNS, KC_TRNS, KC_DOT, KC_COMM, CM_SCLN, KC_TRNS, KC_RPRN, KC_1, KC_2, KC_3, KC_MINS},
38 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS}
39},
40[CURS] = {
41 {KC_TRNS, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS},
42 {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS},
43 {KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_COPY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS},
44 {KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TAB, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
45},
46[SYMB] = {
47 {KC_BSLS, KC_EXLM, KC_LABK, KC_RABK, CM_COLN, KC_TRNS, KC_UNDS, KC_DLR, KC_QUES, KC_TRNS, KC_PERC},
48 {KC_AT, KC_AMPR, KC_LPRN, KC_RPRN, CM_SCLN, KC_TRNS, KC_COMM, KC_DOT, KC_QUOT, KC_TRNS, KC_TILD},
49 {KC_HASH, KC_PIPE, KC_LCBR, KC_RCBR, KC_SLSH, KC_TRNS, KC_TRNS, KC_GRV, KC_DQT, KC_TRNS, KC_CIRC},
50 {KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
51},
52[FKEY] = {
53 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12},
54 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8},
55 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4},
56 {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
57}};
58
59const uint16_t PROGMEM fn_actions[] = {};
60
61const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
62{
63 switch(id) {}
64
65 return MACRO_NONE;
66};
diff --git a/keyboards/atreus/keymaps/jeremy/readme.md b/keyboards/atreus/keymaps/jeremy/readme.md
new file mode 100644
index 000000000..df0179a8e
--- /dev/null
+++ b/keyboards/atreus/keymaps/jeremy/readme.md
@@ -0,0 +1,45 @@
1Jeremy's Atreus Key Mapping
2===========================
3
4I am a programmer by trade that suffers from the beginning stages of RSI. As a programmer I use letters, symbols and cursor navigation most often. To prevent strange finger gymnastics, I wrote a script to rank which non-letter characters occurred in my primary source projects most often and then placed these characters in the easiest to reach locations, for me. I made heavy use of momentary layer toggling.
5
6My layout is also geared toward a software based Colemak mapping. I would like it to be hardware, but I use my Laptop on the go frequently and thus my laptop keyboard. I have moved the keycaps to reflect the Colemak layout. My laptop is a MacBook Pro (2015).
7
8## Main Layers
9
101. [Letters](http://www.keyboard-layout-editor.com/#/gists/6861cb9df09ce78efaddf8aa7471e3ac)
112. [Symbols](http://www.keyboard-layout-editor.com/#/gists/8956a18b508a78e93b9c38ec3fcccaa5)
123. [Navigation](http://www.keyboard-layout-editor.com/#/gists/6ed492b714a7f54eb1c5de09b87fd8c4)
134. [Numbers](http://www.keyboard-layout-editor.com/#/gists/399ceb5624e8388e48a3a5eacac8e973)
145. [Function Keys](http://www.keyboard-layout-editor.com/#/gists/7fd7dc24c7048316f3724b1893c64e89)
15
16## Notes
17
18### General
19
20Some characters can be accessed multiple ways. This was done because you may be in a given layer, such as numbers, where when doing math, you may need quick access to the parentheses characters for grouping. This prevents some layer switching.
21
22I own an ErgoDox and plan on porting this as a base layer, then using the extra keys the ErgoDox provides accordingly. My goal, though, is to be fully functional on this base setup and build everything into muscle memory.
23
24### Symbol Layer
25
261. I placed characters that deal with an if statement close together, such as !, & and |.
272. All matching brace/bracket characters are together as well.
28
29### Number Layer
30
311. Everything I did was a compromise when trying to mimic a ten-key. I did the best I could.
322. Operators are duplicated on the right and left. I do not find it comfortable to use my pinky much, so I tend to use my left hand for +, -, * and / but those were also placed on the right hand to mimic the ten-key.
333. Parentheses were added for typing on the calculator.
34
35### Cursor Layer
36
371. It includes basic audio controls because they didn't really fit anywhere else
382. It contains basic file manipulation. I'm not sure that was a good idea. I do save all the time, but Cmd+S isn't exactly hard.
393. It contains the backspace and delete keys right on top of the left and right arrows.
404. Cmd and Opt keys are duplicated. This makes for very easy navigation, for example on a Mac, Opt+Left/Right moves word by word. It also backspaces or deletes word by word.
41
42### Function Layer
43
441. Almost all other layers I saw grouped the F keys into a bunch of three. This only gives nine function keys in order if you attempt to stay as close to the home row as possible. I went with a group of four, which gives all twelve function keys to the right hand, one row below and above the home row.
452. I duplicated the Command and Option keys the same as on the cursor layer. This makes it dead easy to hit modified function keys such as Cmd+Opt+F5. It's also easy to toss in a Shift modifier in there with the right thumb since the bottom row is preserved.
diff --git a/keyboards/lets_split/lets_split.c b/keyboards/lets_split/lets_split.c
index 574c116a7..c505d3a6e 100644
--- a/keyboards/lets_split/lets_split.c
+++ b/keyboards/lets_split/lets_split.c
@@ -24,7 +24,9 @@ void matrix_init_kb(void) {
24}; 24};
25 25
26void shutdown_user(void) { 26void shutdown_user(void) {
27 PLAY_NOTE_ARRAY(tone_goodbye, false, 0); 27 #ifdef AUDIO_ENABLE
28 _delay_ms(150); 28 PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
29 stop_all_notes(); 29 _delay_ms(150);
30 stop_all_notes();
31 #endif
30} 32}
diff --git a/keyboards/planck/keymaps/cbbrowne/config.h b/keyboards/planck/keymaps/cbbrowne/config.h
index 58cd2cc5b..1e04ba61d 100644
--- a/keyboards/planck/keymaps/cbbrowne/config.h
+++ b/keyboards/planck/keymaps/cbbrowne/config.h
@@ -3,6 +3,9 @@
3 3
4#include "../../config.h" 4#include "../../config.h"
5 5
6#define LEADER_TIMEOUT 300
7#define BACKLIGHT_BREATHING
8
6/* cbbrowne user configuration */ 9/* cbbrowne user configuration */
7 10
8#define randadd 53 11#define randadd 53
@@ -16,5 +19,3 @@
16 19
17#endif 20#endif
18 21
19
20
diff --git a/keyboards/planck/keymaps/cbbrowne/keymap.c b/keyboards/planck/keymaps/cbbrowne/keymap.c
index 898f6f0e0..7f1601af7 100644
--- a/keyboards/planck/keymaps/cbbrowne/keymap.c
+++ b/keyboards/planck/keymaps/cbbrowne/keymap.c
@@ -65,10 +65,11 @@
65*/ 65*/
66 66
67enum layers { 67enum layers {
68 _QW = 0, /* Qwerty mapping */ 68 _QWERTY = 0, /* Qwerty mapping */
69 _LW, /* Lower layer, where top line has symbols !@#$%^&*() */ 69 _LOWER, /* Lower layer, where top line has symbols !@#$%^&*() */
70 _RS, /* Raised layer, where top line has digits 1234567890 */ 70 _RAISE, /* Raised layer, where top line has digits 1234567890 */
71 _KP, /* Key pad */ 71 _KEYPAD, /* Key pad */
72 _ADJUST, /* Special Adjust layer coming via tri-placement */
72}; 73};
73 74
74enum macro_id { 75enum macro_id {
@@ -76,37 +77,60 @@ enum macro_id {
76 M_USERNAME, 77 M_USERNAME,
77 M_RANDDIGIT, 78 M_RANDDIGIT,
78 M_RANDLETTER, 79 M_RANDLETTER,
79 M_VERSION 80 M_VERSION,
81 MACRO_UPPER,
82 MACRO_LOWER,
80}; 83};
81 84
85#define M_LOWER M(MACRO_LOWER)
86#define M_UPPER M(MACRO_UPPER)
87#define ROT_LED M(M_LED) /* Rotate LED */
88#define QWERTY DF(_QWERTY) /* Switch to QWERTY layout */
89#define KEYPAD DF(_KEYPAD) /* Switch to keypad */
90#define USERNAME M(M_USERNAME) /* shortcut for username */
91#define RANDDIG M(M_RANDDIGIT)
92#define RANDALP M(M_RANDLETTER)
93#define CTLENTER MT(MOD_RCTL, KC_ENT)
94#define SHIFTQUOTE MT(MOD_RSFT, KC_QUOT)
95#define ALTRIGHT MT(MOD_LALT, KC_RGHT)
96#define MVERSION M(M_VERSION)
97
98
82/* Note that Planck has dimensions 4 rows x 12 columns */ 99/* Note that Planck has dimensions 4 rows x 12 columns */
83 100
84const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 101const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
85[_QW] = { /* Qwerty */ 102[_QWERTY] = { /* Qwerty */
86 {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 103 {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
87 {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT)}, 104 {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTLENTER},
88 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT }, 105 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTQUOTE },
89 {KC_TAB, M(M_LED), KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 106 {KC_TAB, KC_LALT, ROT_LED, KC_LGUI, M_LOWER, KC_SPC, KC_SPC, M_UPPER, KC_LEFT, KC_DOWN, KC_UP, ALTRIGHT}
90 /* Note that KC_SPC is recorded TWICE, so that either matrix position can activate it */ 107 /* Note that KC_SPC is recorded TWICE, so that either matrix position can activate it */
91}, 108},
92[_RS] = { /* RAISE */ 109[_RAISE] = { /* RAISE */
93 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 110 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
94 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 111 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
95 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, _______}, 112 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, RESET, _______},
96 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 113 {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
97}, 114},
98[_LW] = { /* LOWER */ 115[_LOWER] = { /* LOWER */
99 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 116 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
100 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 117 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
101 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_KP), DF(_KP), RESET, _______}, 118 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, RESET, _______},
102 {_______, DF(_KP), _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} 119 {_______, KEYPAD, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
120 },
121[_KEYPAD] = { /* Key Pad */
122 {KC_ESC, USERNAME, MVERSION, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC},
123 {KC_LCTL, RANDDIG, KC_F5, KC_F6, KC_F7, KC_F8, KC_PGDN, KC_KP_MINUS, KC_4, KC_5, KC_6, KC_PIPE},
124 {KC_LSFT, RANDALP, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_KP_PLUS, KC_1, KC_2, KC_3, KC_ENTER},
125 {KC_TAB, KC_LALT, ROT_LED, KC_LGUI, M_LOWER, KC_SPC, KC_SPC, QWERTY, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT}
103}, 126},
104[_KP] = { /* Key Pad */ 127
105 {KC_ESC, M(M_USERNAME), M(M_VERSION), KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC}, 128[_ADJUST] = { /* Adjustments - gonna shift the wild tools in here */
106 {KC_LCTL, M(M_RANDDIGIT), KC_F5, KC_F6, KC_F7, KC_F8, KC_PGDN, KC_KP_MINUS, KC_4, KC_5, KC_6, KC_PIPE}, 129 {ROT_LED,USERNAME,MVERSION, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
107 {KC_LSFT, M(M_RANDLETTER), KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_KP_PLUS, KC_1, KC_2, KC_3, KC_ENTER}, 130 {_______, RANDDIG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
108 {BL_STEP, M(M_LED), KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_SPC, DF(_QW), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} 131 {_______, RANDALP, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______ },
109} 132 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
133}
110}; 134};
111 135
112/* What is fn_actions actually used for??? */ 136/* What is fn_actions actually used for??? */
@@ -171,6 +195,39 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
171 unregister_code (KC_A + rval); 195 unregister_code (KC_A + rval);
172 } 196 }
173 break; 197 break;
198 case MACRO_UPPER:
199 if (record->event.pressed)
200 {
201 layer_on(_RAISE);
202#ifdef BACKLIGHT_ENABLE
203 breathing_speed_set(2);
204 breathing_pulse();
205#endif
206 update_tri_layer(_LOWER, _RAISE, _ADJUST);
207 }
208 else
209 {
210 layer_off(_RAISE);
211 update_tri_layer(_LOWER, _RAISE, _ADJUST);
212 }
213 break;
214 case MACRO_LOWER:
215 if (record->event.pressed)
216 {
217 layer_on(_LOWER);
218#ifdef BACKLIGHT_ENABLE
219 breathing_speed_set(2);
220 breathing_pulse();
221#endif
222 update_tri_layer(_LOWER, _RAISE, _ADJUST);
223 }
224 else
225 {
226 layer_off(_LOWER);
227 update_tri_layer(_LOWER, _RAISE, _ADJUST);
228 }
229 break;
230
174 } 231 }
175 return MACRO_NONE; 232 return MACRO_NONE;
176}; 233};
diff --git a/keyboards/planck/keymaps/cbbrowne/readme.md b/keyboards/planck/keymaps/cbbrowne/readme.md
index 51979f630..184142e0c 100644
--- a/keyboards/planck/keymaps/cbbrowne/readme.md
+++ b/keyboards/planck/keymaps/cbbrowne/readme.md
@@ -24,7 +24,26 @@ doing sundry experimentation:
24 - Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random 24 - Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random
25 - Key [3][2] aka "z" uses a random number generator to select a letter a-z at random 25 - Key [3][2] aka "z" uses a random number generator to select a letter a-z at random
26 - Key [1][3] aka "e" spits out the keymap version number 26 - Key [1][3] aka "e" spits out the keymap version number
27 * Minor use of Space Cadet Shift; my SHIFT key has switched to KC_LSP0, so that when I just hit SHIFT, I get a left parens: ( which is great for Lisping. I don't have a Right Shift, so I don't get an autoclose; I think I'll live with that until a Planck successor with more lines of keys :-) 27 * Trying out sgoodwin's "hold Enter down to get Shift"
28 - Liking this Quite Well Enough...
29 - Applied this to both Shift and Quote
30 - It seems likely that Alt should get a right-hand-side, akin to this...
31 - Alt needs to move, and get a RHS
32 - Hence ALTRIGHT, and shifted ROT_LED over
33 - Emacs likes this!!! :-)
34 - I'm suspicious that I'll want to shift ROT_LED another location over,
35 so some modifier can replace the OS/KC_LGUI key
36 * I have added an alternate ADJUST layer that is activated via update_tri_layer()
37 - e.g. - LOWER+RAISE simultaneously
38 - This seems entirely more useful for handling my "special keys"
39 like the random numbers, user name, and such, than the keypad layer
40 * The _ADJUST layer provides a good place to have RESET
41 - But this isn't strictly enough; I want RESET somewhat accessible from
42 main layer lest an error hide that layer
43 - I never use the OS/KC_LGUI key (that's Command on MacOS, Windows
44 Key on Windows), so that's a good place to have it as a chord of
45 some sort
46
28 47
292. Some code structure ideas 482. Some code structure ideas
30--------------------------------------------------- 49---------------------------------------------------
@@ -43,8 +62,8 @@ doing sundry experimentation:
43 only need to fit 4 symbols onto each line, rather than 12. 62 only need to fit 4 symbols onto each line, rather than 12.
44 63
45 I used enums to manage layer IDs and macro IDs so that I don't need 64 I used enums to manage layer IDs and macro IDs so that I don't need
46 to care (beyond "start at 0", and arguably that's not needed) about 65 to care (beyond "start at 0", and arguably even that's not needed)
47 their values. 66 about their values.
48 67
493. Things I did not like about the default mapping 683. Things I did not like about the default mapping
50--------------------------------------------------------- 69---------------------------------------------------------
@@ -57,12 +76,27 @@ doing sundry experimentation:
57 and shift ESC off the first column so KC_LCTL and KC_LALT can 76 and shift ESC off the first column so KC_LCTL and KC_LALT can
58 be on the first column. 77 be on the first column.
59 * I needed to swap ' and ENTER 78 * I needed to swap ' and ENTER
79
804. Unuseful experiments
81---------------------------------------------------------
82
83I have tried some things out that didn't turn out particularly well.
84I'll note some of these for posterity, hopefully helpful in not doing
85unwise things again...
86
60 * I tried added Workman alongside Dvorak and Colemak 87 * I tried added Workman alongside Dvorak and Colemak
61 - Boy, oh boy, these don't help!!! 88 - Boy, oh boy, these don't help!!!
62 - I have done 30 years of learning of Emacs key mappings, and 89 - I have done 30 years of learning of Emacs key mappings, and
63 these alternative keyboards massively mess me up 90 these alternative keyboards massively mess me up
64 91
654. TODO 92 * Space Cadet Shift; switching L_SHIFT to KC_LSP0, so that when I
93 just hit SHIFT, I get a left parens. In principle, this is great
94 for Lisping.
95 - Unfortunately, there are times when mouse interfaces use SHIFT
96 to allow selecting multiple items, and this really interferes
97 with that
98
995. TODO
66--------------------------------------------------------- 100---------------------------------------------------------
67 101
68 * I use tmux quite a lot; the mollat keymap seems to have some 102 * I use tmux quite a lot; the mollat keymap seems to have some
@@ -77,4 +111,3 @@ doing sundry experimentation:
77 * The jeebak keymap seems to have some neat ideas: 111 * The jeebak keymap seems to have some neat ideas:
78 - Number layer which is aggressive about having numbers in several places 112 - Number layer which is aggressive about having numbers in several places
79 - Touch layer seems interesting 113 - Touch layer seems interesting
80 * Trying out sgoodwin's "hold Enter down to get Shift" \ No newline at end of file
diff --git a/keyboards/vision_division/config.h b/keyboards/vision_division/config.h
index f50378ffa..1f8466a54 100644
--- a/keyboards/vision_division/config.h
+++ b/keyboards/vision_division/config.h
@@ -26,10 +26,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26/* COL2ROW or ROW2COL */ 26/* COL2ROW or ROW2COL */
27#define DIODE_DIRECTION ROW2COL 27#define DIODE_DIRECTION ROW2COL
28 28
29// #define BACKLIGHT_PIN B7 29#define BACKLIGHT_PIN B7
30// #define BACKLIGHT_BREATHING 30#define BACKLIGHT_BREATHING
31// #define BACKLIGHT_LEVELS 3 31#define BACKLIGHT_LEVELS 3
32
33 32
34/* 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 */
35#define DEBOUNCING_DELAY 5 34#define DEBOUNCING_DELAY 5
@@ -124,10 +123,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
124 */ 123 */
125 124
126/* disable debug print */ 125/* disable debug print */
127//#define NO_DEBUG 126// #ifndef NO_DEBUG
127// # define NO_DEBUG
128// #endif
128 129
129/* disable print */ 130/* disable print */
130//#define NO_PRINT 131// #ifndef NO_PRINT
132// # define NO_PRINT
133// #endif
134
135/* Only print user print statements */
136// #define USER_PRINT
137
131 138
132/* disable action features */ 139/* disable action features */
133//#define NO_ACTION_LAYER 140//#define NO_ACTION_LAYER
diff --git a/keyboards/vision_division/keymaps/default/Makefile b/keyboards/vision_division/keymaps/default/Makefile
index ecbe7e1ab..5a930e85e 100644
--- a/keyboards/vision_division/keymaps/default/Makefile
+++ b/keyboards/vision_division/keymaps/default/Makefile
@@ -2,19 +2,19 @@
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 = yes # 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)
9COMMAND_ENABLE = yes # Commands for debug and configuration 9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls 12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = yes # Audio output on port C6 13AUDIO_ENABLE = yes # Audio output on port C6
14UNICODE_ENABLE = no # Unicode 14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18 18
19ifndef QUANTUM_DIR 19ifndef QUANTUM_DIR
20 include ../../../../Makefile 20 include ../../../../Makefile
diff --git a/keyboards/vision_division/keymaps/default/config.h b/keyboards/vision_division/keymaps/default/config.h
index 16740fb15..efd43f41b 100644
--- a/keyboards/vision_division/keymaps/default/config.h
+++ b/keyboards/vision_division/keymaps/default/config.h
@@ -4,25 +4,44 @@
4#include "../../config.h" 4#include "../../config.h"
5#include "matrix_types.h" 5#include "matrix_types.h"
6 6
7
8/* USB Device descriptor parameter */ 7/* USB Device descriptor parameter */
9#define VENDOR_ID 0xFEED 8#define VENDOR_ID 0xFEED
10#define PRODUCT_ID GET_PID(NUMERIC_NORMAL, HOMING_MAX_TEENSY)
11#define DEVICE_VER 0x0001 9#define DEVICE_VER 0x0001
12#define MANUFACTURER IBNobody 10#define MANUFACTURER IBNobody
13#define PRODUCT Vision Division 11#define PRODUCT Vision Division
14#define DESCRIPTION Full / Split Keyboard 12#define DESCRIPTION Full / Split Keyboard
15 13
16 14#define MATRIX_ROWS 6
17#define MATRIX_ROWS 6
18#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 } 15#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
19 16
20#define MATRIX_COLS GET_MATRIX_COLS(NUMERIC_NORMAL, HOMING_MAX_TEENSY) 17// !!! MAKE SURE THAT THE LEFT/RIGHT PCB DEFINES MATCH ON ALL OF THESE COLUMNS
21#define MATRIX_COL_PINS GET_MATRIX_COL_PINS(NUMERIC_NORMAL, HOMING_MAX_TEENSY)
22 18
23#define UNUSED_PINS 19// **LEFT** **RIGHT**
20#define PRODUCT_ID GET_PID( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
21#define MATRIX_COLS GET_MATRIX_COLS( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
22#define MATRIX_COL_PINS GET_MATRIX_COL_PINS( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
24 23
25/*#define KEYMAP( \ 24#define KEYMAP(MATRIX_LAYER, \
25 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
26 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
27 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
28 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
29 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
30 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
31) \
32KEYMAP_MASTER(MATRIX_LAYER, NUMERIC_NORMAL, NUMERIC_MAX_TEENSY, \
33 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
34 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
35 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
36 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
37 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
38 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
39)
40
41// Example Keymap Macros
42
43/*
44#define KEYMAP(MATRIX_LAYER, \
26 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \ 45 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
27 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \ 46 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
28 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \ 47 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
@@ -30,16 +49,18 @@
30 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \ 49 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
31 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \ 50 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
32) \ 51) \
33KEYMAP_MASTER(NUMERIC_MAX_TEENSY, NUMERIC_MAX, \ 52KEYMAP_MASTER(MATRIX_LAYER, NUMERIC_MAX_TEENSY, NUMERIC_MAX, \
34 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \ 53 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
35 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \ 54 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
36 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \ 55 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
37 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \ 56 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
38 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \ 57 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
39 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \ 58 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
40)*/ 59)
60*/
41 61
42#define KEYMAP( \ 62/*
63#define KEYMAP(MATRIX_LAYER, \
43 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, \ 64 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, \
44 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, \ 65 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, \
45 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, \ 66 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, \
@@ -47,7 +68,7 @@ KEYMAP_MASTER(NUMERIC_MAX_TEENSY, NUMERIC_MAX, \
47 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, \ 68 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, \
48 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B \ 69 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B \
49) \ 70) \
50KEYMAP_MASTER(NUMERIC_NORMAL, HOMING_MAX_TEENSY, \ 71KEYMAP_MASTER(MATRIX_LAYER, NUMERIC_NORMAL, HOMING_MAX_TEENSY, \
51 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \ 72 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \
52 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \ 73 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \
53 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \ 74 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \
@@ -55,5 +76,6 @@ KEYMAP_MASTER(NUMERIC_NORMAL, HOMING_MAX_TEENSY, \
55 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \ 76 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \
56 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO \ 77 k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO \
57) 78)
79*/
58 80
59#endif \ No newline at end of file 81#endif \ No newline at end of file
diff --git a/keyboards/vision_division/keymaps/default/keymap.c b/keyboards/vision_division/keymaps/default/keymap.c
index b8cef9c75..64118abdc 100644
--- a/keyboards/vision_division/keymaps/default/keymap.c
+++ b/keyboards/vision_division/keymaps/default/keymap.c
@@ -8,46 +8,70 @@
8 #include "song_list.h" 8 #include "song_list.h"
9#endif 9#endif
10 10
11#define LAYER_QWERTY 0 11enum keyboard_layers {
12#define LAYER_COLEMAK 1 12 LAYER_QWERTY = 0,
13#define LAYER_DVORAK 2 13 LAYER_UPPER,
14#define LAYER_UPPER 3 14 LAYER_LOWER,
15#define LAYER_LOWER 4 15 LAYER_FUNCTION,
16#define LAYER_FUNCTION 5 16 LAYER_MOUSE,
17#define LAYER_MOUSE 6 17 LAYER_ADJUST,
18#define LAYER_ADJUST 7 18};
19 19enum keyboard_macros {
20#define MACRO_QWERTY 0 20 MACRO_QWERTY = 0,
21#define MACRO_COLEMAK 1 21 MACRO_UPPER,
22#define MACRO_DVORAK 2 22 MACRO_LOWER,
23#define MACRO_UPPER 3 23 MACRO_FUNCTION,
24#define MACRO_LOWER 4 24 MACRO_MOUSE,
25#define MACRO_FUNCTION 5 25 MACRO_TIMBRE_1,
26#define MACRO_MOUSE 6 26 MACRO_TIMBRE_2,
27#define MACRO_TIMBRE_1 7 27 MACRO_TIMBRE_3,
28#define MACRO_TIMBRE_2 8 28 MACRO_TIMBRE_4,
29#define MACRO_TIMBRE_3 9 29 MACRO_TEMPO_U,
30#define MACRO_TIMBRE_4 10 30 MACRO_TEMPO_D,
31#define MACRO_TEMPO_U 11 31 MACRO_TONE_DEFAULT,
32#define MACRO_TEMPO_D 12 32 MACRO_MUSIC_TOGGLE,
33#define MACRO_TONE_DEFAULT 13 33 MACRO_AUDIO_TOGGLE,
34#define MACRO_MUSIC_TOGGLE 14 34 MACRO_INC_VOICE,
35#define MACRO_AUDIO_TOGGLE 16 35 MACRO_DEC_VOICE,
36#define MACRO_INC_VOICE 18 36 MACRO_BACKLIGHT,
37#define MACRO_DEC_VOICE 19 37 MACRO_BREATH_TOGGLE,
38#define MACRO_BACKLIGHT 20 38 MACRO_BREATH_SPEED_INC,
39#define MACRO_BREATH_TOGGLE 21 39 MACRO_BREATH_SPEED_DEC,
40#define MACRO_BREATH_SPEED_INC 23 40 MACRO_BREATH_DEFAULT,
41#define MACRO_BREATH_SPEED_DEC 24 41 MACRO_MOUSE_MOVE_UL,
42#define MACRO_BREATH_DEFAULT 25 42 MACRO_MOUSE_MOVE_UR,
43 MACRO_MOUSE_MOVE_DL,
44 MACRO_MOUSE_MOVE_DR,
45 MACRO_HELP,
46 MACRO_HELP_1,
47 MACRO_HELP_2,
48 MACRO_HELP_3,
49 MACRO_HELP_4,
50 MACRO_HELP_5,
51 MACRO_HELP_6,
52 MACRO_HELP_7,
53 MACRO_HELP_8,
54 MACRO_HELP_9,
55 MACRO_HELP_0,
56 MACRO_GENERAL_1,
57 MACRO_GENERAL_2,
58 MACRO_GENERAL_3,
59 MACRO_GENERAL_4,
60 MACRO_GENERAL_5,
61 MACRO_CURSOR_UL,
62 MACRO_CURSOR_UR,
63 MACRO_CURSOR_DL,
64 MACRO_CURSOR_DR,
65 MACRO_MUTE_APP,
66 MACRO_COPY_CUT,
67};
43 68
44#define M_QWRTY M(MACRO_QWERTY) 69#define M_QWRTY M(MACRO_QWERTY)
45#define M_COLMK M(MACRO_COLEMAK)
46#define M_DVORK M(MACRO_DVORAK)
47#define M_UPPER M(MACRO_UPPER) 70#define M_UPPER M(MACRO_UPPER)
48#define M_LOWER M(MACRO_LOWER) 71#define M_LOWER M(MACRO_LOWER)
49#define M_FUNCT M(MACRO_FUNCTION) 72#define M_FUNCT M(MACRO_FUNCTION)
50#define M_MOUSE M(MACRO_MOUSE) 73#define M_MOUSE M(MACRO_MOUSE)
74
51#define TIMBR_1 M(MACRO_TIMBRE_1) 75#define TIMBR_1 M(MACRO_TIMBRE_1)
52#define TIMBR_2 M(MACRO_TIMBRE_2) 76#define TIMBR_2 M(MACRO_TIMBRE_2)
53#define TIMBR_3 M(MACRO_TIMBRE_3) 77#define TIMBR_3 M(MACRO_TIMBRE_3)
@@ -55,15 +79,47 @@
55#define TMPO_UP M(MACRO_TEMPO_U) 79#define TMPO_UP M(MACRO_TEMPO_U)
56#define TMPO_DN M(MACRO_TEMPO_D) 80#define TMPO_DN M(MACRO_TEMPO_D)
57#define TMPO_DF M(MACRO_TONE_DEFAULT) 81#define TMPO_DF M(MACRO_TONE_DEFAULT)
82
83#define VC_UP M(MACRO_INC_VOICE)
84#define VC_DOWN M(MACRO_DEC_VOICE)
85
58#define M_BACKL M(MACRO_BACKLIGHT) 86#define M_BACKL M(MACRO_BACKLIGHT)
59#define M_BRTOG M(MACRO_BREATH_TOGGLE) 87#define M_BRTOG M(MACRO_BREATH_TOGGLE)
60#define M_BSPDU M(MACRO_BREATH_SPEED_INC) 88#define M_BSPDU M(MACRO_BREATH_SPEED_INC)
61#define M_BSPDD M(MACRO_BREATH_SPEED_DEC) 89#define M_BSPDD M(MACRO_BREATH_SPEED_DEC)
62#define M_BDFLT M(MACRO_BREATH_DEFAULT) 90#define M_BDFLT M(MACRO_BREATH_DEFAULT)
63 91
92#define M_MS_UL M(MACRO_MOUSE_MOVE_UL)
93#define M_MS_UR M(MACRO_MOUSE_MOVE_UR)
94#define M_MS_DL M(MACRO_MOUSE_MOVE_DL)
95#define M_MS_DR M(MACRO_MOUSE_MOVE_DR)
64 96
65#define VC_UP M(MACRO_INC_VOICE) 97#define M_HELP M(MACRO_HELP)
66#define VC_DOWN M(MACRO_DEC_VOICE) 98#define M_HELP1 M(MACRO_HELP_1)
99#define M_HELP2 M(MACRO_HELP_2)
100#define M_HELP3 M(MACRO_HELP_3)
101#define M_HELP4 M(MACRO_HELP_4)
102#define M_HELP5 M(MACRO_HELP_5)
103#define M_HELP6 M(MACRO_HELP_6)
104#define M_HELP7 M(MACRO_HELP_7)
105#define M_HELP8 M(MACRO_HELP_8)
106#define M_HELP9 M(MACRO_HELP_9)
107#define M_HELP0 M(MACRO_HELP_0)
108
109#define M_M1 M(MACRO_GENERAL_1)
110#define M_M2 M(MACRO_GENERAL_2)
111#define M_M3 M(MACRO_GENERAL_3)
112#define M_M4 M(MACRO_GENERAL_4)
113#define M_M5 M(MACRO_GENERAL_5)
114
115#define M_UL M(MACRO_CURSOR_UL)
116#define M_UR M(MACRO_CURSOR_UR)
117#define M_DL M(MACRO_CURSOR_DL)
118#define M_DR M(MACRO_CURSOR_DR)
119
120#define M_MUTEA M(MACRO_MUTE_APP)
121
122#define M_CP_CT M(MACRO_COPY_CUT)
67 123
68 124
69#define SC_UNDO LCTL(KC_Z) 125#define SC_UNDO LCTL(KC_Z)
@@ -77,6 +133,7 @@
77#define SC_ACLS LALT(KC_F4) 133#define SC_ACLS LALT(KC_F4)
78#define SC_CCLS LCTL(KC_F4) 134#define SC_CCLS LCTL(KC_F4)
79 135
136#define TG_NKRO MAGIC_TOGGLE_NKRO
80#define OS_SHFT KC_FN0 137#define OS_SHFT KC_FN0
81 138
82#define _______ KC_TRNS 139#define _______ KC_TRNS
@@ -84,208 +141,128 @@
84#define ________________ _______, _______ 141#define ________________ _______, _______
85#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX 142#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
86 143
87const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 144const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
88 145{
89 146/* LAYER = LAYER_QWERTY
90KEYMAP( \ 147 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
91 KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, 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, \ 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 |
92 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, \ 149 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
93 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, \ 150 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
94 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, XXXXXXX, XXXXXXX, XXXXXXX, \ 151 | M1 | INS | HOME | PG UP | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | NUM LK | KP / | KP * | KP - |
95 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, \ 152 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
96 KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, KC_LCTL, KC_LCTL, XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC, KC_SPC, XXXXXXX, OS_SHFT, KC_RALT, KC_APP, KC_RCTL, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 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 + |
97) 154 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
98 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 + |
99 156 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
100// [LAYER_QWERTY] = { // QWERTY 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 |
101// { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, 158 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
102// { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, 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 |
103// { KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP }, 160 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
104// { 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_UP, KC_PGDN }, 161*/
105// { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT }, 162KEYMAP(LAYER_QWERTY, \
106// }, 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, \
107 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, \
108 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, \
109// /* Numeric Max / Homing Normal - Traditional 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, \
110// * .-----------------------------------. .-----------------------------------. .-----------------_-----------------. .-----------------------------------. .--------------------------. 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, \
111// * | | | | | | | | | | | | | | | | | | | | | | | | 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 \
112// * '-----------------------------------' '-----------------------------------' '-----------------------------------' '-----------------------------------' '--------------------------' 169),
113// * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .--------------------------. 170/* LAYER = LAYER_LOWER
114// * | | | | | | ESC | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | | | | | | 171 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
115// * |--------+--------+--------+--------| | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| 172 | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ |
116// * | | | | | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | | | | | | 173 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
117// * |--------+--------+--------+ | o | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| '--------+--------+--------' 174 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
118// * | | | | | o | CAPS | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | | 175 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
119// * |--------+--------+--------+--------| o | -------+ -------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---+--------| .--------. 176 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
120// * | | | | | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX | | | | 177 | ______ | ______ | ______ | ______ | | ______ | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | ______ | ______ | | ______ | ______ | ______ | ______ |
121// * |--------+--------+--------+ | | -------+ -------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+--------+--------| .--------+--------+--------. 178 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
122// * | | | | | LCTRL | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | | | | | | 179 | ______ | ______ | ______ | ______ | | ______ | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | ______ | ______ | o | ______ | ______ | ______ | ______ |
123// * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '--------------------------' 180 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
124// */ 181 | ______ | ______ | ______ | ______ | | ______ | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ | ______ | | ______ | ______ | ______ | ______ |
125 182 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
126 183 | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
127// /* QWERTY 184 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
128// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. 185*/
129// * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | 186KEYMAP(LAYER_LOWER, \
130// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| 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, _______, _______, \
131// * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | 188 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
132// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| 189 _______, _______, _______, _______, _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, _______, _______, _______, \
133// * | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | 190 _______, _______, _______, _______, _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, _______, _______, _______, \
134// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| 191 _______, _______, _______, _______, _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, _______, _______, _______, \
135// * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | 192 _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \
136// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| 193),
137// * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | 194/* LAYER = LAYER_UPPER
138// * '--------------------------------------------------------------------------------------------------------------------------------------' 195 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
139// */ 196 | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ |
140 197 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
141// [LAYER_QWERTY] = { // QWERTY 198 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
142// { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, 199 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
143// { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, 200 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
144// { KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP }, 201 | ______ | ______ | ______ | ______ | | ______ | ______ | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | ______ | ______ | | ______ | ______ | ______ | ______ |
145// { 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_UP, KC_PGDN }, 202 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
146// { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT }, 203 | ______ | ______ | ______ | ______ | | ______ | ______ | F5 | F6 | F7 | F8 | CAP LK | KP * | KP 4 | KP 5 | KP 6 | KP + | ______ | ______ | o | ______ | ______ | ______ | ______ |
147// }, 204 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
148 205 | ______ | ______ | ______ | ______ | | ______ | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP Ent | ______ | ______ | | ______ | ______ | ______ | ______ |
149// /* COLEMAK 206 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
150// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. 207 | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
151// * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | 208 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
152// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| 209*/
153// * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL | 210KEYMAP(LAYER_UPPER, \
154// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| 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, _______, _______, \
155// * | BACKSP | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP | 212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
156// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| 213 _______, _______, _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, _______, _______, _______, \
157// * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | 214 _______, _______, _______, _______, _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, _______, _______, _______, \
158// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| 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, _______, _______, _______, _______, _______, _______, \
159// * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | 216 _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \
160// * '--------------------------------------------------------------------------------------------------------------------------------------' 217),
161// */ 218/* LAYER = LAYER_MOUSE
162 219 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
163// [LAYER_COLEMAK] = { // COLEMAK 220 | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
164// { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, 221 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
165// { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, 222 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
166// { KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP }, 223 | MS BT1 | MS AC0 | MS WHU | MS AC2 | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
167// { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN }, 224 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
168// { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT }, 225 | MS BT2 | MS WHL | MS WHD | MS WHU | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
169// }, 226 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
170 227 | MS BT3 | MS UL | MS U | MS UR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | ______ | ______ | ______ | ______ |
171// /* DVORAK 228 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
172// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. 229 | MS BT4 | MS L | MS BT1 | MS R | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
173// * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | XXXXXX . BACKSP | 230 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
174// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| 231 | MS BT5 | MS DL | MS D | MS DR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
175// * | TAB | ' | , | . | P | Y | F | G | C | R | L | / | = | \ | DEL | 232 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
176// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| 233*/
177// * | CAPS | A | O | E | U | I | D | H | T | N | S | - | XXXXXX . ENTER | PG UP | 234KEYMAP(LAYER_MOUSE, \
178// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| 235 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
179// * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN | 236 KC_BTN1, KC_ACL0, KC_WH_U, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
180// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| 237 KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
181// * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | 238 KC_BTN3, M_MS_UL, KC_MS_U, M_MS_UR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
182// * '--------------------------------------------------------------------------------------------------------------------------------------' 239 KC_BTN4, KC_MS_L, KC_BTN1, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
183// */ 240 KC_BTN5, M_MS_DL, KC_MS_D, M_MS_DR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
184 241),
185// [LAYER_DVORAK] = { // DVORAK 242/* LAYER = LAYER_ADJUST
186// { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_BSPC }, 243 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
187// { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL }, 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 |
188// { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_ENT, KC_PGUP }, 245 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
189// { KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN }, 246 .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
190// { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT }, 247 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
191// }, 248 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
192 249 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
193// /* UPPER 250 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
194// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. 251 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | o | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
195// * | PRINT | BR TOG | BR SP+ | BR SP- | BR RST | XXXXXX | XXXXXX | NUM LK | / | * | | NUM LK | SCR LK | XXXXXX . PAUSE | 252 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
196// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| 253 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
197// * | | F1 | F2 | F3 | F4 | | | 7 | 8 | 9 | - | | | | INS | 254 |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
198// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| 255 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
199// * | CAP LK | F5 | F6 | F7 | F8 | | | 4 | 5 | 6 | + | | XXXXXX . | HOME | 256 '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
200// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| 257*/
201// * | | F9 | F10 | F11 | F12 | | | 1 | 2 | 3 | ENTER | XXXXXX . | | END | 258KEYMAP(LAYER_ADJUST, \
202// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| 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 , \
203// * | | | | | | 0 | | RALT | . | ENTER | | | | | 260 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
204// * '--------------------------------------------------------------------------------------------------------------------------------------' 261 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
205// */ 262 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
206 263 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
207// [LAYER_UPPER] = { // UPPER 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 \
208// { KC_PSCR, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, XXXXXXX, XXXXXXX, KC_SLCK, KC_PAUS, KC_PAUS }, 265),
209// { _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS },
210// { KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, ________________, KC_HOME },
211// { _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, ________________, _______, KC_END },
212// { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______ },
213// },
214
215// /* LOWER
216// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
217// * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . BACKSP |
218// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
219// * | | $ | { | [ | ( | % | # | ) | ] | } | @ | | | | INS |
220// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
221// * | | ^ | * | + | - | / | \ | _ | ' | " | ` | | XXXXXX . | HOME |
222// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
223// * | | | | & | ! | ~ | ; | : | = | < | > | ? | XXXXXX . | | END |
224// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
225// * | | | | | | | | | | | | | | |
226// * '--------------------------------------------------------------------------------------------------------------------------------------'
227// */
228
229// [LAYER_LOWER] = { // LOWER
230// { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ________________ },
231// { _______, KC_DLR, KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT, _______, _______, _______, KC_INS },
232// { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT, KC_GRV, _______, ________________, KC_HOME },
233// { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL, KC_LT, KC_GT, KC_QUES, ________________, _______, KC_END },
234// { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______ },
235// },
236
237// /* FUNCTION
238// * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
239// * | NUM LK | | | | | | | | | | | | | XXXXXX . |
240// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
241// * | SCR LK | F13 | F14 | F15 | F16 | | | | | | | | | | |
242// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
243// * | CAP LK | F17 | F18 | F19 | F20 | | | | | | | | XXXXXX . | |
244// * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
245// * | | F21 | F22 | F23 | F24 | | | | | | | XXXXXX . | VOL UP | MUTE |
246// * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
247// * | | | | | | PLAY/PAUSE | | | | | | PTRACK | VOL DN | NTRACK |
248// * '--------------------------------------------------------------------------------------------------------------------------------------'
249// */
250
251// [LAYER_FUNCTION] = { // FUNCTION
252// { KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX },
253// { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
254// { KC_CAPS, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXX },
255// { _______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ________________, KC_VOLU, KC_MUTE },
256// { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT },
257// },
258
259// #ifdef MOUSEKEY_ENABLE
260
261// [LAYER_MOUSE] = { // MOUSE
262// { _______, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX },
263// { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
264// { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, KC_WH_U },
265// { _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ________________, KC_MS_U, KC_WH_D },
266// { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
267// },
268
269// #endif
270
271// [LAYER_ADJUST] = { // ADJUST
272// { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MU_TOG, AU_TOG, ________________ },
273// { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
274// { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______ },
275// { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, _______, ________________, MUV_IN, _______ },
276// { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, MUV_DE, _______ },
277// },
278
279
280// /*
281// [LAYER_EMPTY] = { // LAYER
282// { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________ },
283// { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
284// { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______ },
285// { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______, _______ },
286// { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______ },
287// },
288// */
289 266
290}; 267};
291 268
@@ -313,303 +290,290 @@ float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
313 290
314void persistant_default_layer_set(uint16_t default_layer) 291void persistant_default_layer_set(uint16_t default_layer)
315{ 292{
316 eeconfig_update_default_layer(default_layer); 293 eeconfig_update_default_layer(default_layer);
317 default_layer_set(default_layer); 294 default_layer_set(default_layer);
318} 295}
319 296
320const uint16_t PROGMEM fn_actions[] = { 297const uint16_t PROGMEM fn_actions[] = {
321 [0] = ACTION_MODS_ONESHOT(MOD_LSFT), 298 [0] = ACTION_MODS_ONESHOT(MOD_LSFT),
322}; 299};
323 300
324const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 301const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
325{ 302{
326 303
327 // MACRODOWN only works in this function 304 // MACRODOWN only works in this function
328 switch(id) 305 switch(id)
306 {
307
308 case MACRO_HELP_1:
309 if (record->event.pressed)
310 {
311 uprint("H1");
312 }
313 break;
314
315 case MACRO_HELP_2:
316 if (record->event.pressed)
317 {
318 uprint("H2");
319 }
320 break;
321
322 case MACRO_HELP_3:
323 if (record->event.pressed)
324 {
325 uprint("H3");
326 }
327 break;
328
329 case MACRO_HELP_4:
330 if (record->event.pressed)
331 {
332 uprint("H4");
333 }
334 break;
335
336 case MACRO_HELP_5:
337 if (record->event.pressed)
338 {
339 uprint("H5");
340 }
341 break;
342
343 case MACRO_HELP_6:
344 if (record->event.pressed)
345 {
346 uprint("H6");
347 }
348 break;
349
350 case MACRO_HELP_7:
351 if (record->event.pressed)
352 {
353 uprint("H7");
354 }
355 break;
356
357 case MACRO_HELP_8:
358 if (record->event.pressed)
359 {
360 uprint("H8");
361 }
362 break;
363
364 case MACRO_HELP_9:
365 if (record->event.pressed)
366 {
367 uprint("H9");
368 }
369 break;
370
371 case MACRO_BREATH_TOGGLE:
372 if (record->event.pressed)
373 {
374 breathing_toggle();
375 }
376 break;
377
378 case MACRO_BREATH_SPEED_INC:
379 if (record->event.pressed)
380 {
381 breathing_speed_inc(1);
382 }
383 break;
384
385 case MACRO_BREATH_SPEED_DEC:
386 if (record->event.pressed)
387 {
388 breathing_speed_dec(1);
389 }
390 break;
391
392 case MACRO_BREATH_DEFAULT:
393 if (record->event.pressed)
394 {
395 breathing_defaults();
396 }
397 break;
398
399 case MACRO_QWERTY:
400 if (record->event.pressed)
401 {
402 persistant_default_layer_set(1UL<<LAYER_QWERTY);
403 }
404 break;
405
406 case MACRO_UPPER:
407 if (record->event.pressed)
329 { 408 {
409 layer_on(LAYER_UPPER);
410 breathing_speed_set(2);
411 breathing_pulse();
412 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
413 }
414 else
415 {
416 layer_off(LAYER_UPPER);
417 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
418 }
419 break;
420
421 case MACRO_LOWER:
422 if (record->event.pressed)
423 {
424 layer_on(LAYER_LOWER);
425 breathing_speed_set(2);
426 breathing_pulse();
427 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
428 }
429 else
430 {
431 layer_off(LAYER_LOWER);
432 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
433 }
434 break;
330 435
331 // case MACRO_BREATH_TOGGLE: 436 case MACRO_FUNCTION:
332 // if (record->event.pressed) 437 if (record->event.pressed)
333 // { 438 {
334 // breathing_toggle(); 439 breathing_speed_set(3);
335 // } 440 breathing_enable();
336 // break; 441 layer_on(LAYER_FUNCTION);
337 442 }
338 // case MACRO_BREATH_SPEED_INC: 443 else
339 // if (record->event.pressed) 444 {
340 // { 445 breathing_speed_set(1);
341 // breathing_speed_inc(1); 446 breathing_self_disable();
342 // } 447 layer_off(LAYER_FUNCTION);
343 // break; 448 }
344 449 break;
345 // case MACRO_BREATH_SPEED_DEC:
346 // if (record->event.pressed)
347 // {
348 // breathing_speed_dec(1);
349 // }
350 // break;
351
352 // case MACRO_BREATH_DEFAULT:
353 // if (record->event.pressed)
354 // {
355 // breathing_defaults();
356 // }
357 // break;
358
359 case MACRO_QWERTY:
360 if (record->event.pressed)
361 {
362 persistant_default_layer_set(1UL<<LAYER_QWERTY);
363 #ifdef AUDIO_ENABLE
364 PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
365 #endif /* AUDIO_ENABLE */
366 }
367 break;
368
369 case MACRO_COLEMAK:
370 if (record->event.pressed)
371 {
372 persistant_default_layer_set(1UL<<LAYER_COLEMAK);
373 #ifdef AUDIO_ENABLE
374 PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
375 #endif /* AUDIO_ENABLE */
376 }
377 break;
378
379 case MACRO_DVORAK:
380 if (record->event.pressed)
381 {
382 persistant_default_layer_set(1UL<<LAYER_DVORAK);
383 #ifdef AUDIO_ENABLE
384 PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
385 #endif /* AUDIO_ENABLE */
386 }
387 break;
388
389 case MACRO_UPPER:
390 if (record->event.pressed)
391 {
392 layer_on(LAYER_UPPER);
393 // breathing_speed_set(2);
394 // breathing_pulse();
395 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
396 }
397 else
398 {
399 layer_off(LAYER_UPPER);
400 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
401 }
402 break;
403
404 case MACRO_LOWER:
405 if (record->event.pressed)
406 {
407 layer_on(LAYER_LOWER);
408 // breathing_speed_set(2);
409 // breathing_pulse();
410 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
411 }
412 else
413 {
414 layer_off(LAYER_LOWER);
415 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
416 }
417 break;
418
419 case MACRO_FUNCTION:
420 if (record->event.pressed)
421 {
422 // breathing_speed_set(3);
423 // breathing_enable();
424 layer_on(LAYER_FUNCTION);
425 }
426 else
427 {
428 // breathing_speed_set(1);
429 // breathing_self_disable();
430 layer_off(LAYER_FUNCTION);
431 }
432 break;
433 450
434#ifdef MOUSEKEY_ENABLE 451#ifdef MOUSEKEY_ENABLE
435 452
436 case MACRO_MOUSE: 453 case MACRO_MOUSE:
437 if (record->event.pressed) 454 if (record->event.pressed)
438 { 455 {
439 layer_invert(LAYER_MOUSE); 456 layer_invert(LAYER_MOUSE);
440 } 457 }
441 break; 458 break;
442 459
443#endif /* MOUSEKEY_ENABLE */ 460#endif /* MOUSEKEY_ENABLE */
444 461
445#ifdef AUDIO_ENABLE 462#ifdef AUDIO_ENABLE
446 463
447 case MACRO_TIMBRE_1: 464 case MACRO_TIMBRE_1:
448 if (record->event.pressed) set_timbre(TIMBRE_12); 465 if (record->event.pressed) set_timbre(TIMBRE_12);
449 break; 466 break;
450 467
451 case MACRO_TIMBRE_2: 468 case MACRO_TIMBRE_2:
452 if (record->event.pressed) set_timbre(TIMBRE_25); 469 if (record->event.pressed) set_timbre(TIMBRE_25);
453 break; 470 break;
454 471
455 case MACRO_TIMBRE_3: 472 case MACRO_TIMBRE_3:
456 if (record->event.pressed) set_timbre(TIMBRE_50); 473 if (record->event.pressed) set_timbre(TIMBRE_50);
457 break; 474 break;
458 475
459 case MACRO_TIMBRE_4: 476 case MACRO_TIMBRE_4:
460 if (record->event.pressed) set_timbre(TIMBRE_75); 477 if (record->event.pressed) set_timbre(TIMBRE_75);
461 break; 478 break;
462 479
463 case MACRO_TEMPO_U: 480 case MACRO_TEMPO_U:
464 if (record->event.pressed) increase_tempo(10); 481 if (record->event.pressed) increase_tempo(10);
465 break; 482 break;
466 483
467 case MACRO_TEMPO_D: 484 case MACRO_TEMPO_D:
468 if (record->event.pressed) decrease_tempo(10); 485 if (record->event.pressed) decrease_tempo(10);
469 break; 486 break;
470 487
471 case MACRO_TONE_DEFAULT: 488 case MACRO_TONE_DEFAULT:
472 if (record->event.pressed) 489 if (record->event.pressed)
473 { 490 {
474 set_timbre(TIMBRE_DEFAULT); 491 set_timbre(TIMBRE_DEFAULT);
475 set_tempo(TEMPO_DEFAULT); 492 set_tempo(TEMPO_DEFAULT);
476 } 493 }
477 break; 494 break;
478
479/*
480 case MACRO_AUDIO_TOGGLE:
481 if (record->event.pressed)
482 {
483 if (is_audio_on())
484 {
485 audio_off();
486 }
487 else
488 {
489 audio_on();
490 PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
491 }
492 }
493 break;
494
495 case MACRO_MUSIC_TOGGLE:
496 if (record->event.pressed)
497 {
498 if (IS_LAYER_ON(LAYER_MUSIC))
499 {
500 layer_off(LAYER_MUSIC);
501 stop_all_notes();
502 }
503 else
504 {
505 PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
506 layer_on(LAYER_MUSIC);
507 }
508 }
509 break;
510 case MACRO_INC_VOICE:
511 if (record->event.pressed)
512 {
513 #ifdef AUDIO_ENABLE
514 voice_iterate();
515 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
516 #endif
517 }
518 break;
519
520 case MACRO_DEC_VOICE:
521 if (record->event.pressed)
522 {
523 #ifdef AUDIO_ENABLE
524 voice_deiterate();
525 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
526 #endif
527 }
528 break;
529*/
530 495
531#endif /* AUDIO_ENABLE */ 496#endif /* AUDIO_ENABLE */
532 497
533#ifdef BACKLIGHT_ENABLE 498#ifdef BACKLIGHT_ENABLE
534 case MACRO_BACKLIGHT: 499 case MACRO_BACKLIGHT:
535 if (record->event.pressed) 500 if (record->event.pressed)
536 { 501 {
537 backlight_step(); 502 backlight_step();
538 } 503 }
539#endif 504 break;
505#endif /* BACKLIGHT_ENABLE */
540 506
541 default: 507 default:
542 break; 508 break;
543 509
544 } 510}
545 return MACRO_NONE; 511return MACRO_NONE;
546}; 512};
547 513
548
549#ifdef AUDIO_ENABLE 514#ifdef AUDIO_ENABLE
550 515
551void matrix_init_user(void) 516void matrix_init_user(void)
552{ 517{
553 set_voice(default_voice); 518 set_voice(default_voice);
554 startup_user(); 519 startup_user();
555 println("Matrix Init"); 520 println("Matrix Init");
556} 521}
557 522
558void led_set_user(uint8_t usb_led) 523void led_set_user(uint8_t usb_led)
559{ 524{
560 static uint8_t old_usb_led = 0; 525 static uint8_t old_usb_led = 0;
561 526
562 _delay_ms(10); // gets rid of tick 527 _delay_ms(10); // gets rid of tick
563 528
564 if (!is_playing_notes()) 529 if (!is_playing_notes())
530 {
531 if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
532 {
533 // If CAPS LK LED is turning on...
534 PLAY_NOTE_ARRAY(tone_caps_on, false, LEGATO);
535 }
536 else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
537 {
538 // If CAPS LK LED is turning off...
539 PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
540 }
541 else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
542 {
543 // If NUM LK LED is turning on...
544 PLAY_NOTE_ARRAY(tone_numlk_on, false, LEGATO);
545 }
546 else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
565 { 547 {
566 if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) 548 // If NUM LED is turning off...
567 { 549 PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
568 // If CAPS LK LED is turning on...
569 PLAY_NOTE_ARRAY(tone_caps_on, false, LEGATO);
570 }
571 else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
572 {
573 // If CAPS LK LED is turning off...
574 PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
575 }
576 else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
577 {
578 // If NUM LK LED is turning on...
579 PLAY_NOTE_ARRAY(tone_numlk_on, false, LEGATO);
580 }
581 else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
582 {
583 // If NUM LED is turning off...
584 PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
585 }
586 else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
587 {
588 // If SCROLL LK LED is turning on...
589 PLAY_NOTE_ARRAY(tone_scroll_on, false, LEGATO);
590 }
591 else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
592 {
593 // If SCROLL LED is turning off...
594 PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
595 }
596 } 550 }
551 else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
552 {
553 // If SCROLL LK LED is turning on...
554 PLAY_NOTE_ARRAY(tone_scroll_on, false, LEGATO);
555 }
556 else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
557 {
558 // If SCROLL LED is turning off...
559 PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
560 }
561 }
597 562
598 old_usb_led = usb_led; 563 old_usb_led = usb_led;
599} 564}
600 565
601
602void startup_user() 566void startup_user()
603{ 567{
604 _delay_ms(10); // gets rid of tick 568 _delay_ms(10); // gets rid of tick
605 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO); 569 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
606} 570}
607 571
608void shutdown_user() 572void shutdown_user()
609{ 573{
610 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO); 574 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
611 _delay_ms(2000); 575 _delay_ms(2000);
612 stop_all_notes(); 576 stop_all_notes();
613} 577}
614 578
615void audio_on_user(void) 579void audio_on_user(void)
diff --git a/keyboards/vision_division/matrix_types.h b/keyboards/vision_division/matrix_types.h
index d40b2079a..893e5272a 100644
--- a/keyboards/vision_division/matrix_types.h
+++ b/keyboards/vision_division/matrix_types.h
@@ -139,28 +139,29 @@
139 139
140// Changable Row Macro 140// Changable Row Macro
141 141
142#define KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, \ 142#define _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, \
143 k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \ 143 k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
144) \ 144) \
145KEYMAP_ROW_LEFT_ ## LEFT_TYPE(k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C), KEYMAP_ROW_RIGHT_ ## RIGHT_TYPE(k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C) 145KEYMAP_ROW_LEFT_ ## _LEFT_TYPE( k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C ), \
146KEYMAP_ROW_RIGHT_ ## _RIGHT_TYPE( k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C )
146 147
147// Changable Master Macro 148// Changable Master Macro
148 149
149#define KEYMAP_MASTER(LEFT_TYPE, RIGHT_TYPE, \ 150#define KEYMAP_MASTER(_MATRIX_LAYER, _LEFT_TYPE, _RIGHT_TYPE, \
150 k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C, \ 151 k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C, \
151 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \ 152 k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
152 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \ 153 k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
153 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \ 154 k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
154 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \ 155 k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
155 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \ 156 k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
156) \ 157) \
157{ \ 158[_MATRIX_LAYER] = { \
158 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C ) },\ 159 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C ) },\
159 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C ) },\ 160 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C ) },\
160 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C ) },\ 161 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C ) },\
161 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C ) },\ 162 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C ) },\
162 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C ) },\ 163 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C ) },\
163 { KEYMAP_ROW(LEFT_TYPE, RIGHT_TYPE, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C ) },\ 164 { _KEYMAP_ROW( _LEFT_TYPE, _RIGHT_TYPE, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C ) },\
164} 165}
165 166
166 167
diff --git a/keyboards/vision_division/rules.mk b/keyboards/vision_division/rules.mk
index 063fba29b..6990960bf 100644
--- a/keyboards/vision_division/rules.mk
+++ b/keyboards/vision_division/rules.mk
@@ -63,7 +63,7 @@ COMMAND_ENABLE ?= yes # Commands for debug and configuration
63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend 63SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 64# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
65NKRO_ENABLE ?= yes # USB Nkey Rollover 65NKRO_ENABLE ?= yes # USB Nkey Rollover
66BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default 66BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality on B7 by default
67MIDI_ENABLE ?= no # MIDI controls 67MIDI_ENABLE ?= no # MIDI controls
68UNICODE_ENABLE ?= no # Unicode 68UNICODE_ENABLE ?= no # Unicode
69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID 69BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/vision_division/vision_division.c b/keyboards/vision_division/vision_division.c
index eb9336fa3..a0e0f449c 100644
--- a/keyboards/vision_division/vision_division.c
+++ b/keyboards/vision_division/vision_division.c
@@ -24,5 +24,45 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
24void led_set_kb(uint8_t usb_led) { 24void led_set_kb(uint8_t usb_led) {
25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here 25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
26 26
27 if (usb_led & (1 << USB_LED_CAPS_LOCK))
28 {
29 // HI
30 DDRD |= (1<<4);
31 PORTD |= (1<<4);
32 }
33 else
34 {
35 // Hi-Z
36 DDRD &= ~(1<<4);
37 PORTD &= ~(1<<4);
38 }
39
40 if (usb_led & (1 << USB_LED_NUM_LOCK))
41 {
42 // HI
43 DDRD |= (1<<5);
44 PORTD |= (1<<5);
45 }
46 else
47 {
48 // Hi-Z
49 DDRD &= ~(1<<5);
50 PORTD &= ~(1<<5);
51 }
52
53 if (usb_led & (1 << USB_LED_SCROLL_LOCK))
54 {
55 // HI
56 DDRD |= (1<<6);
57 PORTD |= (1<<6);
58 }
59 else
60 {
61 // Hi-Z
62 DDRD &= ~(1<<6);
63 PORTD &= ~(1<<6);
64 }
65
27 led_set_user(usb_led); 66 led_set_user(usb_led);
28} 67}
68
diff --git a/tmk_core/common/avr/bootloader.c b/tmk_core/common/avr/bootloader.c
index fb9bf2d1c..ad547b985 100644
--- a/tmk_core/common/avr/bootloader.c
+++ b/tmk_core/common/avr/bootloader.c
@@ -38,7 +38,7 @@
38 * | | | | 38 * | | | |
39 * = = = = 39 * = = = =
40 * | | 32KB-4KB | | 128KB-8KB 40 * | | 32KB-4KB | | 128KB-8KB
41 * 0x6000 +---------------+ 0x1FC00 +---------------+ 41 * 0x7000 +---------------+ 0x1E000 +---------------+
42 * | Bootloader | 4KB | Bootloader | 8KB 42 * | Bootloader | 4KB | Bootloader | 8KB
43 * 0x7FFF +---------------+ 0x1FFFF +---------------+ 43 * 0x7FFF +---------------+ 0x1FFFF +---------------+
44 * 44 *
@@ -64,8 +64,8 @@
64#define BOOTLOADER_START (FLASH_SIZE - BOOTLOADER_SIZE) 64#define BOOTLOADER_START (FLASH_SIZE - BOOTLOADER_SIZE)
65 65
66 66
67/* 67/*
68 * Entering the Bootloader via Software 68 * Entering the Bootloader via Software
69 * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html 69 * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html
70 */ 70 */
71#define BOOTLOADER_RESET_KEY 0xB007B007 71#define BOOTLOADER_RESET_KEY 0xB007B007
@@ -137,7 +137,7 @@ void bootloader_jump_after_watchdog_reset(void)
137#if 0 137#if 0
138/* Jumping To The Bootloader 138/* Jumping To The Bootloader
139 * http://www.pjrc.com/teensy/jump_to_bootloader.html 139 * http://www.pjrc.com/teensy/jump_to_bootloader.html
140 * 140 *
141 * This method doen't work when using LUFA. idk why. 141 * This method doen't work when using LUFA. idk why.
142 * - needs to initialize more regisers or interrupt setting? 142 * - needs to initialize more regisers or interrupt setting?
143 */ 143 */
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index fc5aad5c1..f3e1bf623 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -384,9 +384,6 @@ static bool command_common(uint8_t code)
384 debug_mouse = true; 384 debug_mouse = true;
385 } else { 385 } else {
386 print("\ndebug: off\n"); 386 print("\ndebug: off\n");
387 debug_matrix = false;
388 debug_keyboard = false;
389 debug_mouse = false;
390 } 387 }
391 break; 388 break;
392 389