[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,
@ -156,12 +152,18 @@ 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];
wpm_counter[3] = '\0';
wpm_counter[2] = '0' + n % 10;
wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
oled_write_P(PSTR("WPM:"), false);
oled_write(wpm_counter, false);
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("\nCaps: "), false); oled_write_P(PSTR("\nCaps: "), false);
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
oled_write_P(PSTR("\n"),false); oled_write_P(PSTR("\n"), false);
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
case _BASE: case _BASE:
oled_write_P(PSTR("Base "), false); oled_write_P(PSTR("Base "), false);

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,
@ -169,12 +166,18 @@ 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];
wpm_counter[3] = '\0';
wpm_counter[2] = '0' + n % 10;
wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
wpm_counter[0] = n / 10 ? '0' + n / 10 : ' ';
oled_write_P(PSTR("WPM:"), false);
oled_write(wpm_counter, false);
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
oled_write_P(PSTR("\nCaps: "), false); oled_write_P(PSTR("\nCaps: "), false);
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
oled_write_P(PSTR("\n"),false); oled_write_P(PSTR("\n"), false);
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
case _BASE: case _BASE:
oled_write_P(PSTR("Base "), false); oled_write_P(PSTR("Base "), false);