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