| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- default alphanumeric_keys modifier_keys
- xkb_symbols "basic" {
- name[1] = "Multiple actions";
- virtual_modifiers Alt, Super, LevelThree;
- // Multiple keysyms but no actions: OK
- key <LCTL> {
- symbols[1] = [ { Control_L, ISO_Group_Shift } ]
- };
- // Multiple actions but no keysyms: OK, but will use NoSymbol
- key <RCTL> {
- actions[1] = [ { SetMods(modifiers=Control), SetGroup(group=+1) } ]
- };
- // Multiple keysyms and matching actions
- key <LVL3> {
- virtualModifiers = LevelThree,
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- // Multiple actions and matching keysyms
- key <MDSW> {
- virtualModifiers = LevelThree,
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ],
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ]
- };
- // Different actions and keysyms count
- key <LALT> {
- symbols[1] = [ Alt_L ],
- actions[1] = [ { SetMods(modifiers=Alt), SetGroup(group=+1) } ]
- };
- key <RALT> {
- symbols[1] = [ { Alt_R, ISO_Group_Shift } ],
- actions[1] = [ SetMods(modifiers=Alt) ]
- };
- key <LWIN> {
- symbols[1] = [ { Super_L, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=Super), SetGroup(group=+1), NoAction() } ]
- };
- key <RWIN> {
- symbols[1] = [ { Super_R, ISO_Group_Shift , NoSymbol } ],
- actions[1] = [ { SetMods(modifiers=Super), SetGroup(group=+1) } ]
- };
- // Incompatible categories
- key <AB11> {
- symbols[1] = [ { Control_L, Shift_L } ]
- };
- modifier_map Control { <AB11> };
- key <AE13> {
- symbols[1] = [ { Control_L, Shift_L } ],
- actions[1] = [ { SetMods(modifiers=Control), SetMods(modifiers=Shift) } ]
- };
- // Various overrides, different keysyms, no explicit actions
- key <AB01> { [ x ] };
- key <AB01> { [ { Control_L, ISO_Group_Shift } ] };
- key <AB02> { [ { Control_L, ISO_Group_Shift } ] };
- key <AB02> { [ x ] };
- // Various overrides, no keysyms, explicit actions
- key <AB03> { actions[1] = [ SetMods(modifiers=LevelThree) ] };
- key <AB03> { actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ] };
- key <AB04> { actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ] };
- key <AB04> { actions[1] = [ SetMods(modifiers=LevelThree) ] };
- // Various overrides, different keysyms & actions
- key <AB05> {
- virtualModifiers = LevelThree,
- symbols[1] = [ Control_L ],
- actions[1] = [ SetMods(modifiers=Control) ]
- };
- key <AB05> {
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- key <AB06> {
- virtualModifiers = LevelThree,
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- key <AB06> {
- symbols[1] = [ Control_L ],
- actions[1] = [ SetMods(modifiers=Control) ]
- };
- // Various overrides, same keysyms but different actions
- key <AB07> {
- virtualModifiers = LevelThree,
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=Control), Private(type=254, data="foo") } ]
- };
- key <AB07> {
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- // Mix various number of keysyms/actions
- key <AC01> {
- symbols[1] = [ ISO_Level3_Shift , { ISO_Level3_Shift, ISO_Group_Shift } ]
- };
- key <AC02> {
- actions[1] = [ SetMods(modifiers=LevelThree), { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- key <AC03> {
- symbols[1] = [ ISO_Level3_Shift , { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ SetMods(modifiers=LevelThree), { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- key <AC04> {
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift }, ISO_Level3_Shift ]
- };
- key <AC05> {
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) }, SetMods(modifiers=LevelThree) ]
- };
- key <AC06> {
- symbols[1] = [ { ISO_Level3_Shift, ISO_Group_Shift }, ISO_Level3_Shift ],
- actions[1] = [ { SetMods(modifiers=LevelThree), SetGroup(group=+1) }, SetMods(modifiers=LevelThree) ]
- };
- key <AC07> {
- symbols[1] = [ ISO_Level3_Shift , { ISO_Level3_Shift, ISO_Group_Shift }, { ISO_Level3_Shift, ISO_Group_Shift } ]
- };
- key <AC08> {
- actions[1] = [ SetMods(modifiers=LevelThree), { SetMods(modifiers=LevelThree), SetGroup(group=+1) }, { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- key <AC09> {
- symbols[1] = [ ISO_Level3_Shift , { ISO_Level3_Shift, ISO_Group_Shift }, { ISO_Level3_Shift, ISO_Group_Shift } ],
- actions[1] = [ SetMods(modifiers=LevelThree), { SetMods(modifiers=LevelThree), SetGroup(group=+1) }, { SetMods(modifiers=LevelThree), SetGroup(group=+1) } ]
- };
- // Using modifier_map (may trigger multiple interprets)
- key <AD01> { symbols[1] = [ { a, b } ] };
- modifier_map Shift { <AD01> };
- // Our only alphanum key ✨
- key <AE02> { [ 2, at ] };
- };
|