[Keyboard] Switch Draculad to using WPM char hack (#13886)

This commit is contained in:
Drashna Jaelre 2021-08-04 11:30:49 -07:00 committed by GitHub
parent 6525b82f5f
commit 3568eafd65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 23 deletions

View File

@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layer_number { enum layer_number {
_BASE, _BASE,
_NUM, _NUM,
@ -26,9 +25,6 @@ enum layer_number {
_ADJ _ADJ
}; };
char wpm_as_str[8];
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 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) {
} }
static void render_status(void) { static void render_status(void) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
sprintf(wpm_as_str, "WPM %03d", get_current_wpm()); uint8_t n = get_current_wpm();
oled_write(wpm_as_str,false); char wpm_counter[4];
led_t led_state = host_keyboard_led_state(); wpm_counter[3] = '\0';
oled_write_P(PSTR("\nCaps: "), false); wpm_counter[2] = '0' + n % 10;
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
oled_write_P(PSTR("\n"),false); wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
switch (get_highest_layer(layer_state)) { oled_write_P(PSTR("WPM:"), false);
oled_write(wpm_counter, false);
led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("\nCaps: "), false);
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
oled_write_P(PSTR("\n"), false);
switch (get_highest_layer(layer_state)) {
case _BASE: case _BASE:
oled_write_P(PSTR("Base "), false); oled_write_P(PSTR("Base "), false);
break; break;

View File

@ -38,9 +38,6 @@ enum custom_keycodes {
BALL_MCL,//middle click BALL_MCL,//middle click
}; };
char wpm_as_str[8];
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 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) {
} }
static void render_status(void) { static void render_status(void) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
sprintf(wpm_as_str, "WPM %03d", get_current_wpm()); uint8_t n = get_current_wpm();
oled_write(wpm_as_str,false); char wpm_counter[4];
led_t led_state = host_keyboard_led_state(); wpm_counter[3] = '\0';
oled_write_P(PSTR("\nCaps: "), false); wpm_counter[2] = '0' + n % 10;
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
oled_write_P(PSTR("\n"),false); wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
switch (get_highest_layer(layer_state)) { oled_write_P(PSTR("WPM:"), false);
oled_write(wpm_counter, false);
led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("\nCaps: "), false);
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
oled_write_P(PSTR("\n"), false);
switch (get_highest_layer(layer_state)) {
case _BASE: case _BASE:
oled_write_P(PSTR("Base "), false); oled_write_P(PSTR("Base "), false);
break; break;