Bonjour à tous,

Je cherche à modifier légèrement ma disposition Bépo en partant de la version officielle 1.1.
Mon but est dans un premier temps de dupliquer le pavé numérique sur le clavier principal, main droite en AltGr, et transformer ma touche Windows gauche en AltGr.

Méthodologie : comme je suis sur Windows, édition et compilation à partir d’un .klc via l’utilitaire kbdutool de MSKLC.

Je rencontre cependant des problèmes dont je souhaiterais discuter avec vous afin de trouver des éléments de résolution.

Problème 1 : compilation du klc officiel
Lorsque je cherche à compiler le fichier bepo-1.1rc2-full-azerty.klc en l’état, j’obtiens l’erreur suivante :
Error 2025 (kbdbepo.klc, line 157):
    DEADKEY character value was badly formed
Le problème semble lié au fait qu’il ne peut pas y avoir d’arobase dans les rubriques DEADKEY (mécanisme d’enchaînement de touches mortes ?)
J’ai contourné en enlevant tous les @ en question, mais étant donné que j’enlève potentiellement des fonctionnalités, pensez-vous qu’il existe une solution non-destructive ?

Problème 2 : touche morte d’exponentiation sur Ç
Étant donné qu’AltGr + T allait devenir un raccourci pour le chiffre 0, et AltGr + V celui de 5, je voulais au moins déporter les touches mortes d’exponentiation et d’indexation (macron) sur AltGr + Ç et AltGr + W.
Pour le macron en W cela fonctionne mais pas pour l’exposant en Ç. Lors de l’appui AltGr + Ç cela fonctionne bien comme une touche morte, en n’affichant rien, mais lorsqu’ensuite je tape un 2, par exemple, cela affiche un 2 inchangé et pas un ². Bref, j’ai inventé la touche morte qui ne modifie rien ^^
Pourtant je ne pense pas avoir fait d’erreur dans le fichier de configuration :
2b	OEM_5		5	00e7	00c7	-1	1d49@	1f12f		// LATIN SMALL LETTER C WITH CEDILLA, LATIN CAPITAL LETTER C WITH CEDILLA, <none>, EXPONANT, <null>
Y aurait-il une limitation inhérente à cette touche ? Ou bien je me suis quand même fourvoyé quelque part ?

Problème 3 : duplication de l’AltGr
En mettant de côté les deux problèmes précédents, j’ai ± obtenu ce que je voulais. Sauf la création de l’AltGr gauche sur la touche Windows gauche.
Suivant l’exemple donné par le Bret qui a fait ce genre de manipulation sur son TypeMatrix, j’ai rajouté les lignes suivantes dans le fichier .H obtenu par la génération des codes sources C++ :
#undef  X5B
 #define X5B _EQ(                                      LMENU                      )
Je suppose que la touche Windows gauche a bien ce code x5b car cette touche est déclarée comme telle dans le .klc :
5b	"Left Windows" // Dans la section KEYNAME_EXT
Pourtant, cela ne fonctionne pas bien que cela compile, le comportement de la touche reste celui de la touche système.
Des idées sur la cause du problème ?
Je précise que dans ma phase de compilation, le fichier .H est bien en lecture seule et j’ai bien redémarré le PC pour prendre les modifications en compte.


Trouvé… Coquille toute bête. Il fallait indiquer RMENU (qui fait référence à l’AltGr) et pas LMENU (qui fait référence à… Alt ! c’est à dire lui même…).

Merci beaucoup pour votre aide. Même des simples pistes pourraient m’aider à avancer donc un grand merci par avance.
Je peux envoyer mes fichiers complets si besoin et apporter des précisions quoi qu’il en soit.

Bonne soirée,

Jean

ÉDIT : j’ai trouvé la source de l’erreur pour le problème 3. Coquille très bête… Désolé.
9 jours plus tard
Bonjour,

Au final, j’ai fait comme tout le monde et suis passé par KbdEdit.

D’après ce que j’ai pu glaner sur le forum, la méthode via .klc ne permet pas vraiment de faire plus que des substitutions de touches simples.
En effet, j’ai pu tester que le changement de comportement de la touche Alt (pour en faire un deuxième AltGr) posait problème via cette méthode, car la touche gardait une partie de son comportement originel (ex : Alt + R bloquait).

Le logiciel à licence KbdEdit prend en charge tous ces cas-là y compris la modification des touches spéciales, sans accroc pour ce que j’ai pu en tester.
6 mois plus tard
jportemer a écritBonjour,

Au final, j’ai fait comme tout le monde et suis passé par KbdEdit.

D’après ce que j’ai pu glaner sur le forum, la méthode via .klc ne permet pas vraiment de faire plus que des substitutions de touches simples.
En effet, j’ai pu tester que le changement de comportement de la touche Alt (pour en faire un deuxième AltGr) posait problème via cette méthode, car la touche gardait une partie de son comportement originel (ex : Alt + R bloquait).

Le logiciel à licence KbdEdit prend en charge tous ces cas-là y compris la modification des touches spéciales, sans accroc pour ce que j’ai pu en tester.
Ah zut, en voyant ce sujet, j’avais espéré une solution vu que je rencontre les même soucis 🙁
Pour le problème numéro 1 tu donnes toi même la solution. Il n'y a pas de solution non destructrice en utilisant MSKLC, ce dernier ne supportant pas l'enchaînement de touches mortes. Pour du non destructeur il faut passer par un autre soft, KBDEdit (payant) est l'un d'entre eux et celui que j'utilise. Je ne sais même pas s'il y en a d'autres.

Pour le problème numéro 3, c'est encore une limitation de MSKLC, il n'aime pas que le caractère qui représente une touche morte soit aussi haute dans Unicode. Il faut juste que tu remplace le chiffre par un inférieur à 1000 et bien sur ne par oublier de le remplacer par le même dans la définition de la Deadkey plus bas dans la document