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