« Pilote Windows » : différence entre les versions
m (→Générer les pilotes en batch : exemples de LeBret) |
|||
Ligne 34 : | Ligne 34 : | ||
* Générer les pilotes normalement : un .exe, trois .msi et les .dll. | * Générer les pilotes normalement : un .exe, trois .msi et les .dll. | ||
* Remplacer les dll par celles créées en batch à l’étape précédente. | * Remplacer les dll par celles créées en batch à l’étape précédente. | ||
* | ==== Exemples avec cette méthode ===== | ||
* [[Utilisateur:LeBret/Remplacer AltGr par Kana|Remplacer AltGr par Kana]] | |||
* [[Utilisateur:LeBret/2 Alt et 2 AltGr symétriques sur TypeMatrix en mode 106 touches|Alt et AltGr symétriques sur TypMatrix en mode 106 touches]] | |||
===Génerer les dlls avec le WDK=== | ===Génerer les dlls avec le WDK=== |
Version du 23 octobre 2011 à 13:24
Les pilotes de la disposition de clavier bépo sur les systèmes d’exploitation Microsoft Windows sont créés par le logiciel Keyboard Layout Creator de Microsoft (MSKLC version 1.4, 30 janvier 2007, nécessite .NET 2.0). Ce logiciel permet la modification de la partie alphanumérique du clavier soit cinquante touches avec la barre d’espace et le séparateur décimal. Il comprend un fichier d’aide msklc.chm
et la liste des noms unicode 5.0 nameslist.txt
.
MSKLC et pilote bépo
Les fichiers de configuration de MSKLC, des fichiers textes dont l’extension est « klc », sont obtenus en sauvegardant une disposition de clavier depuis l'interface graphique du logiciel (format UTF16-LE). Le fichier bepo.klc
est le fichier source de la disposition bépo disponible sur le dépôt subversion du projet, généré automatiquement par configGenerator au format klc.
MSKLC utilise cette source pour générer une bibliothèque de liens dynamiques bepo.dll
contenant le pilote de la disposition bépo ainsi qu’une application pour l’installer. Tous ces fichiers sont disponibles dans l’auto-executable 7zip bepo.exe
: c’est le pilote fourni aux utilisateurs sur la page d’installation Windows. Durant l'installation, la dll est copiée dans le répertoire %windir%/system32/
(%windir%/sysWOW64/
sur les machines 64 bits).
Cette méthode simple de génération des pilotes n’est plus possible depuis que le tiret bas a été placé en clavier azertyAltGr+clavier azertyEspace pour la version 0.6.6 de la disposition.
Plusieurs remarques ont été faites par le projet à propos des limites de MSKLC (dans sa version 1.4.6000.2) :
- l'interface de MSKLC n’accepte pas de mettre le tiret bas « _ » sur clavier azertyAltGr + clavier azertyEspace. L’erreur donnée est « ERROR: 'VK_SPACE' in Shift State 'Ctl+Alt' must be made up of white space character(s), but is defined as '_' (U+005f) instead. » ;
- les touches mortes ne s’enchainent pas et les caractères avec diacritiques multiples ne s’obtiennent qu’avec des diacritiques combinants ;
- absence de touche morte de type « compose » (MultiKey) ;
- déplacement impossible des modificateurs, pour avoir AltGr symétrique par exemple ou modifier capslock.
Générer les pilotes en batch
Il est possible de contourner certaines limitations de l'interface graphique de MSKLC (par ex. mettre le tiret bas sur la barre d'espace). Le répertoire d’installation de MSKLC contient notamment l’exécutable \bin\i386\kbdutool.exe
qui permet de compiler les pilotes en batch (KbdTool v3.40 - convert keyboard text file to C file or a keyboard layout DLL). L'option -u génère la bibliothèque .dll
du pilote que l’on peut copier dans le répertoire system32
ou wowsys64
. L’option -s génère quatre fichiers sources .H .C .RC .DEF
, qu'il est également possible d'éditer (les passer en lecture seule pour qu'ils soient compilés à la place du .klc). Les fichiers sources en C sont dans le répertoire \inc\
dont kdb.h
.
Création d’un pilote bépo personnalisé
La méthode utilisée pour générer les pilotes bépo peut servir pour se fabriquer un pilote personnel.
- Création des dll : avec
kbdutool.exe
- Créer votre disposition de clavier en la générant avec ConfigGenerator ou en éditant un fichier .klc.
- Placer le dans
\msklc\bin\i386\
et exécuterkbdutool.exe -u votrefichier.klc
en ligne de commande, cela compile la disposition/dll pour i386/x86. Le script utilisé pour bépo génère les pilotes et sources de deux dispositions pour toutes les architectures possibles (la variable ver indiquant le numéro de version).
- Création des programmes d’installation : dans l’interface graphique avec une disposition au nom identique
- Charger la disposition dans MSKLC mais remplacer le caractère « _ » en AltGr+espace par un espace.
- Générer les pilotes normalement : un .exe, trois .msi et les .dll.
- Remplacer les dll par celles créées en batch à l’étape précédente.
Exemples avec cette méthode =
Génerer les dlls avec le WDK
Les fichiers sources en C sont également disponibles dans le Windows Driver Kit.
Le site de l’association MON NOM ACCENTUÉ propose une explication détaillée ainsi qu’un fichier compile_i386.bat
pour les compiler sur une machine x86.
Le projet de disposition Neo2 pour l’allemand utilise lui les sources en C pour modifier capslock et ajouter carrément deux nouvelles couches à la disposition ainsi que compose (voir leur dépôt svn).
Fichier klc commenté de la version 0.6.5.1
En-tête
KBD bepo0651 "fr-dvorak-bépo v0.6.5.1" COPYRIGHT "Public Domain" COMPANY "wiki pour la conception d un dvorak francais"
On définit le nom de la dll (ascii 8.3) (bepo0651.dll
) et la description que l'on retrouve dans les propiétés de cette dll ainsi que dans les infos du programme dans le panneau de désinstallation. Ces deux informations doivent être unique sur le système.
Company ne peut pas être laissé vide. Si « copyright » est vide, il indiquera la date de création de la disposition. Ces valeurs ne peuvent commencer par un « " ».
LOCALENAME "fr-FR"
Langue (locale) de la disposition de clavier : fr-CH sur le clavier Qwertz suisse, fr-BE sur le clavier Azerty belge, fr-CA sur le clavier qwerty canadien,
LOCALEID "0000040c"
Numéro utilisé dans la base de registre pour référencer la disposition. Il dépend du LOCALENAME
précédent :
- FR (francais) : 0000040c
- CH (suisse) : 0000100c
- BE (belge) : 0000080c
- CA (canada) : 00000c0c
Il sert par exemple si l'on veut activer la disposition à l'ouverture de session de windows en modifiant la base de registre.
VERSION 1.0
Quelqu'un sait de quel version il s'agit ?
Définition du comportement des modificateurs
SHIFTSTATE 0 //Column 4 1 //Column 5 : Shft 6 //Column 7 : Ctrl Alt 7 //Column 8 : Shft Ctrl Alt
0 = base, 1 = clavier azertyMaj, 2 = clavier azertyCtrl, 4 = clavier azertyAlt
Les états 2 clavier azertyCtrl et 3 clavier azertyMaj+clavier azertyCtrl (soit les raccourcis clavier en clavier azertyCtrl + clavier azertytouche) ne sont pas utilisés par le pilote.
╔═════╗
clavier azertyMaj ║1 7║ clavier azertyAltGr+clavier azertyMaj (=clavier azertyCtrl+clavier azertyAlt+clavier azertyMaj)
║ ║
║0 6║ clavier azertyAltGr (=clavier azertyCtrl+clavier azertyAlt)
╚═════╝
Disposition des caractères
LAYOUT ;an extra '@' at the end is a dead key //SC VK_ Cap 0 1 6 7 29 OEM_7 0 0024 0023 00a7 00b6 // $ # § ¶ 02 1 1 0022 1 2014 -1 // " 1 — 03 2 1 00ab 2 003c 2264 // « 2 < ≤ 04 3 1 00bb 3 003e 2265 // » 3 > ≥ 05 4 1 0028 4 005b 201c // ( 4 [ “ 06 5 1 0029 5 005d 201d // ) 5 ] ” 07 6 1 005f 6 -1 -1 // _ 6 08 7 1 002b 7 00b1 00b0 // + 7 ± ° 09 8 1 002d 8 2013 2032 // - 8 – ′ 0a 9 1 002f 9 00f7 2033 // / 9 ÷ ″ 0b 0 1 002a 0 00d7 -1 // * 0 × 0c OEM_4 0 003d 0040 00ac -1 // = @ ¬ 0d OEM_PLUS 0 0025 00b5 2030 -1 // % µ ‰ 10 A 1 b B 007c 00a6 // b B | ¦ 11 Z 1 00e9 00c9 00b4@ 02dd@ // é É ´ ˝ 12 E 1 p P 0026 -1 // p P & 13 R 5 o O 0153 0152 // o O œ Œ 14 T 1 00e8 00c8 0060 0060@ // è È ` ` 15 Y 0 005e@ 0021 02c7@ 00a1 // ^ ! ˇ ¡ 16 U 1 v V -1 -1 // v V 17 I 5 d D 00f0 00d0 // d D ð Ð 18 O 1 l L fe63@ -1 // l L ﹣ 19 P 5 j J 0133 0132 // j J ij IJ 1a OEM_6 5 z Z 0259 018f // z Z ə Ə 1b OEM_1 1 w W 02d8@ -1 // w W ˘ 1e Q 5 a A 00e6 00c6 // a A æ Æ 1f S 5 u U 00f9 00d9 // u U ù Ù 20 D 1 i I 00a8@ 02d9@ // i I ¨ ˙ 21 F 1 e E 20ac fe67@ // e E € 22 G 0 002c 003f 2019 00bf // , ? ’ ¿ 23 H 1 c C 00a9 -1 // c C © 24 J 5 t T 00fe 00de // t T þ Þ 25 K 1 s S 00df -1 // s S ß 26 L 1 r R 00ae -1 // r R ® 27 M 5 n N 00f1 00d1 // n N ñ Ñ 28 OEM_3 1 m M 00af@ 00ba // m M ¯ º 2b OEM_5 1 00e7 00c7 00b8@ -1 // ç Ç ¸ 56 OEM_102 1 00ea 00ca 002f -1 // ê Ê / 2c W 1 00e0 00c0 007e 007e@ // à À ~ ~ 2d X 1 y Y 005c -1 // y Y \ 2e C 1 h H 007b -1 // h H { 2f V 0 002e 003a 007d 00b7 // . : } · 30 B 1 k K 2026 -1 // k K … 31 N 0 0027 003b 2018 -1 // ' ; ‘ 32 OEM_COMMA 1 q Q -1 -1 // q Q 33 OEM_PERIOD 1 g G 02da@ -1 // g G ˚ 34 OEM_2 1 x X 2020 2021 // x X † ‡ 35 OEM_8 1 f F 02db@ 00aa // f F ˛ ª 39 SPACE 0 0020 00a0 0020 202f // 53 DECIMAL 0 002e 002e -1 -1 // . .
Scan codes
La colonne SC
définit le scan code des touches. C'est une valeur hardware envoyée par le clavier lorsqu'une touche est pressée :
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║ 0E ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ 0F ║ 10 │ 11 │ 12 │ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 19 │ 1A │ 1B ║ 1C ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ 3A ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ 2A ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║ 36 ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧══╦═╧════╧╦═══╧══╦═╩════╦══════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔════╗ ║ 1D ║ E01F ║ 38 ║ 39 ║ E038 ║ E027 ║ E02F ║ E01D ║ ║ 53 ║ ╚═══════╩══════╩═════╩═══════════════════════╩═══════╩══════╩══════╩══════╝ ╚════╝
Virtual key codes
- La colonne
VK_
contient les constantes utilisées dans les entêtes des fichiers sources pour représenter des touches virtuels (virtual key), c'est un code donné par le système utilsateur de windows pour représenter une frappe de touche – par exemple VK_D pour clavier bépoD, VK_1 pour clavier bépo1, etc. (autre liste de codes vk_).
- La touche
VK_DECIMAL
/sc53 est la touche clavier bépo. du pavé numérique.
- VK_SPACE et VK_DECIMAL doivent être définis dans le klc.
- La touche
VK_OEM_102
/sc56 – clavier disposition azerty< clavier disposition azerty> azerty (lesser greater, LSGT de xkb) – clavier bépoê, clavier bépoÊ et clavier bépo/ bépo – n'est pas présente sur certains types de claviers.
Dans configGenerator, ces codes sont configurés dans le fichier virtalKeys.conf.
bepo.klc
:
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ │OEM_│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │OEM_│OEM_║ ║ │7 │ │ │ │ │ │ │ │ │ │ MINUS│PLUS║ <-- ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ ║ ║ B │OEM_│ P │ O │OEM_│OEM_│ V │ D │ L │ J │ Z │ W ║ ║ ║ ->| ║ │1 │ │ │2 │4 │ │ │ │ │ │ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ A │ U │ I │ E │OEM_│ C │ T │ S │ R │ N │ M │OEM_║ | ║ ║ ║ │ │ │ COMMA│ │ │ │ │ │ │5 ║ <-' ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ ║ ^ ║OEM_│ X │ Y │OEM_│OEM_│ K │OEM_│ Q │ G │ H │ F ║ ^ ║ ║ | ║102 │ │ │6 │PERIOD │3 │ │ │ │ ║ | ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══╗ ║ ║ ║ ║ SPACE ║ ║ ║ ║ ║ DECIMAL ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝ ╚═══╝
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ │OEM_│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │OEM_│OEM_║ ║ │7 │ │ │ │ │ │ │ │ │ │ │4 │PLUS║ <-- ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ ║ ║ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │OEM_│OEM_║ ║ ║ ->| ║ │ │ │ │ │ │ │ │ │ │6 │1 ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │OEM_│OEM_║ | ║ ║ ║ │ │ │ │ │ │ │ │ │ │3 │5 ║ <-' ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ ║ ^ ║OEM_│ W │ X │ C │ V │ B │ N │OEM_│OEM_│OEM_│OEM_║ ^ ║ ║ | ║102 │ │ │ │ │ │ COMMA│PERIOD|2 │8 ║ | ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══╗ ║ ║ ║ ║ SPACE ║ ║ ║ ║ ║ DECIMAL ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝ ╚═══╝
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ │OEM_│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │OEM_│OEM_║ ║ │2 │ │ │ │ │ │ │ │ │ │ │4 │6 ║ <-- ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ ║ ║ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │OEM_│OEM_║ ║ ║ ->| ║ │ │ │ │ │ │ │ │ │ │1 │3 ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ A │ S │ D │ F │ G │ H │ J │ K │ L │OEM_│OEM_│OEM_║ | ║ ║ ║ │ │ │ │ │ │ │ │ │7 │5 │8 ║ <-' ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ ║ ^ ║OEM_│ Y │ X │ C │ V │ B │ N │ M │OEM_│OEM_│OEM_║ ^ ║ ║ | ║102 │ │ │ │ │ │ │ COMMA│PERIOD│MINUS | ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══╗ ║ ║ ║ ║ SPACE ║ ║ ║ ║ ║ DECIMAL ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝ ╚═══╝
Comportement du capslock
- La colonne
Cap
définit le comportement de la touche majuscule :- 0 pas de caps=shift,
- 1 caps=shift pour les caractères en accès direct,
- 4 caps=shift pour les caractères en accès altgr.
- 5 = 1 + 4
Placement des caractères
- Les colonnes 0, 1, 6 et 7 sont définies par le caractère lui-même pour les lettres de l'alphabat latin et les chiffres et sinon par un numéro unicode. **Les emplacements non définis sont à -1.
- Les noms complets des caractères peuvent être obtenus en commentaires en sauvegardant le .klc avec MSKLC. Ils ne sont pas générés par configGenerator. Par exemple
// f F ˛ ª
devient// LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, <none>, OGONEK, FEMININE ORDINAL INDICATOR
. (soit > 3 800 caractères en commentaires, environ 7 ko en volume).
Touches mortes
- Les caractères devant se comporter comme des touches mortes ont un
@
en fin de définition. Leur comportement est défini en détail à l'aide de deux colonnes Unicode. La première est le caractère de base, la seconde le caracère résultant de la frappe de la touche morte en plus du caractère de base (où qu'il soit sur la disposition). La liste complète n'est pas détaillée, par exemple la touche morte accent grave 0060@ et la définition de « è », « ì » et « Ǹ » s'écrit :
//SC VK_ Cap 0 1 6 7 14 T 1 00e8 00c8 0060 0060@ // è È ` ` DEADKEY 0060 0065 00e8 // e -> è 0069 00ec // i -> ì 004e 01f8 // N -> Ǹ …
Ligatures
- Les ligatures notées %% sont définies à part. Elle ne doivent pas contenir plus de quatre points de code UTF-16. Exemple avec
«
sur clavier bépo2,»
sur clavier bépo3,où
en clavier azertyAltGr+clavier bépou etOù
en clavier azertyMaj+clavier azertyAltGr+clavier bépou. La disposition fr-dvorak-bépo n’utilise pas de ligatures.
//SC VK_ Cap 0 1 2 6 7 03 2 1 %% 2 -1 003c 2264 // <null>, DIGIT TWO, <none>, LESS-THAN SIGN, LESS-THAN OR EQUAL TO 04 3 1 %% 3 -1 003e 2265 // <null>, DIGIT THREE, <none>, GREATER-THAN SIGN, GREATER-THAN OR EQUAL TO 1f S 1 u U -1 %% %% // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, <none>, <null>, <null> LIGATURE //VK_ Mod# Char0 Char1 Char2 Char3 2 0 00ab 00a0 // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK * + NO-BREAK SPACE 3 0 00a0 00bb // NO-BREAK SPACE + RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK * S 3 006f 00f9 // LATIN SMALL LETTER O + LATIN SMALL LETTER U WITH GRAVE S 4 004f 00f9 // LATIN CAPITAL LETTER O + LATIN SMALL LETTER U WITH GRAVE
Définition du nom des touches assignées à chaque scancode
KEYNAME 01 Esc 0e Backspace 0f Tab 1c Enter 1d Ctrl 2a Shift 36 "Right Shift" 37 "Num *" 38 Alt 39 Space 3a "Caps Lock" 3b F1 3c F2 3d F3 3e F4 3f F5 40 F6 41 F7 42 F8 43 F9 44 F10 45 Pause 46 "Scroll Lock" 47 "Num 7" 48 "Num 8" 49 "Num 9" 4a "Num -" 4b "Num 4" 4c "Num 5" 4d "Num 6" 4e "Num +" 4f "Num 1" 50 "Num 2" 51 "Num 3" 52 "Num 0" 53 "Num Del" 54 "Sys Req" 57 F11 58 F12 7c F13 7d F14 7e F15 7f F16 80 F17 81 F18 82 F19 83 F20 84 F21 85 F22 86 F23 87 F24 KEYNAME_EXT 1c "Num Enter" 1d "Right Ctrl" 35 "Num /" 37 "Prnt Scrn" 38 "Right Alt" 45 "Num Lock" 46 Break 47 Home 48 Up 49 "Page Up" 4b Left 4d Right 4f End 50 Down 51 "Page Down" 52 Insert 53 Delete 54 <00> 56 Help 5b "Left Windows" 5c "Right Windows" 5d Application
Définition du nom des touches mortes
KEYNAME_DEAD 00b4 "ACUTE ACCENT" 02dd "DOUBLE ACUTE ACCENT" 0060 "GRAVE ACCENT" 005e "CIRCUMFLEX ACCENT" 02c7 "CARON" 002c "COMMA BELOW" 002f "STROKE" 02d8 "BREVE" 00a8 "DIAERESIS" 02d9 "DOT ABOVE" 00a4 "CURRENCY" 00af "MACRON" 00b8 "CEDILLA" 007e "TILDE" 02da "RING ABOVE" 00b5 "GREEK" 02db "OGONEK" 0309 "HOOK ABOVE" 031b "HORN" 0323 "DOT BELOW"
Pied de page
DESCRIPTIONS 0409 French (bépo) 040C Français (bépo)
Description du clavier utilisée dans la barre des langues, fonction des codes langue, ici définie pour le français et l’anglais[1].
LANGUAGENAMES 0409 French (France) 040C Français (France)
(optionnel) Nom de la langue utilisée dans locale. On peut avoir également :
- French (Belgique)
- French (Canada)
- French (Suisse)
ENDKBD
Alternatives au programme MSKLC
AutoHotKey
Portable Keyboard Layout est un script AutoHotKey pouvant être utilisé pour obtenir la disposition fr-dvorak-bépo sous Windows en contournant le problème des privilèges administrateur[2].
Modification de la base de registre
- Registry remapping
- KeyTweak – Modification des touches dans la base de registre (gratuit).
Notes et références
- ↑ Michael S. Kaplan, MSKLC keyboard layout names in your own language, 25 août 2007.
- ↑ http://colemak.com/AutoHotKey
Liens externes
- KbdEdit permet de charger des klc et de compiler une dll.
- http://keyboards.jargon-file.org/ Des klc d'autres langues que le français.
- http://www.autohotkey.com/wiki/index.php?title=Script_Listing#Keyboard_Enhancements liste de scripts AutoHotKey d’amélioration de clavier
- Igor Levicki, Comment construire une disposition de clavier pour Windows 64bit, 29 sept. 2006.