GNU bug report logs - #53200
29.0.50; C-S-u shortcut fails with 'PGTK' enable

Previous Next

Package: emacs;

Reported by: Campbell Barton <ideasman42 <at> gmail.com>

Date: Wed, 12 Jan 2022 04:57:01 UTC

Severity: normal

Tags: moreinfo

Merged with 49211, 51002, 55362, 55660, 56653

Found in versions 28.0.50, 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


Message #27 received at 53200 <at> debbugs.gnu.org (full text, mbox):

From: Morgan Smith <morgan.j.smith <at> outlook.com>
To: daanturo <daanturo <at> gmail.com>
Cc: luangruo <at> yahoo.com, 53200 <at> debbugs.gnu.org
Subject: Re: bug#53200: 29.0.50; C-S-u shortcut fails with 'PGTK' enable
Date: Sun, 22 May 2022 13:44:54 -0400
Hello,

daanturo <daanturo <at> gmail.com> writes:
> Emacs is unable to recognize any Super-modified keys. 

My bad, I gave the wrong git hash.  I meant this hash: 1c1ae6ba80. 
If you want to re-enable super modified keys you have to make the 
following change.  If I remember correctly Po Lu thinks this is a 
bug in some other software and that the GDK_SUPER_MASK bit should 
be set so they don't want to add the GDK_MOD4_MASK bit. 
Personally, I think GDK_MOD4_MASK should be added and we should 
just add a todo comment to look into it more later.

I suppose the thought is that in theory someone could use MOD4 as 
a custom modifier instead of using it as super but realistically I 
think someone trying to do that would have lots of problems.  It 
would be cool if that was possible though so I do support trying 
to rid ourselves of odd grandfathered in quirks.


diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 
b9d0b7b512..3ef643a075 100644 --- a/src/pgtkterm.c +++ 
b/src/pgtkterm.c @@ -5018,7 +5018,7 @@ pgtk_gtk_to_emacs_modifiers 
(struct pgtk_display_info *dpyinfo, int state) 
    mod |= mod_ctrl; 
  if (state & GDK_META_MASK || state & GDK_MOD1_MASK) 
    mod |= mod_meta; 
-  if (state & GDK_SUPER_MASK) +  if (state & GDK_SUPER_MASK || 
state & GDK_MOD4_MASK) 
    mod |= mod_super; 
  if (state & GDK_HYPER_MASK) 
    mod |= mod_hyper; 
@@ -5151,7 +5151,8 @@ key_press_event (GtkWidget *widget, GdkEvent 
*event, gpointer *user_data) 
      /* While super is pressed, the input method will always 
      always 
	 resend the key events ignoring super.  As a workaround, don't 
filter key events with super or hyper pressed.  */ 
-      if (!(event->key.state & (GDK_SUPER_MASK | 
GDK_HYPER_MASK))) +      if (!(event->key.state & + 
(GDK_SUPER_MASK | GDK_MOD4_MASK | GDK_HYPER_MASK))) 
	{ if (pgtk_im_filter_keypress (f, &event->key)) return TRUE; 







This bug report was last modified 2 years and 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.