[>a2458.html>] [<a2456.html<] [^a2.html^]


Capitolo 359.   Tastiera

359.1   Tasti accessori della tastiera (regolazione volume, comandi cd)

Ho una tastiera particolare con parecchi tasti aggiuntivi. Sotto Windows parte di questi tasti servono per controllare l'audio (volume + e -; muto, ecc.) e il CD (play/pausa; stop, chiudi/espelli), altri sono programmabili per far partire determinati programmi, aprire certe cartelle ecc.

C'è un modo per poter assegnare delle funzioni a questi tasti anche sotto Linux? Ho letto da qualche parte che c'è chi ha riprogrammato i tasti Windows e Menù Contestuale delle tastiere Windows, immagino sia la stessa procedura, ma ignoro come si faccia e non so dove trovare informazioni.

---------

Io utilizzo una tastiera a 108 tasti (3 di Windows + sole nascente, mezzaluna e power) che ho riprogrammato così:

con showkey -k controlli quali tasti sono già associati a un codice tasto: premi i vari pulsanti e ti segni il numero decimale corrispondente (per uscire attendi 10s senza premere alcun tasto);

se alcuni tasti non danno segni di vita ripeti l'operazione con showkey -s: ad es. a me i 3 tasti di Windows risultavano assegnati già a 125, 126, 127, mentre i 3 tasti aggiuntivi apparivano muti. Con showkey -s invece ho ottenuto:

0xe0 0x63 
0xe0 0xe3 

pressione e rilascio del tasto col sole

0xe0 0x5f 
0xe0 0xdf 

pressione e rilascio del tasto con la luna

0xe0 0x5e 
0xe0 0xde 

pressione e rilascio del tasto col simbolo power

Ora devi assegnare un codice tasto a tali tasti, col comando:

# setkeycodes scancode keycode[Invio]

Es.:

# setkeycodes e063 122[Invio]

Attenzione: non utilizzare una mappa della tastiera già utilizzata! Meglio controllare prima l'organizzazione della tastiera attiva.

Modifica poi la tua mappa della tastiera per assegnare le funzioni che desideri ai nuovi tasti: io ho proceduto con delle stringhe che contengono i comandi da eseguire, ad es. per spegnere la macchina col tasto power ho modificato così il file /etc/kbd/default.map.gz (ho una Debian GNU/Linux 2.1)

[...]
keycode 124 = F69
[...]

e più avanti:

[...]
string F69 = "shutdown -h 1 &\n"
[...]

(ho messo un ritardo di un minuto in modo da avere il tempo di cancellare lo 'shutdown' in caso di pressioni accidentali. Altrimenti basta spegnere il monitor e andarsene, se è attivo il supporto per APM nel kernel e hai selezionato l'opzione power off on halt la macchina si spegne da sé).

Attenzione anche a concludere la stringa con «\n»! Con questa procedura la pressione di un tasto speciale viene interpretata come la battitura della stringa corrispondente, e come per ogni comando dopo ci vuole l'invio.

359.2   Impostare la tastiera italiana: i passaggi - pt. 1

Come si imposta la tastiera italiana nel mio sistema?

---------

Ecco i passaggi da seguire per impostare la tastiera italiana nella propria macchina.

Posizionarsi in /usr/lib/kbd/keymaps:

# cd /usr/lib/kbd/keymaps[Invio]

qui sono presenti diverse sottodirectory (a seconda della piattaforma), occorre posizionarsi nella directory corrispondente alla propria. Nel caso di Intel sarà i386:

# cd i386[Invio]

In questa directory è presente un'ulteriore struttura che presenta tante sottodirectory quanti sono i modelli di tastiera. In genere, il modello più diffuso è qwerty (dalle prime lettere della tastiera in alto a sinistra)

# cd qwerty[Invio]

a questo punto, con:

# ls it*[Invio]

è possibile verificare che esista il file di configurazione corrispondente alla lingua italiana.

Se non c'è, frugate nei vostri CD che lo trovate.

Le scelte dovrebbero essere: it-ibm.kmap.gz it.kmap.gz it2.kmap.gz (di solito it.kmap.gz dovrebbe andar bene, salvo casi particolari)

Per installare, eseguire il comando:

# loadkeys it[Invio]

che restituirà:

Loading it.kmap.gz

Se vi interessa verificare l'impostazione della tastiera:

# dumpkeys[Invio]

(meglio redirigere l'output in un file, visto che è piuttosto prolisso):

# dumpkeys > tastiera.txt[Invio]

questi passi dovrebbero consentire di configurare la tastiera per la console testuale.

Per X si utilizzi Xf86Setup.

359.3   Impostare la tastiera italiana: i passaggi - pt. 2

Come faccio a impostare la tastiera italiana?

---------

Devi inserire nel file /etc/sysconfig/keyboard la riga:

KEYTABLE="usr/lib/kbd/keytables/it.map" 

o comunque indica il percorso dove c'è il file it.map.

In ogni caso:

# loadkeys it.map[Invio]

(oppure solo it, è indifferente).

Solitamente le mappe delle tastiere sono in /usr/lib/kbd/keytables

Alcune volte la mappa caricata in realtà è un collegamento verso la mappa reale, così basta che cambi il collegamento e sei a posto.

359.4   Impostare tastiere estere

Qualcuno sa come impostare la tastiera americana estesa?

---------

La tastiera si imposta con:

# loadkeys nome-file[Invio]

dove nome-file è il file di mappa della tastiera, normalmente reperibile nella directory:

/usr/share/keytables/

Tali file terminano con .map e hanno un nome abbastanza significativo, tipo it.map it2.map.

359.5   Caratteri accentati su tastiera statunitense

È possibile generare i caratteri accentati su una tastiera statunitense?

---------

Per quanto riguarda X la cosa è molto semplice, basta modificare il file XF86Config mettendo la riga:

XkbLauout "us_intl"

In particolare ho questo file:

 Section "Keyboard"
    Protocol        "Standard"
    AutoRepeat      500 30
    LeftAlt         Meta
    RightAlt        Meta
    ScrollLock      Compose
    RightCtl        Control
    XkbKeycodes     "xfree86"
    XkbTypes        "default"
    XkbCompat       "default"
    XkbSymbols      "us(pc102)"
    XkbGeometry     "pc"
    XkbRules        "xfree86"
    XkbModel        "pc102"
    XkbLayout       "us_intl"
 EndSection

Per quanto riguarda il terminale il problema sono riuscito a risolverlo copiando il file us-acent.kmap.gz.

Se si vuole fare il carattere è basta premere in sequenza `e, Il bello è che si può fare anche È o È premendo 'E o `E! Se si vuole esagerare con "e si ottiene ë, oppure ~a genera ã. L'unica nota di demerito è che se si vuole fare realmente il carattere ` o ' o ancora " o ~ si deve premere successivamente al carattere lo spazio.

359.6   Riconfigurare la tastiera

Come posso modificare le impostazioni dei tasti della tastiera?

---------

Con:

# xkbcomp :0 -[Invio]

viene scaricata su standard output la mappa della tastiera. Se la redirigi su un file, la modifichi, e la reinstalli con il procedimento inverso, puoi configurare la tastiera come vuoi, e far sì, per esempio, che le parentesi graffe siano in corrispondenza di 8 e 9 come con la console testuale.

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it

[>a2458.html>] [<a2456.html<] [^a2.html^]