Remapeamento de Caps Lock e Shift + Caps Lock em xkb

14

Estou tentando configurar o xkb de modo que o Caps Lock seja mapeado para as funções Compose key e Shift + Caps Lock como o Caps Lock tradicional. Eu coloquei o seguinte em um novo arquivo chamado /usr/share/X11/xkb/symbols/gdwatson :

partial modifier keys
xkb_symbols "compose" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Multi_key, Caps_Lock ]
    };
};

Em seguida, executei setxkbmap -symbols 'pc+us+gdwatson(compose)' , que foi concluída com sucesso. Caps Lock funciona como Compose, mas Shift + Caps Lock funciona como Compose em vez de Caps Lock. xkbcomp :0.0 revela o seguinte:

key <CAPS> {
    type= "TWO_LEVEL",
    symbols[Group1]= [       Multi_key,       Multi_key ]
};

O mapeamento de símbolos de segundo nível está duplicando o primeiro por algum motivo, em vez do valor separado que tentei fornecer. Alguém tem xkb-fu strong o suficiente para me dizer o que eu fiz de errado ou como consertar isso?

    
por Grant Watson 10.09.2013 / 19:16

1 resposta

9

Isso parece conseguir o que você está procurando.

partial modifier_keys
xkb_symbols "compose" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Multi_key, Caps_Lock ],
        actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
    };
};

Os seguintes recursos são inestimáveis quando se lida com o XKB (eu vinculei os espelhos da WayBack Machine dessas páginas para proteção do futuro):

por 10.05.2014 / 09:06