Skip to content

Configurer un clavier Apple en canadien français sur Linux

Problématique: si vous utilisez un clavier Apple (ex. Magic Keyboard) avec Linux (dans ce cas-ci Ubuntu 24.04 et GNOME Wayland), les touches ne correspondent pas à leur emplacement que vous seriez habitué d'utiliser sur Mac OS X.

Il y a un bonne explication sur cet article ici. En sommaire, il y a 5 fichiers à modifier.

(1) base.lst et evdev.lst dans /usr/share/X11/xkb/rules pour ajouter parmi les autres dispositions (ligne 489 environ, au dessus de fr-legacy):

  fr-apple-ab     ca: French (Canada, Apple)

et (2) evdev.xml et base.xml il faut ajouter parmi les autres (ligne 3605 environ, au dessus de fr-legacy):

<variant>
    <configItem>
        <name>fr-apple-ab</name>
        <!-- Keyboard indicator for French layouts -->
         <shortDescription>fr</shortDescription>
         <description>French (Canada, Apple)</description>
    </configItem>
</variant>

Finalement on peut configurer nouvelle disposition qu'on ajoute dans le fichier ca du dossier /usr/share/X11/xkb/symbols (ligne 124 environ, au dessus de fr-legacy):

partial
xkb_symbols "fr-apple-ab" { name[Group1] = "French (Canada, Apple)";
  key <TLDE> {[ ugrave, bar, backslash ]};
  key <AE01> {[ 1, exclam, plusminus ]};
  key <AE02> {[ 2, quotedbl, at ]};
  key <AE03> {[ 3, slash, sterling ]};
  key <AE04> {[ 4, dollar, cent ]};
  key <AE05> {[ 5, percent, currency ]};
  key <AE06> {[ 6, question, notsign ]};
  key <AE07> {[ 7, ampersand, brokenbar ]};
  key <AE08> {[ 8, asterisk, twosuperior ]};
  key <AE09> {[ 9, parenleft, threesuperior ]};
  key <AE10> {[ 0, parenright, onequarter ]};
  key <AE11> {[ minus, underscore, onehalf ]};
  key <AE12> {[ equal, plus, threequarters ]};
  key <AD01> {[ q, Q ]};
  key <AD02> {[ w, W ]};
  key <AD03> {[ e, E, EuroSign ]};
  key <AD04> {[ r, R ]};
  key <AD05> {[ t, T ]};
  key <AD06> {[ y, Y, yen ]};
  key <AD07> {[ u, U ]};
  key <AD08> {[ i, I ]};
  key <AD09> {[ o, O, section ]};
  key <AD10> {[ p, P, paragraph ]};
  key <AD11> {[dead_circumflex, dead_circumflex, bracketleft ]};
  key <AD12> {[ ccedilla, Ccedilla, bracketright ]};
  key <AC01> {[ a, A ]};
  key <AC02> {[ s, S ]};
  key <AC03> {[ d, D ]};
  key <AC04> {[ f, F ]};
  key <AC05> {[ g, G ]};
  key <AC06> {[ h, H ]};
  key <AC07> {[ j, J ]};
  key <AC08> {[ k, K ]};
  key <AC09> {[ l, L ]};
  key <AC10> {[ semicolon, colon, asciitilde ]};
  key <AC11> {[ egrave, dead_grave, braceleft ]};
  key <BKSL> {[ agrave, greater, braceright ]};
  key <LSGT> {[guillemotleft, guillemotright, degree]};
  key <AB01> {[ z, Z ]};
  key <AB02> {[ x, X ]};
  key <AB03> {[ c, C ]};
  key <AB04> {[ v, V ]};
  key <AB05> {[ b, B ]};
  key <AB06> {[ n, N ]};
  key <AB07> {[ m, M, mu ]};
  key <AB08> {[ comma, apostrophe, macron ]};
  key <AB09> {[ period, period, hyphen ]};
  key <AB10> {[ eacute, Eacute, dead_acute ]};
  key <SPCE> {[ space, space, nobreakspace ]};
 include "level3(ralt_switch)"};

À noter: j'utilise un clavier "US" anglais avec une disposition de touches en français "Canadian - CSA" sur mon Mac. Si vous utiliser un clavier français avec la grosse touche Entrez, il faut valider les codes des touches (une recherche sur Google keyboard labels xkb donnera des images de référence).

Comments