Tastiere US, xmodmaprc e traduttori Tuesday, 29 July 08

Ieri ho postato un mio vecchio articolo sull'entropia dell'informazione su Ycombinator. Qualcuno ha postato come risposta il link a translate.google.com con la traduzione (chiamiamola così...) in inglese, e dopo un pò ho ricevuto questo feedback via email:
You can improve your blog by doing... using real accents so translating software can do a better job at translating your aritcles!
Il motivo per cui non uso (o meglio usavo) quasi mai gli accenti è che utilizzo da tempo immemore la tastiera con la mappatura US. Il layout fisico della tastiera è italiano ma dal punto di vista software la mappa è US. Il fatto è che per chi programma e specialmente per chi utilizza Unix la mappatura US è troppo più comoda: caratteri come [ ] / \ ' sono ottenibili semplicemente premendo un tasto (senza alcun modificatore), mentre con il solo utilizzo dello shift si ottengono facilmente { } | @ ed altri ancora, insomma non c'è paragone... se ci si abitua è difficile tornare indietro.

Il problema è che tutti questi bei caratteri si pagano con la mancanza delle accentate :) Qualche tempo fa però mi sono deciso e ho risolto il problema caricando una mappatura modificata in maniera specifica per gli italiani che consente tramite AltGR + a,e,i,o,u di ottenere le accentate ottenendo il meglio delle due mappature.

Se usate Linux e volete utilizzare tale mappatura dovete semplicemente creare un file .xmodmaprc dentro la vostra home con il seguente contenuto:
clear Mod1
clear Mod2
!  us.map with a few redefinitions
keycode   9 = Escape Escape
keycode  10 = 1 exclam
keycode  11 = 2 at at
keycode  12 = 3 numbersign
keycode  13 = 4 dollar dollar
keycode  14 = 5 percent currency
keycode  15 = 6 asciicircum dead_circumflex
keycode  16 = 7 ampersand braceleft
keycode  17 = 8 asterisk bracketleft
keycode  18 = 9 parenleft bracketright
keycode  19 = 0 parenright braceright
keycode  20 = minus underscore backslash
keycode  21 = equal plus
keycode  22 = BackSpace Delete
keycode  23 = Tab Tab
keycode  24 = q
keycode  25 = w
keycode  26 = e E egrave
keycode  27 = r R eacute
keycode  28 = t
keycode  29 = y
keycode  30 = u U ugrave
keycode  31 = i I igrave
keycode  32 = o O ograve
keycode  33 = p
keycode  34 = bracketleft braceleft guillemotleft
keycode  35 = bracketright braceright guillemotright
keycode  36 = Return
keycode  37 = Control_L
keycode  38 = a A agrave
keycode  39 = s
keycode  40 = d
keycode  41 = f
keycode  42 = g
keycode  43 = h
keycode  44 = j
keycode  45 = k
keycode  46 = l
keycode  47 = semicolon colon dead_diaeresis
keycode  48 = apostrophe quotedbl
keycode  49 = grave asciitilde dead_grave
keycode  50 = Shift_L
keycode  51 = backslash bar
keycode  52 = z
keycode  53 = x
keycode  54 = c C ccedilla
keycode  55 = v
keycode  56 = b
keycode  57 = n
keycode  58 = m
keycode  59 = comma less apostrophe
keycode  60 = period greater quotedbl
keycode  61 = slash question
keycode  62 = Shift_R
keycode  63 = KP_Multiply
keycode  64 = Alt_L Meta_L
keycode  65 = space space
keycode  66 = Caps_Lock
keycode  67 = F1 F11
keycode  68 = F2 F12
keycode  69 = F3 F13
keycode  70 = F4 F14
keycode  71 = F5 F15
keycode  72 = F6 F16
keycode  73 = F7 F17
keycode  74 = F8 F18
keycode  75 = F9 F19
keycode  76 = F10 F20
keycode  77 = Num_Lock
keycode  78 = Scroll_Lock
keycode  79 = KP_7
keycode  80 = KP_8
keycode  81 = KP_9
keycode  82 = KP_Subtract
keycode  83 = KP_4
keycode  84 = KP_5
keycode  85 = KP_6
keycode  86 = KP_Add
keycode  87 = KP_1
keycode  88 = KP_2
keycode  89 = KP_3
keycode  90 = KP_0
keycode  94 = less greater bar
keycode  95 = F11 F11
keycode  96 = F12 F12
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 112 = KP_Divide
keycode 113 = Mode_switch
keycode 114 = Break
keycode 110 = Find
keycode  98 = Up
keycode  99 = Prior
keycode 100 = Left
keycode 102 = Right
keycode 115 = Select
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
keycode 116 = Mode_switch
! right windows-menu key, redefined as Compose key
keycode 117 = Multi_key
add Mod1 = Alt_L
add Mod2 = Mode_switch
E aggiungere nel vostro .xsession il seguente comando
xmodmap ~/.xmodmaprc &
Ne vale la pena. Detto questo i traduttori automatici potrebbero fare lo sforzo di sostituire liberta' con libertà nel caso in cui non c'è alcun match e la parola finisce con un apostrofo ;)

1 commenti
home