| Message ID | 20250915122905.1217249-19-sjg@u-boot.org |
|---|---|
| State | New |
| 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=1757939423; bh=bbSLv9fsMHZ6vmK9ERqB01RvHBK5E+Q+11ZMTjKeoLc=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=JiX8yvSBIG7DvR+Yw0jrvRJ/o5yIeFBcb9htaXsc9BEMBmU3qjXhkT3+5jUTOXMzp sQvkUMZhS83/j+/wYsTPVg28JH90PJfmnTvICQ1sXFYG0PKGDQK1ylJFWpWHq0SMnd /Fzxhb26fv9H6SnzNLFhN7W6ceQBbT/rt4hiM3j24R05b/A9qmS3Nv3GQpCIymTLdh aWw9e42B4p1q62X/HuHPbFiFmqQ0i5wwkHXrz42ZJAZbsefP+9rtUg84zuPc20wsRR aLscOSJfNT2jOmKv8mIQrgVmNcWW1vLSoKDZYx4tlhMQS42h+TLPatk8bWAJ2Jo9hE 3nBdZWr8pob2w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id B7D5F67BE2 for <u-boot-concept@u-boot.org>; Mon, 15 Sep 2025 06:30:23 -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 3drvEq5bPC0P for <u-boot-concept@u-boot.org>; Mon, 15 Sep 2025 06:30:23 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757939423; bh=bbSLv9fsMHZ6vmK9ERqB01RvHBK5E+Q+11ZMTjKeoLc=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=JiX8yvSBIG7DvR+Yw0jrvRJ/o5yIeFBcb9htaXsc9BEMBmU3qjXhkT3+5jUTOXMzp sQvkUMZhS83/j+/wYsTPVg28JH90PJfmnTvICQ1sXFYG0PKGDQK1ylJFWpWHq0SMnd /Fzxhb26fv9H6SnzNLFhN7W6ceQBbT/rt4hiM3j24R05b/A9qmS3Nv3GQpCIymTLdh aWw9e42B4p1q62X/HuHPbFiFmqQ0i5wwkHXrz42ZJAZbsefP+9rtUg84zuPc20wsRR aLscOSJfNT2jOmKv8mIQrgVmNcWW1vLSoKDZYx4tlhMQS42h+TLPatk8bWAJ2Jo9hE 3nBdZWr8pob2w== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A7B2A67BC8 for <u-boot-concept@u-boot.org>; Mon, 15 Sep 2025 06:30:23 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757939421; bh=+cmqnh0LasC3X5dBVr71V/mx+Jn8tbYbF4ZNdRPeefs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Swzzt/Du2pqg6IbtyTAh8fSTajwR1dxIzqEugO+W+I3y2ZqwC5VJ/p/NR3XAB19/H 6LbsZuiyUEt+XCTYDsmb45g2hKUzTVHEtdHHYKWVTYTIFWP3Y4lEgmzw0EiVzPuPJh uE4mOuvhdOWApRtXekzbWcNrZZJVFbxSOBrOnzMknT7hzEtAYEbW1zC3RktP5UF/A9 XwGMjaf3HLC4XgfT39Ve9+gxZzdICyTPoK1/ihl3GjTmEyozQ5vM/qaz14dKu9pEe6 I51Y9KWEpJEVYM8EoCGzX+n3vmTvbIbC0AIUZuRTclH57NfI31Bxo04//KVGuhWZXd RE56CD+Q2pYSA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 00A3367B3C; Mon, 15 Sep 2025 06:30:21 -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 xpnYDJ0QpRjr; Mon, 15 Sep 2025 06:30:20 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1757939420; bh=EhJ0l0dvUJlBZTZt4+1sG4WVxtrU4qKjtt9PUsFMl7s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DN/jPhlTwojRGGN8NXMBey/AI4KRTmV3miTgK27pl3DZt0poo1hKFsz/nlw8SYjrW V33bgtuXItRiJUCFmaa6vXR0SXze4mDHDp7hVi6fWc52Ckz1B8oAXZxP59Bkf5vkYi JfPVCoiP4xoaU+Gk1yns9m2hY374By4k01quyflFBg0TXHj4uJNsQqKdUGxXLyWRCP Zn2ZiTDTH0CYTvSrgDEJQZK5ssBqbXvZpNsLr5lkG4pwdk2gnSCAAptIHqmGH41dss 8igE4iA2Pa4HZuG7DV/f6NVLLktBLhDm49CxcBZVI970KbNbTGjzHtud2bpdglnp+P /r7rAu3fmVSqg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 71A7467B34; Mon, 15 Sep 2025 06:30:20 -0600 (MDT) From: Simon Glass <sjg@u-boot.org> To: U-Boot Concept <concept@u-boot.org> Date: Mon, 15 Sep 2025 06:28:51 -0600 Message-ID: <20250915122905.1217249-19-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250915122905.1217249-1-sjg@u-boot.org> References: <20250915122905.1217249-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: VPXTI7XY74GJT7U3NTS4ECSW5F3G2FPN X-Message-ID-Hash: VPXTI7XY74GJT7U3NTS4ECSW5F3G2FPN 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 18/23] expo: Refactor expo_poll() to separate out key handling 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/VPXTI7XY74GJT7U3NTS4ECSW5F3G2FPN/> 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: Support interactions with a mouse or touchpad
|
|
Commit Message
Simon Glass
Sept. 15, 2025, 12:28 p.m. UTC
From: Simon Glass <sjg@chromium.org> In preparation for supporting mouse clicks, split the key-handling part of this function into a separate poll_keys() function. Signed-off-by: Simon Glass <sjg@chromium.org> --- boot/expo.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/boot/expo.c b/boot/expo.c index b4fa4fdd488..f9573858082 100644 --- a/boot/expo.c +++ b/boot/expo.c @@ -382,9 +382,9 @@ int expo_iter_scene_objs(struct expo *exp, expo_scene_obj_iterator iter, return 0; } -int expo_poll(struct expo *exp, struct expo_action *act) +static int poll_keys(struct expo *exp) { - int ichar, key, ret; + int ichar, key; ichar = cli_ch_process(&exp->cch, 0); if (!ichar) { @@ -407,10 +407,17 @@ int expo_poll(struct expo *exp, struct expo_action *act) if (key == BKEY_NONE || key >= BKEY_FIRST_EXTRA) key = ichar; } - if (!key) - return -EAGAIN; - ret = expo_send_key(exp, key); + return key ? key : -EAGAIN; +} + +int expo_poll(struct expo *exp, struct expo_action *act) +{ + int key, ret = -EAGAIN; + + key = poll_keys(exp); + if (key != -EAGAIN) + ret = expo_send_key(exp, key); if (ret) return log_msg_ret("epk", ret); ret = expo_action_get(exp, act);