1// Vietnamese keyboard layout, somehow based on TCVN 5712:1993. 2// Originally by Le Hong Boi <le.hong.boi@bigfoot.com> 3// August 1999 4// Further modified by Ashley Clark <aclark@debian.org> 5// July 2000 for X 4.0 6// Changed accents into combining marks by Samuel Thibault <samuel.thibault@ens-lyon.org> 7// July 2009 8 9default partial alphanumeric_keys 10xkb_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@gallai.re> 40 41partial alphanumeric_keys 42xkb_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@gallai.re> 70 71partial alphanumeric_keys 72xkb_symbols "fr" { 73 74 include "fr(basic)" 75 76 name[Group1]="Vietnamese (French)"; 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 AÐERTY (60s typewriters adaptation) 97// 98// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re> 99 100partial alphanumeric_keys 101xkb_symbols "aderty" { 102 103 include "fr(basic)" 104 105 name[Group1]="Vietnamese (AÐERTY)"; 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 QĐERTY (AĐERTY qwertification) 123// 124// Copyright (C) 2018, Florent Gallaire Phong <f@gallai.re> 125 126partial alphanumeric_keys 127xkb_symbols "qderty" { 128 129 include "us(basic)" 130 name[Group1]= "Vietnamese (QĐERTY)"; 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