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