Continuando com minha pergunta sobre como personalizar mapeamentos de teclas no Wayland Eu descobri que xmodmap
aparentemente está obsoleto, mas xkb "deve funcionar" em Wayland. Infelizmente, xkb é muito mais complicado e correspondentemente mais mal documentado. Eu consegui trabalhar as estrofes que eu preciso com base em informações de uma questão sobre trocar Cmd e Ctrl , outra questão de caps lock , lendo alguns dos links nas respostas e dos meus arquivos de sistema, mas não sei como aplicá-las de uma maneira que possa ser automatizada e não conflitar com o GNOME.
Estas são as estrofes que eu trabalhei e testei com sucesso com xkbcomp
.
partial alphanumeric_keys
xkb_symbols "pound" {
// Put sterling on RAlt-3 and numbersign on Shift-3.
key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
};
// Make right cmd key act as ctrl
partial modifier_keys
xkb_symbols "rcmdctrl" {
key <RWIN> { [ Control_R ] };
modifier_map Control { <LCTL>, <RWIN> };
modifier_map Mod4 { <LWIN> };
};
partial modifier_keys
xkb_symbols "shiftcaps" {
key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ VoidSymbol, Caps_Lock ],
actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
};
};
Eu coloquei os dois primeiros em /usr/share/X11/xkb/symbols/macbook
e o terceiro em shiftcaps
no mesmo diretório, e com xkbcomp
etc eles funcionam quando carregados na parte superior do layout gb(mac)
padrão.
Estou editando isso para fazer uma atualização e esclarecer minha resposta. Minha personalização de libras recentemente parou de funcionar, então eu verifiquei o que tinha mudado em gb (mac) e percebi que tinha que adicionar , threesuperior
à linha key <AE03>
.
Acho que evdev.xml
é usado pelo gnome-tweak-tool para disponibilizar essas opções na GUI. Aqui está o que eu adicionei:
<group allowMultipleSelection="true">
<configItem>
<name>macbook</name>
<description>Macbook customisations</description>
</configItem>
<option>
<configItem>
<name>macbook:pound</name>
<description>Hash on Shift-3, Sterling on AltGr-3</description>
</configItem>
</option>
<option>
<configItem>
<name>macbook:rcmdctrl</name>
<description>Right Cmd key acts as Ctrl</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="false">
<configItem>
<name>shiftcaps</name>
<description>Caps Lock with Shift</description>
</configItem>
<option>
<configItem>
<name>shiftcaps:shiftcaps</name>
<description>Caps Lock requires Shift to toggle</description>
</configItem>
</option>
</group>