Cos'è la modalità tastiera grezza?


27

Nelle combinazioni di tasti magici sysrq , c'è la combinazione alt+sysrq+rche, secondo Wikipedia, fa quanto segue:

Passa dalla modalità raw, la modalità utilizzata da programmi come X11 e svgalib, alla modalità XLATE

Che cos'è la modalità raw? e cos'è la modalità XLATE?

Posso tornare alla modalità raw dopo essere passato alla modalità XLATE?

Come posso sapere in quale modalità si trova la mia tastiera?

Risposte:


23

Quando si preme un tasto sulla tastiera, invia un codice numerico al computer, chiamato codice di scansione. Il codice di scansione indica al computer quale tasto è stato premuto; ad esempio, su una tipica tastiera americana, il Atasto invia il codice di scansione 30 quando lo si preme (e 158 quando lo si rilascia). Il driver della tastiera segnala questi codici direttamente alle applicazioni quando la tastiera è in modalità raw ("raw" significa non elaborato, direttamente dalla tastiera). Alcuni programmi usano la modalità raw ed eseguono la propria elaborazione da tastiera; il server X è il più importante.

La maggior parte dei programmi prevede che quando si preme il Atasto, il programma legge il carattere a(ASCII 97) e che quando si preme Shift+ Ail programma legge A(ASCII 65) e quando si preme Ctrl+ Ail programma legge il Ctrl+Acarattere (ASCII 1). I tasti che non hanno caratteri associati inviano sequenze di escape, ad esempio \e[Aper Left, dove si \etrova il carattere ESC (ASCII 27). Il driver della tastiera esegue questa traduzione quando la tastiera è in modalità ASCII, chiamata anche modalità XLATE (abbreviazione di "tradurre"). La modalità XLATE consente alle applicazioni di immettere caratteri, a costo di non avere accesso a sfumature come "Tasto Maiusc sinistro premuto" o Ctrl + Maiusc + A distinto da Ctrl + A.

Il kbd_modeconsente di passare da una modalità all'altra, e mostra la modalità corrente Se si richiama senza alcun argomento.

Le magiche combinazioni di tasti SysRq sono pensate per recuperare da varie brutte situazioni. Una delle combinazioni di tasti è Alt+SysRq+Kuccidere tutti i programmi sulla console virtuale corrente; se quel programma mette la tastiera in modalità raw, non sarà possibile digitare al prompt di accesso (che apparirà spesso, a seconda della configurazione del sistema). Premendo si Alt+SysRq+Rripristina la normale modalità ASCII (fuori dalla X) in cui è possibile digitare caratteri.


9

È possibile definire il tipo di codice inviato dalla tastiera. Questo viene fatto tramite la modalità tastiera. È possibile cambiare la modalità di una tastiera con kbd_mode.

Queste sono le opzioni dalla manpage:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

È molto più facile per uno sviluppatore catturare eventi chiave come il tasto Maiusc sinistro premuto, se riesce semplicemente a ottenere gli scancodes dei tasti premuti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.