"Po Lu" writes: > Trey Peacock writes: > >> Neither of the WMs I mentioned use GNOME Shell, but they do both use >> wlroots. Looking into this, it seems that any wlroots based Wayland >> compositor will use GDK_MOD4_MASK as Super. However, mutter (GNOME's >> WM) uses GDK_SUPER_MASK. Rebuilding emacs with the below patch seems >> to have fixed the issue. I'm not sure if there could be further >> implications for pgtk_emacs_to_gtk_modifiers. > > GDK_MOD4_MASK is a real modifier. GDK_SUPER_MASK is a "virtual > modifier" mask. > > The entire point of that change was to rely on GDK to compute the > correspondence between real modifiers and virtual modifiers instead of > doing it ourselves, since a real modifier can mean any number of virtual > modifiers and vice versa. It does not seem to be a requirement of GTK 3.2 or XKB to send virtual modifiers. The only compositor I have come across that actually sends a virtual modifier is mutter/GNOME. Neither wlroots nor Weston, the Wayland reference implementation, send them. I'm unsure about Plasma, but I believe this highlights an issue with the development of pgtk, if it is meant to be targeted towards wayland users it should be tested against more than just one compositor. > Hard-coding the meaning of GDK_MOD4_MASK would be a step backwards. The experience of a user updating Emacs and realizing a key is no longer recognized, without any notification or justification would also be a step backwards. > This seems to either be a bug in wlroots or GDK, so I suggest that a bug > be filed with their developers. I have spoken with devs of wlroots & wayland over IRC and they seem to agree that it is not necessary. I don't mean to be adversarial but would be happy to see this change amended to incorporate the entirety of wayland compositors.