// $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
// 

partial default xkb_types "default" {

    // Some types that are necessary
    // for a full implementation of
    // a PC compatible keyboard.
    virtual_modifiers Alt;
    virtual_modifiers LevelThree;
    virtual_modifiers LAlt;
    virtual_modifiers RAlt;
    virtual_modifiers RControl;
    virtual_modifiers LControl;

    type "PC_CONTROL_LEVEL2" {
	modifiers = Control;
	map[None] = Level1;
	map[Control] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Control";
    };

    type "PC_LCONTROL_LEVEL2" {
	modifiers = LControl;
	map[None] = Level1;
	map[LControl] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "LControl";
    };

    type "PC_RCONTROL_LEVEL2" {
	modifiers = RControl;
	map[None] = Level1;
	map[RControl] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "RControl";
    };

    type "PC_ALT_LEVEL2" {
	modifiers = Alt;
	map[None] = Level1;
	map[Alt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Alt";
    };

    type "PC_LALT_LEVEL2" {
	modifiers = LAlt;
	map[None] = Level1;
	map[LAlt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "LAlt";
    };

    type "PC_RALT_LEVEL2" {
	modifiers = RAlt;
	map[None] = Level1;
	map[RAlt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "RAlt";
    };

    type "CTRL+ALT" {
	modifiers = Control+Alt;
	map[Control+Alt] = Level2;
	level_name[Level1] = "Base";
	level_name[Level2] = "Ctrl+Alt";
    };
};
