Home | History | Annotate | Line # | Download | only in symbols
level3 revision 1.1
      1  1.1  mrg // $XKeyboardConfig: xkeyboard-config/symbols/level3,v 1.18 2007-09-26 11:43:49 svu Exp $
      2  1.1  mrg 
      3  1.1  mrg // these variants assign various XKB keycodes to ISO_Level3_Shift so that
      4  1.1  mrg // the third shift level can be reached
      5  1.1  mrg //
      6  1.1  mrg // $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
      7  1.1  mrg //
      8  1.1  mrg 
      9  1.1  mrg // the default behavior is for the right Alt key (AltGr) to generate the
     10  1.1  mrg // third engraved symbol
     11  1.1  mrg default partial modifier_keys
     12  1.1  mrg xkb_symbols "ralt_switch" {
     13  1.1  mrg   key <RALT> {
     14  1.1  mrg     type[Group1]="ONE_LEVEL",
     15  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     16  1.1  mrg     };
     17  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
     18  1.1  mrg };
     19  1.1  mrg 
     20  1.1  mrg // Right Alt key never chooses 3rd level.
     21  1.1  mrg // This option attempts to undo the effect of a layout's
     22  1.1  mrg // including ralt_switch.  You may also want to select another
     23  1.1  mrg // level3 option that maps the level3 shift to some other key.
     24  1.1  mrg partial modifier_keys
     25  1.1  mrg xkb_symbols "ralt_alt" {
     26  1.1  mrg   key <RALT> { 
     27  1.1  mrg     type[Group1]="TWO_LEVEL",
     28  1.1  mrg     type[Group2]="TWO_LEVEL",
     29  1.1  mrg     type[Group3]="TWO_LEVEL",
     30  1.1  mrg     type[Group4]="TWO_LEVEL",
     31  1.1  mrg     symbols[Group1] = [ Alt_R, Meta_R ], 
     32  1.1  mrg     symbols[Group2] = [ Alt_R, Meta_R ], 
     33  1.1  mrg     symbols[Group3] = [ Alt_R, Meta_R ], 
     34  1.1  mrg     symbols[Group4] = [ Alt_R, Meta_R ]
     35  1.1  mrg     };
     36  1.1  mrg   modifier_map Mod1    { <RALT> };
     37  1.1  mrg };
     38  1.1  mrg 
     39  1.1  mrg partial modifier_keys
     40  1.1  mrg xkb_symbols "ralt_switch_multikey" {
     41  1.1  mrg   key <RALT> {
     42  1.1  mrg     type[Group1]="TWO_LEVEL",
     43  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
     44  1.1  mrg     };
     45  1.1  mrg };
     46  1.1  mrg 
     47  1.1  mrg // special case or right Alt switch - for use with grp:alts_toggle
     48  1.1  mrg //
     49  1.1  mrg partial hidden modifier_keys
     50  1.1  mrg xkb_symbols "ralt_switch_for_alts_toggle" {
     51  1.1  mrg  virtual_modifiers LAlt, AlGr;
     52  1.1  mrg   key <LALT> {
     53  1.1  mrg     type[Group1]="PC_RALT_LEVEL2",
     54  1.1  mrg     symbols[Group1] = [ Alt_L,  ISO_Prev_Group,  ISO_Prev_Group ],
     55  1.1  mrg     virtualMods= LAlt
     56  1.1  mrg   };
     57  1.1  mrg   key <RALT> {
     58  1.1  mrg     type[Group1]="PC_ALT_LEVEL2",
     59  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
     60  1.1  mrg     virtualMods= AltGr
     61  1.1  mrg   };
     62  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
     63  1.1  mrg };
     64  1.1  mrg 
     65  1.1  mrg // using the level(alt_switch) map, either Alt key temporarily chooses
     66  1.1  mrg // the third shift level.  (Mostly be used to imitate Mac OS functionality.)
     67  1.1  mrg partial modifier_keys
     68  1.1  mrg xkb_symbols "alt_switch" {
     69  1.1  mrg   include "level3(lalt_switch)"
     70  1.1  mrg   include "level3(ralt_switch)"
     71  1.1  mrg };
     72  1.1  mrg 
     73  1.1  mrg partial modifier_keys
     74  1.1  mrg xkb_symbols "lalt_switch" {
     75  1.1  mrg   key <LALT> {
     76  1.1  mrg     type[Group1]="ONE_LEVEL",
     77  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     78  1.1  mrg     };
     79  1.1  mrg   modifier_map Mod5   { <LALT> };
     80  1.1  mrg };
     81  1.1  mrg 
     82  1.1  mrg // using the level(switch) map, the right Control key temporarily
     83  1.1  mrg // chooses the third shift level (until it is released).
     84  1.1  mrg partial modifier_keys
     85  1.1  mrg xkb_symbols "switch" {
     86  1.1  mrg   key <RCTL> {
     87  1.1  mrg     type[Group1]="ONE_LEVEL",
     88  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     89  1.1  mrg     };
     90  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
     91  1.1  mrg };
     92  1.1  mrg 
     93  1.1  mrg // using the level(menu_switch) map, the Menu key temporarily
     94  1.1  mrg // chooses the third shift level (until it is released).
     95  1.1  mrg partial modifier_keys
     96  1.1  mrg xkb_symbols "menu_switch" {
     97  1.1  mrg   key <MENU> {
     98  1.1  mrg     type[Group1]="ONE_LEVEL",
     99  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    100  1.1  mrg     };
    101  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
    102  1.1  mrg };
    103  1.1  mrg 
    104  1.1  mrg // using the level3(win_switch) map, the either Windows' logo key
    105  1.1  mrg // temporarily chooses the third shift level.
    106  1.1  mrg partial modifier_keys
    107  1.1  mrg xkb_symbols "win_switch" {
    108  1.1  mrg   include "level3(lwin_switch)"
    109  1.1  mrg   include "level3(rwin_switch)"
    110  1.1  mrg };
    111  1.1  mrg 
    112  1.1  mrg // using the level3(lwin_switch) map, the left Windows' logo key
    113  1.1  mrg // temporarily chooses the third shift level.
    114  1.1  mrg partial modifier_keys
    115  1.1  mrg xkb_symbols "lwin_switch" {
    116  1.1  mrg   key <LWIN> {
    117  1.1  mrg     type[Group1]="ONE_LEVEL",
    118  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    119  1.1  mrg     };
    120  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
    121  1.1  mrg };
    122  1.1  mrg 
    123  1.1  mrg // using the level(rwin_switch) map, the right Windows' logo key
    124  1.1  mrg // temporarily chooses the third shift level.  If you use this map,
    125  1.1  mrg // you should define your keyboard as pc101 or pc102 instead of pc104
    126  1.1  mrg // or pc105.
    127  1.1  mrg partial modifier_keys
    128  1.1  mrg xkb_symbols "rwin_switch" {
    129  1.1  mrg   key <RWIN> {
    130  1.1  mrg     type[Group1]="ONE_LEVEL",
    131  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    132  1.1  mrg     };
    133  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
    134  1.1  mrg };
    135  1.1  mrg 
    136  1.1  mrg // using the level3(enter_switch) map, the Enter key on the keypad
    137  1.1  mrg // temporarily chooses the third shift level.  This is especially
    138  1.1  mrg // useful for Mac laptops which miss the right Alt key.
    139  1.1  mrg partial hidden modifier_keys
    140  1.1  mrg xkb_symbols "enter_switch" {
    141  1.1  mrg   key <KPEN> {
    142  1.1  mrg     type[Group1]="ONE_LEVEL",
    143  1.1  mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    144  1.1  mrg     };
    145  1.1  mrg   modifier_map Mod5   { ISO_Level3_Shift };
    146  1.1  mrg };
    147