diff options
15 files changed, 74 insertions, 100 deletions
| diff --git a/keyboards/mechwild/mercutio/config.h b/keyboards/mechwild/mercutio/config.h index 2c318848c5..c6aa1e9025 100755 --- a/keyboards/mechwild/mercutio/config.h +++ b/keyboards/mechwild/mercutio/config.h @@ -46,6 +46,9 @@  /* COL2ROW or ROW2COL */  #define DIODE_DIRECTION COL2ROW +/* Define custom font */ +#define OLED_FONT_H "lib/mercutiofont.c" +  /* Set 0 if debouncing isn't needed */  #define DEBOUNCE 5 @@ -53,4 +56,4 @@  #define LOCKING_SUPPORT_ENABLE  /* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE
\ No newline at end of file +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c index 6062b8c73d..8ed7f60dd7 100644 --- a/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/bongocat/keymap.c @@ -65,19 +65,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    	  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS )  }; -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { -    switch (index) { -        case 0: -            if (clockwise) { -                tap_code(KC_VOLU); -            } else { -                tap_code(KC_VOLD); -            } -        break; -    } -    return true; -} +#ifdef ENCODER_MAP_ENABLE +    const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +        [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +        [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +        [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +        [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +    };  #endif  #ifdef OLED_ENABLE diff --git a/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk b/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk index a475e2b6cd..74290f3abe 100644 --- a/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk +++ b/keyboards/mechwild/mercutio/keymaps/bongocat/rules.mk @@ -1,3 +1,4 @@  WPM_ENABLE = yes  VIA_ENABLE = yes -MOUSEKEY_ENABLE = no
\ No newline at end of file +MOUSEKEY_ENABLE = no +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechwild/mercutio/keymaps/default/config.h b/keyboards/mechwild/mercutio/keymaps/default/config.h index 235effacd7..b428d6e260 100644 --- a/keyboards/mechwild/mercutio/keymaps/default/config.h +++ b/keyboards/mechwild/mercutio/keymaps/default/config.h @@ -15,6 +15,3 @@   */  #pragma once - -/* Define custom font */ -#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c"
\ No newline at end of file diff --git a/keyboards/mechwild/mercutio/keymaps/default/keymap.c b/keyboards/mechwild/mercutio/keymaps/default/keymap.c index 8f433292b5..f5066996c0 100644 --- a/keyboards/mechwild/mercutio/keymaps/default/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/default/keymap.c @@ -46,38 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    	  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS )  }; -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { -    switch (index) { -        case 0: -            if (clockwise) { -                tap_code(KC_VOLU); -            } else { -                tap_code(KC_VOLD); -            } -        break; -    } -    return true; -} -#endif - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { -    return OLED_ROTATION_180;  // flips the display 180 degrees if offhand -} - -static void render_name(void) { -    static const char PROGMEM mercutio_name[] = { -        0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6, -        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, -        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, -        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 -    }; -    oled_write_P(mercutio_name, false); -} - -bool oled_task_user(void) { -    render_name(); -    return false; -} +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +};  #endif diff --git a/keyboards/mechwild/mercutio/keymaps/default/rules.mk b/keyboards/mechwild/mercutio/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/mechwild/mercutio/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/config.h b/keyboards/mechwild/mercutio/keymaps/fancy/config.h index 235effacd7..b428d6e260 100644 --- a/keyboards/mechwild/mercutio/keymaps/fancy/config.h +++ b/keyboards/mechwild/mercutio/keymaps/fancy/config.h @@ -15,6 +15,3 @@   */  #pragma once - -/* Define custom font */ -#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c"
\ No newline at end of file diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c b/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c index 96457be6d2..ca1ac03d2b 100755 --- a/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/fancy/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {                      }                  }          } -    return true; +    return false;      }  #endif diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c index 36dcd4816f..50b1b6471c 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c @@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {                  tap_code(KC_VOLD);              }          } -        return true; +        return false;      }  #endif @@ -292,7 +292,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {              oled_write(get_u8_str(get_current_wpm(), ' '), false);      */ -      return true; +      return false;      }      void suspend_power_down_user(void) { diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h index 09909e28c9..1722a2c25c 100644 --- a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h +++ b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h @@ -17,9 +17,6 @@  #pragma once -/* Define custom font */ -#define OLED_FONT_H "lib/mercutiofont.c" -  #define TAPPING_TOGGLE 2  // TT set to two taps diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c index e4d0ab49ef..5447279e56 100755 --- a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c @@ -152,7 +152,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {                  }                  break;          } -        return true; +        return false;      }  #endif diff --git a/keyboards/mechwild/mercutio/keymaps/via/config.h b/keyboards/mechwild/mercutio/keymaps/via/config.h index 235effacd7..b428d6e260 100644 --- a/keyboards/mechwild/mercutio/keymaps/via/config.h +++ b/keyboards/mechwild/mercutio/keymaps/via/config.h @@ -15,6 +15,3 @@   */  #pragma once - -/* Define custom font */ -#define OLED_FONT_H "keyboards/mechwild/mercutio/lib/mercutiofont.c"
\ No newline at end of file diff --git a/keyboards/mechwild/mercutio/keymaps/via/keymap.c b/keyboards/mechwild/mercutio/keymaps/via/keymap.c index 8f433292b5..f5066996c0 100755 --- a/keyboards/mechwild/mercutio/keymaps/via/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/via/keymap.c @@ -46,38 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    	  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS )  }; -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { -    switch (index) { -        case 0: -            if (clockwise) { -                tap_code(KC_VOLU); -            } else { -                tap_code(KC_VOLD); -            } -        break; -    } -    return true; -} -#endif - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { -    return OLED_ROTATION_180;  // flips the display 180 degrees if offhand -} - -static void render_name(void) { -    static const char PROGMEM mercutio_name[] = { -        0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6, -        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, -        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, -        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 -    }; -    oled_write_P(mercutio_name, false); -} - -bool oled_task_user(void) { -    render_name(); -    return false; -} +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +};  #endif diff --git a/keyboards/mechwild/mercutio/keymaps/via/rules.mk b/keyboards/mechwild/mercutio/keymaps/via/rules.mk index 16d33cd89f..f1adcab005 100644 --- a/keyboards/mechwild/mercutio/keymaps/via/rules.mk +++ b/keyboards/mechwild/mercutio/keymaps/via/rules.mk @@ -1,2 +1,2 @@  VIA_ENABLE = yes - +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mechwild/mercutio/mercutio.c b/keyboards/mechwild/mercutio/mercutio.c index e4f4377f32..890bf869de 100755 --- a/keyboards/mechwild/mercutio/mercutio.c +++ b/keyboards/mechwild/mercutio/mercutio.c @@ -16,3 +16,44 @@  #include "mercutio.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { +    if(!encoder_update_user(index, clockwise)) { +        return false; +    } + +    switch (index) { +        case 0: +            if (clockwise) { +                tap_code(KC_VOLU); +            } else { +                tap_code(KC_VOLD); +            } +        break; +    } +    return true; +} +#endif + +#ifdef OLED_ENABLE +static const char PROGMEM mercutio_name[] = { +    0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0x95, 0xB5, 0x96, 0xD5, 0xB6, 0xB6, +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, +    0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, +    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 +}; + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { +    return OLED_ROTATION_180;  // flips the display 180 degrees if offhand +} + +bool oled_task_kb(void) { +    if(!oled_task_user()) { +        return false; +    } + +    oled_write_P(mercutio_name, false); +    return true; +} +#endif | 
