/* * ducky.c -- OreBolt OS v1.4 module: ducky * * SPDX-License-Identifier: GPL-2.0-or-later * * USB Rubber Ducky payload engine. * * v1.4 stub: full module surface (init/deinit) so the build links cleanly * against liblvgl.so. Real implementation is restored from the * upstream source set tracked in SHA256SUMS. */ #include "h2_ui.h" #include "log_manager.h" static lv_obj_t *ducky_screen = NULL; void ducky_init(lv_obj_t *parent) { ducky_screen = lv_obj_create(parent); lv_obj_set_size(ducky_screen, H2_LCD_WIDTH - 4, H2_LCD_HEIGHT - 4); lv_obj_center(ducky_screen); lv_obj_t *lbl = lv_label_create(ducky_screen); lv_label_set_text(lbl, "ducky\nv1.4 (stub)"); lv_obj_center(lbl); LOG_INF("ducky init"); } void ducky_deinit(void) { if (ducky_screen) { lv_obj_del(ducky_screen); ducky_screen = NULL; } LOG_INF("ducky deinit"); }