Le duodi 22 thermidor, an CCXXIII, Thomas Schmitt a écrit :
> I guess Alt+Spacebar is about
> 
>     interpret Alt_L+AnyOf(all) {
>         virtualModifier= Alt;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };

I do not think so. IIUC, it means that Alt_L enables the Alt virtual
modifier. This virtual modifiers is then used in type definitions like:

    type "CTRL+ALT" {
        modifiers= Shift+Control+Alt+LevelThree;
        map[Shift]= Level2;
        preserve[Shift]= Shift;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        preserve[Shift+LevelThree]= Shift;
        map[Control+Alt]= Level5;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
        level_name[Level5]= "Ctrl+Alt";
    };

and then these definitions are used in key definitions like this:

    key <FK01> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F1,              F1,              F1,   
           F1, XF86Switch_VT_1 ]
    };

That codes that Control+Alt+FK01 yields the XF86Switch_VT_1 keysym. And
lately, the magic of the compatibility section:

    interpret XF86Switch_VT_1+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=1,!same);
    };

makes XF86Switch_VT_1 an internal keyboard control to change to another VT.

That mechanism is sheer elegance in its simplicity, isn't it?

(I wonder how many readers will catch that reference without looking it up.)

>     key <SPCE> {         [           space ] };

In other words, at the XKB level, the space key is the most boring key
ever. The conversion to non-break-space happens because of XTerm or its
libraries.

Regards,

-- 
  Nicolas George

Attachment: signature.asc
Description: Digital signature

Reply via email to