Home | History | Annotate | Line # | Download | only in symbols
level3 revision 1.1.1.3
      1  1.1.1.2   mrg // $XKeyboardConfig$
      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.1.3  ghen partial 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  1.1.1.3  ghen 
    148  1.1.1.3  ghen partial modifier_keys
    149  1.1.1.3  ghen xkb_symbols "caps_switch" {
    150  1.1.1.3  ghen   key <CAPS> {
    151  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    152  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    153  1.1.1.3  ghen   };
    154  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    155  1.1.1.3  ghen };
    156  1.1.1.3  ghen 
    157  1.1.1.3  ghen partial modifier_keys
    158  1.1.1.3  ghen xkb_symbols "bksl_switch" {
    159  1.1.1.3  ghen   key <BKSL> {
    160  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    161  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    162  1.1.1.3  ghen   };
    163  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    164  1.1.1.3  ghen };
    165  1.1.1.3  ghen 
    166  1.1.1.3  ghen partial modifier_keys
    167  1.1.1.3  ghen xkb_symbols "lsgt_switch" {
    168  1.1.1.3  ghen   key <LSGT> {
    169  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    170  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    171  1.1.1.3  ghen   };
    172  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    173  1.1.1.3  ghen };
    174  1.1.1.3  ghen 
    175  1.1.1.3  ghen partial modifier_keys
    176  1.1.1.3  ghen xkb_symbols "caps_switch_latch" {
    177  1.1.1.3  ghen   key <CAPS> {
    178  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    179  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    180  1.1.1.3  ghen   };
    181  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    182  1.1.1.3  ghen };
    183  1.1.1.3  ghen 
    184  1.1.1.3  ghen partial modifier_keys
    185  1.1.1.3  ghen xkb_symbols "bksl_switch_latch" {
    186  1.1.1.3  ghen   key <BKSL> {
    187  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    188  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    189  1.1.1.3  ghen   };
    190  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    191  1.1.1.3  ghen };
    192  1.1.1.3  ghen 
    193  1.1.1.3  ghen partial modifier_keys
    194  1.1.1.3  ghen xkb_symbols "lsgt_switch_latch" {
    195  1.1.1.3  ghen   key <LSGT> {
    196  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    197  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    198  1.1.1.3  ghen   };
    199  1.1.1.3  ghen   modifier_map Mod5   { ISO_Level3_Shift };
    200  1.1.1.3  ghen };
    201