Simuler l'appui sur la touche entrée

Bonjour,
Je cherche une fonction écrite en c permettant de simuler l’appui sur la touche entrée d’un clavier.
Quelqu’un aurait il une fonction dans ce genre (qui fonctionne aussi bien sous windows que sous linux),svp?
Merci d’avance.

Salut,

J’ai çà sous Windows mais c’est un shareware très perfectionné qui sait ne faire enter que s’il reconnait la question posée. Il pourrait, mis entre de vilaines mains servir à outrepasser les droits d’un autre slack-ware :slightly_smiling:

Si je ne me trompe pas, cette fonction existait sous Pascal mais ça remonte pour moi à … 20 ans :unamused: donc plus de mémoire.

[quote=“ggoodluck47”]Salut,

J’ai çà sous Windows mais c’est un shareware très perfectionné qui sait ne faire enter que s’il reconnait la question posée. Il pourrait, mis entre de vilaines mains servir à outrepasser les droits d’un autre slack-ware :slightly_smiling:[/quote]

J’ai oublier de préciser que je cherche une fonction écrite en c pas un logiciel.

Re,

J’avais bien lu

[quote=“ggoodluck47”]Salut,

J’ai çà sous Windows mais c’est un shareware très perfectionné qui sait ne faire enter que s’il reconnait la question posée. Il pourrait, mis entre de vilaines mains servir à outrepasser les droits d’un autre slack-ware :slightly_smiling:[/quote]

Elle ne va pas servir à ça, mais à autre chose de moins “illégal”.

Plonge toi dans la doc de xlib ou mieux de xcb. Ça permet de discuter directement avec le serveur X.

Dois-je comprendre que je vais devoir expliquer à quoi va servir cette fonction?

Hello,

Le c remonte pour moi, mais je suis assez curieux de savoir quel utilité tu vas en faire.

Normalement, la touche entrée ne sert que pour l’IHM sinon tu utilises un bon vieux caractères 0x0A non?

Ceci dit, je suis novice … mais curieux (on dit que c’est un défaut mais bon je dormirais peut être moins c** ce soir :stuck_out_tongue: )

C’est dans le cadre du projet que nos profs de langage c veulent nous faire faire (un logiciel pour skipper).

Dois-je comprendre que je vais devoir expliquer à quoi va servir cette fonction?[/quote]
???

Pourquoi tu me parles de xlib ou de serveur x?
Ce projet doit fonctionner aussi bien sous Windows que sous Linux.

Excuse moi j’avais mal lu. Tu peut peut être jouer sur un caractère de la table ASCII comme disait benghost.
Sinon je doute que la norme C intègre ce genre de choses (en tout cas elle ne le fait pas à ma connaissance) donc je te conseillerais d’intégrer un autre langage à ton appli voir de coder en C mais de choisir à la compilation si tu utilise xlib sous BSD/GNU et je ne sais pas quoi sous windows.

Je confirme :wink:

Comme je ne sais pas ce qu’est un logiciel pour skipper, soit c’est en mode console, dans ce cas le caractère entrée ("\n") peux faire l’affaire, soit c’est en mode graphique, dans ce cas regarde du côté de GTK (plus précisément GDK qui te servira de couche portable entre X ou l’API win32).

T’es sur que \n est portable ? Ils utilisent pas \r\n ?

Le logiciel en question est en mode console.
Voilà plus précisément la section du code où cette fonction serait utile:
void Vider_Tampon()
{
char x ;
while((x=getchar())!=’\n’&&x!=EOF);
}

Oui, en mode texte les caractères de saut de ligne (\r, \n ou \r\n) sont automatiquement convertis en \n

[quote=“linux78”]Le logiciel en question est en mode console.
Voilà plus précisément la section du code où cette fonction serait utile:
void Vider_Tampon()
{
char x ;
while((x=getchar())!=’\n’&&x!=EOF);
}[/quote]
Si le but est de vider le tampon d’entrée jusqu’à ce qu’il soit vide ou jusqu’au premier saut de ligne, c’est bon :wink:

Ok.
Merci à tous. Je crois que je vais laisser la fonction telle qu’elle est écrite.

Tu as la possibilité suivante (hack un peu immonde mais ça marche)

Tu fais tout d’abord un strace de ton programme pour voir quelle fonction est appelé pour le clavier. Tu écrits une petite librairie redéfinissant cette fonction et tu charges le tout par LD_PRELOAD.

[quote=“fran.b”]Tu as la possibilité suivante (hack un peu immonde mais ça marche)

Tu fais tout d’abord un strace de ton programme pour voir quelle fonction est appelé pour le clavier. Tu écrits une petite librairie redéfinissant cette fonction et tu charges le tout par LD_PRELOAD.[/quote]

Tu peux être + explicite?