Vorrei tanto sapere qual’è il processo per cui un tasto premuto nella tastiera riesce a far comparire segni sul monitor,mi piacerebbe avere una descrizione di tutto il percorso compiuti dai bit.Grazie

Prendiamo un moderno computer da tavolo p.es. con Windows come sistema operativo. Gli altri si comportano tutti piu’ o meno alla stessa maniera.

La tastiera contiene un microprocessore il cui compito e’ quello di scandire continuamente i sensori collocati sotto ogni tasto, qualunque esso sia, includendo quindi i tasti di controllo come maiuscole, Control, Alt Print, Scroll Lock etc…

Il sensore di solito e’ un Transistor a effetto Hall questo perche’ e’ estremamente robusto ed affidabile. Il Transistor e’ infatti sensibile al campo magnetico in cui e’ immerso ed e’ quindi sufficiente inserire un magnetino in ogni tasto. Premendo il tasto il magnetino si avvicina al Transistor sottostante e, quando il microprocessore interroghera’ quel particolare transistor, "capira’ che il tasto corrispondente e’ abbassato.

Quando il microprocessore sente che un tasto e’ stato premuto , lo campiona per un po’ di tempo (pochi millisecondi) per essere sicuro di eliminare eventuali rimbalzi che farebbero apparire il carattere come "battuto piu’ volte" (con i transistor a effetto Hall l’antirimbalzo non dovrebbe essere necessario). Quando sente che il tasto e’ stabilmente premuto invia al computer un codice che in pratica dice "premuto il tasto numero XX".

Se il tasto viene tenuto premuto, dopo un ‘intervallo di tempo programmato il microprocessore riinvia lo stesso codice e cosi’ via finche’ il tasto non viene rilasciato (questa tecnica detta "typematic" fa apparire una sequenza di caratteri uguali o di spostamenti uguali solo tenendo premuto il tasto evitando cosi’ all’operatore fastidiose ribattute manuali).

Quando il tasto viene rilasciato un’altro messaggio viene inviato al computer. Questo messaggio dice: "rilasciato il tasto numero XX".

Tutto quanto descritto sopra e poco piu’ avviene interamente dentro la tastiera sotto il controllo del microprocessore specializzato contenuto in essa e che nulla ha a che vedere col microprocessore del computer.

L’hardware del computer, quando riceve un messaggio dalla tastiera, genera un’interrupt. In parole povere il programma in esecuzione in quell’istante viene sospeso e viene eseguito un apposito codice del sistema operativo che legge il messaggio inviato dalla tastiera e lo accoda alla destinazione acconcia. Quale sia la "destinazione acconcia" dipende dal sistema operativo e da quello che l’utente sta facendo in quell’istante. Per fare un esempio, se siamo in Windows e stiamo lavorando con Word sara’ la copia di Word che abbiamo attiva in quel momento che ricevera’ da Windows un messaggio che dice che il tasto tal dei tali e’ stato premuto. Questo a meno che Windows non abbia deciso p.es. di usare il tasto per se’ (come accade appunto col tasto speciale "Windows" che serve ad aprire il Menu’ di Avvio dei programmi);

Il programma che "riceve il tasto" puo’ a questo punto farne quello che vuole, incluso ignorarlo. In questo caso l’effetto del tasto sara’ perduto e nulla apparira’ sul video.

Di solito pero’ il programma usera’ in qualche modo il codice del tasto premuto per eseguire una particolare funzione. Con le freccette spostera’ il cursore, se e’ stato premuto Ctrl o Alt contemporaneamente eseguira’ la funzione associata alla combinazione etc…. Per i normali tasti alfabetici o numerici di solito alterera’ il contenuto del testo su cui si stava operando e mostrera’ (sempre a programma) il testo cosi’ alterato sul video. Ecco apparire, in questo caso, sul video il carattere battuto! Naturalmente, essendo tutto il processo descritto prima avvenuto in pochi millisecondi, l’effetto visivo e’ una illusione di collegamento diretto tra tastiera e video. Spero di aver fatto capire che non e’ cosi’.

Tutto questo sembra complicato a dismisura, ma consente di porre "filtri intelligenti" a piu’ livelli (Sistema operativo e programma applicativo). Per esempio un programma che esegue calcoli numerici rifiutera’ caratteri non numerici magari con un suono che avverte che il carattere e’ stato sentito dal programma (la tastiera non e’ guasta), ma non puo’ essere accettato perche’ incompatibile con l’operazione che si vuole fare. Un’altro esempio e’ l’introduzione di una Password che non si vuole mostrare sul video perche’ si ha paura che qualcuno di passaggio la copi e se ne impadronisca: I caratteri battuti finiscono cosi’ come sono nella memoria interna del programma, che quindo e’ in grado di inviare la vera password. Sul video appare invece solo una fila di asterischi.