1// Maltese keyboard map (based on MSA Standard DMS100)
2// by Ramon Casha (ramon.casha@linux.org.mt)
3
4default partial alphanumeric_keys
5xkb_symbols "basic" {
6
7    include "latin"
8
9    name[Group1]="Maltese";
10
11    // Copied from GB layout
12    key <AE02> { [         2,   quotedbl,  twosuperior,     oneeighth ] };
13    key <AE04> { [         4,     dollar,     EuroSign,    onequarter ] };
14    key <AC11> { [apostrophe,         at, dead_circumflex, dead_caron ] };
15    key <BKSL> { [numbersign, asciitilde,   dead_grave,    dead_breve ] };
16
17    // The four additional letters
18    key <TLDE>	{ [ cabovedot,  Cabovedot,        grave,      notsign ]	};
19    key <AD11>	{ [ gabovedot,  Gabovedot,  bracketleft,    braceleft ]	};
20    key <AD12>	{ [   hstroke,    Hstroke, bracketright,   braceright ]	};
21    key <LSGT>	{ [ zabovedot,  Zabovedot,    backslash,          bar ]	};
22
23    // An extra Euro symbol
24    key <AE03>	{ [         3,   EuroSign,     sterling               ]	};
25
26    // A dead key for the long accent
27    key <AE06>	{ [         6, asciicircum, dead_circumflex, dead_circumflex ]	};
28
29    // The vowels with normal accents
30    key <AD03>	{ [         e,          E,       egrave,       Egrave ]	};
31    key <AD07>	{ [         u,          U,       ugrave,       Ugrave ]	};
32    key <AD08>	{ [         i,          I,       igrave,       Igrave ]	};
33    key <AD09>	{ [         o,          O,       ograve,       Ograve ]	};
34    key <AC01>	{ [         a,          A,       agrave,       Agrave ]	};
35
36    include "level3(ralt_switch)"
37};
38
39// Maltese keyboard map (based on MSA Standard DMS100, annex A)
40// by Ramon Casha (ramon.casha@linux.org.mt)
41
42partial alphanumeric_keys
43xkb_symbols "us" {
44
45    include "latin"
46
47    name[Group1]="Maltese (US)";
48
49    key <TLDE>	{ [ cabovedot,  Cabovedot,        grave,   asciitilde ]	};
50    key <AD11>	{ [ gabovedot,  Gabovedot,  bracketleft,    braceleft ]	};
51    key <AD12>	{ [   hstroke,    Hstroke, bracketright,   braceright ]	};
52    key <LSGT>	{ [ zabovedot,  Zabovedot,    backslash,          bar ]	};
53    key <BKSL>	{ [ zabovedot,  Zabovedot,    backslash,          bar ]	};
54
55    key <AE03>	{ [         3,   EuroSign,     numbersign             ]	};
56
57    key <AE06>	{ [         6, asciicircum, dead_circumflex, dead_circumflex ]	};
58
59    key <AD03>	{ [         e,          E,       egrave,       Egrave ]	};
60    key <AD07>	{ [         u,          U,       ugrave,       Ugrave ]	};
61    key <AD08>	{ [         i,          I,       igrave,       Igrave ]	};
62    key <AD09>	{ [         o,          O,       ograve,       Ograve ]	};
63    key <AC01>	{ [         a,          A,       agrave,       Agrave ]	};
64
65    include "level3(ralt_switch)"
66};
67
68// Alternative Maltese keyboard map (US-based layout using AltGr)
69// by Johann A. Briffa (johann.briffa@um.edu.mt)
70
71partial alphanumeric_keys
72xkb_symbols "alt-us" {
73
74    include "us(basic)"
75
76    name[Group1]="Maltese (US, with AltGr overrides)";
77
78    // Currency symbols
79    key <AE03>  { [         3,  numbersign,    sterling,     NoSymbol ] };
80    key <AE04>  { [         4,     dollar,     EuroSign,     NoSymbol ] };
81
82    // Maltese characters
83    key <AC05>  { [         g,          G,    gabovedot,    Gabovedot ] };
84    key <AC06>  { [         h,          H,      hstroke,      Hstroke ] };
85    key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
86    key <AB03>  { [         c,          C,    cabovedot,    Cabovedot ] };
87
88    // Maltese accented vowels
89    key <AD03>  { [         e,          E,       egrave,       Egrave ] };
90    key <AD07>  { [         u,          U,       ugrave,       Ugrave ] };
91    key <AD08>  { [         i,          I,       igrave,       Igrave ] };
92    key <AD09>  { [         o,          O,       ograve,       Ograve ] };
93    key <AC01>  { [         a,          A,       agrave,       Agrave ] };
94
95    // Other accents (dead-key)
96    key <TLDE>  { [     grave,  asciitilde,  dead_grave,   dead_tilde ] };
97    key <AE06>  { [         6, asciicircum,    NoSymbol, dead_circumflex ] };
98    key <AC11>  { [ apostrophe,   quotedbl,  dead_acute, dead_diaeresis ] };
99
100    include "level3(ralt_switch)"
101};
102
103// Alternative Maltese keyboard map (UK-based layout using AltGr)
104// by Johann A. Briffa (johann.briffa@um.edu.mt)
105
106partial alphanumeric_keys
107xkb_symbols "alt-gb" {
108
109    include "gb(basic)"
110
111    name[Group1]="Maltese (UK, with AltGr overrides)";
112
113    key <AE03>  { [         3,   sterling,   numbersign,     NoSymbol ] };
114    key <AE04>  { [         4,     dollar,     EuroSign,     NoSymbol ] };
115
116    key <AC05>  { [         g,          G,    gabovedot,    Gabovedot ] };
117    key <AC06>  { [         h,          H,      hstroke,      Hstroke ] };
118    key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
119    key <AB03>  { [         c,          C,    cabovedot,    Cabovedot ] };
120
121    key <AD03>  { [         e,          E,       egrave,       Egrave ] };
122    key <AD07>  { [         u,          U,       ugrave,       Ugrave ] };
123    key <AD08>  { [         i,          I,       igrave,       Igrave ] };
124    key <AD09>  { [         o,          O,       ograve,       Ograve ] };
125    key <AC01>  { [         a,          A,       agrave,       Agrave ] };
126
127    key <TLDE>  { [     grave,     notsign,  dead_grave,     NoSymbol ] };
128    key <AE02>  { [         2,    quotedbl,    NoSymbol, dead_diaeresis ] };
129    key <AE06>  { [         6, asciicircum,    NoSymbol, dead_circumflex ] };
130    key <AC11>  { [ apostrophe,         at,  dead_acute,     NoSymbol ] };
131    key <BKSL>  { [numbersign,  asciitilde,    NoSymbol,   dead_tilde ] };
132
133    include "level3(ralt_switch)"
134};
135