Branch
Hash :
0f89ad97
Author :
Date :
2025-06-09T19:26:13
dump: Always use numeric group indexes The upcoming raise of the maximum groups count will require to use numeric group indexes instead of the syntax `GroupN` if groups > 8. Let’s not bother with handling two cases (group count ≤ 8 or > 8) and always serialize group indexes as numeric values.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
xkb_keymap {
xkb_keycodes {
minimum = 8;
maximum = 255;
<Q> = 24;
<W> = 25;
<E> = 26;
<R> = 27;
<T> = 28;
<Y> = 29;
<U> = 30;
<I> = 31;
<O> = 32;
<P> = 33;
<A> = 38;
<S> = 39;
<D> = 40;
<F> = 41;
<G> = 42;
<H> = 43;
<Z> = 52;
<X> = 53;
<C> = 54;
<V> = 55;
<B> = 56;
<N> = 57;
<M> = 58;
indicator 1 = "xxx";
indicator 2 = "yyy";
};
xkb_types {
virtual_modifiers M1,M2;
type "t1" {
modifiers= none;
};
type "t2" {
modifiers= Shift;
map[Shift]= 2;
};
};
xkb_compatibility {
virtual_modifiers M1,M2;
interpret.useModMapMods= AnyLevel;
interpret.repeat= False;
interpret q+AnyOfOrNone(all) {
action= NoAction();
};
interpret w+AnyOfOrNone(all) {
repeat= True;
};
indicator "yyy" {
modifiers= Shift;
};
};
xkb_symbols {
key <Q> { [ q ] };
key <W> {
repeat= No,
symbols[1]= [ NoSymbol ],
actions[1]= [ SetMods(modifiers=none) ]
};
key <E> {
type= "t1",
symbols[1]= [ e ]
};
key <U> {
symbols[1]= [ NoSymbol ],
symbols[2]= [ u ]
};
key <I> { [ i ] };
key <A> {
virtualMods= M1
};
key <S> {
repeat= No
};
key <F> {
type= "t2",
symbols[1]= [ NoSymbol, NoSymbol ]
};
key <G> {
type= "t2",
symbols[1]= [ NoSymbol, NoSymbol ]
};
key <H> {
type[1]= "t1",
type[2]= "t2",
symbols[1]= [ NoSymbol ],
symbols[2]= [ NoSymbol, NoSymbol ]
};
key <X> {
virtualMods= M1
};
key <C> {
virtualMods= M2
};
key <V> {
virtualMods= none
};
key <B> {
type= "t2",
virtualMods= none,
symbols[1]= [ NoSymbol, NoSymbol ]
};
key <N> {
type= "t1",
virtualMods= none,
symbols[1]= [ NoSymbol ]
};
key <M> {
type[1]= "t1",
type[2]= "t2",
virtualMods= none,
symbols[1]= [ NoSymbol ],
symbols[2]= [ NoSymbol, NoSymbol ]
};
modifier_map Shift { <Z> };
modifier_map Lock { <X> };
modifier_map Control { <C> };
};
};