From nobody Sun Apr 12 04:24:18 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 1770842738534590.5774394166078; Wed, 11 Feb 2026 12:45:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vqH4v-0006dT-UJ; Wed, 11 Feb 2026 15:44:53 -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 1vqH4t-0006dF-Ob for qemu-devel@nongnu.org; Wed, 11 Feb 2026 15:44:51 -0500 Received: from domu-toccata.ens-lyon.fr ([140.77.166.138] helo=sonata.ens-lyon.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vqH4r-0006Pa-Gq for qemu-devel@nongnu.org; Wed, 11 Feb 2026 15:44:51 -0500 Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id F3BCBA785E; Wed, 11 Feb 2026 21:44:46 +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 BfyQyaeEDV3l; Wed, 11 Feb 2026 21:44:46 +0100 (CET) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (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 C911DA7843; Wed, 11 Feb 2026 21:44:46 +0100 (CET) Received: from samy by end with local (Exim 4.99.1) (envelope-from ) id 1vqH4o-0000000HIrS-1Adb; Wed, 11 Feb 2026 21:44:46 +0100 From: Samuel Thibault To: qemu-devel@nongnu.org Cc: Samuel Thibault , marcandre.lureau@redhat.com, pbonzini@redhat.com Subject: [PATCH] baum: Add copy/paste bindings Date: Wed, 11 Feb 2026 21:44:45 +0100 Message-ID: <20260211204445.4124071-1-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.51.0 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=Jzcj=AP=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: 1770842741873154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Samuel Thibault --- 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