summaryrefslogtreecommitdiff
path: root/keyboards/crkbd/keymaps/madhatter
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2022-07-31 20:36:30 +0100
committerGitHub <noreply@github.com>2022-07-31 12:36:30 -0700
commitf7aaed1b57d264a983d4890ce6ada930ce2f6368 (patch)
tree9d08ad3e896297706c8b3b25e78aa30e6f2b60f1 /keyboards/crkbd/keymaps/madhatter
parentc10c2575b8f71b5fccad6a50bf79bacc7b3caeaf (diff)
Migrate crkbd keymaps to oled driver (#17863)
Diffstat (limited to 'keyboards/crkbd/keymaps/madhatter')
-rw-r--r--keyboards/crkbd/keymaps/madhatter/config.h3
-rw-r--r--keyboards/crkbd/keymaps/madhatter/keymap.c50
-rw-r--r--keyboards/crkbd/keymaps/madhatter/rules.mk8
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