Pour de nombreuses applications utilisant uniquement un écran tactile, il faut prévoir l’utilisation d’un clavier virtuel.
C’est un clavier comme celui qui apparait sur votre smartphone. Pas de vraies touches mais une zone sur l’écran qui joue ce rôle. Jean-Jacques a été confronté à ce problème et a découvert Matchbox, souvent utilisé comme clavier virtuel dans le monde Linux.
MatchBox, clavier virtuel QWERTY pour Raspbian
Une mise à jour de Raspbian, pour commencer
Tout commence par une mise à jour de votre système. Si vous avez l’habitude de lire ce blog, vous devez désormais le savoir
sudo apt-get update sudo apt-get upgrade
Si vous jetez un coup d’œil dans le menu de Raspbian, rubrique Accessoires, vous ne verrez pas le clavier apparaître.
Installation de MarchBox
On va maintenant passer à l’installation de MatchBox . Ouvrez un terminal et saisissez :
sudo apt-get install matchbox
pi@raspberrypi:~ $ sudo apt-get install matchbox Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : libfakekey0 libmatchbox1 libxsettings-client0 matchbox-common matchbox-desktop matchbox-keyboard matchbox-keyboard-im matchbox-panel matchbox-panel-manager matchbox-window-manager Paquets suggérés : ttf-dejavu Les NOUVEAUX paquets suivants seront installés : libfakekey0 libmatchbox1 libxsettings-client0 matchbox matchbox-common matchbox-desktop matchbox-keyboard matchbox-keyboard-im matchbox-panel matchbox-panel-manager matchbox-window-manager 0 mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 346 ko dans les archives. Après cette opération, 985 ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n]
Répondez Voui, et l’installation continue. c’est plutôt rapide…
Le clavier virtuel
Allez, retournez ouvrir le menu principal de Raspbian et allez dans Accessoires :
Cette fois le clavier est bien présent. Puisqu’on en est là, cliquez sur l’icône du clavier. celui-ci s’ouvre.
Gasp ! Mais… il est en QWERTY ce clavier. Oui… et c’est pas tout :
Essayez d’ouvrir le Gestionnaire de Fichiers ..
J’attends…
Vous êtes certain d’avoir bien cliqué dessus ?
Recommencez voir…
Euh… Mais que se passe-t-il ? Essayez voir d’ouvrir un terminal…
Ah tiens, il s’ouvre
Avant d’aller plus loin, essayez de trouver ce qui se passe. La réponse est sous vos yeux, sur l’écran. De mon côté je continue… je vous donne la solution plus loin. Bin oui quoi cherchez un peu quand même
Franciser le clavier
Quand on a l’habitude d’utiliser un clavier QWERTY, on n’y fait même plus attention, à part pour quelques caractères spéciaux qu’il faut chercher un peu.
L’idée c’est de franciser le clavier et de le transformer en AZERTY. La description du clavier est contenue dans un fichier xml. Jean-Jacques a modifié ce fichier pour qu’il corresponde à nos habitudes. Certaine touches, ont du rester à la même place que sur la config de départ comme « Alt Gr » , en bas à gauche du clavier, juste à coté de la touche « Ctrl« , et la touche « * » également, elle est située à coté de la touche « $« .
Ce clavier affiche soit les caractères minuscules (mode normal), soit les caractères majuscules (appui sur la touche « Shift » pour un seul caractère ou sur « Caps Lock » pour rester en majuscules jusqu’à nouvel appui) soit les caractères spéciaux (appuis sur la touche « AltGr« ). Ces touches se déverrouillent par un nouvel appui.
Le clavier modifié est disponible en cliquant sur ce lien. Le fichier est au format .zip il faudra le dézipper pour l’utiliser.
Avant de faire quelque modification que ce soit, faites une sauvegarde du fichier keyboard.xml d’origine. En cas de problème, ce fichier vous permettra de revenir à la situation de départ. C’est d’ailleurs une bonne habitude à prendre
Dans mon cas le fichier keyboard.xml a été téléchargé puis dézippé sur le Bureau de Raspbian. Vous adapterez les commandes à votre propre cas. Ce fichier est à insérer dans le répertoire /usr/share/matchbox-keyboard.
Dans cet exemple, j’ai renommé le fichier d’origine en keyboard.xml.org, puis j’ai copié le fichier keyboard.xml depuis le bureau vers le dossier /usr/share/matchbox-keyboard. La dernière ligne matchbox-keyboard lance le clavier virtuel depuis le terminal.
pi@raspberrypi:~ $ cd Desktop pi@raspberrypi:~/Desktop $ ls keyboard.xml pi@raspberrypi:~/Desktop $ sudo mv /usr/share/matchbox-keyboard/keyboard.xml /usr/share/matchbox-keyboard/keyboard.xml.old pi@raspberrypi:~/Desktop $ sudo cp keyboard.xml /usr/share/matchbox-keyboard/keyboard.xml pi@raspberrypi:~/Desktop $ matchbox-keyboard
Matchbox : le clavier AZERTY
Voilà, vous disposez maintenant d’un clavier virtuel, bien pratique pour certaine applications utilisant un écran tactile, mais ne comportant ni clavier ni souris.
Pendant que la souris est encore connectée, faites un clic droit sur la barre en haut du clavier et configurez le pour qu’il reste au premier plan. C’est plus pratique
Lancement de Matchbox depuis le bureau
Vous pouvez mettre un lanceur sur le bureau, avec un écran tactile il suffira de taper sur l’icône pour démarrer le clavier virtuel. Cet article de ModMyPi explique la marche à suivre.
Oui, mais…
Tout ça c’est bien beau mais… il y a un mais
Regardez du côté de la charge CPU (si vous ne l’aviez pas vu plus haut, c’est là que ça se passe… Si vous l’aviez vu bravo ! vous êtes sur la bonne voie, vous avez gagné votre premier pingouin)
Eh oui dès qu’on démarre le clavier MatchBox, la charge CPU monte à 25%. Ça veut dire que le cœur du CPU qui gère pacmanfm et le clavier est à 100% de sa charge (bin oui, il y a 4 cœurs et un seul est utilisé).
Et lorsqu’on arrête le clavier en fermant sa fenêtre, la charge reste au maxi. Il y a donc une incompatibilité entre le gestionnaire de fenêtre pacmanfm et MatchBox
top permet de vérifier que pacmanfm occupe le CPU à 100%, regardez la vidéo ci-dessous…
Conclusion
J’ai pas mal hésité avant de publier cet article. D’un côté Jean-Jacques a fait un boulot intéressant et utile en azertifiant (ça existe ?) le clavier virtuel MatchBox, de l’autre ça m’embêtait de vous faire installer un logiciel qui pose problème avec le bureau de Raspbian…
Et puis je me suis dit que ça pouvait être un bon exemple pour montrer que parfois ce qu’on pense être une solution à un problème va en entraîner un autre, un peu plus loin.
Ici le Raspberry Pi n’est pas en cause. C’est bien une incompatibilité entre deux programmes qui provoque ce mauvais fonctionnement. Le bug est signalé depuis pas mal de temps (voir les sources ci-dessous) mais toujours pas corrigé.
La modification apportée au fichier keyboard.xml pourra vous inspirer pour d’autres modifications. Merci Jean-Jacques pour cette intéressante proposition d’adaptation de MatchBox.