parent
9d9cdaaa2d
commit
db1df185c9
8 changed files with 93 additions and 191 deletions
|
@ -1,18 +1,54 @@
|
|||
// Copyright 2023 @boardsource
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "quantum.h"
|
||||
__attribute__((weak)) void ui_init(void) {};
|
||||
__attribute__((weak)) void ui_task(void) {};
|
||||
|
||||
#ifdef QUANTUM_PAINTER_ENABLE
|
||||
#include "qp.h"
|
||||
#include "qp_st7735.h"
|
||||
#include "graphics/thintel15.qff.c"
|
||||
|
||||
static painter_device_t oled;
|
||||
static painter_font_handle_t font;
|
||||
|
||||
__attribute__((weak)) void ui_init(void) {
|
||||
oled = qp_st7735_make_spi_device(128, 160, OLED_CS_PIN, OLED_DC_PIN, OLED_RST_PIN, 8, 0);
|
||||
font = qp_load_font_mem(font_thintel15);
|
||||
qp_init(oled, QP_ROTATION_0);
|
||||
qp_rect(oled, 0, 0, 130, 162, 0, 0, 0, true);
|
||||
qp_rect(oled, 20, 20, 108, 60, 55, 55, 55, true);
|
||||
qp_rect(oled, 20, 80, 108, 120, 55, 55, 55, true);
|
||||
qp_flush(oled);
|
||||
}
|
||||
|
||||
__attribute__((weak)) void ui_task(void) {
|
||||
static const char *text = "Layer:";
|
||||
int16_t width = qp_textwidth(font, text);
|
||||
qp_drawtext(oled, 20, 140, font, text);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
qp_drawtext(oled, (20 + width), 140, font, "QWERTY");
|
||||
break;
|
||||
case 1:
|
||||
qp_drawtext(oled, (20 + width), 140, font, "SYMBOL");
|
||||
break;
|
||||
case 2:
|
||||
qp_drawtext(oled, (20 + width), 140, font, "NUMBER");
|
||||
break;
|
||||
default:
|
||||
qp_drawtext(oled, (20 + width), 140, font, "_PANIC_");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
// Init the display
|
||||
ui_init();
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
void housekeeping_task_kb(void) {
|
||||
// Draw the display
|
||||
ui_task();
|
||||
housekeeping_task_user();
|
||||
}
|
||||
#endif //QUANTUM_PAINTER_ENABLE
|
||||
#endif // QUANTUM_PAINTER_ENABLE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue