« Utilisateur:LeBret/Remplacer AltGr par Kana » : différence entre les versions
Ligne 107 : | Ligne 107 : | ||
=== Compilation === | === Compilation === | ||
Changez les droits d’écriture sur les fichiers {{c|bepo.H}} et {{c|bepo.C}} pour éviter qu’il soit écraser par la compilation. | Changez les droits d’écriture sur les fichiers {{c|bepo.H}} et {{c|bepo.C}} pour éviter qu’il soit écraser par la compilation. | ||
>attrib +R bepo.H | |||
>attrib +R bepo.C | |||
>kbdutool.exe -u -x bepo.klc | |||
KbdTool v3.40 - convert keyboard text file to C file or a keyboard layout DLL | |||
Compiling layout information from 'bepo.klc' for i386/x86. | |||
bepo.H : can't open for write. | |||
bepo.C : can't open for write. | |||
Les deux messages d’erreurs sont normaux ; ils sont même nécessaires. L’option {{c|-x}} dépend de l’architecture de votre machine. Les autres options sont : | |||
[-x] Builds for x86 (default) | |||
[-i] Builds for IA64 | |||
[-m] Builds for AMD64 | |||
[-o] Builds for WOW64 | |||
{{c|bepo.dll}} | |||
== Création des programmes d’installation == | == Création des programmes d’installation == | ||
Consultez la page des [[Pilote Windows|pilotes Windows]]. | Consultez la page des [[Pilote Windows|pilotes Windows]]. |
Version du 21 septembre 2011 à 23:12
⚠ en construction ⚠
Bépo définit plusieurs caractères avec le modificateur clavier bépoAltGr. Or ce modificateur est tout simplement un clavier bépoCtrl+clavier bépoAlt. On peut s’en rendre compte en utilisant le clavier bépoAlt gauche : clavier bépoAltGr+clavier bépoe et clavier bépoCtrl+clavier bépoAlt+clavier bépoe donnent tout les deux €.
En générale ce n’est pas trop gênant, sauf pour les applications qui définissent ce type de raccourci clavier (p.ex. Eclipse).
Une solution est d’utiliser le modificateur clavier bépoKana à la place clavier bépoAltGr. Problème, celui-ci n’est pas proposé par l’interface de MSKLC, l’utilitaire qui génére les pilotes Windows.
Prérequis
- Installer MSKLC
- Récupérer le bepo.klc
Création des DLL
Modification des sources
Génération des fichier sources .C et .H
kbdutool.exe -u -s bepo.klc
Cette commande crée les fichiers suivants : bepo.C, bepo.DEF, bepo.H, bepo.RC
Modification des sources. Les lignes en vert sont à ajouter. Les lignes en rouge sont à supprimer.
- bepo.H
- Ajoutez à la fin du fichier :
#undef X38
#define X38 _EQ( KANA )
X38 designe la touche Alt gauche.
- bepo.C
static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = { { VK_SHIFT , KBDSHIFT }, { VK_CONTROL , KBDCTRL },{ VK_MENU , KBDALT },{ VK_KANA , KBDKANA }, { 0 , 0 } };
static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { &aVkToBits[0],7,9, { // Modification# // Keys Pressed // ============= // ============= 0, // 1, // Shift 2, // Control SHFT_INVALID, // Shift + ControlSHFT_INVALID, // MenuSHFT_INVALID, // Shift + Menu3, // Control + Menu4 // Shift + Control + Menu3, // kana 4 // kana + shift } };
Toute la table aVkToWch5
est à supprimer.
static ALLOC_SECTION_LDATA VK_TO_WCHARS5 aVkToWch5[] = {
// | | Shift | Ctrl | Ctl+Alt|S+Ctl+Alt|
// |=========|=========|=========|=========|=========|
{VK_OEM_7 ,0 ,'$' ,'#' ,WCH_NONE ,0x2013 ,0x00b6 },
{'1' ,CAPLOK ,'\"' ,'1' ,WCH_NONE ,0x2014 ,0x201e },
...
{VK_DECIMAL ,0 ,'.' ,'.' ,WCH_NONE ,WCH_NONE ,WCH_NONE },
{0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
Il faut la remplacer par la table aVkToWch7
. Il s’agit en fait de la même table avec simplement deux colonnes en plus dont toutes les valeurs sont WCH_NONE
.
static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = {
// | | Shift | Ctrl | Ctl+Alt|S+Ctl+Alt| Kana | S+Kana |
// |=========|=========|=========|=========|=========|=========|=========|
{VK_OEM_7 ,0 ,'$' ,'#' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x2013 ,0x00b6 },
{'1' ,CAPLOK ,'\"' ,'1' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x2014 ,0x201e },
...
{VK_DECIMAL ,0 ,'.' ,'.' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
Cas particulier : l’attribut CAPLOKALTGR
ne sert plus à rien, il peut donc être supprimer. Je n’ai pas trouvé l’équivalent pour clavier bépoKana (KANALOK
n’a pas le même comportement) si vous avez des infos, écrivez-moi. Heureusement cet attribut est peu utilisé. Ci-dessous un exemple sur la lettre O.
{'O' ,CAPLOK | CAPLOKALTGR,'o' ,'O' ,WCH_NONE ,0x0153 ,0x0152 },{'O' ,CAPLOK ,'o' ,'O' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x0153 ,0x0152 },
Il faut ensuite déclarer cette nouvelle table à la place de l’ancienne :
static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) },{ (PVK_TO_WCHARS1)aVkToWch5, 5, sizeof(aVkToWch5[0]) },{ (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, { (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) }, { (PVK_TO_WCHARS1)aVkToWch1, 1, sizeof(aVkToWch1[0]) }, { NULL, 0, 0 }, };
Enfin il n’est plus nécessaire de demander un traitement particulier pour le Alt gauche (AltGr).
/* * Locale-specific special processing */MAKELONG(KLLF_ALTGR, KBD_VERSION),MAKELONG(0, KBD_VERSION),
Compilation
Changez les droits d’écriture sur les fichiers bepo.H
et bepo.C
pour éviter qu’il soit écraser par la compilation.
>attrib +R bepo.H >attrib +R bepo.C >kbdutool.exe -u -x bepo.klc KbdTool v3.40 - convert keyboard text file to C file or a keyboard layout DLL Compiling layout information from 'bepo.klc' for i386/x86. bepo.H : can't open for write. bepo.C : can't open for write.
Les deux messages d’erreurs sont normaux ; ils sont même nécessaires. L’option -x
dépend de l’architecture de votre machine. Les autres options sont :
[-x] Builds for x86 (default) [-i] Builds for IA64 [-m] Builds for AMD64 [-o] Builds for WOW64
bepo.dll
Création des programmes d’installation
Consultez la page des pilotes Windows.