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