- CapsLock | touche de verrouillage des majuscules |
- Inser | touche de bascule du mode Insertion |
- VerrNum | touche de bascule du clavier numérique |
- WIN (ou Start) | touche Microsoft entre Ctrl et Alt |
- Le bouton de mise en veille |
- Le caractère @ normalement obtenu avec AltGr+à que certains trouvent difficile à effectuer |
- Les majuscules accentuées : À È É Ê Ô Ù ou diacritiques : Ç |
- Les caractères particuliers de la langue française : æ œ et leurs majuscules |
Le réagencement du clavier intéressera sans doute les personnes concernées par des problèmes d'accessibilité. La souplesse d'AutoHotkey permet des adaptations poussées. Avant d'aller plus loin il faut rappeler les possibilités de Windows dans ce domaine. En appuyant cinq fois de suite sur une des touches MAJ vous aurez déjà un aperçu. Voici quelques liens :
Cet article
propose des modifications du Registre. Prenez les
précautions nécessaires.
Les modifications de Layout peuvent interférer avec les raccourcis-clavier.
Les scripts AutoHotkey pourraient ne pas toujours convenir selon
l'environnement ou les jeux utilisés.
Certains claviers n'ont pas la touche Windows, à gauche, entre les touches Ctrl et Alt. Cette touche "WIN" sert principalement à ouvrir le Menu Démarrer. Elle est encore plus utile utilisée en combinaison avec d'autres touches (Exemples : WIN+D, WIN+R, WIN+E, WIN+F, WIN+F1). On peut contourner l'absence de la touche WIN pour ouvrir le Menu Démarrer avec CTL+Échap. Nous allons voir plus bas s'il y a moyen de modifier une touche peu utilisée ou en double pour lui donner le rôle d'une touche WIN.
Le raccourci le plus connu est sans doute CTL+ALT+Suppr qui ouvre
le Gestionnaire des Tâches. Il ne fonctionne pas dans le Clavier Visuel (clavier
pour souris que l'on obtient par la commande OSK ou le raccourci WIN+u). C'est
contournable avec le raccourci CTL+MAJ+Échap qui double CTL+ALT+Suppr.
CTL+MAJ+Échap est également utile dans les
machines virtuelles,
car CTL+ALT+Suppr concernera la machine hôte.
Les raccourcis sont listés dans Aide
et Support : taper "raccourcis clavier" dans la ligne de recherche.
Ou passer par une commande, dont on pourra faire un raccourci :
Démarrer>Exécuter>HH %windir%\help\keyshort.chm
Une bonne partie de la population sera intéressée par les Raccourcis-claviers pour les gauchers.
Faire attention à certains raccourcis clavier pour l'accessibilité, et surtout au raccourci de changement de clavier, qui surprennent l'utilisateur quand il ne les connait pas. Exemples :
Appuyer 5 fois sur la touche
MAJ (Majuscule)
provoque un bip et l'affichage d'un message sur les
Touches rémanentes (accessibilité).
Lire attentivement, et choisir la bonne réponse. Ou fermer le message.
Pour désactiver ce raccourci aller dans Options d'accessibilité, onglet
Clavier. Cliquer sur le bouton Paramètres dans Touches rémanentes.
Décocher "Utiliser le raccourci".
Appuyer 5 secondes sur la
touche Verr Num de verrouillage du clavier numérique
Ce raccourci active les touches bascules de l'Accessibilité. Un bip et
un message averti l'utilisateur. Cliquer Annuler pour sortir.
Appuyer 8 secondes sur la
touche MAJ de droite
Il est aussi possible de se faire
surprendre à rester appuyé 8 secondes sur la
touche MAJ de droite, ce raccourci active les Touches Filtres.
Les autres
raccourcis
de l'accessibilité sont plus difficiles à actionner par mégarde
comparés à ceux qu'on vient de voir.
Tous ces raccourcis sont désactivables ou paramétrables via les Options
d'Accessibilité.
ALT+MAJ change le clavier
AZERTY en clavier QWERTY
Cette disposition ennuie beaucoup de gens (FAQ1,
FAQ2,
Paramètres de touches en image) qui ignorent que
le clavier US est installé par défaut en même temps que le clavier
français lors de l'installation de Windows. Si la Barre de langues est
installée dans la Barre des Tâches, on voit
FR quand le clavier
français est actif. On a
EN quand c'est
le clavier US avec une disposition des touches QWERTY (EN=English). Pour
ne plus risquer ce changement de clavier, activer le clavier français et
afficher les paramètres de la barre de langues pour supprimer le clavier
US. Lors de l'installation de Windows ne pas ignorer le passage "Options
régionales et linguistiques". C'est juste avant de choisir le nom de
l'ordinateur et de rentrer la clé du produit, environ 33
minutes avant la fin de l'install. Voir ce
déroulement d'une
installation de Windows tout en images.
Si toutefois on a besoin du clavier US ou d'une autre langue d'entrée,
il est possible de désactiver le raccourci-clavier MAJ+ALT.
Dans "Options régionales et linguistiques", aller à l'onglet Langues et
cliquer sur Détails. Arrivé dans "Services de texte et langues
d'entrée", appuyer sur "Paramètres de touches". Une fois ouverte la
boîte "Paramètres de touches avancés", cliquer "Modifier la combinaison
de touches". Décocher pour désactiver le raccourci. Le changement de
clavier se fera via l'icone de la Barre de langues affichée à droite de
la Barres des Tâches.
Quelques infos plus techniques sur les raccourcis-clavier dans cet article.
Une façon très connue d'obtenir des caractères spéciaux est d'utiliser le clavier numérique en combinaison avec la touche ALT. Maintenir enfoncée la touche ALT tout en tapant les quatre chiffres du code du caractère voulu. Au relâchement de la touche ALT, le caractère apparaît. Cela ne fonctionne qu'avec les chiffres du clavier numérique. La liste des codes est disponible sur de très nombreux sites, ici et là.. Voici les plus utiles :
ALT 0156 ALT 0160 ALT 0169 ALT 0174 ALT 0177 ALT 0192 ALT 0199 ALT 0200 ALT 0201 ALT 0202 ALT 0203 ALT 0217 ALT 0230 |
œ espace insécable © ® ± À Ç È É Ê Ë Ù æ |
|
On vient de voir que la
Touche Morte permettant de produire l'accent
aigu est absente du clavier
azerty. Les claviers des antiques machines à écrire faisaient
l'économie de l'accentuation des majuscules. La norme
ASCII a offert 128 codes
(numérotés de 0 à 127), auxquels il faut retirer 33 caractères de contrôle. Si
on ajoute que le code 127 est utilisé par la touche Suppr, il ne restait donc
que 94 codes. L'accent aigu n'a pas été retenu, et c'est le tilde espagnol (~),
à la droite du caractère é, qui a été conservé.
Si le code de l'accent aigu existe bien (ALT+0180
==> ´ ), il est impossible de le produire comme le ferait une touche morte, à
savoir l'accent suivi de la voyelle à accentuer. On peut cependant imiter
ce comportement par programmation :
L'éditeur de texte Word utilise le
raccourci-clavier CTL + apostrophe pour produire l'accent aigu comme le
ferait une touche morte, le programme attendant la frappe suivante pour afficher
le résultat.
On pourra également utiliser la Table des caractères disponibles dans Accessoires>Outils système (Charmap.exe). Cet outil très complet donne en bas à droite le code du caractère voulu. Pour œ ce sera ALT+0156 :
Remarque : On lit en bas à gauche "U+0153 DIGRAMME SOUDÉ
MINUSCULE LATIN OE".
Ce 0153 est le rang Unicode du caractère exprimé en hexadécimal et n'a rien à
voir avec le 0156 affiché à droite (image).
Après ces rappels, passons au véritable sujet : les méthodes de réagencement du clavier.
HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout//Scancode Map
La variable Scancode Map permet de remapper (redessiner) le clavier
en redirigeant les touches.
L'édition du Registre est possible avec la commande Regedit
(Exécuter>regedit).
Toute modification étant enregistrée immédiatement, le Registre est à
manipuler avec prudence <== à lire avant
Le principe est de remplacer le code
correspondant à une touche par un autre code.
Attention, c'est la touche qui est modifiée, on ne peut pas par cette méthode
modifier un seul des caractères d'une touche.
Cela limite l'intérêt de la méthode, qui permettra cependant quelques
modifications utiles.
Le contenu de la variable binaire est une série de chiffres hexadécimaux
disposés comme expliqué dans
cette archive :
Scan Code
Mapper for Windows.
Comment trouver les codes des touches ?
Cette image, tirée de l'aide de
MSKLC, montre le code hexadécimal correspondant à
chaque touche, pour deux types de clavier :
En France on utilise le second type. Les touches Windows ne sont pas représentées, et les codes des touches brunes ne sont pas affichés parce que MSKLC ne les traite pas. Plus d'infos : Archive : Key Support for Microsoft Windows Operating Systems and Applications
Le logiciel SharpKeys présenté plus loin permet d'afficher très simplement le code d'une touche appuyée, ainsi que le caractère correspondant (pour les claviers QWERTY). Le caractère affiché sera donc souvent erroné pour nos claviers AZERTY; ce n'est pas grave, c'est le code qui est important. Avec ces dernières aides, nous auront à disposition tous les codes qui manquent sur l'image ci-dessus, même ceux des touches spéciales des claviers récents.
Une fois la variable Scancode Map mise au point, il faut faire prendre en compte la modification de l'agencement du clavier par le système, et pour cela il est nécessaire de redémarrer la session pour que le clavier soit modifié, redémarrer Explorer.exe ne suffit pas. Il suffit de supprimer la variable ou de la renommer pour retrouver le clavier normal après redémarrage de la session.
Noter que ces modifications intéressent tous les utilisateurs et sont actives au moment d'entrer le mot de passe pour ouvrir la session.
Passons à la pratique. On trouve sur la toile des fichiers REG permettant de modifier facilement la variable Scancode Map en fusionnant le fichier REG au Registre. Pour fusionner un fichier "Inscription dans le Registre" (un fichier avec l'extension reg), il suffit de cliquer dessus. Il est souvent demandé de désactiver la ou les touches WIN et la touche CapsLock (verrouillage des majuscules). Cet article propose des solutions, avec en particulier un fichier reg pour revenir à la normale en enlevant la variable ScanCodemap.
Voici des exemples détaillés pour apprendre à modifier une ou plusieurs touches :
Désactivation des touches WIN
Examinons un tip très répandu consistant à Désactiver les
deux touches Windows :
Scancode Map = 00 00 00 00 00 00 00 00
03 00 00 00 00 00 5B E0
00 00 5C E0 00 00
00 00
Les explications qui suivent peuvent paraître compliquées, mais les
choses sont bien plus simples qu'il n'y paraît. Il suffit de faire du
copier-coller, de fusionner le fichier REG quand celui-ci est proposé au
téléchargement (ce n'est pas le cas ici), ou d'utiliser le logiciel
SharpKeys présenté plus loin.
Les codes se lisent par mots de la droite vers la gauche : d'abord le mot E0, puis le mot 5B, donc un nombre hexadécimal égal à 0xE05B (Conventions typographiques pour les nombres hexadécimaux). La raison en est que dans le Registre on utilise le format Little Endian, appelé à présent Endianness. On appréciera je pense l'amusant néologisme qu'est Petit-Boutiste.
En jaune : toujours à zéro selon le
Scan Code
Mapper for Windows.
En vert : le nombre de données à lire = 0x00000003 (le dernier groupe de
chiffres 00 00
00 00 fait partie du décompte, donc 3 données)
En rouge : le code 0xE05B (Touche WIN gauche) est remplacé par 0x0000
En bleu : le code 0xE05C (Touche WIN droite) est remplacé par 0x0000
Résultat, une fois modifiée la variable avec Regedit ou fusionné le fichier REG,
et après redémarrage de la session : les deux touches WIN à présent codées 0000
n'ont plus aucune action.
On pourra faire un fichier texte avec une extension REG ayant ce contenu :
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,5b,e0,00,00,5c,e0,00,00,00,00 |
Ce fichier pourra être fusionné au Registre en cliquant dessus, ou à l'aide de la
commande Regedit.
On obtient un fichier REG également en exportant une clé depuis Regedit (clic
droit sur la Clé>Exporter).
Il convient d'éditer ensuite le fichier obtenu pour ne conserver que la partie
utile.
Voici le résultat tel qu'il est affiché par Regedit, l'éditeur du Registre :
La Modification dans Regedit n'est pas pratique :![]() Il vaut mieux travailler avec un fichier REG. Dans les exemples suivants, il suffira de copier la ligne "Scancode Map" pour modifier le REG. |
|
Pour les mordus, voici un
exemple
d'utilisation de
regini du
Ressource Kit Tools qui fait la même chose.
Continuons avec d'autres touches pour bien comprendre le mécanisme de Scancode Map :
Désactivation de la touche Entrée du clavier numérique
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,1C,E0,00,00,00,00
En vert : le nombre de données à lire = 02
En rouge : le code de la touche 0xE01C (Entrée Numérique) est remplacé par
0x0000
Résultat après redémarrage de la session : la touche Entrée du clavier numérique
n'a plus aucune action.
Désactivation des deux touches Entrée
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,1C,E0,00,00,1C,00,00,00,00,00
En vert : le nombre de données à lire = 03
En rouge : le code de la touche 0xE01C (Entrée du clavier numérique) est remplacé par
0x0000
En bleu : le code de la touche 0x003A (Entrée du clavier
normal) est remplacé par 0x0000
Résultat après redémarrage de la session : les touches Entrée restent sans aucun
effet.
Désactivation de la touche CapsLock de verrouillage des Majuscules
Nous sommes nombreux à nous faire piéger par cette touche et à nous retrouver
avec un texte tout en majuscules parce que nous ne savons pas taper comme une
dactylo et que nous regardons le clavier au lieu de l'écran. Comme il est plus
courant de taper en minuscules qu'en majuscules, l'idée de désactiver cette
touche est assez répandue.
Voici la ligne de la variable au format export de Regedit, recopiable
directement dans le fichier reg :
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,2A,00,3A,00,00,00,00,00
En vert : le nombre de données à lire = 02
En rouge : le code de la touche 0x003A (CapsLock) est remplacé par le code de la
touche 0x002A (MAJ)
Résultat après redémarrage de la session : CapsLock ne se verrouille plus et se
comporte comme une touche MAJ.
Le fichier reg correspondant à cette manip est téléchargeable
ici.
Remarque : on préfèrera sans doute utiliser une méthode logicielle (voir la section Remapping logiciel) afin de retrouver à volonté le fonctionnement normal de cette touche.
Astuce : la méthode de déverrouillage des majuscules est modifiable, c'est bon à savoir. Si le Bouton "Paramètres de touches" est grisé c'est qu'il n'y a qu'une seule langue. Ajouter temporairement une langue pour effectuer la manip.
Remplacement de la touche Ctrl droite par la touche Windows
Peu utilisée, la touche Ctrl droite peut devenir une touche Windows, utile
pour les claviers qui en sont dépourvus, ou sur certains portables.
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,5B,E0,1D,E0,00,00,00,00
Le code 0xE01D (Ctrl droit) est remplacé par le code 0xE05B qui est le code de
la touche WIN déjà vu plus haut.
Résultat après redémarrage de la session : La touche Ctrl de droite se comporte
comme une touche WIN, et les raccourcis WIN+X fonctionnent.
Correction d'une erreur d'ergonomie : la "F-Lock Key" des claviers
Microsoft
Lorsque j'ai utilisé un clavier
Microsoft Wireless Desktop Elite Keyboard j'ai eu la désagréable surprise de
constater que les touches de fonction étaient modifiées. Ceci était dû au choix
du constructeur d'activer par défaut les nouveautés. Les fonctions standards F1 à F12 ont été curieusement déplacées, la
sérigraphie les fait apparaître sur les faces avant des touches
de fonctions. Les fonctions standards sont de ce fait
devenues secondaires. Une touche-bascule nommée F-Lock placée loin sur la
droite permettait de rétablir le fonctionnement habituel. La touche F2
dont je me sers en permanence pour renomme les fichiers était devenue Annuler.
Au bout de quelques jours de désagréments, constatant que rien n'était prévu
dans le Pilote pour choisir l'état de cette bascule au démarrage, j'ai cherché
une solution et l'ai trouvée chez deux MVP :
Kelly Theriot (ligne
129) et Jason Tsang. C'était ma
première rencontre avec la variable Scancode Map. Pour corriger le problème,
voici la valeur qu'il a fallu lui attribuer :
"Scancode Map"=hex:00,00,00,00,00,00,00,00,19,00,00,00,3b,00,3b,e0,3c,00,08,e0,\
3d,00,07,e0,3e,00,3e,e0,3f,00,3f,e0,40,00,40,e0,41,00,41,e0,42,00,42,e0,43,\
00,43,e0,44,00,23,e0,57,00,57,e0,58,00,58,e0,3b,e0,3b,00,08,e0,3c,00,07,e0,\
3d,00,3e,e0,3e,00,3f,e0,3f,00,40,e0,40,00,41,e0,41,00,42,e0,42,00,43,e0,43,\
00,23,e0,44,00,57,e0,57,00,58,e0,58,00,00,00,00,00
En vert : le nombre de données à lire = 0x00000019
(hexadécimal) soit 25 en
décimal (12 touches doubles, soit 24 modifications, nombre à augmenter de 1 pour
la lecture du dernier groupe 00,00,00,00
comme vu au début).
En rouge : le code de la touche 0xE008 (F-Lock Undo) est remplacé par le code
0x003C (Fonction F2). Les autres touches de fonction sont ainsi également
modifiées, je ne détaille pas davantage. Comme on le voit, contrairement à ce qu'on
aurait pu croire, ce n'est pas la touche F-Lock qu'il fallait modifier
pour corriger l'ergonomie, mais
toutes les touches dont elle change l'état.
Remarque sur la présentation du contenu de la variable dans le fichier
REG
Comme on le constate dans l'exemple, on utilise l'antislash (\) pour
passer à la ligne. Le système le fait de lui-même lorsqu'on exporte
une clé. Pour améliorer la lisibilité du contenu de la variable Scancode Map
il est possible d'utiliser cette technique pour avoir une présentation
claire des groupes de chiffres en insérant des commentaires (ex).
Voici un autre exemple développé à l'occasion du détournement des touches
Power, Sleep, et Wake Up dont sont équipés certains claviers :
On pourra alors modifier la valeur ScanCode Map directement ou rédiger le fichier reg suivant :
Windows
Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,\
00,00,00,00,\
04,00,00,00,\
32,E0,5E,E0,\ ; E05E (Power) devient E032 (Web Home)
6C,E0,5F,E0,\ ; E05F (Sleep) devient E06C (E-Mail)
65,E0,63,E0,\ ; E063 (WakeUp) devient E065 (Web Search)
00,00,00,00
Télécharger et fusionner au Registre ce fichier reg, puis redémarrer Explorer ou
la session.
Le pilote du clavier qui avait les touches web étant toujours installé, les
touches Power, Sleep, et WakeUp permettent à présent d'utiliser les fonctions
Internet. Heureusement il n'est pas nécessaire d'avoir un tel pilote pour
utiliser ces touches à d'autres fins; une solution logicielle est présentée vers la fin de la section sur le
Remapping logiciel.
Remerciements à
Paul Voyer (site).
Comme on vient de le voir, SharpKeys rend très aisée l'édition
de la variable Scancode Map, et permet de modifier même les touches spéciales
des claviers à fonctions étendues :
Je cite ce logiciel du Resource Kit Tools pour mémoire, il n'a pas évolué
depuis la version 1.0 et reste limité.
Remapkey.exe
utilise le même principe que ci-dessus.
Il aide à sélectionner les touches à échanger et crée, ou modifie, la variable
Scancode Map. Remapkey fait partie du
Windows Server 2003 Resource Kit Tools dont le téléchargement est libre (12
Mo !).
Une fois l'installation terminée, Remapkey se trouve ici :
C:\Program Files\Windows Resource Kits\Tools\remapkey.exe
Il affiche un plan du clavier, on échange les touches du clavier à la souris.
Remapkey ne sait pas inactiver une touche et n'affiche pas les codes des
touches.
Un redémarrage de la session est demandé après l'écriture de la variable dans le
Registre.
Il ne traite pas les touches spéciales des claviers récents aux fonctions
étendues (web, multimédia).
Nous allons voir que SharpKeys apporte beaucoup plus d'informations, et permet
facilement de désactiver des touches.
SharpKeys de
Randy Rants est un excellent
outil pour modifier la variable Scancode Map.
Après installation, l'aide est ici : C:\Program Files\RandyRants.com\SharpKeys\faq.htm
Il affiche les noms et les codes des touches,
ce qui permet de reconnaître ensuite ce code dans la variable Scancode Map.
Le bouton Add affiche la liste des touches. Remarquer les codes des touches spéciales (voir F-Lock plus haut) des claviers récents, ainsi que la clé fictive "Turn Key Off" dont le code est 0000. On a vu qu'attribuer le code 0000 à une touche la rendait effectivement inactive :
Le bouton Type Key donne une aide supplémentaire pour identifier une
touche.
Ici on a appuyé sur la touche Majuscule gauche :
Type Key permet ainsi de s'adapter facilement au fait que la liste des
touches affiche les caractères du clavier QWERTY.
Remarque : SharpKeys affiche (E0_2038) pour la touche AltGr. Mais lorsqu'on
accepte cette touche en cliquant sur OK, un message annonce qu'il ne connaît pas
cette touche.
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,E0,38,20,00,00,00,00
Suite à ces manipulations, la variable Scancode Map obtenue peut être
assez longue. Il
est intéressant de récupérer le résultat pour le sauvegarder d'une part, et
pour pouvoir modifier facilement un autre ordinateur. On crée pour cela un
fichier REG d'inscription dans le Registre. Il s'obtient dans Regedit en
exportant la clé qui contient la variable :
HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout
Il convient de nettoyer le contenu de ce fichier REG en l'éditant avec
Bloc-notes afin de ne conserver que la partie utile comme vu avec le premier
exercice (Désactivation des touches WIN). Il est possible de rendre plus lisible la présentation du contenu de
la variable et d'ajouter des commentaires (Exemple).
Ce fichier pourra être fusionné au registre d'une autre machine en
cliquant dessus.
Pour supprimer toute modification apportées par la variable Scancode
Map il suffit de la supprimer. On peut fusionner pour cela un
fichier.REG comprenant la commande "Scancode Map"=-
(le signe moins final provoque la suppression de la variable. Plus
d'infos sur ces notions en suivant ce lien :
Modifications de
la base de registres en ligne de commande)
Rappels :
On retiendra que cette méthode ne permet pas de modifier les caractères, mais
seulement les touches. Scancode Map ne peut pas mettre le Point à la place du Point-virgule, ou € à la
place de £.
Ceci met fin à ce chapitre sur l'adaptation d'un clavier à l'aide de la variable
Scancode Map. Passons à la création d'une nouvelle DLL dans System32 avec
la modification d'un Keyboard Layout :
Layout se traduit par Agencement, mais j'ai préféré conserver le terme anglais, les autres méthodes présentées dans cet article modifiant également l'agencement des touches. On pourrait peut-être parler de "Pilote du clavier", mais on n'agit ici que sur les fichiers kbdxxxxx.dll dont les Propriétés affichent "Keyboard Layout", et non sur kbdclass.sys "Pilote de la classe Clavier".
Le Microsoft Keyboard Layout Creator permet de créer un clavier à sa convenance en modifiant précisément chaque touche. Il fourni un fichier d'installation MSI. Le clavier pourra alors être installé et deviendra disponible dans la liste des claviers (Options régionales).
On peut télécharger
MSKLC 1.4
pour Vista, ou MSKLC 1.3 pour les autres Windows. Les deux versions
téléchargent un fichier du même nom (ça embrouille) : MSKLC.exe (4.6 Mo pour
la MSKLC 1.3 et 10.1 Mo pour la version 1.4).
Utilisées sous XP, je n'ai vu aucune différence entre MSKLC 1.3 et 1.4
Il y en a sans doute sous Vista, je n'ai pas essayé. MSKLC N'a pas
fonctionné sous Vista/Windows7 64 bits.
Les deux versions ont besoin de .NET Framework. La Framework 1.1 pour MSKLC 1.3 et Framework 2 ou Framework 3 pour MSKLC 1.4. Les téléchargements sont conséquents :
L'installation de ces bibliothèques sont nécessaires pour exécuter les programmes développés avec les kits de développement .NET Framework. On en est donc à trois versions, complétées de modules d'adaptations linguistiques, et de correctifs. Si le téléchargement et l'installation de ces monstres peut paraître rebutant, il faut savoir qu'ils facilitent la tache des programmeurs. On commence dès lors à voir apparaître des petits bijoux, tels que Paint.NET qui nécessite Framework 2. À la question de savoir s'il est nécessaire de télécharger Framework 2 alors que la version 3 coexiste sur WindowsUpdate, je peux répondre qu'ayant choisi le téléchargement et l'installation de Framework 3, j'ai pu constater après 35 minutes (!) que Framework 2 avait été installé quand même. Le tout augmenté de mises à jour de sécurité et de modules de prise en charge linguistique. Un redémarrage est demandé.
Pour revenir à MSKLC 1.3, il a besoin de Framework 1.1 et je suis donc passé faire mes courses sur WindowsUpdate, rayon mises à jour facultatives :
Le téléchargement et l'installation ont pris un petit quart d'heure. Le redémarrage n'est pas demandé, et MSKLC 1.3 a pu fonctionner. Update s'est manifesté un peu plus tard pour signaler qu'une mise à jour de sécurité pour Framework 1.1 était prête (.NET Framework 1.1 Service Pack 1). C'est reparti pour 10.2 Mo de téléchargement. Au total, Framework 1.1+SP1 nécessite donc de télécharger 34.7 Mo. On peut très bien ne pas passer par Update et télécharger les deux fichiers directement.
La Liste des Articles de http://forum.hardware.fr propose au paragraphe "3.2 Autres Logiciels et Divers" un lien vers ce tuto.
Utiliser MSKLC 1.3
MSKLC 1.4 utilisée sur XP affiche cet
avertissement :
Comme je n'ai pas encore essayé avec Vista, je ne sais pas à quoi ressemblent ces "features".
Le menu File>Load Existing Keyboard permet de charger un clavier existant qui servira de base de départ. On peut utiliser un clavier déjà modifié pour l'améliorer.
Voici les touches normales du clavier français. Le point du clavier numérique est pris en compte pour éventuellement le remplacer par la virgule. Les touches Windows sont absentes. Les touches en sombre ne seront pas modifiables (Unassignable). La touche de l'accent circonflexe est grise (Dead Key) parce qu'elle doit être suivie de l'appui d'une autre touche. Pour modifier une touche cliquer dessus et entrer le caractère voulu.
Touche MAJ enfoncée (Shift est coché). Le tréma est effectivement une Touche Morte (Dead Key) :
Touche AltGr enfoncée montre deux autres Touches Mortes : le tilde et l'accent grave. Il n'y a pas d'accent aigu :
On remarque avec cette vue toute la place qui est disponible. Il y en a
encore plus pour la combinaison MAJ+AltGr que je n'ai pas représentée (cocher
Shift et AltGr), il y a un exemple avec ce
clavier canadien multilingue
adapté (merci Jean-François). Bref les possibilités ne manquent pas. Mais il faudra faire
attention à une chose :
Les raccourcis-claviers dans Windows ou dans les programmes utilisent des combinaisons avec CTL, MAJ, ALT (Control ou Ctrl, Majuscule, Alt). C'est visible sur la gauche de l'image ci-dessus, AltGr est équivalent à CTL+ALT. Il y a risque d'interférence avec vos nouveaux caractères, et il est possible qu'en appuyant sur AltGr+touche ou MAJ+AltGr+touche on n'obtienne pas le caractère désiré, tout en déclenchant une action. Il peut arriver que l'action déclenchée ne soit pas détectable par l'utilisateur. Très souvent le responsable est le logiciel qui accompagne la carte graphique, ATI par exemple et son Catalyst Control Center. Explorer les menus de l'icône dans le Systray en faisant un clic droit dessus. Il peut aussi s'agir d'un raccourci créé par l'utilisateur, et oublié dans les tréfonds du Menu Démarrer, le retrouver peut être difficile, voici un exemple vécu.
Le Menu View>Options permet de choisir la police et sa taille pour l'affichage des caractères, et de choisir le type du clavier :
Cocher "Remember Settings After Shutdown" pour conserver la configuration.
Une lecture attentive de l'aide sera nécessaire pour faire le tour complet des possibilités. Le menu Project a un item "Test Keyboard Layout" et le menu Help un item "Update Unicode character data" qui télécharge une mise à jour du fichier NamesList.txt. Ce fichier contient la liste des noms attribués aux signes et caractères. Une fois les modifications du clavier effectuées et ses Propriétés renseignées, on peut tester sa validité, puis passer à la création du fichier d'installation du clavier.
Passage obligé, il faut renseigner les Propriétés du nouveau clavier, Menu Project>Properties :
La ligne Company doit être renseignée.
Cocher "CapsLock turned off when Shift is
depressed (also known as ShiftLock)" pour obtenir un fonctionnement
normal, à savoir le déverrouillage des Majuscules en appuyant sur une
touche MAJ. En effet sur NT et XP, ce n'est plus comme avec Windows98,
il faut appuyer une seconde fois sur la touche CapsLock pour revenir aux
minuscules. Ce choix dès la définition du clavier évite d'avoir à le
faire dans les Paramètres de touches dont le paramétrage par défaut est
celui-ci :
Si on a coché "CapsLock turned off when Shift is depressed", le réglage
par défaut tel que montré ci-dessus ne sera pas pris en compte, c'est le
Layout du clavier qui l'emporte. En pratique on règlera la plupart du
temps sur "Appuyer sur la touche MAJ". Cette question très souvent posée
est traitée dans de nombreuses
FAQ.
Remarquer que le nom proposé pour le clavier est Layout01. Cela semble logique,
pourtant l'aide de MSKLC dit autrement : Using MSKLC>Creating Keyboard Layouts>Recommendations and Best Practices>
"KBD" Prefix for Keyboard DLLs.
Il est conseillé de nommer les Layouts en commençant par "kbd" (keyboard). C'est en effet de
cette façon que sont nommés les différents claviers dans System32 :
Attention : le nom est limité à huit caractères ASCII. Accents, ç, espaces,
sont
interdits.
Une fois les Propriétés renseignées, continuer la validation du clavier modifié.
Si des erreurs ou avertissements sont signalés, consulter l'aide :
Validation, Test, and Build>Validation of Keyboards Layouts>Validation Reference
Le Menu Project>Validate Layout vérifie la validité du clavier.
Si on
a oublié de renseigner ses Propriétés, un rappel est fait :
Menu Project>Build DLL ans Setup Package
Consulter l'aide pour voir des exemples des messages pouvant apparaître au
chapitre
Validation, Test, and Build>Buildind Keyboard Layouts
Si des erreurs sont signalées consulter l'aide pour tenter de corriger.
Si le fichier d'installation du clavier modifié ne se crée pas, essayer avec un
autre PC puis récupérer le résultat. Celui-ci se présente sous la forme d'un
dossier de 40 ko.
Un dossier kbdfr001 est créé dans Mes documents. Il contient les fichiers nécessaires, dont le fichier d'installation kbdfr001.msi :
Le dossier i386 contient le fichier kbdfr001.dll qui sera ajouté dans System32 en exécutant kbdfr001.msi. Noter que le menu contextuel d'un fichier MSI comporte d'autres options que Installer (en gras puisque c'est l'option par défaut qui s'exécute lorsqu'on clique le fichier). Ces deux autres options, très utiles, sont Désinstaller et Réparer.
Cliquer sur kbdfr001.msi ... et "Installation Complete" sera affiché une fois l'installation terminée. Le fichier kbdfr001.dll est ajouté aux autres kbdxxxxx.dll de System32. Il reste à ajouter le clavier modifié dans la liste des claviers de la langue.
Aller dans le Panneau de Configuration, Options régionales, Onglet Langues, et cliquer le bouton Détails pour accéder à "Services de texte et langues d'entrée".
Cliquer sur le bouton Ajouter pour ajouter la "Configuration clavier" voulue :
Le clavier "Français (point-virgule modifié)" est ajouté à la liste des claviers de la langue "Français (France)". Le choisir comme "Langue d'entrée par défaut" pour qu'il soit actif au démarrage :
Appliquer puis cliquer sur le bouton "Barre de langue". Cocher "Afficher la Barre de langue sur le Bureau". Quitter avec le bouton OK.
La barre de langues devrait apparaître dans la Barre de Tâches. Si ce n'est pas le cas faire un clic droit sur la Barre des Tâches, et sélectionner Barre d'outils, Barre de langue :
Un clic gauche sur le clavier de la Barre de langue présente le choix entre le clavier normal et le clavier modifié. Sélectionner ce dernier :
Le clavier "Français (point-virgule modifié)" a été sélectionné. Il devient le clavier actif, et les modifications apportées sont constatées :
Que j'utilise la touche MAJ ou non, la touche point/point-virgule me fournit
toujours un point, c'est ce que voulais.
Le point-virgule reste disponible en effectuant AltGr+point
Ceci à titre de démonstration.
Ce n'est pas prévu, on crée chaque fois une nouvelle version qu'il faut installer. Les claviers modifiés qui ne servent plus devront être désinstallés :
Si on ne respecte pas l'ordre ce n'est pas grave mais il faudra redémarrer la session.
MSKLC apporte une souplesse inégalée dans la modification de l'agencement du clavier en permettant non pas l'échange de touches, mais la modification des caractères eux-mêmes. Il ne permet pas d'agir sur les autres touches telles que CTL, WIN, Entrée. On peut ajouter de nombreux caractères en combinant AltGr et MAJ, mais il faut faire attention aux risques d'interférences avec les raccourcis-clavier existants ou à venir.
Dominique Ottello met à disposition sa propre conception au bas de cette
page.
Voici quelques
autres exemples de réalisations :
Certains se sont fortement penchés sur le problème, d'où ces réalisations, qu'ils partagent avec nous. Merci à eux.
La version 3 est sortie :
L'auteur a prévu l'obtention de l'espace insécable (ALT 0160) avec la
combinaison AltGr+Espace. Cela est symbolisé par [].
C'est une excellente idée, l'espace insécable est très utile pour éviter les
retours à la ligne inadéquats. Par exemple on met toujours un espace
insécable devant les deux-points ":" (typographie).
L'accent aigu est disponible à la droite de l'accent circonflexe (avec ALtGr). De plus les capitales
accentuées sont prévues avec MAJ+AltGr. L'installation est la même que pour
les Layouts créés avec MSKLC à partir du fichier téléchargé frcomp12.msi. Il
faut donc choisir le clavier "Français complété 1.2" dans "Services de texte et
Langues d'entrée" comme vu plus haut. La désinstallation complète se fait via
Ajout/Suppression de programmes, ou par un clic droit sur frcomp12.msi.
Il y a une
version
pour le clavier belge (discussion).
Remarque au sujet du caractère ß : cette lettre
issue de l'allemand est un
eszett, plus proche du S que du B.
Noter la présence de l'accent aigu (´) avec le chiffre
1, juste à gauche du é de la touche 2.
C'est une élégante solution, l'accent aigu étant la
seule touche morte qui manquait. Curieusement l'espace insécable []
n'est pas sur la barre espace. L'installation est automatique. Après redémarrage le clavier
est opérationnel sans autre intervention, le clavier ayant pour nom "Français (France)". La désinstallation se fait via Ajout/Suppression de programmes.
L'image ci-dessus, est celle du site de
Denis Liégois.
Elle ne montre pas les derniers ajouts signalés à la section "Versions" du site.
Cette approche est originale. Voir sur le site le sujet du "CapsLock intelligent", et le lisez-moi.html qui accompagne
l'installateur/désinstallateur (install-kbdfr-dk-6.0.1.exe). Autre
innovation, des touches du clavier
numérique sont également complétées. L'espace insécable est présent sur la
touche espace, et l'accent aigu est à droite de l'accent circonflexe. Les chiffres du haut étant devenus moins faciles d'accès,
ce Layout ne convient pas à un portable ne comprenant pas de clavier numérique.
Installation et
désinstallation étonnamment rapides et simples, à effet immédiat. Le clavier "Français (dk 6.0.1)" prend
place proprement comme clavier actif dans la liste. La désinstallation ne
passe pas par Ajout/Suppression de programmes, le clavier n'y figure pas. Si on
a perdu l'exe d'installation, le télécharger, l'exécuter, et choisir le
bouton Désinstaller : on retrouve le clavier précédent. On peut aussi le
conserver et changer de clavier via les Options de Langues.
Pas testé : le clavier Kelyos : "clavier avec les majuscules accentuées"
Rappelez-vous les risques d'interférences avec les raccourcis-clavier. Ces idées pourront servir de point de départ à vos créations.
Clavier+ n'est pas un Layout modifié, mais un remapping logiciel. Sa souplesse et sa simplicité pourrait le faire préférer aux claviers modifiés, qu'il peut d'ailleurs compléter, raison pour laquelle je le cite ici. Il est abordé au chapitre suivant.
Ceci met fin au chapitre du Layout. Passons à un peu de programmation.
AutoHotkey est un moteur de scripts permettant un contrôle sophistiqué de Windows. Il rend possible la redirection des boutons, touches et caractères du clavier, de la souris, du joystick. L'aide du logiciel est un modèle du genre, quoiqu'en anglais. L'aide sur le web est abondante, en anglais et aussi en français. On trouve de nombreux exemples dont le remapping, et des utilitaires. Un script est transformable en exécutable indépendant, qui peut être utilisé partout. Si on a installé AutoHotkey, les scripts sont exécutables directement. Autohotkey fonctionne également avec Vista et Windows 7 64 bits.
Le principe est donc ici totalement différent de ce qu'on a vu jusqu'à présent où on tentait d'intervenir à la source (registre, pilote). Le procédé nécessite de faire tourner le script en tâche de fond. Un icône dans le Systray permet de l'interrompre facilement et de retrouver le fonctionnement standard du clavier. Le procédé est donc portable à souhait, la modification du clavier est immédiate, aucun redémarrage n'est nécessaire. Ce type de remapping logiciel a été utilisé par Jean-Claude Bellamy pour contourner le problème posé lors de l'utilisation d'un clavier numérique externe sur un portable.
Avant de commencer, on lira ces articles :
Autres liens :
http://www.autohotkey.com
http://www.autohotkey.com/docs/Variables.htm
http://autohotkey.free.fr/docs
http://autohotkey.free.fr/docs/Hotkeys.htm
http://autohotkey.free.fr/docs/Hotstrings.htm
http://autohotkey.free.fr/docs/KeyList.htm
http://autohotkey.free.fr/docs/misc/Clipboard.htm
http://autohotkey.free.fr/docs/misc/Remap.htm
Liste des commandes
http://www.autohotkey.com/docs/commands.htm
http://autohotkey.free.fr/docs/commands.htm
Lors de l'exécution d'un script, un icone vert est affiché dans la Zone de
notification de la barre de Tâches (Systray).
Un clic droit offre plusieurs choix. On peut en particulier suspendre la
redirection des touches et des caractères (Suspend Hotkeys).
L'icone qui affiche habituellement un
H se modifie
alors en S :
"Pause Script" ou Exit suspendent ou suppriment le remapping en cours, et on récupère le clavier normal. L'action par Défaut "Open" ouvre une fenêtre montrant le fonctionnement du script, l'état des variables etc ... Compilé en exécutable, le script peut-être exécuté depuis une clef USB sur d'autres ordinateurs. Il est possible de cacher l'icone du Systray, ou de modifier son menu.
On ajoute des commandes Return pour organiser
le script en sous-programmes si on défini plusieurs hotkeys.
Avec
AHK2EXE il est possible de compiler le script obtenu en
un exécutable qui pourra être exécuté ainsi sur plusieurs ordinateurs, depuis
une clé USB par exemple. On retrouve ainsi instantanément ses réglages habituels sans rien
avoir à modifier sur la machine qu'on emprunte. Un tel exécutable peut être
détecté comme un
Trojan par un antivirus : c'est une fausse détection causée par la
routine d'interception du clavier et les
méthodes heuristiques utilisées. Certains Trojans ayant pour mission
d'enregistrer toutes les frappes du clavier et de les transmettre sur le web
dans l'espoir de récupérer des données sensibles. Vous ne verrez jamais
AutoHotkey se connecter au web, en dehors de votre volonté de scripteur. Si
vous installez AutoHotkey et que vous utilisez des script AHK non-compilés,
vous n'aurez pas d'alerte de détection de Trojan.
Désactivation des deux touches Windows
Très apprécié des joueurs qui n'aiment pas voir apparaître soudain le Bureau au
milieu d'une partie acharnée, la désactivation des touches WIN s'obtient très
facilement. Deux lignes de 6 caractères suffisent. LWin identifie la
touche Windows de gauche, RWin celle de droite. On désigne
la redirection avec deux fois deux-points. Comme la redirection est laissée
vide, on obtient le comportement voulu :
LWin::
Rwin::
Désactivation des deux touches Entrées
Ce tip déjà vu plus haut avec la méthode Scancode Map a réellement une
utilité pour certaines situations où un clavier ne doit servir que pour taper
des caractères, la confirmation de l'entrée se faisant à la souris. On diminue
ainsi les risques d'entrées accidentelles. Ici aussi le code est extrêmement simple :
Enter::
NumpadEnter::
Désactivation du clavier et de la souris
Après avoir appris à désactiver des touches particulières, nous allons apprendre
à désactiver totalement clavier et souris. Cela peut être utile pour pour éviter de perturber certains
programmes. Le script fait appel à l'instruction
BlockInput.
Il ne fonctionne pas avec WIN95/98. Faire CTL+ALT+Suppr pour annuler son
action :
#Persistent
WinClose Gestionnaire des tâches de Windows
Blockinput, On
sleep 999
Winwait Gestionnaire des tâches de Windows
{
WinClose Gestionnaire des tâches de Windows
Exitapp
}
Télécharger le script commenté :
http://fspsa.free.fr/bloque-clavier-souris.ahk
Télécharger le script compilé :
http://fspsa.free.fr/bloque-clavier-souris.exe
Cette forme compilée est utilisable sans avoir à installer AutoHotkey.
Rappel :
l'antivirus peut signaler la présence d'un
Hook du clavier;
c'est normal puisque c'est le cas, mais utilisé ici dans un but avouable,
et non pour envoyer ce que nous tapons vers un site web. J'ai publié ce script
suite à une question. Son utilité n'est peut-être pas évidente. À part faire des
blagues, il servirait à empêcher qu'on interrompe une action en cours tout en
permettant de suivre ce qui se passe à l'écran. Il existe un autre usage auquel
je n'avais pas pensé, révélé par
Squeaky Clean : permettre le nettoyage du clavier et de la souris sans
risque d'interférer avec Windows ou un programme. Rappel : si le but est
simplement de protéger l'ordinateur pendant son absence il faut simplement
utiliser les possibilités de Windows : compte avec mot de passe et économiseur
d'écran réclamant le mot de passe pour afficher le Bureau est une technique
courante. Moins connu est le fameux raccourci-clavier WIN+L qui affiche tout
bonnement l'écran d'accueil, et il faut là aussi entrer le mot de passe pour
revenir au Bureau.
Désactivation des
touches Insertion et Verrouillage Numérique
Il arrive trop souvent de passer par inadvertance de
Mode Insertion en
Mode Refrappe (overtype,
overwrite ou overstricke mode) en
appuyant involontairement sur la touche Inser (Inser
Key). Même chose pour la touche
Ver num (Num
Lock) de
Verrouillage du Clavier Numérique.
Ins::
NumLock::
Un script plus élaboré permettra de conserver le rôle de
bascule de ces touches, en conjonction avec la touche
MAJ ==>
numlock-ins.ahk
Suppression du verrouillage des majuscules
Comme déjà vu plus haut, on remplace la touche de verrouillage des majuscules (CapsLock)
par la touche MAJ gauche (LShift).
Les étourdis évitent ainsi de taper ce genre de chose : L42TAT DE LA R2PUBLIQUE
FRAN9AISE.
CapsLock::LShift
Un script a été développé pour faire apparaître un menu et choisir une action liée à la capitalisation quand on appuie sur CapsLock : CAPshift (en anglais, mais devrait être facile à traduire; me demander).
Remplacer la touche CTL de gauche
par MAJ
Une aimable retraitée se plaignait de souvent activer la sélection en tapant
CTL+a alors qu'elle croyait taper MAJ+a, imaginez le résultat. Heureusement il
existe CTL+Z pour revenir en arrière. Un contournement a consisté à remplacer
cette touche CTL de gauche par la touche Majuscule de gauche, ce dont elle s'est
montrée très satisfaite. Cette disposition pourrait être gênante pour son
petit-fils, un geek notoire, adepte effréné des raccourcis-clavier utilisant la
touche CTL. Aucun problème, sachant qu'avec AutoHotkey deux clics suffisent pour
suspendre le détournement de touche. C'est quand même plus souple que les
méthodes compliquées qu'on a vu plus haut ! Par ailleurs la touche CTL de droite
reste utilisable normalement. Voici le code :
LCtrl::LShift
Insuffisant déclara le gamin, je ne veux pas qu'on me prive de la touche CTL,
j'accepte seulement de me priver de CTL+A.
Pas de problème, le script suivant produit un A majuscule lorsque la dame
utilise la touche CTL en croyant utiliser la touche MAJ.
La touche CTL reste utilisable pour les autres raccourcis.
^a::
Send A
Return
Modifier la touche CTL de droite en
touche Windows (Rappel : CTL gauche+Échap ouvre le Menu Démarrer)
Certains claviers peuvent être démunis de touche Windows, ou n'ont pas de
touche Windows droite, ce qui peut gêner certaines personnes.
RControl::RWIN
Remplacement du Point-virgule par le Point et
remplacement du ² par le Point-virgule
La première ligne remplace le caractère ² (exposant 2, la touche en haut à
gauche) par le point-virgule ==> ²::;
La
seconde ligne remplace la touche 033 par le point. Le point-virgule étant un
caractère particulier dans les scripts AutoHotkey, il a été nécessaire de
remapper la touche 033 plutôt que le caractère. SC = ScanCode.
²::;
sc033::.
Variante : au lieu d'utiliser le ScanCode 033, on désigne le caractère point-virgule en le faisant précéder d'un accent grave (AltGr+è) qui est le caractère d'échappement dans AutoHotkey. Lire #EscapeChar (and explanation of escape sequences) pour plus d'informations.
`;::.
;le point-virgule devient le point
²::;
;la touche ² devient le point-virgule. Si pas satifaisant ==>
#NumpadDot::`; ;autre solution : WIN+{point du clavier
numérique} produira le point-virgule
Remplacement du Point-virgule par le Point et
instauration d'un code pour obtenir le Point-virgule
Si on veut conserver le ² et ne pas remplacer sa touche par celle du
point-virgule, on peut installer un raccourci pour obtenir celui-ci.
La première ligne remplace la touche 033 par le point comme vu ci-dessus.
La seconde ligne met en place le raccourci suivant : quand on tapera la séquence
point d'exclamation, virgule, espace, le point d'exclamation et la virgule se
transformeront en point-virgule. Pour obtenir le point-virgule on fera donc :
!, et barre d'espace.
sc033::.
::!,::;
Ce dernier principe, qui consiste à obtenir un caractère, ou même une phrase entière, voire tout un texte, en entrant un code, est nommé dans l'aide d'AutoHotkey "Hotstrings and Auto-replace". Ce chapitre a été traduit sur le Net et se nomme Substitutions de chaînes et Remplacement-Auto. On y trouvera les explications quant à l'utilisation de la syntaxe :*?: qui va permettre dans les exemples qui suivent d'obtenir le remplacement du code sans avoir à ajouter un espace et sans en introduire un avec le mot qui précède.
En ce qui concerne le point-virgule j'utilise en pratique Clavier+ en produisant ce caractère avec AltGr+[la touche du point / point-virgule]. Cette solution, que je n'ai hélas pas réussi à reproduire avec AutoHotkey me semble la plus pratique. Clavier+ est présenté plus bas.
Remplacement du point du clavier numérique par une virgule
Le clavier numérique est fort pratique, mais dans nos contrées les habitudes ne
sont pas les mêmes que de l'autre côté de la Grande Flaque, et c'est la virgule
que nous utilisons pour indiquer les décimales. Certains logiciels spécialisés
(tableurs) le permettent. Voici comment faire pour que
le point du Pavé Numérique produise une virgule :
NumpadDot::,
Obtenir les symboles spéciaux comme dans Word™
Le système de correction automatique de Word™ permet de remplacer
automatiquement certaines suites de caractères. Ce principe permet de corriger
automatiquement les fautes de frappe courantes, mais aussi d'obtenir des
caractères particuliers. Exemples :
(c) ==> © (r) ==> ® (tm) ==> ™
Rien de plus facile pour AutoHotkey qui offrira ainsi ce confort pour tous les
autres éditeurs de texte :
:*?:(c)::©
:*?:(r)::®
:*?:(tm)::™
On obtient ainsi ces caractères dans les autres éditeurs de texte exactement
comme dans
Word. Avec l'exemple ci-dessous, on obtiendra les caractères
voulus en faisant !cc !rr !tm, méthode qui parait plus simple que l'utilisation
de parenthèses.
!fs suivi d'un espace écrira automatiquement
http://fspsa.free.fr
:*?:!c::©
:*?:!r::®
:*?:!tm::™
::!fs::http://fspsa.free.fr
On peut obtenir ainsi des phrases entières avec un code très court entré avec un seul doigt, ce qui est très intéressant pour l'Accessibilité. De même :
:*?:!é::É
:*?:!ç::Ç
Obtenir facilement l'arobase @
Ce caractère est souvent utilisé, et son emplacement est difficile d'accès
(AltGr+à). Pourquoi ne pas obtenir @ en tapant deux fois à :
:*?:àà::@
Obtenir la date
Les logiciels ont presque toujours un raccourci pour coller la date. Par
exemple avec le Bloc-Notes c'est F5. Mais ce n'est pas toujours prévu, et si ça
l'est, ce n'est pas toujours le même raccourci-clavier. Je propose un script
pour que CTL+WIN+D mette la date dans le Presse-Papier, puis colle le résultat à
l'endroit voulu :
^#D::
clipboard=%A_DD%/%A_MM%/%A_YYYY%
send ^+v
Démarrer un programme
Au lieu de remplacer des caractères on peut aussi lancer des programmes. On sort
un peu du remapping du clavier, mais on reste dans l'amélioration de
l'accessibilité.
Un raccourci pour lancer un programme
Ouvrir le Bloc-Notes (Notepad.exe) avec le raccourci-clavier WIN+N :
#n::run notepad
Démarrer un programme en tapant un code
Utiliser la commande Run pour désigner le programme à exécuter :
:*?:!gb
Run C:\Program Files\GreenBrowser\GreenBrowser.exe
Return
Résultat : sur le bureau par exemple on tape en aveugle la séquence de touches !gb et le navigateur internet GreenBrowser s'ouvre ! Attention, il faut savoir que le script envoie des commandes {BackSpace} pour remplacer automatiquement le code tapé comme on l'a vu ci-dessus pour produire des caractères. Si on tape le code depuis une fenêtre Explorer, on aura la surprise de voir l'effet de ces BackSpaces qui ont une signification particulière (la touche BackSpace permet de remonter l'arborescence). Cela est contournable en ajoutant des instructions, mais il faudra prévoir d'autres cas, comme les Aides par exemple qui réagissent encore différemment. J'ai pensé toutefois que cette possibilité intéresserait certains. Si un internaute a développé un script plus sophistiqué permettant d'éviter cet ennui je le ferai savoir. Mais il est déjà bien pratique de simplement cliquer sur le bureau ou sur la Barre des Tâches et de taper par exemple !dev en aveugle pour démarrer devmgmt.msc (au lieu de passer par Exécuter et de taper la commande entière), et tout cela avec un seul doigt (Accessibilité). Ce script permet d'ajouter facilement des codes de touches pour placer facilement du texte ou lancer des actions : AutoClip (en anglais mais devrait être facile à traduire; me demander)
Si toutefois on préfère passer par Exécuter (WIN+R ou, avec un seul doigt,
WIN,X, puis Entrée), il
est possible de coder une touche pour ouvrir Exécuter directement (Run).
Une autre possibilité à ne pas négliger est celle
d'afficher dans la Barre des Tâches l'Outil Barre d'Adresse. Comme son nom
ne l'indique pas, elle permet également d'exécuter des commandes. Cette
Barre d'Adresse a hélas disparu avec le SP3 pour Windows, mais il existe des
contournements pour la recréer.
Démarrer un programme en appuyant successivement sur des touches et
sans utiliser AutoHotkey
Il existe une méthode très simple pour démarrer des
programmes au clavier et d'un seul doigt. Il faut pour cela organiser une
liste de raccourcis-icônes et les nommer judicieusement. On peut faire cela
dans le Menu Démarrer, mais aussi dans un dossier regroupant ses commandes
préférées. Par exemple la séquence pour ouvrir GreenBrowser sera : WIN pour
ouvrir Démarrer, et G pour sélectionner GreenBrowser qui se lance s'il n'y a
pas d'ambiguïté. Si d'autres raccourcis commencent par la lettre G, appuyer
sur G plusieurs fois, puis sur la touche Entrée quand GreenBrowser est
sélecté. Le Menu Démarrer de XP affichant les programmes les plus
utilisés (mais pas les fichiers), la manip est en général gagnante sur sa
machine habituelle. On pourra bien sûr regrouper ses raccourcis préférés sur
une clé USB pour tenter de garder ses habitudes sur un autre PC. Attention
au fait que les chemins peuvent être différents ou les fichiers ne pas être
sur la machine.
Sélection avec les premières lettres du nom
Ce qui suit fonctionne avec les raccourcis et fichiers se trouvant sur
le Bureau, et avec les fichiers dans Explorer. Cela ne fonctionne pas avec
les raccourcis du Menu Démarrer. Taper successivement trois caractères
sélectionne la première occurrence commençant par ces trois lettres. Il ne
faut pas être trop lent, mais c'est jouable avec un doigt, il faut mettre un
peu moins de deux secondes. Cela marche aussi avec seulement deux
caractères. Cette disposition fait gagner beaucoup de temps. Le fait que ça
ne marche plus avec les raccourcis ailleurs que sur le Bureau peut être
contourné en utilisant des Batchs ou des scripts AHK ou VBS.
Une bascule pour ouvrir et fermer le
tiroir du lecteur de CD
On se propose de créer un unique raccourci-clavier-bascule pour ouvrir, ou
fermer s'il était ouvert, le tiroir du lecteur de CD.
On suppose ici qu'on a donné la lettre P au lecteur de CD
(j'ai un graveur Plextor), adapter le script si ce n'est pas le cas.
La première instruction crée le raccourci-clavier WIN+P, qui restera
disponible tant que le script tournera en fond de tâche. Ce raccourci ouvrira le tiroir, et
le fermera s'il était ouvert, ceci est obtenu avec l'instruction
Drive Eject.
La sous-instruction Eject est intelligente, quand elle ne peut pas
"éjecter", elle fait le contraire, et ferme le tiroir.
#P::
Drive, Eject,P
if A_TimeSinceThisHotkey < 1000 ; Augmenter les millisecondes si nécessaire
Drive, Eject,P, 1
Return
Variante : si on ne précise pas la lettre du lecteur, c'est celui par défaut qui est actionné. S'il y a plusieurs lecteurs, c'est le premier dans l'ordre alphabétique. Si c'est un lecteur virtuel, sa fenêtre s'ouvre/se ferme. Dans l'exemple ci-dessous, le raccourci-clavier utilisé est devenu WIN+C (comme CDROM)
#C::
Drive, Eject
if A_TimeSinceThisHotkey < 1000 ; Augmenter les millisecondes si nécessaire
Drive, Eject,, 1
Return
Nouveau
lecteuro.exe ouvre/ferme le lecteur ayant la "lettre O".
Renommer le
programme en lecteurX.exe pour ouvrir le lecteur X. Le raccourci-clavier reste
WIN+O.
http://fspsa.free.fr/lecteuro.zip
Modifier facilement le volume ==> ALT+Roulette de
souris pour monter ou baisser le volume
Combien de fois on monte le volume pour visionner un film, et on oublie de le
baisser pour l'utilisation normale.
On peut choisir deux raccourcis-clavier différents pour monter et descendre
le volume mais il m'a semblé pratique (très pratique même), et naturel, d'utiliser
la roulette de la souris et la touche ALT. On roule vers le haut en appuyant sur
ALT, ça monte le
volume, on roule vers le bas, le volume baisse. À propos, si vous avez perdu
l'icone du volume dans le
systray, c'est par
ici. Et pour
revenir au script dont il était question, voici une proposition :
~ALT & WheelUp::send {Volume_Up}
~ALT & WheelDown::send {Volume_Down}
Variante sonorisée :
~ALT & WheelUp::
send {Volume_Up}
SoundPlay, %A_WinDir%\Media\ding.wav
Return
~ALT & WheelDown::
send {Volume_Down}
SoundPlay, %A_WinDir%\Media\ding.wav
ReturnEncore mieux : Clic droit + roulette Up/Down
~RButton & WheelUp::
send {Volume_Up}
SoundPlay, %A_WinDir%\Media\ding.wav
Return
~RButton & WheelDown::
send {Volume_Down}
SoundPlay, %A_WinDir%\Media\ding.wav
ReturnEncore plus mieux : Clic gauche + roulette pour faire varier le volume, et ALT + roulette pour faire varier le volume rapidement :
!WheelUp::
send {Volume_Up 8}
~LButton & WheelUp::
send {Volume_Up}
SoundPlay, %A_WinDir%\Media\ding.wav
Return
!WheelDown::
send {Volume_Down 8}
~LButton & WheelDown::
send {Volume_Down}
SoundPlay, %A_WinDir%\Media\ding.wav
Return
Script pour trouver les codes des touches
Pour trouver les codes des touches il suffit de faire un script affichant
l'historique des touches frappées. Il tient en trois lignes :
#InstallKeybdHook
#Persistent
KeyHistory
Exécuter ce script ouvre une fenêtre. Appuyer sur des touches pour remplir l'historique (il semble ne rien se passer, mais le script enregistre les codes des touches). Cliquer sur la fenêtre pour s'assurer qu'elle est en premier plan, et appuyer sur F5 pour rafraîchir l'affichage. Un historique détaillé des touches utilisées est affiché avec leurs codes.
Un raccourci pour recharger le Script (Aide à la mise au point)
Lorsqu'on modifie le Script qu'on est en train de mettre au point, il faut
le relancer pour que les nouvelles instructions soient prises en compte. Il
est pratique de créer un raccourci-clavier. On évite ainsi d'utiliser la souris
(clic droit sur l'icône AHK du Systray et "Reload This Script". Voici le
code pour que CTL+WIN+r relance le Script :
^#r::Reload
Inverser les mouvements de la souris
Il parait que ça peut être utile. En tout cas cette demande m'a rappelé certains
tests psychomoteurs auxquels j'ai survécu, tests durant lesquels les commandes
de vol s'inversaient aléatoirement. Le projet est donc d'inverser les mouvements
du pointeur, afin qu'il se déplace sur la gauche quand on glisse la souris vers
la droite...
http://www.autohotkey.com/forum/topic19376.html
ALT+Z pour sortir.
Ceci désactive également ces fonctions pour le bouton Marche/Arrêt de
l'ordinateur.
Pour trouver les
codes des
touches spéciales, utiliser le script décrit un peu plus haut. Voici le
résultat après avoir sollicité les trois touches Power, Sleep, et WakeUp, suivi
de F5 pour rafraichir l'affichage :
Voici un exemple de code :
SC15E::
Run http://fspsa.free.fr/clavier.htm#pswu-logiciel
Return
SC03B::
Run %programfiles%\Mozilla Thunderbird\thunderbird.exe
Return
SC163::
Run http://www.google.fr/search?q=%clipboard%
Return
Remarquer que l'appui de la touche Wake Up (163) ouvrira une recherche Google avec le contenu du Presse-Papier grâce à la concaténation de la variable %clipboard%
Éviter de déplacer
intempestivement des fichiers avec
DeskLock
Une plainte très souvent émise concerne les déplacements accidentels de fichiers
ou dossiers avec la souris, avec les conséquences qu'on imagine. Pour comprendre
la raison du malaise, lire
Déplacement et copie de fichiers en utilisant la méthode du glisser-déplacer.
On constate que par défaut le glisser d'un objet correspond à son déplacement.
Contournements possibles :
Correction : lorsqu'on s'aperçoit qu'il y a eu un déplacement, on peut, si on a été attentif, retrouver facilement le fichier et le remettre en place. C'est moins évident si on n'a pas vu dans quel dossier il a été lâché. La correction consiste alors à utiliser le raccourci-clavier CTL+Z qui annule la dernière opération effectuée.
La situation est plus ennuyeuse si on n'a pas conscience d'avoir déplacé un fichier ou un dossier. Ne pas croire que cela n'arrive qu'aux personnes atteintes de tremblements ou ne contrôlant pas bien leurs mouvements. En entreprise ces déplacements accidentels peuvent être plutôt gênants. Pour certaines personnes cela va jusqu'à provoquer des pannes.
Remède : les utilisateurs demandent alors en général s'il existe un paramètre à modifier pour obtenir de Windows qu'il affiche systématiquement une demande de confirmation en cas de déplacement. Hélas rien ne semble avoir été prévu. C'est donc encore une fois à AutoHotkey qu'on demandera d'empêcher la saisie d'objets avec le clic gauche. L'utilisateur sera ainsi contraint d'utiliser le glisser avec le clic droit. Cette méthode est préférable que l'affichage d'une demande de confirmation car elle éduque l'utilisateur à cette méthode qu'il continuera ensuite à utiliser naturellement sur tous les PC. Le script s'appelle DeskLock. Son outil ShowClass permet de trouver les classes des fenêtres survolées. On pourra ainsi ajouter d'autres fenêtres que le Bureau. On pense en particulier à l'Explorateur de fichiers, au Menu Démarrer (pour lequel une option est prévue mais qui empêche l'utilisation du clic droit), aux boîtes d'enregistrement de documents, etc. Le script est en anglais, très simple. Me contacter si besoin de traduction, d'adaptation, ou pour simplement partager votre expérience, vos idées. Testé sur XP.
Noter qu'il est possible d'empêcher toutes modifications permanentes d'un PC avec SteadyState, produit Microsoft, gratuit, et très apprécié dans certains cas.
AutoHotkey ouvre de nouvelles voies. Il permet d'adapter un clavier avec un exécutable, depuis une clé USB par exemple. Ses possibilités le rendent très attrayant dans le domaine de l'accessibilité.
AutoHotkey aura peut-être paru une approche trop compliquée. Heureusement est arrivé Clavier+ de Guillaume Ryder. Il permet d'obtenir les majuscules accentuées avec WIN+minuscule. D'autres combinaisons sont possibles, on peut lancer des logiciels, produire du texte, simuler la souris. Il est facile à utiliser, et en français. Suivre le lien vers le site pour lire la présentation du logiciel, il y a une capture d'écran, une FAQ, une Aide, et des Exemples commentés. L'icône du Systray affiche la liste des raccourcis, laquelle peut être copiée d'un clic. Clavier+ fonctionne aussi sur Vista et Windows7 64 bits. Ces captures résument quelques unes des possibilités :
On peut modifier un caractère, et même échanger les caractères d'une même touche. Cette capture montre une interversion entre le point et le point-virgule, ainsi que quelques autres possibilités :
Consulter l'Aide
pour découvrir comment inclure des scripts, masquer l'icône, lancer
plusieurs programmes et leurs envoyer des commandes, modifier le volume du
son, simuler les boutons de la souris et la molette, utiliser Clavier+
en lignes de
commandes.
On peut copier Clavier.exe et son
fichier de
configuration sur un autre PC et l'utiliser sans installation.
Clavier+ est un excellent compromis. En français et plus simple à appréhender que AutoHotkey, il peut permettre beaucoup de choses grâce à sa possibilité d'exécuter des commandes et d'exploiter les Scripts VBS (exemples).
Le remapping logiciel apporte beaucoup de souplesse par rapport aux autre méthodes. Il permet de configurer un PC en exécutant simplement un programme sans aucune installation, depuis une clé USB par exemple. Ses possibilités vont beaucoup plus loin que le simple échange de touches ou modifications de caractères. Typiquement il ajoute des raccourcis-clavier logiciels (qui disparaissent avec son utilisation) et leurs attribue les actions que l'on veut. La programmation va de simple à complexe, et il n'est jamais garanti que le fonctionnement sera celui attendu avec certains programmes, les jeux en particuliers, et des tests seront donc nécessaires.
Comparaison des trois méthodes de réagencement du clavier :
Scancode Map |
Modification du Layout
|
Remapping logiciel |
||
AutoHotkey |
Clavier+ |
|||
Redémarrage de la session | Nécessaire | Pas nécessaire | Pas nécessaire | Pas nécessaire |
Modification | Facile en utilisant SharpKeys | Facile | Facile | Très facile |
Activation | Redémarrer la session | Installer le clavier modifié | Immédiate | Immédiate |
Utilisation sur un autre PC | Facile à l'aide d'un fichier REG | Installer avec le fichier Layout.MSI | Exécuter le script |
Recopier Clavier.exe et Clavier.ini puis exécuter Clavier.exe |
Avantages |
Simple modif du registre Plus efficace que les autres méthodes, en particulier pour les jeux Modification permanente Portabilité par fusion d'un REG |
Modification de caractères, pas seulement de touches Plusieurs Layout possibles Changement de Layout facile Modification permanente au choix Portabilité du fichier d'installation Claviers modifiés téléchargeables |
Souplesse Portable sans installation Effet immédiat, débrayable. Programmation complexe possible, aide de qualité, nombreux exemples Grandes possibilités dans le domaine de l'accessibilité |
Portable sans installation Plusieurs configurations possibles Très simple à utiliser Possibilités de scripts Effet immédiat Débrayable en arrêtant Clavier.exe Aide et exemples en français |
Inconvénients |
Redémarrage de la session nécessaire On ne peut qu'échanger des touches On travaille avec des codes Les modifs concernent tous les utilisateurs Différences entre claviers us et fr |
Il faut installer le clavier Il faut supprimer et désinstaller Il y a des interactions avec les raccourcis-clavier |
Apprentissage nécessaire Le script doit être en fonctionnement permanent Peut être ignoré par certains programmes, ou des effets inattendus peuvent avoir lieu Moins proche du système que la méthode Scancode Map |
Idem |
Miscibilité des méthodes |
À suivre |
À suivre |
Interférences possibles avec Clavier+ |
Interférences
possibles avec AHK |
Pour les petites modifications permanentes et générale à tous les utilisateurs on préfèrera la méthode Scancode Map. Pour des modifications ponctuelles utilisables d'un clic sur d'autres ordinateurs on utilisera des Scripts AutoHotkey stockés sur une clé USB ou Clavier+.exe et son fichier de configuration Clavier.ini. Pour le reste on créera si nécessaire plusieurs claviers avec MSKLC. On pourra passer d'un clavier à l'autre facilement avec la Barre de langue.
Je remercie tous ceux qui m'ont aidé. Ce fut toujours avec tact et courtoisie; vous avez apporté vos idées, signalé les liens brisés, j'espère que vous continuerez.
J'ajoute de temps à autres de nouvelles idées, particulièrement dans la partie Remapping Logiciel. Si vous avez modifié votre clavier et que vous pensez que votre idée peut servir à d'autres faites-le savoir. Exemple : vous ouvrez et fermez votre lecteur de CD avec le coude grâce au remapping du Joystick. Vous connaissez des situations où l'inversion des déplacements de la souris est souhaitable... Merci d'avance pour vos suggestions; n'hésitez pas, les idées les plus étranges finissent par servir.
Bons remappings ! |
![]() |
Créée le 05/04/2007