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