1bb3a541cSmrg// Vietnamese keyboard layout, somehow based on TCVN 5712:1993.
2bb3a541cSmrg// Originally by Le Hong Boi <le.hong.boi@bigfoot.com>
3154daed1Smrg// August 1999
4154daed1Smrg// Further modified by Ashley Clark <aclark@debian.org>
5154daed1Smrg// July 2000 for X 4.0
6bb3a541cSmrg// Changed accents into combining marks by Samuel Thibault <samuel.thibault@ens-lyon.org>
7c067fea9Sghen// July 2009
8154daed1Smrg
98157b447Smrgdefault partial alphanumeric_keys
10154daed1Smrgxkb_symbols "basic" {
11154daed1Smrg
12154daed1Smrg    include "us"
13154daed1Smrg
14bfd7cbc1Smrg    name[Group1]= "Vietnamese";
15154daed1Smrg
16797b363dSmrg    key <TLDE> { [	   grave, 	asciitilde	] };
17154daed1Smrg    key <AE01> { [	   abreve,	Abreve		] };
18154daed1Smrg    key <AE02> { [	   acircumflex,  Acircumflex	] };
19154daed1Smrg    key <AE03> { [	   ecircumflex,	Ecircumflex	] };
20154daed1Smrg    key <AE04> { [	   ocircumflex,	Ocircumflex	] };
21c067fea9Sghen    key <AE05> { [	   0x1000300,	percent,	dead_grave,	percent		] };
22c067fea9Sghen    key <AE06> { [	   0x1000309,	asciicircum,	dead_hook,	asciicircum	] };
23c067fea9Sghen    key <AE07> { [	   0x1000303,	ampersand,	dead_tilde,	ampersand	] };
24c067fea9Sghen    key <AE08> { [	   0x1000301,	asterisk,	dead_acute,	asterisk	] };
25c067fea9Sghen    key <AE09> { [	   0x1000323,	parenleft,	dead_belowdot,	parenleft	] };
26154daed1Smrg    key <AE10> { [	   dstroke,	Dstroke		] };
27154daed1Smrg    key <AE11> { [     minus, underscore  ]	};
28154daed1Smrg    key <AE12> { [     DongSign, plus ]	};
29154daed1Smrg
30154daed1Smrg    key <AD11> { [ uhorn,	Uhorn	] };
31154daed1Smrg    key <AD12> { [ ohorn,	Ohorn	] };
32154daed1Smrg
33154daed1Smrg    include "level3(ralt_switch)"
34154daed1Smrg};
35143081caSmrg
36143081caSmrg
37143081caSmrg// US keyboard made Vietnamese
38143081caSmrg//
39143081caSmrg// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re>
40143081caSmrg
41143081caSmrgpartial alphanumeric_keys
42143081caSmrgxkb_symbols "us" {
43143081caSmrg
449ea7388fSmrg    include "us(basic)"
458157b447Smrg    name[Group1]= "Vietnamese (US)";
46143081caSmrg
47143081caSmrg    key <TLDE> { [dead_grave, dead_tilde,              grave,          asciitilde ] };
48143081caSmrg    key <AE04> { [         4,     dollar,           DongSign,            currency ] }; // ₫ ¤
49143081caSmrg
50143081caSmrg    key <AD03> { [         e,          E,        ecircumflex,         Ecircumflex ] }; // ê Ê
51143081caSmrg    key <AD07> { [         u,          U,              uhorn,               Uhorn ] }; // ư Ư
52143081caSmrg    key <AD09> { [         o,          O,        ocircumflex,         Ocircumflex ] }; // ô Ô
53143081caSmrg    key <AD10> { [         p,          P,              ohorn,               Ohorn ] }; // ơ Ơ
54143081caSmrg
55143081caSmrg    key <AC01> { [         a,          A,        acircumflex,         Acircumflex ] }; // â Â
56143081caSmrg    key <AC02> { [         s,          S,             abreve,              Abreve ] }; // ă Ă
57143081caSmrg    key <AC03> { [         d,          D,            dstroke,             Dstroke ] }; // đ Đ
58143081caSmrg    key <AC11> { [dead_acute,   quotedbl,         apostrophe ] };
59143081caSmrg
60143081caSmrg    key <AB09> { [dead_belowdot, greater,             period ] };
61143081caSmrg    key <AB10> { [ dead_hook,   question,              slash ] };
629ea7388fSmrg
639ea7388fSmrg    include "level3(ralt_switch)"
649ea7388fSmrg    include "eurosign(5)"
65143081caSmrg};
66143081caSmrg
67143081caSmrg// French keyboard made Vietnamese
68143081caSmrg//
69143081caSmrg// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re>
70143081caSmrg
71143081caSmrgpartial alphanumeric_keys
72143081caSmrgxkb_symbols "fr" {
73143081caSmrg
74143081caSmrg    include "fr(basic)"
75143081caSmrg
7646185892Smrg    name[Group1]="Vietnamese (France)";
77143081caSmrg
78143081caSmrg    key <AE02> { [dead_tilde,          2,             eacute,          asciitilde ] };
79143081caSmrg    key <AE04> { [dead_acute,          4,         apostrophe,           braceleft ] };
80143081caSmrg    key <AE07> { [dead_grave,          7,             egrave,               grave ] };
81143081caSmrg
82143081caSmrg    key <AD01> { [         a,          A,             abreve,              Abreve ] }; // ă Ă
83143081caSmrg    key <AD07> { [         u,          U,              uhorn,               Uhorn ] }; // ư Ư
84143081caSmrg    key <AD09> { [         o,          O,              ohorn,               Ohorn ] }; // ơ Ơ
85143081caSmrg    key <AD12> { [    dollar,   sterling,           DongSign,            currency ] }; // ₫ ¤
86143081caSmrg
87143081caSmrg    key <AC03> { [         d,          D,            dstroke,             Dstroke ] }; // đ Đ
88143081caSmrg
89143081caSmrg    key <AB07> { [ dead_hook,   question,          comma ] };
90143081caSmrg    key <AB08> { [dead_belowdot,  period,      semicolon ] };
91143081caSmrg};
92143081caSmrg
93143081caSmrg
94143081caSmrg// EXTRAS:
95143081caSmrg
96143081caSmrg// Vietnamese AÐERTY (60s typewriters adaptation)
97143081caSmrg//
98143081caSmrg// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re>
99143081caSmrg
100143081caSmrgpartial alphanumeric_keys
101143081caSmrgxkb_symbols "aderty" {
102143081caSmrg
103143081caSmrg    include "fr(basic)"
104143081caSmrg
105143081caSmrg    name[Group1]="Vietnamese (AÐERTY)";
106143081caSmrg
107143081caSmrg    key <AE02> { [dead_tilde,          2,             eacute,          asciitilde ] };
108143081caSmrg    key <AE04> { [dead_acute,          4,         apostrophe,           braceleft ] };
109143081caSmrg    key <AE07> { [dead_grave,          7,             egrave,               grave ] };
110143081caSmrg
111143081caSmrg    key <AD02> { [   dstroke,    Dstroke,                  z,                   Z ] }; // đ Đ
112143081caSmrg    key <AD12> { [    dollar,   sterling,           DongSign,            currency ] }; // ₫ ¤
113143081caSmrg
114143081caSmrg    key <AC04> { [     uhorn,      Uhorn,                  f,                   F ] }; // ư Ư
115143081caSmrg    key <AC07> { [     ohorn,      Ohorn,                  j,                   J ] }; // ơ Ơ
116143081caSmrg
117143081caSmrg    key <AB01> { [    abreve,     Abreve,                  w,                   W ] }; // ă Ă
118143081caSmrg    key <AB07> { [ dead_hook,   question,          comma ] };
119143081caSmrg    key <AB08> { [dead_belowdot,  period,      semicolon ] };
120143081caSmrg};
121143081caSmrg
122143081caSmrg// Vietnamese QĐERTY (AĐERTY qwertification)
123143081caSmrg//
124143081caSmrg// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re>
125143081caSmrg
126143081caSmrgpartial alphanumeric_keys
127143081caSmrgxkb_symbols "qderty" {
128143081caSmrg
1299ea7388fSmrg    include "us(basic)"
130143081caSmrg    name[Group1]= "Vietnamese (QĐERTY)";
131143081caSmrg
132143081caSmrg    key <TLDE> { [dead_grave, dead_tilde,              grave,          asciitilde ] };
133143081caSmrg    key <AE04> { [         4,     dollar,           DongSign,            currency ] }; // ₫ ¤
134143081caSmrg
135143081caSmrg    key <AD02> { [   dstroke,    Dstroke,                  w,                   W ] }; // đ Đ
136143081caSmrg    key <AD03> { [         e,          E,        ecircumflex,         Ecircumflex ] }; // ê Ê
137143081caSmrg    key <AD09> { [         o,          O,        ocircumflex,         Ocircumflex ] }; // ô Ô
138143081caSmrg
139143081caSmrg    key <AC01> { [         a,          A,        acircumflex,         Acircumflex ] }; // â Â
140143081caSmrg    key <AC04> { [     uhorn,      Uhorn,                  f,                   F ] }; // ư Ư
141143081caSmrg    key <AC07> { [     ohorn,      Ohorn,                  j,                   J ] }; // ơ Ơ
142143081caSmrg    key <AC11> { [dead_acute,   quotedbl,         apostrophe ] };
143143081caSmrg
144143081caSmrg    key <AB01> { [    abreve,     Abreve,                  z,                   Z ] }; // ă Ă
145143081caSmrg    key <AB09> { [dead_belowdot, greater,             period ] };
146143081caSmrg    key <AB10> { [ dead_hook,   question,              slash ] };
1479ea7388fSmrg
1489ea7388fSmrg    include "level3(ralt_switch)"
1499ea7388fSmrg    include "eurosign(5)"
150143081caSmrg};
151