aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodox/keymaps/mclennon_osx/README.md5
-rw-r--r--keyboards/ergodox/keymaps/mclennon_osx/keymap.c144
-rw-r--r--keyboards/lets_split/lets_split.c8
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c193
-rw-r--r--keyboards/planck/keymaps/callum/readme.md100
-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--quantum/process_keycode/process_midi.c4
-rw-r--r--tmk_core/common/avr/bootloader.c8
-rw-r--r--tmk_core/common/command.c3
15 files changed, 942 insertions, 629 deletions
diff --git a/keyboards/ergodox/keymaps/mclennon_osx/README.md b/keyboards/ergodox/keymaps/mclennon_osx/README.md
new file mode 100644
index 000000000..60980d043
--- /dev/null
+++ b/keyboards/ergodox/keymaps/mclennon_osx/README.md
@@ -0,0 +1,5 @@
1# Ergodox EZ for OS X
2
3This keymapping is designed to be reasonably familiar to an ordinary Mac keyboard while taking advantage of the Ergodox EZ's features. Caps lock instead enables a layer which allows a user to use HJKL as arrow keys and to control media. Shift and control have additional mappings on S and D to provide easier access while holding down caps lock.
4
5If you choose to compile this yourself, be sure to compile with `#define PREVENT_STUCK_MODIFIERS` in your `config.h`. Firmware built using [qmk_firmware](https://github.com/jackhumbert/qmk_firmware/).
diff --git a/keyboards/ergodox/keymaps/mclennon_osx/keymap.c b/keyboards/ergodox/keymaps/mclennon_osx/keymap.c
new file mode 100644
index 000000000..627ff01e4
--- /dev/null
+++ b/keyboards/ergodox/keymaps/mclennon_osx/keymap.c
@@ -0,0 +1,144 @@
1// Media keys work on OSX, but not on Windows.
2#include "ergodox.h"
3#include "debug.h"
4#include "action_layer.h"
5
6#define BASE 0 // Default layer
7#define AUXI 1 // Auxiliary layer
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10/* Keymap 0: Basic Layer
11 *
12 * ,--------------------------------------------------. ,--------------------------------------------------.
13 * | ~` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | -_ | += | Bkspc |
14 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
15 * | Tab | Q | W | E | R | T | L1 | | Del | Y | U | I | O | P | |\ |
16 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
17 * | L1 | A | S | D | F | G |------| |------| H | J | K | L | ;: | Enter |
18 * |--------+------+------+------+------+------| {[ | | }] |------+------+------+------+------+--------|
19 * | LShift | Z | X | C | V | B | | | | N | M | <, | >. | ?/ | "' |
20 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
21 * |LCtrl | | | | Esc | | | | | | |
22 * `----------------------------------' `----------------------------------'
23 * ,-------------. ,-------------.
24 * | | | |Power | |
25 * ,------|------|------| |------+--------+------.
26 * | | | | | | | |
27 * | LGui | LAlt |------| |------| Bkspc |Space |
28 * | | | | | Del | | |
29 * `--------------------' `----------------------'
30 */
31// If it accepts an argument (i.e, is a function), it doesn't need KC_.
32// Otherwise, it needs KC_*
33[BASE] = KEYMAP( // layer 0 : default
34 // left hand
35 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
36 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(1),
37 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G,
38 KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC,
39 KC_LCTL, KC_TRNS,KC_TRNS,KC_TRNS,KC_ESC,
40 KC_TRNS,KC_TRNS,
41 KC_TRNS,
42 KC_LGUI,KC_LALT,KC_TRNS,
43
44 // right hand
45 KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC,
46 KC_DELETE, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
47 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_ENT,
48 KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_QUOT,
49 KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
50 KC_PWR, KC_TRNS,
51 KC_TRNS,
52 KC_DELETE, KC_BSPC, KC_SPC
53 ),
54/* Keymap 1: Auxiliary Layer
55 *
56 * ,--------------------------------------------------. ,--------------------------------------------------.
57 * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
58 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
59 * | | | | | | | TRNS | | | Mute | VolDn| VolUp| Play | | |
60 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
61 * | TRNS | |LShift| LCtrl| | |------| |------| LEFT | DOWN | UP |RIGHT | | |
62 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
63 * | LShift | | | | | | | | | MPrv | MNxt | | | | |
64 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
65 * |LCtrl | | | | | | | | | | |
66 * `----------------------------------' `----------------------------------'
67 * ,-------------. ,-------------.
68 * | | | | | |
69 * ,------|------|------| |------+------+------.
70 * | | | | | | | |
71 * | LGui | LAlt |------| |------| Bkspc| Space|
72 * | | | | | Del | | |
73 * `--------------------' `--------------------'
74 */
75// AUXILIARY
76[AUXI] = KEYMAP(
77 // left hand
78 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
80 KC_TRNS, KC_TRNS, KC_LSHIFT,KC_LCTL, KC_TRNS, KC_TRNS,
81 KC_LSHIFT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
82 KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
83 KC_TRNS, KC_TRNS,
84 KC_TRNS,
85 KC_LGUI, KC_LALT, KC_TRNS,
86 // right hand
87 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
88 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS,
89 KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_TRNS, KC_TRNS,
90 KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
92 KC_PWR, KC_TRNS,
93 KC_TRNS,
94 KC_DELETE, KC_BSPC, KC_SPC
95),
96};
97
98const uint16_t PROGMEM fn_actions[] = {
99 [1] = ACTION_LAYER_TAP_TOGGLE(AUXI) // FN1 - Momentary Layer 1 (Auxiliary)
100};
101
102const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
103{
104 // MACRODOWN only works in this function
105 switch(id) {
106 case 0:
107 if (record->event.pressed) {
108 register_code(KC_RSFT);
109 } else {
110 unregister_code(KC_RSFT);
111 }
112 break;
113 }
114 return MACRO_NONE;
115};
116
117// Runs just one time when the keyboard initializes.
118void matrix_init_user(void) {
119
120};
121
122// Runs constantly in the background, in a loop.
123void matrix_scan_user(void) {
124
125 uint8_t layer = biton32(layer_state);
126
127 ergodox_board_led_off();
128 ergodox_right_led_1_off();
129 ergodox_right_led_2_off();
130 ergodox_right_led_3_off();
131 switch (layer) {
132 // TODO: Make this relevant to the ErgoDox EZ.
133 case 1:
134 ergodox_right_led_1_on();
135 break;
136 case 2:
137 ergodox_right_led_2_on();
138 break;
139 default:
140 // none
141 break;
142 }
143
144};
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/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 6c3431133..82ba83f4e 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -14,14 +14,21 @@ extern keymap_config_t keymap_config;
14#define _BASE 0 14#define _BASE 0
15#define _MOVE 1 15#define _MOVE 1
16#define _SYMB 2 16#define _SYMB 2
17#define _FUNC 3 17#define _MOUSE 3
18#define _FUNC 4
18 19
19enum planck_keycodes { 20enum planck_keycodes {
20 BASE = SAFE_RANGE, 21 MOVE = SAFE_RANGE,
21 MOVE,
22 SYMB, 22 SYMB,
23 FUNC, 23 FUNC,
24 LOCK 24 CMDLEFT,
25 CMDRGHT,
26 BELOW,
27 ABOVE,
28 DASH,
29 GBP,
30 VOLUP,
31 VOLDN
25}; 32};
26 33
27// Fillers to make layering more clear 34// Fillers to make layering more clear
@@ -33,73 +40,91 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33/* BASE 40/* BASE
34 * ,-----------------------------------------------------------------------------------. 41 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - | 42 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
36 * |------+------+------+------+------+-------------+------+------+------+------+------| 43 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Bksp | A | R | S | T | D | H | N | E | I | O | " | 44 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
38 * |------+------+------+------+------+------|------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
40 * |------+------+------+------+------+------+------+------+------+------+------+------| 45 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Func | Ctrl | Alt | GUI | Symb |Enter |Space | Move | GUI | Alt | Ctrl |Caps | 46 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
47 * |------+------+------+------+------+------+------+------+------+------+------+------|
48 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
42 * `-----------------------------------------------------------------------------------' 49 * `-----------------------------------------------------------------------------------'
43 */ 50 */
44[_BASE] = { 51[_BASE] = {
45 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, 52 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS},
46 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 53 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
47 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, 54 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
48 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, KC_CAPS} 55 {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, FUNC }
49}, 56},
50 57
51/* MOVE 58/* MOVE
52 * ,-----------------------------------------------------------------------------------. 59 * ,-----------------------------------------------------------------------------------.
53 * | Esc | | Home | Up | End | | | Home | Up | End | | Esc | 60 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
54 * |------+------+------+------+------+-------------+------+------+------+------+------|
55 * | Del | | Left | Down |Right | | | Left | Down |Right | | Del |
56 * |------+------+------+------+------+------|------+------+------+------+------+------|
57 * | | | |Pg Up |Pg Dn | | |Pg Dn |Pg Up | | | |
58 * |------+------+------+------+------+------+------+------+------+------+------+------| 61 * |------+------+------+------+------+------+------+------+------+------+------+------|
59 * | | | | | | | | | | | | | 62 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | | | | | Below| | | | | | |
60 * `-----------------------------------------------------------------------------------' 67 * `-----------------------------------------------------------------------------------'
61 */ 68 */
62[_MOVE] = { 69[_MOVE] = {
63 {KC_ESC, _______, KC_HOME, KC_UP, KC_END, _______, _______, KC_HOME, KC_UP, KC_END, _______, KC_ESC}, 70 {KC_ESC, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, XXXXXXX, CMDLEFT, KC_UP, CMDRGHT, XXXXXXX, KC_ESC },
64 {KC_DEL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL}, 71 {KC_DEL, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL },
65 {_______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______}, 72 {_______, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN, ABOVE, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, _______},
66 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 73 {_______, _______, _______, _______, _______, BELOW, _______, _______, _______, _______, _______, _______}
67}, 74},
68 75
69/* SYMB 76/* SYMB
70 * ,-----------------------------------------------------------------------------------. 77 * ,-----------------------------------------------------------------------------------.
71 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Esc | 78 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
72 * |-----------------------------------------------------------------------------------. 79 * |------+------+------+------+------+------+------+------+------+------+------+------|
73 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | 80 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
74 * |------+------+------+------+------+-------------+------+------+------+------+------| 81 * |------+------+------+------+------+------+------+------+------+------+------+------|
75 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | 82 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
76 * |------+------+------+------+------+------+------+------+------+------+------+------| 83 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | | | | | | | | | | | | | 84 * | | | | | | | | | | | | |
78 * `-----------------------------------------------------------------------------------' 85 * `-----------------------------------------------------------------------------------'
79 */ 86 */
80[_SYMB] = { 87[_SYMB] = {
81 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC }, 88 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DASH },
82 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, 89 {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, GBP },
83 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, 90 {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______},
84 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 91 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
85}, 92},
86 93
94/* MOUSE
95 * ,-----------------------------------------------------------------------------------.
96 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
99 * |------+------+------+------+------+------+------+------+------+------+------+------|
100 * | | | | | | | | SW-D | SW-U | | | |
101 * |------+------+------+------+------+------+------+------+------+------+------+------|
102 * | | | | | | | | | | | | |
103 * `-----------------------------------------------------------------------------------'
104 */
105[_MOUSE] = {
106 {XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, XXXXXXX, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX},
107 {XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX},
108 {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, XXXXXXX, _______},
109 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
110},
111
87/* FUNC 112/* FUNC
88 * ,-----------------------------------------------------------------------------------. 113 * ,-----------------------------------------------------------------------------------.
89 * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | 114 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
90 * |-----------------------------------------------------------------------------------.
91 * | | Play | Prev | Next | BL+ | | | Lock | | | | |
92 * |------+------+------+------+------+------|------+------+------+------+------+------|
93 * | | Mute | Vol- | Vol+ | BL- | | | | | | | |
94 * |------+------+------+------+------+------+------+------+------+------+------+------| 115 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | | | | | | | | | | | |Reset | 116 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
117 * |------+------+------+------+------+------+------+------+------+------+------+------|
118 * | | F21 | F22 | F23 | F24 | | | | | | | |
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * | | | | | Prev | Mute | Play | Next | | | | |
96 * `-----------------------------------------------------------------------------------' 121 * `-----------------------------------------------------------------------------------'
97 */ 122 */
98[_FUNC] = { 123[_FUNC] = {
99 {KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 }, 124 {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, VOLUP },
100 {_______, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAUS, _______, _______, LOCK, _______, _______, _______, _______}, 125 {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, VOLDN },
101 {_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_SLCK, _______, _______, _______, _______, _______, _______, _______}, 126 {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______},
102 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET } 127 {_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
103} 128}
104 129
105}; 130};
@@ -109,20 +134,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
109 case MOVE: 134 case MOVE:
110 if (record->event.pressed) { 135 if (record->event.pressed) {
111 layer_on(_MOVE); 136 layer_on(_MOVE);
112 update_tri_layer(_MOVE, _SYMB, _FUNC); 137 update_tri_layer(_MOVE, _SYMB, _MOUSE);
113 } else { 138 } else {
114 layer_off(_MOVE); 139 layer_off(_MOVE);
115 update_tri_layer(_MOVE, _SYMB, _FUNC); 140 update_tri_layer(_MOVE, _SYMB, _MOUSE);
116 } 141 }
117 return false; 142 return false;
118 break; 143 break;
119 case SYMB: 144 case SYMB:
120 if (record->event.pressed) { 145 if (record->event.pressed) {
121 layer_on(_SYMB); 146 layer_on(_SYMB);
122 update_tri_layer(_MOVE, _SYMB, _FUNC); 147 update_tri_layer(_MOVE, _SYMB, _MOUSE);
123 } else { 148 } else {
124 layer_off(_SYMB); 149 layer_off(_SYMB);
125 update_tri_layer(_MOVE, _SYMB, _FUNC); 150 update_tri_layer(_MOVE, _SYMB, _MOUSE);
126 } 151 }
127 return false; 152 return false;
128 break; 153 break;
@@ -134,15 +159,91 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
134 } 159 }
135 return false; 160 return false;
136 break; 161 break;
137 case LOCK: 162 case CMDLEFT:
163 if (record->event.pressed) {
164 register_code(KC_LGUI);
165 register_code(KC_LEFT);
166 } else {
167 unregister_code(KC_LEFT);
168 unregister_code(KC_LGUI);
169 }
170 return false;
171 break;
172 case CMDRGHT:
173 if (record->event.pressed) {
174 register_code(KC_LGUI);
175 register_code(KC_RGHT);
176 } else {
177 unregister_code(KC_RGHT);
178 unregister_code(KC_LGUI);
179 }
180 return false;
181 break;
182 case BELOW:
183 if (record->event.pressed) {
184 register_code(KC_LGUI);
185 register_code(KC_RGHT);
186 unregister_code(KC_RGHT);
187 unregister_code(KC_LGUI);
188 register_code(KC_ENT);
189 unregister_code(KC_ENT);
190 }
191 return false;
192 break;
193 case ABOVE:
194 if (record->event.pressed) {
195 register_code(KC_LGUI);
196 register_code(KC_LEFT);
197 unregister_code(KC_LEFT);
198 unregister_code(KC_LGUI);
199 register_code(KC_ENT);
200 unregister_code(KC_ENT);
201 register_code(KC_UP);
202 unregister_code(KC_UP);
203 }
204 return false;
205 break;
206 case DASH:
207 if (record->event.pressed) {
208 register_code(KC_LALT);
209 register_code(KC_MINS);
210 } else {
211 unregister_code(KC_MINS);
212 unregister_code(KC_LALT);
213 }
214 return false;
215 break;
216 case GBP:
217 if (record->event.pressed) {
218 register_code(KC_LALT);
219 register_code(KC_3);
220 } else {
221 unregister_code(KC_3);
222 unregister_code(KC_LALT);
223 }
224 return false;
225 break;
226 case VOLUP:
227 if (record->event.pressed) {
228 register_code(KC_LALT);
229 register_code(KC_LSFT);
230 register_code(KC_VOLU);
231 } else {
232 unregister_code(KC_VOLU);
233 unregister_code(KC_LSFT);
234 unregister_code(KC_LALT);
235 }
236 return false;
237 break;
238 case VOLDN:
138 if (record->event.pressed) { 239 if (record->event.pressed) {
139 register_code(KC_RSFT); 240 register_code(KC_LALT);
140 register_code(KC_RCTL); 241 register_code(KC_LSFT);
141 register_code(KC_POWER); 242 register_code(KC_VOLD);
142 } else { 243 } else {
143 unregister_code(KC_POWER); 244 unregister_code(KC_VOLD);
144 unregister_code(KC_RCTL); 245 unregister_code(KC_LSFT);
145 unregister_code(KC_RSFT); 246 unregister_code(KC_LALT);
146 } 247 }
147 return false; 248 return false;
148 break; 249 break;
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index b70de3f1e..b5997cd5a 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -2,42 +2,70 @@
2 2
3This is a layout for the grid planck, built with a few ideals in mind: 3This is a layout for the grid planck, built with a few ideals in mind:
4 4
5- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided — they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. 5- Minimal response times should be maintained. Keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided – they inevitably send their keycode later than a normal key – interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording as our only means of getting more than one symbol out of a single physical key.
6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible. 6- The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible.
7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make. 7- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make.
8- Backspace should be in the “capslock position” in the colemak tradition.
9 8
10We have four layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster etc, a `SYMB` layer, with numbers and symbols; and a `FUNC` layer, with function keys and media keys. 9We have five layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster and other movement keys; a `SYMB` layer, with numbers and symbols; a `FUNC` layer, with function keys and media keys; and a `MOUSE` layer, with mouse emulation.
11 10
12## The `BASE` layer 11```
13![](http://i.imgur.com/tVNI3SE.png) 12/* BASE
14 13 * ,-----------------------------------------------------------------------------------.
15This is the default layer; in [colemak](https://colemak.com). `esc` and `del` are conspicuously absent but are especially easy to reach from either of the other main layers (see below). The `backspace` location is standard colemak. The `caps` key is still on the `BASE` layer but only because I don’t really use the bottom corners so there’s nothing else I would rather put there. Having `enter` on a thumb means I can still have `quote` immediately to the right of `O`, something that would have annoyed me endlessly otherwise. `minus` is in the upper right because I had an extra space and it’s probably my next most used key that didn’t yet have a home. 14 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
16 15 * |------+------+------+------+------+------+------+------+------+------+------+------|
17The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneously, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. 16 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
18 17 * |------+------+------+------+------+------+------+------+------+------+------+------|
19## The `MOVE` layer 18 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
20![](http://i.imgur.com/KXRSuHT.png) 19 * |------+------+------+------+------+------+------+------+------+------+------+------|
21 20 * | Func | Ctrl | Alt | Cmd | Symb | Enter| Space| Move | Cmd | Alt | Ctrl | Func |
22This is fairly self explanatory. I almost exclusively use the right hand cluster so that movement is a one handed affair, but the left hand cluster is there if it’s needed. 21 * `-----------------------------------------------------------------------------------'
23 22 */
24On *macOS* I recommend using [Karabiner](https://pqrs.org/osx/karabiner/) and ticking *Use PC Style Home/End #2* and *Use PC Style PageUp/PageDown* so that `home` and `end` jump you to the beginning and end of the line respectively and so that `pg up` and `pg dn` move the cursor instead of just scrolling. 23
25 24/* MOVE
26None of the modifiers are overwritten so that `shift-alt-arrows` etc work as expected. 25 * ,-----------------------------------------------------------------------------------.
27 26 * | Esc | | Cmd-L| Up | Cmd-R| | | Cmd-L| Up | Cmd-R| | Esc |
28## The `SYMB` layer 27 * |------+------+------+------+------+------+------+------+------+------+------+------|
29![](http://i.imgur.com/thh1ne2.png) 28 * | Del | | Left | Down | Right| | | Left | Down | Right| | Del |
30 29 * |------+------+------+------+------+------+------+------+------+------+------+------|
31The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, arranged roughly so that the most used symbols are accessible with the strongest fingers. 30 * | | | | Pg Up| Pg Dn| Above| | Pg Dn| Pg Up| | Caps | |
32 31 * |------+------+------+------+------+------+------+------+------+------+------+------|
33`esc` and `del` are repeated here since I wanted to be able to reach either, one handed, with either hand. 32 * | | | | | | Below| | | | | | |
34 33 * `-----------------------------------------------------------------------------------'
35Again none of the modifiers are overwritten so that shortcuts involving numbers or symbols work as expected. 34 */
36 35
37## The `FUNC` layer 36/* SYMB
38![](http://i.imgur.com/1VKFBBU.png) 37 * ,-----------------------------------------------------------------------------------.
39 38 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | – |
40The only things of note here are that `bl+` and `bl-` are short for *backlight up* and *backlight down*, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. And that `lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-ctrl-power`.) 39 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 40 * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | £ |
42## Other changes from the default 41 * |------+------+------+------+------+------+------+------+------+------+------+------|
43I have LEDs and sound disabled, simply because I have no need of them. 42 * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
43 * |------+------+------+------+------+------+------+------+------+------+------+------|
44 * | | | | | | | | | | | | |
45 * `-----------------------------------------------------------------------------------'
46 */
47
48/* MOUSE
49 * ,-----------------------------------------------------------------------------------.
50 * | | | ACC-2| ACC-1| ACC-0| | | SW-L | M-U | SW-R | | |
51 * |------+------+------+------+------+------+------+------+------+------+------+------|
52 * | | | MB-3 | MB-2 | MB-1 | | | M-L | M-D | M-R | | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | | | | | | | | SW-D | SW-U | | | |
55 * |------+------+------+------+------+------+------+------+------+------+------+------|
56 * | | | | | | | | | | | | |
57 * `-----------------------------------------------------------------------------------'
58 */
59
60/* FUNC
61 * ,-----------------------------------------------------------------------------------.
62 * | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Vol+ |
63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | F21 | F22 | F23 | F24 | | | | | | | |
67 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | | | | | Prev | Mute | Play | Next | | | | |
69 * `-----------------------------------------------------------------------------------'
70 */
71```
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/quantum/process_keycode/process_midi.c b/quantum/process_keycode/process_midi.c
index 8784e64f3..577dad43a 100644
--- a/quantum/process_keycode/process_midi.c
+++ b/quantum/process_keycode/process_midi.c
@@ -7,7 +7,9 @@ int midi_offset = 7;
7bool process_midi(uint16_t keycode, keyrecord_t *record) { 7bool process_midi(uint16_t keycode, keyrecord_t *record) {
8 if (keycode == MI_ON && record->event.pressed) { 8 if (keycode == MI_ON && record->event.pressed) {
9 midi_activated = true; 9 midi_activated = true;
10#ifdef AUDIO_ENABLE
10 music_scale_user(); 11 music_scale_user();
12#endif
11 return false; 13 return false;
12 } 14 }
13 15
@@ -63,4 +65,4 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
63 return false; 65 return false;
64 } 66 }
65 return true; 67 return true;
66} \ No newline at end of file 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