// Actions which control the server's behavior.

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

partial function_keys
xkb_symbols "fkey2vt" {

    key.type[group1] = "CTRL+ALT";

    key <FK01>	{[ F1, F1, F1, F1, XF86_Switch_VT_1 ]};
    key <FK02>	{[ F2, F2, F2, F2, XF86_Switch_VT_2 ]};
    key <FK03>	{[ F3, F3, F3, F3, XF86_Switch_VT_3 ]};
    key <FK04>	{[ F4, F4, F4, F4, XF86_Switch_VT_4 ]};
    key <FK05>	{[ F5, F5, F5, F5, XF86_Switch_VT_5 ]};
    key <FK06>	{[ F6, F6, F6, F6, XF86_Switch_VT_6 ]};
    key <FK07>	{[ F7, F7, F7, F7, XF86_Switch_VT_7 ]};
    key <FK08>	{[ F8, F8, F8, F8, XF86_Switch_VT_8 ]};
    key <FK09>	{[ F9, F9, F9, F9, XF86_Switch_VT_9 ]};
    key <FK10>	{[ F10, F10, F10, F10, XF86_Switch_VT_10 ]};
    key <FK11>	{[ F11, F11, F11, F11, XF86_Switch_VT_11 ]};
    key <FK12>	{[ F12, F12, F12, F12, XF86_Switch_VT_12 ]};
};

partial function_keys keypad_keys
xkb_symbols "no_srvr_keys" {

    key.type[group1] = "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 <KPDV>	{[ KP_Divide,	KP_Divide   ]};
    key <KPMU>	{[ KP_Multiply,	KP_Multiply ]};
    key <KPSU>	{[ KP_Subtract,	KP_Subtract ]};
    key <KPAD>	{[ KP_Add,	KP_Add	    ]};
};

partial function_keys
xkb_symbols "grab_debug" {

    key.type[group1] = "CTRL+ALT";

    key <FK11>	{[ F11, F11, F11, F11, XF86LogGrabInfo ]};
    key <FK12>	{[ F12, F12, F12, F12, XF86LogWindowTree ]};
};
