Manipulation du clavier...

linky666 Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 14 avril 2005 - 14 avril 2005 à 14:14
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 - 16 avril 2005 à 09:00
Bonjour a tous

J'aimerais savoir si il est possible de faire comme si une touche du clavier a été enfoncée. Par exemple, je ne suis pas devant mon écran mais c'est comme si j'appuyais sur la touche 'a' toutes les 10 min. Ce n'est qu'un exemple, je n'ai pas besoin de savoir comment gérer des temps, mais juste si il y a moyen de faire croire qu'on a appuyé sur une touche.

Merci

6 réponses

vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 3
14 avril 2005 à 14:32
renseigne toi sur le buffer clavier : il est dans zone de la ram au environ du 700éme octet
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 avril 2005 à 14:40
Sous Windows: voir SendInput() dans MSDN.

ciao...
BruNews, MVP VC++
0
linky666 Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 14 avril 2005
14 avril 2005 à 15:40
Premièrement, merci pour les réponses :)
J'ai déjà essayé SendInput, SendMessage/PostMessage, et keybd_event, mais ca ne fonctionne pas.
Je vais être un peu plus précis :)
J'aimerais faire en sorte qu'une application qui utilise directx ait l'impression qu'une touche est enfoncée. D'après ce que j'ai compris, directx lis directement le status du clavier, ce qui explique que ces fonctions ne fonctionnent pas... et DirectInput ne permet pas d'envoyer quoi que ce soit à l'aide du clavier.
Je n'ai pas encore cherché pour le buffer clavier, est ce qu'il y a une chance pour que ca fonctionne ?
0
vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 3
14 avril 2005 à 16:25
le buffer clavier, c'est un truk gérer par les int BIOS . Je crois que c'est l'interruption 9 ou 16 h ki ecrit dans le buffer clavier. Donc avec MS-DOS sa marche mais avec DirectX ?????
Faut voir si Windows utilise aussi ce buffer clavier ??
Donc faudrait un programme qui lit la RAM .....
Va chercher des infos sur la MSDN
Je pense que sa peut marcher : regarde de la doc sur le net

PS : je cherche desesperement de l'aide pour un post que j'ai mis hier
sur un kernel en C et en asm (c'est deux post plus bas que celui ci) merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
linky666 Messages postés 4 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 14 avril 2005
14 avril 2005 à 21:20
Je viens de tester une écriture directement sur le buffer clavier, ca affiche les caractères dans l'application qui fait l'interruption uniquement...
De toutes facons, j'avais l'intention d'utiliser du code assembleur avec interruptions dans borland c++ builder, mais ca ne semble pas possible, je pense que je vais laisser tomber cette idée tout simplement ^^;
Merci en tout cas pour les suggestions (et désolé je ne suis pas assez compétent pour répondre à ta question sur le kernel :-( )
0
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
16 avril 2005 à 09:00
Salut,
On peut effectivement simuler l'appui sur une touche.Il faut passer par un driver.On détourne l'interruption du clavier et on rajoute le code de la touche .Il existe un example en masm mais pour l'instant le site est en panne.
C'est l'interruption 16h qui gère le clavier , et n'y a rien la dessus dans msdn.
Voir mon site ,"liens" tout y est sur " masm , dos et vxd".
le site en panne http://www.freewebs.com/four-f/ avec l'exemple d'interrogation clavier sous XP.
MASM32 propose depuis peu un kit pour réaliser des drivers sous XP,2000 et NT

ToutEnMasm
0
Rejoignez-nous