| Message ID | 20251010034255.1099728-1-sjg@u-boot.org |
|---|---|
| Headers |
Return-Path: <concept-bounces+u-boot-concept=u-boot.org@u-boot.org> X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760067799; bh=Ef3xiFjzKhob8/EaAc6q1/xwuQlBu/l2rfVWJgDKr9I=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=e4BX9QpdqLGOYCAxgMp+rOQAiNKmHpl1XtD0rH8JFxS+Au+Ecc7Raff/xgbHea4Pl 0xP8wb12UrkA8nSjrHV7/zqQwdizgHpgP0shptk22zpfymbWI6y9UlKyvJhIqPiEHJ +ujnwPv68j/ZtIw3kvdOMtq8KOf0vANpEJNWYh8icuWxxZA13mPZF9J8p9Wo6aYdEA Gg4U07SKqMKtB7sijm7r3qizczCqo3uhoRt85O935902LCzpbSVOlzHuJsP+EiuwD3 leSMI4fl59QnGRweKrdhlGumV9MsjaXqJEmVuTm9Su9XADs6Gkkic6wQJtjycRspMn uCLrpZINdxEUw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 209316806A for <u-boot-concept@u-boot.org>; Thu, 9 Oct 2025 21:43:19 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Oagi8wipdrr1 for <u-boot-concept@u-boot.org>; Thu, 9 Oct 2025 21:43:19 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760067799; bh=Ef3xiFjzKhob8/EaAc6q1/xwuQlBu/l2rfVWJgDKr9I=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=e4BX9QpdqLGOYCAxgMp+rOQAiNKmHpl1XtD0rH8JFxS+Au+Ecc7Raff/xgbHea4Pl 0xP8wb12UrkA8nSjrHV7/zqQwdizgHpgP0shptk22zpfymbWI6y9UlKyvJhIqPiEHJ +ujnwPv68j/ZtIw3kvdOMtq8KOf0vANpEJNWYh8icuWxxZA13mPZF9J8p9Wo6aYdEA Gg4U07SKqMKtB7sijm7r3qizczCqo3uhoRt85O935902LCzpbSVOlzHuJsP+EiuwD3 leSMI4fl59QnGRweKrdhlGumV9MsjaXqJEmVuTm9Su9XADs6Gkkic6wQJtjycRspMn uCLrpZINdxEUw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0F8EF68037 for <u-boot-concept@u-boot.org>; Thu, 9 Oct 2025 21:43:19 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760067792; bh=QIBICjQhXWiVnoJfxAXfv+xxO8QRPzNdbxI1K8+CFO4=; h=From:To:Cc:Subject:Date:From; b=oxbWJ9Mx3np8IUHAs2ATxzcR78C74lHKTxFZj2hK+2OiU8ChoS+O11Cza3N6W2Xrt /KujiLxleVi2H56pw/ezNv2rn/caBhW3koaFBbQuflx8HWs19rIqQ3LlMGFZToKovE ZPxtIywIVaJeo2/Wg5SoCChLU1fZRE+ypbBQpM4E4Lslra2zOQEXL3rVP656lRs7G5 HeZV2DkO0bC61ex5GeOVQekr0BL99pkMUIeGdqYfo04alTMAdcHrJackbQrC9TqK+r irVM238tJSFOKUF6PrZrZKsNcMRK/hlLW0yD+PyTJm8UGgUUv+GbJ5LIeQXNy8Rryw scvNq2Lg5fO1A== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 23DAC67F7F; Thu, 9 Oct 2025 21:43:12 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id G2wlafFdX983; Thu, 9 Oct 2025 21:43:12 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760067787; bh=c7V7IzCqtEkcM5jgV4Nm5js+2LSICV7rTOpbjHzhRCQ=; h=From:To:Cc:Subject:Date:From; b=XoUKJUyobsO29RzdPrVUZ3lcIWiDAC/jSVHxcRDJ+wmQAkWqnopwZNFE8e0ogWHrY zkCNXvk1J76RE7hlRv0Tsvem88+vWG+YE8Y10sOwpJMq6ZHLPHvVIlgYqVqFvHD3QH U2IX+Yy1+Yym6l0/pGLC23N/Vq8ZAiZcfoZatxQo6ihy9P4wHgB4woraicOtgSnFF9 KRXz8DFLZsPx0Xr7hFrBNdTi7gh6qsszul0dP1d+ksnjG2noHK+cFtqTqH2CFz2kH0 4ud3CVi5tqTF5Vp1vCjCa/9Y5dHLpVvt9dIxrP48GaKLbQlxVpbcZsEBkAQ5VoML+e 48hZZ8BF3fFnw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id F0F5B67FA3; Thu, 9 Oct 2025 21:43:06 -0600 (MDT) From: Simon Glass <sjg@u-boot.org> To: U-Boot Concept <concept@u-boot.org> Date: Thu, 9 Oct 2025 21:42:28 -0600 Message-ID: <20251010034255.1099728-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: M6SDU256DJEHPOOVUI2SLRZ4DN4UWP5J X-Message-ID-Hash: M6SDU256DJEHPOOVUI2SLRZ4DN4UWP5J X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt <xypron.glpk@gmx.de>, Simon Glass <sjg@chromium.org> X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/18] expo: Extend the boot menu List-Id: Discussion and patches related to U-Boot Concept <concept.u-boot.org> Archived-At: <https://lists.u-boot.org/archives/list/concept@u-boot.org/message/M6SDU256DJEHPOOVUI2SLRZ4DN4UWP5J/> List-Archive: <https://lists.u-boot.org/archives/list/concept@u-boot.org/> List-Help: <mailto:concept-request@u-boot.org?subject=help> List-Owner: <mailto:concept-owner@u-boot.org> List-Post: <mailto:concept@u-boot.org> List-Subscribe: <mailto:concept-join@u-boot.org> List-Unsubscribe: <mailto:concept-leave@u-boot.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit |
| Series |
expo: Extend the boot menu
|
|
Message
Simon Glass
Oct. 10, 2025, 3:42 a.m. UTC
From: Simon Glass <sjg@chromium.org>
The current boot menu works but it is still fairly basic. This series
makes various improvements:
- adds buttons for settings, help
- adds a way to show other items for each OS (e.g. distro version-name)
- adds a second logo
- allows a box to be drawn around each item
This series also provides a way to dump the expo as a text file, so that
it can be examined or compared with another one. This is useful for
debugging. A 'cedit dump' command allows dumping the information.
A few fixes are included as well:
- for mouse operation, avoid dropping click events
- for keyboard, fix support for escape sequences
Simon Glass (18):
test: video: Fix 16bpp BMP pixel format conversion
test: Add a way to printf() into a membuf
input: Correct handling of mouse clicks
expo: Correct key-polling timeout
expo: Provide user-friendly output of scene enums
expo: Provide a way to dump an expo
expo: Provide a command to dump a cedit expo
expo: Provide a version of scene_within() with takes an obj
expo: Export scene_find_obj_within() and add a test
expo: Allow searching click positions from top to bottom
expo: Allow searching for any object type by position
expo: Support clicking on any type of object
expo: Add another logo in the bootmenu
expo: Add a way to select settings
expo: Add a help button
expo: Add a way to display the distro version-name
expo: Add a box around each item
expo: Add an image that indicates verification
MAINTAINERS | 3 +
boot/Kconfig | 9 ++
boot/Makefile | 1 +
boot/bootflow_internal.h | 24 +++-
boot/bootflow_menu.c | 3 +
boot/cedit.c | 4 +
boot/expo.c | 8 +-
boot/expo_dump.c | 271 +++++++++++++++++++++++++++++++++++
boot/scene.c | 131 +++++++++++++----
boot/scene_internal.h | 30 ++++
boot/scene_menu.c | 3 +
cmd/Kconfig | 9 ++
cmd/cedit.c | 38 +++++
doc/usage/cmd/cedit.rst | 141 ++++++++++++++++++
drivers/input/mouse-uclass.c | 7 +-
include/bootflow.h | 3 +-
include/expo.h | 22 +++
include/membuf.h | 13 ++
lib/membuf.c | 14 ++
test/boot/expo.c | 192 +++++++++++++++++++++++--
test/dm/video.c | 21 ++-
test/lib/membuf.c | 40 ++++++
22 files changed, 932 insertions(+), 55 deletions(-)
create mode 100644 boot/expo_dump.c