From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alexander =?UTF-8?Q?Pr=C3=A4hauser?= Newsgroups: gmane.emacs.bugs Subject: bug#65068: 29.1; xkb-interception interaction causes problems with key combinations Date: Thu, 24 Aug 2023 16:12:55 +0200 Message-ID: <87il94sew9.fsf@gmx.at> References: <87v8dv2ib3.fsf@gmx.at> <871qgdyted.fsf@yahoo.com> <87sf8kbesn.fsf@gmx.at> <87r0o3lqpi.fsf@yahoo.com> <87zg2rberr.fsf@gmx.at> <87ttszi205.fsf@yahoo.com> <87350jxeof.fsf@gmx.at> <874jkyiiel.fsf@yahoo.com> <87y1iawfur.fsf@gmx.at> <87zg2qgzdu.fsf@yahoo.com> <87bkf673cm.fsf@gmx.at> <87leeagu1f.fsf@yahoo.com> <87lee79lvg.fsf@gmx.at> <87sf8a81ht.fsf@gmx.at> <87v8d66l9c.fsf@yahoo.com> <87o7ix97b0.fsf@gmx.at> <87msyh71hg.fsf@yahoo.com> <87v8d466gq.fsf@gmx.at> <87pm3c69xa.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9582"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.10.5; emacs 30.0.50 Cc: 65068@debbugs.gnu.org To: Po Lu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 24 14:19:16 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qZ9Iy-00029l-1x for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 24 Aug 2023 14:19:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qZ9Ii-0003nj-Kv; Thu, 24 Aug 2023 08:19:00 -0400 Original-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 1qZ9Ih-0003nY-5P for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 08:18:59 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qZ9Ig-0006dv-Tg for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 08:18:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qZ9Ik-0003uB-Hm for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 08:19:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alexander =?UTF-8?Q?Pr=C3=A4hauser?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 24 Aug 2023 12:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65068 X-GNU-PR-Package: emacs Original-Received: via spool by 65068-submit@debbugs.gnu.org id=B65068.169287949214946 (code B ref 65068); Thu, 24 Aug 2023 12:19:02 +0000 Original-Received: (at 65068) by debbugs.gnu.org; 24 Aug 2023 12:18:12 +0000 Original-Received: from localhost ([127.0.0.1]:36306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZ9Hv-0003sz-MI for submit@debbugs.gnu.org; Thu, 24 Aug 2023 08:18:12 -0400 Original-Received: from mout.gmx.net ([212.227.17.21]:53947) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZ9Ht-0003sh-EL for 65068@debbugs.gnu.org; Thu, 24 Aug 2023 08:18:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1692879477; x=1693484277; i=alexander.praehauser@gmx.at; bh=q4IP6jcU+e+MmIxyTiKEdROWxRzo4KOT/eTbW6He9XA=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=q9ApyftE6H/vc1Yes7SBzONcvEsjfsWVhcAOtg/SGbStvh3RQEwxeSmt8ZMxV1Gvp69Pb/d 4tcDyLrOhUTKcu7JkPfFInG2lwRZS4QnbeqPj5Vrd6icv1E0Hy8GMYoIHKFzewhFOA2SpFHr+ 38Y2E0hpBEkqkdTmOVEJO1JVth9WyqIhvxb5Hc2o607XVrx/2cekbQnWJaA9javcXU6o8I+II jnDNJ2VSR/V2H1qQTT1nW+EybKwZ0TN3eL11GKcUx5lgwSptycnuF/JgP95ybBC8OkqBaHfvI C9BPjVsqT5aov4MTUwfebYIQ3MMltg2ICzE7J4F1hslSScJBssrg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from Arch ([87.249.133.98]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mnpnm-1pxNc726Zu-00pPD6; Thu, 24 Aug 2023 14:17:57 +0200 In-reply-to: <87pm3c69xa.fsf@yahoo.com> X-Provags-ID: V03:K1:dejPmFcTeZMHGdNIcdMmzwoWrLl5Y6BQVcVnYOF/QeKV7go+24d 0EjHyKgYT2DjgmEi7RXwwLibm8qd485+uHwG7cyOaZX8j3TqiXxJPWCL5daTNWjz2MHpmAz 1NEScA7X9/HFEnII5f+MCeQfBCochNvtxSroTgQR0gB7ZVT0VSaCJSRa2QVW+LLvFFWo6Wx 9IqLUzGz6Qs9R+CvC6MHA== UI-OutboundReport: notjunk:1;M01:P0:DwIGqo91BNU=;YFGbvmrFjmSFzx4T3sqjCLRmxGY prX7Za7yAy2LvO6X3/Yp19QygRoixez1NZTfw/lB6r+wkwnCdfRvQYc8GGK1YiMwwAhvXsN7W uFJgoYbApYQEOrbMupW9fHw9U7ilQajmGWbOe+DpbORvIdBSmoxo5Xo4VwpfftZIDy0Tuc7Oh CY39955UwDDsAjl+2/GE3pl8cQWQVmzbWND+GNjftWjTksBB1a23di45Tt9dEhMNebjp8lHab dahiLfVxEPlj4gEZfREFEFo7E1qD7rmg75zsDMubSHgRo96YY4YkY/Ue43ut/iS6dDAUvNaYA Km2YijDridgLoL2G/IIIuLwhAhYakKfkLOYOsD0n9cZOlVvsytYQvCUYbuG9Pf8EoA3n+gWns AUlbvHox1F2d/VhkSihZs9YacMsZsRLRoAJ/Vy98tUAP5CboCCVSzOHmhP1meFHEzfB6YlV3G T3Zka2kOrnR/O2zuQL5oipnsPkDt6Pl/Q0TJ+DMkLa4mKF59J7PrNSVUdt6N8RdkQWAKBJ02k RVX2pQnCvf8PosYubhplA3eHeL3JN8xTYViLNzNB/qpC5YYg7TwY8sQ1D7La4v/GE7iey8oR1 KzPHKkeyIUvarOvM1XHhOUimYR35EAB3HEZVpBaS+xXrnLIFLHNUmsSNzw7F62zeDdre+KfLs OMHc5xuuQ5J+cqV9JFxDOP+B1TEsioeViBBoT7ffdSnO/yuUpHO1MglqiYjqNq4X81PWaXBjQ 2kh/PEwemKKHySkHE1Fg7mOOa9ipkVZOnP+3+fEUgWd5HPHYAolJ+Q9IP/fBiZ3Ucou0D7L7 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:268329 Archived-At: It does seem to register the correct level shifts now, but it=20 seems to evaluate each key immediately after having been pressed. For instance, when I press Space-CapsLock-U, this should=20 evaluate to C-; and it does, but this is the output I'm receiving in-between: is undefined C-' is undefined C-; is undefined Po Lu [2023-08-24 Thu 17:56] wrote: > Alexander Pr=C3=A4hauser writes: > >> The significance of the U-key is that when I press=20 >> Space-CapsLock-U >> (or any other key, I think), it doesn't send the signal >> that is configured by xkb but the corresponding key of the=20 >> default >> English keymap (u for the U-key), which really >> shouldn't happen. Anyway, here the output after pressing the=20 >> sequence >> you wanted: >> >> keycode: 48, keysym: 65027, 0 >> keycode: 192, keysym: 269025093, 0 >> keycode: 37, keysym: 65507, 0 >> keycode: 37, keysym: 65507, 0 <- Control_R >> keycode: 48, keysym: 65027, 0 <- AC11, ISO_Level3_Shift >> keycode: 192, keysym: 269025093, <- XF86Launch5 > > This attests to Emacs registering the keysyms you meant it to.=20 > If > ISO_Level3_Shift is registered as a modifier key, it should not=20 > be > translated into keyboard input afterwards, let alone the=20 > original > apostrophe symbol. > > Does this patch resolve your problems with typing level 3=20 > characters > coupled with Control? > > diff --git a/src/xterm.c b/src/xterm.c > index 6a1642ff56e..7391041ea0c 100644 > --- a/src/xterm.c > +++ b/src/xterm.c > @@ -23734,6 +23734,7 @@ handle_one_xevent (struct x_display_info=20 > *dpyinfo, > ptrdiff_t i; > unsigned int old_state; > struct xi_device_t *device, *source; > + bool is_modifier_key; >=20=20 > coding =3D Qlatin_1; >=20=20 > @@ -24175,17 +24176,7 @@ handle_one_xevent (struct=20 > x_display_info *dpyinfo, > /* Any "vendor-specific" key is ok. */ > || (keysym & (1 << 28)) > || (keysym !=3D NoSymbol && nbytes =3D=3D 0)) > - && ! (IsModifierKey (keysym) > - /* The symbols from XK_ISO_Lock > - to XK_ISO_Last_Group_Lock > - don't have real modifiers but > - should be treated similarly to > - Mode_switch by Emacs. */ > -#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock > - || (XK_ISO_Lock <=3D keysym > - && keysym <=3D=20 > XK_ISO_Last_Group_Lock) > -#endif > - )) > + && !is_modifier_key) > { > STORE_KEYSYM_FOR_DEBUG (keysym); > /* make_lispy_event will convert this to a=20 > symbolic > @@ -24204,7 +24195,11 @@ handle_one_xevent (struct=20 > x_display_info *dpyinfo, > STORE_KEYSYM_FOR_DEBUG (copy_bufptr[i]); > } >=20=20 > - if (nbytes) > + /* Mind that NBYTES can be set even if KEYSYM > + represents a modifier key, but that no=20 > character > + events should be sent in that case. */ > + > + if (nbytes && !is_modifier_key) > { > inev.ie.kind =3D=20 > MULTIBYTE_CHAR_KEYSTROKE_EVENT; > inev.ie.arg =3D make_unibyte_string=20 > (copy_bufptr, nbytes);