Edit

kc3-lang/libxkbcommon/test/data/compat/basic

Branch :

  • Show log

    Commit

  • Author : Pierre Le Marre
    Date : 2025-05-07 16:10:04
    Hash : e00a5e83
    Message : Add tests for pure virtual modifiers

  • test/data/compat/basic
  • // Minimal set of symbol interpretations to provide
    // reasonable default behavior (Num lock, Shift lock,
    // Caps lock, and Mode switch) and set up the
    // automatic updating of common keyboard LEDs.
    
    default xkb_compatibility "basic" {
    
        virtual_modifiers  NumLock,AltGr;
    
        interpret.repeat= False;
        setMods.clearLocks= True;
        latchMods.clearLocks= True;
        latchMods.latchToLock= True;
    
        interpret Shift_Lock+AnyOf(Shift+Lock) {
    	action= LockMods(modifiers=Shift);
        };
    
        interpret Any+Lock {
    	action= LockMods(modifiers=Lock);
        };
    
        interpret Num_Lock+Any {
    	virtualModifier= NumLock;
    	action= LockMods(modifiers=NumLock);
        };
    
        interpret Mode_switch {
    	useModMapMods= level1;
    	virtualModifier= AltGr;
    	action= SetGroup(group=+1);
        };
    
        interpret Any + Any {
    	action= SetMods(modifiers=modMapMods);
        };
    
        group 2 = AltGr;
        group 3 = AltGr;
        group 4 = AltGr;
    
        include "ledcaps"
        include "lednum"
        indicator "Shift Lock" {
    	!allowExplicit;
    	whichModState= Locked;
    	modifiers= Shift;
        };
    };
    
    xkb_compatibility "pure-virtual-modifiers" {
    
        virtual_modifiers  NumLock,AltGr,Alt;
    
        interpret.repeat= False;
        setMods.clearLocks= True;
        latchMods.clearLocks= True;
        latchMods.latchToLock= True;
    
        interpret Shift_Lock {
    	action= LockMods(modifiers=Shift);
        };
    
        interpret Num_Lock {
    	virtualModifier= NumLock;
    	action= LockMods(modifiers=NumLock);
        };
    
        interpret Shift_L {
    	action= SetMods(modifiers=Shift);
        };
    
        interpret Shift_R {
    	action= SetMods(modifiers=Shift);
        };
    
        interpret Control_L {
    	action= SetMods(modifiers=Control);
        };
    
        interpret Control_R {
    	action= SetMods(modifiers=Control);
        };
    
        interpret Alt_L {
    	action= SetMods(modifiers=Alt);
        };
    
        interpret Alt_R {
    	action= SetMods(modifiers=Alt);
        };
    };
    
    xkb_compatibility "invalid-pure-virtual-modifiers" {
        virtual_modifiers Alt;
        interpret Alt_R + Alt {
    	action= SetMods(modifiers=Alt);
        };
    };