L’accentuation
L’association
Technique
Dernière mise à jour : 9 mars, 2024
Claviers : Le clavier français élargi (Galéron) Clavier azerty normalisé Clavier bépo Clavier québécois
         
Création de claviers : Sous Windows (via MSKLC) Version portable sous Windows (PKL)    

Portable Keyboard Layout pour Windows

Portable Keyboard Layout (PKL) est un logiciel libre pour Microsoft Windows développé par Máté Farkas et fondé sur plusieurs scripts AutoHotkey permettant de changer de disposition de clavier sans avoir à installer les pilotes Windows cités à la page Claviers. L’auteur recommande toutefois d’utiliser le pilote normal chaque fois que cela est possible.

Le logiciel fourni ici PKL-FrMu.ZIP s’appuyant sur PKL, est adapté à la disposition du clavier français Azerty ayant les caractéristiques analogues aux claviers Macintosh ou Linux (Capslock é =  É, et Shift é = 2). Le paquetage comprend :

Les fichiers de configuration (pkl.ini, PKL-FrMu.exe),
Les images de la disposition selon les touches de commande Maj., Alt Gr et les touches mortes retenues :
accent aigu, grave, circonflexe, tréma, tilde, barre, brève, brève renversée, caron, point en chef, point souscrit, monétaire, macron, macron souscrit, cédille, virgule souscrite, double accent aigu, double accent grave, rond en chef, grec monotonique, ogonek, africain pansahélien, cornu, crochet en chef.
Une macro codage.xls sous Microsoft Excel permettant, grâce à plusieurs fonctions :
- de convertir les caractères Unicode UTF‑8 interprétés en Latin‑1 vers le Latin‑1 et inversement ;
- de convertir les valeurs Unicode de la base hexadécimale vers la base décimale et inversement ;
- de renvoyer le caractère Unicode à partir d’un nombre en base hexadécimale, et de renvoyer le numéro du caractère Unicode.

Avantages

Contrairement aux pilotes pour Windows :
  • il est utilisable sans droits d’administrateur ;
  • une modification de la disposition se fait simplement à partir d’un fichier texte qu’il n’est pas nécessaire de compiler ;
  • il peut contenir plusieurs dispositions de clavier différentes ;
  • les touches modificatrices (Alt, Alt Gr, Ctrl, Maj.) ainsi que les touches de fonctions (Entrée, Suppr., Tab, Retour arrière) peuvent être déplacées, voire désactivées ;
  • il permet de définir une touche morte avec des fonctions étendues ;
  • il est possible d’enchaîner les touches mortes, par exemple [˘]+[¸]+[e] équivaut à [¸]+[˘]+[e] et donne [] ;
  • il est possible d’afficher des images de la disposition facilitant son apprentissage.

Utilisation

Le logiciel est fourni sous la forme d’un fichier ZIP à décompresser à l’endroit que l’on souhaite : répertoire personnel ou clef USB par exemple. Si on veut le clavier activé dès l’affichage de la fenêtre Windows (mais pas à l’ouverture d’une session), on peut mettre un raccourci de l’exécutable dans le dossier Démarrage des programmes : clic droit sur PKL-FrMu.exe, Copier, puis clic droit sur le bouton Démarrer, puis Exécuter. Taper la commande shell:startup. Puis clic droit Coller le raccourci. Renommer au besoin le raccourci.

Le répertoire contient des images de la disposition, des fichiers de configuration et de traduction du logiciel :

  • pkl.ini : configuration du logiciel ;
  • layout.ini : définition de la disposition ;
  • PKL-FrMu.exe : le logiciel exécutable proprement dit.

Une fois lancée, l’icône de l’application apparaît dans la zone de notification de la barre des tâches. La disposition peut être désactivée par un clic gauche sur l’icône, par le menu ou par Alt Gr+Alt.
Un clic droit sur l’icône fait apparaître un menu permettant de changer ou de suspendre de disposition, d’afficher la disposition. L’affichage des images de la disposition au centre inférieur ou supérieur de l’écran facilite l’apprentissage lors de la saisie. Passer à la disposition suivante si elle existe, se fait par un double clic sur l’icône, ou en passant par le menu, ou encore par Alt+Ctrl gauche.
La méthode de saisie des caractères accentués peut être modifiée avec Windows+F12.

Configuration

Le fichier pkl.ini contient les options utilisées par le logiciel :

layout = fr-ggmu:Français multilingue,bépo:bépo,prolemak_hu:Hungarian Prolemak
Contient la liste des dispositions stockées dans le répertoire /layouts/.

changeLayoutHotkey = LAlt & LCtrl
Raccourci pour changer de disposition.

language = French_Standard
Peut être mis à auto, ou n’importe quel fichier de traduction (.ini) présent dans le répertoire /languages/.

displayHelpImage = yes
La valeur peut être : yes, true, 1 pour activer l’affichage des images de la disposition au lancement de l’exécutable.

suspend = RAlt & LAlt
Raccourci pour désactiver la disposition.

compactMode = 0
Si on ne veut garder qu’une seule disposition, on peut mettre compactMode = 1 et placer tous les fichiers dans le même répertoire (là où se situe l’exécutable PKL-FrMu.exe).

altGrEqualsAltCtrl = 1
Si on souhaite que Alt+Ctrl gauche se comporte comme Alt Gr. Le désactiver peut être utile pour certains raccourcis applicatifs sachant faire la distinction entre les Ctrl et Alt gauche et droit.

changeNonASCIIMode = #F12
Raccourci (Windows+F12) pour changer la méthode de saisie des caractères accentués à l’aide du fichier nonASCII.ini selon 3 modes : i, a, c :

i : avec un message SendInput
a : avec Alt+chiffres à partir du pavé numérique
c : copie un caractère vers le presse-papier et le colle.

suspendTimeOut = 0
exitTimeOut=0

Permet de mettre un minuteur qui désactive le logiciel automatiquement après une certaine période, au cas où on l’utilise sur un ordinateur public (bibliothèque, école, client…).

Personnalisation de layout.ini

Le fonctionnement du fichier layout.ini est décrit dans le fichier sample.ini.

/prolemak_hu/ est enregistré au format UTF-8. Si la section [layout] est exploitable directement avec les caractères des touches entrés en clair, la section [informations] renverra des caractères UTF-8 interprétés en Latin-1, donc illisibles en particulier dans la fenêtre de l’À propos. Ainsi on lit FARKAS Máté au lieu de FARKAS Máté.

