// Maltese keyboard map (for UK-based keyboards)
// by Ramon Casha (ramon.casha@linux.org.mt)
//
// $XFree86: xc/programs/xkbcomp/symbols/mt,v 1.2 2001/12/17 20:00:47 dawes Exp $

partial default alphanumeric_keys 
xkb_symbols "basic" {

    // Describes the differences between a UK keyboard
    // and a Maltese layout.
    include "gb(basic)"
    name[Group1]= "Maltese (UK layout)";

    // define the ^ as a deadkey for long accents (â). The use of
    // long accents was officially dropped recently but there are 
    // still exists literature using it.
    key <AE06> {
        symbols[Group1]= [	6,		dead_circumflex ],
        symbols[Group2]= [	asciicircum	]
    };
    // define the grave accent as a deadkey for the ordinary accent (à).
    key <TLDE> {
        symbols[Group1]= [      dead_grave,      notsign ],
        symbols[Group2]= [           grave,	 bar ]
    };
    // the following four sets are the four additional letters Å,Õ,¡,¯ (CGHZ)
    key <AE12> {
        symbols[Group1]= [       cabovedot,       Cabovedot ],
        symbols[Group2]= [           equal,            plus ]
    };
    key <AD11> {
        symbols[Group1]= [       gabovedot,       Gabovedot ],
        symbols[Group2]= [     bracketleft,       braceleft ]
    };
    key <AD12> {
        symbols[Group1]= [         hstroke,         Hstroke ],
        symbols[Group2]= [    bracketright,      braceright ]
    };
    key <LSGT> {
	symbols[Group1]= [       zabovedot,	 Zabovedot  	],	
	symbols[Group2]= [	backslash,	       bar	]
    };
    // add Å Õ ¡ and ¯ as AltGr + C G H or Z for convenience.
    key <AC05> {	[], [	gabovedot,	Gabovedot	]	};
    key <AC06> {	[], [	hstroke,	Hstroke		]	};
    key <AB01> {	[], [	zabovedot,	Zabovedot 	]	};
    key <AB03> {	[], [	cabovedot,	Cabovedot	]	};
    // and the Euro sign as AltGr-E
    key <AD03> {	[], [	EuroSign	]	};

    // End alphanumeric section
    
    // begin modifier mappings
    
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};
