Pages : 1
#1 Le 04/07/2007, à 23:35
- sifourquier
simuler touche clavier c
bonjour
je voudrait faire un programme en c qui simule la frape d'une touche au clavier
j'ai tester avec
ungetch("a");
avec
#include <curses.h>
mais je n'arrive pas a compiler
gcc -o TEST TEST.c
TEST.c: In function «main":
TEST.c:69: attention : passing argument 1 of «ungetch" makes integer from pointer without a cast
TEST.c:59: attention : return type of «main" is not «int"
/tmp/ccF5lxXr.o: In function `main':
TEST.c:(.text+0x4b): undefined reference to `ungetch'
collect2: ld a retourné 1 code d'état d'exécution
alors si vous avez une solution merci d'avance
et si vous savez aussi commente simuler les touche et le déplacement de la sourie je suit preneur
Dernière modification par sifourquier (Le 05/07/2007, à 01:11)
Hors ligne
#2 Le 05/07/2007, à 10:15
- qqun
Re : simuler touche clavier c
De maniere generale on "link" avec les librairie que l'on utiise.
donc de ce cas avec curses.
gcc -o TEST TEST.c -lcurses
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
#3 Le 05/07/2007, à 13:25
- sifourquier
Re : simuler touche clavier c
merci sa compile mais sa fait pas se que je veut
je veut que sa fasse comme si je tapait au clavier
par exemple si je fait
while(1)
{
sleep(1)
tape("a");
}
et j'ouvre kwrite tout les seconde il va écrire a dans kwrite
Hors ligne
#4 Le 05/07/2007, à 14:14
- qqun
Re : simuler touche clavier c
je comprend pas tres bien le coup du kwrite
enfin tu peux simuler le 'a' avec ungetch().
basicement si tu fait :
ungetch('a');
suivi d'un
c = getch();
c prendra la valeur de 'a' soit 97.
l'exemple suivant en ncurses montre l'utilisation de ungetch
le prg attend la touche 'a' pour sortir de la boucle.
mais comme on a fait ungetch('a') avant la boucle ,
la condition est remplie donc le prg affiche 'a' et sort de la boucle.
(et attend l'appuie d'une touche avant de quitter)
#include <stdio.h>
#include <stdlib.h>
#include <ncurses.h>
int main(void){
int c;
initscr();
clear();
keypad(stdscr, TRUE);
noecho();
cbreak();
nodelay(stdscr, TRUE);
ungetch('a'); //add 'a' into the head of the input queue
while(1){
if ((c = getch()) ==ERR);
else if(c=='a'){
mvwprintw(stdscr, 1,1, "%c",c);
break;
}
}
nodelay(stdscr, FALSE);
echo();
getch();
endwin();
return EXIT_SUCCESS;
}
#5 Le 07/07/2007, à 16:31
- mrf
Re : simuler touche clavier c
Oulah ça va pas marcher comme ça...
Tu veux simuler des entrées au clavier pour les applis X (graphiques) ?
ncurses est une lib "graphique" pour console, ça n'a rien à voir. Je ne sais pas exactement comment ça se passe, mais je pense que tu devrais plus te rapprocher d'Xlib que de ncurses
Hors ligne
Pages : 1