Post by Olivier MiakinenPost by Sylvain CollangePost by Olivier MiakinenLa question n'était pas d'obtenir le caractère de numéro 199 (Ç)
mais celui de numéro 9839 ou encore 266F en hexa (♯). Comment
fais-tu dans Notepad pour l'obtenir au clavier ?
Je n'ai pas de Windows sous la main pour essayer, mais maintenir la
touche Alt en tapant « +266F » devrait marcher à partir de Windows
http://www.microsoft.com/globaldev/DrIntl/columns/019/default.mspx#EKE
Remarque : avec Win2000, Win2003, ou Vista, avec la configuration par
défaut, cela ne marche pas ; il faut changer une clé de registre (puis
quitter la session et en recommencer une nouvelle).
Pour info, la clé de registre est la suivante (copier ce qui suit dans un
fichier d'extension .reg, puis l'exécuter ; puis quitter la session):
REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Input Method]
"EnableHexNumpad"="1"
S.G.D.M., si ce n'est pas plus documenté et si c'est par défaut sur XP mais
plus sur Vista il doit y avoir des raisons (et des contre-indications), donc
à utiliser avec modération...
Post by Olivier MiakinenOui, ça marche dans Notepad, avec le + du pavé numérique, les touches
chiffrées pouvant être indifféremment celles du pavé numérique ou les
autres (ne pas faire shift pour les chiffres, même avec un clavier
français).
Quant à la méthode du Alt+X censée fonctionner dans Word 2002, elle ne
fonctionne pas dans Word 2003.
Sauf que... cela marche ici (Word 2003 ou Outlook 2003, Win200, CTFMON et
« services de texte avancés » résidents,
http://support.microsoft.com/default.aspx?kbid=282599, EnableHexNumpad
désactivé)
Marche aussi avec Wordpad (qui est en fait le premier programme où cela a
marché).
Ne marche pas avec Excel 2003 ou Powerpoint 2003.
Petites informations complémentaires : la méthode Alt+X est utilisé par un
contrôle particulier de Windows (Richedit v.3 ou quelque chose comme cela),
donc n'est pas aussi générale que l'autre, il faut que le programme soit
spécialement écrit pour en tenir compte ; en revanche Notepad ne fait rien
de particulier, il utilise l'interface d'entrée standard en mode Unicode ;
d'ailleurs, la méthode EnableHexNumpad marche aussi avec CMD.EXE (l'écran
noir), ou l'écran de veille Marquee (le texte qui défile), etc. Avec un
programme utilisant l'entrée Ansi (non Unicode), on obtient des caractères ?
à la place.
Qui plus est, il y a par ailleurs le « système de texte avancé » (dans la
barre de langue, configuration..., onglet avancé ou détails, il y a une case
à [dé]cocher concernant ce système), dont je ne sais pas exactement dans
quelle mesure il intervient.
Post by Olivier MiakinenEn revanche la méthode pour Notepad marche aussi dans Word 2003,
Donc il semblerait que la méthode EnableHexNumpad (entrée Unicode «
normale », sans rien de particulier, tel qu'utilisée par Notepad) prenne le
pas sur la méthode Richedit dans Word 2003, tel que configuré sur ta
machine.
Post by Olivier Miakinenà condition dans ce cas de prendre au
moins l'un des chiffres ailleurs que sur le pavé numérique (du moins
pour 266F). Si les trois chiffres 266 sont sur la rangée supérieure,
j'obtiens un C surmonté d'un point au lieu d'un dièse.
Ċ = Ċ = \u010A... autrement dit l'interface EnableHexNumpad n'a pas «
vu » le F dans ce cas-là.
Je pense que Word « capture » certaines touches à un niveau très précoce, et
que c'est la cuase de ce problème, spécifique à Word (je me rappelle de
souci du même genre à l'époque de l'euro, la séquence Alt+Ctrl+E, qui
devrait donner le symbole €, avec un Word français activait un sous-mode
plan-je-ne-sais-quoi, et la seule solution était de désactiver le raccoruci
dans Word/Normal.dot)
Post by Olivier MiakinenDans Wordpad, j'obtiens au contraire le C avec un point si *tous* les
chiffres sont tapés sur la pavé numérique, et le dièse si *tous* sont
tapés sur la rangée supérieure. Mais j'obtiens des choses variées (par
exemple lettre B ou rien du tout) si je mixe les deux types de
touches.
À mon sens, si tu mélanges les deux styles, le pilote EnableHexNumpad doit
remettre son compteur interne à zéro, et à la fin il ne traduit que ce qui a
été tapé sur la dernière zone (et si c'est inférieur à 32, c'est un
caractère de contrôle qui va être filtré par la suite, donc rien ne se
passe).
Ou alors, le contrôle RichEdit (de ta machine) intercepte les appuis sur les
numéros de clavier numérique, mais pas sur le clavier normal, et les
interprète en décimal, pas en hexadécimal (avec 2003, mais avec un clavier
espagnol QWERTY donc où les chiffres ne sont pas en position majuscule comme
en AZERTY, j'ai cette impression si je mélange).
Post by Olivier MiakinenPar ailleurs, le Alt+X prévu pour Word fonctionne bien dans
Wordpad.
:-) en fait c'est le contraire, c'est prévu pour Wordpad au départ...
Antoine