vn revision 1.1.1.10 1 // Vietnamese keyboard layout, somehow based on TCVN 5712:1993.
2 // Originally by Le Hong Boi <le.hong.boi (a] bigfoot.com>
3 // August 1999
4 // Further modified by Ashley Clark <aclark (a] debian.org>
5 // July 2000 for X 4.0
6 // Changed accents into combining marks by Samuel Thibault <samuel.thibault (a] ens-lyon.org>
7 // July 2009
8
9 default partial alphanumeric_keys
10 xkb_symbols "basic" {
11
12 include "us"
13
14 name[Group1]= "Vietnamese";
15
16 key <TLDE> { [ grave, asciitilde ] };
17 key <AE01> { [ abreve, Abreve ] };
18 key <AE02> { [ acircumflex, Acircumflex ] };
19 key <AE03> { [ ecircumflex, Ecircumflex ] };
20 key <AE04> { [ ocircumflex, Ocircumflex ] };
21 key <AE05> { [ 0x1000300, percent, dead_grave, percent ] };
22 key <AE06> { [ 0x1000309, asciicircum, dead_hook, asciicircum ] };
23 key <AE07> { [ 0x1000303, ampersand, dead_tilde, ampersand ] };
24 key <AE08> { [ 0x1000301, asterisk, dead_acute, asterisk ] };
25 key <AE09> { [ 0x1000323, parenleft, dead_belowdot, parenleft ] };
26 key <AE10> { [ dstroke, Dstroke ] };
27 key <AE11> { [ minus, underscore ] };
28 key <AE12> { [ DongSign, plus ] };
29
30 key <AD11> { [ uhorn, Uhorn ] };
31 key <AD12> { [ ohorn, Ohorn ] };
32
33 include "level3(ralt_switch)"
34 };
35
36
37 // US keyboard made Vietnamese
38 //
39 // Copyright (C) 2018, Florent Gallaire Phong <f (a] gallai.re>
40
41 partial alphanumeric_keys
42 xkb_symbols "us" {
43
44 include "us(basic)"
45 name[Group1]= "Vietnamese (US)";
46
47 key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
48 key <AE04> { [ 4, dollar, DongSign, currency ] }; //
49
50 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] }; //
51 key <AD07> { [ u, U, uhorn, Uhorn ] }; //
52 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; //
53 key <AD10> { [ p, P, ohorn, Ohorn ] }; //
54
55 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; //
56 key <AC02> { [ s, S, abreve, Abreve ] }; //
57 key <AC03> { [ d, D, dstroke, Dstroke ] }; //
58 key <AC11> { [dead_acute, quotedbl, apostrophe ] };
59
60 key <AB09> { [dead_belowdot, greater, period ] };
61 key <AB10> { [ dead_hook, question, slash ] };
62
63 include "level3(ralt_switch)"
64 include "eurosign(5)"
65 };
66
67 // French keyboard made Vietnamese
68 //
69 // Copyright (C) 2018, Florent Gallaire Phong <f (a] gallai.re>
70
71 partial alphanumeric_keys
72 xkb_symbols "fr" {
73
74 include "fr(basic)"
75
76 name[Group1]="Vietnamese (France)";
77
78 key <AE02> { [dead_tilde, 2, eacute, asciitilde ] };
79 key <AE04> { [dead_acute, 4, apostrophe, braceleft ] };
80 key <AE07> { [dead_grave, 7, egrave, grave ] };
81
82 key <AD01> { [ a, A, abreve, Abreve ] }; //
83 key <AD07> { [ u, U, uhorn, Uhorn ] }; //
84 key <AD09> { [ o, O, ohorn, Ohorn ] }; //
85 key <AD12> { [ dollar, sterling, DongSign, currency ] }; //
86
87 key <AC03> { [ d, D, dstroke, Dstroke ] }; //
88
89 key <AB07> { [ dead_hook, question, comma ] };
90 key <AB08> { [dead_belowdot, period, semicolon ] };
91 };
92
93
94 // EXTRAS:
95
96 // Vietnamese AERTY (60s typewriters adaptation)
97 //
98 // Copyright (C) 2018, Florent Gallaire Phong <f (a] gallai.re>
99
100 partial alphanumeric_keys
101 xkb_symbols "aderty" {
102
103 include "fr(basic)"
104
105 name[Group1]="Vietnamese (AERTY)";
106
107 key <AE02> { [dead_tilde, 2, eacute, asciitilde ] };
108 key <AE04> { [dead_acute, 4, apostrophe, braceleft ] };
109 key <AE07> { [dead_grave, 7, egrave, grave ] };
110
111 key <AD02> { [ dstroke, Dstroke, z, Z ] }; //
112 key <AD12> { [ dollar, sterling, DongSign, currency ] }; //
113
114 key <AC04> { [ uhorn, Uhorn, f, F ] }; //
115 key <AC07> { [ ohorn, Ohorn, j, J ] }; //
116
117 key <AB01> { [ abreve, Abreve, w, W ] }; //
118 key <AB07> { [ dead_hook, question, comma ] };
119 key <AB08> { [dead_belowdot, period, semicolon ] };
120 };
121
122 // Vietnamese QERTY (AERTY qwertification)
123 //
124 // Copyright (C) 2018, Florent Gallaire Phong <f (a] gallai.re>
125
126 partial alphanumeric_keys
127 xkb_symbols "qderty" {
128
129 include "us(basic)"
130 name[Group1]= "Vietnamese (QERTY)";
131
132 key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
133 key <AE04> { [ 4, dollar, DongSign, currency ] }; //
134
135 key <AD02> { [ dstroke, Dstroke, w, W ] }; //
136 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] }; //
137 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; //
138
139 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; //
140 key <AC04> { [ uhorn, Uhorn, f, F ] }; //
141 key <AC07> { [ ohorn, Ohorn, j, J ] }; //
142 key <AC11> { [dead_acute, quotedbl, apostrophe ] };
143
144 key <AB01> { [ abreve, Abreve, z, Z ] }; //
145 key <AB09> { [dead_belowdot, greater, period ] };
146 key <AB10> { [ dead_hook, question, slash ] };
147
148 include "level3(ralt_switch)"
149 include "eurosign(5)"
150 };
151