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