From nobody Tue Feb 10 00:40:55 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1770505010691252.50189301910768; Sat, 7 Feb 2026 14:56:50 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vorDo-0001ct-Ts; Sat, 07 Feb 2026 17:56:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vorDl-0001Yw-IX for qemu-devel@nongnu.org; Sat, 07 Feb 2026 17:56:09 -0500 Received: from sonata.ens-lyon.org ([140.77.166.138]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vorDj-0007gc-7s for qemu-devel@nongnu.org; Sat, 07 Feb 2026 17:56:09 -0500 Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 4AE91A74FE; Sat, 7 Feb 2026 23:56:02 +0100 (CET) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oD1A9ozKHHPW; Sat, 7 Feb 2026 23:56:02 +0100 (CET) Received: from end (lfbn-orl-1-1611-126.w90-107.abo.wanadoo.fr [90.107.165.126]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id 1CA67A74FF; Sat, 7 Feb 2026 23:56:02 +0100 (CET) Received: from samy by end with local (Exim 4.99.1) (envelope-from ) id 1vorDd-00000004DOW-2o2M; Sat, 07 Feb 2026 23:56:01 +0100 From: Samuel Thibault To: qemu-devel@nongnu.org, peter.maydell@linaro.org Cc: Samuel Thibault , stefanha@redhat.com, jan.kiszka@siemens.com Subject: [PULL 1/1] baum: Add copy/paste bindings Date: Sat, 7 Feb 2026 23:56:00 +0100 Message-ID: <20260207225600.1004788-2-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260207225600.1004788-1-samuel.thibault@ens-lyon.org> References: <20260207225600.1004788-1-samuel.thibault@ens-lyon.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=140.77.166.138; envelope-from=SRS0=SWPb=AL=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org; helo=sonata.ens-lyon.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1770505016683154100 Content-Type: text/plain; charset="utf-8" --- chardev/baum.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/chardev/baum.c b/chardev/baum.c index 157f8b9519..57fe60fe18 100644 --- a/chardev/baum.c +++ b/chardev/baum.c @@ -1,7 +1,7 @@ /* * QEMU Baum Braille Device * - * Copyright (c) 2008, 2010-2011, 2016-2017 Samuel Thibault + * Copyright (c) 2008, 2010-2011, 2016-2017, 2026 Samuel Thibault * * Permission is hereby granted, free of charge, to any person obtaining a= copy * of this software and associated documentation files (the "Software"), t= o deal @@ -564,6 +564,30 @@ static void baum_chr_read(void *opaque) baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KE= Y_CMD_ARG_MASK)+1); baum_send_key(baum, BAUM_RSP_RoutingKey, 0); break; + case BRLAPI_KEY_CMD_CLIP_NEW: + baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1); + baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KE= Y_CMD_ARG_MASK)+1); + baum_send_key(baum, BAUM_RSP_RoutingKey, 0); + baum_send_key(baum, BAUM_RSP_TopKeys, 0); + break; + case BRLAPI_KEY_CMD_CLIP_ADD: + baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL2); + baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KE= Y_CMD_ARG_MASK)+1); + baum_send_key(baum, BAUM_RSP_RoutingKey, 0); + baum_send_key(baum, BAUM_RSP_TopKeys, 0); + break; + case BRLAPI_KEY_CMD_COPY_LINE: + baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TR1); + baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KE= Y_CMD_ARG_MASK)+1); + baum_send_key(baum, BAUM_RSP_RoutingKey, 0); + baum_send_key(baum, BAUM_RSP_TopKeys, 0); + break; + case BRLAPI_KEY_CMD_COPY_RECT: + baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TR2); + baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KE= Y_CMD_ARG_MASK)+1); + baum_send_key(baum, BAUM_RSP_RoutingKey, 0); + baum_send_key(baum, BAUM_RSP_TopKeys, 0); + break; case 0: switch (code & BRLAPI_KEY_CMD_ARG_MASK) { case BRLAPI_KEY_CMD_FWINLT: @@ -606,6 +630,10 @@ static void baum_chr_read(void *opaque) baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1|BAUM_TL= 3|BAUM_TR1); baum_send_key(baum, BAUM_RSP_TopKeys, 0); break; + case BRLAPI_KEY_CMD_PASTE: + baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1|BAUM_TL= 2|BAUM_TL3|BAUM_TR1); + baum_send_key(baum, BAUM_RSP_TopKeys, 0); + break; } } break; --=20 2.51.0