diff options
-rw-r--r-- | layouts/community/ortho_4x12/junonum/keymap.c | 580 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/junonum/readme.md | 7 |
2 files changed, 297 insertions, 290 deletions
diff --git a/layouts/community/ortho_4x12/junonum/keymap.c b/layouts/community/ortho_4x12/junonum/keymap.c index e5eab8848..76e40326b 100644 --- a/layouts/community/ortho_4x12/junonum/keymap.c +++ b/layouts/community/ortho_4x12/junonum/keymap.c | |||
@@ -2,29 +2,29 @@ | |||
2 | #include "muse.h" | 2 | #include "muse.h" |
3 | 3 | ||
4 | enum planck_layers { | 4 | enum planck_layers { |
5 | _QWERTY, | 5 | _QWERTY, |
6 | _COLEMAK, | 6 | _COLEMAK, |
7 | _DVORAK, | 7 | _DVORAK, |
8 | _LOWER, | 8 | _LOWER, |
9 | _RAISE, | 9 | _RAISE, |
10 | _PLOVER, | 10 | _PLOVER, |
11 | _ADJUST, | 11 | _ADJUST, |
12 | 12 | ||
13 | _FN1, | 13 | _FN1, |
14 | _DPAD, | 14 | _DPAD, |
15 | _DPADNUM | 15 | _DPADNUM |
16 | }; | 16 | }; |
17 | 17 | ||
18 | enum planck_keycodes { | 18 | enum planck_keycodes { |
19 | QWERTY = SAFE_RANGE, | 19 | QWERTY = SAFE_RANGE, |
20 | COLEMAK, | 20 | COLEMAK, |
21 | DVORAK, | 21 | DVORAK, |
22 | PLOVER, | 22 | PLOVER, |
23 | BACKLIT, | 23 | BACKLIT, |
24 | EXT_PLV, | 24 | EXT_PLV, |
25 | 25 | ||
26 | DP_ON, | 26 | DP_ON, |
27 | DP_OFF | 27 | DP_OFF |
28 | }; | 28 | }; |
29 | 29 | ||
30 | #define SHIFTEN RSFT_T(KC_ENT) | 30 | #define SHIFTEN RSFT_T(KC_ENT) |
@@ -36,307 +36,311 @@ enum planck_keycodes { | |||
36 | 36 | ||
37 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 37 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
38 | 38 | ||
39 | [_QWERTY] = LAYOUT_ortho_4x12( | 39 | [_QWERTY] = LAYOUT_ortho_4x12( |
40 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 40 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
41 | CTRLTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | 41 | CTRLTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, |
42 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, | 42 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, |
43 | _______, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | 43 | _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT |
44 | ), | 44 | ), |
45 | 45 | ||
46 | [_COLEMAK] = LAYOUT_ortho_4x12( | 46 | [_COLEMAK] = LAYOUT_ortho_4x12( |
47 | KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | 47 | KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, |
48 | CTRLTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | 48 | CTRLTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, |
49 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, | 49 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, |
50 | _______, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | 50 | _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT |
51 | ), | 51 | ), |
52 | 52 | ||
53 | [_DVORAK] = LAYOUT_ortho_4x12( | 53 | [_DVORAK] = LAYOUT_ortho_4x12( |
54 | KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, | 54 | KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, |
55 | CTRLTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_QUOT, | 55 | CTRLTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_QUOT, |
56 | KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SHIFTEN, | 56 | KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SHIFTEN, |
57 | _______, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | 57 | _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT |
58 | ), | 58 | ), |
59 | 59 | ||
60 | [_LOWER] = LAYOUT_ortho_4x12( | 60 | [_LOWER] = LAYOUT_ortho_4x12( |
61 | KC_TILD, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | 61 | KC_TILD, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, |
62 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE, | 62 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE, |
63 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______, | 63 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______, |
64 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY | 64 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY |
65 | ), | 65 | ), |
66 | 66 | ||
67 | [_RAISE] = LAYOUT_ortho_4x12( | 67 | [_RAISE] = LAYOUT_ortho_4x12( |
68 | KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | 68 | KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, |
69 | _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS, | 69 | _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS, |
70 | _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______, | 70 | _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______, |
71 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY | 71 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY |
72 | ), | 72 | ), |
73 | 73 | ||
74 | [_PLOVER] = LAYOUT_ortho_4x12( | 74 | [_PLOVER] = LAYOUT_ortho_4x12( |
75 | KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , | 75 | KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , |
76 | XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | 76 | XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, |
77 | XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | 77 | XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, |
78 | EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX | 78 | EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX |
79 | ), | 79 | ), |
80 | |||
81 | [_ADJUST] = LAYOUT_ortho_4x12( | ||
82 | _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , | ||
83 | _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, | ||
84 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, | ||
85 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
86 | ), | ||
87 | |||
88 | [_FN1] = LAYOUT_ortho_4x12( | ||
89 | KC_MENU, _______, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______, | ||
90 | KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL , | ||
91 | _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, | ||
92 | _______, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______ | ||
93 | ), | ||
94 | |||
95 | // Slightly modified layer with inverted T-shaped directional pad | ||
96 | [_DPAD] = LAYOUT_ortho_4x12( | ||
97 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
98 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
99 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT , | ||
100 | KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, DPADNUM, KC_SPC, KC_SPC, LOWER, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT | ||
101 | ), | ||
102 | |||
103 | // Extended layer for weapon switching | ||
104 | [_DPADNUM] = LAYOUT_ortho_4x12( | ||
105 | XXXXXXX, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, | ||
106 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | ||
107 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
108 | _______, _______, _______, XXXXXXX, DPADNUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
109 | ) | ||
110 | 80 | ||
81 | [_ADJUST] = LAYOUT_ortho_4x12( | ||
82 | _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , | ||
83 | _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, | ||
84 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, | ||
85 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
86 | ), | ||
111 | 87 | ||
88 | [_FN1] = LAYOUT_ortho_4x12( | ||
89 | KC_MENU, DP_ON, KC_PGDN, KC_UP, KC_PGUP, KC_INS, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, | ||
90 | KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL , | ||
91 | _______, _______, _______, _______, _______, KC_END, KC_END, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, | ||
92 | _______, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______ | ||
93 | ), | ||
94 | |||
95 | // Slightly modified layer with inverted T-shaped directional pad | ||
96 | [_DPAD] = LAYOUT_ortho_4x12( | ||
97 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
98 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
99 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT , | ||
100 | XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, DPADNUM, KC_SPC, KC_SPC, LOWER, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT | ||
101 | ), | ||
102 | |||
103 | // Extended numeric layer for FPS weapon switching and StarCraft group control | ||
104 | [_DPADNUM] = LAYOUT_ortho_4x12( | ||
105 | KC_LGUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, XXXXXXX, XXXXXXX, DP_OFF, XXXXXXX, | ||
106 | KC_LCTL, _______, KC_8, KC_9, KC_0, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_SLSH, | ||
107 | KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, | ||
108 | _______, _______, _______, _______, DPADNUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
109 | ) | ||
112 | }; | 110 | }; |
113 | 111 | ||
114 | #ifdef AUDIO_ENABLE | 112 | #ifdef AUDIO_ENABLE |
115 | float plover_song[][2] = SONG(PLOVER_SOUND); | 113 | float plover_song[][2] = SONG(PLOVER_SOUND); |
116 | float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); | 114 | float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); |
117 | 115 | ||
118 | // Borrowing audio from unused audio | 116 | float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND); |
119 | // Caps Lock on and off sound too similar | 117 | float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND); |
120 | 118 | ||
121 | float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND); | 119 | // Custom songs for DPAD layer status |
122 | float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND); | 120 | float dpad_song_on[][2] = { |
123 | 121 | HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4), | |
124 | float dpad_song_on[][2] = SONG(ROCK_A_BYE_BABY); | 122 | QD_NOTE(_F4), QD_NOTE(_C5), HD_NOTE(_A4), |
125 | float dpad_song_off[][2] = SONG(MAJOR_SOUND); | 123 | QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4) |
124 | }; | ||
125 | |||
126 | float dpad_song_off[][2] = { | ||
127 | ED_NOTE(_C6), ED_NOTE(_C6), | ||
128 | ED_NOTE(_C6), ED_NOTE(_C6), | ||
129 | W__NOTE(_REST), QD_NOTE(_GS5), | ||
130 | QD_NOTE(_AS5), Q__NOTE(_C6), | ||
131 | Q__NOTE(_AS5), Q__NOTE(_C6) | ||
132 | }; | ||
126 | #endif | 133 | #endif |
127 | 134 | ||
128 | #ifndef BACKLIGHT_ENABLE | 135 | #ifndef BACKLIGHT_ENABLE |
129 | layer_state_t layer_state_set_user(layer_state_t state) { | 136 | layer_state_t layer_state_set_user(layer_state_t state) { |
130 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | 137 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); |
131 | } | 138 | } |
132 | 139 | ||
133 | #else | 140 | #else |
134 | 141 | ||
135 | layer_state_t layer_state_set_user(layer_state_t state) { | 142 | layer_state_t layer_state_set_user(layer_state_t state) { |
136 | // LED control, lighting up when Fn layer is activated | 143 | // LED control, lighting up when Fn layer is activated |
137 | state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | 144 | state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); |
138 | switch (get_highest_layer(state)) { | 145 | switch (get_highest_layer(state)) { |
139 | case _QWERTY: | 146 | case _QWERTY: |
140 | backlight_set(0); | 147 | backlight_set(0); |
141 | break; | 148 | break; |
142 | case _FN1: | 149 | case _FN1: |
143 | backlight_set(3); | 150 | backlight_set(3); |
144 | break; | 151 | break; |
145 | case _DPAD: | 152 | case _DPAD: |
146 | backlight_set(3); | 153 | backlight_set(3); |
147 | break; | 154 | break; |
148 | } | 155 | } |
149 | return state; | 156 | return state; |
150 | } | 157 | } |
151 | 158 | ||
152 | #endif | 159 | #endif |
153 | |||
154 | 160 | ||
155 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 161 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
156 | switch (keycode) { | 162 | switch (keycode) { |
157 | case QWERTY: | 163 | case QWERTY: |
158 | if (record->event.pressed) { | 164 | if (record->event.pressed) { |
159 | print("mode just switched to qwerty and this is a huge string\n"); | 165 | print("mode just switched to qwerty and this is a huge string\n"); |
160 | set_single_persistent_default_layer(_QWERTY); | 166 | set_single_persistent_default_layer(_QWERTY); |
161 | } | 167 | } |
162 | return false; | 168 | return false; |
163 | break; | 169 | break; |
164 | case COLEMAK: | 170 | case COLEMAK: |
165 | if (record->event.pressed) { | 171 | if (record->event.pressed) { |
166 | set_single_persistent_default_layer(_COLEMAK); | 172 | set_single_persistent_default_layer(_COLEMAK); |
167 | } | 173 | } |
168 | return false; | 174 | return false; |
169 | break; | 175 | break; |
170 | case DVORAK: | 176 | case DVORAK: |
171 | if (record->event.pressed) { | 177 | if (record->event.pressed) { |
172 | set_single_persistent_default_layer(_DVORAK); | 178 | set_single_persistent_default_layer(_DVORAK); |
173 | } | 179 | } |
174 | return false; | 180 | return false; |
175 | break; | 181 | break; |
176 | case BACKLIT: | 182 | case BACKLIT: |
177 | if (record->event.pressed) { | 183 | if (record->event.pressed) { |
178 | register_code(KC_RSFT); | 184 | register_code(KC_RSFT); |
179 | #ifdef BACKLIGHT_ENABLE | 185 | #ifdef BACKLIGHT_ENABLE |
180 | backlight_step(); | 186 | backlight_step(); |
181 | #endif | 187 | #endif |
182 | #ifdef KEYBOARD_planck_rev5 | 188 | #ifdef KEYBOARD_planck_rev5 |
183 | writePinLow(E6); | 189 | writePinLow(E6); |
184 | #endif | 190 | #endif |
185 | } else { | 191 | } else { |
186 | unregister_code(KC_RSFT); | 192 | unregister_code(KC_RSFT); |
187 | #ifdef KEYBOARD_planck_rev5 | 193 | #ifdef KEYBOARD_planck_rev5 |
188 | writePinHigh(E6); | 194 | writePinHigh(E6); |
189 | #endif | 195 | #endif |
190 | } | 196 | } |
191 | return false; | 197 | return false; |
192 | break; | 198 | break; |
193 | case PLOVER: | 199 | case PLOVER: |
194 | if (record->event.pressed) { | 200 | if (record->event.pressed) { |
195 | #ifdef AUDIO_ENABLE | 201 | #ifdef AUDIO_ENABLE |
196 | stop_all_notes(); | 202 | stop_all_notes(); |
197 | PLAY_SONG(plover_song); | 203 | PLAY_SONG(plover_song); |
198 | #endif | 204 | #endif |
199 | layer_off(_RAISE); | 205 | layer_off(_RAISE); |
200 | layer_off(_LOWER); | 206 | layer_off(_LOWER); |
201 | layer_off(_ADJUST); | 207 | layer_off(_ADJUST); |
202 | layer_on(_PLOVER); | 208 | layer_on(_PLOVER); |
203 | if (!eeconfig_is_enabled()) { | 209 | if (!eeconfig_is_enabled()) { |
204 | eeconfig_init(); | 210 | eeconfig_init(); |
205 | } | 211 | } |
206 | keymap_config.raw = eeconfig_read_keymap(); | 212 | keymap_config.raw = eeconfig_read_keymap(); |
207 | keymap_config.nkro = 1; | 213 | keymap_config.nkro = 1; |
208 | eeconfig_update_keymap(keymap_config.raw); | 214 | eeconfig_update_keymap(keymap_config.raw); |
209 | } | 215 | } |
210 | return false; | 216 | return false; |
211 | break; | 217 | break; |
212 | case EXT_PLV: | 218 | case EXT_PLV: |
213 | if (record->event.pressed) { | 219 | if (record->event.pressed) { |
214 | #ifdef AUDIO_ENABLE | 220 | #ifdef AUDIO_ENABLE |
215 | PLAY_SONG(plover_gb_song); | 221 | PLAY_SONG(plover_gb_song); |
216 | #endif | 222 | #endif |
217 | layer_off(_PLOVER); | 223 | layer_off(_PLOVER); |
218 | } | 224 | } |
219 | return false; | 225 | return false; |
220 | break; | 226 | break; |
221 | 227 | ||
222 | 228 | // Play audio upon switching Caps Lock and custom layers | |
223 | // Play audio upon switching Caps Lock and custom layers | 229 | |
224 | 230 | case KC_CAPS: | |
225 | case KC_CAPS: | 231 | if (record->event.pressed) { |
226 | if (record->event.pressed) { | 232 | #ifdef AUDIO_ENABLE |
227 | #ifdef AUDIO_ENABLE | 233 | if (host_keyboard_led_state().caps_lock) { |
228 | if (host_keyboard_led_state().caps_lock) { | 234 | PLAY_SONG(caps_song_off); |
229 | PLAY_SONG(caps_song_off); | 235 | } else { |
230 | } else { | 236 | PLAY_SONG(caps_song_on); |
231 | PLAY_SONG(caps_song_on); | 237 | } |
232 | } | 238 | #endif |
233 | #endif | 239 | } |
234 | } | 240 | return true; |
235 | return true; | 241 | |
236 | 242 | case DP_ON: | |
237 | case DP_ON: | 243 | if (record->event.pressed) { |
238 | if (record->event.pressed) { | 244 | } else { // only actived upon key release |
239 | 245 | #ifdef AUDIO_ENABLE | |
240 | } else { // only actived upon key release | 246 | PLAY_SONG(dpad_song_on); |
241 | #ifdef AUDIO_ENABLE | 247 | #endif |
242 | PLAY_SONG(dpad_song_on); | 248 | |
243 | #endif | 249 | layer_off(_FN1); |
244 | 250 | layer_on(_DPAD); | |
245 | layer_off(_FN1); | 251 | } |
246 | layer_on(_DPAD); | 252 | |
247 | } | 253 | case DP_OFF: |
248 | 254 | if (record->event.pressed) { | |
249 | case DP_OFF: | 255 | #ifdef AUDIO_ENABLE |
250 | if (record->event.pressed) { | 256 | PLAY_SONG(dpad_song_off); |
251 | #ifdef AUDIO_ENABLE | 257 | #endif |
252 | PLAY_SONG(dpad_song_off); | 258 | |
253 | #endif | 259 | layer_off(_DPAD); |
254 | 260 | } | |
255 | layer_off(_DPAD); | ||
256 | } | ||
257 | } | 261 | } |
258 | return true; | 262 | return true; |
259 | } | 263 | } |
260 | 264 | ||
261 | bool muse_mode = false; | 265 | bool muse_mode = false; |
262 | uint8_t last_muse_note = 0; | 266 | uint8_t last_muse_note = 0; |
263 | uint16_t muse_counter = 0; | 267 | uint16_t muse_counter = 0; |
264 | uint8_t muse_offset = 70; | 268 | uint8_t muse_offset = 70; |
265 | uint16_t muse_tempo = 50; | 269 | uint16_t muse_tempo = 50; |
266 | 270 | ||
267 | void encoder_update(bool clockwise) { | 271 | void encoder_update(bool clockwise) { |
268 | if (muse_mode) { | 272 | if (muse_mode) { |
269 | if (IS_LAYER_ON(_RAISE)) { | 273 | if (IS_LAYER_ON(_RAISE)) { |
270 | if (clockwise) { | 274 | if (clockwise) { |
271 | muse_offset++; | 275 | muse_offset++; |
272 | } else { | 276 | } else { |
273 | muse_offset--; | 277 | muse_offset--; |
274 | } | 278 | } |
275 | } else { | 279 | } else { |
276 | if (clockwise) { | 280 | if (clockwise) { |
277 | muse_tempo+=1; | 281 | muse_tempo += 1; |
278 | } else { | 282 | } else { |
279 | muse_tempo-=1; | 283 | muse_tempo -= 1; |
280 | } | 284 | } |
281 | } | 285 | } |
282 | } else { | ||
283 | if (clockwise) { | ||
284 | tap_code(KC_PGDN); | ||
285 | } else { | 286 | } else { |
286 | tap_code(KC_PGUP); | 287 | if (clockwise) { |
288 | tap_code(KC_PGDN); | ||
289 | } else { | ||
290 | tap_code(KC_PGUP); | ||
291 | } | ||
287 | } | 292 | } |
288 | } | ||
289 | } | 293 | } |
290 | 294 | ||
291 | void dip_update(uint8_t index, bool active) { | 295 | void dip_update(uint8_t index, bool active) { |
292 | switch (index) { | 296 | switch (index) { |
293 | case 0: | 297 | case 0: |
294 | if (active) { | 298 | if (active) { |
295 | #ifdef AUDIO_ENABLE | 299 | #ifdef AUDIO_ENABLE |
296 | PLAY_SONG(plover_song); | 300 | PLAY_SONG(plover_song); |
297 | #endif | 301 | #endif |
298 | layer_on(_ADJUST); | 302 | layer_on(_ADJUST); |
299 | } else { | 303 | } else { |
300 | #ifdef AUDIO_ENABLE | 304 | #ifdef AUDIO_ENABLE |
301 | PLAY_SONG(plover_gb_song); | 305 | PLAY_SONG(plover_gb_song); |
302 | #endif | 306 | #endif |
303 | layer_off(_ADJUST); | 307 | layer_off(_ADJUST); |
304 | } | 308 | } |
305 | break; | 309 | break; |
306 | case 1: | 310 | case 1: |
307 | if (active) { | 311 | if (active) { |
308 | muse_mode = true; | 312 | muse_mode = true; |
309 | } else { | 313 | } else { |
310 | muse_mode = false; | 314 | muse_mode = false; |
311 | #ifdef AUDIO_ENABLE | 315 | #ifdef AUDIO_ENABLE |
312 | stop_all_notes(); | 316 | stop_all_notes(); |
313 | #endif | 317 | #endif |
314 | } | 318 | } |
315 | } | 319 | } |
316 | } | 320 | } |
317 | 321 | ||
318 | void matrix_scan_user(void) { | 322 | void matrix_scan_user(void) { |
319 | #ifdef AUDIO_ENABLE | 323 | #ifdef AUDIO_ENABLE |
320 | if (muse_mode) { | 324 | if (muse_mode) { |
321 | if (muse_counter == 0) { | 325 | if (muse_counter == 0) { |
322 | uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | 326 | uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; |
323 | if (muse_note != last_muse_note) { | 327 | if (muse_note != last_muse_note) { |
324 | stop_note(compute_freq_for_midi_note(last_muse_note)); | 328 | stop_note(compute_freq_for_midi_note(last_muse_note)); |
325 | play_note(compute_freq_for_midi_note(muse_note), 0xF); | 329 | play_note(compute_freq_for_midi_note(muse_note), 0xF); |
326 | last_muse_note = muse_note; | 330 | last_muse_note = muse_note; |
331 | } | ||
327 | } | 332 | } |
328 | } | 333 | muse_counter = (muse_counter + 1) % muse_tempo; |
329 | muse_counter = (muse_counter + 1) % muse_tempo; | ||
330 | } | 334 | } |
331 | #endif | 335 | #endif |
332 | } | 336 | } |
333 | 337 | ||
334 | bool music_mask_user(uint16_t keycode) { | 338 | bool music_mask_user(uint16_t keycode) { |
335 | switch (keycode) { | 339 | switch (keycode) { |
336 | case RAISE: | 340 | case RAISE: |
337 | case LOWER: | 341 | case LOWER: |
338 | return false; | 342 | return false; |
339 | default: | 343 | default: |
340 | return true; | 344 | return true; |
341 | } | 345 | } |
342 | } \ No newline at end of file | 346 | } |
diff --git a/layouts/community/ortho_4x12/junonum/readme.md b/layouts/community/ortho_4x12/junonum/readme.md index 747646d9e..afa369fda 100644 --- a/layouts/community/ortho_4x12/junonum/readme.md +++ b/layouts/community/ortho_4x12/junonum/readme.md | |||
@@ -4,9 +4,12 @@ A universal ortholinear 4x12 keymap created by Juno Nguyen | |||
4 | ## Features: | 4 | ## Features: |
5 | * Successor to *juno*. | 5 | * Successor to *juno*. |
6 | * Numpad-like cluster for numerics. | 6 | * Numpad-like cluster for numerics. |
7 | * ESDF and IJKL arrow cluster from SpaceFn. | 7 | * ESDF and IJKL arrow cluster from SpaceFn for navigation. |
8 | * CtrlTab for even more HHKB-ness. | 8 | * CtrlTab for even more HHKB-ness. |
9 | * Huge amount of omissions of the redundant keys. | 9 | * Audio indicator for Caps Lock. |
10 | * Huge amount of omissions of redundant keys. | ||
10 | * minimalism (not really). | 11 | * minimalism (not really). |
12 | * DPAD layer for gaming with inverted T-shaped direction keys. | ||
13 | * DPADNUM secondary layer tailored for StarCraft group control and FPS weapon switching. | ||
11 | 14 | ||
12 | Refined since Oct 2019 \ No newline at end of file | 15 | Refined since Oct 2019 \ No newline at end of file |