Edit

kc3-lang/libxkbcommon/test/data/symbols/group

Branch :

  • Show log

    Commit

  • Author : Daniel Stone
    Date : 2012-07-12 14:42:31
    Hash : 62deaeb5
    Message : Import dataset into test/data/ Use a self-contained dataset instead of relying on a globally-installed set. Data taken from xkeyboard-config 2.5.1. Signed-off-by: Daniel Stone <daniel@fooishbar.org>

  • test/data/symbols/group
  • // using the group(switch) map, the right alt key temporarily chooses 
    // the second keyboard group (until it is released).
    //
    partial modifier_keys 
    xkb_symbols "switch" {
        key <RALT>	{ 	
    	symbols[Group1]= [	Mode_switch, Multi_key 	],
    	virtualMods= AltGr
        };
    };
    
    // using the group(lswitch) map, the left alt key temporarily chooses
    // the second keyboard group (until it is released).
    //
    partial modifier_keys 
    xkb_symbols "lswitch" {
        key <LALT>	{ 	
    	symbols[Group1]= [	Mode_switch, Multi_key 	],
    	virtualMods= AltGr
        };
    };
    
    
    // using the group(win_switch) map, both Windows'logo keys temporarily
    // choose the second keyboard group (until release).  If you use this
    // map, you would declare you keyboard as pc101 or pc102 instead of
    // pc104 or pc105.
    partial modifier_keys
    xkb_symbols "win_switch" {
        include "group(lwin_switch)"
        include "group(rwin_switch)"
    };
    
    // using the group(lwin_switch) map, the left Windows' logo key
    // temporarily chooses the second keyboard group (until it is
    // released).  If you use this map, you would declare you keyboard as
    // pc101 or pc102 instead of pc104 or pc105.
    partial modifier_keys
    xkb_symbols "lwin_switch" {
      key <LWIN> {
        symbols[Group1] = [ Mode_switch, Multi_key ],
        virtualMods= AltGr
        };
    };
    
    // using the group(rwin_switch) map, the right Windows' logo key
    // temporarily chooses the second keyboard group (until it is
    // released).  If you use this map, you would declare you keyboard as
    // pc101 or pc102 instead of pc104 or pc105.
    partial modifier_keys
    xkb_symbols "rwin_switch" {
      key <RWIN> {
        symbols[Group1] = [ Mode_switch, Multi_key ],
        virtualMods= AltGr
        };
    };
    
    // Right Ctrl key temporary chooses the second keyboard group.
    // Needed mainly for Canadian keyboard
    partial modifier_keys
    xkb_symbols "rctrl_switch" {
        key <RCTL>  {
            symbols[Group1]= [ Mode_switch ]
        };
    };
    
    // using the group(toggle) map, pressing the right alt key switches to
    // the next sequential group (until the next explicit group change).
    partial modifier_keys 
    xkb_symbols "toggle" {
        virtual_modifiers AltGr;
        key <RALT>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // using the group(shifts_toggle) map, pressing both shift keys together
    // locks the next or previous sequential keyboard group 
    // (depending on which shift is pressed first - right or left, 
    // correspongingly)
    partial modifier_keys 
    xkb_symbols "shifts_toggle" {
        key <LFSH>	{	[	Shift_L,	ISO_Prev_Group ]	};
        key <RTSH>	{	[	Shift_R,	ISO_Next_Group ]	};
    };
    
    // using the group(shift_caps_toggle) map, pressing:
    //     Shift+Caps Lock toggles group
    partial modifier_keys
    xkb_symbols "shift_caps_toggle" {
        key	<CAPS> {	[  Caps_Lock,		ISO_Next_Group	]	};
    };
    
    // using the group(shift_caps_switch) map, pressing:
    // Caps Lock selects the first group
    // Shift+Caps Lock selects the last group
    partial modifier_keys
    xkb_symbols "shift_caps_switch" {
        key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
    };
    
    // using the group(win_menu_switch) map, pressing:
    // LWIN selects the first group
    // RWIN or MENU selects the last group
    partial modifier_keys
    xkb_symbols "win_menu_switch" {
        virtual_modifiers AltGr;
        key <LWIN> {
            virtualMods= AltGr,
            symbols[Group1] = [ ISO_First_Group ]
        };
        key <MENU> {
            virtualMods= AltGr,
            symbols[Group1] = [ ISO_Last_Group ]
        };
        key <RWIN> {
            virtualMods= AltGr,
            symbols[Group1] = [ ISO_Last_Group ]
        };
    };
    
    // using the group(lctrl_rctrl_switch) map, pressing:
    // Left Control selects the first group
    // Right Control selects the last group
    partial modifier_keys
    xkb_symbols "lctrl_rctrl_switch" {
        virtual_modifiers AltGr;
        key <LCTL> {
            virtualMods= AltGr,
            symbols[Group1] = [ ISO_First_Group ]
        };
        key <RCTL> {
            virtualMods= AltGr,
            symbols[Group1] = [ ISO_Last_Group ]
        };
    };
    
    
    //
    // CTRL-SHIFT toggle section
    //
    partial modifier_keys 
    xkb_symbols "lctrl_lshift_toggle" {
        key <LFSH> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ Shift_L, ISO_Next_Group ]
        };
        key <LCTL> { [ Control_L, ISO_Next_Group ] };
    };
    
    partial modifier_keys 
    xkb_symbols "lctrl_lshift_toggle_rev" {
        key <LFSH> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
        };
        key <LCTL> { [ Control_L, ISO_Prev_Group ] };
    };
    
    partial modifier_keys
    xkb_symbols "rctrl_rshift_toggle" {
        key <RTSH> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ Shift_R, ISO_Next_Group ]
        };
        key <RCTL> { [ Control_R, ISO_Next_Group ] };
    };
    
    partial modifier_keys 
    xkb_symbols "ctrl_shift_toggle" {
        include "group(lctrl_lshift_toggle)"
        include "group(rctrl_rshift_toggle)"
    };
    
    partial modifier_keys 
    xkb_symbols "ctrl_shift_toggle_bidir" {
        include "group(lctrl_lshift_toggle_rev)"
        include "group(rctrl_rshift_toggle)"
    };
    
    
    //
    // CTRL-ALT toggle section
    //
    partial modifier_keys
    xkb_symbols "lctrl_lalt_toggle" {
        virtual_modifiers Alt;
        key <LALT> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
            virtualMods= Alt
        };
        key <LCTL> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Control_L,   ISO_Next_Group ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "lctrl_lalt_toggle_rev" {
        virtual_modifiers Alt;
        key <LALT> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ NoSymbol,    ISO_Prev_Group ],
            virtualMods= Alt
        };
        key <LCTL> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Control_L,   ISO_Prev_Group ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "rctrl_ralt_toggle" {
        virtual_modifiers Alt;
        key <RALT> {
            type[Group1]="PC_CONTROL_LEVEL2",
            symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
            virtualMods= Alt
        };
        key <RCTL> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Control_R,   ISO_Next_Group ]
        };
    };
    
    partial modifier_keys 
    xkb_symbols "ctrl_alt_toggle" {
        include "group(lctrl_lalt_toggle)"
        include "group(rctrl_ralt_toggle)"
    };
    
    partial modifier_keys 
    xkb_symbols "ctrl_alt_toggle_bidir" {
        include "group(lctrl_lalt_toggle_rev)"
        include "group(rctrl_ralt_toggle)"
    };
    
    
    //
    // ALT-SHIFT toggle section
    //
    partial modifier_keys
    xkb_symbols "lalt_lshift_toggle" {
        virtual_modifiers Alt;
        key <LALT> {
            symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
            virtualMods= Alt
        };
        key <LFSH> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Shift_L,     ISO_Next_Group ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "lalt_lshift_toggle_rev" {
        virtual_modifiers Alt;
        key <LALT> {
            symbols[Group1]= [ NoSymbol,    ISO_Prev_Group ],
            virtualMods= Alt
        };
        key <LFSH> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Shift_L,     ISO_Prev_Group ]
        };
    };
    
    partial modifier_keys
    xkb_symbols "ralt_rshift_toggle" {
        virtual_modifiers Alt;
        key <RALT> {
            symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
            virtualMods= Alt
        };
        key <RTSH> {
            type[Group1]="PC_ALT_LEVEL2",
            symbols[Group1]= [ Shift_R,     ISO_Next_Group ]
        };
    };
    
    partial modifier_keys 
    xkb_symbols "alt_shift_toggle" {
        include "group(lalt_lshift_toggle)"
        include "group(ralt_rshift_toggle)"
    };
    
    partial modifier_keys 
    xkb_symbols "alt_shift_toggle_bidir" {
        include "group(lalt_lshift_toggle_rev)"
        include "group(ralt_rshift_toggle)"
    };
    
    
    // using the group(menu_toggle) map, pressing:
    //     Menu key toggles groups
    //     Shift+Menu acts as Menu
    partial modifier_keys
    xkb_symbols "menu_toggle" {
        key	<MENU> {	[  ISO_Next_Group,	 Menu	]	};
    };
    
    // using the group(lwin_toggle) map, pressing the left Windows' logo key
    // toggles groups.  If you use this map, you would declare you keyboard
    // as pc101 or pc102 instead of pc104 or pc105.
    partial modifier_keys
    xkb_symbols "lwin_toggle" {
      virtual_modifiers AltGr;
      key <LWIN> {
        virtualMods= AltGr,
        symbols[Group1] = [ ISO_Next_Group ]
        };
    };
    
    // using the group(rwin_toggle) map, pressing the right Windows' logo key
    // toggles groups.  If you use this map, you would declare you keyboard
    // as pc101 or pc102 instead of pc104 or pc105.
    partial modifier_keys
    xkb_symbols "rwin_toggle" {
      virtual_modifiers AltGr;
      key <RWIN> {
        virtualMods= AltGr,
        symbols[Group1] = [ ISO_Next_Group ]
        };
    };
    
    // Both Ctrls pressed together toggle group
    partial modifier_keys
    xkb_symbols "ctrls_toggle" {
      virtual_modifiers LControl, RControl;
        key <LCTL> {
    	type[Group1]="PC_RCONTROL_LEVEL2",
    	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    	virtualMods= LControl
        };
        key <RCTL> {
    	type[Group1]="PC_LCONTROL_LEVEL2",
    	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    	virtualMods= RControl
        };
    };
    
    // Both Alts pressed together toggle group
    partial modifier_keys
    xkb_symbols "alts_toggle" {
      virtual_modifiers LAlt, RAlt;
        key <LALT> {
    	type[Group1]="PC_RALT_LEVEL2",
    	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    	virtualMods= LAlt
        };
        key <RALT> {
    	type[Group1]="PC_LALT_LEVEL2",
    	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    	virtualMods= RAlt
        };
    };
    
    // Left Shift key toggles group
    partial modifier_keys
    xkb_symbols "lshift_toggle" {
      virtual_modifiers AltGr;
        key <LFSH>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // Right Shift key toggles group
    partial modifier_keys
    xkb_symbols "rshift_toggle" {
      virtual_modifiers AltGr;
        key <RTSH>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // Left Alt key toggles group
    partial modifier_keys
    xkb_symbols "lalt_toggle" {
      virtual_modifiers AltGr;
        key <LALT>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // Left Ctrl key toggles group
    partial modifier_keys
    xkb_symbols "lctrl_toggle" {
      virtual_modifiers AltGr;
        key <LCTL>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // Right Ctrl key toggles group
    partial modifier_keys
    xkb_symbols "rctrl_toggle" {
      virtual_modifiers AltGr;
        key <RCTL>	{	
    	symbols[Group1]= [	ISO_Next_Group	],
    	virtualMods= AltGr
        };
    };
    
    // using the group(alt_caps_toggle) map, pressing:
    //     Alt+Caps Lock toggles group
    //     Caps Lock toggles caps lock
    partial modifier_keys
    xkb_symbols "alt_caps_toggle" {
        key        <CAPS> {
           type="PC_ALT_LEVEL2",
           symbols[Group1]= [  Caps_Lock,  ISO_Next_Group]
        };
    };
    
    partial hidden modifier_keys
    xkb_symbols "olpc" {
      key <I219>  { [ ISO_Next_Group, ISO_Prev_Group ] };
    };
    
    partial modifier_keys
    xkb_symbols "alt_space_toggle" {
        key <SPCE> {
        type[Group1]="PC_ALT_LEVEL2",
        symbols[Group1]= [ space,   ISO_Next_Group ]
        };
    };
    
    // using the group(sclk_toggle) map, pressing the Scroll Lock key
    // toggles groups.
    partial modifier_keys
    xkb_symbols "sclk_toggle" {
      virtual_modifiers AltGr;
      key <SCLK> {
        virtualMods= AltGr,
        symbols[Group1] = [ ISO_Next_Group ]
        };
    };
    
    // Control_L+Win_L locks the first group (presumably Lat).
    // Control_R+Menu locks the second group (presumably Rus).
    partial modifier_keys
    xkb_symbols "lctrl_lwin_rctrl_menu" {
        key <LWIN> {
            type[ Group1 ]    = "PC_CONTROL_LEVEL2",
            symbols[ Group1 ] = [ Super_L,    ISO_First_Group ]
        };
        key <MENU> {
            type[ Group1 ]    = "PC_CONTROL_LEVEL2",
            symbols[ Group1 ] = [ Menu,       ISO_Last_Group ]
        };
    }; // lctrl_lwin_rctrl_menu