Overblog Suivre ce blog
Administration Créer mon blog
31 juillet 2017 1 31 /07 /juillet /2017 11:49

Je ne sais pas si vous l'avez remarqué mais chaque fois que l'on se penche sur le détail en informatique, on tombe sur des nids de guêpes, des enchevêtrements de programmes mal construits, des bouts disparates qui tiennent à peine ensembles, la surprise n'étant pas que les programmes plantent, c'est qu'il fonctionnent.

 

La palme dans mon cas revient à Adobe Photoshop.

Dans la version CS5.1.0 il est censé y avoir un écouteur d'événements (clavier, souris etc.). En pratique ces fonctions ne sont pas même implémentées, elles ne sont pas même un peu écrites, elles sont inexistantes. Publicité mensongère donc, mais passons.

 

Je me mets donc à construire ma propre application qui capture les touches du clavier et oblige Photoshop à se comporter comme je le souhaite. Cela marchera si bien que j'en arrive à vouloir utiliser la reconnaissance vocale de Windows pour tirer pleinement parti de la puissance de mon nouvel outil. En effet je peux utiliser n'importe quelle touche du clavier pour effectuer n'importe quelle action au lieu de rester coincé avec les 12 touches F1… F12 de rigueur.

 

Il faut habituer la machine à reconnaître ma voix mais au bout d'un moment tout fonctionne à peu près correctement.

 

Il y a juste un détail c'est que quand je demande d'appuyer sur « 5 » c'est toujours le « 5 » du clavier central qui est enfoncé et pas celui du clavier numérique. C'est très agaçant parce qu'un appui sur les touches du pavé numérique ont une action différente des touches du clavier central. Or c'est le pavé que je dois atteindre.

Je contacte le service de Microsoft avec une question claire : « Peut-on avec la reconnaissance vocale atteindre le pavé numérique ? » La réponse (que je n'obtiendrai pas) est « non ». Personne n'y a jamais pensé apparemment. Pourquoi moi ?

 

Du coup, me voilà reparti à capturer les touches du clavier. L'idée est que si je demande à la reconnaissance vocale d'appuyer sur « 5 » du central je capture la frappe et lui fasse appuyer sur le 5 du pavé numérique.

Et là c'est très drôle.

Si le code côté langage de programmation pour reconnaître un « 5 » central est bien celui qui est donné par Microsoft POUR UNE FRAPPE EFFECTIVE, la reconnaissance vocale, elle, frappe une parenthèse car elle fonctionne avec le clavier anglais.

Pour obtenir que mon programme reconnaisse un « 5 » central frappé avec la reconnaissance vocale, mon programme doit recevoir en entrée un « 5 » puis le transformer en « maj +5 » pour le traiter comme un « 5 ». Sinon, je dois dire « appuyer sur « ( » ou « et commercial » ou « tiret » ce qui serait un peu schizophrénique même pour moi qui ai des dispositions.

 

Il y en a qui s'ennuient à la retraite… Je les admire.

Repost 0