[Linuxtrent] Re: la domanda della spina nr. 1

  • From: Matteo Ianeselli <m.ianeselli@xxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sun, 17 Mar 2002 14:58:57 +0100

Di nascosto, il sosia di Lo'oRiS il Kabukimono ha scritto:

 > a proposito, conosci mica il modo di convertire automaticamente un
 > .xmodmap in un .kmap ???

Ho guardato un po', ma la cosa non e` proprio una scienza esatta:

1) I due file hanno formati piuttosto simili, pero` son due formati
   diversi.

2) I keycode numerici usati da Linux sono diversi dai keycode numerici
   usati da XFree86. 

   Quello che ho scoperto finora:

   - per tutti i keycode di Linux da 1 a 88 (grossomodo i tasti che
     stanno a sinistra sulla tastiera, ovvero lettere, numeri e tasti
     funzione, piu` le cifre del tastierino numerico):

       keycode_di_XFree86 = keycode_di_Linux + 8

     Ad esempio, il tasto ESC ha keycode 1 per Linux, e keycode 9 per
     XFree.

   - per i keycode di Linux da 89 in su (i.e. tasti cursore, home,
     end, page up e down), le cose sono abbastanza differenti.

     Ad esempio, il tasto Enter sul tastierino numerico ha keycode 96
     per Linux, e keycode 108 per XFree.


   Quindi bisogna costruire una mappatura dai keycode di XFree ai
   keycode di Linux. Se vuoi, ho costruito una tabellina delle
   corripondenze.

3) I nomi dei keysym (i nomi simbolici dei tasti) sono leggermente
   differenti, non ho capito dove stia l'elenco completo dei keysym
   per Linux (forse nei sorgenti di loadkeys?), e quindi bisogna fare
   una tabellina anche in questo caso.

4) I keycode dei tasti "Extra" cambiano da tastiera a tastiera.

Insomma: fare un programma di conversione non e` impossibile, pero`
non e` proprio banale tirar insieme le informazioni per farlo.

Per quanto riguarda la tilde, e` sufficiente modificare
/usr/lib/kbd/keymaps/i386/qwerty/it.map.gz (o simili) e scambiare tra
loro ``asciitilde'' (che trovi al keycode 13, i accentata) e
``iacute'' (che trovi al keycode 11, lo zero).

Cosa analoga si puo` fare anche per le graffe.



-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: