Skip to content

Commit

Permalink
[Keyboard] Switch Draculad to using WPM char hack (qmk#13886)
Browse files Browse the repository at this point in the history
  • Loading branch information
drashna authored and nhongooi committed Dec 5, 2021
1 parent baeffe4 commit 3154117
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 23 deletions.
26 changes: 14 additions & 12 deletions keyboards/draculad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#include QMK_KEYBOARD_H


enum layer_number {
_BASE,
_NUM,
Expand All @@ -26,9 +25,6 @@ enum layer_number {
_ADJ
};


char wpm_as_str[8];

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
Expand Down Expand Up @@ -155,14 +151,20 @@ static void render_logo(void) {
}

static void render_status(void) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
sprintf(wpm_as_str, "WPM %03d", get_current_wpm());
oled_write(wpm_as_str,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)) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
uint8_t n = get_current_wpm();
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();
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:
oled_write_P(PSTR("Base "), false);
break;
Expand Down
25 changes: 14 additions & 11 deletions keyboards/draculad/keymaps/pimoroni/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ enum custom_keycodes {
BALL_MCL,//middle click
};


char wpm_as_str[8];

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
Expand Down Expand Up @@ -168,14 +165,20 @@ static void render_logo(void) {
}

static void render_status(void) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
sprintf(wpm_as_str, "WPM %03d", get_current_wpm());
oled_write(wpm_as_str,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)) {
oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false);
uint8_t n = get_current_wpm();
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();
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:
oled_write_P(PSTR("Base "), false);
break;
Expand Down

0 comments on commit 3154117

Please sign in to comment.