next up previous contents index
Next: Gestione dell'output Up: Agni, l'Engine Previous: Agni, l'Engine   Indice   Indice analitico


Gestione dell'input

Ogni volta che un utente preme un tasto, il key handler di Linux 4D nel kernel, intercetta il codice del tasto premuto e lo mette in un buffer. Per segnalare a Middleware che c'è un nuovo evento in attesa, gli manda un segnale SIGUSR2. Ricevuto il segnale, Agni controlla il flag "Active", che indica se Middleware è attivo, o è stato disabilitato dall'utente. In caso sia attivo chiama una primitiva del kernel "get2ctrl" che gli passa il contenuto del buffer, e quindi il codice del tasto premuto. Se l'evento è relativo al cambio di console, e quindi di servizio attivo, aggiorna la variabile che contiene il valore della console attiva e da in uscita la descrizione del servizio attivo su quella console. La descrizione del servizio viene presa, al caricamento del Rule File del servizio, dalla prima sezione dello stesso. Se l'evento è relativo allo screen reader, glielo passa senza produrre alcun output. Altrimenti l'evento viene passato alla sezione "gestione eventi" di Agni stesso, senza dare niente in uscita.


next up previous contents index
Next: Gestione dell'output Up: Agni, l'Engine Previous: Agni, l'Engine   Indice   Indice analitico
2003-11-21