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