forked from qmk/qmk_userspace
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
682 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
// Include the main display functions so we don't have to initialize the display again | ||
#include "hlc_tft_display/hlc_tft_display.h" | ||
|
||
// Include the QP api | ||
#include "qp_surface.h" | ||
|
||
// Add a font, this font is generated using the QP CLI tools (https://docs.qmk.fm/quantum_painter#quantum-painter-cli) | ||
#include "graphics/thintel15.qff.h" | ||
|
||
// Initialize the font | ||
static painter_font_handle_t thintel; | ||
|
||
// Setup painter devices | ||
painter_device_t lcd; | ||
painter_device_t lcd_surface; | ||
|
||
// This function is ran on bootup of the keyboard | ||
bool module_post_init_user(void) { | ||
// Load the font in to memory. | ||
thintel = qp_load_font_mem(font_thintel15); | ||
|
||
return false; | ||
} | ||
|
||
// This function runs after every matrix scan | ||
bool display_module_housekeeping_task_user(bool second_display) { | ||
// Create checks to see if the displays are set. We don't need to keep updating the display with the same image so this will save some CPU time. | ||
static bool display_set = false; | ||
static bool second_display_set = false; | ||
|
||
// When the display isn't set, do the following | ||
if (!display_set) { | ||
// If it's the main display | ||
if (!second_display) { | ||
// Create text to write | ||
static const char *text = "This is a user display!"; | ||
|
||
// Draw text on top left corner | ||
qp_drawtext_recolor(lcd_surface, 0, 0, thintel, text, HSV_WHITE, HSV_BLACK); | ||
|
||
// Make sure to not run this again. | ||
display_set = true; | ||
// If it's the secundairy display | ||
} else { | ||
// Create text to write | ||
static const char *text = "This is a second user display!"; | ||
|
||
// Read width from text | ||
int16_t width = qp_textwidth(thintel, text); | ||
|
||
// Draw text on bottom right corner | ||
qp_drawtext_recolor(lcd_surface, (LCD_WIDTH - width), (LCD_HEIGHT - thintel->line_height), thintel, text, HSV_WHITE, HSV_BLACK); | ||
|
||
// Make sure to not run this again. | ||
display_set = true; | ||
second_display_set = true; | ||
} | ||
} | ||
|
||
// Make sure that the second display loads correctly, sometimes it takes a little while for the keyboard to know it has a second display. | ||
// So we reset the state and make it run again until the secondary display is drawn correctly | ||
if(second_display && !second_display_set) { | ||
display_set = false; | ||
} | ||
|
||
// Move surface to lcd, this actually writes the content to the physical display | ||
qp_surface_draw(lcd_surface, lcd, 0, 0, 0); | ||
|
||
return false; | ||
} |
74 changes: 74 additions & 0 deletions
74
keyboards/splitkb/halcyon/kyria/keymaps/test/graphics/thintel15.qff.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
// Copyright 2022 QMK -- generated source code only, font retains original copyright | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
// This file was auto-generated by `qmk painter-convert-font-image -i thintel15.png -f mono2` | ||
|
||
#include <qp.h> | ||
|
||
const uint32_t font_thintel15_length = 966; | ||
|
||
// clang-format off | ||
const uint8_t font_thintel15[966] = { | ||
0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0xC6, 0x03, 0x00, 0x00, 0x39, 0xFC, 0xFF, | ||
0xFF, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x02, 0x00, | ||
0x00, 0xC2, 0x00, 0x00, 0x84, 0x01, 0x00, 0x06, 0x03, 0x00, 0x46, 0x05, 0x00, 0x88, 0x07, 0x00, | ||
0x46, 0x0A, 0x00, 0x82, 0x0C, 0x00, 0x43, 0x0D, 0x00, 0x83, 0x0E, 0x00, 0xC4, 0x0F, 0x00, 0x46, | ||
0x11, 0x00, 0x83, 0x13, 0x00, 0xC5, 0x14, 0x00, 0x82, 0x16, 0x00, 0x44, 0x17, 0x00, 0xC5, 0x18, | ||
0x00, 0x84, 0x1A, 0x00, 0x05, 0x1C, 0x00, 0xC5, 0x1D, 0x00, 0x85, 0x1F, 0x00, 0x45, 0x21, 0x00, | ||
0x05, 0x23, 0x00, 0xC5, 0x24, 0x00, 0x85, 0x26, 0x00, 0x45, 0x28, 0x00, 0x02, 0x2A, 0x00, 0xC3, | ||
0x2A, 0x00, 0x05, 0x2C, 0x00, 0xC5, 0x2D, 0x00, 0x85, 0x2F, 0x00, 0x45, 0x31, 0x00, 0x08, 0x33, | ||
0x00, 0xC5, 0x35, 0x00, 0x85, 0x37, 0x00, 0x45, 0x39, 0x00, 0x05, 0x3B, 0x00, 0xC4, 0x3C, 0x00, | ||
0x44, 0x3E, 0x00, 0xC5, 0x3F, 0x00, 0x85, 0x41, 0x00, 0x44, 0x43, 0x00, 0xC5, 0x44, 0x00, 0x85, | ||
0x46, 0x00, 0x44, 0x48, 0x00, 0xC6, 0x49, 0x00, 0x06, 0x4C, 0x00, 0x45, 0x4E, 0x00, 0x05, 0x50, | ||
0x00, 0xC5, 0x51, 0x00, 0x85, 0x53, 0x00, 0x45, 0x55, 0x00, 0x06, 0x57, 0x00, 0x45, 0x59, 0x00, | ||
0x06, 0x5B, 0x00, 0x46, 0x5D, 0x00, 0x86, 0x5F, 0x00, 0xC6, 0x61, 0x00, 0x06, 0x64, 0x00, 0x44, | ||
0x66, 0x00, 0xC4, 0x67, 0x00, 0x44, 0x69, 0x00, 0xC6, 0x6A, 0x00, 0x05, 0x6D, 0x00, 0xC3, 0x6E, | ||
0x00, 0x05, 0x70, 0x00, 0xC5, 0x71, 0x00, 0x84, 0x73, 0x00, 0x05, 0x75, 0x00, 0xC5, 0x76, 0x00, | ||
0x84, 0x78, 0x00, 0x05, 0x7A, 0x00, 0xC5, 0x7B, 0x00, 0x82, 0x7D, 0x00, 0x43, 0x7E, 0x00, 0x85, | ||
0x7F, 0x00, 0x42, 0x81, 0x00, 0x06, 0x82, 0x00, 0x45, 0x84, 0x00, 0x05, 0x86, 0x00, 0xC5, 0x87, | ||
0x00, 0x85, 0x89, 0x00, 0x44, 0x8B, 0x00, 0xC5, 0x8C, 0x00, 0x83, 0x8E, 0x00, 0xC5, 0x8F, 0x00, | ||
0x86, 0x91, 0x00, 0xC6, 0x93, 0x00, 0x06, 0x96, 0x00, 0x45, 0x98, 0x00, 0x04, 0x9A, 0x00, 0x85, | ||
0x9B, 0x00, 0x42, 0x9D, 0x00, 0x05, 0x9E, 0x00, 0xC5, 0x9F, 0x00, 0x04, 0xFB, 0x86, 0x02, 0x00, | ||
0x00, 0x00, 0x00, 0x54, 0x45, 0x00, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFD, 0xD2, | ||
0xAF, 0x28, 0x00, 0x00, 0x00, 0x84, 0x53, 0x15, 0x0E, 0x55, 0x39, 0x04, 0x00, 0x00, 0x00, 0x00, | ||
0x12, 0x15, 0x0A, 0x28, 0x54, 0x24, 0x00, 0x00, 0x00, 0x80, 0x50, 0x14, 0x52, 0x95, 0x58, 0x00, | ||
0x00, 0x00, 0x14, 0x00, 0x00, 0x4A, 0x92, 0x24, 0x02, 0x00, 0x91, 0x24, 0x49, 0x01, 0x00, 0x20, | ||
0x27, 0x05, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x1F, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x60, 0x0A, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x24, 0x22, | ||
0x11, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x32, 0x00, 0x00, 0x20, 0x23, 0x22, 0x72, 0x00, 0x00, | ||
0xC0, 0x24, 0x44, 0x44, 0x78, 0x00, 0x00, 0xC0, 0x24, 0x44, 0x50, 0x32, 0x00, 0x00, 0x80, 0x29, | ||
0x95, 0x1E, 0x42, 0x00, 0x00, 0xE0, 0x85, 0x83, 0x50, 0x32, 0x00, 0x00, 0xC0, 0xA4, 0x70, 0x52, | ||
0x32, 0x00, 0x00, 0xE0, 0x21, 0x42, 0x84, 0x10, 0x00, 0x00, 0xC0, 0xA4, 0x64, 0x52, 0x32, 0x00, | ||
0x00, 0xC0, 0xA4, 0xE4, 0x50, 0x32, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x30, 0x60, 0x0A, 0x00, | ||
0x00, 0x11, 0x11, 0x04, 0x41, 0x00, 0x00, 0x00, 0x80, 0x07, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x08, | ||
0x82, 0x88, 0x08, 0x00, 0x00, 0xC0, 0x24, 0x64, 0x04, 0x10, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x59, | ||
0x55, 0x2D, 0x02, 0x1C, 0x00, 0x00, 0x00, 0xC0, 0xA4, 0xF4, 0x52, 0x4A, 0x00, 0x00, 0xE0, 0xA4, | ||
0x74, 0x52, 0x3A, 0x00, 0x00, 0xC0, 0xA4, 0x10, 0x42, 0x32, 0x00, 0x00, 0xE0, 0xA4, 0x94, 0x52, | ||
0x3A, 0x00, 0x00, 0x70, 0x11, 0x17, 0x71, 0x00, 0x00, 0x70, 0x11, 0x17, 0x11, 0x00, 0x00, 0xC0, | ||
0xA4, 0xD0, 0x52, 0x32, 0x00, 0x00, 0x20, 0xA5, 0xF4, 0x52, 0x4A, 0x00, 0x00, 0x70, 0x22, 0x22, | ||
0x72, 0x00, 0x00, 0xC0, 0x21, 0x84, 0x50, 0x32, 0x00, 0x00, 0x20, 0xA5, 0x32, 0x4A, 0x4A, 0x00, | ||
0x00, 0x10, 0x11, 0x11, 0x71, 0x00, 0x00, 0x40, 0xB4, 0x55, 0x51, 0x14, 0x45, 0x00, 0x00, 0x00, | ||
0x40, 0x34, 0x55, 0x59, 0x14, 0x45, 0x00, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x32, 0x00, 0x00, | ||
0xE0, 0xA4, 0x74, 0x42, 0x08, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x51, 0x00, 0x00, 0xE0, 0xA4, | ||
0x74, 0x52, 0x4A, 0x00, 0x00, 0xC0, 0xA4, 0x60, 0x50, 0x32, 0x00, 0x00, 0xC0, 0x47, 0x10, 0x04, | ||
0x41, 0x10, 0x00, 0x00, 0x00, 0x20, 0xA5, 0x94, 0x52, 0x32, 0x00, 0x00, 0x40, 0x14, 0x45, 0x51, | ||
0xA4, 0x10, 0x00, 0x00, 0x00, 0x40, 0x14, 0x45, 0x51, 0xB5, 0x45, 0x00, 0x00, 0x00, 0x40, 0x14, | ||
0x29, 0x84, 0x12, 0x45, 0x00, 0x00, 0x00, 0x40, 0x14, 0x45, 0x0E, 0x41, 0x10, 0x00, 0x00, 0x00, | ||
0xC0, 0x07, 0x21, 0x84, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x17, 0x11, 0x11, 0x11, 0x07, 0x00, 0x10, | ||
0x21, 0x22, 0x44, 0x00, 0x00, 0x47, 0x44, 0x44, 0x44, 0x07, 0x00, 0x84, 0x12, 0x01, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x93, 0x5C, 0x72, 0x00, 0x00, 0x20, 0x84, 0x93, 0x52, 0x3A, 0x00, 0x00, 0x00, 0x60, | ||
0x11, 0x61, 0x00, 0x00, 0x00, 0x21, 0x97, 0x52, 0x72, 0x00, 0x00, 0x00, 0x00, 0x93, 0x5E, 0x70, | ||
0x00, 0x00, 0x60, 0x11, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x97, 0x52, 0x72, 0x28, 0x19, 0x20, | ||
0x84, 0x93, 0x52, 0x4A, 0x00, 0x00, 0x10, 0x55, 0x00, 0x80, 0x20, 0x49, 0x0A, 0x00, 0x20, 0x84, | ||
0x94, 0x4E, 0x4A, 0x00, 0x00, 0x54, 0x55, 0x00, 0x00, 0x00, 0x2C, 0x55, 0x55, 0x55, 0x00, 0x00, | ||
0x00, 0x00, 0x80, 0x93, 0x52, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x93, 0x52, 0x32, 0x00, 0x00, 0x00, | ||
0x80, 0x93, 0x52, 0x3A, 0x21, 0x00, 0x00, 0x00, 0x97, 0x52, 0x72, 0x08, 0x01, 0x00, 0x50, 0x13, | ||
0x11, 0x00, 0x00, 0x00, 0x00, 0x17, 0x0C, 0x3A, 0x00, 0x00, 0x48, 0x96, 0x44, 0x00, 0x00, 0x00, | ||
0x80, 0x94, 0x52, 0x72, 0x00, 0x00, 0x00, 0x00, 0x44, 0x51, 0xA4, 0x10, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x44, 0x51, 0x54, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x0A, 0xA1, 0x44, 0x00, 0x00, | ||
0x00, 0x00, 0x80, 0x94, 0x52, 0x72, 0x28, 0x19, 0x00, 0x70, 0x24, 0x71, 0x00, 0x00, 0x4C, 0x08, | ||
0x11, 0x84, 0x10, 0x0C, 0x00, 0x55, 0x55, 0x01, 0x83, 0x10, 0x82, 0x08, 0x21, 0x03, 0x00, 0x00, | ||
0x00, 0xB0, 0x1A, 0x00, 0x00, 0x00, | ||
}; | ||
// clang-format on |
11 changes: 11 additions & 0 deletions
11
keyboards/splitkb/halcyon/kyria/keymaps/test/graphics/thintel15.qff.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
// Copyright 2022 QMK -- generated source code only, font retains original copyright | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
// This file was auto-generated by `qmk painter-convert-font-image -i thintel15.png -f mono2` | ||
|
||
#pragma once | ||
|
||
#include <qp.h> | ||
|
||
extern const uint32_t font_thintel15_length; | ||
extern const uint8_t font_thintel15[966]; |
Oops, something went wrong.