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