La Tastiera
La configurazione Linux della tastiera ha senso solo se stiamo usando un programma emulatore di terminale su Linux. Se stiamo lavorando su Windows, la configurazione di tastiera è quella di Windows.
La tastiera Linux italiana contiene molti più tasti di quella Windows. Nell'immagine seguente:
- Basso a sinistra: Tasto
- Alto a sinistra: Shift+Tasto
- Basso a destra: AltGr+Tasto
- Alto a destra: AltGr+Shift+Tasto
Per AltGr si intende Alt Grafico, il tasto a destra della barra spaziatrice.
Visto che il numero di tasti è sempre inferiore ai caratteri rappresentabili, si chiama Metodo di Input la combinazione di tasti per ottenere un determinato carattere.
Linux ha un Metodo di Input che usa combinazioni di tasti sia parallele che seriali.
Le combinazioni parallele sono appunto Tasto
, Shift+Tasto
, AltGr-Tasto
, AltGr+Sift+Tasto
.
Con le combinazioni seriali si ottengono lettere accentate, umlaut, ecc.
Per esempio:
AltGr+Shift+.
vocale – mette l'umlaut alla vocale
AltGr+Shift+à a
– produce å
Digitare la prima combinazione, quindi staccare le dita dalla tastiera e poi premere il secondo tasto.
Il metodo di input di windows, Alt+numero
, non esiste in linux.
Attenzione
La tastiera e il metodo di input Linux sono disponibili se si sta lavorando su Linux, su un terminale a caratteri o finestra di terminale direttamente connessa alla console.
Se si accede a Linux dalla rete, tramite un emulatore di terminale, la tastiera in vigore e il suo comportamento sono quelli del sistema locale, non di Linux.
Per esempio, se su Windows si usa Putty per accedere a Linux tramite SSH, la tastiera è quella di Windows, non Linux.
Per questo si raccomanda, per gli sviluppatori di software, di usare una workstation Linux.
Tasti più usati
I tasti più usati nelle procedure shell sono tra loro vicini, in alto a destra (ottenuti con AltGr).
Questo rende molto più facile la vita ai programmatori, che hanno spesso bisogno di tali tasti. In particolare due di essi sono di difficile generazione in Windows:
- ~ (tilde) - rappresenta la directori di login o di 'casa' di un utente
- ` (backtick) - usato per l'interpolazione di comandi in programmazione Bourne shell
In generale l'uso di Linux, grafico, come workstation di programmazione, dà molti vantaggi rispetto a Windows, specie per tutti quei linguaggi che sono stati inventati in ambiente Unix, come C, C++, Java, Go, Rust, ecc.
Codici di caratteri
Quando un utente digita un carattere a tastiera, che compare subito a video, come per esempio nell'editazione di un file, in realtà avvengono tre livelli di operazioni:
- la pressione di tasti di tastiera, parallela o seriale, corrispondenti a contatti di una matrice elettrica sotto la tastiera. Ogni combinazione di tasti è un codice numerico a basso livello detto keycode
- i keycodes vengono tradotti dalla mappa di tastiera, detta keymap
- le mappe di tastiera nazionali sono configurabili
- le mappe di tastiera per l'ambiente a caratteri (CLI) e grafico (GUI) sono completamente distinte e hanno configurazioni diverse
- viene generato un simbolo detto keysym che rappresenta un'unità in un codice di caratteri; è questo che viene inserito nei file
- il codice più antico era US ASCII a 7 bit per carattere
- svariati codici intermedi, p.es. i codepage di Windows o gli standard ISO-8859 non sono più usati in Linux
- Linux usa Unicode, in particolare UTF-8
- il simbolo keysym viene rappresentato in un disegno su video, detto un glifo, tramite un file di font
- i files di font sono installabili e configurabili
Con US ASCII vi era una corrispondenza uno-a-uno tra bytes e caratteri. Questo no è più vero. I linguaggi di programmazione moderni usano la seguente terminologia:
- carattere è il singolo byte sottostante
- runa è il simbolo keysym
Per esempio le rune giapponesi 日本国
che sono tre, corrispondono ai caratteri o bytes esadecimali 97 e6 e6 a5 ac 9c 9b e5 0a bd
, che sono dieci.
Una runa Unicode può corrispondere a uno fino a sei caratteri. Lo standard Unicode possiede al momento circa 100.000 rune, per rappresentare le varie lingue del mondo.
Naturalmente per visualizzare le rune come glifi a video occorre il font giusto.