aboutsummaryrefslogtreecommitdiff
path: root/keyboards/helix/rev3_5rows
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2021-04-04 04:42:29 +0900
committerGitHub <noreply@github.com>2021-04-04 04:42:29 +0900
commit49dc332a0401c9089afe91d2d06dc1f4e18fe01b (patch)
treee74c91b16d0ea584674a1f61adffa6d7b1e06420 /keyboards/helix/rev3_5rows
parent60e1910e5b4f83a07aebbb0d75276ecda6c50e27 (diff)
downloadqmk_firmware-49dc332a0401c9089afe91d2d06dc1f4e18fe01b.tar.gz
qmk_firmware-49dc332a0401c9089afe91d2d06dc1f4e18fe01b.zip
[Keymap] cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows (#12259)
* cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows * Made the layout data easier to read. * helix/rev2/keymaps/five_rows/keymap.c * helix/rev3_5rows/keymaps/five_rows/keymap.c * The following two were made the same. * keymaps/five_rows/config.h * keymaps/five_rows/oled_display.c The binary of the compilation result has not changed. * update keyboards/helix/rev2/keymaps/five_rows/rules.mk KEYBOARD_LOCAL_FEATURES_MK was moved to the end. * add '#define DISABLE_SYNC_TIMER' into helix/rev3_5rows/keymaps/five_rows/config.h The sync timer features worsen the matrix scan rate of the Helix keyboard. I'm not sure if it makes sense to have sync timer features enabled on the Helix keyboard. So in my keymap I disable this.
Diffstat (limited to 'keyboards/helix/rev3_5rows')
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/config.h8
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c325
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c10
3 files changed, 174 insertions, 169 deletions
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
index 205867e5b..b9961f5c4 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
@@ -22,19 +22,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#ifndef CONFIG_USER_H 22#ifndef CONFIG_USER_H
23#define CONFIG_USER_H 23#define CONFIG_USER_H
24 24
25#undef OLED_UPDATE_INTERVAL
26#define OLED_UPDATE_INTERVAL 50
27
28#undef TAPPING_TERM 25#undef TAPPING_TERM
29#define TAPPING_TERM 300 26#define TAPPING_TERM 300
30#define PERMISSIVE_HOLD 27#define PERMISSIVE_HOLD
31/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD. 28/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
32 see tmk_core/common/action_tapping.c */ 29 see tmk_core/common/action_tapping.c */
33 30
31#undef OLED_UPDATE_INTERVAL
32#define OLED_UPDATE_INTERVAL 50
33
34// place overrides here 34// place overrides here
35 35
36// If you need more program area, try select and reduce rgblight modes to use. 36// If you need more program area, try select and reduce rgblight modes to use.
37 37
38#define DISABLE_SYNC_TIMER
39
38// Selection of RGBLIGHT MODE to use. 40// Selection of RGBLIGHT MODE to use.
39#undef RGBLIGHT_ANIMATIONS 41#undef RGBLIGHT_ANIMATIONS
40#undef RGBLIGHT_EFFECT_BREATHING 42#undef RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
index a2ec10862..16eff4924 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
@@ -42,6 +42,8 @@ enum custom_keycodes {
42 RGBRST 42 RGBRST
43}; 43};
44 44
45// clang-format off
46
45#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) 47#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
46 48
47//Macros 49//Macros
@@ -49,24 +51,26 @@ enum custom_keycodes {
49#define XXXX XXXXXXX 51#define XXXX XXXXXXX
50#define ____ _______ 52#define ____ _______
51#define KC_ADJ MO(_ADJUST) 53#define KC_ADJ MO(_ADJUST)
52#define KC_LSMI LSFT(KC_MINS)
53#define KC_LSEQ LSFT(KC_EQL)
54#define KC_LSRB LSFT(KC_RBRC)
55#define KC_LSLB LSFT(KC_LBRC)
56 54
57#define _1_2_3_4_5 KC_1, KC_2, KC_3, KC_4, KC_5 55#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5
58#define _6_7_8_9_0 KC_6, KC_7, KC_8, KC_9, KC_0 56#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0
59#define L_LOWER2_CAPS_LALT_LGUI_SPC_RABS \ 57#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \
60 KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) 58 KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC)
61#define R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ 59#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \
62 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER 60 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER
63 61#define GRV__QUOT KC_GRV, KC_QUOT
64 62
65#if MATRIX_ROWS == 10 // HELIX_ROWS == 5 63#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
66const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67 65
68 /* Qwerty 66 /* Qwerty */
69 * ,-----------------------------------. ,-----------------------------------. 67#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T
68#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P
69#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G
70#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN
71#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
72#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
73 /* ,-----------------------------------. ,-----------------------------------.
70 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | 74 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
71 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 75 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
72 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | 76 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
@@ -78,23 +82,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
78 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| 82 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
79 * `-----------------------------------------------------------------------------------' 83 * `-----------------------------------------------------------------------------------'
80 */ 84 */
81#define _Q_W_E_R_T KC_Q, KC_W, KC_E, KC_R, KC_T 85 [_QWERTY] = LAYOUT_wrapper(
82#define _Y_U_I_O_P KC_Y, KC_U, KC_I, KC_O, KC_P 86 KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
83#define _A_S_D_F_G KC_A, KC_S, KC_D, KC_F, KC_G 87 KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS,
84#define _H_J_K_L_SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN 88 KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL,
85#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B 89 KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT,
86#define _N_M_COMM_DOT_SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH 90 LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
87
88 [_QWERTY] = LAYOUT_wrapper( \
89 KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
90 KC_TAB, _Q_W_E_R_T, _Y_U_I_O_P, KC_BSLS, \
91 KC_LCTL, _A_S_D_F_G, _H_J_K_L_SCLN, KC_RCTL, \
92 KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _N_M_COMM_DOT_SLSH, KC_RSFT, \
93 L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
94 ), 91 ),
95 92
96 /* Colemak 93 /* Colemak */
97 * ,-----------------------------------. ,-----------------------------------. 94#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G
95#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN
96#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D
97#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O
98#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
99#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
100 /* ,-----------------------------------. ,-----------------------------------.
98 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | 101 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
99 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 102 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
100 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | 103 * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
@@ -106,23 +109,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
106 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| 109 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
107 * `-----------------------------------------------------------------------------------' 110 * `-----------------------------------------------------------------------------------'
108 */ 111 */
109#define _Q_W_F_P_G KC_Q, KC_W, KC_F, KC_P, KC_G 112 [_COLEMAK] = LAYOUT_wrapper(
110#define _J_L_U_Y_SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN 113 KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
111#define _A_R_S_T_D KC_A, KC_R, KC_S, KC_T, KC_D 114 KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS,
112#define _H_N_E_I_O KC_H, KC_N, KC_E, KC_I, KC_O 115 KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL,
113#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B 116 KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT,
114#define _K_M_COMM_DOT_SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH 117 LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
115 118 ),
116 [_COLEMAK] = LAYOUT_wrapper( \
117 KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
118 KC_TAB, _Q_W_F_P_G, _J_L_U_Y_SCLN, KC_BSLS, \
119 KC_LCTL, _A_R_S_T_D, _H_N_E_I_O, KC_RCTL, \
120 KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _K_M_COMM_DOT_SLSH, KC_RSFT, \
121 L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
122 ),
123 119
124 /* Dvorak 120 /* Dvorak */
125 * ,-----------------------------------. ,-----------------------------------. 121#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
122#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L
123#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I
124#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S
125#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X
126#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z
127#define GRV__SLSH KC_GRV, KC_SLSH
128 /* ,-----------------------------------. ,-----------------------------------.
126 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | 129 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
127 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 130 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
128 * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | 131 * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
@@ -134,23 +137,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| 137 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
135 * `-----------------------------------------------------------------------------------' 138 * `-----------------------------------------------------------------------------------'
136 */ 139 */
137#define _QUOT_COMM_DOT_P_Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y 140 [_DVORAK] = LAYOUT_wrapper(
138#define _F_G_C_R_L KC_F, KC_G, KC_C, KC_R, KC_L 141 KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
139#define _A_O_E_U_I KC_A, KC_O, KC_E, KC_U, KC_I 142 KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS,
140#define _D_H_T_N_S KC_D, KC_H, KC_T, KC_N, KC_S 143 KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL,
141#define _SCLN_Q_J_K_X KC_SCLN, KC_Q, KC_J, KC_K, KC_X 144 KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT,
142#define _B_M_W_V_Z KC_B, KC_M, KC_W, KC_V, KC_Z 145 LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
143
144 [_DVORAK] = LAYOUT_wrapper( \
145 KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
146 KC_TAB, _QUOT_COMM_DOT_P_Y, _F_G_C_R_L, KC_BSLS, \
147 KC_LCTL, _A_O_E_U_I, _D_H_T_N_S, KC_RCTL, \
148 KC_LSFT, _SCLN_Q_J_K_X, KC_GRV, KC_SLSH, _B_M_W_V_Z, KC_RSFT, \
149 L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
150 ), 146 ),
151 147
152 /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) 148 /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */
153 * ,-----------------------------------. ,-----------------------------------. 149#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN
150#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P
151#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U
152#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N
153#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F
154#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH
155 /* ,-----------------------------------. ,-----------------------------------.
154 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | 156 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
155 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 157 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
156 * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ | 158 * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ |
@@ -162,23 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
162 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| 164 * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
163 * `-----------------------------------------------------------------------------------' 165 * `-----------------------------------------------------------------------------------'
164 */ 166 */
165#define _Q_W_COMM_DOT_SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN 167 [_EUCALYN] = LAYOUT_wrapper(
166#define _M_R_D_Y_P KC_M, KC_R, KC_D, KC_Y, KC_P 168 KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
167#define _A_O_E_I_U KC_A, KC_O, KC_E, KC_I, KC_U 169 KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS,
168#define _G_T_K_S_N KC_G, KC_T, KC_K, KC_S, KC_N 170 KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL,
169#define _Z_X_C_V_F KC_Z, KC_X, KC_C, KC_V, KC_F 171 KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT,
170#define _B_H_J_L_SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH 172 LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
171 173 ),
172 [_EUCALYN] = LAYOUT_wrapper( \
173 KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
174 KC_TAB, _Q_W_COMM_DOT_SCLN, _M_R_D_Y_P, KC_BSLS, \
175 KC_LCTL, _A_O_E_I_U, _G_T_K_S_N, KC_RCTL, \
176 KC_LSFT, _Z_X_C_V_F, KC_GRV, KC_QUOT, _B_H_J_L_SLSH, KC_RSFT, \
177 L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
178 ),
179 174
180 /* Keypad 175 /* Keypad */
181 * ,-----------------------------------. ,-----------------------------------. 176#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST
177#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9
178#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6
179#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3
180#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT
181#define F1___F6 KC_F1, KC_F6
182#define F2___F7 KC_F2, KC_F7
183#define F3___F8 KC_F3, KC_F8
184#define F4___F9 KC_F4, KC_F9
185#define F5__F10 KC_F5, KC_F10
186#define FF12 LT(_PADFUNC,KC_F12)
187 /* ,-----------------------------------. ,-----------------------------------.
182 * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * | 188 * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
183 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| 189 * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
184 * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 | 190 * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 |
@@ -190,25 +196,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
190 * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . | 196 * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . |
191 * `-----------------------------------------------------------------------------------' 197 * `-----------------------------------------------------------------------------------'
192 */ 198 */
193#define KP_TOP KC_TAB, KC_PSLS, KC_PAST 199 [_KEYPAD] = LAYOUT_wrapper(
194#define KP_789 KC_KP_7, KC_KP_8, KC_KP_9 200 KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST,
195#define KP_456 KC_KP_4, KC_KP_5, KC_KP_6 201 KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9,
196#define KP_123 KC_KP_1, KC_KP_2, KC_KP_3 202 KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6,
197#define KP_BTM KC_KP_0, KC_COMM, KC_PDOT 203 KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3,
198#define F_1_6 KC_F1, KC_F6 204 KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT
199#define F_2_7 KC_F2, KC_F7 205 ),
200#define F_3_8 KC_F3, KC_F8
201#define F_4_9 KC_F4, KC_F9
202#define F_510 KC_F5, KC_F10
203#define FF12 LT(_PADFUNC,KC_F12)
204
205 [_KEYPAD] = LAYOUT_wrapper( \
206 KP_TOP, KC_DEL, F_1_6, F_1_6, KC_DEL, KP_TOP, \
207 KP_789, KC_BSPC, F_2_7, F_2_7, KC_BSPC, KP_789, \
208 KP_456, KC_PMNS, F_3_8, F_3_8, KC_PMNS, KP_456, \
209 KP_123, KC_PPLS, F_4_9, KC_F11, KC_F11, F_4_9, KC_PPLS, KP_123, \
210 KP_BTM, KC_PENT, F_510, FF12, FF12, F_510, KC_PENT, KP_BTM \
211 ),
212 206
213 /* AUX modifier key layer 207 /* AUX modifier key layer
214 * ,-----------------------------------. ,-----------------------------------. 208 * ,-----------------------------------. ,-----------------------------------.
@@ -223,16 +217,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
223 * | | 00 | | | | | | | | | | | 00 | | 217 * | | 00 | | | | | | | | | | | 00 | |
224 * `-----------------------------------------------------------------------------------' 218 * `-----------------------------------------------------------------------------------'
225 */ 219 */
226 [_KAUX] = LAYOUT( \ 220 [_KAUX] = LAYOUT(
227 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 221 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
228 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 222 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
229 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 223 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
230 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 224 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
231 ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ \ 225 ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____
232 ), 226 ),
233 227
234 /* Keypad function layer 228 /* Keypad function layer */
235 * ,-----------------------------------------. ,-----------------------------------------. 229#define PAUS__SLCK__PSCR KC_PAUS, KC_SLCK, KC_PSCR
230#define PSCR__SLCK__PAUS KC_PSCR, KC_SLCK, KC_PAUS
231#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP
232#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME
233#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT
234#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL
235#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
236 /* ,-----------------------------------------. ,-----------------------------------------.
236 * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | | 237 * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
237 * |------+------+------+------+------+------| |------+------+------+------+------+------| 238 * |------+------+------+------+------+------| |------+------+------+------+------+------|
238 * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | | 239 * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | |
@@ -244,55 +245,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
244 * | | | | | | | | | | | | | | | 245 * | | | | | | | | | | | | | | |
245 * `-------------------------------------------------------------------------------------------------' 246 * `-------------------------------------------------------------------------------------------------'
246 */ 247 */
247#define _PAUS_SLCK_PSCR KC_PAUS, KC_SLCK, KC_PSCR 248 [_PADFUNC] = LAYOUT_wrapper(
248#define _PSCR_SLCK_PAUS KC_PSCR, KC_SLCK, KC_PAUS 249 XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX,
249#define _HOME_UP_PGUP KC_HOME, KC_UP, KC_PGUP 250 XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX,
250#define _PGUP_UP_HOME KC_PGUP, KC_UP, KC_HOME 251 XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX,
251#define _DEL_INS_LEFT_DOWN_RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT 252 XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX,
252#define _LEFT_DOWN_RGHT_INS_DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL 253 XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX
253#define _PGDN_ADJ_ADJ_PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
254
255 [_PADFUNC] = LAYOUT_wrapper( \
256 XXXX, XXXX, XXXX, _PAUS_SLCK_PSCR, _PSCR_SLCK_PAUS, XXXX, XXXX, XXXX, \
257 XXXX, XXXX, XXXX, _HOME_UP_PGUP, _PGUP_UP_HOME, XXXX, XXXX, XXXX, \
258 XXXX, _DEL_INS_LEFT_DOWN_RGHT, _LEFT_DOWN_RGHT_INS_DEL, XXXX, \
259 XXXX, XXXX, XXXX, KC_END, XXXX, _PGDN_ADJ_ADJ_PGDN, XXXX, KC_END, XXXX, XXXX, XXXX, \
260 XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \
261 ), 254 ),
262 255
263 /* Lower 256 /* Lower */
264 * ,-----------------------------------------. ,-----------------------------------------. 257#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
258#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
259#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS
260#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX
261#define ADJ___ADJ KC_ADJ, KC_ADJ
262#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP
263#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME
264#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
265#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
266 /* ,-----------------------------------------. ,-----------------------------------------.
265 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | 267 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
266 * |------+------+------+------+------+------| |------+------+------+------+------+------| 268 * |------+------+------+------+------+------| |------+------+------+------+------+------|
267 * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 | 269 * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 |
268 * |------+------+------+------+------+------| |------+------+------+------+------+------| 270 * |------+------+------+------+------+------| |------+------+------+------+------+------|
269 * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | | 271 * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | |
270 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 272 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
271 * | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | | 273 * | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | |
272 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 274 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
273 * | | | PrtSc| | | | | | | | | PrtSc| | | 275 * | | | PrtSc| | | | | | | | | PrtSc| | |
274 * `-------------------------------------------------------------------------------------------------' 276 * `-------------------------------------------------------------------------------------------------'
275 */ 277 */
276#define _F1_F2_F3_F4_F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 278 [_LOWER] = LAYOUT_wrapper(
277#define _F6_F7_F8_F9_F10_F11 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 279 XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11,
278#define _PAUS_SLCK_INS KC_PAUS, KC_SLCK, KC_INS 280 XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12,
279#define _INS_SLCK_PAUS KC_INS, KC_SLCK, KC_PAUS 281 ____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____,
280#define _ADJ_ADJ KC_ADJ, KC_ADJ 282 ____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____,
281#define _UP_DEL_PGUP KC_UP, KC_DEL, KC_PGUP 283 ____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____
282#define _PGUP_DEL_UP KC_PGUP, KC_DEL, KC_UP 284 ),
283#define _END_LEFT_DOWN_RGHT_PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
284#define _PGDN_LEFT_DOWN_RGHT_END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
285
286 [_LOWER] = LAYOUT_wrapper( \
287 XXXX, _F1_F2_F3_F4_F5, _F6_F7_F8_F9_F10_F11, \
288 XXXX, XXXX, _PAUS_SLCK_INS, XXXX, XXXX, _INS_SLCK_PAUS, XXXX, KC_F12, \
289 ____, KC_HOME, XXXX, _UP_DEL_PGUP, _PGUP_DEL_UP, XXXX, KC_HOME, ____, \
290 ____, _END_LEFT_DOWN_RGHT_PGDN, XXXX, XXXX, _PGDN_LEFT_DOWN_RGHT_END, ____, \
291 ____, ____, KC_PSCR, ____, ____, ____, _ADJ_ADJ, ____, ____, ____, KC_PSCR, ____, ____ \
292 ),
293 285
294 /* Raise 286 /* Raise */
295 * ,-----------------------------------------. ,-----------------------------------------. 287#define UNDS__MINS KC_UNDS, KC_MINS
288#define EQL___PLUS KC_EQL, KC_PLUS
289#define LCBR__LBRC KC_LCBR, KC_LBRC
290#define RBRC__RCBR KC_RBRC, KC_RCBR
291#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
292#define EISU__EISU xEISU, xEISU
293#define KANA__KANA xKANA, xKANA
294 /* ,-----------------------------------------. ,-----------------------------------------.
296 * | | | | | | | | | | | | | | 295 * | | | | | | | | | | | | | |
297 * |------+------+------+------+------+------| |------+------+------+------+------+------| 296 * |------+------+------+------+------+------| |------+------+------+------+------+------|
298 * | | | | | _ | - | | = | + | | | | | 297 * | | | | | _ | - | | = | + | | | | |
@@ -304,19 +303,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
304 * | | | | | | | | | | | | | | | 303 * | | | | | | | | | | | | | | |
305 * `-------------------------------------------------------------------------------------------------' 304 * `-------------------------------------------------------------------------------------------------'
306 */ 305 */
307#define _LSMI_MINS KC_LSMI, KC_MINS 306 [_RAISE] = LAYOUT_wrapper(
308#define _EQL_LSEQ KC_EQL, KC_LSEQ 307 XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX,
309#define _LSLB_LBRC KC_LSLB, KC_LBRC 308 XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX,
310#define _RBRC_LSRB KC_RBRC, KC_LSRB 309 ____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____,
311#define _MNXT_VOLD_VOLU_MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 310 ____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____,
312 311 ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ
313 [_RAISE] = LAYOUT_wrapper( \ 312 ),
314 XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \
315 XXXX, XXXX, XXXX, XXXX, _LSMI_MINS, _EQL_LSEQ, XXXX, XXXX, XXXX, XXXX, \
316 ____, XXXX, XXXX, XXXX, _LSLB_LBRC, _RBRC_LSRB, XXXX, XXXX, XXXX, ____, \
317 ____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA, _MNXT_VOLD_VOLU_MPLY, ____, \
318 _ADJ_ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, _ADJ_ADJ \
319 ),
320 313
321 /* Adjust (Lower + Raise) 314 /* Adjust (Lower + Raise)
322 * ,-----------------------------------------. ,-----------------------------------------. 315 * ,-----------------------------------------. ,-----------------------------------------.
@@ -331,16 +324,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
331 * | | | | | | | | | | | | | | | 324 * | | | | | | | | | | | | | | |
332 * `-------------------------------------------------------------------------------------------------' 325 * `-------------------------------------------------------------------------------------------------'
333 */ 326 */
334 [_ADJUST] = LAYOUT( \ 327 [_ADJUST] = LAYOUT(
335 XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \ 328 XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX,
336 XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \ 329 XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
337 RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \ 330 RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI,
338 RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \ 331 RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD,
339 _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \ 332 _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
340 ), 333 ),
341 334
342 /* AUX modifier key layer 335 /* AUX modifier key layer */
343 * ,-----------------------------------------. ,-----------------------------------------. 336#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT)
337 /* ,-----------------------------------------. ,-----------------------------------------.
344 * | | | | | | | | | | | | | | 338 * | | | | | | | | | | | | | |
345 * |------+------+------+------+------+------| |------+------+------+------+------+------| 339 * |------+------+------+------+------+------| |------+------+------+------+------+------|
346 * | | | | | | | | | | | | | | 340 * | | | | | | | | | | | | | |
@@ -352,14 +346,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
352 * | | | | | | BS | Enter| | | | | | | | 346 * | | | | | | BS | Enter| | | | | | | |
353 * `-------------------------------------------------------------------------------------------------' 347 * `-------------------------------------------------------------------------------------------------'
354 */ 348 */
355#define _BSPC_RAEN KC_BSPC, LT(_RAISE,KC_ENT) 349 [_AUX] = LAYOUT_wrapper(
356 [_AUX] = LAYOUT_wrapper( \ 350 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
357 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 351 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
358 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 352 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
359 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 353 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
360 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ 354 ____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____
361 ____, ____, ____, ____, ____, _BSPC_RAEN, ____, ____, ____, ____, ____, ____, ____ \ 355 )
362 )
363}; 356};
364 357
365#else 358#else
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c
index 127d80cc7..689efe4c8 100644
--- a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c
+++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c
@@ -163,6 +163,10 @@ void render_status(void) {
163} 163}
164 164
165# ifdef SSD1306OLED 165# ifdef SSD1306OLED
166# if OLED_UPDATE_INTERVAL > 0
167uint16_t oled_update_timeout;
168# endif
169
166void iota_gfx_task_user(void) { 170void iota_gfx_task_user(void) {
167 struct CharacterMatrix matrix; 171 struct CharacterMatrix matrix;
168 172
@@ -172,6 +176,12 @@ void iota_gfx_task_user(void) {
172 } 176 }
173# endif 177# endif
174 178
179#if OLED_UPDATE_INTERVAL > 0
180 if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) {
181 return;
182 }
183 oled_update_timeout = timer_read();
184#endif
175 matrix_clear(&matrix); 185 matrix_clear(&matrix);
176 if (is_keyboard_master()) { 186 if (is_keyboard_master()) {
177 render_status(&matrix); 187 render_status(&matrix);