Subject: bug#55660: closed (Re: bug#55362: 29.0.50; Super key no longer works on Wayland)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 10 Oct 2022 03:09:03 +0000

Your bug report

#55362: 29.0.50; PGTK degrades to terminal-compatible keyboard events

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
55362: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55362
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#55362: 29.0.50; Super key no longer works on Wayland
From: Po Lu <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: Thomas Jost <[email-masked]>, [email-masked]
Date: Mon, 10 Oct 2022 11:08:35 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Po Lu <[email-masked]> writes:

> Not before Emacs 29 is released, or otherwise the GTK developers will
> never fix their thing, and we will be stuck maintaining yet another
> broken hack to work around one of their bugs until the end of time,
> which is several degrees of magnitude more confusing because we now have
> two configurations where sometimes identical, and sometimes different
> GTK bugs have to be worked around.

And the bug has now been fixed in GTK.  The fix should be released and
reach most users rather quickly, so I'm closing this bug.

Subject: 29.0.50; PGTK degrades to terminal-compatible keyboard events
From: Derek Upham <[email-masked]>
To: [email-masked]
Date: Thu, 26 May 2022 07:43:37 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Meaningful control keys in ASCII are @, A-Z, [ \ ] ^ and _ (0x40 through
0x5f).  VT100 terminals use the Control key to zero-out the top two bits
of seven, leaving us with 2^5=32 characters.  The above control keys
happen to be a bank of 32 that are all graphical and easy to reach.)  I
have old notes to myself that say that VT100 terminals do a little extra
mapping: Control and `?' (0x3f) sends the DEL keycode (0xff); Emacs
itself seems to map Control and `/' (0x2f) to the same keycode as
Control and `_' (0x1f)).

Window system interfaces like GTK track individual keypresses, and Emacs
supports binding other keys with Control:

  (global-set-key [(control ?<)] 'my-left-command)
  (global-set-key [(control ?>)] 'my-right-command)

Some terminals even send special character sequences to Emacs that
encode the Control modifier alongside the ">" character.  Xterm is one
of those, if you use the "xterm" terminal type.

I was experimenting with Emacs configurations (in a weekly snapshot) and
discovered that the PGTK interface does not support arbitrary Control
modifiers.  I can send any of the ASCII control keys listed above, but
for all others PGTK ignores the Control modifier.  Control-> turns into
a plain ">", for example.

These configuration options have the bug:

  --with-x-toolkit=gtk3
  --with-xwidgets=yes
  --with-pgtk=yes

These configuration options understand Control-> correctly.

  --with-x-toolkit=gtk3
  --with-xwidgets=yes
  --with-pgtk=no

I'm aware that PGTK is under active development and unreliable, and the
immediate workaround is "stop using PGTK".

Derek

-- 
Derek Upham
[email-masked]