Bug#1072720: libglib2.0-0: Following fix #1070745, typing `A keys doesn't type an À anymore

Simon McVittie smcv at debian.org
Sun Jun 9 23:47:28 BST 2024


Control: reassign -1 xkb-data 2.35.1-1

On Sun, 09 Jun 2024 at 23:13:32 +0200, grunt2 at laposte.net wrote:
> XKBMODEL="pc105"
> XKBLAYOUT="fr"
> XKBVARIANT="azerty"
(and)
> $ dconf dump /org/gnome/desktop/input-sources/
> [/]
> show-all-sources=false
> sources=[('xkb', 'fr+azerty')]
> xkb-options=['lv3:ralt_switch']

It seems that instead of the "default" French keyboard, you're using a
French keyboard variant named "azerty". This confuses me, because I
thought the "default" French keyboard layout is already an AZERTY
layout, so specifying AZERTY seems redundant... but the two layouts
seem to be maybe different?

What was the most recent date when your keyboard had the behaviour
that you expected, and what version of Debian were you running at
that time?

> What I notice, is that when I type the backtick character, even on a terminal,
> it doesn't wait without displaying nothing (like previous versions of Debian
> did) or doesn't wait showing the backtick underlined
> like it does when I use the ^ dead key.

That's the expected behaviour on keyboard layouts where the backtick is
just a backtick and not a dead key, like my UK English. In these layouts,
the data file defining the keyboard layout would say "grave".

The behaviour you were hoping for (waits while displaying an underlined
backtick/accent) is what is expected in keyboard layouts where the
backtick is defined to be a dead key, like German. In these layouts, the
data file defining the keyboard layout would say "dead_grave".

Some French keyboard layouts have AltGr+[7] as a backtick ("grave"), like
it is for the similarly labelled key in UK English. Others have AltGr+[7]
as a dead key ("dead_grave"), like it for the similarly labelled key in
German. So, it matters which exact variant you have selected.

It seems that your keyboard layout is one of the variants with "grave"
but you were expecting that it should have "dead_grave". This could
be because your configuration has changed, or because your configured
variant has stayed the same but its meaning has changed. I don't know
what component that would be a bug in, but it isn't GLib that controls
this, so it seems very unlikely to be a GLib regression.

The "default" French keyboard layout is probably labelled in the UI as
just "Français" or similar, with no other information. In that layout,
as far as I can see from /usr/share/X11/xkb/symbols/fr, the symbol you
get from typing AltGr+[7] is "grave", so it is intentionally not a dead
key (same as the backtick on a UK English keyboard).

But, there are several different layouts listed in
/usr/share/X11/xkb/symbols/fr. Some of them have AltGr+[7] mapped to
"dead_grave", which *is* a dead key (same as the backtick on a German
keyboard). The ones I can find that have that behaviour are
identified as "French (legacy, alt.)" and "French (Breton)" (but Breton
is not an AZERTY layout so probably you don't want that one).

"French (legacy, alt.)" might be identified as "Français (obsolète,
variante)" with French language settings.

Your current configuration with XKBVARIANT="azerty" and
sources=[('xkb', 'fr+azerty')] should mean that you are using the
"azerty" variant (lines 1059 to 1141 in /usr/share/X11/xkb/symbols/fr
from xkb-data version /usr/share/X11/xkb/symbols/fr) and in that variant,
as far as I can see, AltGr+[7] is not intended to be a dead key.

There is also a variant "French (AZERTY, AFNOR)" which moves the
"dead_grave" dead key from AltGr+[7] to AltGr+[3], while providing
it as a dead key.

If the French-speaking community considers the layouts in
/usr/share/X11/xkb/symbols/fr to be wrong, then that would be something
that would need to be fixed in xkb-data (part of xkeyboard-config).
I don't know whether what you expected is the same as what the
French-speaking community would expect.

> When I'm using the ` dead key, I :
> 1. type ` and see on screen:  ` immediately, and with no underline
> 2. the terminal or editor doesn't wait for me to type another character
> especially.
> 3. I type any other character.  `z, `a...
> In fact, ` isn't considered as a dead char at all.

All of this is consistent with your [`] behaving as an ordinary backtick
key (not a dead key), like the one on a UK English keyboard.

> interesting! while the ^ key right to the P on the french keyboard, provides a
> ^ that is a dead char and returns an ê
> the ^ given by a <right alt-9>e isn't a dead char!

That's what /usr/share/X11/xkb/symbols/fr says. I don't know whether that's
what a typical French keyboard user would expect, but it's what the xkb
data says should happen; so if this is wrong behaviour, that would be an
xkb-data bug.

> It's the top row of keys of a 102 or 105 keyboard that would not fire dead keys
> anymore?

I don't know whether it's as consistent as that: like I said, it depends
which exact variant is configured.

I didn't know anything about French keyboard layouts until today,
and /usr/share/X11/xkb/symbols/fr has all the information that I'm
referring to, so please see that file for full details, or ask a French
user support list such as <https://lists.debian.org/debian-user-french/>
which will have better information than I do.

    smcv



More information about the pkg-gnome-maintainers mailing list