// $XKeyboardConfig: xkbdesc/xkeyboard-config/symbols/srvr_ctrl,v 1.2 2004-10-09 18:34:15 svu Exp $

// $XFree86: xc/programs/xkbcomp/symbols/srvr_ctrl,v 1.4 2003/12/18 14:14:38 pascal Exp $
//
// Actions which control the server's behavior

partial keypad_keys function_keys
xkb_symbols "xfree86" {
    include "srvr_ctrl(stdkeypad)"
    include "srvr_ctrl(fkey2vt)"
};

partial keypad_keys 
xkb_symbols "stdkeypad" {

    key <BKSP> {
	type="CTRL+ALT",
	symbols[Group1]= [ BackSpace,   Terminate_Server ]
    };

// Ungrab cancels server/keyboard/pointer grabs
    key <KPDV> {
	type="CTRL+ALT",
	symbols[Group1]= [ KP_Divide,	XF86_Ungrab ]
    };

// ClsGrb kills whichever client has a grab in effect
    key <KPMU> {
	type="CTRL+ALT",
	symbols[Group1]= [ KP_Multiply,	XF86_ClearGrab ]
    };

// -VMode switches to the previous video mode
    key <KPSU> {
	type="CTRL+ALT",
	symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
    };

// +VMode switches to the next video mode
    key <KPAD> {
	type="CTRL+ALT",
	symbols[Group1]= [ KP_Add,	XF86_Next_VMode]
    };

};

partial function_keys 
xkb_symbols "fkey2vt" {

    key <FK01> {
	type="CTRL+ALT",
	symbols[Group1]= [ F1,	XF86_Switch_VT_1 ]
    };

    key <FK02> {
	type="CTRL+ALT",
	symbols[Group1]= [ F2,	XF86_Switch_VT_2 ]
    };

    key <FK03> {
	type="CTRL+ALT",
	symbols[Group1]= [ F3,	XF86_Switch_VT_3 ]
    };

    key <FK04> {
	type="CTRL+ALT",
	symbols[Group1]= [ F4,	XF86_Switch_VT_4 ]
    };

    key <FK05> {
	type="CTRL+ALT",
	symbols[Group1]= [ F5,	XF86_Switch_VT_5 ]
    };

    key <FK06> {
	type="CTRL+ALT",
	symbols[Group1]= [ F6,	XF86_Switch_VT_6 ]
    };

    key <FK07> {
	type="CTRL+ALT",
	symbols[Group1]= [ F7,	XF86_Switch_VT_7 ]
    };

    key <FK08> {
	type="CTRL+ALT",
	symbols[Group1]= [ F8,	XF86_Switch_VT_8 ]
    };

    key <FK09> {
	type="CTRL+ALT",
	symbols[Group1]= [ F9,	XF86_Switch_VT_9 ]
    };

    key <FK10> {
	type="CTRL+ALT",
	symbols[Group1]= [ F10,	XF86_Switch_VT_10 ]
    };

    key <FK11> {
	type="CTRL+ALT",
	symbols[Group1]= [ F11,	XF86_Switch_VT_11 ]
    };

    key <FK12> {
	type="CTRL+ALT",
	symbols[Group1]= [ F12,	XF86_Switch_VT_12 ]
    };

};

partial function_keys keypad_keys
xkb_symbols "no_srvr_keys" {

    key.type="TWO_LEVEL";

    key <FK01> { [ F1, F1 ]	};
    key <FK02> { [ F2, F2 ]	};
    key <FK03> { [ F3, F3 ]	};
    key <FK04> { [ F4, F4 ]	};
    key <FK05> { [ F5, F5 ]	};
    key <FK06> { [ F6, F6 ]	};
    key <FK07> { [ F7, F7 ]	};
    key <FK08> { [ F8, F8 ]	};
    key <FK09> { [ F9, F9 ]	};
    key <FK10> { [ F10, F10 ]	};
    key <FK11> { [ F11, F11 ]	};
    key <FK12> { [ F12, F12 ]	};

    key <BKSP> { [ BackSpace,	BackSpace	] };

    key <KPDV> { [ KP_Divide,	KP_Divide	] };
    key <KPMU> { [ KP_Multiply,	KP_Multiply	] };
    key <KPSU> { [ KP_Subtract,	KP_Subtract	] };
    key <KPAD> { [ KP_Add,	KP_Add		] };
};

