Je suis pas programmeur donc difficile de te répondre sur le détail.
Toutefois, je peux te proposer des tests pour vérifier si le problème viens du pilote Bépo.
1/ Utiliser un autre pilote windows du bépo. Voir sur le site bepo.fr ce qui existe.
2/ Essayer la version Linux de Textadept. Bépo est présent nativement sur la plupart des distributions Linux.
D’autre part pour répondre à l’autre question.
Il n’y a pas réellement de différence entre la «virgule azerty» et la «virgule bépo». Les deux renvoient l’unicode U002C.
Enfin… Si le driver est correct. La vrai différence se situe dans le scancode. Je m’explique.
En fait, le fonctionnement d’un clavier est assez rudimentaire. Quand on appuie sur une touche, ce dernier ne renvoie pas à l’ordinateur un caractère ASCII ou Unicode, mais un scancode qui donne juste l’information à l’ordinateur que j’ai appuyé sur la touche qui se trouve colonne X, ligne Y. Après, c’est le driver de clavier qui interprète ce que ça signifie en fonction de la disposition sélectionnée. Ce driver est situé dans une couche relativement basse de l’OS.
Voir des explications plus précises ici :
https://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html
http://www.ee.bgu.ac.il/~microlab/MicroLab/Labs/ScanCodes.htm
Sur azerty, le scancode pour la virgule est 32. Sur Bépo, le scancode pour la virgule est 22. Et en qwerty, c’est 33.
Le problème est que Textadept, ou GTK ou scintilla a décidé que le scancode 22 devait servir à autre chose. Contrecarrant ainsi la volonté de l’OS.
Textadept a probablement borné les inputs pour limiter le périmètre à gérer sur leur code. Cela devrait être considérer comme une mauvaise pratique par les développeurs.
Pour info : le problème sur SpeedCrunch s’est résolue de lui même quand j’ai redémarré Linux. SpeedCrunch n’aime pas qu’on change de disposition en cours de route. Quand on le fait, il faut mieux rebooter. Par contre, le problème sur Keepass est avéré.