aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-08-04 11:30:49 -0700
committerGitHub <noreply@github.com>2021-08-04 11:30:49 -0700
commit3568eafd6564fe74264cfedd20cba47a4566eb26 (patch)
tree40940d76a408e6aa4eaf0ef13c7c8dc027f9643a
parent6525b82f5f8268ee0064d0f59cbc75dd295f8755 (diff)
downloadqmk_firmware-3568eafd6564fe74264cfedd20cba47a4566eb26.tar.gz
qmk_firmware-3568eafd6564fe74264cfedd20cba47a4566eb26.zip
[Keyboard] Switch Draculad to using WPM char hack (#13886)
-rw-r--r--keyboards/draculad/keymaps/default/keymap.c26
-rw-r--r--keyboards/draculad/keymaps/pimoroni/keymap.c25
2 files changed, 28 insertions, 23 deletions
diff --git a/keyboards/draculad/keymaps/default/keymap.c b/keyboards/draculad/keymaps/default/keymap.c
index 1d3591ce9..d19aa6625 100644
--- a/keyboards/draculad/keymaps/default/keymap.c
+++ b/keyboards/draculad/keymaps/default/keymap.c
@@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#include QMK_KEYBOARD_H 18#include QMK_KEYBOARD_H
19 19
20
21enum layer_number { 20enum layer_number {
22 _BASE, 21 _BASE,
23 _NUM, 22 _NUM,
@@ -26,9 +25,6 @@ enum layer_number {
26 _ADJ 25 _ADJ
27}; 26};
28 27
29
30char wpm_as_str[8];
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 [_BASE] = LAYOUT( 29 [_BASE] = LAYOUT(
34 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 30 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
@@ -155,14 +151,20 @@ static void render_logo(void) {
155} 151}
156 152
157static void render_status(void) { 153static void render_status(void) {
158 oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); 154 oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
159 sprintf(wpm_as_str, "WPM %03d", get_current_wpm()); 155 uint8_t n = get_current_wpm();
160 oled_write(wpm_as_str,false); 156 char wpm_counter[4];
161 led_t led_state = host_keyboard_led_state(); 157 wpm_counter[3] = '\0';
162 oled_write_P(PSTR("\nCaps: "), false); 158 wpm_counter[2] = '0' + n % 10;
163 oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); 159 wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
164 oled_write_P(PSTR("\n"),false); 160 wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
165 switch (get_highest_layer(layer_state)) { 161 oled_write_P(PSTR("WPM:"), false);
162 oled_write(wpm_counter, false);
163 led_t led_state = host_keyboard_led_state();
164 oled_write_P(PSTR("\nCaps: "), false);
165 oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
166 oled_write_P(PSTR("\n"), false);
167 switch (get_highest_layer(layer_state)) {
166 case _BASE: 168 case _BASE:
167 oled_write_P(PSTR("Base "), false); 169 oled_write_P(PSTR("Base "), false);
168 break; 170 break;
diff --git a/keyboards/draculad/keymaps/pimoroni/keymap.c b/keyboards/draculad/keymaps/pimoroni/keymap.c
index 762ae26c7..9af618576 100644
--- a/keyboards/draculad/keymaps/pimoroni/keymap.c
+++ b/keyboards/draculad/keymaps/pimoroni/keymap.c
@@ -38,9 +38,6 @@ enum custom_keycodes {
38 BALL_MCL,//middle click 38 BALL_MCL,//middle click
39}; 39};
40 40
41
42char wpm_as_str[8];
43
44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 [_BASE] = LAYOUT( 42 [_BASE] = LAYOUT(
46 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 43 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
@@ -168,14 +165,20 @@ static void render_logo(void) {
168} 165}
169 166
170static void render_status(void) { 167static void render_status(void) {
171 oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); 168 oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
172 sprintf(wpm_as_str, "WPM %03d", get_current_wpm()); 169 uint8_t n = get_current_wpm();
173 oled_write(wpm_as_str,false); 170 char wpm_counter[4];
174 led_t led_state = host_keyboard_led_state(); 171 wpm_counter[3] = '\0';
175 oled_write_P(PSTR("\nCaps: "), false); 172 wpm_counter[2] = '0' + n % 10;
176 oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); 173 wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
177 oled_write_P(PSTR("\n"),false); 174 wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
178 switch (get_highest_layer(layer_state)) { 175 oled_write_P(PSTR("WPM:"), false);
176 oled_write(wpm_counter, false);
177 led_t led_state = host_keyboard_led_state();
178 oled_write_P(PSTR("\nCaps: "), false);
179 oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
180 oled_write_P(PSTR("\n"), false);
181 switch (get_highest_layer(layer_state)) {
179 case _BASE: 182 case _BASE:
180 oled_write_P(PSTR("Base "), false); 183 oled_write_P(PSTR("Base "), false);
181 break; 184 break;