Edit

kc3-lang/libxkbcommon/test/data/keymaps/empty-compound-statements.xkb

Branch :

  • Show log

    Commit

  • Author : Pierre Le Marre
    Date : 2025-06-09 19:26:13
    Hash : 0f89ad97
    Message : 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.

  • test/data/keymaps/empty-compound-statements.xkb
  • 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> };
    };
    
    };