Skip to content

Draft: Remplacement de la disposition française par défaut

Alexandre Petit requested to merge fix/default_fr_layout into master

Texte origine de la traduction en anglais pour la MR upsteram. Merci de ne pas commenter ici, mais sur l'upsteram.

Proposition :

Je souhaite proposer un remplacement de la disposition française par défaut.

Si cette possibilité est envisageable pour vous, voici quelques considérations :

Pourquoi :

La disposition actuelle est un héritage de xfree86, dans les documentations et les forums, la disposition par défaut n'est jamais évoquée ou l'est comme étant non viable.
L'origine du problème doit donc être que la disposition par défaut ne correspond à personne.

Je remarque qu'en général fr(oss) ressort le plus souvent, suivi de fr(azerty) et de fr(latin9).

[root@localhost ~]# localectl status
   System Locale: LANG=fr_FR.UTF-8
       VC Keymap: fr-oss
      X11 Layout: fr
     X11 Variant: oss
[root@localhost ~]# localectl set-x11-keymap fr asus_laptop
[root@localhost ~]# localectl
   System Locale: LANG=fr_FR.UTF-8
       VC Keymap: fr
      X11 Layout: fr
       X11 Model: asus_laptop

Peut être voulait-il dire localectl set-x11-keymap fr asus_laptop oss ?

Analyse des candidates :

Les quatre variantes que j'ai identifiées comme candidates potentielles sont :

  • fr(azerty) : Très bonne option, car elle colle exactement aux gravures ni plus ni moins.
  • fr(latin9) : Taguée comme obsolète, je l'écarte donc.
  • fr(oss) : Une fr(azerty) survitaminée aux niveaux 3 et 4 (niveau 4 absent sur fr(azerty))
  • fr(oss_latin9): Une version édulcorée de fr(oss) je ne sais pas dans quels cas elle serait utile;

Je ne sais pas si cela doit orienter le choix, mais les pages françaises de Wikipédia étiquettent fr(oss) comme "disposition Linux" :

Sur cette base, j'aurais tendance à penser que fr(oss) est la candidate parfaite :

  • Les gravures de base sont respectées.
  • Utilise des combinaisons laissées libres par fr(azerty)
  • Ajoute des caractères utiles à des emplacements globalement bien pensés.
  • Est souvent conseillé.
  • Taguée comme disposition Linux sur Wikipedia.
  • Multiplateforme (Portage windows - FR-OSS : Faites-en plus avec votre clavier AZERTY)

Qu'en pensez-vous ?

Comment :

La disposition par défaut est une variante conventionnellement nommée basic et taguée default.

Pour faire quelque chose de cohérent, j'ai pensé à ceci :

  • Pour ne pas perdre l'actuelle basic il faut la renommer, car conventionnellement, default = basic.
  • Il faut modifier les include "fr(basic)" des sous-variantes pour ne pas les casser.

Nous pourrions à l'avenir avoir comme convention :

  • que fr(basic) ne soit qu'un alias.
  • que les sous-variantes ne pointent jamais sur fr(basic).

Exemple:

default partial alphanumeric_keys
xkb_symbols "basic" {
    include "fr(<VARIANT_ELEVATED_TO_DEFAULT_RANK>)"
    name[Group1]="French";
};

Cette modification ne serait cassante que pour les utilisateurs ayant configuré volontairement la disposition par défaut sur leur système. Mais, comme évoqué plus haut, c'est rare et est facilement réversible en choisissant explicitement la variante correspondant à l'ancienne disposition par défaut.

Visuels des dispositions :

French - basic *Disposition actuelle

Actual

French (AZERTY) - azerty

KB_France

French (alt.) - oss

KB_France_Linux

French (alt., Latin-9 only) - oss_latin9

KB_France_Linux_latin9

French (legacy, alt.) - latin9

image

This message can also be read directly in French here.

Proposal:

I would like to propose a replacement for the default French keyboard layout.

If this is feasible for you, here are some considerations:

Why:

The current layout is a legacy from xfree86. In documentation and forums, the default layout is either never mentioned or deemed unviable.
Therefore, the issue likely stems from the default layout not being suitable for anyone.

I notice that generally, fr(oss) is the most commonly mentioned, followed by fr(azerty) and fr(latin9).

[root@localhost ~]# localectl status
   System Locale: LANG=fr_FR.UTF-8
       VC Keymap: fr-oss
      X11 Layout: fr
     X11 Variant: oss
[root@localhost ~]# localectl set-x11-keymap fr asus_laptop
[root@localhost ~]# localectl
   System Locale: LANG=fr_FR.UTF-8
       VC Keymap: fr
      X11 Layout: fr
       X11 Model: asus_laptop

Maybe he meant to say localectl set-x11-keymap fr asus_laptop oss ?

Analysis of the Candidates:

The four variants I have identified as potential candidates are:

  • fr(azerty) : A very good option as it matches the physical key labels exactly.
  • fr(latin9) : Tagged as legacy, so I dismiss this one.
  • fr(oss) : A supercharged fr(azerty) with levels 3 and 4 (level 4 is absent in fr(azerty)).
  • fr(oss_latin9): A toned-down version of fr(oss); I am not sure in which cases it would be useful.

I don’t know if this should influence the choice, but the French Wikipedia pages label fr(oss) as the "Linux layout":

Based on this, I tend to think that fr(oss) is the perfect candidate:

  • The basic key labels are respected.
  • It uses combinations left free by fr(azerty).
  • Adds useful characters at generally well-thought-out positions.
  • Often recommended.
  • Tagged as the Linux layout on Wikipedia.
  • Multi-platform (Windows port - FR-OSS : Faites-en plus avec votre clavier AZERTY).

What do you think?

How:

The default layout is a conventionally named variant called basic and tagged as default.

To maintain consistency, I thought of this:

  • To not lose the current basic, it needs to be renamed because conventionally, default = basic.
  • The include "fr(basic)" of the sub-variants need to be modified to avoid breaking them.

In the future, we could have the convention that:

  • fr(basic) is just an alias.
  • The sub-variants never point to fr(basic).

Exemple:

default partial alphanumeric_keys
xkb_symbols "basic" {
    include "fr(<VARIANT_ELEVATED_TO_DEFAULT_RANK>)"
    name[Group1]="French";
};

This modification would only affect users who have deliberately configured the default layout on their system. But as mentioned earlier, this is rare and easily reversible by explicitly choosing the variant corresponding to the old default layout.

Visuals of the layouts:

French - basic *Current keyboard layout

Actual

French (AZERTY) - azerty

KB_France

French (alt.) - oss

KB_France_Linux

French (alt., Latin-9 only) - oss_latin9

KB_France_Linux_latin9

French (legacy, alt.) - latin9

image

Edited by Alexandre Petit

Merge request reports

Loading