[Lugge] Re: A proposito di "Locale" ....

  • From: ianezz@xxxxxxxxxx
  • To: lugge@xxxxxxxxxxxxx
  • Date: Mon, 10 Dec 2001 11:34:16 +0100

Una cavalletta salita sulla tastiera di Stefano ha scritto:

 > da shell sotto X non riesco a formare la sequenza ascii ALT + numero sul
 > tastierino numerico.

Infatti, non e` previsto. Al massimo funziona in console testuale di
Linux, ma sotto X senza programmi ad hoc non se ne parla.

Detto questo, ci sono alcune cose da sapere:

1) Con XFree86 con la tastiera italiana puoi ottenere:

   `{' con AltGr + 7
   `}' con AltGr + 0
   `~' con AltGr + ì (la i accentata)

2) Puoi modificare in qualsiasi momento i keybindings dell'X server
   con xmodmap. Ad esempio, se hai una tastiera con i tasti `Windows'
   sinistro e destro, puoi rimapparli in modo da generare la graffa
   aperta e la graffa chiusa. Ad esempio:

   xmodmap -e 'keycode 115 = braceleft'
   xmodmap -e 'keycode 116 = braceright'

   Per i codici 115 ed il 116 vado a memoria, non sono sicuro che
   siano corretti. Ma trovarli e` semplice.

   Per trovare i keycode per i vari tasti basta lanciare `xev' in un
   xterm, portare il puntatore nella sua finestra, premere i tasti di
   cui si vuol sapere il keycode e guardando appunto il valore di
   `keycode' nel log degli eventi.

   Nota che, tipicamente, gli script di shell che fanno partire l'X
   Window System vanno a cercare un file ~/.xmodmap ed eseguono i
   comandi di xmodmap che ci trovano dentro. Per cui, se vuoi rendere
   la cosa persistente, basta modificare quel file.

   Un programmino un po' piu` comodo per farlo e` `xkeycaps' di
   J.Zawinski, che permette di modificare la tastiera e di salvare dei
   file di xmodmap con le relative modifiche.

   `man xmodmap' per maggiori dettagli. I vari keysym
   (i.e. `braceleft', `braceright') li trovi elencati in 

      /usr/include/X11/keysymdef.h

   (togli il prefisso `XK_' quando lo specifichi in xmodmap)

3) Oppure uno usa `xvkbd' (http://member.nifty.ne.jp/tsato/xvkbd/) che
   e` una simpatica tastiera virtuale. Il layout di default e` quello
   americano, con le graffe.

4) Per gli editor: 

   - GNU Emacs permette di introdurre codici `grezzi'
     mediante la sequenza C-q <codice> (ctrl+q codice), dove <codice> e`
     appunto il codice del carattere come numero ottale (ottale e non
     decimale per luuunga tradizione).
  
     Se preferisci usare una base 10 piuttosto che la base 8, vai di
  
     M-x customize-variabile read-quoted-char-radix 
  
     e la imposti a 10. 
  
     Con XEmacs (una `bestia' differente GNU Emacs) dovrebbe
     funzionare in maniera simile, ma non mi pare che XEmacs venga
     installato con `customize' di serie. Per cui, per variare il
     contenuto della variabile probabilmente devi mettere una riga

     (setq 'read-quoted-char-radix 10)
  
     nel tuo ~/.emacs (ma non garantisco il risultato: non uso XEmacs).

   - con Vim usi vai di Ctrl+V <codice> con il codice decimale. Non
     funziona col `vi' liscio che trovi su altri UNIX commerciali (ma
     sotto Linux `vi' e` quasi sempre un link simbolico a `vim').

   Altri editor hanno altri sistemi.

5) Quanto alla shell che scrive `Arg:': bash usa la libreria GNU
   readline per leggere l'input da terminale, e questa liberia per
   default si comporta in maniera simile a Emacs.

   Ad ogni comando in Emacs (es. `spostati a sinistra' oppure
   `cancella un carattere') e` possibile passare un parametro numerico
   (il cosiddetto `universal argument') come prefisso al comando, e
   questo modifica il comportamento del comando stesso.
   
   Spesso e volentieri un parametro del genere indica il numero di
   ripetizioni di un comando. 

   Normalmente questo parametro si fornisce premendo C-u <numero>
   <comando> (es. Ctrl+u 5 <backspace> dovrebbe cancellare 5
   caratteri), ma e` possibile specificarlo anche digitando le cifre
   tenendo premuto il tasto Meta (solitamente mappato sull'Alt
   sinistro).

   Readline si comporta in maniera simile, per cui ecco il perche` di
   `Arg:'.

-- 
UNIX diapers by Pannolini USPTO 2039887  http://www.uspto.gov
Matteo Ianeselli      ianezz AT sodalia.it  (+39) 0461 316452
Visita il LinuxTrent:            http://www.linuxtrent.it


<========----------
 Prima di scrivere in m-list per favore leggi il regolamento
 http://lugge.ziobudda.net/benvenuto.html



Other related posts: