More is less

lundi 5 fevrier 2018

Clavier azerty pour les developpeurs

Variante du clavier fr donnant un accēs simplifié des caractēres { } [ ] ~ ← → et à la saisie rapide des lettres grecques. En plus une variante simule un clavier numérique sous les touches 7 8 9.

Les modifications du clavier azerty sont rēsumēes ici :

Dans cette copie d'écran les indications dans chaque touche sont de bas en haut :

Ainsi les crochets s'obtiennent avec Altgr l et Altgr m et les accolades avec Altgr ) et Altgr =.

Échange entre ~ et ² pour permettre un accès direct au tilde qui est beaucoup plus souvent utilisé sous linux que ².

La touche α (shift * ou μ) devient une touche morte : Elle attend un caractère et le résultat sera la lettre grecque correspondante. Exemple pour obtenir le caractère λ il faut faire shift * l.

Par ailleurs une variante nommée numpad permet la saisie rapide des chiffres 0, 1, ..., 9 avec les touches : ,, j, k, l, u, i, o, è, _, ç, comme ci-dessous :

Le nouveau fichier de symboles frdev définissant ces modifications sera ajouté à /usr/share/X11/xkb/symbols. Il sera utilisé à la place du fichier fr fourni par xorg. L'intérêt d'en créer un nouveau au lieu de modifier fr, est d'éviter que les mises à jour du paquet xkeyboard-config ne viennent le surcharger.

Installation
	 <layout>
		<configItem>
			<name>frdev</name>
			<shortDescription>French dev</shortDescription>
			<description>French developper</description>
		</configItem>
		<variantList>
			<variant>
				<configItem>
				<name>basic</name>
				<description>French (dev)</description>
				</configItem>
			</variant>
			<variant>
				<configItem>
				<name>numpad</name>
				<description>French developper numpad</description>
				</configItem>
			</variant>
		</variantList>
	</layout>
Remarque

Gardez une copie du fichier ainsi modifié, parce que les mises à jour du paquet vont aussi le surcharger.

Configuration

Une fois l'installation réalisée comme ci-dessus, il faut redémarrer X et configurer le clavier.

On peut le faire dans l'outil paramètre clavier disposition du gestionnaire de paramètres de votre distribution en selectionnant les dispositions azerty et numpad qui apparaîtront dans la rubrique French developper. Il faut aussi choisir le raccourci pour basculer entre les deux variantes, par exemple shift_caps.

On peut aussi faire la configuration à la volée :

$ setxkbmap -layout frdev,frdev -variant ,numpad -option grp:shift_caps_toggle
Mystère

J'ai créé le fichier 00-keyboard.conf dans /etc/X11/xorg-conf.d/ :

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "frdev,frdev"
    Option "XkbVariant" ",numpad"
    Option "XkbOptions" "grp:shift_caps_toggle,compose:sclk,grp_led:num"
EndSection

Il devrait configurer ma disposition de clavier avec ses deux variantes au démarrage de X. Ça ne marche pas !

Alors que la manipulation avec setxkbmap réussit bien. L'équivalent avec localectl marche aussi. On dirait que le gestionnaire de clavier de xfce reprend la main au démarrage.

Indicateur

Si comme moi vous n'avez pas de led physique pour numpad, il y a moyen d'utiliser le sys-tray du panel pour afficher un indicateur des leds.

1. Installer une application qui affiche l'état des leds. Dans mon cas, dans xfce4, j'ai trouvé xfce4-kbdleds-plugin. Il doit y avoir l'équivalent pour Gnome etc.

2. Ajouter à 00-keyboard.conf l'option grp_led:num comme ci-dessus. Ça au moins ça marche. Peut-être parce que le gestionnaire du clavier ne prend pas en compte cette fonctionnalité.


Réalisé avec Qlam - LGPL