Home | History | Annotate | Line # | Download | only in symbols
group revision 1.1
      1 // $XKeyboardConfig: xkeyboard-config/symbols/group,v 1.14 2008-04-07 21:28:16 svu Exp $
      2 // $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
      3 // using the group(switch) map, the right alt key temporarily chooses 
      4 // the second keyboard group (until it is released).
      5 //
      6 // $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $
      7 partial modifier_keys 
      8 xkb_symbols "switch" {
      9     key <RALT>	{ 	
     10 	symbols[Group1]= [	Mode_switch, Multi_key 	],
     11 	virtualMods= AltGr
     12     };
     13 };
     14 
     15 // using the group(lswitch) map, the left alt key temporarily chooses
     16 // the second keyboard group (until it is released).
     17 //
     18 partial modifier_keys 
     19 xkb_symbols "lswitch" {
     20     key <LALT>	{ 	
     21 	symbols[Group1]= [	Mode_switch, Multi_key 	],
     22 	virtualMods= AltGr
     23     };
     24 };
     25 
     26 
     27 // using the group(win_switch) map, both Windows'logo keys temporarily
     28 // choose the second keyboard group (until release).  If you use this
     29 // map, you would declare you keyboard as pc101 or pc102 instead of
     30 // pc104 or pc105.
     31 partial modifier_keys
     32 xkb_symbols "win_switch" {
     33   key <LWIN> {
     34     symbols[Group1] = [ Mode_switch, Multi_key ],
     35     virtualMods= AltGr
     36     };
     37   key <RWIN> {
     38     symbols[Group1] = [ Mode_switch, Multi_key ],
     39     virtualMods= AltGr
     40     };
     41 };
     42 
     43 // using the group(lwin_switch) map, the left Windows' logo key
     44 // temporarily chooses the second keyboard group (until it is
     45 // released).  If you use this map, you would declare you keyboard as
     46 // pc101 or pc102 instead of pc104 or pc105.
     47 partial modifier_keys
     48 xkb_symbols "lwin_switch" {
     49   key <LWIN> {
     50     symbols[Group1] = [ Mode_switch, Multi_key ],
     51     virtualMods= AltGr
     52     };
     53 };
     54 
     55 // using the group(rwin_switch) map, the right Windows' logo key
     56 // temporarily chooses the second keyboard group (until it is
     57 // released).  If you use this map, you would declare you keyboard as
     58 // pc101 or pc102 instead of pc104 or pc105.
     59 partial modifier_keys
     60 xkb_symbols "rwin_switch" {
     61   key <RWIN> {
     62     symbols[Group1] = [ Mode_switch, Multi_key ],
     63     virtualMods= AltGr
     64     };
     65 };
     66 
     67 // Right Ctrl key temporary chooses the second keyboard group.
     68 // Needed mainly for Canadian keyboard
     69 partial modifier_keys
     70 xkb_symbols "rctrl_switch" {
     71     key <RCTL>  {
     72         symbols[Group1]= [ Mode_switch ]
     73     };
     74 };
     75 
     76 // using the group(toggle) map, pressing the right alt key switches to
     77 // the next sequential group (until the next explicit group change).
     78 partial modifier_keys 
     79 xkb_symbols "toggle" {
     80     virtual_modifiers AltGr;
     81     key <RALT>	{	
     82 	symbols[Group1]= [	ISO_Next_Group	],
     83 	virtualMods= AltGr
     84     };
     85 };
     86 
     87 // using the group(shifts_toggle) map, pressing both shift keys together
     88 // locks the next or previous sequential keyboard group 
     89 // (depending on which shift is pressed first - right or left, 
     90 // correspongingly)
     91 partial modifier_keys 
     92 xkb_symbols "shifts_toggle" {
     93     key <LFSH>	{	[	Shift_L,	ISO_Prev_Group ]	};
     94     key <RTSH>	{	[	Shift_R,	ISO_Next_Group ]	};
     95 };
     96 
     97 // using the group(ctrl_shift_toggle) map, pressing:
     98 //     Control_L+Shift_L locks the previous group
     99 //     Control_R+Shift_R locks the next group
    100 // If you have two groups and group wrap is enabled, the effect is
    101 // indistinguishable.
    102 partial modifier_keys 
    103 xkb_symbols "ctrl_shift_toggle" {
    104     key <LFSH> {
    105 	type[Group1]="PC_CONTROL_LEVEL2",
    106 	symbols[Group1]= [ Shift_L,	ISO_Prev_Group ]
    107     };
    108     key <RTSH> {
    109 	type[Group1]="PC_CONTROL_LEVEL2",
    110 	symbols[Group1]= [ Shift_R,	ISO_Next_Group ]
    111     };
    112     key <LCTL>	{	[	Control_L,	ISO_Prev_Group ]	};
    113     key <RCTL>	{	[	Control_R,	ISO_Next_Group ]	};
    114 };
    115 
    116 // using the group(lctrl_lshift_toggle) map, pressing:
    117 //     Control_L+Shift_L locks the next group
    118 // If you have two groups and group wrap is enabled, the effect is
    119 // indistinguishable.
    120 partial modifier_keys 
    121 xkb_symbols "lctrl_lshift_toggle" {
    122     key <LFSH> {
    123 	type[Group1]="PC_CONTROL_LEVEL2",
    124 	symbols[Group1]= [ Shift_L,	ISO_Next_Group ]
    125     };
    126     key <LCTL>	{	[	Control_L,	ISO_Next_Group ]	};
    127 };
    128 
    129 // using the group(caps_toggle) map, pressing:
    130 //     Caps Lock toggles groups
    131 //     Shift+Caps Lock toggles caps lock
    132 partial modifier_keys
    133 xkb_symbols "caps_toggle" {
    134     include "capslock(grouplock)"
    135 };
    136 
    137 // using the group(shift_caps_toggle) map, pressing:
    138 //     Shift+Caps Lock toggles group
    139 partial modifier_keys
    140 xkb_symbols "shift_caps_toggle" {
    141     key	<CAPS> {	[  Caps_Lock,		ISO_Next_Group	]	};
    142 };
    143 
    144 // using the group(shift_caps_switch) map, pressing:
    145 // Caps Lock selects the first group
    146 // Shift+Caps Lock selects the last group
    147 partial modifier_keys
    148 xkb_symbols "shift_caps_switch" {
    149     key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
    150 };
    151 
    152 // using the group(ctrl_alt_toggle) map, pressing:
    153 //     Control_L+Alt_L locks the previous group
    154 //     Control_R+Alt_R locks the next group
    155 // If you have two groups and group wrap is enabled, the effect is
    156 // indistinguishable.
    157 partial modifier_keys 
    158 xkb_symbols "ctrl_alt_toggle" {
    159     virtual_modifiers Alt;
    160     key <LALT> {
    161 	type[Group1]="PC_CONTROL_LEVEL2",
    162 	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    163 	virtualMods= Alt
    164     };
    165     key <RALT> {
    166 	type[Group1]="PC_CONTROL_LEVEL2",
    167 	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    168 	virtualMods= Alt
    169     };
    170     key <LCTL> {
    171 	type[Group1]="PC_ALT_LEVEL2",
    172 	symbols[Group1]= [ Control_L,	ISO_Prev_Group ]
    173     };
    174     key <RCTL> {
    175 	type[Group1]="PC_ALT_LEVEL2",
    176 	symbols[Group1]= [ Control_R,	ISO_Next_Group ]
    177     };
    178 };
    179 
    180 // using the group(alt_shift_toggle) map, pressing:
    181 //     Shift_L+Alt_L locks the previous group
    182 //     Shift_R+Alt_R locks the next group
    183 // If you have two groups and group wrap is enabled, the effect is
    184 // indistinguishable.
    185 partial modifier_keys 
    186 xkb_symbols "alt_shift_toggle" {
    187     virtual_modifiers Alt;
    188     key <LALT> {
    189 	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    190 	virtualMods= Alt
    191     };
    192     key <RALT> {
    193 	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    194 	virtualMods= Alt
    195     };
    196     key <LFSH> {
    197 	type[Group1]="PC_ALT_LEVEL2",
    198 	symbols[Group1]= [ Shift_L,	ISO_Prev_Group ]
    199     };
    200     key <RTSH> {
    201 	type[Group1]="PC_ALT_LEVEL2",
    202 	symbols[Group1]= [ Shift_R,	ISO_Next_Group ]
    203     };
    204 };
    205 
    206 // using the group(menu_toggle) map, pressing:
    207 //     Menu key toggles groups
    208 //     Shift+Menu acts as Menu
    209 partial modifier_keys
    210 xkb_symbols "menu_toggle" {
    211     key	<MENU> {	[  ISO_Next_Group,	 Menu	]	};
    212 };
    213 
    214 // using the group(lwin_toggle) map, pressing the left Windows' logo key
    215 // toggles groups.  If you use this map, you would declare you keyboard
    216 // as pc101 or pc102 instead of pc104 or pc105.
    217 partial modifier_keys
    218 xkb_symbols "lwin_toggle" {
    219   virtual_modifiers AltGr;
    220   key <LWIN> {
    221     virtualMods= AltGr,
    222     symbols[Group1] = [ ISO_Next_Group ]
    223     };
    224 };
    225 
    226 // using the group(rwin_toggle) map, pressing the right Windows' logo key
    227 // toggles groups.  If you use this map, you would declare you keyboard
    228 // as pc101 or pc102 instead of pc104 or pc105.
    229 partial modifier_keys
    230 xkb_symbols "rwin_toggle" {
    231   virtual_modifiers AltGr;
    232   key <RWIN> {
    233     virtualMods= AltGr,
    234     symbols[Group1] = [ ISO_Next_Group ]
    235     };
    236 };
    237 
    238 // Both Ctrls pressed together toggle group
    239 partial modifier_keys
    240 xkb_symbols "ctrls_toggle" {
    241   virtual_modifiers LControl, RControl;
    242     key <LCTL> {
    243 	type[Group1]="PC_RCONTROL_LEVEL2",
    244 	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    245 	virtualMods= LControl
    246     };
    247     key <RCTL> {
    248 	type[Group1]="PC_LCONTROL_LEVEL2",
    249 	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    250 	virtualMods= RControl
    251     };
    252 };
    253 
    254 // Both Alts pressed together toggle group
    255 partial modifier_keys
    256 xkb_symbols "alts_toggle" {
    257   virtual_modifiers LAlt, RAlt;
    258     key <LALT> {
    259 	type[Group1]="PC_RALT_LEVEL2",
    260 	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
    261 	virtualMods= LAlt
    262     };
    263     key <RALT> {
    264 	type[Group1]="PC_LALT_LEVEL2",
    265 	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
    266 	virtualMods= RAlt
    267     };
    268 };
    269 
    270 // Left Shift key toggles group
    271 partial modifier_keys
    272 xkb_symbols "lshift_toggle" {
    273   virtual_modifiers AltGr;
    274     key <LFSH>	{	
    275 	symbols[Group1]= [	ISO_Next_Group	],
    276 	virtualMods= AltGr
    277     };
    278 };
    279 
    280 // Right Shift key toggles group
    281 partial modifier_keys
    282 xkb_symbols "rshift_toggle" {
    283   virtual_modifiers AltGr;
    284     key <RTSH>	{	
    285 	symbols[Group1]= [	ISO_Next_Group	],
    286 	virtualMods= AltGr
    287     };
    288 };
    289 
    290 // Left Alt key toggles group
    291 partial modifier_keys
    292 xkb_symbols "lalt_toggle" {
    293   virtual_modifiers AltGr;
    294     key <LALT>	{	
    295 	symbols[Group1]= [	ISO_Next_Group	],
    296 	virtualMods= AltGr
    297     };
    298 };
    299 
    300 // Left Ctrl key toggles group
    301 partial modifier_keys
    302 xkb_symbols "lctrl_toggle" {
    303   virtual_modifiers AltGr;
    304     key <LCTL>	{	
    305 	symbols[Group1]= [	ISO_Next_Group	],
    306 	virtualMods= AltGr
    307     };
    308 };
    309 
    310 // Right Ctrl key toggles group
    311 partial modifier_keys
    312 xkb_symbols "rctrl_toggle" {
    313   virtual_modifiers AltGr;
    314     key <RCTL>	{	
    315 	symbols[Group1]= [	ISO_Next_Group	],
    316 	virtualMods= AltGr
    317     };
    318 };
    319 
    320 // using the group(alt_caps_toggle) map, pressing:
    321 //     Alt+Caps Lock toggles group
    322 //     Caps Lock toggles caps lock
    323 partial modifier_keys
    324 xkb_symbols "alt_caps_toggle" {
    325     key        <CAPS> {
    326        type="PC_ALT_LEVEL2",
    327        symbols[Group1]= [  Caps_Lock,  ISO_Next_Group]
    328     };
    329 };
    330 
    331 partial hidden modifier_keys
    332 xkb_symbols "olpc" {
    333   key <I219>  { [ ISO_Next_Group, ISO_Prev_Group ] };
    334 };
    335 
    336