#!/bin/sh # # Xwindow keyboard configuration for French and Vietnamese # typing using a standard US keyboard (PC-104) # # Copyright ©2002-2008 Jean Christophe André # # Redistribution of this file is permitted # under the terms of GNU Public License (GPL) # # 2003-05-15 - Version 1.5 # 2004-11-14 - added dead_abovering # 2005-02-24 - added guillemotleft & guillemotright # 2006-01-11 - added documentation inside (comments) # 2008-04-10 - replaced unused euro centimal division by vietnamese devise # 2008-11-05 - disabled Mode_switch (unstable position) # # Usage: # [alt]+[`] => grave accent (dead key, "huyền") # [alt]+['] => acute accent (dead key, "sắc") # [alt]+[?] => hook accent (dead key, "hỏi") # [alt]+[~] => tilde accent (dead key, "ngã") # [alt]+[.] => dot bellow accent (dead key, "nạng") # [alt]+[,] => horn accent (dead key, eg: use with [u] to get 'ư') # [alt]+[[] or [alt]+[w] => ư (only works Xorg, XFree86 still buggy) # [alt]+[]] or [alt]+[q] => ơ (only works Xorg, XFree86 still buggy) # [alt]+voyel => the voyel with circumflex accent already combined # [alt]+[s] => ă (short 'a') # [alt]+[d] => đ ('d' stroked) # [alt]+["] => trema (dead key, eg: use with [i] to get 'ï') # [alt]+[0] => ring (dead key, twice to get the degree symbol '°') # [alt]+[shift]+[,] => cedilla (dead key, eg: use with [c] to get 'ç') # [alt]+[c] => ç ('c' with cedilla already combined) # [alt]+[p] => œ (the faemous "e in o" missing from ISO-8859-1) # [alt]+[f] => æ (the "e in a") # [alt]+[$] => € (euro devise symbol) ### [alt]+[shift]+[$] => ¢ (euro centimal division) # [alt]+[shift]+[$] => ₫ (vietnamese devise symbol) # [alt]+[v] => © (copyright symbol) # [alt]+[shift]+[v] => ™ (trade mark symbol) # [alt]+[z] => « (left french guillemet) # [alt]+[x] => » (right french guillemet) # # If you simultaneously press the [shift] key, you'll get the expected # result as the same letter in it's capital case. # echo ' keycode 13 = 4 dollar EuroSign DongSign keycode 15 = 6 asciicircum dead_circumflex keycode 19 = 0 parenright dead_abovering keycode 24 = q Q ohorn Ohorn keycode 25 = w W uhorn Uhorn keycode 26 = e E ecircumflex Ecircumflex keycode 30 = u U ucircumflex Ucircumflex keycode 31 = i I icircumflex Icircumflex keycode 32 = o O ocircumflex Ocircumflex keycode 33 = p P oe OE keycode 34 = bracketleft braceleft uhorn Uhorn keycode 35 = bracketright braceright ohorn Ohorn keycode 38 = a A acircumflex Acircumflex keycode 39 = s S abreve Abreve keycode 40 = d D dstroke Dstroke keycode 41 = f F ae AE keycode 48 = apostrophe quotedbl dead_acute dead_diaeresis keycode 49 = grave asciitilde dead_grave dead_tilde keycode 52 = z Z guillemotleft keycode 53 = x X guillemotright keycode 54 = c C ccedilla Ccedilla keycode 55 = v V copyright trademark keycode 59 = comma less dead_horn dead_cedilla keycode 60 = period greater dead_belowdot dead_circumflex keycode 61 = slash question dead_hook dead_hook keycode 108 = Mode_switch Mode_switch ISO_Level3_Shift ISO_Next_Group ISO_Level3_Shift ISO_Next_Group ' | xmodmap - # keycode 113 = Mode_switch Mode_switch if [ "$1" = "vi-std" ] then echo ' keycode 10 = 1 exclam abreve Abreve keycode 11 = 2 at acircumflex Acircumflex keycode 12 = 3 numbersign ecircumflex Ecircumflex keycode 13 = 4 dollar ocircumflex Ocircumflex keycode 14 = 5 percent dead_grave dead_grave keycode 15 = 6 asciicircum dead_hook dead_circumflex keycode 16 = 7 ampersand dead_tilde dead_tilde keycode 17 = 8 asterisk dead_acute dead_abovering keycode 18 = 9 parenleft dead_belowdot dead_breve keycode 19 = 0 parenright dstroke Dstroke ' | xmodmap - fi