diff options
author | Joel Challis <git@zvecr.com> | 2022-07-31 20:36:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 12:36:30 -0700 |
commit | f7aaed1b57d264a983d4890ce6ada930ce2f6368 (patch) | |
tree | 9d08ad3e896297706c8b3b25e78aa30e6f2b60f1 /keyboards/crkbd/keymaps/madhatter | |
parent | c10c2575b8f71b5fccad6a50bf79bacc7b3caeaf (diff) |
Migrate crkbd keymaps to oled driver (#17863)
Diffstat (limited to 'keyboards/crkbd/keymaps/madhatter')
-rw-r--r-- | keyboards/crkbd/keymaps/madhatter/config.h | 3 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/madhatter/keymap.c | 50 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/madhatter/rules.mk | 8 |
3 files changed, 16 insertions, 45 deletions
diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h index bcf4e05005..6cbe5befb8 100644 --- a/keyboards/crkbd/keymaps/madhatter/config.h +++ b/keyboards/crkbd/keymaps/madhatter/config.h @@ -28,9 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c index c228a7b573..f833428a02 100644 --- a/keyboards/crkbd/keymaps/madhatter/keymap.c +++ b/keyboards/crkbd/keymaps/madhatter/keymap.c @@ -17,10 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H -#ifdef SSD1306OLED -# include "ssd1306.h" -# include <string.h> -#endif +#include <string.h> enum corny_layers { _QWERTY, @@ -108,14 +105,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(); // turns on the display - #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_layer_state(void); @@ -129,42 +121,26 @@ const char *read_keylogs(void); // void set_timelog(void); // const char *read_timelog(void); -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write(matrix, read_layer_state()); - matrix_write(matrix, read_keylog()); - //matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); + oled_write(read_layer_state(), false); + oled_write(read_keylog(), false); + //oled_write_ln(read_keylogs(), false); + //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); + //oled_write_ln(read_host_led_state(), false); + //oled_write_ln(read_timelog(), false); } else { - matrix_write(matrix, read_logo()); + oled_write(read_logo(), false); } + return false; } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef SSD1306OLED +#ifdef OLED_ENABLE set_keylog(keycode, record); #endif // set_timelog(); diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk index 489b16ef1c..89a2791bcd 100644 --- a/keyboards/crkbd/keymaps/madhatter/rules.mk +++ b/keyboards/crkbd/keymaps/madhatter/rules.mk @@ -1,13 +1,11 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c |