From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#65068: 29.1; xkb-interception interaction causes problems with key combinations Date: Thu, 24 Aug 2023 17:56:17 +0800 Message-ID: <87pm3c69xa.fsf@yahoo.com> 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> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10559"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 65068@debbugs.gnu.org To: Alexander =?UTF-8?Q?Pr=C3=A4hauser?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 24 11:57:35 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 1qZ75q-0002Vv-5q for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 24 Aug 2023 11:57:34 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qZ75K-0004MN-7r; Thu, 24 Aug 2023 05:57:02 -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 1qZ75G-0004M5-Vx for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 05:56: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 1qZ75G-0002Da-EX for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 05:56:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qZ75J-0005oZ-Uf for bug-gnu-emacs@gnu.org; Thu, 24 Aug 2023 05:57:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 24 Aug 2023 09:57:01 +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.169287100022323 (code B ref 65068); Thu, 24 Aug 2023 09:57:01 +0000 Original-Received: (at 65068) by debbugs.gnu.org; 24 Aug 2023 09:56:40 +0000 Original-Received: from localhost ([127.0.0.1]:36155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZ74x-0005nz-R7 for submit@debbugs.gnu.org; Thu, 24 Aug 2023 05:56:40 -0400 Original-Received: from sonic310-23.consmr.mail.ne1.yahoo.com ([66.163.186.204]:38285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZ74w-0005nk-11 for 65068@debbugs.gnu.org; Thu, 24 Aug 2023 05:56:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1692870987; bh=zHiuNXkqf+BMTPJnJwPUym1PMCaRZkd22qKdBsD04fA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=Zi3IDOvwq01MdfOxws3C8cmrKVvg06XcYBBWseFnCAnVMyPzCAZOg/zyf2umTH275QkCIml0xT6C/vJeyV1uIknBnj81uVfmmmLTL+AsbOG2iKllQOStTyE8lIe7cAXkQ27lLkkaGiobPaWlwqC1L+3Q1DDgB6QYi1ZLWHQnHeYVeKYLuj0OmLxRnmJMNraqCvkADDRoaqrNHg5HlLVfaE/JGjU5ljFoIHDf/qVFFlkV7SpHSJgy3zxrUO9ZmWGbj1fQvtueiTluw7bEb6n8tXRzqQUOKj2pxlQoBdb67qGHMmQ6lkjrlsB16bMaixoUA1WH+V+Hr35p0rloOuWhjA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1692870987; bh=t0OrqTeCwnslyKpy3DgixCbmRebZ6oMO/vA8I5MrrFn=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=k8t7G1gn07bvxKugIQ1GYFo8XMzpaaBKjsnXj1DpZG24zJ+kHX5DJraUluLrI9oKn+vDLkjQq8iHI9b7bXEgpfo6zZf3alwkCTpZf6NxnDW0saP9W/AoNBQoINPP0MpmuSeq6IyJLc/jjptcFwVxY4dpntkBQfH5qlxo+OU/5btJvwCq8MF9H1OycotHfZs5RL80U/woJ7fzWzVe6uaxS4MJdxfVmu3PMWUoedZjM7zWB2ElbXXn1eC1I4mu3NHPCzTOOtB+VAM4nUSOZEv60GoPki5QKeGNsPyOfuIlbUHQCcbxVZAwuX+DIDoSLCd0MZWWMiSOYFbQRLZpPsV0fQ== X-YMail-OSG: epMUFdYVM1kA9HE5m1DDMZ.wRqpVtGYv4YkmlykJin2AkCsozDaNBScal.QhA.X jMGEQGEKkZGWeJACKbFmd0FzhZkXQiibLmu1xYDIrHP_2XNLG6DRRawW2ZYnm7udryhAcyZS3pdy oY0l5lhenV4NW7RBc1eGYGlSxX5RI1rucOncKCM8ET7iD2ysjdjsLc3I8wmOx7JOoD_NBKLZPv8B wJjOLBr7NXXKwkRgA7BVuR1UC9p_I.ObqbMHK6eLbBg.omk7ME4Z..wrAn2DYoaMVm6ojb7pPcTk CtXq8_CEaGdNSzG2WLiuL_YUp_bdeLXiR8RjfxoC98UUoW10.zw2nuIqnFvRHDLomh0J_Ar5LTKE QC.PTnDPsWufM0vg75QBa0hR06vKuO4FYuXF.MRSJb56Ro5f2uNjb8lGTFigOghgVJWPLAyVQfO3 lPWuW0GSR7tNog6HY_gW8RuX_eWPLmckfI.IYOdWN8VwBhcSPCFUGHIZgoRLR_qa6UDa6_X7g8yO UxA5qOdsgTrmsp52pmBFrghWbUkIu2_Ya3sDCKekLItxsW6Ft76cwtFGRdLFVZzS0yP6og5Dq7nQ KHAyVP1Hm3W_m9fSIHOTQ.DdLBB9SLTfz8WHdHgz2Qyo21NNh1twBOT7ce56nhB33ODpiihunPE2 HCFYeKUqzvGotMs2Mt7W.5NsLOxVXCRzNE8ArYDydpQidXsBGBStHKiECRP5py.wDyGfYRjNZA10 U8hW16DU_jxNDxK2g8ktYX4iovqxYRYqMWESx2WnPqlBg7I9X7nrBYJnWhYdmrz7IDHxBYZ4BvS6 6j2Dd86jFmAnl4NRhIPSFUuEO2RVyAWz4E_Gcl8cHn X-Sonic-MF: X-Sonic-ID: 608ddddd-1485-4197-b54e-e16dfe9cd37f Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ne1.yahoo.com with HTTP; Thu, 24 Aug 2023 09:56:27 +0000 Original-Received: by hermes--production-sg3-69654d8bd-cgvfq (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID cc515d6ee47b97ae4156b32f4c9a1df7; Thu, 24 Aug 2023 09:56:22 +0000 (UTC) In-Reply-To: <87v8d466gq.fsf@gmx.at> ("Alexander =?UTF-8?Q?Pr=C3=A4hauser?="'s message of "Thu, 24 Aug 2023 13:06:36 +0200") X-Mailer: WebService/1.1.21732 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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:268320 Archived-At: Alexander Pr=C3=A4hauser writes: > The significance of the U-key is that when I press 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 default > English keymap (u for the U-key), which really > shouldn't happen. Anyway, here the output after pressing the 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. If ISO_Level3_Shift is registered as a modifier key, it should not be translated into keyboard input afterwards, let alone the original apostrophe symbol. Does this patch resolve your problems with typing level 3 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 *dpyinfo, ptrdiff_t i; unsigned int old_state; struct xi_device_t *device, *source; + bool is_modifier_key; =20 coding =3D Qlatin_1; =20 @@ -24175,17 +24176,7 @@ handle_one_xevent (struct 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 XK_ISO_Last_Group_Lock) -#endif - )) + && !is_modifier_key) { STORE_KEYSYM_FOR_DEBUG (keysym); /* make_lispy_event will convert this to a symbolic @@ -24204,7 +24195,11 @@ handle_one_xevent (struct x_display_info *dpyinfo, STORE_KEYSYM_FOR_DEBUG (copy_bufptr[i]); } =20 - if (nbytes) + /* Mind that NBYTES can be set even if KEYSYM + represents a modifier key, but that no character + events should be sent in that case. */ + + if (nbytes && !is_modifier_key) { inev.ie.kind =3D MULTIBYTE_CHAR_KEYSTROKE_EVENT; inev.ie.arg =3D make_unibyte_string (copy_bufptr, nbytes);