Home | History | Annotate | Line # | Download | only in symbols
      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