Effectivement le JfwAPI retourne seulement l'acquitement de réception de la
fonction appelée,
Et tu ne peux même pas changer cet acquitement en envoyant une fonction
erronée.
Reste donc le recours à un fichier temporaire, une clé de registre ou un
objet COM mais encore faudrait-il que les scripts les gères.

Menfin, je me demande si tu ne te tortures pas pour rien...
Si j'écris un Jeu utilisant ton API, soit je passerais en SleepMode par mes
propre scripts associés, soit par un appel de function depuis le programme.
Donc en théorie je sais dans quel mode est jaws, certe sans pouvoir le
vérifier.

Par contre dans l'absolu, si tu veux savoir si JAWS est en slip, ou en
caleçon, je ne vois aucun moyen...
Puisque par définition tu n'ai pas intervenu dans les scripts en cours, tu
ne peux qu'utuliser les RunFunction ou RunScript qui limite grandement les
possibilités.
A moins que Freedom ai caché une fonction dédié, je ne vois pas trop comment
faire.

Comme je ne sais si tu as eut mes précédentes remarques, je me permét de les
refaires :
- Apparament lorsque tu pilote NVDA, tu ne le fais pas brailler.
- Il serais souhaitable que le chemin d'accés aux DLL externes se fassent
depuis le dossier de ta DLL et non en relatif.
- Integrer la gestion de SpeechPlatform car de nombreuse langue gratuite
sont fournie.
- Coriger la gestion de SAPI

Merci pour ton travail

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de QuentinC
Envoyé : mercredi 22 février 2012 08:56
À : [email protected]
Objet : [progliste] Re: ScreenReaderAPI et problème jaws en sleep mode

Vous ne connaissez pas le sleep mode ? Ca m'étonne un peu...
Quand on active ce mode pour une application particulière, deux choses
principales se passent :
* Jaws ne parle pas pour cette application, c-à-d tant qu'on est dedans jaws
ne lit rien du tout
* L'intercepteur de clavier est désactivé, c-à-d tant qu'on est dans
l'application, les touches fonctionnent normalement et ne sont pas
interceptés par les pilotes de jaws

Cette deuxième propriété rend ce mode très utile notamment pour les jeux, où
il n'est pas rare que les touches fléchés ou d'autres touches clés ne
fonctionnent pas correctement si jaws est réellement actif. Si vous avez
déjà joué à quelques jeux audio, vous avez sûrement déjà rencontré ce
problème.

Mon ScreenReaderAPI.dll étant destiné à tout types d'applications et en
particulier les jeux, ce serait bien de trouver une solution à ce problème.
Au fait, ScreenReaderAPI.dll est déjà utilisé dans plusieurs jeux: deux
miens: le salon et greenies escape, mais aussi celui d'un autre développeur
maintenant: SoundRTS. Heureusement, aucun de ces jeux ne nécéssite la
désactivation de jaws, mais je vois déjà le problème venir avec d'autres
applications.

J'ai remarqué que, bien que jaws soit muet et qu'aucun script ne puisse être
déclenché par des raccourcis clavier normaux, il est toutefois possible de
lancer un script ou une fonction via l'API FS. Test effectué avec la
fonction beep, en l'occurence. Vous pouvez tester en utilisant les fonctions
jfwRunScript et jfwRunFunction de ScreenReaderAPI.dll si vous ne voulez pas
utiliser l'API FS en COM/automation directement.

J'aurais voulu trouver un moyen  me permettant de savoir, dans ma DLL, si
jaws est en sleep mode ou pas. Le principal problème à contourner en plus
d'utiliser des fonctions jaws pour y parvenir, c'est que les valeurs de
retour ne sont pas transmises à l'applant C/C++ et que puisque ça correspond
à une sorte de fonction eval, impossible de passer des objets par référence.
Donc challenge supplémentaire, il faut que ce soit un one-liner.


Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.

Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.

Répondre à