[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PGTK-related misconceptions
From: |
Po Lu |
Subject: |
Re: PGTK-related misconceptions |
Date: |
Wed, 27 Jul 2022 17:10:09 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) |
Trey Peacock <gpg@treypeacock.com> writes:
> This section of code is in gdkkeys-x11.c and called from update_keymaps:
>
> mask = 0;
> for (j = 0; j < keymap_x11->keysyms_per_keycode; j++)
> {
> if (syms[j] == GDK_KEY_Meta_L ||
> syms[j] == GDK_KEY_Meta_R)
> mask |= GDK_META_MASK;
> else if (syms[j] == GDK_KEY_Hyper_L ||
> syms[j] == GDK_KEY_Hyper_R)
> mask |= GDK_HYPER_MASK;
> else if (syms[j] == GDK_KEY_Super_L ||
> syms[j] == GDK_KEY_Super_R)
> mask |= GDK_SUPER_MASK;
> }
>
> Which seems like it accepts the GDK_KEY_Super_L/R and subsequently sets
> the mask, right? I believe this is the reason why the virtual mask is
> recognized when using Xwayland on wlroots based compositors.
Why is Xwayland related in any way?
And that code is only used when the XKB extension is _NOT_ present on
the X server. Otherwise, the code under update_modmap is used. The
exact analog in Emacs is x_find_modifier_meanings in xterm.c.