[>a2458.html>] [<a2456.html<] [^a2.html^]
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.
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.
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.
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
.
È 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.
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