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