Che cos'è un:
Key-Event Dispatcher ?
nelle app interattive da tastiera.
Che cosa fa veramente?
Che cos'è un:
Key-Event Dispatcher ?
nelle app interattive da tastiera.
Che cosa fa veramente?
Senza più contesto è difficile esserne sicuri, ma di solito quello sarebbe il piccolo pezzo di codice che riceve l'informazione "Una chiave del tipo X è stata appena premuta / rilasciata / tenuta giù per un certo periodo di tempo" e poi fa qualunque cosa il programma dovrebbe rispondere. (Ad esempio, in emacs la maggior parte dei tasti delle lettere attiva il nome corretto self-insert-command
, mentre i tasti modificatori modificano lo stato del programma in modo che il successivo evento chiave faccia qualcosa di diverso dalla normale risposta.)
Può essere una sorpresa per i principianti, ma non c'è davvero alcuna ragione intrinseca per cui premendo un tasto "a" si possa far reagire un programma di computer stampando un carattere "a". I computer programmabili sono macchine complete di Turing, in linea di principio possono dare una qualsiasi risposta immaginabile a qualsiasi input: se si desidera il comportamento di "copia" simile a una macchina da scrivere (e in editor, shell ecc. Di solito), il codice deve essere detto esplicitamente di farlo Il dispatcher dell'evento tastiera si occupa di questo.
ascolta tutti gli eventi da tastiera e invia gli eventi a quegli ascoltatori che lo desiderano (caratteri nella casella di testo, scheda nel gestore di focus, collegamenti al rispettivo gestore ...)
questo può essere più efficiente di tutto ciò che ascolta la tastiera e fa un test if, se il dispatcher usa (per esempio) una mappa hash per trovare rapidamente dove inviare l'evento
Leggi altre domande sui tag user-interaction