Re: Discrepancy between XCB and X11 MappingNotify

Keith Packard <[email protected]> Thu, 03 Apr 2025 14:09:07 -0700
Newsgroups gmane.comp.freedesktop.xcb
Message-ID <[email protected]>
--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


> I guess (looking at src/OpenDis.c within libx11) these additional message=
s are
> caused by XkbUseExtension(...) etc. They are no surprise. But maybe this =
call
> causes no MappingNotify event to be sent?

Yeah, Xlib does a few things at connection startup which could have been
delayed until actually used. For instance, xcb delays initializing the
BIG-REQUESTS extension until the application uses a request which might
need it. As most (modern) applications never use large requests, this
saves time. However, it also appears to always enable XKB for some
reason.

And, yes, XKB affects MappingNotify events, in particular once XKB is
initialized, MappingNotify events caused by switching keyboards are
masked. XKB-using applications appear to be expected to request that
NewKeyboardMapping events be delivered to them, and that now includes
all Xlib applications. I'm surprised by this.

=2D-=20
=2Dkeith

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEw4O3eCVWE9/bQJ2R2yIaaQAAABEFAmfu+PQACgkQ2yIaaQAA
ABEKCg/+M+cVbSpCptuD+Y33464rl3OsMdm9SSb130RM1rOfalEtNUiF/CdvFR+M
q1SeieoT8gXETTfsr4xwrehzBDT+8LatRZ0FO2NY/mlppeuVZ2yONUCri5/VZ+Q7
Mf/+Kmr6POJXlXo/TQIB/YFclx2MkI1XTe3P/QQBPEykybFvEOB29pqguo2cwX0Y
Qf79tSQq0wzJN5nuaJlJJ1hyxDEEnwWtsAWcRbVhpcLyQPSPMTVr+WmObnADlbc2
DneczWA/HdRAGSASRAiXM8mzn0EJ2WAssXviwp1Zms4LoCoam88xLIKsYvMQwjXO
Q34f4BVEPesZSOaMhmoS/9HsenZXdEr917ECNKq3c+FCu7qT2XMVnI5Lxmfm1zbU
t4dDnye+qIcwd95cRrpVrD9S4nhcRJ/ODuGHeX+ZwuK8DjLBAAu8jAICrl0kpfN4
/Bk5I6COw0Nz98vOwOVGzPvm4ELI+RVQAnm/lNHsTrj5lQGCnN0May/kLXc+EuW7
Pbc7OqkFdiTwpRRSpk/3x/G8YR6LS69u1qHMhAEJbLFOutz4l4WDNFBKeGC396/c
poZlTQyLzLcV2SSvBAg997GVpOIbObPG+mbuh5b743DJ3/0Fw2crNVYs1lZfjHsT
ZzX5yLZSpNZxKr1ifL6sGk55k8EbbcdbSaxcVoUGuHkXN0onDRQ=
=GgZ5
-----END PGP SIGNATURE-----
--=-=-=--