Home | History | Annotate | Line # | Download | only in symbols
level5 revision 1.1.1.5
      1      1.1   mrg // these variants assign various XKB keycodes to ISO_Level5_Shift so that
      2      1.1   mrg // the third shift level can be reached
      3      1.1   mrg //
      4      1.1   mrg 
      5  1.1.1.5   mrg // Ensure a mapping to a real modifier for LevelFive
      6  1.1.1.5   mrg partial modifier_keys
      7  1.1.1.5   mrg xkb_symbols "modifier_mapping" {
      8  1.1.1.5   mrg   key.type[Group1] = "ONE_LEVEL";
      9  1.1.1.5   mrg 
     10  1.1.1.5   mrg   replace key <MDSW> {
     11  1.1.1.5   mrg     symbols[Group1] = [ ISO_Level5_Shift ]
     12  1.1.1.5   mrg   };
     13  1.1.1.5   mrg   modifier_map Mod3 { <MDSW> };
     14  1.1.1.5   mrg };
     15  1.1.1.5   mrg 
     16      1.1   mrg // using the level(switch) map, the right Control key temporarily
     17      1.1   mrg // chooses the fifth shift level (until it is released).
     18      1.1   mrg partial modifier_keys
     19      1.1   mrg xkb_symbols "rctrl_switch" {
     20      1.1   mrg   key <RCTL> {
     21      1.1   mrg     type[Group1]="ONE_LEVEL",
     22  1.1.1.2   mrg     symbols[Group1] = [ ISO_Level5_Shift ]
     23      1.1   mrg     };
     24  1.1.1.5   mrg   include "level5(modifier_mapping)"
     25      1.1   mrg };
     26  1.1.1.3  ghen 
     27  1.1.1.3  ghen partial modifier_keys
     28  1.1.1.3  ghen xkb_symbols "lsgt_switch" {
     29  1.1.1.3  ghen   key <LSGT> {
     30  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
     31  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift ]
     32  1.1.1.3  ghen     };
     33  1.1.1.5   mrg   include "level5(modifier_mapping)"
     34  1.1.1.3  ghen };
     35  1.1.1.3  ghen 
     36  1.1.1.3  ghen partial modifier_keys
     37  1.1.1.3  ghen xkb_symbols "ralt_switch" {
     38  1.1.1.3  ghen   key <RALT> {
     39  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
     40  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift ]
     41  1.1.1.3  ghen     };
     42  1.1.1.5   mrg   include "level5(modifier_mapping)"
     43  1.1.1.3  ghen };
     44  1.1.1.3  ghen 
     45  1.1.1.3  ghen 
     46  1.1.1.3  ghen // The following modifier keys are used to switch to the third shift and to set a
     47  1.1.1.3  ghen // corresponding lock, implemented as NumLock.
     48  1.1.1.3  ghen 
     49  1.1.1.3  ghen partial modifier_keys
     50  1.1.1.3  ghen xkb_symbols "lock" {
     51  1.1.1.3  ghen   // This adds the definitions needed to create a level5-lock behaviour, using
     52  1.1.1.3  ghen   // the real modifier NumLock as a lock indicator.
     53  1.1.1.3  ghen   // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
     54  1.1.1.3  ghen   // See also: compat/level5(level5_lock)
     55  1.1.1.3  ghen   key.type[Group1] = "ONE_LEVEL";
     56  1.1.1.3  ghen 
     57  1.1.1.5   mrg   include "level5(modifier_mapping)"
     58  1.1.1.3  ghen 
     59  1.1.1.3  ghen   replace key <HYPR> {
     60  1.1.1.3  ghen     vmods = NumLock,
     61  1.1.1.3  ghen     symbols[Group1] = [ NoSymbol ],
     62  1.1.1.3  ghen     actions[Group1] = [ SetMods(modifiers=NumLock) ]
     63  1.1.1.3  ghen   };
     64  1.1.1.3  ghen   modifier_map Mod2 { <HYPR> };
     65  1.1.1.3  ghen };
     66  1.1.1.3  ghen 
     67  1.1.1.3  ghen partial modifier_keys
     68  1.1.1.3  ghen xkb_symbols "lsgt_switch_lock" {
     69  1.1.1.3  ghen 
     70  1.1.1.3  ghen   include "level5(lock)"
     71  1.1.1.3  ghen 
     72  1.1.1.3  ghen   key <LSGT> {
     73  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL",
     74  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
     75  1.1.1.3  ghen   };
     76  1.1.1.3  ghen };
     77  1.1.1.3  ghen 
     78  1.1.1.3  ghen partial modifier_keys
     79  1.1.1.3  ghen xkb_symbols "lwin_switch_lock" {
     80  1.1.1.3  ghen 
     81  1.1.1.3  ghen   include "level5(lock)"
     82  1.1.1.3  ghen 
     83  1.1.1.3  ghen   key <LWIN> {
     84  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL",
     85  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
     86  1.1.1.3  ghen   };
     87  1.1.1.3  ghen };
     88  1.1.1.3  ghen 
     89  1.1.1.3  ghen partial modifier_keys
     90  1.1.1.3  ghen xkb_symbols "ralt_switch_lock" {
     91  1.1.1.3  ghen 
     92  1.1.1.3  ghen   include "level5(lock)"
     93  1.1.1.3  ghen 
     94  1.1.1.3  ghen   key <RALT> {
     95  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL",
     96  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
     97  1.1.1.3  ghen   };
     98  1.1.1.3  ghen };
     99  1.1.1.3  ghen 
    100  1.1.1.3  ghen partial modifier_keys
    101  1.1.1.3  ghen xkb_symbols "rwin_switch_lock" {
    102  1.1.1.3  ghen 
    103  1.1.1.3  ghen   include "level5(lock)"
    104  1.1.1.3  ghen 
    105  1.1.1.3  ghen   key <RWIN> {
    106  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL",
    107  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
    108  1.1.1.3  ghen   };
    109  1.1.1.3  ghen };
    110  1.1.1.3  ghen 
    111  1.1.1.3  ghen partial modifier_keys
    112  1.1.1.3  ghen xkb_symbols "lsgt_switch_lock_cancel" {
    113  1.1.1.3  ghen 
    114  1.1.1.3  ghen   include "level5(lock)"
    115  1.1.1.3  ghen 
    116  1.1.1.3  ghen   key <LSGT> {
    117  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
    118  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
    119  1.1.1.3  ghen   };
    120  1.1.1.3  ghen };
    121  1.1.1.3  ghen 
    122  1.1.1.3  ghen partial modifier_keys
    123  1.1.1.3  ghen xkb_symbols "lwin_switch_lock_cancel" {
    124  1.1.1.3  ghen 
    125  1.1.1.3  ghen   include "level5(lock)"
    126  1.1.1.3  ghen 
    127  1.1.1.3  ghen   key <LWIN> {
    128  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
    129  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
    130  1.1.1.3  ghen   };
    131  1.1.1.3  ghen };
    132  1.1.1.3  ghen 
    133  1.1.1.3  ghen partial modifier_keys
    134  1.1.1.3  ghen xkb_symbols "ralt_switch_lock_cancel" {
    135  1.1.1.3  ghen 
    136  1.1.1.3  ghen   include "level5(lock)"
    137  1.1.1.3  ghen 
    138  1.1.1.3  ghen   key <RALT> {
    139  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
    140  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
    141  1.1.1.3  ghen   };
    142  1.1.1.3  ghen };
    143  1.1.1.3  ghen 
    144  1.1.1.3  ghen partial modifier_keys
    145  1.1.1.3  ghen xkb_symbols "rwin_switch_lock_cancel" {
    146  1.1.1.3  ghen 
    147  1.1.1.3  ghen   include "level5(lock)"
    148  1.1.1.3  ghen 
    149  1.1.1.3  ghen   key <RWIN> {
    150  1.1.1.3  ghen     type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
    151  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
    152  1.1.1.3  ghen   };
    153  1.1.1.3  ghen };
    154