Seguindo minha pergunta sobre a personalização de mapeamentos de teclas em Wayland , descobri que isso xmodmap
é aparentemente obsoleto, mas o xkb "deve funcionar" em Wayland. Infelizmente, o xkb é muito mais complicado e correspondentemente mais mal documentado. Consegui elaborar as estrofes de que preciso com base nas informações de uma pergunta sobre troca CmdeCtrl , outra questão de caps lock , lendo alguns dos links nas respostas e nos arquivos do meu sistema, mas não sei como aplicá-los de uma maneira que pode ser automatizada e não conflitar com o GNOME.
Essas são as estrofes com as quais trabalhei e testei com sucesso 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) ]
};
};
Coloquei os dois primeiros /usr/share/X11/xkb/symbols/macbook
e o terceiro no shiftcaps
mesmo diretório e, com xkbcomp
etc, eles funcionam quando carregados no topo do gb(mac)
layout padrão .
Estou editando isso para fazer uma atualização e esclarecer minha resposta. Minha personalização de libra parou de funcionar recentemente, então verifiquei o que havia mudado em gb (mac) e percebi que tinha que adicionar , threesuperior
à key <AE03>
linha.
Eu 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>
dconf
valores-chave no âmbitoorg.gnome.desktop.input-sources
), contanto que você adicioná-los à xkb governa o sistema está usando, ou seja, os arquivos corretos, veja meu post aqui/usr/share/X11/xkb/rules/evdev.xml
. Não sei para que serve; o aplicativo de configurações do GNOME trava ao abrir as opções de teclado se eu cometer um erro de sintaxe, mas não consigo encontrar as opções na GUI. Eu adicionei linhas apropriadas após a linha que contém<optionList>
. Não posso publicá-las aqui por causa de limitações nos comentários.Respostas:
A resposta de don_crissti à outra pergunta forneceu a peça que faltava no quebra-cabeça. Eu defini opções nos arquivos evdev conforme descrito e as adicionei ao
org.gnome.desktop.input-sources.xkb-options
gsetting. Funciona perfeitamente.fonte