Eu tenho tido problemas para criar um mapa de teclado personalizado com a configuração do XKB. Eu gostaria de ter uma tecla Shift que bloqueia quando chamada com um modificador específico e pode ser pressionada novamente para alternar o modificador. Posso usar a ação LockMods()
para manter pressionados os modificadores, mas não consigo encontrar uma maneira de desbloquear o modificador depois.
A configuração do XKB fornece uma maneira de limpar um modificador específico?
Eu incluí abaixo o que eu tenho até agora na minha seção xkb_symbols.
key <LFSH> {
type = "FOUR_LEVEL",
symbols[group1] = [ Shift_L, Shift_L, Shift_L, Shift_L ],
actions[group1] = [
LatchMods(modifiers=Shift),
NoAction(),
LockMods(modifiers=Shift),
SetMods(modifiers=Shift, clearLocks=true) ]
};
Tags xorg keyboard-layout xkb