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#57825: 29.0.50; Superkey handling regression in pgtk Date: Mon, 19 Sep 2022 15:57:58 +0800 Message-ID: <8735cnre2h.fsf@yahoo.com> References: <87v8pp6msk.fsf@trop.in> <87o7vgyjyy.fsf@yahoo.com> <87mtb0q71l.fsf@trop.in> <87k063x401.fsf@yahoo.com> <87y1uggdmp.fsf@trop.in> <87r107zvnb.fsf@gnus.org> <8735cnsuad.fsf@yahoo.com> <87fsgnzu36.fsf@gnus.org> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28877"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Cc: masmer4@yahoo.co.jp, 57825@debbugs.gnu.org, Andrew Tropin To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Sep 19 10:24:09 2022 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 1oaC4X-0007Ii-Jx for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 19 Sep 2022 10:24:09 +0200 Original-Received: from localhost ([::1]:54912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oaC4V-0001IU-MA for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 19 Sep 2022 04:24:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36246) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaBgE-0001wZ-Uu for bug-gnu-emacs@gnu.org; Mon, 19 Sep 2022 03:59:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53137) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaBgE-0005ug-LI for bug-gnu-emacs@gnu.org; Mon, 19 Sep 2022 03:59:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oaBgE-0007fJ-H8 for bug-gnu-emacs@gnu.org; Mon, 19 Sep 2022 03:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Sep 2022 07:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57825 X-GNU-PR-Package: emacs Original-Received: via spool by 57825-submit@debbugs.gnu.org id=B57825.166357429929395 (code B ref 57825); Mon, 19 Sep 2022 07:59:02 +0000 Original-Received: (at 57825) by debbugs.gnu.org; 19 Sep 2022 07:58:19 +0000 Original-Received: from localhost ([127.0.0.1]:52211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaBfX-0007e2-3X for submit@debbugs.gnu.org; Mon, 19 Sep 2022 03:58:19 -0400 Original-Received: from sonic309-22.consmr.mail.ne1.yahoo.com ([66.163.184.148]:37448) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oaBfU-0007de-U6 for 57825@debbugs.gnu.org; Mon, 19 Sep 2022 03:58:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1663574289; bh=VutFL7h94fIU7lCMfK+aGvgQawkB1XoPgmA2jxkGFj8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=jj4eBhkvVBDrQHjp4NClR8msVaKTjdDkkqD+cRzMawkEQa7rOmQhDRZIHyjauvhCGL6AJRbRztO37NyuMCNBDL8ZYz4WBuwfF/SLp4E3i3n3C/OKRwnJ9bOKpQkRKdPh7rJB0FXl+qo1HS7LB2er0yajiYFWD15lOyCPu1JGVlyyID84PSfu/MsCUPJb/+QM1JjbQaulTVkyTvQKgnwgxdahq/Ie7CMM9to2SIcag5Yegrnt10i7mCj4ZdLY6dPQbVE0v0EODJ3gv7TIkyKlMN1k8Q09Oc9KJDMoOfQj0I54TkcBZPYESSQp8yOebN0ODgwZfQnIsEYrZBZrsvHXZg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1663574289; bh=oDai24qZPJ3HnZwtpPX+osb8nlX99LkQPCL5U4krjdl=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=CUMGfsyPXPYR3n7iaSylYdWEQGDmjp1hWCgHFq3QVd8/YKC0stPtHzWEcIaigof5LK53oqqC9+Yn4atMmObJyO0aeYeUlkT3M8oU7is2nfoGLleb22SuMhZLbH1X8Ak2G9Mii8/LOcXvFqoDOXfQLuA8QxBecBBQbl6bjpNg1LuyxwvZBVzG2qWu9b1uGQIZTSRiXBrZbAMKq0AqP17PLWhCcdPmNa75tD4cU4Jdb+IvW3iz8jcqZZQ0mrwlY/XIvQz6hIhNBwgc+8UZ8siV3EgUTKmMwRcqgJ72xb/WVS7WPU7w6N7kUkCyTPXflTVofxyvNbOIfls+tiTirUmpvg== X-YMail-OSG: UZweXksVM1ly6j7fvMbsGO7HMmmBaEPfHBJG2XxDCfTyteBD5SJwLkckb1U2hgm o1tjhArrrK3KG6DMdNlZWRTYqCFDvtAeP0tUvWj03AXkpue3f_o5rf3k5Drw1KWuyzWK6x3Lf0N6 B2z7vUT7_RfCKDuVLh.ahS2xjHuDPTJhxpLkC_n2v9rqiZwmznSUpzKszE6Q.RcM0w5dy3tSME4d vj.POPBbmpYshsqBKef7F7qdL_jKNd9t8ek8AGrku8ToCDDgPZfHgqI3uKcl.XL9Xr9t71eilMDH VpBUfYdKI9SVWdlxMTW2G3XsEYN_kRrjVQzX2ZSyc.LEWZ4zf_h_ZyLr2JqdIe9VwCBlcSBB7kv3 SwD2tmb32TCE8AUvdbBdRUCO5ij4MxXsBZTYw8nDO9CKcExMVWPNvv2fvQCfQ8VWLYw91GPT2KZh Vt5Dege9gVWGoe_PfEKF48e4maoqkAQh7txdt.3wgyADaT8CGWl_tCC2YegWK_e2Yl9Li38PTMx_ AIiLdhrP.SV1lzCPlKiNXlii9ECjejDVbq8non65fOBC1guN2Br7JWGERczTw40tzwDW32rNBg28 dAgA3b3YFXnWl9qhlYqPaOEREn1KCAV18dFpVe789na_ZZB3zaipt57APqrWRniZh80BnMpCSZK3 OpxT16FCaUyDYIzfbnFAa.U19klEvrTp9XRGNc1npQQOYd2QMCWV1cPBws.q0hkbrs6Vq7oN_3Pb C_nZfB8L7ud7Jcji_8ag6KyvB66pExftMAPQnNVx6LxzCDK8iiW521Q7xXv8V02JyrP2Eb_jvA9f 2tjyLSOPYiOo73zWqt0Gap0AREJOrR5Gx0vRt8k65P X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ne1.yahoo.com with HTTP; Mon, 19 Sep 2022 07:58:09 +0000 Original-Received: by hermes--canary-production-sg3-6bb8946c47-n9zqw (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID e9a8e49a302ae70bc19f5b518ce547a2; Mon, 19 Sep 2022 07:58:04 +0000 (UTC) In-Reply-To: <87fsgnzu36.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 19 Sep 2022 09:44:45 +0200") X-Mailer: WebService/1.1.20612 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" Xref: news.gmane.io gmane.emacs.bugs:243043 Archived-At: Lars Ingebrigtsen writes: > Can't we check what compositor we're running under? No, that is not really easy to do. Kwin and Mutter apparently work correctly with GTK, but as I found out earlier, the real problem lies in libxkbcommon, which is not working the way XKB is supposed to, thus confusing GTK. XKB_MOD_NAME_LOGO is not supposed to exist. Instead, there should be XKB_MOD_NAME_SUPER, defined to "Super". Unfortunately, the libxkbcommon API is already set in stone, so the easiest fix on the GTK side would be this: diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c index 35ac9e8..c104b5a 100644 --- a/gdk/wayland/gdkkeys-wayland.c +++ b/gdk/wayland/gdkkeys-wayland.c @@ -254,7 +254,8 @@ get_xkb_modifiers (struct xkb_keymap *xkb_keymap, if (state & GDK_ALT_MASK) mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT); if (state & GDK_SUPER_MASK) - mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Super"); + mods |= (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super") + | 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO)); if (state & GDK_HYPER_MASK) mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper"); if (state & GDK_META_MASK) @@ -277,6 +278,8 @@ get_gdk_modifiers (struct xkb_keymap *xkb_keymap, state |= GDK_CONTROL_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT))) state |= GDK_ALT_MASK; + if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO))) + state |= GDK_SUPER_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super"))) state |= GDK_SUPER_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper")))