Au contraire, les fichiers français et bépo sont des fichiers texte enregistrés au format ANSI. Si seule la section [informations] est tapée directement en Latin-1,  la section [layout] a l’inconvénient d’avoir les caractères codés en UTF-8 et interprétés en Latin-1, et il en est de même pour les commentaires pour les sections [deadkey#]. Dans les sections [deadkey#] les caractères à transformer et ceux transformés sont présentés selon les valeurs Unicode, mais en base décimale, alors que les données sont normalement fournies en base hexadécimale par le consortium Unicode.

Il existe bien ConfigGenerator, un ensemble de scripts en python et perl permettant de créer des pilotes, les fichiers de configuration, et les images des dispositions. Mais il faut d’abord installer Cygwin avec les paquets make, perl, libiconv2. Puis configurer CPAN et installer les modules perl. On ne peut que déplorer l’absence d’explications.

La macro codage.xls sous Microsoft Excel permet de coder ou de décoder les caractères un à un, ou par groupe à l’aide des fonctions suivantes ou des combinaisons de ces fonctions :  ucar(x), ucod(x), basex(x;16;10), trad(x), conv(x).

ucar renvoie le caractère Unicode à partir d’un nombre en base hexadécimale : ucar("20AC") = €
ucod renvoie le numéro de code du caractère Unicode, en base hexadécimale : ucod("€") = 20AC
trad traduit les caractères Latin-1 vers les caractères UTF-8 interprétés en Latin-1 : trad("Hélène et François") = Hélène et François
conv traduit les caractères UTF-8 interprétés en Latin-1 vers le Latin-1 : conv("Hélène et François") = Hélène et François
basex("20AC";16;10) convertit le nombre 20AC depuis la base de départ (16) vers la base d’arrivée (10), soit 8364. On peut aussi utiliser la fonction intégrée CHBASE et les lettres doivent être en majuscules dans les deux fonctions.

Exemple pour la touche è7 :

[layout]
SC008 = 7    8    è    7    --    dk4    ¯    È    7    ;

Chaque entrée comprend :

- la valeur de la touche virtuelle
- un attribut
- des valeurs Unicode ou spéciales

Le point-virgule [;] permet des commentaires.

Pour des explications détaillées sur ces notions, voir la page Création d’un clavier Windows personnalisé

SC008 scan code de la touche.
7 valeur de la touche virtuelle
8 état du Capslock :
Si on a 1, Capslock = Shift. Capslock + [è] = Shift + [è] = 7. C’est le comportement habituel du clavier français.
Si on a 5, Capslock + Alt Gr = Alt Gr + Shift. Capslock + Alt Gr + [a] = Shift + Alt Gr + [a] = Æ
Si on a 8, Capslock +[è] = È et Shift + [è] = 7 (C’est le comportement SGCAPS)
Si on a 0, Capslock est sans effet. Capslock + [!] = ! et Shift + [!] = §
è codage de [è] en UTF‑8 interprété en Latin‑1, mode normal de la touche.
7 valeur de la touche en mode Shift
-- valeur de la touche en mode Ctrl. -- signifie que la touche ne produit rien
dk4 touche morte de l’accent grave en mode Alt Gr.
¯ valeur Unicode (UTF-8 interprété en Latin-1) de la touche en mode Alt Gr+Shift, correspondant à ¯
È valeur Unicode (UTF-8 interprété en Latin-1) de la touche en mode Capslock, correspondant à È
7 valeur Unicode (UTF-8 interprété en Latin-1) de la touche en mode Capslock+Shift

Exemple : l’accent aigu [´] suivi du caractère [ü], donne le caractère [ǘ] :

[deadkey1];accent aigu
252 = 472    ; ü -> ǘ

À gauche du point-virgule, les valeurs Unicode en base décimale du caractère d’origine et du caractère transformé. (le signe = n’est pas égal évidemment).
À droite du point-virgule et donc en commentaire, les caractères codés en UTF‑8 interprétées en Latin‑1, ce qui correspond à ü -> ǘ

Les données du fichier layout.ini peuvent être vérifiées en ouvrant Microsoft Word. Une fenêtre Conversion de fichier apparaît. Choisir dans la liste déroulante Autre codage : Unicode (UTF‑8). Les sections [layout] et [deadkey#] sont converties en caractères Latin-1, mais la section [information] perd ses caractères avec diacritiques.

Remarque : Le séparateur décimal sur le pavé numérique, est ici la virgule. Pour avoir un point il suffit de remplacer la virgule par un point dans la ligne :

SC053 = DECIMAL    0    ,    ,    --    --    --    --    ;

Touche extend

Il est possible d’utiliser une touche ayant des fonctions étendues. Elle permet essentiellement d’avoir les pavés de touches auxiliaires (entrée, retour arrière, suppr., touches de déplacement et directionnelles) sous les doigts depuis une touche morte prédéfinie – une sorte de touche Fn. Son comportement est défini dans le fichier pkl.ini sous la section [extend] directement à partir des scan codes des touches. Par exemple :

[extend]

SC030 = Enter
SC031 = BackSpace

Une image extend.png décrivant le comportement de cette touche est fournie avec la disposition. Pour fonctionner, la ligne extend_key = dans la section [global] du fichier layout.ini doit être configurée (le [;] met la ligne en commentaire). Il faut penser à désactiver le comportement normal de la touche dans la section [layout]. Par exemple, si on veut utiliser la touche Capslock, le fichier layout.ini doit contenir :

[global]
extend_key = Capslock

[layout]
Capslock = disabled

Images

Il existe également une façon de créer des images des dispositions à partir du navigateur Firefox avec des modules Pearl Crescent Page Saver ou Screengrab!. Là aussi, les explications restent insuffisantes.
Les images des dispositions et les icônes On et Off peuvent être modifiées directement à l’aide d’un logiciel de dessin, par exemple : Gimp.

Pour associer une icône personnalisée à l’exécutable PKL-FrMu.exe, on peut partir des sources pkl.ahk, disponibles sur : SourceForge

Installer Autohotkey.exe, lancer Convert .ahk to .exe. Choisir Script file (pkl.ahk), Destination file (PKL-FrMu.exe), Custom Icon (.ico file).

Références

  1. Autohotkey.com – Fil de discussion sur Portable Keyboard Layout
  2. Site de Portable Keyboard Layout
  3. Dépôt svn de Portable Keyboard Layout sur SourceForge
  4. Les sources de PKL sur SourceForge