aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/frosty_flake/keymaps/QFR_JM/keymap.c66
-rw-r--r--keyboards/frosty_flake/keymaps/QFR_JM/readme.md4
-rw-r--r--keyboards/frosty_flake/keymaps/QFR_JM/rules.mk2
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/keymap.c145
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/readme.md139
-rw-r--r--keyboards/nyquist/keymaps/DivergeJM/README.md88
-rw-r--r--keyboards/nyquist/keymaps/DivergeJM/config.h4
-rw-r--r--keyboards/nyquist/keymaps/DivergeJM/keymap.c157
8 files changed, 470 insertions, 135 deletions
diff --git a/keyboards/frosty_flake/keymaps/QFR_JM/keymap.c b/keyboards/frosty_flake/keymaps/QFR_JM/keymap.c
index 709ab6c21..81899396a 100644
--- a/keyboards/frosty_flake/keymaps/QFR_JM/keymap.c
+++ b/keyboards/frosty_flake/keymaps/QFR_JM/keymap.c
@@ -8,6 +8,7 @@
8enum QFR_layers { 8enum QFR_layers {
9 _COLEMAK, 9 _COLEMAK,
10 _QWERTY, 10 _QWERTY,
11 _DVORAK,
11 _LOWER, 12 _LOWER,
12 _MOUSE 13 _MOUSE
13}; 14};
@@ -15,18 +16,26 @@ enum QFR_layers {
15enum QFR_keycodes { 16enum QFR_keycodes {
16 COLEMAK = SAFE_RANGE, 17 COLEMAK = SAFE_RANGE,
17 QWERTY, 18 QWERTY,
19 DVORAK,
18 LOWER, 20 LOWER,
19 MOUSE 21 MOUSE
20}; 22};
21 23
24enum custom_macros {
25 R_PIPE,
26 R_POINT
27};
28
22 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5 29 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5
23 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space, 30 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space,
24 [1] = ACTION_LAYER_TAP_TOGGLE(_LOWER), //Hold for momentary Mouse, Tap for toggle Mouse 31 [1] = ACTION_LAYER_MOMENTARY(_MOUSE) //Hold for momentary MOUSE
25 [2] = ACTION_LAYER_TAP_TOGGLE(_MOUSE), //Hold for momentary Lower, Tap for toggle Lower 32
26 }; 33 };
34
27#define SPC_LW FUNC(0) 35#define SPC_LW FUNC(0)
28#define LWR FUNC(1) 36#define MSE FUNC(1)
29#define MSE FUNC(2) 37#define PIPE M(R_PIPE)
38#define POINT M(R_POINT)
30 39
31// Fillers to make layering more clear 40// Fillers to make layering more clear
32#define _______ KC_TRNS 41#define _______ KC_TRNS
@@ -48,33 +57,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 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, KC_END, KC_PGDN, \ 57 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, KC_END, KC_PGDN, \
49 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, \ 58 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, \
50 KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 59 KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
60 KC_LCTL,KC_LGUI,KC_LALT, SPC_LW, MSE, KC_RGUI , KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
61 ),
62
63[_DVORAK] = KEYMAP_TKL(\
64 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \
65 KC_GRV, 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_INS, KC_HOME, KC_PGUP, \
66 KC_TAB, KC_QUOT,KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
67 KC_BSPC,KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_QUOT, KC_ENT, \
68 KC_LSFT,KC_NUBS,KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
51 KC_LCTL,KC_LGUI,KC_LALT, SPC_LW, MSE, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 69 KC_LCTL,KC_LGUI,KC_LALT, SPC_LW, MSE, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
52 ), 70 ),
53 71
54[_LOWER] = KEYMAP_TKL(\ 72[_LOWER] = KEYMAP_TKL(\
55 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK,_______, \ 73 RESET, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, _______, KC_MUTE, KC_VOLD, KC_VOLU, QWERTY, COLEMAK,DVORAK, \
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_BSPC, _______,_______,_______, \ 74 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_BSPC, _______,_______,_______, \
57 KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, _______,_______,_______, \ 75 KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, _______,_______,_______, \
58 KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, _______, _______, \ 76 KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \
59 _______,XXXXXXX,_______,_______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, \ 77 _______,XXXXXXX,POINT,PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_PIPE, KC_RBRC, KC_RCBR, _______, _______, _______, _______, \
60 _______, _______, _______, _______, KC_RALT, _______, _______, _______, _______,_______,_______ \ 78 _______, _______, _______, _______, KC_RALT, _______, _______, _______, _______,_______,_______ \
61 ), 79 ),
62 80
63[_MOUSE] = KEYMAP_TKL(\ 81[_MOUSE] = KEYMAP_TKL(\
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, \ 82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, \
65 KC_GRV, 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_DEL, _______,_______,_______, \ 83 KC_GRV, 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_DEL, _______,_______,_______, \
66 KC_TAB, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, _______,_______,_______, \ 84 KC_TAB, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, _______,_______,_______, \
67 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \ 85 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
68 _______,XXXXXXX,KC_Z,KC_X, KC_C, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, \ 86 _______,XXXXXXX,PIPE,POINT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, \
69 _______, _______, _______, KC_ACL2, MSE, _______, _______, _______, _______,_______,_______ \ 87 _______, _______, _______, KC_ACL2, MSE, _______, _______, _______, _______,_______,_______ \
70 ) 88 )
71}; 89};
72 90
91// Macros to send R pointer & dplyr pipe
92const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
93 switch(id) {
94 case R_POINT:
95 if (record->event.pressed) { // pointer
96 SEND_STRING("<- ");
97// return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
98 }
99 break;
100 case R_PIPE:
101 if (record->event.pressed) { // dplyr pipe
102 SEND_STRING("%>% ");
103// return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
104 }
105 break;
106 }
107 return MACRO_NONE;
108}
109
73bool process_record_user(uint16_t keycode, keyrecord_t *record) { 110bool process_record_user(uint16_t keycode, keyrecord_t *record) {
74 switch (keycode) { 111 switch (keycode) {
75 case QWERTY: 112 case QWERTY:
76 if (record->event.pressed) { 113 if (record->event.pressed) {
77 //print("mode just switched to qwerty and this is a huge string\n");
78 set_single_persistent_default_layer(_QWERTY); 114 set_single_persistent_default_layer(_QWERTY);
79 } 115 }
80 return false; 116 return false;
@@ -85,6 +121,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 } 121 }
86 return false; 122 return false;
87 break; 123 break;
124 case DVORAK:
125 if (record->event.pressed) {
126 set_single_persistent_default_layer(_DVORAK);
127 }
128 return false;
129 break;
88 } 130 }
89 return true; 131 return true;
90} \ No newline at end of file 132} \ No newline at end of file
diff --git a/keyboards/frosty_flake/keymaps/QFR_JM/readme.md b/keyboards/frosty_flake/keymaps/QFR_JM/readme.md
index 396337440..f12a0ffba 100644
--- a/keyboards/frosty_flake/keymaps/QFR_JM/readme.md
+++ b/keyboards/frosty_flake/keymaps/QFR_JM/readme.md
@@ -39,7 +39,7 @@ The base layout is Colemak by default, but this can be changed to QWERTY via the
39### LOWER 39### LOWER
40``` 40```
41 ,----. ,-------------------. ,-------------------. ,-------------------. ,--------------. 41 ,----. ,-------------------. ,-------------------. ,-------------------. ,--------------.
42 |ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |QWTY|CLMK|PsBk| 42 |ESC | | F1 | F2 | F3 | F4 | |>/|||Stop| << | >> | | F9 |MUTE|Vol-|Vol+| |QWTY|CLMK|PsBk|
43 '----' '-------------------' '-------------------' '-------------------' '--------------' 43 '----' '-------------------' '-------------------' '-------------------' '--------------'
44 ,-------------------------------------------------------------------------. ,--------------. 44 ,-------------------------------------------------------------------------. ,--------------.
45 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | Bspc | | Ins|Home|PgUp| 45 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | Bspc | | Ins|Home|PgUp|
@@ -48,7 +48,7 @@ The base layout is Colemak by default, but this can be changed to QWERTY via the
48 |-------------------------------------------------------------------------| '--------------' 48 |-------------------------------------------------------------------------| '--------------'
49 | Bckspc|PgDn|Left|Down|Rght| | | | | | | ' | Enter | 49 | Bckspc|PgDn|Left|Down|Rght| | | | | | | ' | Enter |
50 |-------------------------------------------------------------------------| ,----. 50 |-------------------------------------------------------------------------| ,----.
51 | LSPO | Z | X | C | V | | | | , | . | / | RSPC | | Up | 51 | LSPO | <- |%>% | { | [ | ` | | | ] | } | . | / | RSPC | | Up |
52 |-------------------------------------------------------------------------| ,--------------. 52 |-------------------------------------------------------------------------| ,--------------.
53 |Ctrl|LGUI|LAlt| |RAlt|RGUI|Menu|Ctrl| |Left|Down|Rght| 53 |Ctrl|LGUI|LAlt| |RAlt|RGUI|Menu|Ctrl| |Left|Down|Rght|
54 '-------------------------------------------------------------------------' '--------------' 54 '-------------------------------------------------------------------------' '--------------'
diff --git a/keyboards/frosty_flake/keymaps/QFR_JM/rules.mk b/keyboards/frosty_flake/keymaps/QFR_JM/rules.mk
index f29756f22..0ae0b9646 100644
--- a/keyboards/frosty_flake/keymaps/QFR_JM/rules.mk
+++ b/keyboards/frosty_flake/keymaps/QFR_JM/rules.mk
@@ -3,7 +3,7 @@
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = no # 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
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
index b99280a91..ccfd01bfa 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
@@ -29,6 +29,8 @@ extern keymap_config_t keymap_config;
29 29
30enum terminus_mini_layers { 30enum terminus_mini_layers {
31 _COLEMAK, 31 _COLEMAK,
32 _QWERTY,
33 _DVORAK,
32 _LOWER, 34 _LOWER,
33 _RAISE, 35 _RAISE,
34 _FUNCTION, 36 _FUNCTION,
@@ -38,25 +40,32 @@ enum terminus_mini_layers {
38 40
39enum terminus_mini_keycodes { 41enum terminus_mini_keycodes {
40 COLEMAK = SAFE_RANGE, 42 COLEMAK = SAFE_RANGE,
43 QWERTY,
44 DVORAK,
41 LOWER, 45 LOWER,
42 RAISE, 46 RAISE,
43 FUNCTION, 47 FUNCTION,
44 MOUSE 48 MOUSE
45}; 49};
46 50
51enum custom_macros {
52 R_PIPE,
53 R_POINT
54};
55
47 // Enable these functions using FUNC(n) macro. 56 // Enable these functions using FUNC(n) macro.
48 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5 57 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5
49 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space, 58 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space,
50 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_ENT), //Hold for momentary Mouse layer, Tap for Enter, 59 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_ENT), //Hold for momentary Mouse layer, Tap for Enter,
51 [2] = ACTION_LAYER_TAP_TOGGLE(_LOWER), //Hold for momentary Lower, Tap for toggle Lower 60 [2] = ACTION_LAYER_MOMENTARY(_FUNCTION), //Hold for momentary Function
52 [3] = ACTION_LAYER_TAP_TOGGLE(_MOUSE), //Hold for momentary Mouse, Tap for toggle Mouse 61 [3] = ACTION_LAYER_MOMENTARY(_MOUSE) //Hold for momentary MOUSE
53 [4] = ACTION_LAYER_MOMENTARY(_FUNCTION), //Hold for momentary Function
54 }; 62 };
55#define SPC_LW FUNC(0) 63#define SPC_LW FUNC(0)
56#define ENT_RS FUNC(1) 64#define ENT_RS FUNC(1)
57#define LWR FUNC(2) 65#define FNC FUNC(2)
58#define MSE FUNC(3) 66#define MSE FUNC(3)
59#define FNC FUNC(4) 67#define PIPE M(R_PIPE)
68#define POINT M(R_POINT)
60 69
61// Fillers to make layering more clear 70// Fillers to make layering more clear
62#define _______ KC_TRNS 71#define _______ KC_TRNS
@@ -72,16 +81,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72 * |-----+------+------+------+------+-------------+------+------+------+------+------| 81 * |-----+------+------+------+------+-------------+------+------+------+------+------|
73 * | LSPO| Z | X | C | V | B | K | M | , | . | / | RSPC | 82 * | LSPO| Z | X | C | V | B | K | M | , | . | / | RSPC |
74 * |-----+------+------+------+------+------+------+------+------+------+------+------| 83 * |-----+------+------+------+------+------+------+------+------+------+------+------|
75 * | Ctrl| LGUI | Lower| LAlt | SpaceLW | RSEnter | Fn | Mouse| Menu | Ctrl | 84 * | Ctrl| LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
76 * `----------------------------------------------------------------------------------' 85 * `----------------------------------------------------------------------------------'
77 */ 86 */
78[_COLEMAK] = TERMINUS_MINI( 87[_COLEMAK] = TERMINUS_MINI(
79 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL , \ 88 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL , \
80 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ 89 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
81 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \ 90 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
82 KC_LCTL, KC_LGUI, LWR, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \ 91 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
92 ),
93
94/* QWERTY -
95 * ,----------------------------------------------------------------------------------.
96 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
97 * |-----+------+------+------+------+-------------+------+------+------+------+------|
98 * | BS | A | S | D | F | G | H | J | K | L | ; | " |
99 * |-----+------+------+------+------+-------------+------+------+------+------+------|
100 * | LSPO| Z | X | C | V | B | N | M | , | . | / | RSPC |
101 * |-----+------+------+------+------+------+------+------+------+------+------+------|
102 * | Ctrl| LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
103 * `----------------------------------------------------------------------------------'
104 */
105[_QWERTY] = TERMINUS_MINI(
106 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL , \
107 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
108 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
109 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
83 ), 110 ),
84 111
112/* Dvorak
113 * ,-----------------------------------------------------------------------------------.
114 * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
115 * |------+------+------+------+------+-------------+------+------+------+------+------|
116 * | BS | A | O | E | U | I | D | H | T | N | S | / |
117 * |------+------+------+------+------+------|------+------+------+------+------+------|
118 * | LSPO | ; | Q | J | K | X | B | M | W | V | Z | RSPC |
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * | Ctrl | LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu |Ctrl |
121 * `-----------------------------------------------------------------------------------'
122 */
123[_DVORAK] = TERMINUS_MINI(
124 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \
125 KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
126 KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, \
127 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
128),
129
85/* Lower 130/* Lower
86 * ,-----------------------------------------------------------------------------------. 131 * ,-----------------------------------------------------------------------------------.
87 * | Tab | PgUp | Home | Up | End | / | 7 | 8 | 9 | * | | Del | 132 * | Tab | PgUp | Home | Up | End | / | 7 | 8 | 9 | * | | Del |
@@ -90,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 * |------+------+------+------+------+------+------+------+------+------+------+------| 135 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | LSPO | Z | X | C | V | = | 1 | 2 | 3 | Enter| | RSPC | 136 * | LSPO | Z | X | C | V | = | 1 | 2 | 3 | Enter| | RSPC |
92 * |------+------+------+------+------+------+------+------+------+------+------+------| 137 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | Ctrl | LGUI | Lower| LAlt | Space/Lower | 0 | . | Fn | Menu | Ctrl | 138 * | Ctrl | LGUI | Lower| LAlt | Space/Lower | 0 | . | Fn |ADJUST| Ctrl |
94 * `-----------------------------------------------------------------------------------' 139 * `-----------------------------------------------------------------------------------'
95 Want to add tap-dance function to 0 key: Tap=0, doubleTap=Ent 140 Want to add tap-dance function to 0 key: Tap=0, doubleTap=Ent
96 */ 141 */
@@ -99,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
99 KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______, \ 144 KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______, \
100 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______, \ 145 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______, \
101 _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______, \ 146 _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______, \
102 _______, _______, _______, _______, _______, KC_0, KC_DOT, FNC, _______, _______ \ 147 _______, _______, _______, _______, _______, KC_0, KC_DOT, FNC, RAISE, _______ \
103), 148),
104 149
105/* Raise 150/* Raise
@@ -108,22 +153,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
108 * |------+------+------+------+------+------+------+------+------+------+------+------| 153 * |------+------+------+------+------+------+------+------+------+------+------+------|
109 * | BS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | " | 154 * | BS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | " |
110 * |------+------+------+------+------+------+------+------+------+------+------+------| 155 * |------+------+------+------+------+------+------+------+------+------+------+------|
111 * | LSPO | | | { | [ | ` | \ | ] | } | . | ? | RSPC | 156 * | LSPO | <- | %>% | { | [ | ` | \ | ] | } | . | ? | RSPC |
112 * |------+------+------+------+------+------+------+------+------+------+------+------| 157 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | Ctrl | LGUI | | LAlt | Space/Lower | Raise/Enter | Fn | Mouse| Menu | Ctrl | 158 * | Ctrl | LGUI | | LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Raise| Ctrl |
114 * `-----------------------------------------------------------------------------------' 159 * `-----------------------------------------------------------------------------------'
115 */ 160 */
116 161
117[_RAISE] = TERMINUS_MINI( 162[_RAISE] = TERMINUS_MINI(
118 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \ 163 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \
119 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ 164 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
120 _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \ 165 _______, POINT, PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \
121 _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, FNC, MSE, _______, _______ \ 166 _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, FNC, MSE, _______, _______ \
122 ), 167 ),
123 168
124/*Function 169/*Function
125 * ,-----------------------------------------------------------------------------------. 170 * ,-----------------------------------------------------------------------------------.
126 * | Esc | Mute | Vol- | Vol+ | | RESET| POWER| F1 | F2 | F3 | F4 | Ins | 171 * | Esc | Mute | Vol- | Vol+ | | | | F1 | F2 | F3 | F4 | Ins |
127 * |------+------+------+------+------+------+------+------+------+------+------+------| 172 * |------+------+------+------+------+------+------+------+------+------+------+------|
128 * | Caps | Stop | |<< | >/|| | >>| | | | F5 | F6 | F7 | F8 |PrtSc | 173 * | Caps | Stop | |<< | >/|| | >>| | | | F5 | F6 | F7 | F8 |PrtSc |
129 * |------+------+------+------+------+------+------+------+------+------+------+------| 174 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -134,17 +179,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 */ 179 */
135 180
136[_FUNCTION] = TERMINUS_MINI( 181[_FUNCTION] = TERMINUS_MINI(
137 _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, RESET, KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS , \ 182 _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS , \
138 KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, \ 183 KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, \
139 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, \ 184 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, \
140 _______, _______, _______, _______, _______, _______, FNC, _______, _______, KC_PAUS \ 185 _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_PAUS \
141 ), 186 ),
142 187
143/* MOUSE 188/* MOUSE
144 * ,---------------------------------------------------------------------------------------. 189 * ,---------------------------------------------------------------------------------------.
145 * | Esc | WhlU | WhlL | MsUp | WhlR | | | M1 | M2 | M3 | | | 190 * | Esc | WhlU | WhlL | MsUp | WhlR | | | M1 | M2 | M3 | | |
146 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------| 191 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
147 * | | WhlD | MsL | MsDn | MsR | | |LClick |RClick | | | | 192 * | | WhlD | MsL | MsDn | MsR | | |LClick |RClick | | | |
148 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------| 193 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
149 * | LSPO | | | | | | | | | | | RSCB | 194 * | LSPO | | | | | | | | | | | RSCB |
150 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------| 195 * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
@@ -156,9 +201,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
156 KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \ 201 KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \
157 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \ 202 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
158 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \ 203 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \
159 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MSE, XXXXXXX, KC_RCTL \ 204 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MSE, XXXXXXX, KC_RCTL \
160 ), 205 ),
161 206
207/* Adjust (Lower + Raise)
208 * ,-----------------------------------------------------------------------------------.
209 * | | | | | |RESET | |TermOn|TermOf| | | Del |
210 * |------+------+------+------+------+-------------+------+------+------+------+------|
211 * | | | | | | | |Qwerty|Colemk|Dvorak| | |
212 * |------+------+------+------+------+-------------+------+------+------+------+------|
213 * | | | | | | | | | | | | |
214 * |------+------+------+------+------+------+------+------+------+------+------+------|
215 * | | | | | | | | | | |
216 * `-----------------------------------------------------------------------------------'
217 */
218
219[_ADJUST] = TERMINUS_MINI(
220 _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
221 _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
222 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
223 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
224)
225
162}; 226};
163 227
164void persistant_default_layer_set(uint16_t default_layer) { 228void persistant_default_layer_set(uint16_t default_layer) {
@@ -166,17 +230,48 @@ void persistant_default_layer_set(uint16_t default_layer) {
166 default_layer_set(default_layer); 230 default_layer_set(default_layer);
167} 231}
168 232
233// Macros to send R pointer & dplyr pipe
234const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
235 switch(id) {
236 //R Pointer: <-
237 case R_POINT:
238 if (record->event.pressed) { // pointer
239 SEND_STRING("<- ");
240// return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
241 }
242 break;
243 //dplyr pipe: %>%
244 case R_PIPE:
245 if (record->event.pressed) { // dplyr pipe
246 SEND_STRING("%>% ");
247// return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
248 }
249 break;
250 }
251 return MACRO_NONE;
252}
253
254// Cases to switch default layer to QWERTY, COLEMAK or DVORAK and to access ADJUST layer
169bool process_record_user(uint16_t keycode, keyrecord_t *record) { 255bool process_record_user(uint16_t keycode, keyrecord_t *record) {
170 switch (keycode) { 256 switch (keycode) {
257 case QWERTY:
258 if (record->event.pressed) {
259 set_single_persistent_default_layer(_QWERTY);
260 }
261 return false;
262 break;
171 case COLEMAK: 263 case COLEMAK:
172 if (record->event.pressed) { 264 if (record->event.pressed) {
173 #ifdef AUDIO_ENABLE 265 set_single_persistent_default_layer(_COLEMAK);
174 PLAY_NOTE_ARRAY(tone_colemak, false, 0); 266 }
175 #endif 267 return false;
176 persistant_default_layer_set(1UL<<_COLEMAK); 268 break;
269 case DVORAK:
270 if (record->event.pressed) {
271 set_single_persistent_default_layer(_DVORAK);
177 } 272 }
178 return false; 273 return false;
179 break; 274 break;
180 case LOWER: 275 case LOWER:
181 if (record->event.pressed) { 276 if (record->event.pressed) {
182 layer_on(_LOWER); 277 layer_on(_LOWER);
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/readme.md b/keyboards/handwired/terminus_mini/keymaps/default/readme.md
index 216cf41e2..b192a88b7 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/readme.md
+++ b/keyboards/handwired/terminus_mini/keymaps/default/readme.md
@@ -2,51 +2,80 @@ Copyright 2017 James Morgan <ja.morgan1@outlook.com>
2 2
3#MogranJM's terminus_mini layout - A handwired keyboard inspired by the UniKeyboard Terminus Mini 2. 3#MogranJM's terminus_mini layout - A handwired keyboard inspired by the UniKeyboard Terminus Mini 2.
4 4
5```
6make handwired/terminus_mini:default:teensy
7```
8
5This keymap is modified from the Planck default layout. Credit for the layout name goes to UniKeyboard & reddit's /u/blahlicus) 9This keymap is modified from the Planck default layout. Credit for the layout name goes to UniKeyboard & reddit's /u/blahlicus)
6 10
7The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. The microcontroller is a Teensy 2.0 11The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. The microcontroller is a Teensy 2.0
8 12
9The TERMINUS_MINI layout (../../../terminus\_mini/terminus\_mini.h) is handwired and the 2U keys are handled using KC\_NO to detail that two columns do not have a 4th column. 13The TERMINUS_MINI layout (../../../terminus\_mini/terminus\_mini.h) is handwired and the 2U keys are handled using KC\_NO to detail that two columns do not have a 4th column.
10``` 14```
11.----------------------------------------. .-----------------------------------------. 15.---------------------------------------------------------------------------------.
12| Tab | Q | W | F | P | G | | J | L | U | Y | ; | Del | 16| Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
13|-----+------+------+------+------+------| |------+------+------+------+------+------| 17|-----+------+------+------+------+------+------+------+------+------+------+------|
14| BS | A | R | S | T | D | | H | N | E | I | O | ' | 18| BS | A | R | S | T | D | H | N | E | I | O | ' |
15|-----+------+------+------+------+------| |------+------+------+------+------+------| 19|-----+------+------+------+------+------+------+------+------+------+------+------|
16| LSPO| Z | X | C | V | B | | K | M | , | \. | / | RSPC | 20| LSPO| Z | X | C | V | B | K | M | , | . | / | RSPC |
17|-----+------+------+------+------+------| |------+------+------+------+------+------| 21|-----+------+------+------+------+------+------+------+------+------+------+------|
18| Ctrl| LGUI | LAlt | Lower| Space/Lower | | Enter/Raise | Fn | Mouse| Menu | Ctrl | 22| Ctrl| LGUI | LAlt | Lower| Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
19'----------------------------------------' '-----------------------------------------' 23'----------------------------------------------------------------------------------'
20``` 24```
21 25
22 26
23### Base Layer - Colemak 27### Base Layer - Colemak
24The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 28The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location.
25 29
26* QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap. 30* QWERTY and Dvorak layers are accessible via the Adjust layer using the standard case switch macro as defined in the default Planck keymap.
27* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does... 31* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
28* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses) 32* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
29* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row. 33* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
30 34
31 35
32#### Layer Shifting 36#### Layer Shifting
33* The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 37* The 4th key on the bottom row of the left hand PCB is used to access the *LOWER* layer via Tap/Toggle
34* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space. 38* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
35* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter 39* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
36* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer 40* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
37* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer 41* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
38 42
43### Alternate Base Layers - QWERTY & Dvorak
44```
45QWERTY
46 .----------------------------------------------------------------------------------.
47 | Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
48 |-----+------+------+------+------+------+------+------+------+------+------+------|
49 | BS | A | S | D | F | G | H | J | K | L | ; | " |
50 |-----+------+------+------+------+------+------+------+------+------+------+------|
51 | LSPO| Z | X | C | V | B | N | M | , | . | / | RSPC |
52 |-----+------+------+------+------+------+------+------+------+------+------+------|
53 | Ctrl| LGUI | Lower| LAlt | SpaceLW | RSEnter | Fn | Mouse| Menu | Ctrl |
54 `----------------------------------------------------------------------------------'
55
56DVORAK
57 .----------------------------------------------------------------------------------.
58 | Tab | " | , | . | P | Y | F | G | C | R | L | \ |
59 |------+------+------+------+------+-----+------+------+------+------+------+------|
60 | BS | A | O | E | U | I | D | H | T | N | S | / |
61 |------+------+------+------+------+-----+------+------+------+------+------+------|
62 | LSPO | ; | Q | J | K | X | B | M | W | V | Z | RSPC |
63 |------+------+------+------+------+-----+------+------+------+------+------+------|
64 | Ctrl | LGUI | Lower| LAlt | SpaceLW | RSEnter | Fn | Mouse| Menu | Ctrl |
65 `----------------------------------------------------------------------------------'
66```
67
39### LOWER - Numpad & Navigation keys 68### LOWER - Numpad & Navigation keys
40``` 69```
41,-----------------------------------------. .-----------------------------------------. 70,-----------------------------------------------------------------------------------.
42| Tab | PgUp | Home | Up | End | | | 7 | 8 | 9 | \+ | | Del | 71| Tab | PgUp | Home | Up | End | | 7 | 8 | 9 | + | | Del |
43|------+------+------+------+------+------| |------+------+------+------+------+------| 72|------+------+------+------+------+------+------+------+------+------+------+------|
44| BS | PgDn | Left | Down |Right | | | 4 | 5 | 6 | Enter| | ' | 73| BS | PgDn | Left | Down |Right | | 4 | 5 | 6 | Enter| | ' |
45|------+------+------+------+------+------| |------+------+------+------+------+------| 74|------+------+------+------+------+------+------+------+------+------+------+------|
46| LSPO | Z | X | C | V | | | 1 | 2 | 3 | Enter| | RSPC | 75| LSPO | Z | X | C | V | | 1 | 2 | 3 | Enter| | RSPC |
47|------+------+------+------+-------------| |-------------+------+------+------+------| 76|------+------+------+------+-------------+-------------+------+------+------+------|
48| Ctrl | LGUI | Alt | LOWER| Space/Lower | | 0 | \. | Fn | Menu | Ctrl | 77| Ctrl | LGUI | Alt | LOWER| Space/Lower | 0 | . | Fn | Menu | Ctrl |
49'-----------------------------------------' '-----------------------------------------' 78'-----------------------------------------------------------------------------------'
50``` 79```
51The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped. 80The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
52 81
@@ -61,35 +90,35 @@ The *LOWER* layer contains a navigation cluster on the left hand and a numpad on
61 90
62### RAISE - Symbol Layer 91### RAISE - Symbol Layer
63``` 92```
64,-----------------------------------. .-----------------------------------. 93,-----------------------------------------------------------------------.
65| Tab | | | | | | | | | | | | \ | 94| Tab | | | | | | | | | | | \ |
66|-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 95|-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
67| BS | ! | @ | # | $ | % | | ^ | & | * | - | + | ' | 96| BS | ! | @ | # | $ | % | ^ | & | * | - | + | ' |
68|-----+-----+-----+-----+-----------| |-----+-----+-----+-----+-----+-----| 97|-----+-----+-----+-----+-----------+-----+-----+-----+-----+-----+-----|
69| LSPO| | | { | [ | ` | | | | ] | } | . | ? |RSPC | 98| LSPO| <- | %>% | { | [ | ` | | | ] | } | . | ? |RSPC |
70|-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 99|-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
71| Ctrl|LGUI | |Lower|Space/Lower| |Enter/Raise| Fn |Mouse| Menu| Ctrl| 100| Ctrl|LGUI | |Lower|Space/Lower|Enter/Raise| Fn |Mouse| Menu| Ctrl|
72'-----------------------------------' '-----------------------------------' 101'-----------------------------------------------------------------------'
73``` 102```
74The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held. 103The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
75 104
76* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard. 105* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
77* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys. 106* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
78 * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 107 * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see.
79* The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, * RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it. 108 * Special operators for R (Pointer: <- and dplyr pipe: %>%) can be found next to the left shift key
80* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with XXXXXXX. 109* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with XXXXXXX.
81 110
82### FUNCTION - Function & Media keys 111### FUNCTION - Function & Media keys
83``` 112```
84,-----------------------------------------. .-----------------------------------------. 113,-----------------------------------------------------------------------------------.
85| Esc | Mute | Vol- | Vol+ | | RESET| | POWER| | | | | Ins | 114| Esc | Mute | Vol- | Vol+ | | | | | | | | Ins |
86|------+------+------+------+------+------| |------+------+------+------+------+------| 115|------+------+------+------+------+------+------+------+------+------+------+------|
87| Caps | Stop | |<< | >/|| | >>| | | | | | | | |PrtSc | 116| Caps | Stop | |<< | >/|| | >>| | | | | | | |PrtSc |
88|------+------+------+------+------+------| |------+------+------+------+------+------| 117|------+------+------+------+------+------+------+------+------+------+------+------|
89| LSOB | | | | | | | | | | | |ScrLk | 118| LSOB | | | | | | | | | | |ScrLk |
90|------+------+------+------+------+------| |------+------+------+------+------+------| 119|------+------+------+------+------+------+------+------+------+------+------+------|
91| Ctrl | LGUI | Alt | | Space/Lower | | Enter/Raise | Fn | Mouse| |PsBrk | 120| Ctrl | LGUI | Alt | | Space/Lower | Enter/Raise | Fn | Mouse| |PsBrk |
92'-----------------------------------------' '-----------------------------------------' 121'-----------------------------------------------------------------------------------'
93``` 122```
94The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held. 123The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
95 124
@@ -97,19 +126,18 @@ The *FUNCTION* layer contains media keys as well as the F-row. This layer is mom
97* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute. 126* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
98* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised. 127* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised.
99* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer. 128* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
100* The RESET key will reset the Teensy for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
101 129
102### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch. 130### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch.
103``` 131```
104,----------------------------------------. .----------------------------------------. 132,---------------------------------------------------------------------------------.
105| Tab | WhlU | WhlL | MsUp | WhlR | | | | M3 | M4 | M5 | | | 133| Tab | WhlU | WhlL | MsUp | WhlR | | | M3 | M4 | M5 | | |
106|------+------+------+------+------+-----| |-----+------+------+------+------+------| 134|------+------+------+------+------+-----+-----+------+------+------+------+------|
107| | WhlD | MsL | MsDn | MsR | | | |LClick|RClick| | | | 135| | WhlD | MsL | MsDn | MsR | | |LClick|RClick| | | |
108|------+------+------+------+------+-----| |-----+------+------+------+------+------| 136|------+------+------+------+------+-----+-----+------+------+------+------+------|
109| LSPO | | | | | | | | | | | | RSCB | 137| LSPO | | | | | | | | | | | RSCB |
110|------+------+------+------+------+-----| |-----+------+------+------+------+------| 138|------+------+------+------+------+-----+-----+------+------+------+------+------|
111| Ctrl | | | |Sensitivity | | Sensitivity| |MOUSE | | Ctrl | 139| Ctrl | | | |Sensitivity | Sensitivity| |MOUSE | | Ctrl |
112'----------------------------------------' '----------------------------------------' 140'---------------------------------------------------------------------------------'
113``` 141```
114The *MOUSE* layer contains keys replicating functions found on the mouse. 142The *MOUSE* layer contains keys replicating functions found on the mouse.
115 143
@@ -117,3 +145,16 @@ The *MOUSE* layer contains keys replicating functions found on the mouse.
117keys. 145keys.
118*) The primary click (right & left) buttons are on the right home row (index & middle fingers) 146*) The primary click (right & left) buttons are on the right home row (index & middle fingers)
119* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function. 147* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
148
149### ADJUST - Keyboard Settings: Primarily used to change the base layer at this stage
150```
151,----------------------------------------------------------------------------------.
152| | | | | |RESET | |TermOn|TermOf| | | Del |
153|------+------+------+------+------+------+-----+------+------+------+------+------|
154| | | | | | | |Qwerty|Colemk|Dvorak| | |
155|------+------+------+------+------+------+-----+------+------+------+------+------|
156| | | | | | | | | | | | |
157|------+------+------+------+------+------+-----+------+------+------+------+------|
158| | |/LOWER| | | | | |/RAISE| |
159`----------------------------------------------------------------------------------'
160```
diff --git a/keyboards/nyquist/keymaps/DivergeJM/README.md b/keyboards/nyquist/keymaps/DivergeJM/README.md
index 5b9732dbd..198e3ef88 100644
--- a/keyboards/nyquist/keymaps/DivergeJM/README.md
+++ b/keyboards/nyquist/keymaps/DivergeJM/README.md
@@ -2,6 +2,10 @@ Copyright 2017 James Morgan <ja.morgan1@outlook.com>
2 2
3#MogranJM's Nyquist layout 3#MogranJM's Nyquist layout
4 4
5```
6make nyquist/rev1:DivergeJM
7```
8
5This keymap is based on my Terminus_Mini (../../../terminus\_mini/default) layout (credit for the names of these layouts goes to UniKeyboard & reddit's /u/blahlicus) 9This keymap is based on my Terminus_Mini (../../../terminus\_mini/default) layout (credit for the names of these layouts goes to UniKeyboard & reddit's /u/blahlicus)
6 10
7The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. This implementation of the layout converts it to a split 5x12 (two halves, each 5x6) keyboard with a 2U thumb key on the inner bottom corner of each half. 11The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. This implementation of the layout converts it to a split 5x12 (two halves, each 5x6) keyboard with a 2U thumb key on the inner bottom corner of each half.
@@ -23,22 +27,57 @@ The TERMINUS\_MINI layout (../../../terminus_mini/terminus_mini.h) is handwired
23``` 27```
24 28
25### Base Layer - Colemak 29### Base Layer - Colemak
26The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location. 30The base layout is Colemak by default. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location.
27 31
28* QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap. 32* QWERTY and Dvorak layers are accessible via the Adjust layer using the standard case switch macro as defined in the default Planck keymap.
29* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does... 33* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
30
31* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses) 34* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
32* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row. 35* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
33 36
37### Alternate Base Layers - QWERTY & Dvorak
38```
39QWERTY
40 .----------------------------------------. .-----------------------------------------.
41 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
42 |-----+------+------+------+------+------| |------+------+------+------+------+------|
43 | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
44 |-----+------+------+------+------+------| |------+------+------+------+------+------|
45 | BS | A | S | D | F | G | | H | J | K | L | ; | " |
46 |-----+------+------+------+------+------| |------+------+------+------+------+------|
47 | LSPO| Z | X | C | V | B | | N | M | , | . | / | RSPC |
48 |-----+------+------+------+------+------| |------+------+------+------+------+------|
49 | Ctrl| LGUI | Lower| LAlt | SpaceLW | | RSEnter | Fn | Mouse| Menu | Ctrl |
50 `----------------------------------------' '-----------------------------------------'
51
52DVORAK
53 .----------------------------------------. .-----------------------------------------.
54 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
55 |------+------+------+------+------+-----| |------+------+------+------+------+------|
56 | Tab | " | , | . | P | Y | | F | G | C | R | L | \ |
57 |------+------+------+------+------+-----| |------+------+------+------+------+------|
58 | BS | A | O | E | U | I | | D | H | T | N | S | / |
59 |------+------+------+------+------+-----| |------+------+------+------+------+------|
60 | LSPO | ; | Q | J | K | X | | B | M | W | V | Z | RSPC |
61 |------+------+------+------+------+-----| |------+------+------+------+------+------|
62 | Ctrl | LGUI | Lower| LAlt | SpaceLW | | RSEnter | Fn | Mouse| Menu | Ctrl |
63 `----------------------------------------' '-----------------------------------------'
64```
34 65
35#### Layer Shifting 66#### Layer Shifting
36* The 4th key on the bottom row of the left hand PCB is a **TAP_TOGGLE** macro for the *LOWER* layer 67* The 4th key on the bottom row of the left hand PCB is used to access the *LOWER* layer via Tap/Toggle
37* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space. 68* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
38* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter 69* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
39* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer 70* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
40* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer 71* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
41 72
73The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location.
74
75* QWERTY and Dvorak layers have been removed from the keymap that was initially developed from the default Planck keymap.
76* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
77
78* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
79* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
80
42### LOWER - Numpad & Navigation keys 81### LOWER - Numpad & Navigation keys
43``` 82```
44 ,-----------------------------------------. .-----------------------------------------. 83 ,-----------------------------------------. .-----------------------------------------.
@@ -50,14 +89,17 @@ The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, t
50 |------+------+------+------+------+------| |------+------+------+------+------+------| 89 |------+------+------+------+------+------| |------+------+------+------+------+------|
51 | LSPO | Z | X | C | V | | | 1 | 2 | 3 | Enter| | RSPC | 90 | LSPO | Z | X | C | V | | | 1 | 2 | 3 | Enter| | RSPC |
52 |------+------+------+------+-------------| |-------------+------+------+------+------| 91 |------+------+------+------+-------------| |-------------+------+------+------+------|
53 | Ctrl | LGUI | Alt | LOWER| Space/Lower | | 0 | \. | Fn | Menu | Ctrl | 92 | Ctrl | LGUI | Alt | LOWER| Space/Lower | | 0 | \. | Fn |ADJUST| Ctrl |
54 `-----------------------------------------' `-----------------------------------------' 93 `-----------------------------------------' `-----------------------------------------'
55``` 94```
56The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped. 95The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
57 96
58The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster. 97The Navigation cluster is offset to the right compared to the traditional **WASD** nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
59 98
60All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer. 99All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys \[except 0, \. & Fn\] on the
100above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.
101
102The ADJUST layer can be accessed via the second from right key on the bottom row. This layer contains a keymap that is used to change the base layer.
61 103
62[] TO DO!! - It would be nice to have a **TAP_DANCE_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT 104[] TO DO!! - It would be nice to have a **TAP_DANCE_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
63* Couldn't get this to work in Rev1, produced an error in the Make process. 105* Couldn't get this to work in Rev1, produced an error in the Make process.
@@ -68,21 +110,21 @@ All unused (blank on the above keymap) keys are locked out using the XXXXXXX fil
68 ,-----------------------------------. .-----------------------------------. 110 ,-----------------------------------. .-----------------------------------.
69 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | 111 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
70 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 112 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
71 | Tab | | | | | | | | | | | | \ | 113 | Tab | ! | @ | # | $ | % | | ^ | & | * | - | + | \ |
72 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 114 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
73 | BS | ! | @ | # | $ | % | | ^ | & | * | - | + | ' | 115 | BS | | | | | | | | | | | | ' |
74 |-----+-----+-----+-----+-----------| |-----+-----+-----+-----+-----+-----| 116 |-----+-----+-----+-----+-----------| |-----+-----+-----+-----+-----+-----|
75 | LSPO| | | { | [ | ` | | | | ] | } | . | ? |RSPC | 117 | LSPO| <- | %>% | { | [ | ` | | | | ] | } | . | ? |RSPC |
76 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 118 |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
77 | Ctrl|LGUI | Alt | |Space/Lower| |Enter/Raise| Fn |Mouse| Menu| Ctrl| 119 | Ctrl|LGUI | Alt | |Space/Lower| |Enter/Raise| Fn |Mouse| Menu| Ctrl|
78 '-----------------------------------' '-----------------------------------' 120 '-----------------------------------' '-----------------------------------'
79``` 121```
80The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held. 122The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
81 123
82* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard. 124* Standard symbols can be found on the row above home, in the traditional number row order as they occur on a standard keyboard.
83* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys. 125* Shifted symbols can be found on the second-from bottom row, above the bars - these include brackets, braces, grave and pipe keys.
84 * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see. 126 * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the "|" Pipe, but we'll see.
85* The Terminus_Mini implements the symbols on the top row, with numbers implemented on the home row. Implementing a third set of number keys (Base, *LOWER*, *RAISE*) in this keymap is probably overkill, but the current *RAISE* layout replicates the standard number row, so I don't see reason to change it. 127 * Special operators for R (Pointer: <- and dplyr pipe: %>%) can be found next to the left shift key
86* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with **XXXXXXX**. 128* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with **XXXXXXX**.
87 129
88### FUNCTION - Function & Media keys 130### FUNCTION - Function & Media keys
@@ -90,7 +132,7 @@ The *RAISE* layer contains the symbols. This layer is momentary when the right t
90,-----------------------------------------. .-----------------------------------------. 132,-----------------------------------------. .-----------------------------------------.
91| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | 133| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
92|------+------+------+------+------+------| |------+------+------+------+------+------| 134|------+------+------+------+------+------| |------+------+------+------+------+------|
93| Esc | Mute | Vol- | Vol+ | | RESET| | POWER| | | | | Ins | 135| Esc | Mute | Vol- | Vol+ | | | | | | | | | Ins |
94|------+------+------+------+------+------| |------+------+------+------+------+------| 136|------+------+------+------+------+------| |------+------+------+------+------+------|
95| Caps | Stop | |<< | >/|| | >>| | | | | | | | |PrtSc | 137| Caps | Stop | |<< | >/|| | >>| | | | | | | | |PrtSc |
96|------+------+------+------+------+------| |------+------+------+------+------+------| 138|------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -105,7 +147,6 @@ The *FUNCTION* layer contains media keys as well as the F-row. This layer is mom
105* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute. 147* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
106* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised. 148* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised.
107* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer. 149* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
108* The RESET key will reset the board for flashing and the Power key will initiate a shutdown of the PC. I've placed these in the far-reach index positions so that they are least likely to be pressed on accident. The power key is particularly dangerous, so I've placed it conciously on the right hand so that it becomes very awkward to activate with one hand (Fn needs to be held with the middle finger at the same time)
109 150
110### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch. 151### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch.
111``` 152```
@@ -125,4 +166,19 @@ The *MOUSE* layer contains keys replicating functions found on the mouse.
125 166
126* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & down keys. 167* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are analagous to the Page Up & down keys.
127* The primary click (right & left) buttons are on the right home row (index & middle fingers) 168* The primary click (right & left) buttons are on the right home row (index & middle fingers)
128* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function. \ No newline at end of file 169* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
170
171### ADJUST - Keyboard Settings: Primarily used to change the base layer at this stage
172```
173,-----------------------------------------. ,----------------------------------------.
174| | | | | |RESET | | | | | | | |
175|------+------+------+------+------+------| |-----+------+------+------+------+------|
176| | | | | | | | |TermOn|TermOf| | | Del |
177|------+------+------+------+------+------| |-----+------+------+------+------+------|
178| | | | | | | | |Qwerty|Colemk|Dvorak| | |
179|------+------+------+------+------+------| |-----+------+------+------+------+------|
180| | | | | | | | | | | | | |
181|------+------+------+------+------+------| |-----+------+------+------+------+------|
182| | |/LOWER| | | | | | |/RAISE| |
183`-----------------------------------------' `----------------------------------------'
184```
diff --git a/keyboards/nyquist/keymaps/DivergeJM/config.h b/keyboards/nyquist/keymaps/DivergeJM/config.h
index b21fbee9d..776834111 100644
--- a/keyboards/nyquist/keymaps/DivergeJM/config.h
+++ b/keyboards/nyquist/keymaps/DivergeJM/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#define USE_SERIAL 21#define USE_SERIAL
22 22
23#define MASTER_LEFT 23// #define MASTER_LEFT
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25#define EE_HANDS
26 26
27#ifdef SUBPROJECT_rev1 27#ifdef SUBPROJECT_rev1
28 #include "../../rev1/config.h" 28 #include "../../rev1/config.h"
diff --git a/keyboards/nyquist/keymaps/DivergeJM/keymap.c b/keyboards/nyquist/keymaps/DivergeJM/keymap.c
index e77f1b991..a1e93bf79 100644
--- a/keyboards/nyquist/keymaps/DivergeJM/keymap.c
+++ b/keyboards/nyquist/keymaps/DivergeJM/keymap.c
@@ -10,20 +10,29 @@ extern keymap_config_t keymap_config;
10// entirely and just use numbers. 10// entirely and just use numbers.
11enum custom_layers { 11enum custom_layers {
12 _COLEMAK, 12 _COLEMAK,
13 _QWERTY,
14 _DVORAK,
13 _LOWER, 15 _LOWER,
14 _RAISE, 16 _RAISE,
15 _FUNCTION, 17 _FUNCTION,
16 _MOUSE, 18 _MOUSE,
17 _ADJUST, 19 _ADJUST
18}; 20};
19 21
20enum custom_keycodes { 22enum custom_keycodes {
21 COLEMAK = SAFE_RANGE, 23 COLEMAK = SAFE_RANGE,
24 QWERTY,
25 DVORAK,
22 LOWER, 26 LOWER,
23 RAISE, 27 RAISE,
24 FUNCTION, 28 FUNCTION,
25 MOUSE, 29 MOUSE,
26 ADJUST, 30 ADJUST
31};
32
33enum custom_macros {
34 R_PIPE,
35 R_POINT
27}; 36};
28/* 37/*
29// Tap Dance Declarations 38// Tap Dance Declarations
@@ -40,17 +49,15 @@ enum {
40 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5 49 const uint16_t PROGMEM fn_actions[] = { //ACTION_LAYER_TAP_TOGGLE requires that number of taps be defined in *config.h* - default set to 5
41 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space, 50 [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC), //Hold for momentary Lower layer, Tap for Space,
42 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_ENT), //Hold for momentary Mouse layer, Tap for Enter, 51 [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_ENT), //Hold for momentary Mouse layer, Tap for Enter,
43 [2] = ACTION_LAYER_TAP_TOGGLE(_LOWER), //Hold for momentary Lower, Tap for toggle Lower 52 [2] = ACTION_LAYER_MOMENTARY(_FUNCTION), //Hold for momentary Function
44 [3] = ACTION_LAYER_TAP_TOGGLE(_MOUSE), //Hold for momentary Mouse, Tap for toggle Mouse 53 [3] = ACTION_LAYER_MOMENTARY(_MOUSE) //Hold for momentary MOUSE
45 [4] = ACTION_LAYER_MOMENTARY(_FUNCTION) //Hold for momentary Function
46 }; 54 };
47
48
49#define SPC_LW FUNC(0) 55#define SPC_LW FUNC(0)
50#define ENT_RS FUNC(1) 56#define ENT_RS FUNC(1)
51#define LWR FUNC(2) 57#define FNC FUNC(2)
52#define MSE FUNC(3) 58#define MSE FUNC(3)
53#define FNC FUNC(4) 59#define PIPE M(R_PIPE)
60#define POINT M(R_POINT)
54 61
55// Fillers to make layering more clear 62// Fillers to make layering more clear
56#define _______ KC_TRNS 63#define _______ KC_TRNS
@@ -64,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
64 * |-----+------+------+------+------+------| |------+------+------+------+------+------| 71 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
65 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | 72 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
66 * |-----+------+------+------+------+------| |------+------+------+------+------+------| 73 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
67 * | BS | A | R | S | T | D | | H | N | E | I | O | ' | 74 * | BS | A | R | S | T | D | | H | N | E | I | O | " |
68 * |-----+------+------+------+------+------| |------+------+------+------+------+------| 75 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
69 * | LSPO| Z | X | C | V | B | | K | M | , | . | / | RSPC | 76 * | LSPO| Z | X | C | V | B | | K | M | , | . | / | RSPC |
70 * |-----+------+------+------+------+------| |------+------+------+------+------+------| 77 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
@@ -76,9 +83,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \ 83 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \
77 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ 84 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
78 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \ 85 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
79 KC_LCTL, KC_LGUI, LWR, KC_LALT, SPC_LW, SPC_LW, ENT_RS, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \ 86 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, SPC_LW, ENT_RS, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
80 ), 87 ),
81 88
89/* QWERTY -
90 * .----------------------------------------. .-----------------------------------------.
91 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
92 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
93 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
94 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
95 * | BS | A | S | D | F | G | | H | J | K | L | ; | " |
96 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
97 * | LSPO| Z | X | C | V | B | | N | M | , | . | / | RSPC |
98 * |-----+------+------+------+------+------| |------+------+------+------+------+------|
99 * | Ctrl| LGUI | Lower| LAlt | Space/Lower | | Enter/Raise | Fn | Mouse| Menu | Ctrl |
100 * `----------------------------------------' '-----------------------------------------'
101 */
102
103[_QWERTY] = KEYMAP(
104 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
105 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
106 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
107 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
108 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, SPC_LW, ENT_RS, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
109 ),
110
111/* Dvorak
112 * .----------------------------------------. .-----------------------------------------.
113 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
114 * |------+------+------+------+------+-----| |------+------+------+------+------+------|
115 * | Tab | " | , | . | P | Y | | F | G | C | R | L | \ |
116 * |------+------+------+------+------+-----| |------+------+------+------+------+------|
117 * | BS | A | O | E | U | I | | D | H | T | N | S | / |
118 * |------+------+------+------+------+-----| |------+------+------+------+------+------|
119 * | LSPO | ; | Q | J | K | X | | B | M | W | V | Z | RSPC |
120 * |------+------+------+------+------+-----| |------+------+------+------+------+------|
121 * | Ctrl | LGUI | Lower| LAlt | Space/Lower| | Enter/Raise | Fn | Mouse| Menu | Ctrl |
122 * `----------------------------------------' '-----------------------------------------'
123 */
124
125[_DVORAK] = KEYMAP(
126 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
127 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, \
128 KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
129 KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, \
130 KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, SPC_LW, ENT_RS, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
131),
82 132
83/* Lower 133/* Lower
84 * ,-----------------------------------------. .-----------------------------------------. 134 * ,-----------------------------------------. .-----------------------------------------.
@@ -90,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 * |------+------+------+------+------+------| |------+------+------+------+------+------| 140 * |------+------+------+------+------+------| |------+------+------+------+------+------|
91 * | LSPO | Z | X | C | V | | | 1 | 2 | 3 | Enter| | RSPC | 141 * | LSPO | Z | X | C | V | | | 1 | 2 | 3 | Enter| | RSPC |
92 * |------+------+------+------+------+------| |------+------+------+------+------+------| 142 * |------+------+------+------+------+------| |------+------+------+------+------+------|
93 * | Ctrl | LGUI | Lower| LAlt | Space/Lower | | 0 | . | Fn | Menu | Ctrl | 143 * | Ctrl | LGUI | Lower| LAlt | Space/Lower | | 0 | . | Fn |ADJUST| Ctrl |
94 * `-----------------------------------------' `-----------------------------------------' 144 * `-----------------------------------------' `-----------------------------------------'
95 */ 145 */
96[_LOWER] = KEYMAP( \ 146[_LOWER] = KEYMAP( \
@@ -98,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
98 _______, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_7, KC_8, KC_9, KC_PPLS, XXXXXXX, _______,\ 148 _______, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_7, KC_8, KC_9, KC_PPLS, XXXXXXX, _______,\
99 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_4, KC_5, KC_6, KC_PENT, XXXXXXX, _______,\ 149 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_4, KC_5, KC_6, KC_PENT, XXXXXXX, _______,\
100 _______, _______, _______, _______, _______, XXXXXXX, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______,\ 150 _______, _______, _______, _______, _______, XXXXXXX, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______,\
101 _______, _______, _______, _______, _______, _______, KC_0, KC_0, KC_DOT, FNC, _______, _______ \ 151 _______, _______, _______, _______, _______, _______, KC_0, KC_0, KC_DOT, FNC, RAISE, _______ \
102), 152),
103 153
104/* Raise 154/* Raise
@@ -109,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
109 * |------+------+------+------+------+------| |------+------+------+------+------+------| 159 * |------+------+------+------+------+------| |------+------+------+------+------+------|
110 * | BS | | | | | | | | | | | | " | 160 * | BS | | | | | | | | | | | | " |
111 * |------+------+------+------+------+------| |------+------+------+------+------+------| 161 * |------+------+------+------+------+------| |------+------+------+------+------+------|
112 * | LSBO | | | { | [ | ` | | | | ] | } | . | ? | RSBC | 162 * | LSBO | <- | %>% | { | [ | ` | | | | ] | } | . | ? | RSBC |
113 * |------+------+------+------+------+------| |------+------+------+------+------+------| 163 * |------+------+------+------+------+------| |------+------+------+------+------+------|
114 * | Ctrl | LGUI | | LAlt | Space/Lower | | Enter/Raise | Fn | Mouse| Menu | Ctrl | 164 * | Ctrl | LGUI | | LAlt | Space/Lower | | Enter/Raise | Fn | Mouse| Menu | Ctrl |
115 * `-----------------------------------------' `-----------------------------------------' 165 * `-----------------------------------------' `-----------------------------------------'
@@ -118,7 +168,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
118 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ 168 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
119 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \ 169 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \
120 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, \ 170 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, \
121 _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC, KC_GRV, KC_PIPE, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \ 171 _______, POINT, PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_PIPE, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \
122 _______, _______, XXXXXXX, _______, _______, _______, ENT_RS, ENT_RS, FNC, MSE, _______, _______ \ 172 _______, _______, XXXXXXX, _______, _______, _______, ENT_RS, ENT_RS, FNC, MSE, _______, _______ \
123 ), 173 ),
124 174
@@ -127,19 +177,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
127 * ,-----------------------------------------. .-----------------------------------------. 177 * ,-----------------------------------------. .-----------------------------------------.
128 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | 178 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
129 * |------+------+------+------+------+------| |------+------+------+------+------+------| 179 * |------+------+------+------+------+------| |------+------+------+------+------+------|
130 * | Esc | Mute | Vol- | Vol+ | | RESET| | POWER| | | | | Ins | 180 * | Esc | Mute | Vol- | Vol+ | | | | | | | | | Ins |
131 * |------+------+------+------+------+------| |------+------+------+------+------+------| 181 * |------+------+------+------+------+------| |------+------+------+------+------+------|
132 * | Caps | Stop | |<< | >/|| | >>| | | | | | | | |PrtSc | 182 * | Caps | Stop | |<< | >/|| | >>| | | | | | | | |PrtSc |
133 * |------+------+------+------+------+------| |------+------+------+------+------+------| 183 * |------+------+------+------+------+------| |------+------+------+------+------+------|
134 * | LSOB | | | | | | | | | | | |ScrLk | 184 * | LSOB | | | | | | | | | | | |ScrLk |
135 * |------+------+------+------+------+------| |------+------+------+------+------+------| 185 * |------+------+------+------+------+------| |------+------+------+------+------+------|
136 * | Ctrl | LGUI | Alt | | Space/Lower | | Enter/Raise | Fn | Mouse| |PsBrk | 186 * | Ctrl | LGUI | | LAlt | Space/Lower | | Enter/Raise | Fn | Mouse| |PsBrk |
137 * `-----------------------------------------' `-----------------------------------------' 187 * `-----------------------------------------' `-----------------------------------------'
138 */ 188 */
139 189
140[_FUNCTION] = KEYMAP( 190[_FUNCTION] = KEYMAP(
141 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ 191 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
142 _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, RESET, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS , \ 192 _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS , \
143 KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, \ 193 KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, \
144 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK, \ 194 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLCK, \
145 _______, _______, _______, _______, _______, _______, _______, _______, FNC, _______, _______, KC_PAUS \ 195 _______, _______, _______, _______, _______, _______, _______, _______, FNC, _______, _______, KC_PAUS \
@@ -160,36 +210,87 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
160 */ 210 */
161 211
162[_MOUSE] = KEYMAP( 212[_MOUSE] = KEYMAP(
163 KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, \ 213 KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, \
164 KC_TAB, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \ 214 KC_TAB, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \
165 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \ 215 KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
166 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \ 216 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \
167 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL1, KC_ACL1, KC_ACL0, KC_ACL0, XXXXXXX, MSE, XXXXXXX, KC_RCTL \ 217 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL1, KC_ACL1, KC_ACL0, KC_ACL0, XXXXXXX, MSE, XXXXXXX, KC_RCTL \
168 ), 218 ),
169 219
220/* Adjust (Lower + Raise)
221 * ,-----------------------------------------. ,----------------------------------------.
222 * | | | | | |RESET | | | | | | | |
223 * |------+------+------+------+------+------| |-----+------+------+------+------+------|
224 * | | | | | | | | |TermOn|TermOf| | | Del |
225 * |------+------+------+------+------+------| |-----+------+------+------+------+------|
226 * | | | | | | | | |Qwerty|Colemk|Dvorak| | |
227 * |------+------+------+------+------+------| |-----+------+------+------+------+------|
228 * | | | | | | | | | | | | | |
229 * |------+------+------+------+------+------| |-----+------+------+------+------+------|
230 * | | | | | | | | | | | |
231 * `-----------------------------------------' `----------------------------------------'
232 */
233
234[_ADJUST] = KEYMAP(
235 _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, \
236 _______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
237 _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
238 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
239 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
240 )
170 241
171}; 242};
172 243
173#ifdef AUDIO_ENABLE
174float tone_colemak[][2] = SONG(COLEMAK_SOUND);
175#endif
176 244
177void persistent_default_layer_set(uint16_t default_layer) { 245void persistent_default_layer_set(uint16_t default_layer) {
178 eeconfig_update_default_layer(default_layer); 246 eeconfig_update_default_layer(default_layer);
179 default_layer_set(default_layer); 247 default_layer_set(default_layer);
180} 248}
181 249
250// Macros to send R pointer & dplyr pipe
251const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
252 switch(id) {
253 //R Pointer: <-
254 case R_POINT:
255 if (record->event.pressed) { // Pointer <-
256 SEND_STRING("<- ");
257// return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
258
259 }
260 break;
261 //dplyr pipe: %>%
262 case R_PIPE:
263 if (record->event.pressed) { // dplyr pipe %>%
264 SEND_STRING("%>% ");
265// return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
266 }
267 break;
268 }
269 return MACRO_NONE;
270}
271
272/* Cases to switch default layer to QWERTY, COLEMAK or DVORAK
273 and to access ADJUST layer to access the switch keys */
182bool process_record_user(uint16_t keycode, keyrecord_t *record) { 274bool process_record_user(uint16_t keycode, keyrecord_t *record) {
183 switch (keycode) { 275 switch (keycode) {
184 case COLEMAK: 276 case QWERTY:
185 if (record->event.pressed) { 277 if (record->event.pressed) {
186 #ifdef AUDIO_ENABLE 278 set_single_persistent_default_layer(_QWERTY);
187 PLAY_NOTE_ARRAY(tone_colemak, false, 0);
188 #endif
189 persistent_default_layer_set(1UL<<_COLEMAK);
190 } 279 }
191 return false; 280 return false;
192 break; 281 break;
282 case COLEMAK:
283 if (record->event.pressed) {
284 set_single_persistent_default_layer(_COLEMAK);
285 }
286 return false;
287 break;
288 case DVORAK:
289 if (record->event.pressed) {
290 set_single_persistent_default_layer(_DVORAK);
291 }
292 return false;
293 break;
193 case LOWER: 294 case LOWER:
194 if (record->event.pressed) { 295 if (record->event.pressed) {
195 layer_on(_LOWER); 296 layer_on(_LOWER);