Pagina 1 di 1

[C] keypressed e tasti di Shift in C

Inviato: dom 10 mag 2009, 15:01
da Calzo
Ciao a tutti.
Avrei la necessità di creare piccoli programmi in shell che richiedono però il rilevamento di più tasti premuti o rilasciati, oltre ai tasti di shift (si chiamano così?) come Ctrl, Shift, Alt, ecc.

Per farlo, un tempo sotto il pascal usavo keypressed oppure degli eventi ad hoc per individuare anche i tasti di shift. Oggi in C e sotto linux non riesco a farlo, se non scomodando le SDL (con SDL_GetKeyState()). Su internet ho trovato solo un esempio degno di nota ma non fa esattamente al caso mio :(

Che voi sappiate esiste un modo per fare questo senza scomodare le SDL?

grazie
bye

Re: [C] keypressed e tasti di Shift in C

Inviato: dom 10 mag 2009, 16:03
da Mario Vanoni
showkey per identificarli premendoli e rilasciandoli

Re: [C] keypressed e tasti di Shift in C

Inviato: dom 10 mag 2009, 22:30
da Calzo
No scusa, non mi sono spiegato correttamente: quando dicevo "programma in shell" intendevo (anzi intendo) un programma C senza interfaccia grafica ma che venga eseguito in shell. In pseudo-codice quello che intendo è questo:

Codice: Seleziona tutto

while(1) {
   key = keypressed();    // chiamata NON interruttiva
   if(key[x]==Ctrl)
       fai_qualcosa();    //funzione condizionata alla pressione di un tasto specifico
   fai_sempre_qualcosa(); // funzione eseguita sempre nel loop infinito
}
Grazie

EDIT: mi correggo, con le SDL devo comunque inizializzare una finestra nuova per la grafica. Senza questo non posso usare le SDL in un programma a linea di comando... :oops: quindi anche volendo non le potrei usarle #-o